Ниже — пошаговая инструкция создания нового поста в блоге.
1. Создаём файл поста
cd blog_src/blog/posts
touch 2026-02-06-post-name.md
Имя файла всегда должно быть в формате:
YYYY-MM-DD-slug.md
2. Открываем файл для редактирования
nano 2026-02-06-post-name.md
# или
code 2026-02-06-post-name.md
3. Минимальный шаблон поста
---
title: "Заголовок поста"
date: 2026-02-06
tags: ["post"]
layout: layout-post.njk
---
<p>Текст поста.</p>
<p>Второй абзац.</p>
Вставить изображение:
<img src="/img/posts/2026-02-05/Sc-01-03_0205sm.png"
alt="Скриншот: Побеги, 2026"
loading="lazy">
<figcaption>
<span class="post-figure__title">Подпись под изображением</span>
<span class="post-figure__meta">Название, Локация, 2026 • CC BY-SA 4.0</span>
</figcaption>
</figure>
## Подзаголовок
— пункт
— ещё пункт```
<i>Если требуется:
скрыть продолжение поста:</i>
```<!--more-->```
<i>обновление:</i>
```updated: 2026-02-06```
<i>отключить стили:</i>
<i>вместо</i> ```layout: layout-post.njk``` <i>ставим</i> ```noStyles: true```
<i>Можно добавить</i> ```description:```
<i>(отображаться не будет)</i>
4. Сборка и обновление блога
npm run blog:build
rm -rf blog
cp -R dist_blog/blog ./blog
⬆️ Это обязательный шаг, иначе новый пост не появится на сайте.
✅ Как правильно показывать код в постах
Чтобы код:
- был виден
- не выполнялся
- корректно подсвечивался
используются fenced code blocks:
| Тип кода | Пример |
|---|---|
| Bash | ```bash |
| Markdown | ```md |
| HTML | ```html |
| JS | ```js |
⚠️ Никогда не вставляй <div> или console.log() без ```
иначе:
- браузер попытается выполнить HTML
- терминал (
zsh) дастparse error near '<'
⚠️ ОБЯЗАТЕЛЬНО: кодировка UTF-8
В VS Code
Cmd + Shift + PChange File EncodingSave with EncodingUTF-8
В nano
LANG=ru_RU.UTF-8 nano file.md
❌ Плохо:
LANG=C nano file.md
Итог
Если:
- файл
.mdсохранён в UTF-8 - есть
tags: ["post"] - код обёрнут в ```
- выполнен
npm run blog:build
➡️ пост гарантированно появится:
- на
/blog/all/ - в общем списке
- с нормальной типографикой и отступами