The Ryder Theme

A Hugo theme built with TailwindCSS, Alpine.js, and Font Awesome.

Ryder is intentionally barebones — practical defaults, no bloat. Drop it in and start writing.

  • Dark mode — toggle built in, zero config
  • Card layouts — multiple variants, fully configurable
  • Shortcodes — alerts, maps, recipe schema, media embeds, CTAs, and more
  • Schema markup — structured data for recipes and articles out of the box
  • Privacy-friendly analytics — pluggable Plausible or PostHog integration
README on GitHub

Documentation

About Ryder was my Italian Mastiff / Rhodesian Ridgeback dog. He was a good boy. He passed away in 2018, and this theme is dedicated to him. Ryder is an open source Hugo theme built and maintained by Ben Strawbridge, a project of Arts-Link. Built with TailwindCSS, Alpine.js, and Font Awesome. Licensed MIT. Requires Hugo extended ≥ 0.146.0. View on GitHub

This example page uses the hidden-home layout to put a calm full-screen cover in front of the rest of your site while you work on changes. Add a file named static/images/hidden-home-cover.webp in your site to replace the default background image.

info Template overrides: Use keys like `headerType = '-custom'` or `footerType = '-custom'` to load your own suffixed partials, such as `layouts/partials/header-custom.html`, without editing the theme's base layout. A list of all your content under docs will go here on this paginated section. If you only want to show the docs, just have no content on the _index.md file, or remove it completely if you don’t need to set any front matter variables.

Make your content stand out This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme.

👋 🥶 🤖 Emoji can be enabled in a Hugo project in a number of ways.

Sites built with Ryder, sourced from data/showcase.json. That file does not exist in this exampleSite.

Ryder’s tagged releases, sourced entirely from data/releases.json. This section has no child pages, so _default/list.html’s pagination and card grid would be dead weight — it sets layout = "list-plain" in front matter instead: title, this text, and nothing else.

This section is empty on purpose. There are no pages under it, so the paginator yields nothing and layouts/_default/list.html renders its empty state below instead of an empty grid followed by pagination controls for a single page of nothing.