2019-05-22 05:57:34 +09:00
[](https://github.com/peaceiris/actions-hugo/blob/master/LICENSE)
[](https://github.com/peaceiris/actions-hugo/releases/latest)
[](https://github.com/peaceiris/actions-hugo/releases)
2019-10-17 16:31:56 +09:00

2019-11-13 12:58:32 +09:00
[](https://www.codefactor.io/repository/github/peaceiris/actions-hugo)
2019-05-22 05:57:34 +09:00
2019-09-16 08:27:57 +09:00
< img width = "400" alt = "GitHub Actions for Hugo" src = "./images/ogp.svg" >
2019-05-22 05:57:34 +09:00
2019-11-22 12:06:16 +09:00
## GitHub Actions for Hugo
2019-05-22 05:57:34 +09:00
- [gohugoio/hugo: The world’ s fastest framework for building websites. ](https://github.com/gohugoio/hugo )
2019-11-22 12:06:16 +09:00
We can run **Hugo** on a virtual machine of **GitHub Actions** by this Hugo action. **Hugo extended** version and **Hugo Modules** are supported.
2019-09-17 20:39:59 +09:00
2019-09-22 15:45:20 +09:00
From `v2.0.0` , this Hugo action migrated to a JavaScript (TypeScript) action. We no longer build or pull a Hugo docker image. Thanks to this change, we can complete this action less than **4 sec** . (A docker base action was taking about 1 min or more execution time to build or pull.)
2019-09-21 10:41:21 +09:00
2019-11-07 08:21:32 +09:00
| OS (runs-on) | ubuntu-18.04 | macos-latest | windows-2019 |
2019-09-21 10:41:21 +09:00
|---|:---:|:---:|:---:|
| Support | ✅️ | ✅️ | ✅️ |
| Hugo type | Hugo Extended | Hugo Modules | Latest Hugo |
|---|:---:|:---:|:---:|
| Support | ✅️ | ✅️ | ✅️ |
2019-09-17 20:39:59 +09:00
2019-11-22 12:06:16 +09:00
## Table of Contents
2019-09-22 09:43:11 +09:00
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE - RUN doctoc TO UPDATE -->
2019-11-22 12:07:25 +09:00
2019-09-22 09:43:11 +09:00
- [Getting started ](#getting-started )
- [⭐️ Create your workflow ](#%EF%B8%8F-create-your-workflow )
- [Options ](#options )
- [⭐️ Use Hugo extended ](#%EF%B8%8F-use-hugo-extended )
- [⭐️ Use the latest version of Hugo ](#%EF%B8%8F-use-the-latest-version-of-hugo )
2019-11-22 12:07:25 +09:00
- [Tips ](#tips )
- [Read Hugo version from file ](#read-hugo-version-from-file )
2019-09-22 09:43:11 +09:00
- [License ](#license )
- [About the author ](#about-the-author )
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
2019-05-22 05:57:34 +09:00
## Getting started
2019-09-22 09:43:11 +09:00
### ⭐️ Create your workflow
2019-05-22 05:57:34 +09:00
2019-10-19 16:52:57 +09:00
An example workflow `.github/workflows/gh-pages.yml` with [GitHub Actions for GitHub Pages]
2019-05-22 07:18:16 +09:00
2019-10-19 16:52:57 +09:00
[GitHub Actions for GitHub Pages]: https://github.com/peaceiris/actions-gh-pages
2019-05-22 07:18:16 +09:00
2019-09-10 01:25:39 +09:00
[](https://github.com/peaceiris/actions-gh-pages)
2019-05-27 06:22:45 +09:00


2019-08-15 20:26:15 +09:00
```yaml
2019-08-22 05:03:19 +09:00
name: github pages
2019-08-15 20:26:15 +09:00
on:
push:
branches:
- master
jobs:
build-deploy:
2019-08-22 02:54:38 +09:00
runs-on: ubuntu-18.04
2019-08-15 20:26:15 +09:00
steps:
- uses: actions/checkout@master
2019-09-24 07:31:06 +09:00
# with:
# submodules: true
2019-09-05 01:50:24 +09:00
2019-09-16 08:27:57 +09:00
- name: Setup Hugo
2019-11-17 21:06:54 +09:00
uses: peaceiris/actions-hugo@v2 .2.4
2019-08-15 20:26:15 +09:00
with:
2019-11-22 12:06:16 +09:00
hugo-version: '0.59.1'
2019-10-07 00:11:15 +09:00
# extended: true
2019-09-05 01:50:24 +09:00
2019-09-16 08:27:57 +09:00
- name: Build
2019-10-24 21:51:13 +09:00
run: hugo --minify
2019-09-16 08:27:57 +09:00
- name: Deploy
2019-10-07 00:11:15 +09:00
uses: peaceiris/actions-gh-pages@v2 .5.0
2019-08-15 20:26:15 +09:00
env:
2019-09-06 03:09:36 +09:00
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
2019-08-15 20:26:15 +09:00
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: ./public
2019-05-22 05:57:34 +09:00
```
2019-09-16 08:27:57 +09:00
## Options
2019-09-22 09:43:11 +09:00
### ⭐️ Use Hugo extended
2019-09-16 08:27:57 +09:00
2019-09-22 09:37:17 +09:00
Set `extended: true` to use a Hugo extended version.
2019-09-16 08:27:57 +09:00
```yaml
- name: Setup Hugo
2019-11-17 21:06:54 +09:00
uses: peaceiris/actions-hugo@v2 .2.4
2019-09-16 08:27:57 +09:00
with:
2019-11-22 12:06:16 +09:00
hugo-version: '0.59.1'
2019-09-16 08:27:57 +09:00
extended: true
```
2019-09-22 09:43:11 +09:00
### ⭐️ Use the latest version of Hugo
2019-09-16 08:27:57 +09:00
2019-09-22 09:37:17 +09:00
Set `hugo-version: 'latest'` to use the latest version of Hugo.
2019-09-16 08:27:57 +09:00
```yaml
- name: Setup Hugo
2019-11-17 21:06:54 +09:00
uses: peaceiris/actions-hugo@v2 .2.4
2019-09-16 08:27:57 +09:00
with:
hugo-version: 'latest'
```
2019-09-18 04:11:47 +09:00
This action fetches the latest version of Hugo by [hugo | Homebrew Formulae ](https://formulae.brew.sh/formula/hugo )
2019-09-16 08:27:57 +09:00
2019-11-22 12:06:16 +09:00
## Tips
### Read Hugo version from file
How to sync a Hugo version between Docker Compose YAML file and a GitHub Actions workflow using `.env` file.
Write a `HUGO_VERSION` to the `.env` file like the following and push it to a remote branch.
```sh
HUGO_VERSION=0.59.1
```
Next, add a step to read a Hugo version from the `.env` file.
```yaml
- name: Read .env
id: hugo-version
run: |
. ./.env
echo ::set-output name=HUGO_VERSION::${HUGO_VERSION}
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2 .2.4
with:
hugo-version: '${{ steps.hugo-version.outputs.HUGO_VERSION }}'
extended: true
```
2019-05-22 05:57:34 +09:00
## License
2019-08-15 20:26:15 +09:00
- [MIT License - peaceiris/actions-hugo]
2019-05-22 05:57:34 +09:00
[MIT License - peaceiris/actions-hugo]: https://github.com/peaceiris/actions-hugo/blob/master/LICENSE
2019-05-22 21:01:05 +09:00
## About the author
- [peaceiris's homepage ](https://peaceiris.com/ )