https://github.com/acearchive/hugo-artifact-action
A GitHub Action used to turn dynamic content into static pages for the Ace Archive site
https://github.com/acearchive/hugo-artifact-action
actions hugo
Last synced: 2 months ago
JSON representation
A GitHub Action used to turn dynamic content into static pages for the Ace Archive site
- Host: GitHub
- URL: https://github.com/acearchive/hugo-artifact-action
- Owner: acearchive
- License: mit
- Created: 2022-10-06T02:51:00.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-27T07:40:31.000Z (over 1 year ago)
- Last Synced: 2025-03-25T03:34:47.456Z (about 1 year ago)
- Topics: actions, hugo
- Language: TypeScript
- Homepage:
- Size: 1.45 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# hugo-artifact-action
This is a GitHub action used to build the [Ace Archive
site](https://github.com/acearchive/acearchive.lgbt) using
[Hugo](https://gohugo.io).
We use Hugo, a static site generator, to build the Ace Archive site. The way
Hugo works means that each published page on the site needs to have a
corresponding markdown file in the source. Hugo uses a text templating language
to allow you to populate the page using structured data in a YAML frontmatter
block.
This action generates a markdown file in a specified directory in the
checked-out repository for each artifact in Ace Archive. It also adds a YAML
frontmatter block to each of those markdown files containing the artifact
metadata.
This action is used by
[acearchive/artifact-submissions](https://github.com/acearchive/artifact-submissions)
to generate these markdown files in
[acearchive/hugo-artifacts](https://github.com/acearchive/hugo-artifacts). The
latter repository is then imported by
[acearchive/acearchive.lgbt](https://github.com/acearchive/acearchive.lgbt) as
a [Hugo module](https://gohugo.io/hugo-modules/) at build time.
Obviously this is a somewhat convoluted system and is pushing the boundaries of
what can sanely be done with a static site generator. Still, it allows us to
serve these pages as static assets. In the future, artifact pages on the site
may be served by an edge function instead.
See the [`action.yaml`](./action.yaml) for documentation of the input
parameters.