Marketing and documentation website for Polyphon — built with Hugo, deployed to GitHub Pages.
Prerequisites: Hugo extended, Node.js ≥ 18
hugo server # local dev at http://localhost:1313
hugo --minify # production build → public/
npm ci && npm run pagefind # build full-text search index (run after hugo --minify)There is no CSS build pipeline. themes/polyphon/assets/css/main.css is vanilla CSS — edit it directly.
content/
_index.md # Homepage
blog/ # Release posts (leaf bundles)
docs/
polyphon/ # Main app docs
integrations/obsidian-polyphon/ # Obsidian plugin docs
for-developers/ # JSON-RPC API and MCP server reference
roadmap.md # Sourced from data/roadmap.yaml
about.md
Create blog posts and doc pages as Hugo leaf bundles (a directory containing index.md + any assets), not bare .md files.
| File | Purpose |
|---|---|
hugo.yaml |
Site config; params.downloadVersion tracks the current release |
data/homepage.yaml |
Feature cards on the homepage |
data/roadmap.yaml |
Roadmap items with status, dates, and discussion links |
themes/polyphon/ |
Custom theme (not a submodule — edit in place) |
params.downloadVersion is updated automatically by the update-download-version.yml workflow in the polyphon repo on each release. Do not edit it by hand.
The custom theme lives in themes/polyphon/. Key details:
- OKLCH color space for light/dark mode palettes
- Geist Sans variable font (served from
static/fonts/) - Provider accent colors (Anthropic, OpenAI, Gemini, Ollama, etc.) as CSS custom properties
When a Polyphon release is published, the update-download-version.yml workflow in the polyphon repo automatically:
- Updates
params.downloadVersioninhugo.yaml - Creates a new leaf bundle in
content/blog/polyphon-vX.Y.Z-released/ - Commits, pushes, and triggers a GitHub Pages deploy
Direct site edits (docs, theme, roadmap) are committed here independently.
| Repo | Relationship |
|---|---|
polyphon |
Desktop app — drives version updates and release blog posts |
obsidian-polyphon |
Obsidian plugin — its docs live in content/docs/integrations/obsidian-polyphon/ |
polyphon-js |
JavaScript/TypeScript SDK — API reference in content/docs/for-developers/api.md |
Apache 2.0 — see LICENSE