Посты — обычные markdown-файлы в папке blog/astro этого vault-а. Astro читает их напрямую через content collection, ничего копировать не нужно.
Рубрики
Папка первого уровня внутри blog/astro — это рубрика:
blog/astro/
├── linux/
├── kubernetes/
├── сети/
└── личное/
Имя папки становится названием рубрики, у каждой появляется своя страница вида /categories/linux/. Пост из папки linux живёт по адресу /posts/linux/имя-поста/. Достаточно создать новую папку — рубрика появится сама, как только в ней будет хотя бы один пост.
Файл можно положить и в корень blog/astro — тогда пост будет без рубрики.
Что поддерживается
- Wikilinks: Привет, мир и с алиасом — вот так (ссылка по имени заметки работает и между рубриками)
- Картинки-вложения:
![[имя.png]](ищутся в папке блога и вfiles/) - Callouts (
> [!note],> [!tip],> [!warning],> [!danger]и т.д.)
Frontmatter
Обязательны только title и date, остальное — по желанию:
| Поле | Что делает |
|---|---|
title | заголовок поста |
date | дата публикации, сортировка |
description | подводка в списке, meta и OG-картинке |
tags | список тегов |
draft: true | пост виден только в npm run dev |
featured: true | попадает в блок «Избранное» на главной |
updated | дата правки, показывается вместо даты публикации |
Если в description есть двоеточие, значение нужно взять в кавычки — иначе YAML не разберёт фронтматтер и сборка упадёт.
Оформление
Сайт собран на теме AstroPaper: светлая и тёмная тема, поиск по всем записям, оглавление, архив и RSS. Под каждый пост генерируется своя OG-картинка для превью в мессенджерах.
Публикация
npm run deploy собирает сайт и заливает его по rsync на сервер.