Обзор
Архитектура, поток данных и базовая логика работы Notepub.
Ключевая идея Notepub: хранить контент в Markdown и через декларативные правила получать маршруты и HTML.
Сквозной процесс
notepub index
- Читает markdown из
content.source(localилиs3). - Парсит frontmatter.
- Применяет
rules.yaml(типы, permalink, валидации, связи, коллекции). - Пишет артефакты в
paths.artifacts_dir:resolve.jsonsearch.jsonsitemap-index.xmlиsitemap-*.xmlrobots.txtcollections/*.json(если включена материализация)
notepub serve
- Загружает
resolve.json. - Рендерит markdown по запросу через тему.
- Отдает эндпоинты
/health,/metrics,/v1/search,/search,/media/*,/assets/*.
notepub build
- Использует ту же модель резолва и рендера.
- Генерирует статические файлы в
dist/. - Копирует ассеты темы и SEO-артефакты.
- Создает
404.html.
Основные концепции
- Контракт контента задается frontmatter +
rules.fields. - Структура URL задается в
rules.types.<type>.permalink. - Выбор шаблона задается в
rules.types.<type>.template. - Внутренние ссылки резолвятся из полей и wikilinks.
- Коллекции — это декларативные выборки для шаблонов и артефактов.
Serve и Build
serveподходит, когда нужен живой сервер с контентом из local/S3.buildнужен для полностью статического хостинга (GitHub Pages, Netlify, Cloudflare Pages, S3 static hosting).
Рекомендация для старта
Начните с Быстрого старта и сделайте один полный деплой до глубоких изменений правил.