diff --git a/TODO.md b/TODO.md index 91768b3..daa00c1 100644 --- a/TODO.md +++ b/TODO.md @@ -26,3 +26,4 @@ - [x] Auto-show contact on public TFE page when contact_visible is filled (no checkbox needed) - [x] Fix file size limits: align all layers (JS/FilepondHandler/ThesisFileHandler/validate-fragment) — video/audio 5 GB, default 500 MB, PDF 100 MB; fix JS fileValidateSizeFilter gate bug that rejected AV files >1 GB despite 8 GB per-ext cap - [x] Fix: deleting contact groups in apropos form not persisted (no change event after DOM removal, autosave never triggered) +- [x] Improve h1, h2, h3 size difference in base.css heading scale diff --git a/app/public/assets/css/base.css b/app/public/assets/css/base.css index ca18cf2..35eab4a 100644 --- a/app/public/assets/css/base.css +++ b/app/public/assets/css/base.css @@ -63,27 +63,27 @@ main * { /* Global heading scale — used by admin + public pages */ h1 { - font-size: var(--step-4); + font-size: var(--step-5); } h2 { font-size: var(--step-3); } h3 { - font-size: var(--step-2); -} -h4 { font-size: var(--step-1); } -h5 { +h4 { font-size: var(--step-0); } -h6 { +h5 { font-size: var(--step--1); } +h6 { + font-size: var(--step--2); +} :where(h1, h2, h3, h4, h5, h6) { font-family: var(--font-display); font-weight: 400; - margin: 0 0 var(--space-l) 0; + margin: 0 0 var(--space-m) 0; line-height: 1.15; } diff --git a/app/public/assets/css/components/search.css b/app/public/assets/css/components/search.css index 8298ad9..b1962cd 100644 --- a/app/public/assets/css/components/search.css +++ b/app/public/assets/css/components/search.css @@ -50,7 +50,7 @@ form[role="search"]:not(.header-search-form) { #site-search-input { width: 100%; padding: var(--space-2xs) var(--space-s); - padding-left: calc(18px + var(--space-l)); + padding-left: calc(18px + var(--space-m)); border: 1px solid var(--accent-primary); border-radius: var(--radius); background: var(--bg-primary); diff --git a/app/public/assets/css/content-page.css b/app/public/assets/css/content-page.css index bdc161a..a437285 100644 --- a/app/public/assets/css/content-page.css +++ b/app/public/assets/css/content-page.css @@ -82,10 +82,6 @@ margin-bottom: 0; } -.page-content > article :where(h1, h2, h3) { - margin: 1.5em 0 0.5em 0; -} - .page-content > article a { color: inherit; text-decoration: none; diff --git a/app/src/MarkdownHelper.php b/app/src/MarkdownHelper.php index b277e60..0c75249 100644 --- a/app/src/MarkdownHelper.php +++ b/app/src/MarkdownHelper.php @@ -6,7 +6,7 @@ class MarkdownHelper { /** - * Extract h1–h3 headings from raw markdown content as TOC items. + * Extract h1 headings from raw markdown content as TOC items. * * Each heading gets an anchor id matching CommonMark's default slugification * (lowercase, spaces → hyphens, punctuation stripped). @@ -22,7 +22,7 @@ class MarkdownHelper $normalizer = new \League\CommonMark\Normalizer\SlugNormalizer(); foreach ($lines as $line) { - if (preg_match('/^#{1,3}\s+(.+)$/', $line, $m)) { + if (preg_match('/^#\s+(.+)$/', $line, $m)) { $label = trim($m[1]); $id = $normalizer->normalize($label); $items[] = ['label' => $label, 'href' => '#' . $id];