✨ comic embed
This commit is contained in:
18
app.py
18
app.py
@@ -9,7 +9,7 @@ from comics_data import (
|
||||
COMICS, COMIC_NAME, COPYRIGHT_NAME, SITE_URL, FULL_WIDTH_DEFAULT, PLAIN_DEFAULT, LOGO_IMAGE, LOGO_MODE,
|
||||
HEADER_IMAGE, FOOTER_IMAGE, BANNER_IMAGE, COMPACT_FOOTER, ARCHIVE_FULL_WIDTH, SECTIONS_ENABLED,
|
||||
USE_COMIC_NAV_ICONS, USE_HEADER_NAV_ICONS, USE_FOOTER_SOCIAL_ICONS, NEWSLETTER_ENABLED,
|
||||
SOCIAL_INSTAGRAM, SOCIAL_YOUTUBE, SOCIAL_EMAIL, API_SPEC_LINK
|
||||
SOCIAL_INSTAGRAM, SOCIAL_YOUTUBE, SOCIAL_EMAIL, API_SPEC_LINK, EMBED_ENABLED
|
||||
)
|
||||
import markdown
|
||||
|
||||
@@ -49,7 +49,8 @@ def inject_global_settings():
|
||||
'social_instagram': SOCIAL_INSTAGRAM,
|
||||
'social_youtube': SOCIAL_YOUTUBE,
|
||||
'social_email': SOCIAL_EMAIL,
|
||||
'api_spec_link': API_SPEC_LINK
|
||||
'api_spec_link': API_SPEC_LINK,
|
||||
'embed_enabled': EMBED_ENABLED
|
||||
}
|
||||
|
||||
|
||||
@@ -168,6 +169,19 @@ def comic(comic_id):
|
||||
comic=comic, total_comics=len(COMICS))
|
||||
|
||||
|
||||
@app.route('/embed/<int:comic_id>')
|
||||
def embed(comic_id):
|
||||
"""Embeddable comic view - minimal layout for iframes"""
|
||||
if not EMBED_ENABLED:
|
||||
abort(404)
|
||||
comic = get_comic_by_number(comic_id)
|
||||
if not comic:
|
||||
abort(404)
|
||||
# Use comic title if present, otherwise use #X format
|
||||
page_title = comic.get('title', f"#{comic_id}")
|
||||
return render_template('embed.html', title=page_title, comic=comic)
|
||||
|
||||
|
||||
def group_comics_by_section(comics_list):
|
||||
"""Group comics by section. Returns list of (section_title, comics) tuples"""
|
||||
if not SECTIONS_ENABLED:
|
||||
|
||||
Reference in New Issue
Block a user