/ 

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

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

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

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

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

  • количество плагинов и скорость выполнения каждого из них
  • количество компилируемых стилей (Sass)
  • долго выполняющиеся операции, к примеру сборка Sass и вставка инлайном в head
  • количество страниц на сайте

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

Ускоряем

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

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

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

jekyll s -limit_posts 3

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

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

⌘ ⌘ ⌘
Поделиться
Отправить
Обновляемся до Jekyll v3.x
Фронтенд

Обновляемся до Jekyll v3.x

Как обовиться до новой версии Jekyll избежав багов при переходе.

Как называть переменные
Фронтенд

Как называть переменные

Мой взгляд на соглашения наименования переменных, функций, методов и классов

Плавный, нативный скрол
Фронтенд

Плавный, нативный скрол

Выкиньте лишние библиотеки для прокрутки внутри страницы

Адекватное подчеркивание ссылок
Фронтенд

Адекватное подчеркивание ссылок

Как исправить поведение text-decoration: underline