Uitgelichte kaart
Voor het belangrijkste item op een pagina. Krijgt een roze rand.
Bouwstenen voor de site van de Standaard voor Publieke Code. Het design system erft van drie merken: Opensourcewerken.nl voor open samenwerken, Code for NL als thuisbasis en Standard for Public Code voor opensource werken.
De Standaard voor Publieke Code heeft twee kanten: de menselijke kant en de beschrijvende kant. Het design system erft van een merk per kant. Daartussen staat Code for NL, de community waar de Nederlandse vertaling thuis is. Elk token en elk component op deze pagina laat zien waar het vandaan komt.
--osw-*De menselijke kant: samen organiseren, meetups, community of practice.
--cfnl-*De community waar de Nederlandse vertaling thuis is: samenwerken aan een open, eerlijke en inclusieve digitale overheid.
--sfpc-*De beschrijvende kant: hergebruik, leesbaarheid, kwaliteit.
--color-*, --font-*, --space-* …Componenten gebruiken alleen deze merktokens, nooit direct de tokens van een bronmerk.
| Onderwerp | Opensourcewerken.nl | Code for NL | Standard for Public Code | Keuze |
|---|---|---|---|---|
| Lopende tekst | Paars en zwart | Grijs | Altijd zwart | sfpc Zwart, want leesbaarheid gaat voor |
| Koppen | Paars | Rood, Anton, hoofdletters | Zwart | osw Paars, zodat de pagina herkenbaar en warm blijft |
| Links | Paars | Groen | Zwart met een gekleurde onderstreping | sfpc Zwart, met een blauwe streep voor onbezocht en een paarse (osw) streep voor bezocht |
| Lettertype | Rijksoverheid Sans | Anton en Roboto (Google Fonts) | Mulish voor koppen, systeemlettertype voor tekst | sfpc Mulish en systeemlettertype. Rijksoverheid Sans is alleen voor de Rijksoverheid, en wij zijn geen overheid |
| Regellengte | Niet vastgelegd | Niet vastgelegd | Maximaal ongeveer 35em | sfpc --measure |
| Accentkleur | Roze | Oranje, rood, groen | Geen | osw Roze. Oranje cfnl alleen in de afzender |
| Meedoen-kleuren | Geen | Groen, blauw, paars | Geen | cfnl Alleen als stip of rand, want groen en blauw hebben te weinig contrast voor tekst |
| Laag | Bestand |
|---|---|
| Bronmerk 1 | _sass/tokens/_opensourcewerken.scss |
| Bronmerk 2 | _sass/tokens/_codefornl.scss |
| Bronmerk 3 | _sass/tokens/_standardforpubliccode.scss |
| Eigen merk | _sass/tokens/_spc.scss |
| Atomen, moleculen, organismen | _sass/atoms/, _sass/molecules/, _sass/organisms/ |
| Templates | _layouts/ en _sass/templates/ |
| Alles samen | assets/css/design-system.scss |
Paars is de primaire kleur en roze het accent. Zet op roze altijd paarse tekst. Witte tekst op roze heeft te weinig contrast.
Koppen gebruiken Mulish en lopende tekst het systeemlettertype van het apparaat sfpc. Opensourcewerken.nl gebruikt Rijksoverheid Sans, maar dat lettertype is alleen voor de Rijksoverheid. Wij zijn geen overheid, dus we nemen het niet over. De lettergroottes komen van opensourcewerken.nl osw. De maximale regellengte (--measure) komt van de Standard for Public Code sfpc.
Enorm 50/62
Heel groot 42/54
Groot 30/38
Normaal 24/30
Klein 20/28
Tekst groot 18/26: publieke organisaties ontwikkelen en onderhouden samen software en beleid.
Tekst normaal 16/24: de Standaard voor Publieke Code is een set criteria die publieke organisaties ondersteunt.
Tekst klein 14/20, gedempt: metadata, bijschriften en voetnoten.
Hoeken en schaduwen komen van opensourcewerken.nl osw.
--corner-sm 4px--corner-md 6px--corner-lg 8px--corner-xl 20px--shadow-soft-bottom--shadow-soft-centerEen raster van 4px eigen.
| Token | Waarde | Voorbeeld |
|---|---|---|
--space-1 |
4px | |
--space-2 |
8px | |
--space-3 |
12px | |
--space-4 |
16px | |
--space-5 |
24px | |
--space-6 |
32px | |
--space-7 |
48px | |
--space-8 |
64px |
De kleinste bouwstenen. Je kunt ze niet verder opdelen zonder dat ze hun betekenis verliezen.
Een link is zwart en altijd onderstreept. De kleur van de streep laat zien waar een link naartoe gaat: blauw als je de pagina nog niet hebt bezocht, paars als je er al was, grijs voor een plek op dezelfde pagina. Voorbeeld: de Nederlandse vertaling.
Criterium Community call
De drie manieren om mee te doen, zoals op codefor.nl. De kleur zit in de stip, de tekst blijft zwart.
Meedoen Meeleren Meekijken
Moet · Zou moeten · Optioneel
Een molecuul is een kleine groep atomen die samen één taak doen.
Label + invoerveld.
Knop + knop.
Een gekleurd blok met tekst en links.
Een lijst van links, elk met een pijl.
Tekst + Code for NL-woordmerk, in de stijl van het logo op codefor.nl. Te gebruiken als een pagina een afzender nodig heeft.
Een organisme is een herkenbaar deel van een pagina, opgebouwd uit moleculen en atomen.
Bovenaan elke pagina: een paarse balk met een kop, inleiding en een knoppengroep. Op de site staat er een foto achter, met een paarse overloop van links naar rechts zodat de tekst leesbaar blijft. De standaardfoto staat in _config.yml (hero_image) en is per pagina te overschrijven in de front matter.
Doe mee met de community rond de Standaard voor Publieke Code.
Afbeelding + titel + tekst + actie. Gebruik de uitgelichte variant voor het belangrijkste item.
Voor het belangrijkste item op een pagina. Krijgt een roze rand.
Witte kaart met zachte schaduw, hoeken van 8px en een paarse titel.
Met een manier van meedoen cfnl krijgt de kaart een gekleurde bovenrand:
Toets je eigen codebase aan de criteria.
Elke maand ervaringen delen met andere organisaties.
Blijf op de hoogte zonder dat je meteen hoeft mee te doen.
Grote getallen die laten zien hoe groot de community is. De getallen hieronder zijn voorbeelden.
De community “Werken aan Publieke Code” met de twee manieren om mee te doen, onder elkaar in een opvallend roze blok: de meetup en de nieuwsbrief. Op de homepage staat het in de rechterkolom, op mobiel boven de documenten. Gebruik {% include community.html %}. De teksten staan in _data/community.yaml.
Documenten als lijst in plaats van kaarten: titel, taal, beschrijving en een actie. De hele rij is klikbaar. De documenten op de homepage staan in _data/documents.yaml.
Titel + linklijst, zoals het blok “Direct naar” op opensourcewerken.nl. Met link-list--described krijgt elke link een korte uitleg eronder. Zo staat “Meer manieren om mee te doen” op de homepage, onder het community-blok.
De lijst met eisen bij elk criterium van de standaard. Elke eis begint met een eis-woord. De teksten hieronder zijn voorbeelden.
Credits zoals aan het eind van een film: een zwarte achtergrond, één gecentreerde kolom en per sectie een rol met de namen onder elkaar. Logo’s zijn wit, zonder blokje eromheen. Een naam zonder logo is ook goed. De namen komen uit _data/credits.yaml, de HTML uit _includes/credits.html. Gebruik voor een ministerie geen Rijkslogo, want dat is alleen voor de overheid zelf.
Een nieuwe naam toevoegen:
- role: Organisatie meetups
credits:
- name: Naam van de organisatie of persoon
url: https://example.org
logo: /assets/img/credits/naam.png # optioneel: wit logo, transparante achtergrond
Onderaan elke pagina: de aftiteling op zwart.
Een template is een paginaskelet zonder echte inhoud.
| Template | Bestand | Opbouw |
|---|---|---|
default |
_layouts/default.html |
Banner (als hero_title gezet is) → inhoud (.prose) → footer met aftiteling |
Voor een pagina met een rechterkolom gebruik je .sidebar-layout met __aside (eerst in de HTML, op mobiel bovenaan) en __main.
Een nieuwe pagina is een Markdown-bestand met deze front matter:
---
layout: default
title: Paginatitel
hero_title: Kop in de banner # optioneel
hero_text: "Inleiding, met **Markdown**" # optioneel
---
Een pagina is een template met echte inhoud.
| Pagina | Bestand | Template |
|---|---|---|
| Startpagina | index.html |
default, met banner, documentenlijst (_data/documents.yaml) en community-blok in de rechterkolom (_data/community.yaml) |
| Design system | design-system.md |
default, met banner en Markdown-inhoud |