From 0d0503b06d83c8133a667de3bec7f99fa9ec9af7 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Fri, 14 Nov 2025 16:47:47 -0500 Subject: [PATCH] Add past 30 days verse log to verse-of-the-day page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Modified get_daily_verse to accept optional date parameter - Generate past 30 days of verses on verse-of-the-day page - Display past verses in a clean table with links 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- kjvstudy_org/server.py | 23 +++++++++++++++----- kjvstudy_org/templates/verse_of_the_day.html | 20 +++++++++++++++++ 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/kjvstudy_org/server.py b/kjvstudy_org/server.py index c3cb366..520a13a 100644 --- a/kjvstudy_org/server.py +++ b/kjvstudy_org/server.py @@ -2,7 +2,7 @@ import hashlib import json import re import random -from datetime import datetime +from datetime import datetime, timedelta from pathlib import Path from typing import List, Dict, Optional @@ -854,6 +854,15 @@ def verse_of_the_day_page(request: Request): books = list(bible.iter_books()) daily_verse = get_daily_verse() + # Generate past 30 days of verses + past_verses = [] + today = datetime.now() + for i in range(1, 31): # Past 30 days (not including today) + past_date = today - timedelta(days=i) + date_str = past_date.strftime("%Y-%m-%d") + verse = get_daily_verse(date_str) + past_verses.append(verse) + # Build breadcrumbs breadcrumbs = [ {"text": "Home", "url": "/"}, @@ -866,6 +875,7 @@ def verse_of_the_day_page(request: Request): "request": request, "books": books, "daily_verse": daily_verse, + "past_verses": past_verses, "breadcrumbs": breadcrumbs } ) @@ -1521,11 +1531,12 @@ def get_biblical_verses(name): return verse_map.get(name, []) -def get_daily_verse(): - """Get the verse of the day based on current date""" +def get_daily_verse(date_str=None): + """Get the verse of the day based on a specific date (or current date if not provided)""" # Use date as seed for consistent daily verse - today = datetime.now().strftime("%Y-%m-%d") - seed = int(hashlib.md5(today.encode()).hexdigest(), 16) % 1000000 + if date_str is None: + date_str = datetime.now().strftime("%Y-%m-%d") + seed = int(hashlib.md5(date_str.encode()).hexdigest(), 16) % 1000000 # Featured verses for rotation featured_verses = [ @@ -1577,7 +1588,7 @@ def get_daily_verse(): "verse": verse, "text": verse_text, "reference": f"{book} {chapter}:{verse}", - "date": today + "date": date_str } diff --git a/kjvstudy_org/templates/verse_of_the_day.html b/kjvstudy_org/templates/verse_of_the_day.html index ed17b44..26d987a 100644 --- a/kjvstudy_org/templates/verse_of_the_day.html +++ b/kjvstudy_org/templates/verse_of_the_day.html @@ -32,4 +32,24 @@ Full Commentary

+ +
+

Past 30 Days

+ + + + + + + + + {% for verse in past_verses %} + + + + + {% endfor %} + +
DateVerse
{{ verse.date }}{{ verse.reference }}
+
{% endblock %}