Back to templates

Template details

hugo-theme-devrel

DevRel overlay for the Dream Hugo theme that adds talks, talk templates, conference maps, videos, and Pagefind search.

About this template

hugo-theme-devrel is a Hugo overlay theme for developer relations sites that layers conference talks, recurring talk templates, a Leaflet talks map, video listings, Pagefind search, and an about page on top of the Dream Hugo theme.

What is hugo-theme-devrel?

hugo-theme-devrel is a DevRel overlay for the Dream Hugo theme, maintained by dadoonet. It is not a standalone theme: it imports Dream as a Hugo module dependency and overlays layouts for posts, talks, talk templates, map, videos, and about, so a site owner imports only the devrel module and Dream is pulled automatically. Its output is a set of generated pages including /talks, /talks/all, /talks/videos, /talks/templates, /talks/map, /search, and /about, all rendered by Hugo from Markdown page bundles and TOML or YAML front matter. Dream itself stays MIT-licensed (Copyright © 2019 Yue Yang), with attribution kept in LICENSE-DREAM and the site footer.

What makes hugo-theme-devrel stand out?

  • Hugo module overlay — installed with a [[module.imports]] path of github.com/dadoonet/hugo-theme-devrel; the documentation explicitly says not to set theme = ["devrel", "dream"] and not to vendor or fork Dream.
  • Talks with conference metadata — talk front matter carries conference fields (name, city, country, country_code, url, latitude, longitude, date) plus talk-lang, pdf, youtube, links, and social, and lives at content/talks/YYYY/YYYY-MM-DD-event/index.md.
  • Talk templates — recurring topics under content/talks/templates/slug/index.md with layout: template, multilingual EN/FR versions with flag and abstract, “Played N times” counts, first/last stats, and Talk versus Raw (CFP paste) views.
  • Talks map — Leaflet maps derived from conference.latitude and conference.longitude, with one global map on /talks/map and an additional per-year map on /talks/all.
  • Videos listing — /talks/videos shows only talks that set a youtube: id, as 16:9 cards with YouTube thumbnails, red year pills, language flags, event names, and a jump link to the video on the talk page.
  • Pagefind search — full-text search using the Pagefind Component UI: a nav loupe opens a centered modal, Ctrl/Cmd+K shortcuts it, filters cover posts, talks, templates, videos, and about, and empty queries sort by date descending while typed queries keep Pagefind relevance.
  • About page — assembled from numbered Markdown sections sorted by filename (10-, 20-, 30-) plus data/socials.toml in Dream's socials format.
  • Dream coupling — overlays assume Dream's structure: a main block definition, dream-grid and daisyUI classes, and Dream partials such as paginator.html, socials.html, and commentSystemHeads.html, with CSS built through assets/css/output.css.

Who should use hugo-theme-devrel?

  • Conference speakers and developer advocates who need a personal site where every session is a page bundle with slides, video, city coordinates, and social embeds.
  • DevRel teams maintaining recurring talks: the template catalog tracks each topic's first and last play date, play count, and chronological conference list.
  • Hugo users already on Dream who want talk, video, map, and search layouts without rebuilding their styling or partials.
  • Writers running a blog plus a speaking archive, since posts support series: grouping and share the same grid and taxonomy system.

What can you do with hugo-theme-devrel?

  • Speakers: publish a session with conference name, city, latitude/longitude, pdf slide path, and YouTube id, then get a year-grouped archive, a map pin, and a video card generated from that single front matter block.
  • Advocates: keep one template per recurring topic and reuse its EN and FR abstract when submitting a CFP, copying the Raw view straight into the submission form.
  • Site owners: run Pagefind over the built output so visitors can filter talk, post, template, video, and about content from the Ctrl/Cmd+K modal or the /search page.
  • Content authors: schedule talk announcements ahead of the event by setting date for publication and conference.date for the session, keeping the permalink hidden until the event while the conference link stays visible.

How does hugo-theme-devrel work?

  1. Run hugo mod init for your site, then add a [[module.imports]] entry pointing at github.com/dadoonet/hugo-theme-devrel.
  2. Set params.author, params.avatar, headerTitle, motto, email, and siteStartYear, and copy the extra taxonomies (series, cities, languages) into the site config, since Hugo only applies tags and categories by default.
  3. Create content with the archetypes (hugo new talks/YYYY/YYYY-MM-DD-conference-name/index.md) and, if you want search, add npx pagefind --site public to the build script after hugo --minify.

Pros and cons

  • Built specifically for speaking archives: talks, templates, maps, and videos are first-class layouts rather than pages you assemble by hand.
  • Upcoming talks do not require the --buildFuture flag, because the theme masks the permalink until conference.date.
  • Search runs locally through Pagefind and can be disabled with params.search.enabled = false.
  • It is not standalone: Dream must be available as a module dependency, and the overlays depend on Dream's partials and daisyUI class names.
  • Extra taxonomies and the Pagefind build step must be configured in your own site repository, not inside the theme.

FAQ

Is hugo-theme-devrel free?

Yes. It is MIT licensed, and it bundles the Dream theme under MIT (Copyright © 2019 Yue Yang); attribution is preserved in the LICENSE-DREAM file and in the site footer.

Is hugo-theme-devrel a standalone Hugo theme?

No. It is a DevRel overlay that imports Dream as a Hugo module dependency and only supplies layouts for posts, talks, talk templates, map, videos, and about. You should not set the theme list to both devrel and dream, and you should not vendor or fork Dream into the repository.

Do I need --buildFuture for upcoming talks?

No. Set date to the announcement day and conference.date to the event day; Hugo generates the page from date and the theme hides the talk permalink until the session, while the conference site link stays visible. The flag is still optional for previewing scheduled posts.

How do I add search to the site?

Pagefind search is enabled by default and shipped through the theme's search page content. Build the site with hugo --minify and then run npx pagefind --site public, or add that step to your npm build script. Disable the UI with params.search.enabled = false.

How do I get series pages for my posts?

Add series to the [taxonomies] block in your site config, because Hugo's built-in defaults cover only tags and categories. Posts then use a series: field to group parts; the overflow nav entry hides itself when no post sets that field.