Skip to content

docs: add warning about syncing output format in workflow with _quarto.yml #18

docs: add warning about syncing output format in workflow with _quarto.yml

docs: add warning about syncing output format in workflow with _quarto.yml #18

on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
name: Render and Publish
permissions:
contents: read
pages: write
id-token: write
jobs:
lint:
name: Lint with Prettier
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v5
- name: Set up Node.js
uses: actions/setup-node@v5
with:
node-version: '24'
- name: Install dependencies
run: npm install
- name: Check for linting errors
run: npm run check
build-optimize:
name: Build, Optimize, and Upload Artifacts
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v5
- name: Set up Quarto
uses: quarto-dev/quarto-actions/setup@v2
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# To install LaTeX to build PDF book outputs, uncomment below
# tinytex: true
# uncomment below and fill to pin a version
# version: SPECIFIC-QUARTO-VERSION-HERE
# add software dependencies here and any libraries
# From https://github.com/actions/setup-python
# - name: Setup Python
# uses: actions/setup-python@v3
# From https://github.com/r-lib/actions/tree/v2-branch/setup-r
# - name: Setup R
# uses: r-lib/actions/setup-r@v2
# From https://github.com/julia-actions/setup-julia
# - name: Setup Julia
# uses: julia-actions/setup-julia@v1
# See more at https://github.com/quarto-dev/quarto-actions/blob/main/examples/example-03-dependencies.md
- name: Install Quarto extensions
run: cd test && quarto add Stadt-Geschichte-Basel/sgb-theme --no-prompt
- name: Render Quarto Project
uses: quarto-dev/quarto-actions/render@v2
with:
to: sgb-theme-html
path: test
- name: JamPack Optimization
run: |
npx @divriots/jampack test/_site
- name: Upload Built Artifacts
uses: actions/upload-artifact@v4
with:
name: built-site
path: test/_site
- name: Upload static files as artifact
id: deployment
uses: actions/upload-pages-artifact@v4 # or specific "vX.X.X" version tag for this action
with:
path: test/_site
deadlinkcheck:
name: Download Artifacts and Check for Dead Links
runs-on: ubuntu-latest
needs: build-optimize
steps:
- name: Download Built Artifacts
uses: actions/download-artifact@v5
with:
name: built-site
path: test/_site
- name: Start static server
run: |
cd test/_site
nohup python3 -m http.server 5528 &
sleep 3 # Give the server time to start
- name: Check for broken links
run: |
wget --spider --recursive --no-parent --no-check-certificate http://localhost:5528/ || exit 1
deploy:
name: Deploy
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: [build-optimize, deadlinkcheck]
if: github.event_name != 'pull_request'
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4