I hope this question is not too broad for this category. I am curious what the benefits of building and using a theme over building bespoke sites with Hugo without a theme.
I can see why you would choose a theme if you intend to sell it as a product. I can also see the benefit if the theme provides only atomic components and some basic setup. That way, you can reuse the same base theme for all the projects, and once you update the base theme, all projects using the theme will get the update.
The latter can also be a double-edged sword if changes to the base theme could break some projects or cause noticeable (but unintended) changes in a project’s UI.
Is there an option to opt out of updates for a theme?
I ask this specifically when the theme is added as a git submodule. ?If it is a Git submodule, does Hugo pull the latest from GitHub during a build, or is there a version string that needs to be bumped manually?
Some of the details on the theme components page sound interesting:
But I also noticed that there is a notice that the docs here may be outdated and is being rewritten.
I have a repository published to NPM and use via npx
when starting a new Hugo project. I kinda like this because I still do hugo new site .
using the latest Hugo version and then run npx @project-calavera/hugo-skeleton --output=.
to get all my latest scaffolding. I do wonder if I am missing out on something though.
You could also have a bespoke Hugo set up as a template repository on GitHub. Whenever you start a new Hugo project, you create your new repository using the template repository.
The downside is, updates to the template repository do not carry over to older projects created from the template.
So perhaps the ideal is a base template that offers only atomic components, style, and JavaScript, and then the rest is built in a bespoke fashion. But now I wonder whether you can have a theme and add templates, partials, shortcodes, data files, etc., outside the theme.
Anyway, I am rambling a bit now. I guess in the end, there is no ONE way to build with Hugo. I would love to hear people’s thoughts on this. Thanks!