2016-04-16 3 views
0

GitHub Страницы с апреля 2016 года uses Jekyll 3.0. После переключения, когда я нажимаю фиксацию, я получаю уведомление по электронной почте .Github Страницы переключены на Jekyll 3 и мои ссылки удалены

Поскольку ошибка была настолько неинформативной, мне пришлось связаться с поддержкой GitHub. Оказалось, если вы не используете exclude в _config.yaml, содержание должно быть помещен в кронштейне сейчас, например:

exclude: [excludethis] 

Кроме того, Redcarpet и Pygments больше не были доступны, поэтому они должны быть заменены kramdown и румяна в _config.yaml:

markdown: kramdown 
highlighter: rouge 

А теперь по умолчанию будущих сообщений (сообщения с date в будущем) не публикуются. Так что, если у вас есть date: 2016-04-25 09:30:00 в вашем посте и сейчас 10:00 на вашем месте, но вы находитесь в Азии, а сервер находится в США, то этот пост рассматривается в будущем и не публикуется. Установка timezone в _config.yml не помогает (ошибка?). Вы должны добавить смещение к такой дате:

date: 2016-04-25 09:30:00 +0700 

После того, как эти изменения совершают толкание, больше не возникают ошибки. Но я столкнулся с другой ошибкой, все мои ссылки сломаны, а все старые URL-адреса для сообщений возвращены 404.

Как исправить это?

ответ

0

Оказалось, что сообщения Jekyll 3 больше не заканчиваются конечной косой чертой.

Ранее я установил URL для сообщений, чтобы быть, как это в _config.yaml:

permalink: /article/:title 

Пример URL-будет: http://mysite/article/apost/

С Джекиле 3 Этот URL не может быть найден (404). Но я могу получить его с http://mysite/article/apost.

Так что если вы хотите сохранить старые адреса, постоянную ссылку необходимо изменить, чтобы иметь слэш:

permalink: /article/:title/ 

и ссылки на сообщения должны быть изменены, чтобы удалить слэш. Например, если ранее вы бы:

<a href="{{post.url}}/"> 

Он должен быть изменен на:

<a href="{{post.url}}"> 

Это решает проблему для сообщений. Не-страницы имеют разные проблемы. Раньше, если у вас есть, например, about.md в корне, Jekyll преобразует его в http://mysite/about.html. Jekyll 3 не добавит .html в конце, это станет http://mysite/about.

Если вы хотите сохранить старый URL, вы можете добавить постоянную ссылку в «передней материи» из каждой страницы:

--- 
permalink: /about.html 
--- 
+0

Yep! Для справки об обновлении Jekyll 2 до 3 с помощью GitHub Pages прочитайте эту статью [http://blog.virtuacreative.com.br/upgrade-jekyll-2-to-3-gh-pages.html) –

Смежные вопросы