Skip to content

Latest commit

 

History

History
53 lines (39 loc) · 1.81 KB

File metadata and controls

53 lines (39 loc) · 1.81 KB

wireinject.github.io

Documentation site for Wire, built with Hugo and the Hextra theme.

Local development

Requires Hugo extended ≥ 0.158 and Go (Hugo Modules uses the Go toolchain to fetch the theme).

hugo server --disableFastRender

Open http://localhost:1313/. The theme module is downloaded on first run.

Layout

hugo.yaml           Site configuration (theme, menus, search, mermaid)
go.mod / go.sum     Hugo Modules dependencies, pinning the Hextra version
content/            Documentation sources
  _index.md         Landing page
  docs/             Documentation pages; each subdirectory is a section
assets/js/          Self-hosted mermaid / flexsearch (no CDN, offline builds)
static/images/      logo.svg (light) and logo-dark.svg (dark)
public/             Build output (git-ignored), uploaded by the deploy workflow

Deployment

.github/workflows/hugo.yaml builds and deploys the site on every push to master (pull requests only build it, to catch breakage before a merge). It runs Hugo extended with Go for Hugo Modules — no Node.js toolchain is needed, since Hextra ships precompiled CSS.

In the repository settings, Pages must be set to Source: GitHub Actions. The workflow then derives the baseURL from the Pages configuration, so the baseURL in hugo.yaml is only used for local builds.

To check the production build locally:

hugo --gc --minify   # writes to public/

Updating the content

The pages under content/docs/ are adapted from wireinject/wire's _tutorial/README.md and docs/*.md, with the package path changed from github.com/google/wire to github.com/wireinject/wire. When the upstream docs change, update the matching page here.