From 5332c79c4571ccc7d8b5fca7a7a80b699445e656 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Thu, 4 Dec 2025 23:06:29 -0500 Subject: [PATCH] Collapse word studies by default, show only word + Greek term MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Word study sidenotes now show just the word and Greek/Hebrew term by default. Click to expand and reveal transliteration and full definition. Adds a subtle ▸ indicator showing the sidenote can be expanded. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- kjvstudy_org/jinja_filters.py | 16 ++++++++++++++-- kjvstudy_org/templates/chapter.html | 26 ++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/kjvstudy_org/jinja_filters.py b/kjvstudy_org/jinja_filters.py index 4799697..f779963 100644 --- a/kjvstudy_org/jinja_filters.py +++ b/kjvstudy_org/jinja_filters.py @@ -147,7 +147,11 @@ def link_verse_references_in_text(text): def inject_word_markers(text, word_studies, verse_num): - """Inject sidenote markers into verse text next to annotated words""" + """Inject sidenote markers into verse text next to annotated words. + + Word studies are collapsed by default, showing only the word and Greek/Hebrew term. + Clicking expands to show transliteration and full definition. + """ if not word_studies: return text @@ -159,7 +163,15 @@ def inject_word_markers(text, word_studies, verse_num): term_html = f'{study["term"]}' else: term_html = study["term"] - marker = f'{word}: {term_html} ({study["translit"]}). {study["note"]}' + # Wrap details (translit + note) in a span that's hidden by default + marker = ( + f'' + f'' + f'' + f'{word}: {term_html}' + f' ({study["translit"]}). {study["note"]}' + f'' + ) pattern = re.compile(r'\b(' + re.escape(word) + r')(?!\'[sS])\b', re.IGNORECASE) text = pattern.sub(r'\1' + marker, text, count=1) diff --git a/kjvstudy_org/templates/chapter.html b/kjvstudy_org/templates/chapter.html index e3d72d7..6a6e8dc 100644 --- a/kjvstudy_org/templates/chapter.html +++ b/kjvstudy_org/templates/chapter.html @@ -101,6 +101,32 @@ margin-bottom: 1rem; } +/* Word studies: collapsed by default, show only word + Greek term */ +.sidenote.word-study { + max-height: none; + overflow: visible; + cursor: pointer; +} + +.sidenote.word-study .word-study-details { + display: none; +} + +.sidenote.word-study.expanded .word-study-details { + display: inline; +} + +/* Show expand indicator for collapsed word studies */ +.sidenote.word-study:not(.expanded)::after { + content: " ▸"; + font-size: 0.8em; + color: var(--text-secondary); +} + +.sidenote.word-study.expanded::after { + content: ""; +} + @media (max-width: 760px) { .sidenote, .marginnote {