dlw-frontend/README.md

3.0 KiB

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

  1. Starten des Admin-Interfaces: blog-cli start
  2. Öffnen von http://127.0.0.1:5000 im Browser.
  3. Artikel schreiben, Dateien hochladen und auf Vorschau klicken.
  4. Nach Prüfung auf Veröffentlichen klicken.
    • Das Tool erstellt die .md-Datei in content/.
    • Assets werden nach downloads/ verschoben.
    • Ein Git-Commit & Push wird automatisch ausgeführt.

Status: In Entwicklung (Dokumentations-Phase) Letzte Aktualisierung: 2026-01-03