diff --git a/src/dlw/admin.py b/src/dlw/admin.py index 2d7ac80..1a131b6 100644 --- a/src/dlw/admin.py +++ b/src/dlw/admin.py @@ -5,17 +5,27 @@ import time from . import git_ops from .marvin_ops import MarvinClient # Für Uberspace 8 Marvin API +# --- Konfiguration aus Umgebungsvariablen --- +# Diese Variablen werden auf dem Uberspace (z.B. via .bash_profile oder Service-Config) gesetzt. +UBERSPACE_ASTEROID = os.getenv('UBERSPACE_ASTEROID') +UBERSPACE_DOMAIN = os.getenv('UBERSPACE_DOMAIN') +MARVIN_API_KEY = os.getenv('MARVIN_API_KEY') +FLASK_SECRET_KEY = os.getenv('FLASK_SECRET_KEY', 'fallback-fuer-lokale-entwicklung') + app = Flask(__name__) # Konfiguration: Nutzt das 'downloads' Verzeichnis im aktuellen Arbeitsverzeichnis app.config['UPLOAD_FOLDER'] = os.path.join(os.getcwd(), 'downloads') -app.secret_key = 'sehr_geheimer_schluessel' # Erforderlich für Session/Flash-Messages +app.secret_key = FLASK_SECRET_KEY + +# Sicherstellen, dass der Upload-Ordner existiert +os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True) # --- Hilfsfunktionen für die Content-Erzeugung --- def generate_markdown_content(data, article_slug): """Erzeugt den Markdown-Inhalt inklusive YAML Frontmatter für Pelican.""" - # Pfade für die Links im statischen Blog + # Pfade für die Links im statischen Blog (relativ zur Domain) pdf_path = f"/downloads/{article_slug}.pdf" audio_path = f"/downloads/{article_slug}.mp3" @@ -40,6 +50,7 @@ def new_article_form(): """Zeigt das Eingabeformular für die Autorin.""" form_html = """
Angemeldet auf Asteroid: {{ asteroid }}
""" - return form_html # + return render_template_string(form_html, asteroid=UBERSPACE_ASTEROID) @app.route('/preview', methods=['POST']) def preview_article(): @@ -73,7 +84,9 @@ def preview_article(): slug = secure_filename(data['title']).lower().replace('-', '_') markdown_content = generate_markdown_content(data, slug) - # Simulation der Vorschau + # In der Praxis müssten die Dateien hier temporär zwischengespeichert werden, + # um sie im /publish Schritt final zu übernehmen. + preview_html = f"""[Hier würde der gerenderte Artikeltext stehen]