Skip to content

✏️ Plug-and-play Node.js wrapper for Hugo Extended, the awesomest static-site generator.

License

Notifications You must be signed in to change notification settings

jakejarvis/hugo-extended

This branch is 352 commits ahead of, 614 commits behind fenneclab/hugo-bin:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Feb 28, 2025
99ea0a3 · Feb 28, 2025
Jan 17, 2025
Jun 4, 2024
Jun 4, 2024
Feb 18, 2020
Feb 18, 2020
Aug 31, 2021
Jan 31, 2020
Jan 18, 2023
Nov 1, 2021
Nov 1, 2021
Feb 28, 2025
Jan 16, 2025
Nov 1, 2021

Repository files navigation

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.

Note: 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 conveniently called via built-in Hugo pipes:

npm install postcss postcss-cli autoprefixer --save-dev
# or...
yarn add postcss postcss-cli autoprefixer --dev

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:

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 pull request, branch, or commit preview.

// package.json:

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

Start building sites …
hugo v0.88.1-5BC54738+extended darwin/amd64 BuildDate=2021-09-04T09:39:19Z VendorInfo=gohugoio

                   | 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
Watching for changes in {archetypes,assets,content,data,layouts,package.json,static}
Watching for config changes in config.toml
Environment: "development"
Serving pages from memory
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)

via API:

// version.js:

import hugo from "hugo-extended";
import { execFile } from "child_process";

(async () => {
  const binPath = await hugo();

  execFile(binPath, ["version"], (error, stdout) => {
    console.log(stdout);
  });
})();
$ node version.js
hugo v0.88.1-5BC54738+extended darwin/amd64 BuildDate=2021-09-04T09:39:19Z VendorInfo=gohugoio

Examples

License

This project is distributed under the MIT License. Hugo is distributed under the Apache License 2.0.

About

✏️ Plug-and-play Node.js wrapper for Hugo Extended, the awesomest static-site generator.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • JavaScript 100.0%