29 lines
1.4 KiB
Markdown
29 lines
1.4 KiB
Markdown
# TODO.md
|
|
|
|
Implementation is **complete**. Remaining items are owner/pre-launch actions
|
|
(tracked in PROJECT_STATUS.md "Pre-launch checklist").
|
|
|
|
## Done — all implementation milestones
|
|
- [x] M0 Scaffold (git, pnpm, configs, tracking)
|
|
- [x] M1 Tokens & styles (both themes, reduced-motion)
|
|
- [x] M2 i18n (locales, slug map, dictionaries, helpers)
|
|
- [x] M3 Content (zod schemas, EN/NO data, view models)
|
|
- [x] M4 UI atoms + core layout (Header, Footer, Seo, ThemeScript, SkipLink)
|
|
- [x] M5 Home sections (hero, proof, skills, projects, timeline, about, contact)
|
|
- [x] M6 Case-study + capability templates (diagram, TL;DR, TOC, decisions, gallery)
|
|
- [x] M7 All pages, both locales; 404; robots; sitemap
|
|
- [x] M8 Behaviour modules (theme, nav, observer, lightbox, form) ≤15 kB
|
|
- [x] M9 SEO (meta, hreflang, JSON-LD, build-time OG images)
|
|
- [x] M10 Contact relay (.NET 9) — verified endpoints
|
|
- [x] M11 Tests — 23 unit + 23 e2e (incl. axe a11y) green
|
|
- [x] M12 Docker (site + relay images, compose, nginx) + Gitea CI
|
|
- [x] M13 Verification pass
|
|
|
|
## Pre-launch (owner) — see PROJECT_STATUS.md
|
|
- [ ] Real `/Linkedin` redirect URL in `site/nginx.conf`
|
|
- [ ] Seeded-data screenshots + real headshot (replace `placeholder:` refs)
|
|
- [ ] ATS-safe CV PDFs (replace files at `site/public/cv/`)
|
|
- [ ] Native-Norwegian content review
|
|
- [ ] Legacy WordPress URL inventory → finalise 301/410 map
|
|
- [ ] CI registry secrets + server `.env`
|