From dda04b194d244fcd11057757350975705e29f42d Mon Sep 17 00:00:00 2001 From: Alexander Hendorf Date: Tue, 26 May 2026 08:29:14 +0000 Subject: [PATCH 1/3] style: add margin-bottom to .content lists so headings don't sit flush after a list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After a ul/ol inside body content, the next heading was rendered with zero gap (lists had no margin-bottom). Match the paragraph rhythm (var(--rythm-unit)) so the visual cadence stays the same after a list as after a paragraph. The card grids (ol.content-list) opt out — they manage their own gap. --- assets/stylesheets/main.css | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/assets/stylesheets/main.css b/assets/stylesheets/main.css index 9688130..482267d 100644 --- a/assets/stylesheets/main.css +++ b/assets/stylesheets/main.css @@ -609,6 +609,9 @@ p { .content ul, .content ol { margin-left: 1em; + /* Match the paragraph rhythm so a heading or paragraph that follows + a list isn't flush against it. */ + margin-bottom: var(--rythm-unit); } .content ul { @@ -623,6 +626,9 @@ p { ol.content-list { list-style-type: none; margin-left: 0; + /* The card grids (board, companies, blog index) provide their own + gap rules — don't add a list margin-bottom on top of that. */ + margin-bottom: 0; } .board-member h3 { @@ -635,6 +641,13 @@ ol.content-list { gap: var(--rythm-unit); } +.current-members, +.current-auditors, +.former-members { + margin-top: calc(var(--rythm-unit) * 3); + margin-bottom: var(--rythm-unit); +} + .board-member, .company-member { display: flex; From 5b31b7f42c09c862ae6022c848df0ff8236eae15 Mon Sep 17 00:00:00 2001 From: Alexander Hendorf Date: Tue, 26 May 2026 09:40:45 +0000 Subject: [PATCH 2/3] style: also add margin-bottom to .content h1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Page titles (events, board, grants, membership, imprint, privacy, coc, documents, community) are h1 elements directly inside .content and had no margin-bottom — the next paragraph rendered flush against the title. Match the same rhythm rule used for h2. --- assets/stylesheets/main.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/assets/stylesheets/main.css b/assets/stylesheets/main.css index 482267d..14d4530 100644 --- a/assets/stylesheets/main.css +++ b/assets/stylesheets/main.css @@ -110,6 +110,7 @@ h4 { blog/event/page bodies don't read as a wall of text. Existing section-scoped overrides (.conf-block h3, .ecosystem-section > h2, …) still win because they're more specific. */ +.content h1, .content h2, .content h3, .content h4, @@ -118,6 +119,7 @@ h4 { margin-bottom: calc(var(--rythm-unit) / 2); } +.content h1, .content h2 { margin-bottom: calc(var(--rythm-unit) * 0.66); } From 78b30b527c8722c80b4f4200a1a9755f01c1a2c7 Mon Sep 17 00:00:00 2001 From: Alexander Hendorf Date: Tue, 26 May 2026 11:47:43 +0200 Subject: [PATCH 3/3] minor: polishes board page --- content/board/contents+en.lr | 3 +-- content/board/contents.lr | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/content/board/contents+en.lr b/content/board/contents+en.lr index 82d9ff8..a1e5fa1 100644 --- a/content/board/contents+en.lr +++ b/content/board/contents+en.lr @@ -2,6 +2,5 @@ title: Board --- body: -The board of the Python Software Verband is elected at the annual general meeting. - +The board of the Python Software Verband is elected at the annual general meeting. The board manages the affairs of the association and represents it externally. diff --git a/content/board/contents.lr b/content/board/contents.lr index 89b8f1f..ff525e3 100644 --- a/content/board/contents.lr +++ b/content/board/contents.lr @@ -2,6 +2,5 @@ title: Vorstand --- body: -Der Vorstand des Python Software Verband wird auf der jährlich stattfindenden Mitgliederversammlung gewählt. - +Der Vorstand des Python Software Verband wird auf der jährlich stattfindenden Mitgliederversammlung gewählt. Der Vorstand leitet die Geschäfte des Verbands und vertritt ihn nach außen.