Det her er den levende designguide for gopublic.dk. Den viser tokens og komponenter, præcis som de er defineret i koden lige nu. Når brand.css ændres, ændres siden her automatisk.
01 — Logo
Logo
Wordmark i ét stykke. Bruger fill="currentColor" — skifter farve med tema og kontekst.
På paper
På surface
På royal
På navy / dark
02 — Farver
Farvepaletten
Semantiske tokens med to værdier — én for light, én for dark. Brug toggle'en herunder til at skifte mellem visningerne. Dark mode aktiveres i koden ved at sætte data-theme="dark" på en sektion eller page-wrapper.
Baggrunde & flader
Neutrale flader. Det første du vælger når du komponerer en sektion — derefter trækker du tekst- og accent-farver i forhold til den.
Paper--paper#FAF8F3Primær baggrund / cream
Surface--surface#F2EFE7Sekundær flade
Surface 2--surface-2#E5E0D5Linen — kort, captions
Navy--navy#122140Mørk surface — kort på lys side
Tekst & dyb baggrund
Ink-skalaen — fra primær overskrift til mute meta-tekst. Ink fungerer som tekst i light mode og som baggrund i dark mode.
Ink--ink#0A1628Stat sort — tekst i light, baggrund i dark
Ink soft--ink-soft#2A3447Sekundær tekst, lede
Muted--muted#5A6271Meta, captions, mute tekst
Primær — Royal-familien
Brand-blå. Royal er standard CTA og link-farve. Frost er soft-royal til callouts og baggrunde der skal læne sig op ad det primære.
Royal--royal#1F4FB8Primær CTA / link
Royal hover--royal-hover#143A8ERoyal hover-tilstand
Royal press--royal-press#0F2A6ERoyal pressed
Frost--frost#D8DEEASoft royal — callouts
Frost deep--frost-deep#93AEECSoft royal — accent
Status & accent
Semantiske farver til alerts, badges og status-toner. Hot må kun bruges én gang pr. side — det er vores stærkeste accent.
Samme komponenter, samme tokens — bare flippet. Træk data-theme="dark" på en page-wrapper eller en sektion, og alle child-elementer arver det mørke farvepalet automatisk.
Dark-mode preview
Embedsmandens platform
Samme typografi-hierarki, samme tokens — bare flippet til den mørke side. Brugbart til presentationer, login-flow, eller sider hvor mørk æstetik passer bedre.
TagStatus
i
InfoAlerts respekterer også dark-tokens. Lyse felter bliver til mørkere variation, mørke felter til lysere.
Sådan opter en side ind
// I din page.tsx:
<div data-theme="dark" className="page-dark">
<SiteNav />
{/* alt indenfor bruger dark tokens */}
</div>
Eller scope'et mindre: bare en enkelt sektion på en ellers lys side. data-theme="dark" virker hvor som helst i træet.
02c — Farvekombinationer
Seks baggrundsflader
Når du bygger en sektion, vælger du én af de seks flader herunder. Hver flade definerer hvilke farver pre-heading, overskrift, brødtekst, knapper, tags og hairline skal have. Bland ikke recepter — hver flade er et selvstændigt farveklima.
Paper--paper#FAF8F3
— Eksempel · Kombination
Overskrift på fladen
Brødtekst sat med Inter. Lede og body deler farveniveau. Hairline trækker en stille adskillelse.
TagStatus
Tekniske detaljer
Pre-heading
--royal
Overskrift
--ink
Lede / brødtekst
--ink-soft
Sekundær / meta
--muted
Hairline
--rule-color
Primær knap
--royal · --on-royal
Sekundær knap
ghost · --ink border + tekst
Tags
alle toner virker
Ink--ink#0A1628
— Eksempel · Kombination
Overskrift på fladen
Brødtekst sat med Inter. Lede og body deler farveniveau. Hairline trækker en stille adskillelse.
TagStatus
Tekniske detaljer
Pre-heading
--muted (lyse i dark)
Overskrift
--ink (= paper i dark)
Lede / brødtekst
--ink-soft
Sekundær / meta
--muted
Hairline
--rule-color (13% paper)
Primær knap
--royal · --on-royal
Sekundær knap
ghost · --paper border + tekst
Tags
frost · positive · warning
Royal--royal#1F4FB8
— Eksempel · Kombination
Overskrift på fladen
Brødtekst sat med Inter. Lede og body deler farveniveau. Hairline trækker en stille adskillelse.
TagStatus
Tekniske detaljer
Pre-heading
--warning-soft
Overskrift
--paper
Lede / brødtekst
--paper @ 92%
Sekundær / meta
--paper @ 65%
Hairline
rgba(paper, 0.22)
Primær knap
--ink · --paper
Sekundær knap
ghost · --paper border + tekst
Tags
warning-soft · paper-soft · frost
Frost--frost#D8DEEA
— Eksempel · Kombination
Overskrift på fladen
Brødtekst sat med Inter. Lede og body deler farveniveau. Hairline trækker en stille adskillelse.
TagStatus
Tekniske detaljer
Pre-heading
--royal-press
Overskrift
--ink
Lede / brødtekst
--ink-soft
Sekundær / meta
--muted
Hairline
rgba(ink, 0.14)
Primær knap
--royal · --on-royal
Sekundær knap
ghost · --royal-press border + tekst
Tags
royal · warning · neutral
Warning Soft (sand)--warning-soft#F6E7CE
— Eksempel · Kombination
Overskrift på fladen
Brødtekst sat med Inter. Lede og body deler farveniveau. Hairline trækker en stille adskillelse.
TagStatus
Tekniske detaljer
Pre-heading
--warning
Overskrift
--ink
Lede / brødtekst
--ink-soft
Sekundær / meta
--muted
Hairline
rgba(ink, 0.18)
Primær knap
--ink · --paper
Sekundær knap
ghost · --ink border + tekst
Tags
warning · hot · neutral
Positive Soft--positive-soft#C8E4D6
— Eksempel · Kombination
Overskrift på fladen
Brødtekst sat med Inter. Lede og body deler farveniveau. Hairline trækker en stille adskillelse.
TagStatus
Tekniske detaljer
Pre-heading
--positive
Overskrift
--ink
Lede / brødtekst
--ink-soft
Sekundær / meta
--muted
Hairline
rgba(ink, 0.18)
Primær knap
--positive · --paper
Sekundær knap
ghost · --ink border + tekst
Tags
positive · neutral
Hot Soft--hot-soft#F4D0CD
— Eksempel · Kombination
Overskrift på fladen
Brødtekst sat med Inter. Lede og body deler farveniveau. Hairline trækker en stille adskillelse.
TagStatus
Tekniske detaljer
Pre-heading
--hot
Overskrift
--ink
Lede / brødtekst
--ink-soft
Sekundær / meta
--muted
Hairline
rgba(ink, 0.18)
Primær knap
--hot · --paper
Sekundær knap
ghost · --ink border + tekst
Tags
hot · neutral
03 — Typografi
Family, Inter, JetBrains Mono
Display sættes i Family (Klim). Brødtekst i Inter. Meta-labels og kode i JetBrains Mono.
.t-display96 / 1.06
Embedsmandens platform
.t-h164 / 1.06
Embedsmandens platform
.t-h248 / 1.10
Embedsmandens platform
.t-h332 / 1.20
Embedsmandens platform
.t-h424 / 1.25
Embedsmandens platform
.t-lede21 / 1.50
Vi bygger digital infrastruktur til den offentlige sektor.
.t-body16 / 1.55
Vi bygger digital infrastruktur til den offentlige sektor.
.t-small13 / 1.50
Vi bygger digital infrastruktur til den offentlige sektor.
.t-mono13 / 1.50
console.log('GoPublic')
03b — Typografi-regler
Regler for overskrifter
Hold overskrifter rene. Brug farve, ikke italic, til at fremhæve enkelte ord. Og drop det afsluttende punktum — overskrifter er ikke sætninger.
Bland ikke regular og italic
En overskrift er enten helt regular eller helt italic — aldrig en blanding. Skift af typografi midt i en sætning skaber visuel støj.
Gør
Til staten
Lad være
Til staten
Brug ikke skiftende farver
Overskrifter står i én farve — ink. Brug ikke royal, hot eller andre farver til at fremhæve enkelte ord midt i en overskrift. Lad sproget bære vægten, ikke farven.
Gør
Til staten
Lad være
Til staten
04 — Mellemrum
Spacing scale
Niendetrins skala fra 4 til 96 px. Sektioner bruger typisk space-9 vertikalt.
--space-14px
--space-28px
--space-312px
--space-416px
--space-524px
--space-632px
--space-748px
--space-864px
--space-996px
05 — Hjørner
Radius
Fra hårde til pill-formede.
Small--radius-sm · 4px
Button--radius-btn · 999px
Card--radius-card · 8px
Large--radius-lg · 12px
Pill--radius-pill · 999px
05b — Tags
Labels & pills
Ét system, tre roller: kategori-labels (sm), filter-pills (lg + interactive), og status-badges. Same mono DNA — kombinér størrelse + tone.
Sizes — sm / md / lg
SmallMediumLarge
Tones
NeutralRoyalFrostHotPositiveWarning
Med count (filter-pill mønster)
Bruges på sitet som
tag tag--lg tag--interactive · filter-pills i Kundeoversigt
tag tag--sm tag--frost / tag--hot · event-type på /events
tag tag--sm tag--royal · status-badges (fx Beta)
06 — Knapper
Buttons
Fire varianter, tre størrelser. Primary er den eneste der må være på en side ad gangen — sekundære understøtter.
Med ikon
Ikon kan stå før eller efter teksten. Brug Font Awesome Sharp. Højrestillede pile signalerer fremad-bevægelse (læs mere, næste trin); venstre-pile bruges til tilbage-navigation. Andre ikoner (kalender, download, mail) står typisk før teksten.
06b — Kort
Kort med billede
Når et kort bærer et billede, skal billedet altid gå edge-to-edge i toppen. Resten af indholdet — eyebrow, overskrift, body, CTA — lever i en padded __inner wrapper. Bland aldrig padded-billede og full-bleed-billede i samme komponent-familie.
Billede · edge-to-edge
Inner · padded— No. 01 · Eksempel
Korttitel
Kort beskrivelse. Body, lede eller hvad kortet bærer.
Anatomi
Billede
Full-bleed øverst. aspect-ratio 16/9 eller 16/10. Klippes af kortets border-radius.
Inner
Padding 24–32px. Indeholder al tekst og CTA. Får flex: 1 så højde fyldes ud.
Yderkort
overflow: hidden + border-radius så billedet klippes pænt til de runde hjørner.
CTA
Cirkulær pil, bottom-right via margin-top: auto + align-self: flex-end. Aligner på tværs af kort i grid.
Reference-implementationer: SegmentsSection.tsx (forsiden) og start-her/page.tsx.
07 — Alerts
Beskeder
Fire toner — information, advarsel, positiv, fejl.
i
InformationVi sidder klar mandag til fredag mellem 9 og 16.
!
AdvarselHusk at tilføje alt-tekst til billedet før udgivelse.
✓
GemtDine ændringer er gemt og publiceret.
×
FejlSagen kunne ikke sendes — prøv igen om et øjeblik.
08 — Callout
Callouts
Til redaktionelle fremhævninger i et flow.
God praksis. Brug callouts sparsomt — én pr. afsnit, max to pr. side. Når alt fremhæves, fremhæves intet.
09 — Stemme
Sådan lyder vi
GoPublic er rolig, konkret og diskret dansk. Vi lover ikke; vi dokumenterer. Vi overrasker ikke; vi leverer det, der er aftalt. Stemmereglerne er korte, fordi de bør være indlysende efter at have læst en hvilken som helst anden GoPublic-side.
Konkret
Regel 01
“350 organisationer”, ikke “mange kunder”. “Siden 2003”, ikke “i mange år”. Stemmen skaber tillid gennem tal, datoer og navne — aldrig gennem tillægsord.
Rolig
Regel 02
Ingen udråbstegn. Ingen “fantastisk”, “bedste”, “revolutionerende”. En overskrift skal kunne forsvares i et udbudsdokument og citeres i en pressemeddelelse samtidig.
Dansk
Regel 03
Den danske version er kilden. Engelsk er en oversættelse, ikke en parallel stemme. Undgå SaaS-engelske vendinger på begge sprog.
Stemmen i praksis
Gør / gør ikke
Gør
Et CMS bygget til den danske offentlige sektor.
350 organisationer publicerer på GoPublic hver dag.
Vi har gjort det her siden 2003.
WCAG 2.2 AA er udgangspunktet, ikke et tilvalg.
Gør ikke
Det næste generations CMS, gentænkt.
Hundredvis af glade kunder elsker os!
Vi har lavet det her i mange år.
Tilgængelighed først, AI-drevet, fremtidssikret.
10 — Applikationer
UI uden for websitet
GoPublic er mere end websitet. Roadmap, GoPublic Brain (CRM) og Theme Creator er arbejdsværktøjer med deres egne komponenter — men de skal være umiskendeligt GoPublic. Paletten, ikonerne og stemmen følger med. Typografien gør ikke: i applikationer er Inter den eneste skrift.
Kun Inter
Regel 01
Display-fonten (Family/Newsreader) er reserveret til redaktionelle flader: websitet og keynotes. I applikationer sættes alt — overskrifter, brødtekst, tal og labels — i Inter. Hierarki skabes med vægt og størrelse, aldrig med skift af typeface. Eneste undtagelse: JetBrains Mono til kode og tekniske værdier.
Paletten er kontrakten
Regel 02
Alle farver læses fra brand-tokens — ingen egne hex-værdier, ingen nye grånuancer. Paper og Ink er fladerne, Royal er primær handling, og statusfarverne bruges til tilstande (positiv, advarsel, fejl) — ikke til pynt. Når tokens er kilden, følger dark mode med gratis.
Font Awesome Sharp
Regel 03
Samme ikonkit som websitet: Font Awesome Sharp — light som standardvægt, solid til aktive og udfyldte tilstande. Ikonet er altid aria-hidden; teksten bærer betydningen. Ingen andre ikon-biblioteker, ingen emoji som ikoner.
Overskrifter uden display-font
Family signalerer redaktionelt indhold — i et værktøj er den støj. App-overskrifter sættes i Inter; differencen ligger i vægt og størrelse, ikke i typeface.
Gør
Opret nyt roadmap
Lad være
Opret nyt roadmap
Tjekliste til app-teams
Gør / gør ikke
Gør
Læs farver, radius og spacing fra brand-tokens.
Sæt al tekst i Inter — vægt og størrelse skaber hierarkiet.
Brug Font Awesome Sharp med tekstlabel ved siden af.
Genbrug tag-, knap- og alert-mønstrene hvor de giver mening.
Gør ikke
Family eller Newsreader i applikations-UI.
Egne hex-værdier eller grånuancer udenom paletten.
Andre ikon-biblioteker — eller emoji som ikoner.
Nye radius- eller spacing-værdier.
i
Tokens er kontrakten.Applikationer behøver ikke at genbruge websitets komponenter én til én — men farver, radius, spacing og ikoner skal læses fra de samme tokens. Så følger dark mode og fremtidige brandjusteringer med uden ekstra arbejde.