{"id":13581894,"url":"https://github.com/tarampampam/error-pages","last_synced_at":"2026-10-19T12:43:31.623Z","repository":{"id":38012516,"uuid":"278033167","full_name":"tarampampam/error-pages","owner":"tarampampam","description":"🪂 Tiny, zero-dep HTTP server \u0026 Docker image serving pretty, themeable, localized HTTP error pages — drop-in for Traefik, Nginx, Kubernetes, and more","archived":false,"fork":false,"pushed_at":"2026-10-11T12:34:16.000Z","size":10209,"stargazers_count":1500,"open_issues_count":2,"forks_count":109,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-10-16T19:39:23.537Z","etag":null,"topics":["404","404-error-page","404-pages","404-template","docker","docker-image","error-pages","errors","http","http-error-pages","ingress-nginx","nginx","traefik"],"latest_commit_sha":null,"homepage":"https://tarampampam.github.io/error-pages/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tarampampam.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2020-07-08T08:26:11.000Z","updated_at":"2026-10-16T16:51:02.000Z","dependencies_parsed_at":"2023-10-02T08:02:15.766Z","dependency_job_id":"ff35e46f-ba59-47b7-9b01-63bd5106ab70","html_url":"https://github.com/tarampampam/error-pages","commit_stats":{"total_commits":359,"total_committers":27,"mean_commits":"13.296296296296296","dds":0.5988857938718664,"last_synced_commit":"85b4cdca0a4a086f532b8cf8946411c543654be1"},"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"purl":"pkg:github/tarampampam/error-pages","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarampampam%2Ferror-pages","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarampampam%2Ferror-pages/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarampampam%2Ferror-pages/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarampampam%2Ferror-pages/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tarampampam","download_url":"https://codeload.github.com/tarampampam/error-pages/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarampampam%2Ferror-pages/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38356472,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-19T02:00:06.414Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["404","404-error-page","404-pages","404-template","docker","docker-image","error-pages","errors","http","http-error-pages","ingress-nginx","nginx","traefik"],"created_at":"2024-08-01T15:02:18.294Z","updated_at":"2026-10-19T12:43:31.617Z","avatar_url":"https://github.com/tarampampam.png","language":"Go","funding_links":[],"categories":["Go","http","docker"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/tarampampam/error-pages#readme\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://socialify.git.ci/tarampampam/error-pages/image?description=1\u0026font=Raleway\u0026forks=1\u0026issues=1\u0026logo=https%3A%2F%2Fhsto.org%2Fwebt%2Frm%2F9y%2Fww%2Frm9ywwx3gjv9agwkcmllhsuyo7k.png\u0026owner=1\u0026pulls=1\u0026pattern=Solid\u0026stargazers=1\u0026theme=Dark\"\u003e\n      \u003cimg align=\"center\" src=\"https://socialify.git.ci/tarampampam/error-pages/image?description=1\u0026font=Raleway\u0026forks=1\u0026issues=1\u0026logo=https%3A%2F%2Fhsto.org%2Fwebt%2Frm%2F9y%2Fww%2Frm9ywwx3gjv9agwkcmllhsuyo7k.png\u0026owner=1\u0026pulls=1\u0026pattern=Solid\u0026stargazers=1\u0026theme=Light\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#\"\u003e\u003cimg src=\"https://img.shields.io/github/go-mod/go-version/tarampampam/error-pages?longCache=true\u0026label=\u0026logo=go\u0026logoColor=white\u0026style=flat-square\" alt=\"\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/tarampampam/error-pages/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/tarampampam/error-pages/tests.yml?branch=master\u0026maxAge=30\u0026label=tests\u0026logo=github\u0026style=flat-square\" alt=\"\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/tarampampam/error-pages/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/tarampampam/error-pages/release.yml?maxAge=30\u0026label=release\u0026logo=github\u0026style=flat-square\" alt=\"\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://hub.docker.com/r/tarampampam/error-pages\"\u003e\u003cimg src=\"https://img.shields.io/docker/pulls/tarampampam/error-pages.svg?maxAge=30\u0026label=pulls\u0026logo=docker\u0026logoColor=white\u0026style=flat-square\" alt=\"\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://hub.docker.com/r/tarampampam/error-pages\"\u003e\u003cimg src=\"https://img.shields.io/docker/image-size/tarampampam/error-pages/latest?maxAge=30\u0026label=size\u0026logo=docker\u0026logoColor=white\u0026style=flat-square\" alt=\"\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/tarampampam/error-pages/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/tarampampam/error-pages.svg?maxAge=30\u0026style=flat-square\" alt=\"\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003e [!IMPORTANT]\n\u003e If you were on v3 or earlier and want to upgrade to v4, check out the [migration guide](docs/UPGRADE_TO_V4.md).\n\nIf you ended up here, chances are you would like to replace your HTTP server's default error pages with something more\noriginal and eye-catching. That is exactly what this project is designed for - it handles this with minimal effort\non your part.\n\nIt includes:\n\n- A collection of HTTP error page designs (each with a unique look), along with the ability to use your own\n  custom templates\n- A lightweight HTTP server for serving these pages that integrates easily into your existing infrastructure\n- A utility for pre-rendering static HTTP error pages\n\nKey features:\n\n- Both the HTTP server and the static generator are written in Go with zero third-party runtime dependencies\n  (stdlib only - hardcore mode)\n  * Supports HTTP/1.1 and HTTP/2 (h2c - cleartext, no TLS required)\n  * Returns error responses in the appropriate format (HTML, JSON, XML, plain text) based on client requests\n  * Gzip compression for all response formats\n  * HTML pages support localization (15+ languages), responsive design (mobile-friendly), and are fully\n    self-contained - all styles and images are embedded directly in the HTML, without loading any external resources\n  * Go template-based templating engine\n- Ships as pre-built binaries, a minimal Docker image (rootless, scratch-based), and a ready-to-use Helm chart\n  for Kubernetes\n- Works out of the box with popular reverse proxies and ingress controllers (Nginx, Traefik, etc.)\n\n## 🪂 Built-in templates\n\nThe following templates are built-in and available for use without any additional setup/files:\n\n|   Template name   | Preview (light)                                | Preview (dark)                                |\n|:-----------------:|------------------------------------------------|-----------------------------------------------|\n|    `app-down`     | [![][app-down-light]][app-down-link]           | [![][app-down-dark]][app-down-link]           |\n|      `cats`       | [![][cats-light]][cats-link]                   | [![][cats-dark]][cats-link]                   |\n|   `connection`    | [![][connection-light]][connection-link]       | [![][connection-dark]][connection-link]       |\n|      `ghost`      | [![][ghost-light]][ghost-link]                 | [![][ghost-dark]][ghost-link]                 |\n| `hacker-terminal` | [![][hacker-terminal]][hacker-terminal-link]   | [![][hacker-terminal]][hacker-terminal-link]  |\n|       `l7`        | [![][l7-light]][l7-link]                       | [![][l7-dark]][l7-link]                       |\n|  `lost-in-space`  | [![][lost-in-space-light]][lost-in-space-link] | [![][lost-in-space-dark]][lost-in-space-link] |\n|      `noise`      | [![][noise]][noise-link]                       | [![][noise]][noise-link]                      |\n|     `orient`      | [![][orient-light]][orient-link]               | [![][orient-dark]][orient-link]               |\n|     `shuffle`     | [![][shuffle-light]][shuffle-link]             | [![][shuffle-dark]][shuffle-link]             |\n|      `win98`      | [![][win98-light]][win98-link]                 | [![][win98-dark]][win98-link]                 |\n\n\u003e [!NOTE]\n\u003e The `cats` template is the only one of those that fetches resources (the actual cat pictures) from external\n\u003e servers - all other templates are self-contained.\n\n\u003e [!TIP]\n\u003e If you need the **pre-rendered static error pages pack**, you can download it as a [zip][pages-pack-zip] or\n\u003e [tar.gz][pages-pack-tar-gz] archive.\n\n[app-down-link]:https://tarampampam.github.io/error-pages/app-down/404.html\n[app-down-light]:https://habrastorage.org/webt/4d/55/04/4d5504d21fc8dd64e9418aef387ca0b6.png\n[app-down-dark]:https://habrastorage.org/webt/ff/f5/1e/fff51e593cebcf9db3280c8830218e00.png\n[cats-link]:https://tarampampam.github.io/error-pages/cats/404.html\n[cats-light]:https://github.com/user-attachments/assets/7bea967e-a427-4ba2-a3a3-d71b9986ecfc\n[cats-dark]:https://github.com/user-attachments/assets/f9b945b2-3e19-44d5-842b-0c43c55d9b70\n[connection-link]:https://tarampampam.github.io/error-pages/connection/404.html\n[connection-light]:https://github.com/tarampampam/error-pages/assets/7326800/099ecc2d-e724-4d9c-b5ed-66ddabd71139\n[connection-dark]:https://github.com/tarampampam/error-pages/assets/7326800/3f03dc1b-c1ee-4a91-b3d7-e3b93c79020e\n[ghost-link]:https://tarampampam.github.io/error-pages/ghost/404.html\n[ghost-dark]:https://github.com/tarampampam/error-pages/assets/7326800/714482ab-f8c1-4455-8ae8-b2ae78f7a2c6\n[ghost-light]:https://github.com/tarampampam/error-pages/assets/7326800/f253dfe7-96a0-4e96-915b-d4c544d4a237\n[hacker-terminal-link]:https://tarampampam.github.io/error-pages/hacker-terminal/404.html\n[hacker-terminal]:https://github.com/tarampampam/error-pages/assets/7326800/c197fc35-0844-43d0-9830-82440cee4559\n[l7-link]:https://tarampampam.github.io/error-pages/l7/404.html\n[l7-dark]:https://github.com/tarampampam/error-pages/assets/7326800/18e43ea3-6389-4459-be41-0fc6566a073f\n[l7-light]:https://github.com/tarampampam/error-pages/assets/7326800/05f26669-94ec-40ce-8d67-a199cde54202\n[lost-in-space-link]:https://tarampampam.github.io/error-pages/lost-in-space/404.html\n[lost-in-space-dark]:https://github.com/tarampampam/error-pages/assets/7326800/debf87c0-6f27-41a8-b141-ee3464cbd6cc\n[lost-in-space-light]:https://github.com/tarampampam/error-pages/assets/7326800/c347e63d-13a7-46d4-81b9-b25266819a1d\n[noise-link]:https://tarampampam.github.io/error-pages/noise/404.html\n[noise]:https://github.com/tarampampam/error-pages/assets/7326800/4cc5c3bd-6ebb-4e96-bee8-02d4ad4e7266\n[orient-link]:https://tarampampam.github.io/error-pages/orient/404.html\n[orient-dark]:https://github.com/tarampampam/error-pages/assets/7326800/bc2b0dad-c32c-4628-98f6-e3eab61dd1f2\n[orient-light]:https://github.com/tarampampam/error-pages/assets/7326800/8fc0a7ea-694d-49ce-bb50-3ea032d52d1e\n[shuffle-link]:https://tarampampam.github.io/error-pages/shuffle/404.html\n[shuffle-dark]:https://github.com/tarampampam/error-pages/assets/7326800/7504b7c3-b0cb-4991-9ac2-759cd6c50fc0\n[shuffle-light]:https://github.com/tarampampam/error-pages/assets/7326800/d2a73fc8-cf5f-4f42-bff8-cce33d8ae47e\n[win98-link]:https://tarampampam.github.io/error-pages/win98/404.html\n[win98-dark]:https://habrastorage.org/webt/bu/zt/5w/buzt5wsr-wixk0y8xjbxvepj0a8.png\n[win98-light]:https://habrastorage.org/webt/pg/e8/f1/pge8f1ahyspmgu9vyh0jigvq_es.png\n\n## 🚀 Installation\n\nDownload the latest binary for your OS/architecture from the [releases page][latest-release], or use the Docker image:\n\n| Registry                          | Image                             |\n|-----------------------------------|-----------------------------------|\n| [GitHub Container Registry][ghcr] | `ghcr.io/tarampampam/error-pages` |\n| [Quay.io][quay] (mirror)          | `quay.io/tarampampam/error-pages` |\n| [Docker Hub][docker-hub] (mirror) | `tarampampam/error-pages`         |\n\n\u003e [!WARNING]\n\u003e Using the `latest` tag for Docker images is strongly discouraged, as it may introduce backward-incompatible changes\n\u003e during **major** upgrades. Use versioned tags in the `X`, `X.Y`, or `X.Y.Z` format instead.\n\n\u003e [!IMPORTANT]\n\u003e The app is distributed as two separate binaries - `error-pages` (HTTP server) and `builder`. Docker tags follow this\n\u003e convention:\n\u003e - `X.Y.Z` (and `X.Y`, `X`) - includes the HTTP server\n\u003e - `X.Y.Z-builder` (and `X.Y-builder`, `X-builder`) - includes the builder and a pre-rendered error pages pack\n\nSupported image architectures - `linux/amd64`, `linux/arm/v7`, `linux/arm64`, `linux/ppc64le`, `linux/s390x`.\nAll images are signed with [Cosign][cosign] using keyless signing (GitHub OIDC).\n\n### 📦 Helm chart\n\nA Helm chart for Kubernetes is included with each release ([download][latest-helm-chart]), published on\n[Artifact Hub][artifacthub], and also available via an OCI registry (Helm v3.8+ required):\n\n```shell\nhelm install error-pages \\\n  oci://ghcr.io/tarampampam/error-pages/charts/error-pages \\\n  --version X.Y.Z\n```\n\nAll supported chart values, examples, and usage instructions can be found at [Artifact Hub][artifacthub].\n\n\u003e Helm chart sources are located in the [deploy/helm](deploy/helm) directory of the repository.\n\n[latest-release]:https://github.com/tarampampam/error-pages/releases/latest\n[ghcr]:https://github.com/tarampampam/error-pages/pkgs/container/error-pages\n[docker-hub]:https://hub.docker.com/r/tarampampam/error-pages\n[quay]:https://quay.io/repository/tarampampam/error-pages?tab=tags\n[pages-pack-zip]:https://github.com/tarampampam/error-pages/releases/latest/download/error-pages-static.zip\n[pages-pack-tar-gz]:https://github.com/tarampampam/error-pages/releases/latest/download/error-pages-static.tar.gz\n[cosign]:https://github.com/sigstore/cosign\n[latest-helm-chart]:https://github.com/tarampampam/error-pages/releases/latest/download/helm-chart.tgz\n[artifacthub]:https://artifacthub.io/packages/helm/error-pages/error-pages\n\n## 🛠 Integration guides\n\n- **Standalone** server or builder usage:\n  - [🚀 Start the HTTP server with a custom template (theme)](docs/guides/theming.md)\n  - [🚀 Generate error pages using built-in or custom templates](docs/guides/builder.md)\n\n- With **Nginx**:\n  - [🚀 Customize error pages in your own Nginx Docker image](docs/guides/nginx_image.md)\n  - [🚀 Use Nginx as a reverse proxy with custom error pages](docs/guides/nginx_upstream.md)\n\n- With **Caddy**:\n  - [🚀 Customize error pages in your own Caddy Docker image](docs/guides/caddy_image.md)\n  - [🚀 Use Caddy as a reverse proxy with custom error pages](docs/guides/caddy_upstream.md)\n\n- With **Traefik**:\n  - [🚀 Use Traefik with a local Docker Compose setup](docs/guides/traefik_docker.md)\n\n- With **Kubernetes**:\n  - [🚀 Use error-pages as the **ingress-nginx** default backend](docs/guides/k8s_ingress_nginx.md)\n  - [🚀 Use error-pages with **Traefik** in Kubernetes](docs/guides/k8s_ingress_traefik.md)\n  - [🚀 Use error-pages with **NGINX Gateway Fabric** in Kubernetes](docs/guides/k8s_ingress_ngf.md)\n  - [🚀 Use error-pages with **Envoy Gateway** in Kubernetes](docs/guides/k8s_ingress_envoy.md)\n  - [🚀 Use error pages with **HAProxy Ingress** in Kubernetes](docs/guides/k8s_ingress_haproxy.md)\n\n## 🦾 Performance\n\nMeasured on loopback (`127.0.0.1`), single connection, no artificial load\n(`wrk -t1 -c1 -d5s --latency http://127.0.0.1:8080/...`, less is better):\n\n|      Format | p50 (typical response time) | p90 (90% of responses complete within this time) |\n|------------:|:---------------------------:|:------------------------------------------------:|\n|        HTML |         **121 µs**          |                      262 µs                      |\n|        JSON |          **51 µs**          |                      75 µs                       |\n|         XML |          **48 µs**          |                      73 µs                       |\n|  Plain text |          **47 µs**          |                      68 µs                       |\n| HTML + gzip |         **2.4 ms**          |                      3.1 ms                      |\n| JSON + gzip |         **256 µs**          |                      510 µs                      |\n\n\u003e [!NOTE]\n\u003e HTML responses are large (full rendered template, ~65 KB), which is why gzip compression takes noticeably more\n\u003e time there. JSON/XML/text are compact structured responses, so they are fastest overall.\n\n## 💻 Command-line usage\n\nFor detailed instructions on using the HTTP server and the static site generator, including all supported environment\nvariables and usage examples, check the [CLI documentation](docs/CLI.md).\n\n## 🔍 How the server handles requests\n\nThe three most important things to understand about how the server behaves - how it determines which error page to\nshow, which format to return, and what request context it can expose.\n\n### How the error code is resolved\n\nThe server picks the HTTP status code from the **first** matching source:\n\n1. Path: `/404`, `/404.html`, `/404.json`, `/503.xml`, etc.\n2. `X-Code` request header\n3. Default: `--default-error-page` (or `DEFAULT_ERROR_PAGE`, default: 404)\n\n### How the response format is determined\n\nThe response format is picked from the **first** matching source:\n\n1. Path extension: `.html`, `.htm`, `.json`, `.xml`, `.txt`\n2. `Content-Type` request header\n3. `X-Format` request header (e.g. `X-Format: application/json`)\n4. `Accept` request header\n5. Default: **plain text**\n\nSupported formats: `HTML`, `JSON`, `XML`, `plain text`.\n\n### Service endpoints\n\nThe following HTTP endpoints can be used for health checks, monitoring, or other purposes:\n\n| Path                                           | Description                              |\n|------------------------------------------------|------------------------------------------|\n| `/healthz`, `/health`, `/health/live`, `/live` | Liveness probe - always returns `200 OK` |\n| `/version`                                     | Returns `{\"version\":\"...\"}` as JSON      |\n\n### Response headers\n\nEvery error page response includes the following headers automatically:\n\n| Header             | Value                                     | Notes                                              |\n|--------------------|-------------------------------------------|----------------------------------------------------|\n| `Content-Type`     | e.g. `text/html; charset=utf-8`           | Format-dependent                                   |\n| `Content-Length`   | Response body size in bytes               | Always set                                         |\n| `X-Robots-Tag`     | `noindex, nofollow, nosnippet, noarchive` | Prevents error pages from being indexed            |\n| `Retry-After`      | `120`                                     | Only for limited set of status codes               |\n| `Content-Encoding` | `gzip`                                    | Only when the client sends `Accept-Encoding: gzip` |\n\nHeaders listed in `--proxy-headers` (default: `X-Request-Id`, `X-Trace-Id`, `X-Correlation-Id`,\n`X-Amzn-Trace-Id`) are copied from the incoming request to the response when present.\n\n### HTTP status code of the response\n\nBy default, the server always responds with **HTTP 200**, even when rendering error pages. This is the correct\nbehavior when a reverse proxy (Nginx, Traefik, ingress-nginx) intercepts upstream error responses and replaces\nonly the body - the proxy itself sends the original error status code back to the client.\n\nWhen error-pages is used as a **direct backend** - e.g. a catch-all route, a Kubernetes default backend, or\nstandalone testing - it must return the correct status code itself. Enable `--send-same-http-code`\n(or env `SEND_SAME_HTTP_CODE=true`) to make the HTTP response status match the error code being rendered.\n\n## 📝 Templating and Localization\n\nFor detailed instructions on using custom templates and localization features, see the\n[templating documentation](docs/templating.md).\n\n## 🔧 Development\n\n### Requirements\n\n- [**Go 1.27+**](https://go.dev/doc/install) for building from source and running tests\n- Optional: [golangci-lint](https://golangci-lint.run/docs/welcome/install/local/) for linting\n- Optional: [docker](https://docs.docker.com/engine/install/debian/#install-using-the-convenience-script) for testing\n  the Docker image locally\n- Optional: [helm](https://helm.sh/docs/intro/install/) + [kind](https://kind.sigs.k8s.io/docs/user/quick-start/) + docker\n  for testing the Helm chart locally in Kubernetes\n- Optional: [helm-docs](https://github.com/norwoodj/helm-docs/releases/latest) for generating Helm chart documentation\n- Optional: [wrk](https://github.com/wg/wrk) for benchmarking the server performance\n- Optional: [watchexec](https://github.com/watchexec/watchexec/releases/latest) for live reloading the server during\n  development\n\n**Commands**:\n\n```shell\ngo generate -skip readme ./...            # (re)generate code, except docs\ngo generate ./...                         # (re)generate everything\ngo build ./cmd/error-pages/ \u0026\u0026 go build ./cmd/builder/ # build both binaries\ngo test -race ./...                       # run all tests\ngolangci-lint run --fix                   # lint the code and apply any available auto fixes\nhelm-docs -c ./deploy/helm/ -t README.tpl.md -o README.md # regenerate chart readme file\n\n# run a live reloading server (useful for testing template changes)\nwatchexec -r -- go run ./cmd/error-pages/ --show-details\n```\n\n## 🧑‍🤝‍🧑 Contributors\n\nI want to say a big thank you to everyone who contributed to this project:\n\n[![contributors](https://contrib.rocks/image?repo=tarampampam/error-pages)][contributors]\n\n[contributors]:https://github.com/tarampampam/error-pages/graphs/contributors\n\n## 👾 Support\n\n[![Issues][badge-issues]][issues]\n[![Issues][badge-prs]][prs]\n\nIf you encounter any bugs in the project, please [create an issue][new-issue] in this repository.\n\n[badge-issues]:https://img.shields.io/github/issues/tarampampam/error-pages.svg?maxAge=45\n[badge-prs]:https://img.shields.io/github/issues-pr/tarampampam/error-pages.svg?maxAge=45\n[issues]:https://github.com/tarampampam/error-pages/issues\n[prs]:https://github.com/tarampampam/error-pages/pulls\n[new-issue]:https://github.com/tarampampam/error-pages/issues/new/choose\n\n## 📖 License\n\nThis is open-sourced software licensed under the [MIT License][license].\n\n[license]:https://github.com/tarampampam/error-pages/blob/master/LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftarampampam%2Ferror-pages","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftarampampam%2Ferror-pages","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftarampampam%2Ferror-pages/lists"}