Visit at https://livekit-tutorials.openvidu.io/.
Create custom Docker image with necessary extra plugins:
docker build --pull --no-cache --rm=true -t squidfunk/mkdocs-material .Serve:
docker run --name=mkdocs --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-materialBuild (what the publish workflow runs — zero WARNINGs allowed):
docker run --rm -it -v ${PWD}:/docs squidfunk/mkdocs-material build --strictThe same tutorials are published on both sites for different audiences: this one is LiveKit-first (it captures LiveKit-brand search traffic), openvidu.io is OpenVidu-first. Any change to a tutorial must be made on both sides.
Check it with:
tools/sync-check.py [--openvidu-io ../openvidu.io] # the two copies still agree
tools/sync-check.py --frontmatter # titles <=45, descriptions 100-160, both uniqueIt compares every tutorial page and snippet against its openvidu.io counterpart, normalizing away the differences that are intentional, and exits non-zero if anything else differs. The intentional differences, all listed at the top of the script:
| This site | openvidu.io | |
|---|---|---|
Frontmatter title/description |
LiveKit-first wording | OpenVidu-first wording |
| Tutorial source links | track master |
pinned to the release tag |
| Links to openvidu.io | absolute, version-less (/latest/), UTM-tagged on conversion links |
repo-relative .md |
| Step 1 | run-livekit-server*.md: LiveKit local, LiveKit Cloud or OpenVidu |
runs OpenVidu |
| "Accessing your app from other devices" | this site's own comparison page | openvidu.io self-hosting docs |
| Recording tutorials | S3 only; the Azure case links openvidu.io's Azure tutorials | S3 and Azure variants |
| Image paths | /assets/images/tutorials/… |
/assets/images/platform/tutorials/… |
| The external-link icon | on links to openvidu.io too — from here they leave the site | only on third-party links |
| The counterpart box | every tutorial includes tutorials/counterpart-box.md and defines its [counterpart] link (both enforced) |
none |
When a real difference is meant to stay, add it to the script's rules with a comment saying why — never leave it reported.
Merging to main does not change the live site.
- In this repository, push to
mainand run GitHub Action Publish Web selecting themainbranch. - In repository openvidu.io, push to
mainand run the GitHub Action to overwrite the latest version, so the tutorials at openvidu.io/latest/docs/tutorials match.