TGViewer
<divelopers> <divelopers> @alexnozer_dev · 1.18K subscribers
Post #268 912
Metalsmith

Изучая исходный код одного блога, обнаружил инструмент под названием Metalsmith. Это супер простой, расширяемый генератор статики для Node. Похожий слоган у другого инструмента, который я использую — Eleventy, поэтому Metalsmith меня заинтересовал.

У Metalsmith довольно простая концепция: рекурсивный обход указанной директории и формирование JS-объекта со всеми найденными файлами. Ключ объекта — путь к файлу, значение — объект с мета-данными и содержимым файла.

Далее объект проходит через цепочку плагинов, каждый из которых меняет объект: конвертирует Markdown в HTML, добавляет глобальные мета-данные, применяет layout. Из итогового объекта создаются файлы в указанной директории.

Metalsmith, по сути, ничего особенного не делает. Есть несколько встроенных плагинов. В остальном это конвейер для других плагинов. Концептуально напоминает Gulp или PostCSS, где вся суть заключается в создании цепочки из плагинов для обработки.

Плагинов для Metalsmith много: от небольших утилит до движков шаблонов и CSS-препроцессоров. Так как всё работает на Node, а суть заключается в обходе объекта с файлами, можно легко написать плагин для решения собственной задачи.

Проект живой, в репозитории есть активности, но невысокая. Крайняя версия проекта вышла чуть более года назад. Добавлю Metalsmith к своему набору инструментов, как альтернативу Gulp или Eleventy для разработки простых сайтов.

#js
Metalsmith.js An extremely simple, pluggable static site generator for NodeJS.
  • 👍 12
  • ❤ 3
More from @alexnozer_dev
  1. Sep 23, 2026Images Preview На некоторых сайтах, где надо показывать изображения в высоком качестве, дл…
  2. Sep 21, 2026Реализация пользовательских атрибутов Под конец прошлого года я рассказывал об API пользов…
  3. Sep 14, 2026Подклассы Event вместо CustomEvent Многие библиотеки предоставляют систему событий в качес…
  4. Sep 11, 2026Эволюция стилей в темах Shopify Адам Ватан на днях поделился новостью, что Shopify выкупил…
  5. Sep 9, 2026Persistent Widgets Многие сайты не должны быть SPA. Но иногда эта архитектура продиктована…
  6. Sep 7, 2026Processing Instructions и маркеры В DOM всё представлено в виде узлов (Node) разных типов.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →