MD2WordPress/QUICKSTART.md
Jörg Lohrer 7a234be652 Feature: Automatische Metadaten-Extraktion aus Frontmatter
- Neuer markdown_parser.py mit YAML-Frontmatter Extraktion
- Unterstützung für drei Modi: Einzelne URL, YAML-Batch, Forgejo-Repo
- Metadaten (name, description, tags, image, author) aus Frontmatter
- Schema.org-Support für commonMetadata
- Vereinfachte posts.yaml (nur URLs statt vollständiger Metadaten)
- Aktualisierte Dokumentation (README.md, QUICKSTART.md)
- Beispiel-Beitrag mit vollständigem Frontmatter
2025-10-01 08:10:09 +02:00

219 lines
5.2 KiB
Markdown

# Schnellstart-Anleitung
## Überblick
Das System extrahiert **automatisch alle Metadaten aus dem YAML-Frontmatter** Ihrer Markdown-Dateien:
- **name** → WordPress-Titel
- **description** oder **summary** → Excerpt
- **image** → Beitragsbild
- **tags** → WordPress-Tags
- **categories** → WordPress-Kategorien
- **author** → WordPress-Autor
Sie müssen nur noch die **URL zur Markdown-Datei** angeben!
## Drei Verwendungsmodi
### 1. Einzelne URL (Am einfachsten!)
```bash
source .venv/bin/activate
python workflow.py "https://example.com/artikel.md"
```
### 2. Mehrere URLs aus YAML-Datei
Erstellen Sie `posts.yaml`:
```yaml
posts:
- url: "https://example.com/artikel1.md"
- url: "https://example.com/artikel2.md"
- file: "content/lokaler-artikel.md"
```
Dann ausführen:
```bash
source .venv/bin/activate
python workflow.py posts.yaml
```
### 3. Ganzes Repository (Forgejo/Gitea)
```bash
source .venv/bin/activate
python workflow.py --repo "https://codeberg.org/user/repo" main
```
## Schnellstart-Schritte
## 1. Virtuelle Umgebung aktivieren
Aktivieren Sie zuerst die Python-Umgebung:
```bash
source .venv/bin/activate
```
Sie sollten jetzt `(.venv)` am Anfang Ihrer Kommandozeile sehen.
## 2. Abhängigkeiten installieren
Die Python-Pakete sind bereits installiert. Falls Sie sie neu installieren müssen:
```bash
pip install -r requirements.txt
```
## 3. WordPress-Username eintragen
Bearbeiten Sie die `.env`-Datei und tragen Sie Ihren WordPress-Benutzernamen ein:
```env
WORDPRESS_URL=https://news.rpi-virtuell.de
WORDPRESS_USERNAME=IHR_USERNAME_HIER # ← Hier eintragen!
WORDPRESS_APP_PASSWORD=UIVI 4Tdy oojL 9iZG g3X2 iAn5
```
## 4. posts.yaml anpassen (Optional - nur für Batch-Verarbeitung)
Für **einzelne URLs** brauchen Sie keine YAML-Datei!
Für **mehrere Beiträge** erstellen Sie `posts.yaml`:
```yaml
posts:
- url: "https://ihre-url.de/artikel.md"
- file: "content/lokaler-artikel.md"
settings:
default_status: "draft"
```
**Das war's!** Alle Metadaten (Titel, Tags, Kategorien, Bild) kommen aus dem Frontmatter der Markdown-Dateien.
## 5. Workflow ausführen
Stellen Sie sicher, dass die virtuelle Umgebung aktiviert ist (siehe Schritt 1), dann:
### Einzelne URL (empfohlen für Tests):
```bash
python workflow.py "https://example.com/artikel.md"
```
### Mehrere URLs aus YAML:
```bash
python workflow.py posts.yaml
```
### Ganzes Forgejo-Repository:
```bash
python workflow.py --repo "https://codeberg.org/user/repo" main
```
## Testen mit dem Beispiel-Beitrag
Ein Test-Beitrag mit vollständigem Frontmatter ist in `content/beispiel-beitrag.md`.
**Direkter Test:**
```bash
python workflow.py "content/beispiel-beitrag.md"
```
**Oder über YAML:**
```yaml
posts:
- file: "content/beispiel-beitrag.md"
```
```bash
python workflow.py posts.yaml
```
## Was passiert beim Ausführen?
1. ✅ System lädt die Markdown-Datei (von URL oder lokal)
2.**Extrahiert automatisch Metadaten aus dem YAML-Frontmatter:**
- `name` → Titel
- `description`/`summary` → Excerpt
- `image` → Beitragsbild
- `tags` → WordPress-Tags
- `categories` → WordPress-Kategorien (falls vorhanden)
- `author` → Autor
3. ✅ Konvertiert Markdown zu HTML
4. ✅ Prüft ob Beitrag bereits existiert (nach Titel)
5. ✅ Erstellt fehlende Kategorien/Tags
6. ✅ Lädt Beitragsbilder hoch (falls vorhanden)
7. ✅ Erstellt den WordPress-Beitrag
## Frontmatter-Beispiel
Ihre Markdown-Dateien sollten so aussehen:
```markdown
---
name: "Mein Artikel-Titel"
description: "Eine kurze Zusammenfassung des Artikels"
image: "https://example.com/bild.jpg"
tags:
- WordPress
- Tutorial
- Open Source
categories:
- Tutorials
author:
- Max Mustermann
---
# Artikel-Inhalt
Hier beginnt der eigentliche Inhalt...
```
Das System versteht auch Schema.org-Metadaten (wie im `beispiel-beitrag.md`)!
## Wichtige Hinweise
- **Duplikate**: Beiträge mit gleichem Titel werden NICHT doppelt erstellt
- **Medien**: Bilder mit gleichem Dateinamen werden NICHT doppelt hochgeladen
- **Status**: Standard ist "draft" - Sie können dies auf "publish" ändern
- **Sicherheit**: Die `.env`-Datei ist in `.gitignore` und wird nicht committed
## Beispiel-Ausgabe
```
Direkt-Modus: Verarbeite URL: https://example.com/artikel.md
Verbinde mit WordPress: https://news.rpi-virtuell.de
============================================================
Verarbeite Markdown von URL: https://example.com/artikel.md
============================================================
Titel: Die Kraft der Gemeinschaft: Prozesse statt Strukturen
Beitrag 'Die Kraft der Gemeinschaft' erstellt (ID: 123, Status: draft)
✅ Erfolgreich: Beitrag erstellt (ID: 123)
```
## Nächste Schritte
1. **Testen Sie mit dem Beispiel-Beitrag:**
```bash
python workflow.py "content/beispiel-beitrag.md"
```
2. **Testen Sie mit Ihrer eigenen URL:**
```bash
python workflow.py "https://ihre-url.de/artikel.md"
```
3. **Für Batch-Verarbeitung:** Erstellen Sie `posts.yaml` mit mehreren URLs
4. **Für Repository-Import:** Nutzen Sie `--repo` für Forgejo/Gitea
5. **Überprüfen Sie die Beiträge in WordPress**
6. **Bei Erfolg:** Ändern Sie `default_status: "publish"` in den Settings
## Hilfe
Bei Problemen siehe `README.md` → Abschnitt "Fehlerbehebung"