Jekyll 0.11.0

15 August 2011 #jekyll #apache

В последнее время пишу мало. Не потому, что сказать нечего, а просто потому, что не хочется выкладывать незаконченные вещи на свой сайт. Возможно придется изменить свою точку зрения на данный счет.

И так как мало писал, практически не отслеживал изменений, которые были проведены в используемом мною движке Jekyll. А именно 10 июля 2011 года вышла новая версия 0.11.0. Что нового? Ничего такого особенного:

1. Добавили функционал импорта статей из других систем
2. Добавили поддержку движка Redcarpet Markdown

Только из-за включения поддержки Redcarpet Markdown изменили номер версии. Но как оказалось, есть еще ряд изменений, которые не были освещены в истории изменений. Как например, теперь Jekyll не замечает скрытых файлов в директории сайта и соответственно не публикует их.

Если в версии 0.10.0 было достаточно создать в корневой директории сайта файл .htaccess и прописать в нем директивы параметров веб-сервера Apache, то сейчас этот номер уже не пройдет.

В качестве отступления хотелось бы сказать, что сейчас я сменил используемый веб-сервер с nginx на Apache, который работает в режиме Worker. Провожу эксперимент по удобности использования и производительности.

Пришлось внедрять небольшой хак, чтобы устранить данный недостаток новой версии. Хотя, конечно же, было бы проще всего просто откатиться до версии 0.10.0, что и советуют делать многие из разработчиков.

Хак заключается в том, что там, где должен быть скрытый файл, создаем обычный текстовый файл, без точки в начале имени файла, в котором прописываем следующее:

---
layout: none
permalink: .htaccess
---
Redirect 301 /linode http://www.linode.com

В блоке, ограниченном тремя тире, прописывается заголовок Liquid, в котором ключевое слово layout указывает на то, что никаких шаблонов использоваться не будет. А ключевое слово permalink указывает на то имя файла, что будет использоваться при генерации сайта.

После заголовка Liquid идут уже описания правил Apache. Вот так просто мы получаем возможность использования скрытых файлов в своем сайте. И при этом приведенный способ будет работать во всех версиях движка Jekyll.