From 2e30b1d6ed20a33369cd7d82be26d07f8e80e393 Mon Sep 17 00:00:00 2001 From: Dave Date: Thu, 2 Oct 2025 18:22:50 +0200 Subject: [PATCH] Added ArticleHeader --- content/meta/index.mdoc | 4 +- .../MarkdocRenderer.module.css | 7 +- .../Article/Header/Cover/Cover.module.css | 26 +++++++ .../Article/Header/Header.module.css | 4 ++ .../Article/Header/Meta/Meta.module.css | 71 +++++++++++++++++++ src/components/Article/Header/Meta/index.tsx | 24 +++---- .../Header/Overline/Overline.module.css | 42 +++++++++++ .../Article/Header/Overline/index.tsx | 24 ++++--- .../Article/Header/Title/Title.module.css | 13 ++++ src/components/Article/Header/Title/index.tsx | 1 - .../Sidenote/Container/Container.module.css | 8 +-- src/styles/mixins/borders.css | 49 +++++++++++++ src/styles/mixins/spacing.css | 12 ++-- 13 files changed, 247 insertions(+), 38 deletions(-) create mode 100644 src/styles/mixins/borders.css diff --git a/content/meta/index.mdoc b/content/meta/index.mdoc index 64aee48..a76dcb7 100644 --- a/content/meta/index.mdoc +++ b/content/meta/index.mdoc @@ -4,8 +4,8 @@ cover: src: /images/covers/meta/index/cover/src.jpeg alt: Pile of Skulls caption: >- - To crush your players, see them driven before you, and to hear their - wailings of their characters + To crush your players, see them driven before you, and to hear the wailings + of their wenches showInHeader: true meta: publicationDate: 2025-10-01T10:30:00.000Z diff --git a/src/components/Article/Content/MarkdocRenderer/MarkdocRenderer.module.css b/src/components/Article/Content/MarkdocRenderer/MarkdocRenderer.module.css index ee76c5c..e73b46e 100644 --- a/src/components/Article/Content/MarkdocRenderer/MarkdocRenderer.module.css +++ b/src/components/Article/Content/MarkdocRenderer/MarkdocRenderer.module.css @@ -10,13 +10,18 @@ @media screen and (--bp-margin) { @mixin px 0; + position: relative; + display: flex; gap: var(--spacing-generous); + max-width: none; + font-size: clamp(1rem, 2.5vw, 1.25rem); + & .content { flex: 1 1 auto; - min-width: 50ch; + min-width: 40ch; max-width: 75ch; } } diff --git a/src/components/Article/Header/Cover/Cover.module.css b/src/components/Article/Header/Cover/Cover.module.css index e69de29..700ec39 100644 --- a/src/components/Article/Header/Cover/Cover.module.css +++ b/src/components/Article/Header/Cover/Cover.module.css @@ -0,0 +1,26 @@ +.cover { + @mixin border-t var(--size-3), solid, var(--color-surface-inverse); +} + +.image { + width: 100%; + height: auto; + max-height: 60vh; + object-fit: cover; +} + +.caption { + padding: var(--spacing-snug); + font-family: var(--font-mono); + color: var(--color-text-inverse); + background-color: var(--color-surface-inverse); +} + +.captionwrapper { + font-size: var(--font-size-responsive); + text-align: center; +} + +.captiontext { + font-size: var(--typo-size-sm); +} \ No newline at end of file diff --git a/src/components/Article/Header/Header.module.css b/src/components/Article/Header/Header.module.css index e69de29..49bd493 100644 --- a/src/components/Article/Header/Header.module.css +++ b/src/components/Article/Header/Header.module.css @@ -0,0 +1,4 @@ +.container { + margin-bottom: var(--spacing-comfortable); + border-bottom: var(--size-4) solid var(--color-text-primary); +} \ No newline at end of file diff --git a/src/components/Article/Header/Meta/Meta.module.css b/src/components/Article/Header/Meta/Meta.module.css index e69de29..8ca0226 100644 --- a/src/components/Article/Header/Meta/Meta.module.css +++ b/src/components/Article/Header/Meta/Meta.module.css @@ -0,0 +1,71 @@ +.meta { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: var(--spacing-comfortable); + font-size: var(--font-size-responsive); +} + +.section { + @mixin py var(--spacing-snug); +} + +.label { + @mixin mb var(--spacing-tight); + @mixin pb var(--spacing-tight); + @mixin border-b var(--size-1), solid, var(--color-surface-inverse); + + display: block; + font-size: var(--typo-size-xs); + text-transform: uppercase; + letter-spacing: var(--typo-spacing-comfortable); +} + +.author { + @mixin anim-txt-characterglitch; + + font-family: var(--font-mono); + font-size: var(--typo-size-sm); + font-weight: var(--typo-weight-bold); + color: var(--color-text-secondary); + text-transform: uppercase; + + &:hover { + color: var(--color-primary); + } +} + +.taglist { + display: flex; + flex-wrap: wrap; + gap: var(--spacing-tight); +} + +.tag { + padding: var(--spacing-tight) var(--spacing-snug); + border: var(--size-1) solid var(--color-palette-charcoal-gray); + + font-family: var(--font-mono), monospace; + font-size: var(--typo-size-sm); + font-weight: var(--typo-weight-bold); + text-transform: uppercase; + letter-spacing: var(--typo-spacing-relaxed); + + background: var(--color-palette-charcoal-gray); + + & .link { + color: var(--color-palette-off-white); + transition: color 0.5s ease-in-out; + + &:hover { + color: var(--color-primary); + } + } +} + +.updatedate { + font-family: var(--font-mono), monospace; + font-size: var(--typo-size-sm); + font-weight: var(--typo-weight-bold); + color: var(--color-text-secondary); + text-transform: uppercase; +} \ No newline at end of file diff --git a/src/components/Article/Header/Meta/index.tsx b/src/components/Article/Header/Meta/index.tsx index 9d723b6..f55318c 100644 --- a/src/components/Article/Header/Meta/index.tsx +++ b/src/components/Article/Header/Meta/index.tsx @@ -31,22 +31,20 @@ export default function Meta({ {tags && tags.length > 0 && (
Tags - -
    - {tags.map((tag) => ( -
  • - - {tag.name} - -
  • - ))} -
-
+
)} {publicationDate && ( -
- Last Update +
+ Last Update