GitHub Action
Hugo to GH Pages
v2
Latest version
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