How go-vikunja/website works
Vikunja Homepage is the public website for Vikunja. The main visitor workflow is reading site content and searching documentation or help: the browser search client fetches a generated index, then searches it locally and prepares highlighted results. Other supported capabilities include a changelog RSS feed, newsletter signup with Turnstile verification, and an install wizard. The tree and sampled source establish these backend flows, but do not expose the page templates or install-wizard behavior in detail.
Main entry points: search-index.json.ts Search Index API · pages Public Website · search-client.ts Search Client · newsletter-signup.ts Newsletter Signup API
Components 15
Website
- Public Website
src/pages - Install Wizard
src/scripts/install-wizard.js
Content and Search
- Content Collections
src/content.config.ts - Search Index API
src/pages/api/search-index.json.ts - MDX Text Parser
src/helpers/mdx-to-text.ts - Heading Extractor
src/helpers/extract-headings.ts - Search Interface
src/scripts/search-ui.ts - Search Client
src/scripts/search-client.ts - MiniSearch
- Changelog RSS
src/pages/changelog/rss.xml.js - Changelog Entries
src/content.config.ts
Visitor Services
- Newsletter Signup API
src/pages/api/newsletter-signup.ts - Turnstile Verification
- Newsletter Service
Other components
- Visitor
Connections 14
- Visitor → Public Website: visits
- Public Website → Search Interface: offers search
- Public Website → Install Wizard: loads wizard
- Search Interface → Search Client: uses
- Search Client → Search Index API: fetches index
- Search Index API → Content Collections: reads collections
- Search Index API → MDX Text Parser: converts content
- Search Index API → Heading Extractor: extracts headings
- Search Client → MiniSearch: indexes and searches
- Visitor → Changelog RSS: requests feed
- Changelog RSS → Content Collections: reads collection
- Visitor → Newsletter Signup API: submits signup
- Newsletter Signup API → Turnstile Verification: verifies token
- Newsletter Signup API → Newsletter Service: submits subscription