Skip to content

fix(demos): sync Manim 13–14 to short TTS; compose uses -shortest #12

fix(demos): sync Manim 13–14 to short TTS; compose uses -shortest

fix(demos): sync Manim 13–14 to short TTS; compose uses -shortest #12

Workflow file for this run

name: Deploy to GitHub Pages
on:
push:
branches:
- main
paths:
- 'docs/**'
- '.github/workflows/pages.yml'
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
deploy:
# Required for deploy-pages; shows deployment URL on the environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
steps:
- name: Checkout
uses: actions/checkout@v4
with:
lfs: true
# Same MP4 paths are reused on every deploy; browsers + CDN cache them hard.
# Bump the query string on each deploy so viewers get the bytes that match main.
- name: Cache-bust video URLs in index.html
env:
GITHUB_SHA: ${{ github.sha }}
run: |
python3 <<'PY'
import os, pathlib, re
sha = os.environ["GITHUB_SHA"][:12]
path = pathlib.Path("docs/index.html")
text = path.read_text(encoding="utf-8")
def repl(m: re.Match) -> str:
base = m.group(1)
return f'src="{base}?v={sha}"'
new = re.sub(
r'src="(demos/recordings/[^"?]+\.mp4)(?:\?[^"]*)?"',
repl,
text,
)
path.write_text(new, encoding="utf-8")
PY
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4