2016-06-30 1 views
1

Я пытаюсь создать сайт github-страниц и предварительно просмотреть его в автономном режиме. Тем не менее, у меня есть только частичный успех, а страница, которую я обслуживаю, исходит из моих автономных источников, все ее ресурсы (css/img) и ссылки указывают на местоположение github сайта.Невозможно просмотреть страницы Github

Я использую {{ site.github.url }}, установленный jekyll, как описано here.

Я попробовал bundle exec jekyll clean и попытался установить git remote remove origin и удалить github_username. Тем не менее, без удаленного сайта сайт не будет построен и с ним (без имени пользователя), он все еще знал мое имя пользователя, поскольку он все еще сгенерировал ссылки на <username>.github.io/repo/, а не 127.0.0.1:3000 (я изменил порт).

Как проверить правильность моих страниц github в автономном режиме (т. Е. Указать ссылки на мой локальный экземпляр jekyll)?

Важно: Когда я вспылить bundle exec jekyll serve я получаю следующее предупреждение:

GitHub Метаданные: Нет аутентификации API GitHub не может быть найден. Некоторые поля> могут отсутствовать или иметь неверные данные.

Насколько я знаю, это происходит от jekyll-github-metadata, который заполняет site.github. И как таковой (я полагаю) site.github.url. Однако я не нашел, кэширует ли данные данные и как их стереть. Поскольку я пытаюсь построить автономный тест, я хочу, чтобы этот URL-адрес был пустым/указывал на localhost.

===============================

Заголовок макет отрывок:

<head> 
<title>A title</a> 
<link rel="stylesheet" href="{{ site.github.url }}/css/bootstrap.min.css"> 
</head> 

Поскольку этот раздел <head>/этот макет используется в разных частях иерархии страниц, мне нужен абсолютный путь для ссылки на файл css.

+0

'{{site.github.url}}' является ссылкой на ваш URL-адрес репозитория github и не имеет ничего общего с вашей иерархией папок. Он не должен использоваться для описания ссылок ссылок. Можете ли вы предоставить URL-адрес репозитория? –

+0

@DavidJacquel: на примере, с которым я связан (https://jekyllrb.com/docs/github-pages/), я понял документацию, поэтому я должен был использовать именно это, чтобы убедиться, что если мне нужно включить «myfancy» .css "с абсолютным путем, который всегда указывает на базу. Поскольку я использую свой макет для blogposts и т. Д., Я не вижу, как использовать относительные пути. – ted

+0

@DavidJacquel: Если возможно, я бы предпочел сохранить мой github и мою учетную запись stackoverflow на данный момент, однако я рад выложить выдержки. Я добавлю заголовок, который я использую через минуту. – ted

ответ

2

Заменить: {{ site.github.url }}/css/bootstrap.min.css

по: {{ site.baseurl }}/css/bootstrap.min.css

Github плагин метаданных обеспечивает общую архивную информацию и не предполагается использовать для создания своих URL-адресов ресурсов. Я даже не вижу, что это упоминается в documentation, на который вы ссылаетесь.

Вам не нужно, чтобы Jekyll работал локально.

+0

Спасибо, я попробую его и отчитаю/приму. Для справки я говорил о https://jekyllrb.com/docs/github-pages/#project-page-url-structure. – ted

+0

К несчастью, это не работает. Github добавляет путь к репозиторию, который этот оммитт. В то время как автономное тестирование работает с этим, оно ломается, когда я помещаю его в github. – ted

+0

Извините, но без кода для отладки, on не может отлаживать. –

0

Если вы все еще испытываете эту проблему, у меня есть blog post и video, где показано, как ее исправить. Тощий от этого заключается в следующем:

  1. Создать токен доступа в GitHub. Это занимает всего секунду, см. GitHub’s documentation. При выборе области (ов), которую вы хотите предоставить токену, просто установите флажок repo.
  2. Добавьте новую переменную системной среды на свой компьютер с именем JEKYLL_GITHUB_TOKEN и установите значение, равное вашему токену персонального доступа.
  3. Go here, скопируйте весь текст на странице и сохраните его как файл cacert.pem где-нибудь на вашей локальной машине.
  4. Добавьте новую переменную системной среды на свой компьютер с именем SSL_CERT_FILE и установите значение, равное полному пути к файлу, где вы сохранили файл cacert.pem.
  5. Перезапустите машину (это не опционально)

Сообщение в блоге предполагает, что вы на машине Windows, но те же самые шаги должны работать на Mac.