# Simple workflow for deploying static content to GitHub Pages name: Deploy SmartDNS Pages on: # Runs on pushes targeting the default branch push: branches: ["doc"] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write # Allow one concurrent deployment concurrency: group: "pages" cancel-in-progress: true jobs: # Single deploy job since we're just deploying deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Run the build process with Docker uses: addnab/docker-run-action@v3 with: image: squidfunk/mkdocs-material:latest options: -v ${{ github.workspace }}:/root run: | cd /root/en mkdocs build cd /root SITE_URL=${{ vars.SITE_URL }} mkdocs build mv /root/en/site /root/site/en # patch 404 page, remove absolute path [ -z "${{ vars.SITE_URL }}" ] && sed 's@="/@="@g' -i /root/site/404.html sed 's@="/@="@g' -i /root/site/en/404.html # patch language change url find /root/site -name "*.htm*" -print0 | xargs -0 sed -i 's/href=" .."/href=".."/g' find /root/site -name "*.htm*" -print0 | xargs -0 sed -i 's@/ .."@/.."@g' - name: Setup Pages uses: actions/configure-pages@v5 - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: # Upload entire repository path: 'site' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4