Infrastruktur: - CT 113 auf pve-hetzner erstellt (Docker, Tailscale) - Forgejo-Repo redax-wp angelegt Code (Sprint 2): - docker-compose.yml: wordpress + db + redax-web - .env.example mit allen Variablen - database.py: articles, feeds, feed_items, prompts, settings - wordpress.py: WP REST API Client (create/update post, media upload, Yoast SEO) - rss_fetcher.py: Feed-Import, Blacklist, Teaser-Modus, KI-Rewrite - app.py: Flask Dashboard, Scheduler (publish/rss/briefing), alle API-Routen - templates: base, login, index (Zwei-Spalten-Editor), feeds, history, prompts, settings, hilfe - README.md + .gitignore Made-with: Cursor
27 lines
1.1 KiB
HTML
27 lines
1.1 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}Redax-WP — History{% endblock %}
|
|
{% block content %}
|
|
<div class="max-w-4xl mx-auto px-6 py-6">
|
|
<h1 class="text-xl font-bold text-white mb-6">📋 Veröffentlichte Artikel</h1>
|
|
<div class="space-y-3">
|
|
{% for art in articles %}
|
|
<div class="card p-4 flex items-center gap-4">
|
|
<span class="text-lg">{% if art.article_type == 'rss' %}📡{% else %}🤖{% endif %}</span>
|
|
<div class="flex-1 min-w-0">
|
|
<div class="text-sm font-semibold text-white truncate">{{ art.title or 'Kein Titel' }}</div>
|
|
<div class="text-xs text-slate-500 mt-0.5">
|
|
{{ art.published_at[:16] if art.published_at else '' }}
|
|
{% if art.category_id %} · Kategorie {{ art.category_id }}{% endif %}
|
|
</div>
|
|
</div>
|
|
{% if art.wp_url %}
|
|
<a href="{{ art.wp_url }}" target="_blank"
|
|
class="text-xs text-blue-400 hover:text-blue-300 shrink-0">🔗 Artikel</a>
|
|
{% endif %}
|
|
</div>
|
|
{% else %}
|
|
<div class="card p-8 text-center text-slate-600">Noch keine veröffentlichten Artikel.</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|