hugo-bin

Binary wrapper for Hugo
- hugo-bin supports the Extended Hugo version
- For usage within corporate networks or behind corporate proxies, the download repository can be overwritten
See Installation options for more details.
Install
npm install hugo-bin --save-dev
Usage
API
import { execFile } from 'node:child_process';
import hugo from 'hugo-bin';
execFile(hugo, ['version'], (error, stdout) => {
if (error) {
throw error;
}
console.log(stdout);
});
CLI
Unix
# older npm
$(npm bin)/hugo --help
# newer npm (v9+)
npm exec hugo help
npm run create -- post/my-new-post.md # see below 'npm run-script'
Windows
rem older npm
for /f "delims=" %F in ('npm bin') do call "%F\hugo" help
rem newer npm (v9+)
npm exec hugo help
rem see below 'npm run-script'
npm run create -- post/my-new-post.md
npm run-script
{
"scripts": {
"build": "hugo",
"create": "hugo new",
"serve": "hugo server"
}
}
See the Hugo Documentation for more information.
Installation options
hugo-bin supports options to change the variation of Hugo binaries and to overwrite the download repository.
Each option can be configured in one of the following ways:
The hugo-bin
section of your package.json
{
"name": "your-package",
"version": "0.0.1",
"hugo-bin": {
"buildTags": "extended",
"downloadRepo": "https://some.example.com/artifactory/github-releases"
}
}
As local or global .npmrc configuration file
hugo_bin_build_tags = "extended"
hugo_bin_download_repo = "https://some.example.com/artifactory/github-releases"
As environment variables
export HUGO_BIN_BUILD_TAGS="extended"
export HUGO_BIN_DOWNLOAD_REPO="https://some.example.com/artifactory/github-releases"
Note that you have to run npm install hugo-bin
to re-install hugo-bin itself, if you change any of these options.
Options
buildTags
Default: ""
Set buildTags
to extended
to download the extended version binary.
If this is set to extended
but it's not available for the user's platform, then the normal version will be downloaded instead.
downloadRepo
Default: "https://github.com"
Set it to your proxy URL to download the hugo binary from a different download repository.
Supported versions
See the package.json commit history.
Super Inspired By
License
MIT © Shun Sato