Публикация статьи у меня начинается не с админки сайта.

Я открываю Obsidian и создаю обычный Markdown-файл. Пишу текст, добавляю заголовок, описание, теги и внутренние ссылки. На этом авторская часть почти заканчивается.

Дальше работает небольшой автоматический конвейер.

Сначала файл должен доехать до сборки

Контент хранится как обычная папка с заметками и синхронизируется между устройствами.

Мне нравится этот подход по одной причине: исходники всегда остаются нормальными файлами. Они не спрятаны внутри базы данных и не зависят от веб-интерфейса.

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

Никакой магии.

Потом Quartz пересобирает сайт

Когда появляются изменения, Quartz читает заметки и превращает их в готовые страницы.

Во время сборки обрабатываются ссылки, метаданные, навигация, блоки кода и оформление. На выходе получается статический сайт — набор файлов, которые можно просто отдавать посетителю.

Это одна из причин, почему я не использую тяжёлую CMS. Для чтения статьи не нужен запрос к базе и выполнение серверного кода. Страница уже готова.

Автоматическая публикация хороша, пока не публикует лишнее

Вот здесь начинается менее романтичная часть.

Если папка синхронизируется и сайт собирается автоматически, случайный файл тоже может уехать наружу. Черновик. Внутренняя заметка. Фрагмент конфига. Что угодно.

Поэтому удобный пайплайн требует дисциплины.

Я стараюсь отдельно проверять frontmatter, статус заметки, ссылки, фрагменты терминала, изображения, внутренние названия и всё, что похоже на адрес, токен или идентификатор.

Особенно опасны скриншоты. Текст можно найти поиском. Маленький адрес в углу терминала легко не заметить.

Почему я не публикую мгновенно после каждого символа

Технически можно настроить почти моментальную сборку. Но в этом мало пользы.

Несколько минут задержки ничего не меняют для читателя, зато система не пересобирает сайт из-за каждой мелкой правки. Плюс остаётся время открыть страницу локально и посмотреть, не развалилось ли оформление.

У меня уже были ситуации, когда Markdown выглядел нормально в редакторе, а после сборки заголовок уезжал, таблица ломала мобильную ширину или внутренняя ссылка вела не туда.

Статический сайт простой. Но не безошибочный.

В итоге публикация ощущается как продолжение заметок

Именно это мне нравится больше всего.

Я не «иду писать статью на сайт». Я пишу в своей обычной среде, а потом решаю, что материал готов выйти наружу.

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

Почему выбран Quartz, описано в Digital Garden, публичный вход — в Caddy, безопасная сторона — в Публикации без утечек.