Personal portfolio and resume website built with Hugo and deployed on GitHub Pages.
Live site: mnabila.com
- Static Site Generator: Hugo (v0.148.2+, extended)
- CSS: Tailwind CSS v4
- Deployment: GitHub Actions → GitHub Pages
- Theme: Custom
resumetheme
| Section | Description |
|---|---|
| About | Professional summary and social links |
| Experience | Work history with roles and technologies |
| Education | Academic background |
| Skills | Technical skills grouped by role |
| Projects | Personal and professional project showcases |
| Blog | Technical articles on Linux and dev tooling |
- Hugo Extended >= 0.146.0
- Node.js >= 22
- Go >= 1.24
git clone --recurse-submodules https://github.com/mnabila/mnabila.github.io.git
cd mnabila.github.io
npm installnpm run devStarts a local dev server with drafts enabled at http://localhost:1313.
npm run buildGenerates the production site with garbage collection and minification.
Hugo archetypes are available for each content type:
hugo new content blog/my-new-post.md
hugo new content experience/company-name.md
hugo new content project/project-name.md
hugo new content education/school-name.md
hugo new content skill/skill-category.md.
├── archetypes/ # Content templates
├── assets/ # Site-level assets (processed by Hugo Pipes)
├── content/ # Markdown content (blog, projects, experience, etc.)
├── static/ # Static files served as-is
├── themes/resume/ # Custom Hugo theme
├── hugo.toml # Hugo configuration
└── package.json # Node.js dependencies (Tailwind CSS)
This project is dual-licensed:
- Code (theme, config, workflows): MIT License
- Content (blog posts, resume, project descriptions): CC BY-NC 4.0