Merge branch 'main' of http://127.0.0.1:45849/git/kbenestad/mdcms into development

This commit is contained in:
Claude 2026-05-19 06:58:52 +00:00
commit 51cb68c4f9
No known key found for this signature in database
2 changed files with 20 additions and 10 deletions

View file

@ -17,6 +17,10 @@ Only two branches exist in this repository: **`main`** and **`development`**. No
In practice: check out `development`, do the work, push to `development`, PR `development``main` when ready to release. In practice: check out `development`, do the work, push to `development`, PR `development``main` when ready to release.
## Unreleased changelog
`docs/unreleased.md` is a living document that tracks every fix or feature on `development` that has not yet been merged to `main`. Keep it current: whenever a change lands on `development`, add or update an entry in `unreleased.md` in the same commit (or a follow-up commit to `development`). When a batch of changes is merged to `main` and released, clear the entries that were released and leave the file in place for the next round of work.
## What this project is ## What this project is
MD-CMS is a markdown-based static site system with two distinct parts: MD-CMS is a markdown-based static site system with two distinct parts:

View file

@ -76,7 +76,7 @@ if ('serviceWorker' in navigator) {
--link-visited-colour: #7C3AED; --link-visited-colour: #7C3AED;
--link-decoration: underline; --link-decoration: underline;
--link-hover-decoration: underline; --link-hover-decoration: underline;
--link-hover-weight: 700; --link-hover-weight: normal;
--link-visited-decoration: underline; --link-visited-decoration: underline;
--search-bg: #FFFFFF; --search-bg: #FFFFFF;
--search-border: #E2E8F0; --search-border: #E2E8F0;
@ -113,7 +113,7 @@ if ('serviceWorker' in navigator) {
--link-visited-colour: #A78BFA; --link-visited-colour: #A78BFA;
--link-decoration: underline; --link-decoration: underline;
--link-hover-decoration: underline; --link-hover-decoration: underline;
--link-hover-weight: 700; --link-hover-weight: normal;
--link-visited-decoration: underline; --link-visited-decoration: underline;
--search-bg: #1E293B; --search-bg: #1E293B;
--search-border: #334155; --search-border: #334155;
@ -448,7 +448,7 @@ body {
border: none; border: none;
cursor: pointer; cursor: pointer;
padding: 0.4rem; padding: 0.4rem;
color: var(--font-colour); color: var(--nav-link-colour, var(--font-colour));
z-index: 150; z-index: 150;
} }
.hamburger svg { width: 22px; height: 22px; } .hamburger svg { width: 22px; height: 22px; }
@ -627,17 +627,17 @@ body {
padding: 0.55rem 0.85rem; padding: 0.55rem 0.85rem;
cursor: pointer; cursor: pointer;
font-size: 0.88rem; font-size: 0.88rem;
color: var(--font-colour); color: var(--nav-link-colour, var(--font-colour));
border-bottom: 1px solid var(--divider); border-bottom: 1px solid var(--divider);
transition: background 0.1s; transition: background 0.1s;
} }
.category-option:last-child { border-bottom: none; } .category-option:last-child { border-bottom: none; }
.category-option:hover { background: var(--nav-hover-bg); } .category-option:hover { background: var(--nav-hover-bg); }
.category-option.active { background: var(--nav-active-bg); color: var(--accent); font-weight: 600; } .category-option.active { background: var(--nav-active-bg); color: var(--nav-link-active-colour, var(--accent)); font-weight: 600; }
.category-option .secondary { .category-option .secondary {
display: block; display: block;
font-size: 0.75rem; font-size: 0.75rem;
color: var(--font-colour-muted); color: var(--nav-section-heading-colour, var(--font-colour-muted));
margin-top: 0.15rem; margin-top: 0.15rem;
} }
@ -1094,9 +1094,16 @@ body {
async function maybeLoadCategoryFont(code) { async function maybeLoadCategoryFont(code) {
const cat = categoriesByCode[code]; const cat = categoriesByCode[code];
if (!cat || !cat.font || loadedFonts.has(cat.font)) return; if (!cat || !cat.font) {
showFontLoadingBanner(); document.body.style.fontFamily = '';
return;
}
const family = 'mdcms-cat-' + code; const family = 'mdcms-cat-' + code;
if (loadedFonts.has(cat.font)) {
document.body.style.fontFamily = `"${family}", ${getComputedStyle(document.documentElement).getPropertyValue('--font-body').trim()}`;
return;
}
showFontLoadingBanner();
const css = `@font-face { font-family: "${family}"; src: url("assets/fonts/${cat.font}"); }`; const css = `@font-face { font-family: "${family}"; src: url("assets/fonts/${cat.font}"); }`;
const style = document.createElement('style'); const style = document.createElement('style');
style.textContent = css; style.textContent = css;
@ -1106,8 +1113,7 @@ body {
await face.load(); await face.load();
document.fonts.add(face); document.fonts.add(face);
loadedFonts.add(cat.font); loadedFonts.add(cat.font);
// Apply font to body for this session document.body.style.fontFamily = `"${family}", ${getComputedStyle(document.documentElement).getPropertyValue('--font-body').trim()}`;
document.body.style.fontFamily = `"${family}", ${getComputedStyle(document.body).fontFamily}`;
} catch (e) { } catch (e) {
console.warn('Font load failed:', e); console.warn('Font load failed:', e);
} }