bigbluebutton-Github/docs
2024-05-10 19:11:44 -04:00
..
docs Merge remote-tracking branch 'bbb/v3.0.x-release' into develop 2024-05-10 19:11:44 -04:00
src docs: init changes for BBB 3.0 2023-12-07 11:03:08 -05:00
static docs: diagrams update, api info update 2024-05-10 12:11:37 -04:00
.gitignore Versioning configuration and improvents in the build script 2023-02-09 10:53:47 +01:00
babel.config.js
build.sh docs: build 3.0 docs 2023-12-07 16:33:38 -05:00
docusaurus_start_error_001.png docs: improve README with a screenshot of the most common error 2024-05-09 09:05:25 -04:00
docusaurus.config.js Merge remote-tracking branch 'bbb/v3.0.x-release' into develop 2024-05-10 19:11:44 -04:00
package-lock.json docs: replaced search tool 2024-05-09 10:57:35 -04:00
package.json docs: replaced search tool 2024-05-09 10:57:35 -04:00
README.md docs: replaced search tool 2024-05-09 10:57:35 -04:00
sidebars.js docs: drop release notes page 2024-05-10 16:04:26 -04:00
tsconfig.json

BigBlueButton Docs

These docs are automatically built using Docusaurus 2 and GitHub Actions (see deploy-docs.yml).

Local Development

To test build the docs locally use:

$ npm ci  # install docusaurus and dependencies (based on the package-lock.json file)
$ npx docusaurus start  # start local dev server

By default docusaurus.config.js contains instructions for the building of a few extra branches. However, on in a development environment you may run into the following error from docusaurus:

Development setup for docusaurus possible error

Error: The docs folder does not exist for version "2.6". A docs folder is expected to be found at versioned_docs/version-2.6.

In this case you may want to drop all but the current branch. For example:

diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js
index 50b72b12ec..04f360a955 100644
--- a/docs/docusaurus.config.js
+++ b/docs/docusaurus.config.js
@@ -38,12 +38,6 @@ const config = {
                     lastVersion: '2.7',
                     includeCurrentVersion: false,
                     versions: {
-                        '2.5-legacy': {
-                            banner: 'none'
-                        },
-                        '2.6': {
-                            banner: 'none'
-                        },
                         '2.7': {
                             banner: 'none'
                         },

The last command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

There is also a script build.sh that goes through all branches of the repository and adds all release branches that have a docusaurus.config.js-file as versions to the docs. Note that you can not have uncommitted local changes before you run /build.sh, otherwise git will refuse to change branches. This step is optional and if you don't run it, docusaurus will only build the currently checkout out version which is recommended for local development (building all the versions locally can lead to problems with the live updates when using npx docusaurus start).

Build

If you only want to build the docs you can run:

$ npx docusaurus clear # ensure cached content is not interfering with your changes
$ npx docusaurus build
$ npm run serve

This command generates static content into the build directory and can be served using any static contents hosting service.

Troubleshooting

Sometimes cached content can interfere with your changes during live updates in development or when building the docs. To avoid this you can run:

$ npx docusaurus clear  # ensure cached content is not interfering with your changes
$ rm -r versioned_docs versioned_sidebars versions.json  # if you build multiple versions

Cutting a new release

The docs for all versions are build and deployed from the develop-branch, but the actual documentation per version lives in each version-branch (e.g. v2.6.x-release). When cutting a new BigBlueButton release at least these two files need to be adjusted on develop:

  • build.sh: the variable BRANCHES is a list of all branches for which documentation will be included
  • docusaurus.config.js: adjust metadata and versions in config.presets.docs.versions