|
|
||
|---|---|---|
| src/dlw | ||
| README.md | ||
| pyproject.toml | ||
README.md
Forgejo Blog Manager (SSG)
Ansatz: Documentation-Driven Development (DDD) Dieses Dokument definiert den Funktionsumfang und die Schnittstellen für den Python-basierten Blog-Manager, bevor die finale Implementierung der Logik (Uploads/Rendering) abgeschlossen wird.
📝 Übersicht
Der Forgejo Blog Manager ist ein Tool zur Verwaltung eines statischen Blogs (Pelican). Es bietet der Autorin ein Web-Interface zur Erstellung von Artikeln inklusive Datei-Uploads (PDF/Audio) und automatisiert den Git-Workflow (Commit & Push) zu einer Forgejo-Instanz.
Kern-Features
- Web-Interface: Flask-basiertes Formular zur Inhaltserfassung.
- Vorschau-Modus: Rendering des Artikels vor der Veröffentlichung.
- Asset-Management: Automatisches Einsortieren von PDF- und Audio-Downloads.
- GitOps: Automatischer Push in den
master-Branch zur Triggerung der CI/CD-Pipeline.
🏗 Projektstruktur
Das Projekt folgt einer sauberen src-Struktur mit dem Paketnamen dlw:
forgejo-blog-manager/
├── src/
│ └── dlw/
│ ├── admin.py # Flask App: Routing & Formulare
│ ├── commands.py # CLI Entry Point (blog-cli)
│ ├── git_ops.py # GitPython Wrapper
│ └── ssg_config/ # Pelican Konfiguration & Templates
├── content/ # Generierte Markdown-Artikel
├── downloads/ # PDF- und Audio-Dateien
├── pyproject.toml # Paket-Konfiguration (PEP 621)
└── README.md
🚀 Installation & Setup
1. Umgebung vorbereiten
python3 -m venv venv
source venv/bin/activate
pip install .
2. Initialisierung
blog-cli setup
⚙️ Lokale Konfiguration
Für eine reibungslose Entwicklung empfiehlt es sich, die Projektumgebung in der ~/.profile (oder .zshrc/.bashrc) zu hinterlegen.
Beispiel für ~/.profile Snippet
# --- FORGEJO BLOG MANAGER SETUP START ---
# Pfad zum lokalen Repository
export BLOG_PROJECT_ROOT="$HOME/pfad/zu/forgejo-blog-manager"
# Flask Konfiguration
export FLASK_ENV="development"
export APP_SECRET_KEY="dein-super-geheimer-schluessel"
# Hilfs-Alias für den schnellen Start
alias blog-admin='cd $BLOG_PROJECT_ROOT && source venv/bin/activate && blog-cli start'
# --- FORGEJO BLOG MANAGER SETUP ENDE ---
Nach dem Hinzufügen: source ~/.profile ausführen.
🛠 Nutzung
- Starten des Admin-Interfaces:
blog-cli start - Öffnen von
http://127.0.0.1:5000im Browser. - Artikel schreiben, Dateien hochladen und auf Vorschau klicken.
- Nach Prüfung auf Veröffentlichen klicken.
- Das Tool erstellt die
.md-Datei incontent/. - Assets werden nach
downloads/verschoben. - Ein Git-Commit & Push wird automatisch ausgeführt.
- Das Tool erstellt die
Status: In Entwicklung (Dokumentations-Phase) Letzte Aktualisierung: 2026-01-03