This action builds your Hugo Site (using the latest Hugo Extended) and pushes it to Github Pages.
This action also contains support for several external Hugo Helpers:
Name | Support |
---|---|
reStructuredText | οΈ βοΈ |
Pandoc | βοΈ |
Asciidoctor | βοΈ |
PostCSS | βοΈ |
Pygments | βοΈ |
Babel | βοΈ |
Hugo Modules | βοΈ |
If your site requires the use of another external helper, submit an issue and I'll try to add it.
This action is based on the Docker Image from chabad360/hugo-actions. If you need to do post-build/pre-upload steps, use that action.
This is a basic workflow.yml
to get you started (for more information scroll down to β Inputs):
name: Publish Site
on:
push:
branches:
- master
jobs:
build-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@master
with:
submodules: true
- name: Publish Site
uses: chabad360/hugo-gh-pages@master
with:
githubToken: ${{ secrets.PERSONAL_TOKEN }}
Key | Description | Required | Default |
---|---|---|---|
githubToken |
A Github Personal Access Token with repo permissions. | βοΈ | N/A |
cname |
The custom domain name for your GH Pages Site. | β | N/A |
branch |
The branch to push the built site to. | β | gh-pages |
repo |
The repository to push the built site to. | β | The current repo |
hugoVersion |
The version Hugo to use (append extended_ to the begining to use the extended version). |
β | Latest Hugo Extended |
args |
Arguments to pass to Hugo | β | --gc --minify --cleanDestinationDir |
siteDir |
Directory that your site is stored in. | β | /github/workspace |
- name: Publish Site
uses: chabad360/hugo-gh-pages@master
with:
githubToken: ${{ secrets.PERSONAL_TOKEN }}
# Remember to set this as a secret (i.e. secrets.PERSONAL_TOKEN).
# Don't forget to set the secret value in the project settings.
cname: mysite.com # Or anything else
# Use if you have a custom domain for your site.
branch: master # Or anything else
# Use if your site is not hosted on the gh-pages branch.
repo: you/you.github.io
# Use if you're pushing to a different repo.
# Dont add ".git" to the end of the URL (youl'll get 404s).
hugoVersion: extended_0.58.3
# Use if your site requires a specific version of Hugo.
# Append "extended_" to the begining to use Hugo Extended.
args: --gc --minify --cleanDestinationDir
# Use if you want to pass some custom arguments to Hugo.
siteDir: /github/workspace/site
# Use this if your site isn't in the root of your repo.
# The root of your repo can be found at /github/workspace
This project is based on mattbailey/actions-hugo