Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Modern responsive portfolio and blog theme for Hugo, styled with Tailwind CSS 4.x, featuring accordion sections and Pagefind search.

A one-page freelance portfolio theme for Hugo with a responsive portfolio grid, project modals, and a Formspree contact form.
Aafu is a modern, responsive portfolio and blog theme for the Hugo static site generator, styled with Tailwind CSS 4.x and built around an accordion-style homepage layout. It is maintained by Darshan Baral and available on GitHub at github.com/darshanbaral/aafu, with a live demo at aafu.darshanbaral.com.
Aafu is a Hugo theme that produces a personal portfolio site with an integrated blog. It takes Markdown content from Hugo's content folder and renders it into a responsive single-page portfolio with accordion sections for profile, skills, experience, and blog posts, plus a separate blog layout. The theme runs on Hugo and uses Tailwind CSS 4.x for styling, and it includes Pagefind integration for static-site search.
config.yaml lets you define which sections appear, their order, and which one starts expanded.tailwind.config.js, so you can adjust the design without writing custom CSS.params.theme.mainTheme to light, dark, or null; the null option follows the visitor's device color scheme.hugo -b https://your_base_url/; npx -y pagefind --site public before deploy to build a searchable index of all public pages.profile.jpg into static/images to replace the profile picture displayed on the portfolio.themes/aafu and copy config.yaml, package.json, tailwind.config.js, assets/, and static/ into your own project.config.yaml and tailwind.config.js.public folder can be deployed to any static hosting service; the README's build command uses hugo -b with a base URL.profile.jpg, add your details, and control which accordion sections (skills, experience, etc.) are visible.npm install then hugo server to preview changes in real time before building the final static site.Two setups are documented. For a standalone project, clone the repository, run npm install, and start hugo server — the repo works as a complete Hugo site. To use it as a theme in an existing project, add the repo as a git submodule, copy the listed config and asset files into your project root, set theme: aafu in config.yaml, and run npm install and hugo server.
Replace the file profile.jpg in the static/images directory with your own picture. The theme expects that filename and location, so keep the same name and path after you swap the image.
Yes. Set params.theme.mainTheme in config.yaml to light, dark, or null. The null (auto) mode adjusts the site to match the visitor's device setting.
Aafu integrates Pagefind. After building the site, run hugo -b https://your_base_url/; npx -y pagefind --site public to generate a search index for the public folder before deploying.
No — the README instructs running npm install before hugo server, because the theme depends on Tailwind CSS tooling from the npm ecosystem.
