fix: wiki index no longer bumps right; harden Harmony Inter/Poppins fonts

#30 — namespace index / section listing pages had their heading, lead, and
page list pushed into a narrow centered column with a big left gutter. The
listing card reuses the .wiki-article-prose class, so the article-body reading
treatment leaked onto it: the wiki plugin caps prose children at
--wiki-prose-measure (54rem) and the theme margin-inline:autos them. Opt the
.wiki-namespace-index card out of that measure/centering so the listing runs
full-width and left-aligned. Verified with a before/after render of the real
section markup against the compiled CSS.

Inter 404 (sow-nodebb#13) — Harmony emits Inter/Poppins @font-face at our asset
path and points its sans/secondary font vars at them, but we ship Jost + Cinzel
and declare no @fontsource/inter|poppins dep, so those URLs 404 in production
(they only resolve in dev via npm hoisting). Pin the Harmony rules that read
those vars directly (.ff-sans, .ff-secondary, breadcrumb divider) to our fonts
so nothing can request Inter/Poppins, and drop the two dead staticDirs. The live
404 clears once the nodebb image is rebuilt from current theme main.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-18 09:43:08 +02:00
co-authored by Claude Opus 4.8
parent d794f4fb87
commit 80ad68c640
3 changed files with 43 additions and 2 deletions
+28
View File
@@ -125,3 +125,31 @@
background: rgba(194, 163, 90, 0.32);
color: #fff4dd;
}
/* Harmony base-theme font correction.
Harmony generates @font-face for Inter/Poppins at our asset path and points
$font-family-sans-serif -> "Inter" and $font-family-secondary -> "Poppins"
in its own overrides.scss. We ship Jost + Cinzel, not those families, and do
not declare @fontsource/inter|poppins as deps -- so any element that resolves
to Inter/Poppins 404s in production on /assets/plugins/nodebb-theme-westgate/
inter/... (it only happens to resolve in dev via npm hoisting). Our BS-variable
override already keeps the current cascade on Jost, but that hinges on subtle
import order; pin the handful of Harmony rules that read those SCSS variables
directly (.ff-sans, .ff-secondary, the breadcrumb divider) to our own fonts so
nothing can request Inter/Poppins even if a Harmony bump flips the order. The
now-pointless inter/poppins staticDirs are removed from plugin.json alongside. */
.ff-sans {
font-family: var(--wg-font-ui) !important;
}
.ff-secondary {
font-family: var(--wg-font-display);
}
.breadcrumb .breadcrumb-item {
font-family: var(--wg-font-display);
}
.breadcrumb .breadcrumb-item::before {
font-family: var(--wg-font-ui);
}
+15
View File
@@ -232,6 +232,21 @@
text-align: justify;
}
/* The namespace index / section listing card reuses .wiki-article-prose for
its card chrome, but its body is a directory listing, not reading prose.
Opt it out of the centered reading measure: the wiki plugin caps prose
children at --wiki-prose-measure and the rule above margin-inline:autos
them, which pins the heading, lead, and page list into a narrow centered
column with a big left gutter (#30). Let the listing run full-width, left. */
.westgate-wiki .wiki-namespace-index :where(p, ul, ol, h1, h2, h3, h4, h5, h6) {
margin-inline: 0;
max-width: none;
}
.westgate-wiki .wiki-namespace-index :where(p, li, blockquote) {
text-align: start;
}
.westgate-wiki .card.wiki-card:hover,
.westgate-wiki .card.wiki-topic-card:hover {
background: var(--wg-velvet-panel-hover) !important;