Startpage is a Hugo theme that renders a browser start page or new-tab dashboard from a simple YAML links file.
What is the Startpage Hugo theme?
Startpage is a Hugo theme that builds a static start page from a YAML file. You define cards, each with a title, a color, and sections of links, and the theme generates an HTML page that groups them into a dashboard. It runs on the Hugo static site generator and outputs a deployable set of static files. The theme is hosted on GitHub at tnwhitwell/hugo-startpage-theme and is currently listed on the Hugo themes site.
Key Features
- YAML-driven link listing — Add, remove, or reorganize links by editing
data/links.ymlin your Hugo site root; no HTML editing required. - Card-based layout — Each card has a name and a colour chosen from valid Material Design Lite (MDL) color names (e.g.,
blue), and contains multiple sections of links. - Offline appcache support — The theme ships with an
appcachemanifest for offline use and quick launch, disabled by default and activated by settingoffline = truein the[params]ofconfig.toml. - Static output — Everything compiles to plain HTML/CSS/JS via
hugo, so the startpage loads quickly and can be hosted anywhere static files are served. - Simple configuration — The only required input is the YAML data file; site parameters in
config.tomlcontrol optional behavior like offline mode. - Demo and source — A live demo is available on GitHub Pages and the Hugo themes site; source is on GitHub with a star count of 20.
Who is it for?
- Hugo users who want a custom start page without hand-coding HTML, using the theme's YAML data-driven approach.
- Developers and IT professionals who want a fast, grouped collection of links to internal tools, documentation, or news sites for their browser home or new-tab page.
- Privacy-minded users who want a self-hosted, offline-capable link dashboard that doesn't rely on third-party start page services.
How does the Startpage theme work?
After installing the theme, you create a data/links.yml file in your site directory with the card/section/link structure shown in the README. Build with hugo to generate the page. To enable offline caching, set offline = true in config.toml, then update the generated public/startpage.appcache version string after each build (for example, with a git rev-parse snippet) so browsers re-fetch it.
FAQ
How do I add links to the startpage?
Edit data/links.yml and follow the example format: at the top level list cards, each with a name, colour, and sections, and each section with a list of links that have a title and url. Rebuild your site with hugo and the changes appear.
How do I enable offline mode?
Add [params] offline = true to your site’s config.toml and rebuild. The theme will then include an appcache manifest. Remember to bump the version string in the generated startpage.appcache after each build (e.g., with a git rev-parse command) so browsers recache.
What if my site is cached before I’m ready?
The README lists three remedies: modify the version string or comment in the generated startpage.appcache, build with offline = false and refresh, or clear your browser’s application cache using instructions from Andy Gup’s article.
Is the theme free?
The theme is open source and freely available on GitHub; there is no paid tier or license fee mentioned.
Does the theme work with any Hugo site?
It’s a standalone start page theme, so install it as your Hugo theme and provide the data/links.yml. It doesn’t require a specific Hugo version; no additional modules or build tools are listed.








