О проекте

Этот блог — обновлённая и самостоятельная версия блога «Заметки разработчика». Я отказался от Blogger и WordPress, потому что их шаблонизаторы не позволяли внедрять кастомные компоненты интерфейса, а типичный workflow мешал контролировать версии контента через Git.

Вместо переноса архива было принято стратегическое решение: оставить старый блог как архивную версию, а новую платформу посвятить исключительно свежим и технологически актуальным материалам. Это позволило не тратить время на рефакторинг устаревшего кода, а сосредоточиться на внедрении современного стека с нуля. Моими ключевыми требованиями были: максимальная скорость, безопасность, контроль над развертыванием и простота поддержки. Естественным выбором для выполнения этих условий стала архитектура на основе генераторов статических сайтов (Static Site Generators, SSG).

При таком подходе HTML-страницы генерируются один раз во время сборки, что полностью устраняет необходимость в серверной обработке запросов и базе данных. Среди множества генераторов (Jekyll, Hugo, Gatsby) я искал инструмент, который бы сочетал эту простоту архитектуры с полной свободой в настройке и не навязывал бы свою экосистему или язык шаблонов. Таким инструментом оказался Eleventy (11ty). Его главное отличие — агностицизм: он работает с любыми шаблонизаторами и структурами данных, не ограничивая разработчика. Благодаря этой минималистичной философии, гибкости и скорости, в отличие от «тяжелых» фреймворков, он не навязывает свою структуру, позволяя создавать архитектуру, оптимальную для конкретного проекта. Это дало возможность:

В результате для вас, как для читателя, это означает:

Этот подход также позволил в процессе разработки решить ряд типовых задач, результаты которых могут пригодиться и другим разработчикам.

Инструменты с открытым кодом, созданные для проекта

Результатом работы стали несколько опубликованных npm-пакетов и плагинов для Eleventy:

Это не только улучшает данный блог, но и позволяет делиться готовыми решениями с сообществом. Все пакеты доступны на GitHub и npm. Если они вам полезны — ставьте звёзды на GitHub, это лучшая благодарность. Предложения по улучшению и багрепорты, как всегда, принимаются в Issues.

Присоединяйтесь к нашему сообществу разработчиков, где уже обсуждаются эти и другие темы:

Поддержать проект

Каждое пожертвование — это сигнал о важности темы и реальный вклад в развитие. Средства помогают уделять проекту больше времени, готовить более детальные исследования и практические примеры и улучшать инфраструктуру сайта для вашего удобства.