From fcb38e593c06a39af0191c5c8b90a7ddda912dfa Mon Sep 17 00:00:00 2001 From: mi Date: Sat, 15 Nov 2025 14:37:04 +1000 Subject: [PATCH] :wrench: toggle newsletter --- CLAUDE.md | 2 ++ README.md | 1 + app.py | 5 +++-- comics_data.py | 3 +++ templates/base.html | 2 ++ 5 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index e6fe659..5cb136c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -61,6 +61,7 @@ Global configuration in `comics_data.py`: - `USE_COMIC_NAV_ICONS`: Set to True to use icon images for comic navigation buttons instead of text (requires icons in `static/images/icons/`) - `USE_HEADER_NAV_ICONS`: Set to True to display icons next to main header navigation text (uses alert.png, archive.png, info.png) - `USE_FOOTER_SOCIAL_ICONS`: Set to True to use icons instead of text for footer social links (uses instagram.png, youtube.png, mail.png, alert.png) +- `NEWSLETTER_ENABLED`: Set to True to show newsletter section in footer - `SOCIAL_INSTAGRAM`: Instagram URL (set to None to hide) - `SOCIAL_YOUTUBE`: YouTube URL (set to None to hide) - `SOCIAL_EMAIL`: Email mailto link (set to None to hide) @@ -121,6 +122,7 @@ Global context variables injected into all templates: - `use_comic_nav_icons`: Boolean for comic navigation icons from `comics_data.py` - `use_header_nav_icons`: Boolean for main header navigation icons from `comics_data.py` - `use_footer_social_icons`: Boolean for footer social link icons from `comics_data.py` +- `newsletter_enabled`: Boolean to show/hide newsletter section from `comics_data.py` - `social_instagram`: Instagram URL from `comics_data.py` - `social_youtube`: YouTube URL from `comics_data.py` - `social_email`: Email link from `comics_data.py` diff --git a/README.md b/README.md index 9788c7d..95fd62e 100644 --- a/README.md +++ b/README.md @@ -345,6 +345,7 @@ ARCHIVE_FULL_WIDTH = True # Full-width archive with 4 columns USE_COMIC_NAV_ICONS = True # Use icons for comic navigation buttons USE_HEADER_NAV_ICONS = True # Show icons in main header navigation USE_FOOTER_SOCIAL_ICONS = True # Use icons for social links +NEWSLETTER_ENABLED = False # Show newsletter section in footer SOCIAL_INSTAGRAM = None # Instagram URL (or None) SOCIAL_YOUTUBE = None # YouTube URL (or None) SOCIAL_EMAIL = None # Email mailto link (or None) diff --git a/app.py b/app.py index 4f36539..99d585b 100644 --- a/app.py +++ b/app.py @@ -8,8 +8,8 @@ from flask import Flask, render_template, abort, jsonify, request 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, SOCIAL_INSTAGRAM, - SOCIAL_YOUTUBE, SOCIAL_EMAIL, API_SPEC_LINK + USE_COMIC_NAV_ICONS, USE_HEADER_NAV_ICONS, USE_FOOTER_SOCIAL_ICONS, NEWSLETTER_ENABLED, + SOCIAL_INSTAGRAM, SOCIAL_YOUTUBE, SOCIAL_EMAIL, API_SPEC_LINK ) import markdown @@ -38,6 +38,7 @@ def inject_global_settings(): 'use_comic_nav_icons': USE_COMIC_NAV_ICONS, 'use_header_nav_icons': USE_HEADER_NAV_ICONS, 'use_footer_social_icons': USE_FOOTER_SOCIAL_ICONS, + 'newsletter_enabled': NEWSLETTER_ENABLED, 'social_instagram': SOCIAL_INSTAGRAM, 'social_youtube': SOCIAL_YOUTUBE, 'social_email': SOCIAL_EMAIL, diff --git a/comics_data.py b/comics_data.py index 538c071..6f95fda 100644 --- a/comics_data.py +++ b/comics_data.py @@ -73,6 +73,9 @@ USE_HEADER_NAV_ICONS = True # Uses instagram.png, youtube.png, and mail.png from static/images/icons/ USE_FOOTER_SOCIAL_ICONS = True +# Global setting: Set to True to show newsletter section in footer +NEWSLETTER_ENABLED = False + # Social media links - set to None to hide the link SOCIAL_INSTAGRAM = None # e.g., 'https://instagram.com/yourhandle' SOCIAL_YOUTUBE = None # e.g., 'https://youtube.com/@yourchannel' diff --git a/templates/base.html b/templates/base.html index 215487f..9d4e367 100644 --- a/templates/base.html +++ b/templates/base.html @@ -132,6 +132,7 @@ + {% if newsletter_enabled %} + {% endif %} {% if banner_image and not compact_footer %}