Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

hugo-installer

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hugo-installer

Installs hugo into your repository.

  • 1.0.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3.6K
decreased by-18.32%
Maintainers
1
Weekly downloads
 
Created
Source

hugo-installer

Installs Hugo into your repository.

npm version dependency status travis ci build status license



What it does

Hugo is one of the most popular static site generators. Now, when it comes to web development, we usually select npm as our dependency management solution. Hugo, however, is a tool written in Go. As a consequence, Hugo is not integrated into the npm module ecosystem - but instead delivered as a binary.

The Hugo Installer is here to help! It's a small node script which can be used to fetch a specific Hugo binary, for instance using the postinstall hook within a package.json file.

I've written this small tool because I'm developing my own personal website using Hugo, and I wanted to have a simple way of seeing the current Hugo version / simply upgrading Hugo to a newer version.




How to install

You can get the hugo-installer via npm by adding it as a new devDependency to your package.json file and running npm install. Alternatively, run the following command:

npm install hugo-installer --save-dev




How to use

We recommended to use the hugo-installer within the postinstall hook of a project's package.json file.


Configure hugo version (required)

The Hugo version can be set using the --version CLI parameter. For example:

{
  "scripts": {
    "postinstall": "hugo-installer --version 0.46"
  }
}

As an alternative, the --version CLI parameter can also be an object path to some value defined in the package.json file. This allows for the hugo version to be configured someplace else, e.g. in a otherDependencies object:

{
  "otherDependencies": {
    "hugo": "0.46"
  },
  "scripts": {
    "postinstall": "hugo-installer --version otherDependencies.hugo"
  }
}

Configure binary path (optional)

The --destination CLI parameter can be used to define the folder into which the Hugo binary will be placed. This parameter is optional, the default destination path is bin/hugo. For example:

{
  "scripts": {
    "postinstall": "hugo-installer --version 0.46 --destination bin/hugo"
  }
}

Don't forget to add the destination path to your .gitignore file!




Using the Hugo binary

Once fetched, the hugo binary can be used directly from your favourite command line. For example:

bin/hugo/hugo.exe --config=hugo.config.json

Alternatively, one might also want to integrate Hugo in a NodeJS build script, or a NodeJS-based build tool such as Gulp. You can execute the Hugo binary using the spawn command; for example:

const path = require( 'path' );
const spawn = require( 'child_process' ).spawn;

// Use Hugo
spawn( path.resolve( process.cwd(), 'bin', 'hugo', 'hugo' ), [
  `--config=hugo.config.json`
], {
  stdio: 'inherit'
} )
  .on( 'close', () => {
    // Callback
  } );




Creator

Dominique Müller

Keywords

FAQs

Package last updated on 12 Aug 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc