Quick start
From zero to a running community site. Pick your framework once: the docs remember your choice.
1 · Get the theme
Add the theme to your Hugo site as a git submodule (or copy the folder into themes/popular; Hugo Modules users can instead import github.com/Mariatta/hugo-theme-popular, see the README):
hugo new site my-community && cd my-community
git init
git submodule add https://github.com/Mariatta/hugo-theme-popular.git themes/popular
Use the Astro repo as a template, it is a runnable site:
npm create astro@latest -- --template Mariatta/astro-theme-popular my-community
cd my-community && npm install
Point your agent at this page plus the content model and let it drive. The brief it needs to use the theme:
- Scaffold with step 1 above, then start from a demo (step 2), rather than building pages from scratch.
- One config file holds site name, colours, nav, footer, and feature toggles:
hugo.tomlunder[params]for Hugo,src/config.tsfor Astro. See the configuration reference. - Content is Markdown with front matter under
content/(Hugo) orsrc/content/(Astro); the fields are identical across both frameworks. See the content model. - Bulk content like events and speakers should be imported from Sessionize or a spreadsheet with one command, not typed by hand.
- Preview with
hugo server(Hugo) ornpm run dev(Astro); both output a fully static site you can deploy anywhere.
Modifying or contributing to the theme itself is different work: point the agent at the repo’s AGENTS.md first (Hugo · Astro) for repo layout, parity rules, and the known gotchas. It doubles as the fastest human orientation.
2 · Start from an example
The fastest path is to copy one of the four demo sites (each ships as both a Hugo site and an Astro site) and make it yours: three fictional communities plus one personal site. All four are complete example sites, pick whichever vibe is closest.
# starter skeleton (neutral):
cp -r themes/popular/exampleSite/* .
# …or start from a full demo, e.g. the aquarium club:
cp -r themes/popular/demos/rocky-cove-aquarium/* .
hugo server
npm run dev # boots the neutral starter skeleton
# …or activate a full demo first (copies its config + content into src/):
npm run demo:aquarium # or demo:foodie / demo:kdrama / demo:superfan
When you’re ready, edit src/content/ and src/config.ts directly and delete demos/.
3 · Make it yours
Open the config file and change the obvious things, name, logo, colours, links:
Everything lives under [params] in hugo.toml. See the configuration reference.
Everything lives in src/config.ts. See the configuration reference.
Change brand.primary and the theme derives coherent tints for badges, tags and hovers automatically. Fonts, surfaces and radii are one line each. Details in Theming.
4 · Add your content
Blog posts, events, organizers and authors are plain Markdown files with front matter, the fields are identical in both frameworks. See the content model. Running your event on Sessionize, or planning in a spreadsheet? Import everything with one command instead of retyping it.
5 · Deploy
Both implementations output a fully static site. Deploy anywhere: GitHub Pages workflows are included in each repo. See Demos & deployment.
6 · Support the theme
Enjoying Popular? Star the repo so other organizers can find it, tell others about it (or use it for your next community site), and if it saves you real time, sponsor the work on GitHub.