Back to templates

Template details

Startpage

Hugo start page theme that builds a customizable link dashboard from a YAML file.

About this template

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.yml in 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 appcache manifest for offline use and quick launch, disabled by default and activated by setting offline = true in the [params] of config.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.toml control 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.

screenshot of Startpage on template0.com