Static site for Amber Morris — Educator & Visual Artist. Built with Hugo (Extended) and deployed to GitHub Pages.
- Hugo Extended
0.164.0— a single binary. No npm, nonode_modules, nothing for Dependabot to scan. Styles are plain CSS, so there is no Sass toolchain to install. (The Extended build is used so Hugo's built-in image processing stays available for future use.)
Windows (winget):
winget install Hugo.Hugo.ExtendedmacOS/Linux: brew install hugo, or download the extended build from
https://github.com/gohugoio/hugo/releases.
hugo serverThen open http://localhost:1313/. The site rebuilds on save.
hugo --gc --minifyOutput is written to public/.
content/ Page stubs (front matter only); each maps to a layout
_index.md -> layouts/index.html (home)
portfolio.md -> layouts/_default/portfolio.html
services.md -> layouts/_default/services.html
contact.md -> layouts/_default/contact.html
data/photos.json Portfolio photo metadata (title, tags, image paths)
layouts/ Templates
_default/baseof.html Page skeleton (head + header + main + modal + scripts)
partials/ head, header, gallery, photo-card, modal, scripts
assets/
css/main.css Stylesheet (plain CSS; bundled + minified by Hugo Pipes)
js/main.js Mobile menu, photo lightbox (pointer-swipe), portfolio filter
images/portfolio/ Source artwork — Hugo generates resized WebP variants at build
static/
assets/images/ logo.png (served as-is)
assets/icons/ SVG social/UI icons
favicon.png
CNAME Custom domain (abmorrisart.com)
Pushing to main triggers .github/workflows/deploy.yml, which builds with Hugo
and publishes to GitHub Pages (custom domain abmorrisart.com, set via
static/CNAME). Pull requests run the build as a check but do not deploy.
GitHub Pages source must be set to GitHub Actions in the repository settings (Settings -> Pages -> Build and deployment -> Source).