When writing a theme for Hugo you’ll often want to show a demo from the exampleSite
directory. In order to build that directory as a Hugo site, you need to have the theme inside of it. I wrote a small npm package, hugo-theme-demo-builder that will clone the theme into your exampleSite
directory and then run the hugo
build command.
The first thing to do would be to run the following from the root of your theme repo:
cd exampleSite
yarn add hugo-theme-demo-builder
npm set-script build hugo-theme-demo-builder
This will add the build script to your exampleSite
. Next, you will most likely want to set the hugo version in a netlify.toml
file inside of the exampleSite
directory to something like this:
[context.production.environment]
HUGO_VERSION = "0.85.0"
This will set the version used in netlify when we build the project there later. For more info about hosting Hugo on Netlify click here.
After creating your account on Netlify navigate to the ‘New Site from Git’ button.
Then select the source control you’re using (e.g. Github). Then select the repo that your theme is in. Lastly you want to configure your build settings like this:
The last step will be to copy the url to your deployed netlify site to your theme.toml
like this:
demosite = "https://example.netlify.app/"
Now you should see a demo button that links to your automatically deployed theme demo on netlify from the theme page on the hugo themes site. You may need to wait until the next rebuild of the hugo themes site for your link to appear, but it should be there shortly.