Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/openvidu/openvidu.io
OpenVidu Web repository
https://github.com/openvidu/openvidu.io
Last synced: about 1 month ago
JSON representation
OpenVidu Web repository
- Host: GitHub
- URL: https://github.com/openvidu/openvidu.io
- Owner: OpenVidu
- License: apache-2.0
- Created: 2017-06-16T12:01:47.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-11-07T17:56:51.000Z (about 2 months ago)
- Last Synced: 2024-11-07T18:48:23.091Z (about 2 months ago)
- Language: Shell
- Size: 307 MB
- Stars: 4
- Watchers: 8
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Support: docs/support.md
Awesome Lists containing this project
README
# openvidu-docs
This documentation is built with [MkDocs Material](https://squidfunk.github.io/mkdocs-material/).
1. Create custom Docker image with necessary extra plugins:
```bash
docker build --pull --no-cache --rm=true -t squidfunk/mkdocs-material .
```2. Serve:
```bash
docker run --name=mkdocs --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material
```3. Build:
```bash
docker run --rm -it -v ${PWD}:/docs -e GOOGLE_ANALYTICS_KEY=G-XXXXXXXX squidfunk/mkdocs-material build
```Parameters:
- `GOOGLE_ANALYTICS_KEY`: Google Analytics key to track page views. This is the **MEASUREMENT ID** of the web stream details.
## Versioning
MkDocs Material uses the [mike](https://github.com/jimporter/mike) tool for versioning. mike uses GitHub pages to host the documentation, and builds each version on branch `gh-pages`. Install it with `pip install mike`.
The repository must be using MkDocs Material and must be properly setup like explained [here](https://squidfunk.github.io/mkdocs-material/setup/setting-up-versioning/). This proper setup includes the following points:
- Adding `extra.version.provider: mike` to mkdocs.yml.
- Properly configuring the default alias like `extra.version.default: latest` in mkdocs.yml.
- Adding `extra.version.alias: true` to mkdocs.yml (just to show the default alias tag next to the version selector).
- Properly configuring `site_url` in mkdocs.yml to the actual domain name in which the docs will be served (this allows staying on the same path when switching versions).These configurations get the repository ready for versioning.
### Prerequisites
Before running the scripts below, ensure you have the following packages installed in addition to `mike`:
- `mkdocs-material`
- `mkdocs-glightbox`You can install them using pip:
```bash
pip install mkdocs-material mkdocs-glightbox
```### Publishing a new version
This script publishes a new version, updates alias "latest" to point to this new version, and updates the non-versioned files at root.
It also creates a new branch from main named after the version (e.g. `3.0.0`) and pushes it to the repository. This allows modifying past versions if required later.
```bash
cd custom-versioning
./push-new-version.sh 3.0.0
```### Overwriting the latest version
This script overwrites the content of the latest published version, also updating the non-versioned files at root.
It also updates the version branch with any new commits available in main branch (with a `git rebase`). This keeps the latest version branch up to date with the latest changes in main.
```bash
cd custom-versioning
./overwrite-latest-version.sh 3.0.0
```### Overwriting a past version
This script overwrites the content of a specific past version without touching the non-versioned files at root.
In this case, all the changes to be published must be already commited into the version branch before calling this script.
```bash
cd custom-versioning
./overwrite-past-version.sh 3.0.0
```### Understanding the versioning script
Script `push-new-version.sh` performs the following steps:
1. Deploy a new version of the documentation with `mike`.
2. Update the non-versioned HTML files (home, support, pricing...) accessible from "/" to the state of the new version. This keeps the global pages served on "/ always updated to the latest published version.
3. Rewrite the versioned HTML files (docs) accessible from "/" to redirect to their versioned counterparts served in "/latest/". For example, this allows redirecting from `https://openvidu.io/docs/getting-started` to `https://openvidu.io/latest/docs/getting-started`.
4. Rewrite the non-versioned HTML files (home, support, pricing...) accessible from "/X.Y.Z/" to redirect to their non-versioned counterparts served in "/". For example, this allows redirecting from `https://openvidu.io/3.0.0/pricing` to `https://openvidu.io/pricing`.> The overwriting of the non-versioned files located at root of `gh-pages` branch (points 2 and 3 above) is done by default. To avoid overriding these files, call the script adding `false` as second argument: `./push-new-version.sh 3.0.0 false`. Script `overwrite-past-version.sh` does this to only overwrite the files of that specific past version without affecting the root non-versioned files.
## Testing versioning locally
This will serve the content of gh-pages branch locally:
```bash
mike serve
```To build a new version without pushing to GitHub:
```bash
mike deploy 3.0.0
```## Updating tutorials
Whenever any changes are made to the **application-client** or **application-server tutorials** documentation, theses changes must be also reflected in [livekit-tutorials-docs repository](https://github.com/OpenVidu/livekit-tutorials-docs).
In order to publish the changes in the tutorials, follow these steps:
- In this repository, push the changes to the `main` branch and execute the script [Overwriting the latest version](#overwriting-the-latest-version) to update the latest version of the documentation.
- In the [livekit-tutorials-docs repository](https://github.com/OpenVidu/livekit-tutorials-docs), push the changes to the `main` branch, go to `Actions` and run the workflow named "Publish Web" selecting the `main` branch.