From 3727e8150b3aa31665aefe7b496314d4cf8526a5 Mon Sep 17 00:00:00 2001 From: Daniel Ellison Date: Mon, 27 Jul 2026 14:45:39 -0400 Subject: [PATCH] Take the Tengwar off the texts index Every catalogue entry on the shelf index carried its title a second time in Tengwar, beside the method label. The rendering belongs to the work's own page, where a reader who has opened a text meets it once at full size. On the index it repeated seventeen titles nobody had chosen yet and crowded the column that carries the method. The index entries and the book entry drop the rendering, the title helper returns the two halves it now needs, and the three stylesheet rules that dressed the element go with it. Work pages are untouched. --- scripts/build_site.py | 18 ++++-------------- site/style.css | 22 ---------------------- 2 files changed, 4 insertions(+), 36 deletions(-) diff --git a/scripts/build_site.py b/scripts/build_site.py index faf4bb1f..ae4c8a6f 100644 --- a/scripts/build_site.py +++ b/scripts/build_site.py @@ -5750,14 +5750,8 @@ def split_catalogued_text_title(work): def text_contents_title(work): - """Render one catalogue title in romanized Phi and Tengwar.""" - phi_title, english_title = split_catalogued_text_title(work) - tengwar_title = tengwar.render_line(phi_title) - if tengwar_title is None: - raise ValueError( - f"text catalogue title cannot render in Tengwar: texts/{work['path']}" - ) - return phi_title, english_title, tengwar_title + """Split one catalogue title into its romanized Phi and English halves.""" + return split_catalogued_text_title(work) def text_contents_arrow(): @@ -5808,7 +5802,7 @@ def text_contents_page(news_chapter_count): work_rows = [] for index, work in enumerate(TEXTS, 1): spec = method_specs[work["method"]] - phi_title, english_title, tengwar_title = text_contents_title(work) + phi_title, english_title = text_contents_title(work) href = f"{Path(work['path']).stem}.html" work_rows.append( f'
  • ' @@ -5822,15 +5816,13 @@ def text_contents_page(news_chapter_count): "" '" f"{text_contents_arrow()}" "
  • " ) news_spec = method_specs[NEWS_WORK["method"]] - news_phi, news_english, news_tengwar = text_contents_title(NEWS_WORK) + news_phi, news_english = text_contents_title(NEWS_WORK) chapter_noun = "chapter" if news_chapter_count == 1 else "chapters" book_entry = ( '
    ' @@ -5856,8 +5848,6 @@ def text_contents_page(news_chapter_count): f'{html_module.escape(news_spec["label"])}

    ' f'

    {news_chapter_count:02d} ' f"{chapter_noun} available

    " - f'" "" f"{text_contents_arrow()}" "
    " diff --git a/site/style.css b/site/style.css index 225be0b7..5edf3eb0 100644 --- a/site/style.css +++ b/site/style.css @@ -2282,20 +2282,6 @@ table.primer-ladder { .text-index-entry-original .text-index-entry-method { color: var(--sage); } -.text-index-entry-tengwar { - color: var(--muted); - margin: .65rem 0 0 auto; - max-width: 12rem; - opacity: .68; - width: 100%; -} -.text-index-entry-tengwar .teng-svg { - display: block; - height: 1.65rem !important; - margin-left: auto; - max-width: 100%; - width: auto; -} .text-index-arrow { color: var(--muted); display: flex; @@ -4379,13 +4365,6 @@ table.text-ledger { } .text-index-entry-method, .text-index-book-progress { text-align: left; } - .text-index-entry-tengwar { - flex-basis: 100%; - margin-left: 0; - margin-top: .3rem; - max-width: 12rem; - } - .text-index-entry-tengwar .teng-svg { margin-left: 0; } .text-index-arrow { align-self: center; grid-column: 3; @@ -5141,7 +5120,6 @@ table.text-ledger { grid-template-columns: 2.5em minmax(0, 1fr) 11em; } .text-index-arrow { display: none; } - .text-index-entry-tengwar .teng-svg { height: 1.35em !important; } .text-editorial .text-work-header h1 { font-size: 2.5em; } .text-editorial h2.text-method-heading { font-size: 1.75em; } .text-editorial h3 { break-after: avoid; }