Rebuild Scripture Index as a true cross-content reference index
Publish Container / docker (push) Successful in 15m2s
Publish Container / docker (push) Successful in 15m2s
Previously it just grouped study lessons under each study (essentially another list of lessons) and ignored podcast episodes entirely. Now it parses every reference from studies and episode show notes, merges entries that point at the same verse(s) into one row with links to all sources, and groups rows by book in canonical Bible order. References that don't parse (e.g. whole-chapter refs) fall into an "Other References" section instead of being dropped. Also fixes the reference passed to the index for studies without a bibleBook set — it was falling back to the study's marketing title instead of its slug, producing unparseable references. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016Yvx4rPVy2HWe7ubuk3X3J
This commit is contained in:
1 parent
274adcc093
commit
6ed29ea527
3 files changed
+254
-85
No files matched your search
+7
-8
@@ -12531,19 +12531,18 @@
|
||||
.scripture-study-group { margin-bottom: 4rem; }
|
||||
.scripture-study-title { font-family: var(--brand-font-heading, 'Cormorant Garamond', serif); font-size: 1.6rem; font-weight: 600; color: var(--brand-gold, #c9a84c); margin: 0 0 0; padding-bottom: 0.75rem; border-bottom: 2px solid var(--brand-gold, #c9a84c); }
|
||||
.scripture-entry-table { display: flex; flex-direction: column; }
|
||||
.scripture-entry-row { display: grid; grid-template-columns: 130px 1fr 20px; gap: 0 1.5rem; align-items: start; padding: 1rem 0.75rem; border-bottom: 1px solid var(--brand-border, #2a2518); text-decoration: none; color: inherit; transition: background 0.15s; border-radius: 4px; }
|
||||
.scripture-entry-row:hover { background: rgba(201,168,76,0.06); }
|
||||
.scripture-entry-row { display: grid; grid-template-columns: 130px 1fr; gap: 0 1.5rem; align-items: start; padding: 1rem 0.75rem; border-bottom: 1px solid var(--brand-border, #2a2518); border-radius: 4px; }
|
||||
.scripture-entry-ref { font-family: var(--brand-font-body, 'EB Garamond', serif); font-size: 1rem; font-weight: 700; color: var(--brand-gold, #c9a84c); white-space: nowrap; padding-top: 0.1rem; }
|
||||
.scripture-entry-body { display: flex; flex-direction: column; gap: 0.3rem; min-width: 0; }
|
||||
.scripture-entry-body { display: flex; flex-direction: column; gap: 0.4rem; min-width: 0; }
|
||||
.scripture-entry-verse { font-family: var(--brand-font-body, 'EB Garamond', serif); font-size: 0.925rem; line-height: 1.55; color: var(--brand-warm-white, #f0ead8); font-style: italic; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
|
||||
.scripture-entry-lesson { font-size: 0.75rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--brand-muted, #b0a48c); margin-top: 0.15rem; }
|
||||
.scripture-entry-arrow { color: var(--brand-gold, #c9a84c); opacity: 0.35; font-size: 1rem; padding-top: 0.1rem; transition: opacity 0.15s, transform 0.15s; }
|
||||
.scripture-entry-row:hover .scripture-entry-arrow { opacity: 1; transform: translateX(3px); }
|
||||
.scripture-entry-sources { display: flex; flex-wrap: wrap; gap: 0.5rem; }
|
||||
.scripture-source-chip { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.8rem; color: var(--brand-warm-white, #f0ead8); text-decoration: none; padding: 0.3rem 0.6rem; border: 1px solid var(--brand-border, #2a2518); border-radius: 999px; transition: background 0.15s, border-color 0.15s; }
|
||||
.scripture-source-chip:hover { background: rgba(201,168,76,0.1); border-color: var(--brand-gold, #c9a84c); }
|
||||
.scripture-source-kind { font-size: 0.65rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--brand-gold, #c9a84c); }
|
||||
@media (max-width: 600px) {
|
||||
.scripture-entry-row { grid-template-columns: 1fr 20px; }
|
||||
.scripture-entry-row { grid-template-columns: 1fr; }
|
||||
.scripture-entry-ref { grid-column: 1; font-size: 0.9rem; }
|
||||
.scripture-entry-body { grid-column: 1; }
|
||||
.scripture-entry-arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; }
|
||||
}
|
||||
|
||||
/* ── Admin status messages ───────────────────────────────────────────────── */
|
||||
|
||||
Reference in new issue
Block a user