Deploy static content to Pages #9
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy static content to Pages | |
on: | |
schedule: | |
- cron: '37 3 * * *' # Run every 24 hours | |
push: | |
branches: ["main"] | |
workflow_dispatch: | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
concurrency: | |
group: "pages" | |
cancel-in-progress: false | |
jobs: | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Mirror Freenet Website and Process HTML | |
run: | | |
sudo apt-get install wget perl | |
wget -v --mirror --convert-links --adjust-extension --page-requisites --span-hosts --domains=freenet.org,private-user-images.githubusercontent.com --no-parent https://freenet.org -P freenet-website/ | |
find freenet-website/ -name "*.html" -exec perl -i -0pe 's/<img[^>]*?githubusercontent\.com[^>]*>//g' {} \; | |
find freenet-website/ -name "*.html" -exec perl -i -0pe 's/<script.*?<\/script>//gs' {} \; | |
mv freenet-website/freenet.org/* freenet-website/ | |
mv freenet-website/freenet.org/.* freenet-website/ || true | |
rmdir freenet-website/freenet.org | |
- name: Setup Pages | |
uses: actions/configure-pages@v4 | |
# Upload the mirrored website directory | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: './freenet-website' | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 |