В последнее время в сфере веб-разработки мы заметили сильное смещение акцентов в пользу статичных сайтов. Такие сайты проще в обслуживании (никаких баз данных, никаких серверных сценариев) и более безопасные в целом, учитывая, что единственная вещь, которая передается на устройства пользователей – это файлы HTML, CSS и Javascript. Чтобы сделать некоторые типы сайтов, вроде блогов и сайтов с документацией, статичными, просто написать код в HTML-файлах довольно сложно. Также непросто поддерживать сайты с массивным контентом, особенно если нужно изменить некоторые незначительные детали (например, дизайн).

Именно в таком случае на помощь приходят генераторы статичных сайтов. Такие генераторы в основном конвертируют (или компилируют) пачку различных исходных файлов в один сайт. Это означает, что контент можно хранить отдельно от кода макета, а содержимое сайта, такое как изображения, можно хранить вообще в другом месте. Существует множество генераторов статичных сайтов, возможно даже сотни. Поэтому вот список из 10 лучших генераторов статичных сайтов и их обзор.

1. Jekyll


В двух словах: Король генераторов статичных файлов. Jekyll – это самый широко используемый генератор, включающий превосходную документацию, огромное сообщество и отличную поддержку. Даже GitHub предлагает встроенную поддержку Jekyll в сервисе GitHub Pages. Jekyll может похвастаться поддержкой блогов. Создавать статичные блоги на Jekyll действительно просто. Для этого требуются только базовые знания веб-разработки. Он правда прекрасен, потому что его легко настраивать даже новичкам, при этом он обладает действительно мощными характеристиками для тех, кто знает, как их использовать.

Jekyll позволяет создавать и использовать различные плагины, тэги, и даже делать свои собственные конвертеры для любого языка разметки, который вы хотите использовать в Jekyll. Стандартный язык разметки Jekyll, как и в большинстве остальных генераторов – Markdown. Jekyll включает плагины для компилирования Less, Stylus, генерирования облака тегов, пользовательских страниц для блогов и многого другого.

Jekyll основан на движке Liquid Template от Shopify. Он работает полностью на Ruby, поэтому его легко устанавливать вместе с взаимозависимостями, используя rvm или с помощью упаковщика. Jekyll также включает опции миграции, если вы хотите перенести что-то с WordPress, Blogger или любого другого сайта блогов. Он без сомнений является первым из генераторов сайтов с точки зрения количества пользователей. И он находится на стадии активной разработки (последнее изменение для его репозитория GitHub вышло за день до публикации этой статьи).

Чтобы установить Jekyll, просто введите эту команду в Ruby:
gem install jekyll

2. Pelican


Pelican – это генератор статичных сайтов на Python. Он отличается размещением мультиязычного контента, выделением кода (синтаксиса), а также простым генерированием RSS и Atom Feeds. Pelican включает неплохой набор плагинов, которые находятся в центральном репозитории GitHub. Он поддерживает три формата документов по умолчанию: Markdown, reStructuredText и Ascii Doc.

Pelican довольно уникален, поскольку он создан на Python. Он поддерживает мощный движок Jinja Template Engine, основанный на питоне, что позволяет легко создавать красивые темы и шаблоны для Pelican. С точки зрения поддержки миграции, Pelican предлагает поддержку WordPress и Tumblr. Вместо стандартных YAML-файлов конфигурации, в Pelican для конфигурирования и настройки используется файл .py под названием pelicanconf.py.

Самый простой способ установить пеликан – с помощью pip:
pip install pelican

3. Middleman


Middleman – это генератор статичных сайтов на Ruby, который придерживается ориентации на простоту в построении статичных сайтов. Он обладает мощными функциями по обслуживанию статичных блоков, например, простое генерирование тегов, быстрые команды для составления списков категорированных статей и разбивка на страницы. Middleman не включает поддержку миграции, поэтому, если вы хотите сделать существующий блог статичным, Middleman вряд ли вам подойдет.

Middleman обеспечивает поддержку большинства современных инструментов веб-разработки, таких как HAML, Coffeescript, Sass и прочих. Стандартный движок для шаблонов – eRb, но он позволяет переключаться на стандартный движок шаблонов по вашему усмотрению. Все движки шаблонов на базе Tilt (полный список представлен здесь) работают на Middleman. Он изначально поддерживает 2 формата конфигураций – YAML и JSON. Титульная страница вашего контента также должна быть YAML или JSON, в зависимости от используемого формата конфигураций.

Установить Middleman с помощью Ruby можно следующим образом:
gem install middleman

4. Metalsmith


Metalsmith гордится тем, что он является генератором статичных сайтов на основе плагинов. Это означает, что вся логика Metalsmith осуществляется плагинами. Какая бы функция вам ни была нужна, просто добавьте нужный плагин. Огромное количество предлагаемых в Metalsmith плагинов способно обставить любого конкурента (наверное, кроме Jekyll и Docpad). Это означает, что Metalsmith можно использовать как нечто большее, чем просто генератор статичных сайтов.

Другими словами «Так как все состоит из плагинов, библиотека на самом деле представляет собой просто абстракцию для управления директорией файлов». В результате это дает то, что вы легко используете Metalsmith как инструмент для работы с проектом, генератор электронных книг, инструмент для построения технической документации и др. (это всего несколько примеров, продемонстрированных на сайте Metalsmith).

Metalsmith основан на Node.js, и его можно установить с помощью менеджера пакета узлов, используя следующую команду:
$ npm install metalsmith

5. Harp


Harp включает встроенную предварительную обработку для Jade, Markdown, LESS, Sass, Coffeescript, EjS и Stylus без каких-либо дополнительных настроек. Он также позволяет использовать макеты / частичные таблицы форм с Jade и EjS, для чего в других генераторах статичных сайтов требуется специальный плагин.

Harp построен на Node.Js и может работать плечом к плечу с Harp Platform, что позволяет создавать веб-страницы из папки на Dropbox. Harp также может компилировать страницы для использования на страницах GitHub, а также PhoneGap и Heroku.
Чтобы установить Harp, используйте npm и запустите следующую команду:
sudo npm install -g harp


часть 2

Комментарии (3)


  1. spmbt
    12.04.2015 09:22

    Эта статья больше подходит тематике Хабра (как оригинальный ход, можно 2-ю часть опубликовать там: ) ). Хотя, думаю, что все заинтересованные перечисленные оболочки давно знают — есть как и обзор на том же Хабре, 2, и достаточно сделать поиск по Гуглу — и будет то же и больше. Более востребованным может быть описание конкретного (не описанного ранее) движка на примере организации какого-либо сайта. Но кое-что по DocPad, Octopress, 2, Jekyll — уже есть.


  1. paco
    12.04.2015 12:13
    +1

    Статью можно было сократить в один линк www.staticgen.com


  1. Ation
    13.04.2015 10:48

    Где-то потерялось 5 позиций рейтинга