Добавил раздел Статьи на сайте
Добавил раздел статей на сайт. Переписал одну свою статью с нуля по-русски — поддержка концепта двуязычия
Несколько моментов, которые могут зацепить педантичную веб-публику: - Полноценная двуязычная разметка: пары hreflang + x-default и постатейные canonical (оригиналы — на сайте, кросс-посты на Medium ссылаются обратно); - Markdown-конвейер собран из примитивов unified / remark / rehype — gray-matter для фронтматтера, GFM, заголовки со слагами и #-якорями, подсветка синтаксиса на этапе сборки через Shiki (две темы, светлая и тёмная, через CSS-переменные — без клиентского JS, без FOUC); - HMR для правок статей через token-файл: chokidar-вотчер переписывает gitignore-нутый articles.token.ts при любом изменении в content/articles/** или public/articles/**, что инвалидирует модуль статьи в графе Turbopack - Правки фронтматтера, тела и картинок подхватываются hot-reload-ом без рестарта. Cache-busting по контент-хешу для локальных — ?v= проставляется на сборке, так что обновление картинки автоматически инвалидирует URL; - Статический экспорт (Next.js output: “export”) — раздаётся nginx-ом как обычные файлы, без рантайма; - Обязательное поле лицензии во фронтматтере (CC BY 4.0), валидируется Zod-схемой — атрибуция в футере не может молча разъехаться; - Паритет ru/en проверяется на сборке: слаг без одной из локалей роняет билд