A documentation site for IBM Video Streaming APIs and use cases - URL
With this repository Video Streaming developers can easily update their API documentations.
The site content is in mdx
format.
MDX is like an extension of Markdown documents. MDX is an author-able format that lets you seamlessly write JSX in your Markdown documents. You can import components, such as interactive charts or alerts, and embed them within your content. This makes writing long-form content with components a blast 🚀. MDX seeks to make writing with Markdown and JSX simpler while being more expressive.
To collaborate with this repository in GitHub you need to follow these steps:
- Fork the repository into your own GitHub
- Clone the repository to your local machine
- Create a new branch for your changes
- Make some changes and commit them with useful messages (Conventional Commit messages preferred)
- Push the changes to your repository
- Create a Pull Request from your repository back to the original one
Then the code owners will review your Pull Request and if the PR is accepted and merged into master a Github Action will build and push the site to the gh-pages
branch and the deployment is done.
The site content and page structure can be found here: src/pages/
For example, you want to update the Channel API/Security/Embed Restriction page. Just navigate to src/pages/channel-api-security/
folder and update the embed-restriction.mdx
file.
You can use GitHub UI to edit this file, or you can check out the repo and edit locally. For local development you can find instructions below.
Check out this article template file for available mdx components:
- Check out the repo
- CD into the repo dir
- If Docker is already installed
- Run:
docker run -it --rm -v $(pwd):/data -w=/data --user=$(id -u):$(id -g) -p 8000:8000 node:18 /bin/bash
- Stay in the container and jump to #5, no need to install NodeJS, but still must run the
npm
commands below.
- Run:
- Make sure NodeJS is installed, if not:
brew install node
or see https://nodejs.org/en/download/ - Install the dependencies:
npm install
- Note: some package installation may hang. Just press
Ctrl+C
and restart the command
- Note: some package installation may hang. Just press
- Run the site locally:
npm run dev
- Wait for the address to be displayed, it may take a while
- Open the site in the browser, changes in the source should be displayed automatically
in order to create a new page, you have to
-
extend the nav items file:
src/data/nav-items.yaml
Each api url must starts with the api name.
api-basics
,channel-api
,viewer-authentication
,player-api
,analytics-api
-
pages are in Markdown format. Create the new mdx file in the
src/pages/
directory, or edit an existing mdx file. Pages can be in the root in the 'pages' directory. For example/player-api-usage
, or it can be in a separate directory,/player-api-examples/basic-embed
. Use directory is page if grouped in a main menu, use file if it stands alone. Examples of page contents can be found here:
The project uses this GitHub Action to build and publish the site: Gatsby Publish
To mark your PR as work in progress (e.g.: you wrote documentation to a feature which is not released yet) write WIP inside the PR's title. In this case merge is prevented by the WIP check. If the PR is ready to be merged (e.g.: the documented feature is released) you could remove WIP from the title.