{"id":26167464,"url":"https://github.com/gacts/directory-listing","last_synced_at":"2025-07-19T03:03:45.506Z","repository":{"id":281856831,"uuid":"946431204","full_name":"gacts/directory-listing","owner":"gacts","description":"🚀 GitHub Action to generate `index.html` files for directory listings","archived":false,"fork":false,"pushed_at":"2025-07-09T10:26:01.000Z","size":745,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-09T11:24:53.313Z","etag":null,"topics":["action","directory-listing","files-listing","github-action","index","indexing","listing","serving-directory"],"latest_commit_sha":null,"homepage":"https://gacts.github.io/directory-listing/demo","language":"JavaScript","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/gacts.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":"2025-03-11T06:03:31.000Z","updated_at":"2025-07-09T10:25:07.000Z","dependencies_parsed_at":"2025-03-11T14:47:02.955Z","dependency_job_id":null,"html_url":"https://github.com/gacts/directory-listing","commit_stats":null,"previous_names":["gacts/directory-listing"],"tags_count":0,"template":false,"template_full_name":"actions/javascript-action","purl":"pkg:github/gacts/directory-listing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gacts%2Fdirectory-listing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gacts%2Fdirectory-listing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gacts%2Fdirectory-listing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gacts%2Fdirectory-listing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gacts","download_url":"https://codeload.github.com/gacts/directory-listing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gacts%2Fdirectory-listing/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265878915,"owners_count":23843034,"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":["action","directory-listing","files-listing","github-action","index","indexing","listing","serving-directory"],"created_at":"2025-03-11T17:37:18.247Z","updated_at":"2025-07-19T03:03:45.473Z","avatar_url":"https://github.com/gacts.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📂 Generate `index.html` Files for Directory Listings\n\n![Release Version][badge_release_version]\n[![Build Status][badge_build]][link_build]\n[![License][badge_license]][link_license]\n\nThis GitHub Action generates an `index.html` file for specified directories, allowing easy browsing of static files.\nIt is particularly useful for repositories using [GitHub Pages](https://pages.github.com/) or other static file\nhosting solutions.\n\nIt works straightforward - you provide a path to a directory, and it generates an `index.html` file in each\nsubdirectory it finds within it. Once generated, you can store all the files, including the `index.html` files,\nand deploy them to your hosting provider (e.g., GitHub Pages).\n\nThe motivation behind this action is to provide a simple way to generate directory listings with a modern look due to\nGitHub Pages' lack of support for directory listings. However, in some cases, you may need to host artifacts via\nHTTP (e.g., for Helm charts) with opportunities to browse them.\n\n\u003e Inspired by [generate-directory-listing-action](https://github.com/yKicchan/generate-directory-listing-action).\n\n[badge_build]:https://img.shields.io/github/actions/workflow/status/gacts/directory-listing/tests.yml?branch=main\u0026maxAge=30\n[badge_release_version]:https://img.shields.io/github/release/gacts/directory-listing.svg?maxAge=30\n[badge_license]:https://img.shields.io/github/license/gacts/directory-listing.svg?longCache=true\n[link_build]:https://github.com/gacts/directory-listing/actions\n\n## 🎨 Demo\n\n| Light                           | Dark                          |\n|---------------------------------|-------------------------------|\n| ![Light Theme](./art/light.png) | ![Dark Theme](./art/dark.png) |\n\n\u003e [!NOTE]\n\u003e The theme is selected automatically based on the user's system preference (light or dark mode).\n\nThe full demo is always [available here](https://gacts.github.io/directory-listing/demo/).\n\n## 🚀 Usage\n\n```yaml\njobs:\n  generate-index:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: gacts/directory-listing@v1\n        with:\n          target: ./assets\n          # target: .\n          # ignore: |\n          #   build/**\n          #   **/index.html\n          #   node_modules/**,**/*.log\n          # show-hidden: true\n          # overwrite: true\n\n      - uses: peaceiris/actions-gh-pages@v4\n        with:\n          github_token: ${{ secrets.GITHUB_TOKEN }}\n          publish_dir: ./assets\n```\n\n## ⚙️ Customization\n\n### Inputs\n\nThese input parameters can be specified using `with`:\n\n| Name          | Type          | Default              | Required | Description                                                                 |\n|---------------|---------------|----------------------|----------|-----------------------------------------------------------------------------|\n| `target`      | `string`      | `.`                  | No       | The path to the directory where the `index.html` file should be generated   |\n| `ignore`      | `string/list` | `**/index.html`      | No       | Comma or newline-separated [patterns][glob] of files/directories to exclude |\n| `show-hidden` | `boolean`     | `false`              | No       | Whether to include hidden files and directories in the listing              |\n| `overwrite`   | `boolean`     | `false`              | No       | Whether to overwrite an existing `index.html` file in the target directory  |\n| `footer`      | `string`      | `\u003clink to the repo\u003e` | No       | The footer content to be added to the index file                            |\n\n[glob]:https://github.com/isaacs/node-glob#usage\n\n### Outputs\n\n| Name        | Type       | Description                                              |\n|-------------|------------|----------------------------------------------------------|\n| `generated` | `string[]` | An array of paths where `index.html` files were created. |\n\n## 📦 Releasing\n\nTo release a new version:\n\n1. Build the action distribution: `make build` or `npm run build`\n2. Commit and push all changes, including the `dist/` directory (this is **mandatory**).\n3. Publish a new release via the [GitHub Releases](https://github.com/gacts/directory-listing/releases) page.\n   Use the format `vX.Y.Z` for the release tag (e.g., `v1.2.3`).\n4. The `vX` and `vX.Y` tags (e.g., `v1`, `v1.2`) will be updated automatically.\n\n\u003e [!TIP]\n\u003e Use [Dependabot](https://bit.ly/45zwLL1) to keep this action updated in your repository.\n\n## 💬 Support\n\n[![Issues][badge_issues]][link_issues]\n[![Pull Requests][badge_pulls]][link_pulls]\n\nEncounter a bug or need a feature? [Create an issue][link_create_issue] in this repository.\n\n[badge_issues]:https://img.shields.io/github/issues/gacts/directory-listing.svg?maxAge=45\n[badge_pulls]:https://img.shields.io/github/issues-pr/gacts/directory-listing.svg?maxAge=45\n[link_issues]:https://github.com/gacts/directory-listing/issues\n[link_create_issue]:https://github.com/gacts/directory-listing/issues/new\n[link_pulls]:https://github.com/gacts/directory-listing/pulls\n\n## 📜 License\n\nThis project is licensed under the [MIT License][link_license].\n\n[link_license]:https://github.com/gacts/directory-listing/blob/master/LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgacts%2Fdirectory-listing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgacts%2Fdirectory-listing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgacts%2Fdirectory-listing/lists"}