Пробую очередной генератор статичных сайтов на node.js. Сегодня это будет wintersmith. Ниже будет произвдена установка и проведено стресс-тестирование.
Зачем
Текущая версия блога работает на движке hexo, который хотя и довольно неплох, но имеет весьма скудные возможности. Нет например описания как загружать картинки в статьи — такая казалось бы банальная вещь, а уже проблема.
Ну в общем есть претензии — опишу подробнее в отдельной статье. В связи с этим начал рассматривать альтернативы. Wintersmith как раз одна из них.
Установка
Ничего особенного — довольно тривиально. Обычный модуль для node.js
1 | npm install wintersmith -g |
Запуск
Как и принято для софта такого класса есть два варианта
Запуск в виде сервера
1 | wintersmith preview |
Или генерация статичных файлов
1 | wintersmith build |
Первые проблемы
Сходу словил косяк — jade шаблоны ругаются на неправильный синтаксис
Файл, строка и причина были указаны, поэтому исправление не составило большого труда. Хотя это наверно достоинство jade, а не wintersmith.
Проблема была в устаревшем синтаксисе
Вот этот кусок
1 | !!! 5 |
Надо было заменить на этот
1 | doctype html |
Ладно — мы не гордые — поправим.
После этого небольшого инцидента все заработало.
Стресс — тест
Традиционно подготовил стресс-тест. Как старый блоггер: ) я хочу надежную систему, чтобы не трахаться с движком, а заниматься писаниной не отвлекаясь на мелочи. Это уже третий по счету движок, который подвергся моему стресс-тесту. Предыдущие два были DocType и Hexo. DocType оказался крайне тормознутым с экспоненциальным ростом времени генерации сайта в зависимости от количества постов. Hexo показал куда лучшие результаты по генерации и на данный момент это явный лидер.
Что-же выдал нам wintersmith?
Полный провал!!!
После 800 статей он тупо падает с ошибкой.
1 | events.js:72 |
Баг-репорт
Отправил автору отчет об ошибке. Ответ пока не радует — насколько я понял внятного объяснения у автора нет. Предложенные им уменьшение лимитов результата не дало.
Вывод
Очередной провал. Очевидно, что есть какой-то лимит, после которого генерация сайта просто в принципе невозможна. И тот факт что другие движки такого лимита не имеют говорит о том, что это проблема именно кода wintersmith. Да — я нагрузил его данными —, но DocPad справился с куда большими объёмами (хоть и начал заметно тормозить), hexo вообще сожрал все и не крякнул — думаю он ьы отработал и больше, просто мне хватило и того что я увидел.
Всем кто использует или собирается использовать wintersmith советую подумать — не придется ли через год другой менять движок.
Комментарии