Публикация постов в HomeLab21
✎Схема: publish pipeline
render_post/md/static -> indexes/json -> feed.xml
| | |
+--> search-index +--> sitemap +--> /all + /search
Схема публикации:
.md -> render_post.py -> .html -> update_posts_index.py -> publish.sh
Требования:
Сервер: Ubuntu 24.04+
Установка:
sudo apt update
sudo apt install -y python3-markdown
Важно:
pip не используется (PEP 668)
Шаг 1. Создать пост:
nano posts/имя.md
Шаг 2. Рендер:
python3 render_post.py posts/имя.md posts/имя.html
Шаг 3. Индекс:
python3 update_posts_index.py
Шаг 4. Публикация:
git add .
git commit -m "post"
./publish.sh
Полная команда:
cd /opt/homelab-site && python3 render_post.py posts/имя.md posts/имя.html && python3 update_posts_index.py && git add . && git commit -m "post" && ./publish.sh
Ошибки:
markdown не найден:
sudo apt install -y python3-markdown
render_post вызван неправильно:
python3 render_post.py file.md file.html
Cannot GET:
- нет html
- не обновлен индекс
Итог:
Всегда 3 шага:
- render
- index
- publish