Start with a working site
1 Start with a working site
A good tutorial begins with a result the reader can see. For OINK, that result is the official Starter served locally by Hugo Extended—before any logo, palette, language set, or content architecture is changed.
Define the outcome
At the end of this chapter you should have English, Chinese, and French home pages; working Docs, Blog, and Book routes; local search; and a color-mode control. That small baseline is enough to distinguish a content mistake from a theme or deployment problem later.

Install the prerequisite
Use Git, Go 1.27 or newer, and Hugo Extended 0.168.0 for this tutorial.
Development, CI, and release tests use this single Hugo baseline, which
advances with stable releases. Update an older Starter’s Hugo workflow pins
before validation. Older Hugo compatibility is no longer maintained.
The development theme also needs standalone Dart Sass 1.105.2 on PATH.
Node.js is not required.
Run the preview
Create a repository with GitHub’s Use this template action when it will become a real project. To evaluate the original locally, clone it and start Hugo:
Open the address Hugo prints. Change one sentence in data/home/en.yaml and
confirm that the browser shows it. A preview that responds to a content edit is
more useful evidence than a terminal that only says the server started.
Record the baseline
Before customizing anything, record four facts: the Hugo version, the theme
version in go.mod, the commit under review, and the routes you opened. Chapter
2 turns that running site into a content tree without losing this baseline.
For the complete layered workflow, see Use OINK Starter. For installation without the template, see From scratch.