Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
DevRel overlay for the Dream Hugo theme that adds talks, talk templates, conference maps, videos, and Pagefind search.

Toph is a lightweight, responsive Hugo theme for biography sites and blogs, built on Bootstrap 5 with multilingual, blog, and SEO support.
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.
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.
[[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.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.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.conference.latitude and conference.longitude, with one global map on /talks/map and an additional per-year map on /talks/all./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.data/socials.toml in Dream's socials format.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.series: grouping and share the same grid and taxonomy system.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./search page.date for publication and conference.date for the session, keeping the permalink hidden until the event while the conference link stays visible.hugo mod init for your site, then add a [[module.imports]] entry pointing at github.com/dadoonet/hugo-theme-devrel.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.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.--buildFuture flag, because the theme masks the permalink until conference.date.params.search.enabled = false.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.
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.
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.
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.
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.