Migrate GitHub Pages documentation from Jekyll to Docusaurus
Rationale
See GitHub issue #545 for the work to migrate the page management system (JAM stack, Static Site Generation). The stated reasons for this migration effort include:
The current Jekyll-based solution is fragile and brittle - dependencies can be frequently updated and typically rely on differing versions of shared libraries
complex to learn and support - it's easy to install or use the wrong libraries and misconfigure the ruby environment so badly that you cannot preview pages
does not support different versions per branch - as we begin to use two or more branches at once, it is important to keep the diverging features documented separately (in their own branch)
Documentation is generated in Markdown, associated with each repository, moved to open-horizon.github.io repo when merged, and the site is generated in Jekyll with keywords abstracted out and inserted at page generation time.
Structure
Directives
Manual HTML element IDs
IDs are currently assigned using this syntax, which throws an acorn parsing error:
# Accessing management hub logs
{: #accessing_logs}
The proposed solution is to remove the colon and space from the tag and move it up to the previous line separated from the title by a space:
# Accessing management hub logs {#accessing_logs}
Code blocks with CSS className for styling
Code blocks are currently written using this pattern:
```bash
oc get pods --namespace kube-system | grep ibm-edge
```
{: codeblock}
The hanging colon directive at the end is causing an acorn parsing error. Proposed solution is to remove the trailing directive and edit site configuration to add className to all code blocks if still needed:
Navigation
How should we indicate alternate content to be "hidden" behind tabs?
Keywords
I18N
Automation/Generation
Branches/Versioning documentation
Open Horizon currently supports three branches simultaneously: 2.30 (on VM1 in the lab), 2.31 (on VM2), and main (VM3). Let's investigate how to track and use documentation for features specific to one or more branches.