Automatisches Einlesen, Umschreiben & Vorbereiten von RSS-Artikeln zur Veröffentlichung
Published articles carried no category, so WordPress filed all of them under the catch-all "Allgemein" - 941 of 955 posts by the time this was noticed. The rules here mirror the one-off backfill of 2026-07-31 and reproduce its result on all 955 posts exactly. Matching is done on word boundaries rather than plain substrings, which otherwise filed a campsite in Klagenfurt under "Recht & Vorschriften" via the keyword "klage". German compounds opt in explicitly with a trailing "*". A clear discount signal takes precedence over the product topic, because product tags otherwise outnumber it. Unknown slugs are never auto-created: unlike tags, the category set is curated in WordPress, so a mismatch should surface rather than spawn a new category. Articles that match no rule stay uncategorised on purpose. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .dedupe | ||
| .github | ||
| backend | ||
| data | ||
| docs | ||
| internal | ||
| logs | ||
| pages | ||
| scripts | ||
| static | ||
| tools | ||
| utils | ||
| .env.example | ||
| .gitignore | ||
| __version__.py | ||
| AGENTS.md | ||
| app.py | ||
| CHANGELOG.md | ||
| LICENCE | ||
| main.py | ||
| pytest.ini | ||
| README.md | ||
| requirements.txt | ||
| test_checklist.md | ||
| versioning.py | ||
rss-news (Rebuild)
rss-news wird als bestehendes Repository weitergefuehrt und schrittweise zu einer robusten, rechtssicheren News-Pipeline neu aufgebaut.
Aktueller Stand:
- Alte Streamlit-App wird nicht produktiv genutzt.
news.vanityontour.dewird bis zum Go-Live der neuen App aufhttps://vanityontour.deumgeleitet.- Planung, Doku und Wiki werden als Grundlage fuer den Neuaufbau gepflegt.
Ziele
- RSS-gestuetzte Artikelverarbeitung mit klaren Quellregeln
- Rechtssichere Nutzung (Quellen, Attribution, Lizenzinformationen)
- Zuverlaessige Automatisierung auf Hetzner
- Publikation nach WordPress (IONOS aktuell, spaeter offen)
- Zugriff nur nach Login (zunaechst User/Password)
Architektur-Richtung (MVP)
- Backend:
Python + FastAPI - Jobs: Queue-Worker (z. B. Redis + RQ/Celery)
- Daten: SQLite fuer MVP, spaeter optional PostgreSQL
- Auth: Session-Login mit einem Admin-User
- Publishing: WordPress REST API (Status zunaechst
pending)
Details: docs/PROJECT_PLAN.md
Projektsteuerung
- GitHub Project:
https://github.com/users/OliverGiertz/projects/3/views/1 - Dieses Board ist die zentrale Steuerung fuer ToDos, Bugs, Verbesserungen.
- Wiki-Struktur liegt unter
docs/wiki/.
Dokumentation
- Projektplan:
docs/PROJECT_PLAN.md - ToDo-Liste:
docs/TODO.md - Quell- und Lizenzpolicy:
docs/SOURCE_POLICY.md - Wiki Home:
docs/wiki/Home.md
Lokale Entwicklung (Legacy-Code)
Der vorhandene Legacy-Stand kann weiterhin lokal gestartet werden:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
streamlit run app.py
Hinweis: Diese App ist funktional historisch und wird durch die neue Architektur ersetzt.
Deployment-Zielbild
- Betrieb auf Hetzner
- Reverse Proxy via CloudPanel/Nginx
- Produktive Domain:
news.vanityontour.de - Bis zur Fertigstellung: Redirect auf
https://vanityontour.de
Sicherheit
- Keine Secrets im Repository
.envlokal/auf Server, nie committen- Auth-Pflicht fuer die neue WebApp
- spaeter optional: Passkeys/WebAuthn
Rechtlicher Hinweis
Dieses Projekt verarbeitet nur Quellen mit dokumentierter Nutzungsgrundlage. Vor produktiver Nutzung ist eine finale rechtliche Pruefung der ausgewaehlten Feeds notwendig.