Compact original language analysis and simplify verse page

- Inline horizontal layout for interlinear words (original + English + Strong's)
- Larger font for Hebrew/Greek text (1.6-1.8rem)
- Remove expand/collapse from interlinear section (always visible)
- Rename 'Analysis' to 'Analysis & Commentary'

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-04 09:28:50 -05:00
parent cc02a4afa5
commit 833018aa6e
+20 -68
View File
@@ -355,65 +355,57 @@ a.crossref-pill:hover {
}
.interlinear-flow {
line-height: 2.8;
line-height: 1.8;
font-size: 1rem;
margin: 1rem 0;
margin: 0.75rem 0;
padding: 0.5rem 0;
display: flex;
flex-wrap: wrap;
gap: 0.15rem;
}
.word-unit {
display: inline-block;
text-align: center;
margin: 0 0.05rem 0.5rem 0.05rem;
vertical-align: top;
display: inline-flex;
align-items: baseline;
gap: 0.25rem;
cursor: pointer;
position: relative;
padding: 0.25rem 0.3rem;
padding: 0.2rem 0.4rem;
border-radius: 4px;
transition: all 0.2s ease;
min-width: auto;
transition: all 0.15s ease;
border: 1px solid transparent;
}
.word-unit:hover {
background: #f8f9fa;
border-color: #e0e0e0;
transform: translateY(-2px);
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.word-unit.expanded {
background: #f0f7f4;
border-color: #4a7c59;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(74,124,89,0.15);
z-index: 101;
}
.word-original {
display: block;
font-size: 2rem;
font-size: 1.6rem;
font-weight: 400;
color: #222;
margin-bottom: 0.35rem;
line-height: 1.4;
line-height: 1.3;
transition: color 0.2s;
letter-spacing: 0.02em;
}
/* Hebrew text (RTL) */
.word-original.hebrew {
direction: rtl;
font-family: "SBL Hebrew", "Ezra SIL", "Times New Roman", "Noto Serif Hebrew", serif;
font-size: 2.2rem;
letter-spacing: 0.04em;
font-size: 1.8rem;
}
/* Greek text */
.word-original.greek {
font-family: "SBL Greek", "Gentium Plus", "Times New Roman", "Noto Serif", serif;
font-size: 2rem;
letter-spacing: 0.03em;
font-size: 1.6rem;
}
.word-unit:hover .word-original {
@@ -421,20 +413,17 @@ a.crossref-pill:hover {
}
.word-english {
display: block;
font-size: 0.85rem;
font-size: 0.8rem;
color: #4a7c59;
font-weight: 600;
font-weight: 500;
line-height: 1.3;
}
.word-strongs {
display: block;
font-size: 0.65rem;
color: #999;
font-family: monospace;
margin-top: 0.2rem;
opacity: 0.7;
opacity: 0.6;
transition: opacity 0.2s;
}
@@ -801,12 +790,8 @@ a.crossref-pill:hover {
{% if interlinear_words %}
<section class="interlinear-container" id="interlinear">
<button class="interlinear-toggle expanded" onclick="toggleInterlinear()" aria-expanded="true" aria-controls="interlinear-content">
<span class="toggle-icon"></span>
<span class="interlinear-heading">Original Language Analysis</span>
<span class="toggle-hint">({{ interlinear_words|length }} words)</span>
</button>
<div class="interlinear-flow" id="interlinear-content">
<h3 class="interlinear-heading">Original Language Analysis</h3>
<div class="interlinear-flow">
{% for word in interlinear_words %}
<div class="word-unit" onclick="toggleWord(this)">
<span class="word-original {% if is_old_testament %}hebrew{% else %}greek{% endif %}">{{ word.original }}</span>
@@ -858,39 +843,6 @@ a.crossref-pill:hover {
</div>
</section>
<script>
function toggleInterlinear() {
var content = document.getElementById('interlinear-content');
var toggle = document.querySelector('.interlinear-toggle');
var icon = toggle.querySelector('.toggle-icon');
var isExpanded = toggle.getAttribute('aria-expanded') === 'true';
if (isExpanded) {
content.hidden = true;
toggle.setAttribute('aria-expanded', 'false');
icon.textContent = '▶';
toggle.classList.remove('expanded');
localStorage.setItem('interlinear-expanded', 'false');
} else {
content.hidden = false;
toggle.setAttribute('aria-expanded', 'true');
icon.textContent = '▼';
toggle.classList.add('expanded');
localStorage.setItem('interlinear-expanded', 'true');
}
}
// Apply user preference on load
(function() {
var pref = localStorage.getItem('interlinear-expanded');
if (pref === 'false') {
var content = document.getElementById('interlinear-content');
var toggle = document.querySelector('.interlinear-toggle');
var icon = toggle.querySelector('.toggle-icon');
content.hidden = true;
toggle.setAttribute('aria-expanded', 'false');
icon.textContent = '▶';
toggle.classList.remove('expanded');
}
})();
function toggleWord(el) {
document.querySelectorAll('.word-unit.expanded').forEach(function(word) {
if (word !== el) word.classList.remove('expanded');
@@ -1028,7 +980,7 @@ a.crossref-pill:hover {
<div id="commentary"></div>
{% if commentary.analysis %}
<div class="commentary-section" id="analysis">
<h2>Analysis</h2>
<h2>Analysis &amp; Commentary</h2>
{{ commentary.analysis|split_paragraphs|safe }}
</div>
{% endif %}