hugo
Hugo Static Site Generator
Quick Reference
- Docs: https://gohugo.io/documentation/
- Forum: https://discourse.gohugo.io/
- GitHub: https://github.com/gohugoio/hugo
- Template functions: https://gohugo.io/functions/
- Configuration: https://gohugo.io/configuration/introduction/
Core Commands
hugo new site my-site # Create new site
hugo new theme my-theme # Create theme skeleton
hugo new content posts/my-post.md # Create content
hugo server -D # Dev server (include drafts)
hugo server --navigateToChanged # Auto-navigate to changed content
hugo # Build site to public/
hugo --minify # Build with minified output
hugo --gc # Build and clean unused cache
hugo mod init github.com/user/repo # Initialize Hugo modules
Project Structure
my-site/
├── hugo.toml # Site configuration
├── archetypes/ # Content templates for `hugo new`
│ └── default.md
├── assets/ # Files processed by Hugo Pipes (Sass, JS, images)
├── content/ # Site content (Markdown)
├── data/ # Data files (JSON, TOML, YAML)
├── i18n/ # Translation strings
├── layouts/ # Templates (override theme)
├── static/ # Static files copied as-is
├── themes/ # Installed themes
└── public/ # Generated site (build output)
Workflow
Creating a New Site
- Run
hugo new site <name>to scaffold - Configure
hugo.toml— see references/configuration.md - Add a theme (install or create custom) — see references/theme-development.md
- Create content with
hugo new content <section>/<name>.md - Run
hugo server -Dfor live development - Build with
hugo --minifyfor production
Theme Development
Create custom themes or modify existing ones. See references/theme-development.md for:
- Theme directory structure and skeleton
- Template lookup order
- Base templates (
baseof.html) and blocks - Partials and partial caching
- List and single templates
- Taxonomy and term templates
Templating
Write Go templates for layouts, partials, and shortcodes. See references/templating.md for:
- Go template syntax and functions
- Context (the dot
.) and variable scoping - Range, with, if/else patterns
- Custom shortcodes
- Template debugging
Content Management
Organize and manage site content. See references/content-management.md for:
- Page bundles (leaf vs branch)
- Front matter fields
- Sections and taxonomies
- Menus
- Multilingual / i18n
- Content archetypes
Asset Pipeline
Process images, CSS/Sass, JavaScript, and more. See references/asset-pipeline.md for:
- Image processing (resize, crop, filters, WebP)
- Sass/SCSS compilation
- JavaScript bundling with esbuild
- Fingerprinting and SRI
- PostCSS / Tailwind CSS integration
Deployment
Deploy to hosting platforms. See references/deployment.md for:
- Netlify configuration
- Vercel setup
- Cloudflare Pages
- GitHub Pages with Actions
- General CI/CD patterns
Best Practices
- Keep images with content: Use page bundles (
index.md+ images in same directory) so Hugo can process them - Use
hugo.tomlconfig directory for complex sites: split intoconfig/_default/hugo.toml,menus.toml,params.toml - Asset pipeline minimum: Always
minify,fingerprint, and useslicefor CSS/JS bundles - Override, don't fork themes: Place overriding templates in project
layouts/— Hugo's union file system gives project files precedence over theme files - Use partials for DRY templates: Break complex templates into focused partials; use
partialCachedfor expensive operations - Content organization mirrors URL structure: Top-level directories under
content/become sections - Draft workflow: Use
draft: truein front matter;hugo server -Dshows drafts, production build excludes them - Use archetypes: Define content templates in
archetypes/for consistent front matter across content types
More from alahmadiq8/skills
revealjs-slides
>
59obsidian
Edit and manage Obsidian vaults — create, read, update, and delete notes, manage properties/frontmatter, handle links and backlinks, work with tags, tasks, daily notes, templates, bases, and more. Uses the Obsidian CLI for safe vault operations when available, with direct file editing as fallback. Use this skill whenever the user mentions Obsidian, vault, knowledge base notes with wikilinks, frontmatter/properties on markdown files, daily notes, or any task involving an Obsidian vault — even if they just say "my notes" or reference a folder that looks like a vault (has .obsidian/ directory).
7