Hinzugefügt in README.md (prominent am Anfang):
- ⚠️ Bekannte Einschränkungen-Sektion
- Autor-Zuordnung: Aktuell nur zum importierenden User
- Forgejo-Batch: Noch nicht ausreichend getestet
- Empfehlung: Start mit einzelnen URLs
Aktualisiert in QUICKSTART.md:
- Hinweis auf Autor-Zuordnung
- Modus 3 (Forgejo) als 'Experimentell' markiert
- Empfehlung für Modus 1 (einzelne URL) hervorgehoben
Erweitert in CHANGELOG.md:
- Geplante Features nach Priorität sortiert
- Autor-Mapping als Hoch-Priorität
- Robuste Forgejo-API als Hoch-Priorität
- Neue Features: Dry-Run-Modus, Mehrsprachigkeit
227 lines
5.6 KiB
Markdown
227 lines
5.6 KiB
Markdown
# Schnellstart-Anleitung
|
|
|
|
## ⚠️ Wichtige Hinweise
|
|
|
|
**Autor-Zuordnung:** Beiträge werden dem importierenden WordPress-Benutzer zugeordnet (nicht dem Autor aus dem Frontmatter).
|
|
|
|
**Empfehlung:** Starten Sie mit **einzelnen URLs** zum Testen, bevor Sie Batch-Imports durchführen.
|
|
|
|
## Ü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 (aktuell nur extrahiert, nicht zugeordnet)
|
|
|
|
Sie müssen nur noch die **URL zur Markdown-Datei** angeben!
|
|
|
|
## Drei Verwendungsmodi
|
|
|
|
### 1. Einzelne URL (Am einfachsten! ⭐ Empfohlen zum Testen)
|
|
|
|
```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) ⚠️ Experimentell
|
|
|
|
```bash
|
|
source .venv/bin/activate
|
|
python workflow.py --repo "https://codeberg.org/user/repo" main
|
|
```
|
|
|
|
**Hinweis:** Diese Funktion wurde noch nicht ausgiebig getestet. Nutzen Sie zunächst Modus 1 oder 2.
|
|
|
|
## 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"
|