MD2WordPress/QUICKSTART.md
Jörg Lohrer 141b847e97 Docs: Bekannte Einschränkungen dokumentieren
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
2025-10-01 10:22:32 +02:00

5.6 KiB

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)

source .venv/bin/activate
python workflow.py "https://example.com/artikel.md"

2. Mehrere URLs aus YAML-Datei

Erstellen Sie posts.yaml:

posts:
  - url: "https://example.com/artikel1.md"
  - url: "https://example.com/artikel2.md"
  - file: "content/lokaler-artikel.md"

Dann ausführen:

source .venv/bin/activate
python workflow.py posts.yaml

3. Ganzes Repository (Forgejo/Gitea) ⚠️ Experimentell

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:

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:

pip install -r requirements.txt

3. WordPress-Username eintragen

Bearbeiten Sie die .env-Datei und tragen Sie Ihren WordPress-Benutzernamen ein:

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:

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):

python workflow.py "https://example.com/artikel.md"

Mehrere URLs aus YAML:

python workflow.py posts.yaml

Ganzes Forgejo-Repository:

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:

python workflow.py "content/beispiel-beitrag.md"

Oder über YAML:

posts:
  - file: "content/beispiel-beitrag.md"
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:

---
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:

    python workflow.py "content/beispiel-beitrag.md"
    
  2. Testen Sie mit Ihrer eigenen URL:

    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"