Генераторы статических сайтов – Ringova
Генераторы статических сайтов

Генераторы статических сайтов

SSG — Static Site Generator — это инструменты для генерации HTML-страниц из текста. Таких генераторов великое множество и бывает сложно выбрать подходящий, поэтому вот основные:

SSGПреимуществаНедостаткиИспользование для технических писателей
JekyllЛегко настроить, большое сообщество, интеграция с GitHub PagesСкорость генерации больших сайтов может быть медленнойПрекрасно подходит для создания блогов, личных сайтов и документации
HugoОчень быстрый, поддерживает множество форматов контента, можно кастомизировать стилиМожет быть сложен для новичковОтлично подходит для создания больших и сложных сайтов, в том числе с динамическим контентом
GatsbyПоддерживает React и GraphQL, большое сообщество, множество плагиновТребует знаний в области JavaScript и ReactИдеально подходит для создания сложных веб-приложений с динамическим контентом

Как это работает

В целом можно так описать систему SSG: есть файлы-шаблоны, написанные на каком-то языке программирования. Часть этого кода — элементы будущей страницы. А часть — пустые места, куда потом вставится текст.

Писатель добавляет Markdown-файлы, генератор смотрит тип страницы и правильный к ней шаблон и заполняет пустые места текстом, формируя HTML-страницу.

Если вы захотите менять что-то в шаблоне — надо знать тот язык, на котором он написан. Но есть много готовых примеров в библиотеке каждого SSG, поэтому для личных и небольших проектов можно и не лезть в код, а только писать статьи в Markdown. Для коммерческой документации проверяйте лицензии и дорабатывайте шаблон под требования вашей компании — стили, целевую аудиторию, особенности контента etc.

Почему так лучше

  1. Писателю не надо думать о стилях и форматировании вообще — они определяются отдельно от текста. Поэтому если однажды надо будет поменять дизайн заголовков или размер отступов — они поменяются один раз в стилях, а не в каждом файле.
  2. Можно переиспользовать текст в других генераторах или системах. Например, настроить через API отображение каких-то частей статьи прямо в интерфейсе.
  3. Больше гибкости и масштабируемости: когда текст отдельно от стилей и хранится в универсальном формате, его легко передать в системы локализации, переиспользовать целиком или частями, настроить переменные значения для разных пользовательских условий.