Skip to content

feat: migrate from MkDocs to VitePress#6

Merged
yepzdk merged 1 commit intomainfrom
feature/migrate-to-vitepress
Apr 22, 2026
Merged

feat: migrate from MkDocs to VitePress#6
yepzdk merged 1 commit intomainfrom
feature/migrate-to-vitepress

Conversation

@yepzdk
Copy link
Copy Markdown
Contributor

@yepzdk yepzdk commented Apr 22, 2026

Summary

  • Migrate site from MkDocs + Material theme to VitePress, aligning with the ITK Dev documentation site conventions
  • Add Docker Compose + Nginx + Traefik dev environment with Taskfile
  • Add client-side password gate component — Lønforhandlingssystem project is now password-protected
  • Adopt ITK Dev brand colors (teal/cyan) replacing neutral black/grey palette
  • Move mock HTML files to docs/public/ so VitePress serves them as raw static assets
  • Convert MkDocs admonitions (!!!) to VitePress custom containers (:::)
  • Update GitHub Actions for Node.js + VitePress build, add PR build verification workflow

Password protection

Pages with protected: true in frontmatter show a password prompt. Uses SHA-256 hash comparison + sessionStorage. Pages sharing the same passwordGroup only prompt once per session. Sidebar and outline are hidden while locked.

Note: This is client-side only — content is in the HTML source. Adequate for casual access control, not for sensitive data.

Test plan

  • npm run docs:dev — dev server starts, all pages render
  • Home page shows hero + 3 project cards (🔒 on Lønforhandlingssystem)
  • Click into Climate Nudging — content renders, sidebar works
  • Click mock links — open in new tab, HTML mocks load
  • Navigate to Lønforhandlingssystem — password prompt appears, sidebar/outline hidden
  • Enter password loenforhandling — content unlocks, sidebar/outline reappear
  • Navigate to Estimeringsnotat/Mocks within salary project — no re-prompt
  • Dark/light mode toggle works
  • Search (Ctrl+K) finds content across projects
  • npx vitepress build docs completes without errors

🤖 Generated with Claude Code

Replace MkDocs + Material theme with VitePress, aligning with the ITK Dev
documentation site conventions. This gives us a consistent tech stack,
Docker dev environment, and the ability to password-protect projects.

Key changes:
- VitePress config, theme, and sidebar matching docs.itkdev.dk patterns
- ITK Dev brand colors (teal/cyan) replacing neutral black/grey
- Docker Compose + Nginx + Traefik dev environment with Taskfile
- Client-side password gate (SHA-256 + sessionStorage) for protected projects
- Lønforhandlingssystem project behind password protection
- Mock HTML files moved to docs/public/ for raw static serving
- MkDocs admonitions converted to VitePress custom containers
- GitHub Actions updated for Node.js + VitePress build
- PR build verification workflow added

Co-authored-by: Claude <noreply@anthropic.com>
@yepzdk yepzdk merged commit 8648b19 into main Apr 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant