mirror of
https://github.com/kennethreitz/kjvstudy.org.git
synced 2026-06-05 23:00:16 +00:00
Improve verse page navigation and reading plan verse linking
UI Improvements: 1. Move verse navigation to directly under verse text - Navigation now appears immediately after the verse for better UX - Removed duplicate navigation from bottom of page - Added margin styling for proper spacing 2. Add verse linking to reading plan references - Parse reading references (Book Chapter:Verse format) - Support multiple formats: Chapter:Verse, Chapter, Chapter-Chapter - Handle verse ranges (e.g., Genesis 1:1-5) - Create clickable links to book/chapter/verse pages - Fallback to plain text for unparseable references Both changes improve navigation and make Scripture references more accessible throughout the site. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -119,7 +119,37 @@
|
||||
<div class="day-number">Day {{ day.day }}</div>
|
||||
<div class="day-readings">
|
||||
{% for reading in day.readings %}
|
||||
<span class="reading-ref">{{ reading }}</span>
|
||||
<span class="reading-ref">
|
||||
{% set ref_parts = reading.split(' ') %}
|
||||
{% if ref_parts|length >= 2 %}
|
||||
{% set chapter_verse = ref_parts[-1] %}
|
||||
{% if ':' in chapter_verse %}
|
||||
{# Format: "Book Chapter:Verse" or "Book Chapter:Verse-Verse" #}
|
||||
{% set chapter = chapter_verse.split(':')[0] %}
|
||||
{% set verse_part = chapter_verse.split(':')[1] %}
|
||||
{% if '-' in verse_part %}
|
||||
{% set verse_num = verse_part.split('-')[0] %}
|
||||
{% else %}
|
||||
{% set verse_num = verse_part %}
|
||||
{% endif %}
|
||||
{% set book = ' '.join(ref_parts[:-1]) %}
|
||||
<a href="/book/{{ book }}/chapter/{{ chapter }}/verse/{{ verse_num }}">{{ reading }}</a>
|
||||
{% elif '-' in chapter_verse %}
|
||||
{# Format: "Book Chapter-Chapter" (e.g., "Psalm 1-3") #}
|
||||
{% set first_chapter = chapter_verse.split('-')[0] %}
|
||||
{% set book = ' '.join(ref_parts[:-1]) %}
|
||||
<a href="/book/{{ book }}/chapter/{{ first_chapter }}">{{ reading }}</a>
|
||||
{% else %}
|
||||
{# Format: "Book Chapter" (single chapter) #}
|
||||
{% set chapter = ref_parts[-1] %}
|
||||
{% set book = ' '.join(ref_parts[:-1]) %}
|
||||
<a href="/book/{{ book }}/chapter/{{ chapter }}">{{ reading }}</a>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{# Fallback: just display as text #}
|
||||
{{ reading }}
|
||||
{% endif %}
|
||||
</span>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="day-theme">Theme: {{ day.theme }}</div>
|
||||
|
||||
@@ -99,6 +99,15 @@
|
||||
<section>
|
||||
<p class="verse-text">{{ verse_text | link_names | safe }}</p>
|
||||
|
||||
<nav style="margin: 1.5rem 0;">
|
||||
<p>
|
||||
<a href="/book/{{ book }}">← {{ book }}</a> |
|
||||
<a href="/book/{{ book }}/chapter/{{ chapter }}#verse-{{ verse_num }}">View in Chapter {{ chapter }}</a>
|
||||
{% if verse_num > 1 %} | <a href="/book/{{ book }}/chapter/{{ chapter }}/verse/{{ verse_num - 1 }}">← Verse {{ verse_num - 1 }}</a>{% endif %}
|
||||
{% if verse_num < total_verses %} | <a href="/book/{{ book }}/chapter/{{ chapter }}/verse/{{ verse_num + 1 }}">Verse {{ verse_num + 1 }} →</a>{% endif %}
|
||||
</p>
|
||||
</nav>
|
||||
|
||||
<div class="share-container">
|
||||
<div class="share-label">Share This Verse</div>
|
||||
<div class="share-buttons">
|
||||
@@ -218,13 +227,4 @@
|
||||
</section>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<nav>
|
||||
<p>
|
||||
<a href="/book/{{ book }}">← {{ book }}</a> |
|
||||
<a href="/book/{{ book }}/chapter/{{ chapter }}#verse-{{ verse_num }}">View in Chapter {{ chapter }}</a>
|
||||
{% if verse_num > 1 %} | <a href="/book/{{ book }}/chapter/{{ chapter }}/verse/{{ verse_num - 1 }}">← Verse {{ verse_num - 1 }}</a>{% endif %}
|
||||
{% if verse_num < total_verses %} | <a href="/book/{{ book }}/chapter/{{ chapter }}/verse/{{ verse_num + 1 }}">Verse {{ verse_num + 1 }} →</a>{% endif %}
|
||||
</p>
|
||||
</nav>
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user