README.md aktualisiert

This commit is contained in:
Kim Diallo 2026-01-03 02:06:19 +01:00
parent 769e33f4cf
commit fa7da2c44f
1 changed files with 91 additions and 18 deletions

109
README.md
View File

@ -1,18 +1,91 @@
forgejo-blog-manager/
├── src/
│ └── dlw/
│ ├── __init__.py
│ ├── admin.py # Flask App: Routing, Formulare, Vorschau-Logik
│ ├── commands.py # CLI Entry Point: Setup, Server Start
│ ├── git_ops.py # GitPython Wrapper: Commit und Push
│ └── ssg_config/ # Pelican Konfiguration und Templates
│ ├── pelicanconf.py
│ ├── article_template.j2 # Für die Vorschau
│ └── templates/ # Die eigentlichen Blog-Templates
│ └── ...
├── content/ # Hier landen die generierten Markdown-Artikel
├── downloads/ # Hier landen PDF- und Audio-Dateien
├── .gitignore
├── README.md
└── pyproject.toml # PEP 621 Konfiguration
# 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`:
```text
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
```bash
python3 -m venv venv
source venv/bin/activate
pip install .
```
### 2. Initialisierung
```bash
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
```bash
# --- 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*