feat: case-study template, all pages, routing, sitemap, 404
- case-study components: CsHeader, TldrBox, MiniToc, SectionRenderer, DecisionList, ArchDiagram (data-driven), Gallery, NextPrev, CaseStudyPage - standalone pages: projects index, about, experience, contact (with form), cv hub, colophon — all EN/NO compositions - full route tree: EN root + /no localised slugs (prosjekter, om-meg, erfaring, kontakt, kolofon, hjemmelab) per ROUTING_SPEC - bilingual 404 with trace-fray motif; robots.txt + sitemap.xml from slug map - Portrait atom; reusable sections gain header/eyebrow toggles for standalone pages Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -23,6 +23,18 @@ export const en: Dictionary = {
|
||||
about: 'About',
|
||||
contact: 'Contact',
|
||||
},
|
||||
about: {
|
||||
languages: 'Languages',
|
||||
interests: 'Interests',
|
||||
},
|
||||
cvPage: {
|
||||
heading: 'Download my CV',
|
||||
intro:
|
||||
'For a full overview of my experience, skills and work history, download my CV in either language.',
|
||||
atsNote:
|
||||
'These are plain, ATS-friendly PDFs — single column, real text, standard headings.',
|
||||
updated: 'Updated',
|
||||
},
|
||||
lang: {
|
||||
switchTo: 'Switch to Norwegian',
|
||||
en: 'EN',
|
||||
|
||||
@@ -34,6 +34,18 @@ export const no: Dictionary = {
|
||||
about: 'Om meg',
|
||||
contact: 'Kontakt',
|
||||
},
|
||||
about: {
|
||||
languages: 'Språk',
|
||||
interests: 'Interesser',
|
||||
},
|
||||
cvPage: {
|
||||
heading: 'Last ned CV-en min',
|
||||
intro:
|
||||
'For en full oversikt over erfaring, kompetanse og arbeidshistorikk kan du laste ned CV-en min på ønsket språk.',
|
||||
atsNote:
|
||||
'Dette er enkle, ATS-vennlige PDF-er — én kolonne, ekte tekst og standard overskrifter.',
|
||||
updated: 'Oppdatert',
|
||||
},
|
||||
lang: {
|
||||
switchTo: 'Switch to English',
|
||||
en: 'EN',
|
||||
|
||||
@@ -27,6 +27,16 @@ export interface Dictionary {
|
||||
about: string;
|
||||
contact: string;
|
||||
};
|
||||
about: {
|
||||
languages: string;
|
||||
interests: string;
|
||||
};
|
||||
cvPage: {
|
||||
heading: string;
|
||||
intro: string;
|
||||
atsNote: string;
|
||||
updated: string;
|
||||
};
|
||||
lang: {
|
||||
/** aria-label for the switch group, phrased in the target language. */
|
||||
switchTo: string;
|
||||
|
||||
Reference in New Issue
Block a user