Goodbye Jekyll, Hello Hugo

Paul Kinlan
Available in: English (Original) Deutsch Español Français 日本語 मानक हिन्दी tiếng Việt தமிழ் bahasa Indonesia

Мне нравится Джекилл. Это помогло мне вернуться в блог, и я выбрал его как технологию для создания Основы Google Web с ним.

Что-то серьезно не так: ** Производительность **.

Время сборки для моего личного блога (около 400 страниц) занимает примерно 45 секунд. Веб-основы еще хуже, часто занимает много времени, чтобы создать только один языковой пакет, и мы поддерживаем 13 языков. Эта проблема производительности серьезно влияет на нашу команду и нашу команду для написания, потому что отдельные изменения в локальной промежуточной среде занимают более 40 секунд, чтобы быть видимыми в браузере.

  • Может быть, мы можем улучшить его, но я уверен, что он не может понять, как это сделать. Я не могу это измерить, и мы постоянно сталкиваемся с проблемами с Ruby (мы не Ruby devs) специально для версий Gems и обновлений времени выполнения.

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

Я искал быстрых статических генераторов сайтов, и несколько человек из более широкой команды намекнули, что Hugo (написанный на Go) хорош, хорошо структурирован и также быстро.

Я не буду много ходить в Хьюго. Это статический генератор сайтов, который может глотать файлы Markdown (например, Jekyll) и выплевывать структурированный сайт на основе шаблонов, которые вы определяете.

Я перейду несколько быстрых пунктов:

  • Моя сборка Jekyll использовалась для 45 секунд +, сборка всего сайта Hugo составляет 300-450 мс. На 2 порядка быстрее.
  • Templating через язык программирования Go Go немного привык, но он намного чище *, чем Liquid.
  • Пагинация была довольно легко интегрироваться, хотя у меня были проблемы с документами.
  • Документы довольно сильные, есть несколько примеров, где примеры на странице, которые вы ожидаете быть связанными, не всегда могут иногда приводить к путанице.
  • Руководство по миграции Jekyll для простой сборки Jekyll доставило мне большую часть пути.
  • Hugo не поддерживал синтаксис именования файлов Jekyll (YYYY-MM-DD-title) для заказа сообщений, и мне пришлось написать сценарий миграции, чтобы добавить атрибут «date» на каждую страницу уценки, а также «slug» атрибут.
  • У меня было множество HTML-файлов, которые, похоже, не включались в массив .Site.Pages. Снова мне пришлось преобразовать их все с помощью простого сценария командной строки.

Тем не менее, производительность пылает, и мой блог намного быстрее и не имеет зависимостей Ruby.

Я не могу сказать, что мы переместим Основы Web в Hugo, это большая работа. Я очень доволен настройкой локального сборка и развертывания, который у меня есть сейчас.

Заголовок изображения: https://commons.wikimedia.org/wiki/File:Hellogoodbye_logo.svg

Paul Kinlan

Trying to make the web and developers better.

RSS Github Medium