
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 ofgithub.com/dadoonet/hugo-theme-devrel; the documentation explicitly says not to settheme = ["devrel", "dream"]and not to vendor or fork Dream. - Talks with conference metadata — talk front matter carries
conferencefields (name, city, country, country_code, url, latitude, longitude, date) plustalk-lang,pdf,youtube,links, andsocial, and lives atcontent/talks/YYYY/YYYY-MM-DD-event/index.md. - Talk templates — recurring topics under
content/talks/templates/slug/index.mdwithlayout: 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.latitudeandconference.longitude, with one global map on/talks/mapand an additional per-year map on/talks/all. - Videos listing —
/talks/videosshows only talks that set ayoutube: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.tomlin Dream's socials format. - Dream coupling — overlays assume Dream's structure: a
mainblock definition,dream-gridand daisyUI classes, and Dream partials such as paginator.html, socials.html, and commentSystemHeads.html, with CSS built throughassets/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,
pdfslide 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
/searchpage. - Content authors: schedule talk announcements ahead of the event by setting
datefor publication andconference.datefor the session, keeping the permalink hidden until the event while the conference link stays visible.
How does hugo-theme-devrel work?
- Run
hugo mod initfor your site, then add a[[module.imports]]entry pointing atgithub.com/dadoonet/hugo-theme-devrel. - Set
params.author,params.avatar,headerTitle,motto,email, andsiteStartYear, and copy the extra taxonomies (series, cities, languages) into the site config, since Hugo only applies tags and categories by default. - Create content with the archetypes (
hugo new talks/YYYY/YYYY-MM-DD-conference-name/index.md) and, if you want search, addnpx pagefind --site publicto the build script afterhugo --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
--buildFutureflag, because the theme masks the permalink untilconference.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.















