From 17feedfc34d00246338d404cbab09b8045c2e2b7 Mon Sep 17 00:00:00 2001 From: idk Date: Tue, 6 May 2025 00:44:40 -0400 Subject: [PATCH] Create page.yml --- .github/workflows/page.yml | 60 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .github/workflows/page.yml diff --git a/.github/workflows/page.yml b/.github/workflows/page.yml new file mode 100644 index 0000000..c4fb3ab --- /dev/null +++ b/.github/workflows/page.yml @@ -0,0 +1,60 @@ +name: Generate and Deploy GitHub Pages + +on: + # Run once hourly + schedule: + - cron: '0 * * * *' + # Allow manual trigger + workflow_dispatch: + # Run on pushes to main branch + push: + branches: + - main + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Fetch all history for proper repo data + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.24.x' + cache: true + + - name: Build Site Generator + run: | + go install github.com/go-i2p/go-gh-page/cmd/github-site-gen@latest + export GOBIN=$(go env GOPATH)/bin + cp -v "$GOBIN/github-site-gen" ./github-site-gen + # Ensure the binary is executable + chmod +x github-site-gen + + - name: Generate Site + run: | + # Determine current repository owner and name + REPO_OWNER=$(echo $GITHUB_REPOSITORY | cut -d '/' -f 1) + REPO_NAME=$(echo $GITHUB_REPOSITORY | cut -d '/' -f 2) + + # Generate the site + ./github-site-gen -repo "${REPO_OWNER}/${REPO_NAME}" -output ./site + + # Create a .nojekyll file to disable Jekyll processing + touch ./site/.nojekyll + + # Add a .gitattributes file to ensure consistent line endings + echo "* text=auto" > ./site/.gitattributes + + - name: Deploy to GitHub Pages + uses: JamesIves/github-pages-deploy-action@v4 + with: + folder: site # The folder the action should deploy + branch: gh-pages # The branch the action should deploy to + clean: true # Automatically remove deleted files from the deploy branch + commit-message: "Deploy site generated on ${{ github.sha }}"