hugo-bin

Binary wrapper for Hugo

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
hugo-bin
8770.122.02 days ago8 years agoMinified + gzip package size for hugo-bin in KB

Readme

hugo-bin npm version Build Status
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 hugoPath from 'hugo-bin';

execFile(hugoPath, ['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, to overwrite the download repository and the Hugo version.
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",
    "version": "0.124.1"
  }
}

As local or global .npmrc configuration file

hugo_bin_build_tags = "extended"
hugo_bin_download_repo = "https://some.example.com/artifactory/github-releases"
hugo_bin_hugo_version = "0.124.1"

As environment variables

On Linux/macOS:
export HUGO_BIN_BUILD_TAGS="extended"
export HUGO_BIN_DOWNLOAD_REPO="https://some.example.com/artifactory/github-releases"
export HUGO_BIN_HUGO_VERSION="0.124.1"

On Windows:
set HUGO_BIN_BUILD_TAGS=extended
set HUGO_BIN_DOWNLOAD_REPO=https://some.example.com/artifactory/github-releases
set HUGO_BIN_HUGO_VERSION=0.124.1

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.

hugoVersion

Default: the version specified in package.json
You can override the Hugo version here, but please note that if any of the URLs have changed upstream, you might not be able to use any version and you will probably need to update to a newer hugo-bin version which takes into consideration the new URLs.

Supported Hugo versions

See the package.json commit history.

Super Inspired By

License

MIT © Shun Sato