Guide · Framework
Deploy Hugo to Novence
hugo writes ./public. npx novence deploy ./public. No Hugo modules runtime on the host.
Hugo emits a public/ directory of HTML, CSS, and assets. That is the entire deploy. Set baseURL to the live origin (project URL or custom domain) so canonical links and RSS are correct after publish.
Configure
Keep uglyURLs = false so Hugo writes about/index.html. That matches Novence /about/ resolution. If you set a custom publishDir, pass it to the CLI.
After the first deploy you will have https://{suffix}.novence.ai/. Update baseURL to that URL (or your custom domain) and rebuild so asset prefixes are right.
# hugo.toml
baseURL = 'https://{suffix}.novence.ai/'
languageCode = 'en-us'
title = 'Site'
uglyURLs = false
[outputs]
home = ['HTML', 'RSS']Build
hugo
hugo (or hugo --minify). Confirm public/index.html. Theme modules download at build time on your machine, not on Novence.
Deploy
npx novence deploy ./public
npx novence deploy ./public. Pass ./public if a dist or build folder would otherwise win auto-detect.
The CLI auto-detects ./public among dist, build, out, public, _site. Pass the path if another of those folders exists. Full CLI: /cli.
Caveats
- Hugo’s
server/ live reload is local only. - Do not upload the Hugo project root. Only
public/. - Video files follow plan limits (none on Free; size caps on Pro/Scale).
FAQ
What should baseURL be before the first deploy?
A placeholder is fine for the first build. After you have a suffix, set baseURL to https://{suffix}.novence.ai/ (or your domain) and redeploy.
Do Hugo pipes run on the host?
No. Asset pipes run during hugo on your machine. The output CSS/JS is static.
Can I use Hugo’s JSON output?
Yes. .json is allowlisted. A /index.json or /data/*.json file can be fetched same-origin. See /site-data.
Agents ship. Novence hosts.
Copy Prompt or get a key. Then npx novence deploy ./public.