Design system
De bouwstenen van deze site, opgebouwd volgens atomic design: kleine onderdelen (atoms) vormen samen grotere (molecules), die samen weer complete delen van de pagina vormen (organisms). Elk onderdeel staat als include in _includes/ en wordt hier precies zo getoond als op de site.
Fundamenten
Afgestemd op DamseZaken
DamseZaken is de dorpssite van dezelfde organisatie. Om eenheid te krijgen leunt deze site op de maatvoering en opbouw van DamseZaken, maar houdt eigen lettertype en kleuren (uit het logo van het dorpshuis). Analyse van damsezaken.nu (WordPress, Astra + Elementor), oktober 2026:
| Aspect | DamseZaken | Wat wij doen |
|---|---|---|
| Containerbreedte | 1260px (Elementor), ca. 1240px zichtbaar | --container-max: 1240px voor header, hero en footer |
| Leesbreedte | Hoofdkolom ca. 715px naast een zijbalk | --text-max: 720px voor lopende tekst |
| Zijmarge mobiel | ca. 25px | --gutter: 1.5rem (24px) |
| Ruimte tussen elementen | --widgets-spacing: 20px |
--space-2: 1.25rem (20px) |
| Ruimte tussen beeldblokken | ca. 30px | --space-3: 1.875rem (30px) |
| Ruimte in containers | Astra: 3em |
--space-4: 3rem tussen secties |
| Lijsten | Regels met 1px lijn ertussen, 10px padding | .board met lijnen, --space-1: 0.625rem (10px) |
| Regelafstand tekst | 1.6 | --line-height: 1.6 |
| Hoeken | Beelden recht, knoppen 2–3px | --radius-image: 0, --radius: 3px |
| Beeld met titel | Witte vette titel linksonder in de foto | Hero met titel linksonder (+ eigen duotoon en kantelen) |
| Menu | Compacte items, actieve pagina als gevuld blokje | Idem, in huisstijlblauw |
| Lettertype | DIN (koppen), PT Serif (tekst) | Niet overgenomen: Overpass, passend bij het logo |
| Kleuren | Blauw #0075BA, grijstinten |
Niet overgenomen: kleuren uit ons logo |
Spacing
--space-1 (10px)--space-2 (20px)--gutter (24px)--space-3 (30px)--space-4 (48px)Toegankelijkheid (WCAG 2.2 AA)
Getest met axe-core op alle pagina’s, desktop en mobiel: 0 overtredingen (oktober 2026). Afspraken:
- Contrast: tekst minstens 4.5:1, grote tekst 3:1. Daarom links
#0062CCen grijze tekst#5C636A; wit nooit op het lichtblauw of geel uit het logo (die zijn voor vlakken en randen). - Tekst op foto’s: altijd op een donkere laag (verloop in de hero, zwart 60% achter bijschriften), zodat het contrast ook op een witte foto klopt.
- Focus: elke focusbare plek krijgt een lichtblauwe rand (
:focus-visible); de eerste tab gaat naar de skiplink “Naar de inhoud”. - Klikdoelen minstens 24×24px (WCAG 2.5.8).
- Links zonder tekst (zoals foto’s) krijgen een
aria-label; decoratieve beelden een legealt. - Beweging (hover, inkleuren) staat uit bij
prefers-reduced-motion.
Social preview
Bij het delen van een link tonen WhatsApp, Mastodon, Facebook, LinkedIn en Signal titel, beschrijving en afbeelding uit de Open Graph-tags in _layouts/default.html:
- Titel:
hero.title, anderstitlevan de pagina. - Beschrijving:
descriptionin de front matter, anders die van de site (_config.yml). - Afbeelding (1200×630):
og_imagein de front matter, andersassets/images/og/default.jpg.
Breedtes
--container-max (1240px) is de buitenmaat van header, hero en footer. Lopende tekst blijft binnen --text-max (720px), zodat regels goed leesbaar blijven.
Atoms
Kleuren
--color-primary--color-secondary--color-success--color-danger--color-warning--color-info--color-light--color-dark--color-whiteTypografie
Het logo gebruikt Endless Journey JNL, een (commerciële) letter gebaseerd op Amerikaanse snelwegborden. Op de site gebruiken we daarom de gratis Overpass (OFL-licentie), die op dezelfde snelwegletter (Highway Gothic) is gebaseerd en dezelfde ronde, open vormen heeft. Het is een variabel font (gewicht 100–900, plus cursief), lokaal geladen uit assets/fonts/ — er gaan geen verzoeken naar Google Fonts of andere externe servers.
| Token | Lettertype | Gebruik |
|---|---|---|
--font-family-heading |
Overpass 800 | koppen, sitenaam |
--font-family |
Overpass 400 (+ cursief, 600, 700) | lopende tekst |
Overpass ExtraBold (800) — Dorpshuis Zwammerdam
Overpass Bold (700) — Dorpshuis Zwammerdam
Overpass SemiBold (600) — Welkom in het dorpshuis
Overpass Regular (400) — Welkom in het dorpshuis
Overpass Italic (400) — Welkom in het dorpshuis
Logo
atoms/logo.html — standaard en met class="logo--small".
Hamburgerknop
atoms/menu-toggle.html — opent en sluit het menu op mobiel. Staat standaard op hidden; assets/js/menu.js maakt hem actief in de header.
Iconen
atoms/icon.html — eenvoudige lijniconen, kleur via color. Parameter: name.
Kantelen
atoms/battlements.html — rand met kantelen in de vier kleuren van het logo, puur CSS (mask).
Zwaan
atoms/swan.html — de zwaan uit het logo als inline SVG; kleur via color.
Lees-verder-link
.more-link — link onder een tekstblok naar een pagina met meer, met een pijl die bij hover meeschuift. In Markdown: [Tekst](/pagina/){: .more-link}.
Download
atoms/download.html — link naar een document, met het bestandstype als label. Parameters: file en title.
Nog invullen
atoms/todo.html — markeert gegevens die nog ontbreken, met optioneel text="...". Alleen zichtbaar lokaal; op de live site (JEKYLL_ENV=production) wordt niets getoond.
Molecules
Brand
molecules/brand.html — logo en sitenaam, linkt naar de homepage.
Menu
molecules/menu.html — items komen uit _data/menu.yml. Horizontaal (standaard) en met class="menu--vertical".
Adres
molecules/address.html — gegevens komen uit organisation in _config.yml.
Bestuur
molecules/board.html — functies en namen uit _data/bestuur.yml. De opmaak .board werkt voor elke gegevenslijst (<dl>): regels met een lijn ertussen, zoals de nieuwslijst op DamseZaken. Op mobiel komen label en waarde onder elkaar.
- Voorzitter
- Frank Somers
- Secretaris
- Jozef Kindt
- Penningmeester
- Kim Zandbergen
- Bestuurslid
- Paul Boot
- Bestuurslid
- Jeroen Eijkelboom
- Bestuurslid
- Mieke Schouten
- Bestuurslid
- Ed Uithol
Agenda
molecules/agenda.html — komende activiteiten uit _data/agenda.yml (ook via ./sync-damsezaken.py), met datumblokje in het Nederlands. Optioneel limit=3. Toont alleen items vanaf de builddatum.
Gebruikerskaartje
molecules/user-card.html — één gebruiker van het dorpshuis (vereniging, kookclub, …): banner met kantelenrand (zonder banner: placeholder in de kleur van de gebruiker met de zwaan), logo dat de banner overlapt (of een monogram), naam, korte beschrijving in je-vorm (“Hier kom je om…”) en knoppen voor website, infopagina en mail. Banner en logo komen uit _data/gebruikers_extra.yml of, voor het logo, van de eigen website. Bij meerdere e-mailadressen klapt de mailknop een lijstje uit. Parameters: club, extra (uit _data/gebruikers_extra.yml) en kleur (green, yellow, blue, red).
Organisms
Header
organisms/header.html — brand + menu. Onder 640px breed klapt het menu in achter de hamburgerknop (maak je venster smal om het te zien).
Hero
organisms/hero.html — paginaheader met de titel in beeld en de kantelenrand uit het logo eronder. Elke pagina krijgt er automatisch een; de titel komt uit hero.title of title in de front matter.
Met foto (hero.image, hero.alt, hero.caption): de foto staat in duotoon (huisstijlblauw) en kleurt in bij hover. Het bijschrift staat klein in de afbeelding.
Zonder foto: blauw vlak met de zwaan uit het logo.
Mastodon-feed
organisms/mastodon-feed.html — berichten van het dorp (organisation.mastodon in _config.yml) en de gebruikers van het dorpshuis (mastodon: in _data/gebruikers_extra.yml), opgehaald door ./sync-damsezaken.py. In de browser vervangt assets/js/mastodon.js die door verse berichten van de API van Mastodon (zonder JavaScript blijven de opgeslagen berichten staan). Elk bericht is een molecules/toot.html: avatar, naam, datum, eventueel “gedeeld van”, foto’s (lokaal opgeslagen) en tekst. Op de homepage staat de feed in een zijkolom (.layout-sidebar): rechts naast de tekst op brede schermen, eronder op smalle schermen.
Gebruikers
organisms/user-grid.html — raster met kaartjes van de gebruikers van het dorpshuis uit _data/gebruikers.yml, op de pagina Activiteiten getoond als “wat kun je er doen”: verenigingen van DamseZaken (via ./sync-damsezaken.py) en gebruikers die daar niet op staan, zoals de kookclub. Wie erin staat, bepaal je in _data/gebruikers_extra.yml. De kleuren rouleren groen, geel, blauw, rood, zoals de rand van het logo.
Kalender
organisms/calendar.html — maandkalender met de agenda uit _data/agenda.yml, van de eerste maand waarin nog iets gebeurt tot het laatste agenda-item. Met JavaScript (assets/js/calendar.js) blader je per maand; zonder JavaScript staan de maanden onder elkaar. Op mobiel krijgen dagen met activiteiten een gevuld bolletje en staat de lijst (molecules/agenda.html) onder het rooster.
November 2026
| ma | di | wo | do | vr | za | zo |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 YouToo Reunie | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 Sinterklaas intocht | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- YouToo Reunie
- Sinterklaas intochtFlyer
December 2026
| ma | di | wo | do | vr | za | zo |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Geen activiteiten meer deze maand.
Januari 2027
| ma | di | wo | do | vr | za | zo |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 Kleine show UDI | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Kleine show UDIFlyer
Februari 2027
| ma | di | wo | do | vr | za | zo |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 You Too | 13 ZAT jeugd | 14 ZAT jeugd |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- You Too
- ZAT jeugdFlyer
- ZAT jeugd
Maart 2027
| ma | di | wo | do | vr | za | zo |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Geen activiteiten meer deze maand.
April 2027
| ma | di | wo | do | vr | za | zo |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Geen activiteiten meer deze maand.
Mei 2027
| ma | di | wo | do | vr | za | zo |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Geen activiteiten meer deze maand.
Juni 2027
| ma | di | wo | do | vr | za | zo |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 Grote show UDI | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- Grote show UDI
Juli 2027
| ma | di | wo | do | vr | za | zo |
|---|---|---|---|---|---|---|
| 1 | 2 You Too | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- You Too
Augustus 2027
| ma | di | wo | do | vr | za | zo |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
Geen activiteiten meer deze maand.
September 2027
| ma | di | wo | do | vr | za | zo |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Geen activiteiten meer deze maand.
Oktober 2027
| ma | di | wo | do | vr | za | zo |
|---|---|---|---|---|---|---|
| 1 You Too | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- You Too
Footer
organisms/footer.html — adres, menu en verwijzing naar DamseZaken, met onderaan het copyright en de maker van de website (apitecture.nl).