README.md aktualisiert
This commit is contained in:
parent
fa7da2c44f
commit
853e9e5ea7
90
README.md
90
README.md
|
|
@ -1,91 +1,37 @@
|
||||||
# Forgejo Blog Manager (SSG)
|
# Forgejo Blog Manager (v0.1.3)
|
||||||
|
|
||||||
> **Ansatz:** Documentation-Driven Development (DDD)
|
> **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.
|
> **Stack:** Python, Pelican, Flask, Marvin API (Uberspace 8)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📝 Übersicht
|
## 📝 Ü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.
|
Dieses Tool ermöglicht es, einen statischen Blog auf einem Uberspace 8 zu betreiben. Es bietet ein komfortables Web-Interface für die Autorin, verwaltet Assets (PDF/MP3) und automatisiert den GitOps-Workflow über Forgejo.
|
||||||
|
|
||||||
### Kern-Features
|
### Features
|
||||||
* **Web-Interface:** Flask-basiertes Formular zur Inhaltserfassung.
|
* **Admin-Panel:** Flask-Weboberfläche zur Artikeleingabe.
|
||||||
* **Vorschau-Modus:** Rendering des Artikels vor der Veröffentlichung.
|
* **Asset-Management:** Automatischer Upload und Verlinkung von Downloads.
|
||||||
* **Asset-Management:** Automatisches Einsortieren von PDF- und Audio-Downloads.
|
* **Uberspace 8 Ready:** Vorbereitet für die Marvin API Integration.
|
||||||
* **GitOps:** Automatischer Push in den `master`-Branch zur Triggerung der CI/CD-Pipeline.
|
* **Git-Automatisierung:** Automatischer Commit & Push zur CI/CD-Triggerung.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🏗 Projektstruktur
|
## 🏗 Struktur
|
||||||
|
|
||||||
Das Projekt folgt einer sauberen `src`-Struktur mit dem Paketnamen `dlw`:
|
* `src/dlw/admin.py`: Flask-Backend & UI-Logik.
|
||||||
|
* `src/dlw/git_ops.py`: Git-Workflow-Automatisierung.
|
||||||
```text
|
* `src/dlw/marvin_ops.py`: Marvin API Client für Uberspace.
|
||||||
forgejo-blog-manager/
|
* `src/dlw/commands.py`: CLI-Tool `blog-cli`.
|
||||||
├── 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
|
## 🚀 Schnellstart
|
||||||
|
|
||||||
### 1. Umgebung vorbereiten
|
1. **Installation:** `pip install .`
|
||||||
```bash
|
2. **Setup:** `blog-cli setup` (Initialisiert Ordner)
|
||||||
python3 -m venv venv
|
3. **Start:** `blog-cli start` (Admin-Panel unter Port 5000)
|
||||||
source venv/bin/activate
|
|
||||||
pip install .
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2. Initialisierung
|
|
||||||
```bash
|
|
||||||
blog-cli setup
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ⚙️ Lokale Konfiguration
|
*Letztes Update: 2026-01-03 | Status: Funktionstüchtig*
|
||||||
|
|
||||||
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*
|
|
||||||
Loading…
Reference in New Issue