Plug-and-play Node.js wrapper for Hugo Extended, the awesomest static-site generator. ✏️ https://www.npmjs.com/package/hugo-extended
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Jake Jarvis c7e7672fd1
Hugo v0.84.0
1 day ago
.github/workflows use got to fetch binary (retries on error, follows redirects, etc.) 4 days ago
test Switch to more modern and lightweight dependencies 3 weeks ago
.editorconfig allow binaries in vendor folder to be cached 1 year ago
.gitattributes allow binaries in vendor folder to be cached 1 year ago
.gitignore further simplify install logic 1 year ago
LICENSE.md update readme, license, etc. 1 year ago
README.md Update README.md 3 weeks ago
cli.js use got to fetch binary (retries on error, follows redirects, etc.) 4 days ago
index.js run prettier 2 weeks ago
install.js use got to fetch binary (retries on error, follows redirects, etc.) 4 days ago
package-lock.json Hugo v0.84.0 1 day ago
package.json Hugo v0.84.0 1 day ago

README.md

Hugo via NPM npm CI status

Plug-and-play binary wrapper for Hugo Extended, the awesomest static-site generator.

Installation

npm install hugo-extended --save-dev
# or...
yarn add hugo-extended --dev

hugo-extended defaults to the extended version of Hugo on supported platforms, and automatically falls back to vanilla Hugo if unsupported (mainly on 32-bit systems).

This package's version numbers align with Hugo's — hugo-extended@0.64.1 installs Hugo v0.64.1, for example.

Usage

The following examples simply refer to downloading and executing Hugo as a Node dependency. See the official Hugo docs for guidance on actual Hugo usage.

via CLI / package.json:

If you'll be using the SCSS features of Hugo Extended, it's probably smart to install postcss, postcss-cli, and autoprefixer as devDependencies too, since they can be called via built-in Hugo pipes.

The build:preview script below is designed for Netlify deploy previews, where $DEPLOY_PRIME_URL is substituted for the base URL (usually ending in netlify.app) of each commit or pull request.

{
  // ...
  "scripts": {
    "build": "hugo",
    "build:preview": "hugo --baseURL \"${DEPLOY_PRIME_URL:-/}\" --buildDrafts --buildFuture",
    "start": "hugo server"
  },
  "devDependencies": {
    "autoprefixer": "^10.2.5",
    "hugo-extended": "^0.83.1",
    "postcss": "^8.2.9",
    "postcss-cli": "^8.3.1"
  }
  // ...
}
$ npm run start

Building sites …

                   | EN
-------------------+------
  Pages            |  50
  Paginator pages  |   0
  Non-page files   | 138
  Static files     |  39
  Processed images |  63
  Aliases          |   0
  Sitemaps         |   1
  Cleaned          |   0

Built in 2361 ms
Serving pages from memory
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)

via API:

const { execFile } = require('child_process');
const hugo = require('hugo-extended');

execFile(hugo, ['version'], (error, stdout) => {
  if (error) {
    throw error;
  }

  console.log(stdout);
});

Examples

License

Forked from fenneclab/hugo-bin under the MIT License, (c) Shun Sato.

Hugo is distributed under the Apache License 2.0.