Skip to content

docs: lazy load Mermaid and KaTeX for faster initial page load #23

docs: lazy load Mermaid and KaTeX for faster initial page load

docs: lazy load Mermaid and KaTeX for faster initial page load #23

Workflow file for this run

name: Docs (GitHub Pages)
on:
push:
branches: [master]
paths:
- 'docs/**'
- '.github/workflows/pages.yml'
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: pages
cancel-in-progress: true
jobs:
deploy:
# Only run on the original repository, not on forks
if: github.repository == 'LessUp/cpp-high-performance-guide'
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deploy.outputs.page_url }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: npm
cache-dependency-path: docs/package-lock.json
- name: Configure GitHub Pages
id: pages
uses: actions/configure-pages@v5
- name: Set VitePress base
shell: bash
env:
BASE_PATH: ${{ steps.pages.outputs.base_path }}
run: |
set -euo pipefail
if [[ -z "${BASE_PATH}" ]]; then
base="/"
else
base="${BASE_PATH%/}/"
fi
echo "VITEPRESS_BASE=${base}" >> "$GITHUB_ENV"
- name: Install docs dependencies
working-directory: docs
run: npm ci
- name: Run docs regression tests
working-directory: docs
run: npm test
- name: Build docs
working-directory: docs
run: npm run build:pages
- name: Add .nojekyll
run: touch docs/.vitepress/dist/.nojekyll
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs/.vitepress/dist
- name: Deploy to GitHub Pages
id: deploy
uses: actions/deploy-pages@v4