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 {