Generate Directory Listings for Github Pages using Github Actions.
Read about pages deployment action
Add a .github/workflows/workflow.yml
to the root of your repository.
name: directory-listing
on: [push]
jobs:
pages-directory-listing:
runs-on: ubuntu-latest
name: Directory Listings Index
steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
ref: dummy-data #checkout different branch
- name: Generate Directory Listings
uses: jayanta525/[email protected]
with:
FOLDER: data #directory to generate index
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: 'data' # upload generated folder
deploy:
needs: pages-directory-listing
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
# Specify runner + deployment step
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
- name: Checkout Repository
uses: actions/checkout@v3
with:
ref: dummy-data #checkout different branch
- name: Checkout tools repo
uses: actions/checkout@v3
with:
repository: my-org/my-tools #repo public url
path: my-tools #folder to clone to
ref: branch-name #branch to clone
- name: Generate Directory Listings
uses: jayanta525/[email protected]
with:
FOLDER: data #directory to generate index
Refer here for more options: https://github.com/marketplace/actions/checkout
This action uses Github's own pages deploy action. No gh-pages branch is required.
Under Settings > Pages > Build & Deployment
demo URL: https://jayanta525.github.io/github-pages-directory-listing/