Documentation for the cross-language-cpp fork of djinni.
➡️ Available at: djinni.xlcpp.dev
This documentation covers of the following topics:
- General Documentation: a fancy landing page and some general information about the project.
- Generator: documentation of the djinni-generator
- Support-Lib: documentation of the djinni-support-lib
- IntelliJ Plugin: documentation of the djinni-intellij-plugin
- VS Code Extension: documentation of the vscode-djinni extension
- python3
- bash
Install python dependencies:
pip3 install -r requirements.txt
- Before making local changes, make sure to update all submodules:
git submodule foreach git pull
- Configure the mkdocs.yml file:
./configure.sh
- Start a dev server:
mkdocs serve
- A live preview of the page is now available at http://localhost:8000/.
The page is automatically deployed on each merge into main
.
The submodules follow the main
branch of each repository. On each publish action the submodules will be automatically updated to the latest release tag, rendered and pushed to the gh-pages
branch.
Important: The pipeline has to always pull the latest changes of all submodules because submodules point to a specific commit in the linked repository.
That way the rendered documentation in gh-pages
will always stay up-to-date, while the submodules in the repository will point to an older commit if not updated manually.
The documentation is built using Markdown files, the mkdocs generator and the mkdocs-material theme.
To consolidate multiple repositories into one documentation, the mkdocs-monorepo-plugin
is used.
A few non-standard CSS-customizations have been made to the theme:
- a custom color theme has been created
- the version of each submodule is injected into
mkdocs.yml
with./configure.sh
. The version is displayed as a small tag in the sidebar navigation.
Page analytics data is public: plausible.io/djinni.xlcpp.dev