diff --git a/kjvstudy_org/routes/resources.py b/kjvstudy_org/routes/resources.py index 1fbf623..aa3648c 100644 --- a/kjvstudy_org/routes/resources.py +++ b/kjvstudy_org/routes/resources.py @@ -786,6 +786,7 @@ def tetragrammaton_page(request: Request): { "books": get_books(), "content": TETRAGRAMMATON_CONTENT, + "pdf_available": WEASYPRINT_AVAILABLE, "breadcrumbs": [ {"text": "Home", "url": "/"}, {"text": "Resources", "url": "/resources"}, @@ -795,6 +796,25 @@ def tetragrammaton_page(request: Request): ) +@router.get("/tetragrammaton/pdf") +def tetragrammaton_pdf(): + """PDF export for the Tetragrammaton page.""" + if not WEASYPRINT_AVAILABLE: + raise HTTPException( + status_code=503, + detail="PDF generation is not available. WeasyPrint system libraries are not installed." + ) + + html_content = templates.get_template("tetragrammaton_pdf.html").render(content=TETRAGRAMMATON_CONTENT) + pdf_buffer = render_html_to_pdf(html_content) + + return StreamingResponse( + pdf_buffer, + media_type="application/pdf", + headers={"Content-Disposition": "attachment; filename=tetragrammaton.pdf"} + ) + + # ============================================================================ # MIRACLES OF JESUS # ============================================================================ diff --git a/kjvstudy_org/templates/tetragrammaton.html b/kjvstudy_org/templates/tetragrammaton.html index f91b321..7292aff 100644 --- a/kjvstudy_org/templates/tetragrammaton.html +++ b/kjvstudy_org/templates/tetragrammaton.html @@ -45,6 +45,35 @@ padding-left: 1.5rem; font-size: 0.95rem; } + +.tetragrammaton-actions { + margin: 1rem 0 1.5rem; +} + +.tetragrammaton-download-btn { + display: inline-flex; + align-items: center; + gap: 0.35rem; + padding: 0.35rem 0.75rem; + font-size: 0.85rem; + color: var(--text-secondary, #666); + background: var(--code-bg, #f8f8f8); + border: 1px solid var(--border-color, #ddd); + border-radius: 4px; + text-decoration: none; + transition: all 0.2s; +} + +.tetragrammaton-download-btn:hover { + background: var(--bg-color, #fff); + border-color: var(--link-color); + color: var(--link-color); +} + +.tetragrammaton-download-btn svg { + width: 14px; + height: 14px; +} {% endblock %} @@ -52,6 +81,17 @@
{{ content.subtitle }}
+{% if pdf_available %} + +{% endif %} +