© 2026 WebHive

Пробуем wintersmith

Пробую очередной генератор статичных сайтов на node.js. Сегодня это будет wintersmith. Ниже будет произвдена установка и проведено стресс-тестирование.

Зачем

Текущая версия блога работает на движке hexo, который хотя и довольно неплох, но имеет весьма скудные возможности. Нет например описания как загружать картинки в статьи — такая казалось бы банальная вещь, а уже проблема.

Ну в общем есть претензии — опишу подробнее в отдельной статье. В связи с этим начал рассматривать альтернативы. Wintersmith как раз одна из них.

Установка

Ничего особенного — довольно тривиально. Обычный модуль для node.js

npm install wintersmith -g
wintersmith new <path>
cd <path>

Запуск

Как и принято для софта такого класса есть два варианта

Запуск в виде сервера

wintersmith preview

Или генерация статичных файлов

wintersmith build

Первые проблемы

Сходу словил косяк — jade шаблоны ругаются на неправильный синтаксис

Файл, строка и причина были указаны, поэтому исправление не составило большого труда. Хотя это наверно достоинство jade, а не wintersmith.

Проблема была в устаревшем синтаксисе

Вот этот кусок

!!! 5

Надо было заменить на этот

doctype html

Ладно — мы не гордые — поправим.

После этого небольшого инцидента все заработало.

Стресс — тест

Традиционно подготовил стресс-тест. Как старый блоггер: ) я хочу надежную систему, чтобы не трахаться с движком, а заниматься писаниной не отвлекаясь на мелочи. Это уже третий по счету движок, который подвергся моему стресс-тесту. Предыдущие два были DocType и Hexo. DocType оказался крайне тормознутым с экспоненциальным ростом времени генерации сайта в зависимости от количества постов. Hexo показал куда лучшие результаты по генерации и на данный момент это явный лидер.

Что-же выдал нам wintersmith?

Полный провал!!!

После 800 статей он тупо падает с ошибкой.

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: EMFILE, open '<путь к тестовому проекту>/build/articles/test-6-97/index.html'

Баг-репорт

Отправил автору отчет об ошибке. Ответ пока не радует — насколько я понял внятного объяснения у автора нет. Предложенные им уменьшение лимитов результата не дало.

Вывод

Очередной провал. Очевидно, что есть какой-то лимит, после которого генерация сайта просто в принципе невозможна. И тот факт что другие движки такого лимита не имеют говорит о том, что это проблема именно кода wintersmith. Да — я нагрузил его данными —, но DocPad справился с куда большими объёмами (хоть и начал заметно тормозить), hexo вообще сожрал все и не крякнул — думаю он ьы отработал и больше, просто мне хватило и того что я увидел.

Всем кто использует или собирается использовать wintersmith советую подумать — не придется ли через год другой менять движок.

Комментарии