2026-04-17 23:44:16 +03:00
2026-04-17 23:39:57 +03:00
2026-04-17 23:39:57 +03:00
2026-04-17 23:39:57 +03:00
2026-04-17 23:39:57 +03:00
2026-04-17 23:39:57 +03:00
2026-04-17 23:39:57 +03:00
2026-04-17 23:39:57 +03:00
2026-04-17 23:39:57 +03:00

md-to-html

Сервис конвертации Markdown в самодостаточный HTML (через GitHub API).

Текущая версия: 0.1.0

Часто нужен адекватно (минималистично) выглядящий HTML из Markdown. HTML получем через открытый API GitHub, а стили просто захардкожены в шаблоне.

Streamlit UI

GITHUB_TOKEN не нужен, если не требуется массовая (поточная) конвертация. Но если нужно, то его можно передать через переменную окружения при запуске.

Есть два интерфейса:

  • FastAPI на http://localhost:8000
  • Streamlit UI на http://localhost:8501

Локальный запуск

uv venv .venv
source .venv/bin/activate
uv pip install -r requirements.txt
uvicorn app.api:app --reload
streamlit run app/streamlit_app.py

CLI сохранился:

python3 md_to_html.py /path/to/file.md

Docker

docker build -t md-to-html .
docker run --rm -p 8000:8000 -p 8501:8501 -e GITHUB_TOKEN=your_token md-to-html

API

POST /convert

curl -X POST http://localhost:8000/convert \
  -H 'Content-Type: application/json' \
  -d '{"markdown":"# Hello"}'

GET /health

curl http://localhost:8000/health

GET /version

curl http://localhost:8000/version

Релизы

Проект использует Semantic Versioning. Текущая версия хранится в файле VERSION, история изменений ведётся в CHANGELOG.md.

Чтобы выпустить релиз:

git add VERSION CHANGELOG.md
git commit -m "Release v0.1.0"
git tag v0.1.0
git push origin main --tags
gh release create v0.1.0 --notes-file CHANGELOG.md

После публикации релиза GitHub Actions автоматически собирает Docker-образ и публикует его в GitHub Container Registry:

docker pull ghcr.io/fserg/md-to-html:v0.1.0
S
Description
No description provided
Readme 591 KiB
Languages
Go 37.4%
HTML 27.5%
templ 16.6%
Python 13.7%
Shell 1.3%
Other 3.5%