Сегодня я расскажу вам, как можно очень сильно ускорить загрузку страниц с большим количеством фотографий (каких довольно много в этом блоге). Секрет прост — WebP. Всё дело в правильной настройке сервера.
Я буду рассказывать на примере Hakyll и nginx, но принцип легко перенести и на другие технологии.
Совсем недавно я писал про Hakyll и статические генераторы. И теперь я рад объявить, что весь код сайта был переписан и уже работает! Welcome! Bienvenu! Добро пожаловать!
Помимо полного изменения внутренней структуры, сайт получил и новое лицо. Старого крашеного забора больше нет. Мне было жаль с ним расставаться, но у него было несколько недостатков, один из которых — размер. Пусть он останется тут в качестве памятника.
Теперь вас встречает простой и чистый интерфейс с большим шрифтом, который удобно читать. Надеюсь, вам нравится.
Поздравления или восхищение проделанной работой можно высказать в комментариях.
В общем, я загорелся идеей переделать свой блог на статическую генерацию. И в связи с этим посмотрел несколько кандидатур: Jekyll, DocPad, Hugo и Hakyll. У каждой из систем свои достоинства и недостатки. Вообще, статические генераторы сайтов — это благодатная тема для обсуждения: вариантов множество и каждый день появляются новые. Если у вас есть опыт работы с
Jekyll — практически стандарт
Hugo — молодой движок на Go. Работает очень быстро. По заявлению разработчиков, время генерации одной страницы не должно превышать
DocPad — очень гибкий вариант, написанный на JavaScript. Для DocPad существует множество плагинов под самые различные нужды. Но в этом генераторе мне не понравилось соглашение по именованию файлов. Например, в 2013-09-10-something.html.md
расширение означает, что файл нужно будет преобразовать из markdown в html, как будто нельзя это указать в конфигурации.
И, наконец, Hakyll. Это скорее не отдельное приложение, а библиотека для создания статических генераторов. Его конфигурация представляет собой программу на языке Haskell, а потому бинарник должен пересобираться после каждого изменения. Зато такой способ даёт подлинную гибкость. Даже если
Надеюсь, пройдет совсем немного времени и мы увидим обновлённый блог, работающий ещё быстрее. Наблюдать за процессом можно на GitHub.