0.27.0: блог стал файлами, а не кодом

Публикация статьи перестала быть правкой кода. И заодно нашлась причина, по которой у четырёх сайтов из шести текст не проходил по контрасту.

До этой версии статья блога была записью в TypeScript: тело в одном файле, перевод в другом, индекс в третьем. Работало, пока статей было три. На десятой становится ясно, что публикация — это правка кода, а значит её делает тот, кто умеет править код.

Теперь статья — это файл. `content/resources/2026-06-18-first-post.ru.md`: дата и адрес в имени, язык в суффиксе, картинки в папке рядом. Фронтматтер — десять строк вида «ключ: значение», тело — абзацы, один уровень заголовка, картинка и галерея. Индекс, группа, маршрут и карта сайта следуют из того, что файл существует.

Галерея решает сама, как выглядеть

В теле статьи можно поставить блок с картинками, и то, как он нарисуется, зависит только от их количества. Одна — кадр. Две или три — рядом. Четыре и больше — лента с полосой превью.

Автор не выбирает. Это важнее, чем кажется: пост, в котором галерея выглядит иначе, чем в прошлом посте, — это пост, в котором кто-то принимал решение о вёрстке, а открывали файл не за этим.

Контраст, который никто не считал

Вторая половина релиза — про цвет. Правило «чернила на поверхности должны проходить по AA» было написано с самого начала, и никто его не проверял машиной. Проверили — **четыре сайта из шести оказались ниже порога**: 2.15, 2.55, 2.96 и 3.59 к одному.

Так и получается: брендовый цвет красиво смотрится фоном, пара подбирается на глаз, и почти-белое по оливковому выглядит дизайном, а измеряется как 2.96. Теперь пара считается, а когда не проходит — аудит говорит об этом и перестаёт придираться к остальному: пока фон и текст не читаются вместе, обсуждать оттенок подписи бессмысленно.

Заодно приглушённые подписи перестали быть «чёрным на 55 процентов». Чёрный предполагает, что фон светлый; на тёмно-зелёном это чёрный по тёмно-зелёному. Теперь они наследуют цвет чернил, и на светлом сайте это чуть темнее, а на тёмном — разница между «читается» и «нет».

02Читать дальше

Ещё в блоге

Две, не больше. Более длинная лента превращает конец статьи во вторую индексную страницу, а читатель уже сделал выбор один раз.