1
mirror of https://github.com/jakejarvis/hugo-extended.git synced 2025-04-27 05:38:25 -04:00
hugo-extended/README.md
2023-03-21 15:01:23 +02:00

133 lines
3.1 KiB
Markdown

# hugo-bin [![npm version](https://img.shields.io/npm/v/hugo-bin?logo=npm&logoColor=fff)](https://www.npmjs.com/package/hugo-bin) [![Build Status](https://img.shields.io/github/actions/workflow/status/fenneclab/hugo-bin/ci.yml?branch=main&label=CI&logo=github)](https://github.com/fenneclab/hugo-bin/actions?query=workflow%3ACI+branch%3Amain)
> Binary wrapper for [Hugo](https://gohugo.io/)
- hugo-bin supports the [Extended Hugo version](https://github.com/gohugoio/hugo/releases/tag/v0.43)
- For usage within corporate networks or behind corporate proxies, the download repository can be overwritten
See [Installation options](#installation-options) for more details.
## Install
```sh
npm install hugo-bin --save-dev
```
## Usage
### API
```js
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
```sh
# 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
```bat
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
```json
{
"scripts": {
"build": "hugo",
"create": "hugo new",
"serve": "hugo server"
}
}
```
See the [Hugo Documentation](https://gohugo.io/) 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`
```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](https://docs.npmjs.com/files/npmrc) configuration file
```ini
hugo_bin_build_tags = "extended"
hugo_bin_download_repo = "https://some.example.com/artifactory/github-releases"
```
### As environment variables
```sh
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](https://github.com/gohugoio/hugo/releases/tag/v0.43) 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](https://github.com/fenneclab/hugo-bin/commits/main/package.json).
## Super Inspired By
- [mastilver/apex-bin](https://github.com/mastilver/apex-bin)
- [imagemin/jpegtran-bin](https://github.com/imagemin/jpegtran-bin)
## License
MIT © Shun Sato