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
+
+
+
+ | Date |
+ Verse |
+
+
+
+ {% for verse in past_verses %}
+
+ | {{ verse.date }} |
+ {{ verse.reference }} |
+
+ {% endfor %}
+
+
+
{% endblock %}