Юрий Матюхин

Ускоряем сборку блога на Jekyll

 

Jekyll — генератор статических сайтов. Чаще всего используется для блогов как альтернатива WordPress. Набрал свою популярность вместе с GitHub, который позволяет разместить в GitHub Pages ваш сайт на Jekyll. Таким образом у вас есть бесплатный хостинг для Jekyll сайта на домене 3 уровня, который можно перенаправить на любой другой домен (как у меня сейчас).

Но в Jekyll есть минус. Когда возрастает количество записей/стилей/скриптов/плагинов, то скорость сборки оставляет желать лучшего. Даже у меня, с моими ~30 страницами проект собирался 25 секунд.

Это было не так критично, когда нужно было немного заменить CSS или написать новую статью. Но когда я взялся за редизайн, то это был ужас. Меняешь 5 строк, ждешь 25 секунд, смотришь что получилось, меняешь и снова ждешь. Думаю вы меня поняли.

Что влияет на скорость сборки Jekyll

Если мы безболезненно решим эти проблемы, то существенно сократим время сборки.

Ускоряем

Удалять плагины, страницы и менять их дизайн для более быстрой сборки — большой шаг, который займет много времени. Поэтому для ускорения я предлагаю 2 варианта: перенести компиляцию Sass на систему сборки (gulp, grunt, webpack) и уменьшить ограничить количество страниц при сборке во время разработки.

Про настройку системы сборки вы можете почитать на официальных сайтах gulp, grunt и webpack.

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

jekyll s -limit_posts 3

Так соберется только три последние страницы с вашего блога. Это позволит вам редактировать последние три статьи, стили, скрипты и разметку вашего сайта с быстрой пересборкой.

Скорость возрастет в несколько раз. Использование только этого метода сократило время на пересборку проекта с 25 секунд, до четырех.

Read more!