{"id":16839174,"url":"https://github.com/maruel/hugo-tidy","last_synced_at":"2025-04-11T05:20:48.074Z","repository":{"id":139856317,"uuid":"84692118","full_name":"maruel/hugo-tidy","owner":"maruel","description":"Docker image to generate the fastest (minified, gzipped) web site via Hugo","archived":false,"fork":false,"pushed_at":"2022-01-25T22:15:36.000Z","size":40,"stargazers_count":9,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-25T03:23:50.901Z","etag":null,"topics":["docker-image","gzip","hugo","minify"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maruel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-12T01:41:42.000Z","updated_at":"2024-11-19T16:06:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"260e2c56-705d-4c4c-8bd2-32c104901338","html_url":"https://github.com/maruel/hugo-tidy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maruel%2Fhugo-tidy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maruel%2Fhugo-tidy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maruel%2Fhugo-tidy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maruel%2Fhugo-tidy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maruel","download_url":"https://codeload.github.com/maruel/hugo-tidy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248346063,"owners_count":21088397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-image","gzip","hugo","minify"],"created_at":"2024-10-13T12:29:48.106Z","updated_at":"2025-04-11T05:20:48.066Z","avatar_url":"https://github.com/maruel.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# High performance Hugo docker image\n\nThis image does one thing well: generate the fastest web site via Hugo.\n\nIt uses [Hugo](https://gohugo.io/), then generate\n[brotli](https://github.com/google/brotli/) and gzip precompressed files.\n\nThis enables [Caddy](https://caddyserver.com/) to serve the precompressed\nversion directly from disk with zero CPU over HTTPS via its native\n[LetEncrypt](https://letsencrypt.org/) support.\n\nVisit https://hub.docker.com/r/marcaruel/hugo-tidy/tags/ to see the current\ntags.\n\n\n## Features\n\n- Fast. Generating a simple site takes 1.6 seconds, including syntax\n  highlighting.\n- Runs as single step.\n- Hugo minifies the `.js`, `.css` and `.html`.\n- Pre-generates `.br` and `.gz` files for high performance web serving.\n- Images are properly tagged, so you know what versions are running.\n\n\n## Usage\n\n- Hugo input must be in `./site`\n- Generated website is in `./www`\n\n```shell\ndocker run --rm -u $(id -u):$(id -g) -v $(pwd):/data marcaruel/hugo-tidy:latest\n```\n\n*Note*: it is highly recommended to pin to a specific version listed at\n[hub.docker.com/r/marcaruel/hugo-tidy/tags/](https://hub.docker.com/r/marcaruel/hugo-tidy/tags/).\n\n\n*Note*: it passes [`--buildFuture`](https://gohugo.io/getting-started/usage/) so\nthat all posts are generated.\n\n\n## Making your own\n\nOverride `ALPINE_VERSION`, `BROTLI_VERSION`, `HUGO_VERSION`, to select newer\nversions.\n\nOverride `REPO` to have it push to your repository.\n\nTo push an image on your name with a new version of Hugo, run the following:\n```\nmake push HUGO_VERSION=0.99.1 REPO=user/repo\n```\n\n\n## Release process\n\nRun `./compare.sh` and if it reports not difference, then you can just run `make\npush_all`.\n\nOtherwise inspect the differences before pushing:\n\n```shell\n# Create a local image.\n$ make build\n\n# Push the version without updating latest\n$ make push_version\n\n# Update the 'latest' tag\n$ make push_latest\n\n# Push and update 'latest'\n$ make push_all\n\n# Cleanup\n$ make clean\n```\n\n## Background\n\nWhen searching for a Docker image with Hugo included, I found many but they were\nall in poor condition in different ways. Many do not have tags, others use\n:latest so are not reproducible, many uses containers that are neededlessly\nlarge, others forces you on on what it ran run, none minified, the rest was\nstale.  How to fix it? By creating yet-another-image, obviously!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaruel%2Fhugo-tidy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaruel%2Fhugo-tidy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaruel%2Fhugo-tidy/lists"}