Skip to content

Latest commit

Β 

History

140 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‘¨πŸ»β€πŸ’» ijosh.com

This repository contains the contents of ijosh.com β€” a Hugo-based jamstack site, migrated from SquareSpace and deployed on Cloudflare Pages.


πŸ›  Overview

Pushes to the master branch are picked up by Cloudflare and deployed live. Develop on a branch other than master, then merge when ready.

The site is built to be self-contained at runtime: fonts and social icons are served from this domain (no Google Fonts / CDN calls on page load), favicons and the mark from brand.ijosh.com (also ours, from jshvn/brand), CSS is bundled + minified + fingerprinted, and security headers ship via static/_headers.

πŸ’» Development

Requires Hugo (extended) and go-task.

task serve     # live-reloading dev server (hugo server -D -w)
task build     # production build β†’ public/  (hugo --minify --gc)
task --list    # all tasks

Cloudflare Pages settings (dashboard): build command hugo --minify --gc (Hugo only minifies HTML with that flag; CSS/fonts are minified by the asset pipeline), and pin the HUGO_VERSION env var to the tested extended version (currently 0.163.3; extended is required for WebP image processing).

🎨 Assets

  • Fonts β€” self-hosted in static/fonts/ (latin + latin-ext subsets) with @font-face in assets/css/fonts.css. Regenerate from Google Fonts only if the font set changes.
  • Icons β€” the social/meta icons are inlined as SVG at build time from assets/icons/ (sourced from Font Awesome Free 6.x). No icon font / CDN is loaded.
  • CSS β€” assets/css/{fonts,split,style}.css are concatenated, minified, and fingerprinted into one /css/bundle.<hash>.css in layouts/partials/head.html.

πŸ§ͺ Visual regression testing

The page is meant to look identical across refactors, so the rendered pixels are locked to a golden baseline. First run creates a .venv-visual/ (Pillow) and uses the machine's Chromium.

task visual:check     # fail if the build drifts from the golden baseline
task visual:bless     # re-capture the baseline (run after an intended UI change)
task visual:vs-live   # compare the local content panel against the live ijosh.com

Golden images live in tests/visual/golden/ (committed). Diff artifacts land in tests/visual/out/ (gitignored). After any intentional visual change, re-run task visual:bless and commit the updated baseline.

πŸ‘·πŸ»β€β™‚οΈ Theme

Adapted from the Hugo Split theme and merged with the color scheme of the older Squarespace site. A license was purchased so the theme attribution links can be removed.

About

πŸ‘¨πŸ»β€πŸ’» Personal Website

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages