Files
kjvstudy.org/kjvstudy_org/templates/study_guides.html
T
kennethreitz fb932671b2 Add comprehensive keyboard navigation across entire site
- Add global navigation shortcuts: b (books), s (search), r (resources),
  t (topics), p (plans), f (family tree), c (concordance), v (verse of day),
  g (verse lookup), backtick (toggle sidebar)
- Replace keyboard help alert with styled HTML modal (? key)
- Add arrow/vim-style navigation to all major pages:
  - Topics, topic detail, reading plans, reading plan detail
  - Study guides, parables, search results, resources
  - Family tree pages (main, generation, person)
  - Strong's concordance index pages
  - Biblical timeline, interlinear landing
- Fix click-to-navigate on books and book pages (remove double-click requirement)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:46:41 -05:00

83 lines
3.1 KiB
HTML

{% extends "base.html" %}
{% block title %}Bible Study Guides - KJV Bible{% endblock %}
{% block description %}Structured KJV Bible study guides covering foundational Christian truths, character development, and biblical themes from the King James Version.{% endblock %}
{% block content %}
<h1>Bible Study Guides</h1>
<p class="subtitle"><a href="/">Authorized King James Version</a></p>
<section>
<p><span class="newthought">These study guides</span> offer structured explorations of foundational Christian truths, character development, and biblical themes. Each guide includes relevant Scripture passages and reflections for deeper understanding of God's Word.</p>
</section>
{% for category, guides in study_guides.items() %}
<section>
<h2>{{ category }}</h2>
{% for guide in guides %}
<p>
<strong><a href="/study-guides/{{ guide.slug }}">{{ guide.title }}</a></strong><label for="sn-{{ guide.slug }}" class="margin-toggle sidenote-number"></label>
<input type="checkbox" id="sn-{{ guide.slug }}" class="margin-toggle"/>
<span class="sidenote">
<strong>Key Verses:</strong><br/>
{% for verse_ref in guide.verse_refs[:5] %}
<a href="{{ verse_ref.url }}">{{ verse_ref.text }}</a>{% if not loop.last %}, {% endif %}
{% endfor %}
{% if guide.verse_refs|length > 5 %}
<br/><em>+{{ guide.verse_refs|length - 5 }} more</em>
{% endif %}
</span>
— {{ guide.description }}
</p>
{% endfor %}
</section>
{% endfor %}
<nav>
<p><a href="/">← Home</a></p>
</nav>
<script>
(function() {
const links = Array.from(document.querySelectorAll('section p strong a[href^="/study-guides/"]'));
if (links.length === 0) return;
let selectedIndex = -1;
function selectLink(index) {
if (selectedIndex >= 0 && selectedIndex < links.length) {
links[selectedIndex].style.outline = '';
links[selectedIndex].style.outlineOffset = '';
}
selectedIndex = Math.max(0, Math.min(index, links.length - 1));
links[selectedIndex].style.outline = '2px solid #4a7c59';
links[selectedIndex].style.outlineOffset = '2px';
links[selectedIndex].scrollIntoView({ behavior: 'smooth', block: 'center' });
}
document.addEventListener('keydown', function(e) {
if (e.target.tagName === 'INPUT' || e.target.tagName === 'TEXTAREA') return;
if (e.key === 'ArrowDown' || e.key === 'j') {
e.preventDefault();
selectLink(selectedIndex < 0 ? 0 : selectedIndex + 1);
} else if (e.key === 'ArrowUp' || e.key === 'k') {
e.preventDefault();
if (selectedIndex <= 0) selectLink(0);
else selectLink(selectedIndex - 1);
} else if (e.key === 'ArrowLeft' || e.key === 'h') {
e.preventDefault();
history.back();
} else if (e.key === 'Enter' && selectedIndex >= 0) {
e.preventDefault();
window.location.href = links[selectedIndex].href;
}
});
})();
</script>
{% endblock %}