бновлённый Jekyll
Недавно Jekyll стал совсем большим — была выпущена версия «1.0».
В ченджлоге довольно много изменений: есть как новые фичи, так и всяческие исправления. О том, что критично знать про это обновление, можно прочитать в этой статье.
Я перевёл свой сайт на эту версию. Ну, как перевёл, — всё и так работало, но зато появилась возможность многое сделать оптимальнее. Напишу немного о том, что же лично для меня интересного появилось в Jekyll 1.0.
page.path
Это одна из тех вещей, которых я ждал от новой версии Джекила, — я даже в своё время попинал лишний раз разработчиков комментариями к соответствующему ишью.
У старой версии Джекила была одна проблема — в информации о постах и страницах отсутствовала переменная с путём к исходнику. Почему это важно: для блога или сайта, выложенного на Гитхаб, очень полезным может быть предоставление быстрой возможности что-то поправить (форкнуть). Для этого можно на странице разместить ссылку либо напрямую на Гитхаб, либо, например, на prose.io или другой подобный сервис. В этой ссылке прописывается путь к исходнику страницы, которую нужно отредактировать; раньше в отсутствие соответствующей переменной приходилось такими-то хаками этот урл собирать вручную.
Теперь же всё просто: в данных страниц и постов стала доступна переменная path
, в которую кладётся относительный путь к исходнику. Ура :)
бсолютные пермалинки
Пермалинки, задаваемые постам в YAML-заголовках, раньше были относительными. При этом не было возможности указать пермалинк уровнем выше — нельзя было использовать ../
(ну, или я так и не смог найти способ, как это можно было сделать). В новой версии Джекила теперь можно использовать и абсолютные урлы. Точнее, в 1.0 абсолютные урлы надо специально включать в конфиге директивой relative_permalinks: false
, а с 1.1 это будет работать по умолчанию. Это значит, что, если сейчас вы используете относительные урлы (и не собираетесь их переделывать на абсолютные), надо явно указать relative_permalinks: true
, чтобы в 1.1 ничего не сломалось.
Абсолютные урлы позволили мне чуть упростить файловую структуру репозитория — вынести все индексные страницы в отдельную папку, например.
зменившийся синтаксис CLI
В новом Джекиле изменился и формат вызова из командной строки, в том числе появилась возможность использовать дополнительные конфиги.
Например, теперь, чтобы запустить сервер Джекила, используя и дефолтный конфиг _config.yml
, и дополнительный, скажем, _config-dev.yml
, нужно запускать его так:
jekyll serve --config _config.yml,_config-dev.yml
Таким образом, можно довольно просто настроить разработческое окружение, в котором, например, менять абсолютные урлы на локальные, включать отображение черновиков и вообще изменять что угодно независимо от продакшн-версии.
Стоит заметить, что в Jekyll 1.0 был объявлен ещё один ключ запуска: --baseurl
, с помощью которого можно было бы менять переменную baseurl
, но, во-первых, у меня не получилось ей воспользоваться: Джекилл вообще отказывался что-либо генерить с этой изменённой переменной, во-вторых, всё то же самое можно сделать, используя дополнительный конфиг, так что я пока не вижу смысла в ключе --baseurl
.
ерновики
В новом Джекиле появилась возможность использовать черновики. Если создать папку _drafts
, то по умолчанию её содержимое будет игнорироваться, но, если запустить Джекил с ключом --drafts
, содержимое этой папки будет распознано почти аналогично содержимому _posts
. Полезное исключение: в таких постах не нужно указывать дату, таким образом для публикации нужно будет всего лишь переместить и переименовать файл со статьёй.
Я сам пока такие черновики не использую, но, возможно, начну.
стальное
В ченджлоге можно прочитать обо всём, что ещё поменялось, там довольно много всего, но больше ничего особо критичного.
В общем, я перешёл на новый Джекил, всё работает, всем рекомендую.
Вы можете прокомментировать эту статью в Мастодоне.
Опубликовано с метками: #Blog #Meta #Jekyll