diff --git a/plugin.json b/plugin.json index d09231c..807500a 100644 --- a/plugin.json +++ b/plugin.json @@ -20,8 +20,6 @@ "../client/account/theme.js": "../nodebb-theme-harmony/public/settings.js" }, "staticDirs": { - "inter": "node_modules/@fontsource/inter/files", - "poppins": "node_modules/@fontsource/poppins/files", "fonts": "public/fonts", "game-icons": "public/game-icons", "images": "public/images" diff --git a/scss/westgate/_tokens.scss b/scss/westgate/_tokens.scss index 37c10ca..cf1deab 100644 --- a/scss/westgate/_tokens.scss +++ b/scss/westgate/_tokens.scss @@ -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); +} diff --git a/scss/westgate/_wiki-prose.scss b/scss/westgate/_wiki-prose.scss index f098f02..954f192 100644 --- a/scss/westgate/_wiki-prose.scss +++ b/scss/westgate/_wiki-prose.scss @@ -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; diff --git a/templates/partials/header/unread-drawer.tpl b/templates/partials/header/unread-drawer.tpl index 54b1b7a..dba6501 100644 --- a/templates/partials/header/unread-drawer.tpl +++ b/templates/partials/header/unread-drawer.tpl @@ -1,6 +1,8 @@ - - - {unreadCount.topic} + + + + {unreadCount.topic} +