Welcome to the Flax documentation repository. This repository contains all the source files for the Flax documentation (https://docs.flaxengine.com/). Anyone is welcome to contribute!
We use DocFX tool for building and hosting documentation online. It supports markdown style files (.md
) as it's a very standardized and popular format. Writing technical documentation using markdown style is easy and efficient.
To edit docs we recommend you to use tools such as Zettlr or Typora or Visual Studio Code.
Documentation can be built and hosted on both Linux and Windows. DocFx can run on .Net or Mono. By default the site is hosted on localhost:8080
but this can be easily configured.
- Download repository (or clone with
git clone https://github.com/FlaxEngine/FlaxDocs.git
) - Call
build_manual.bat
to build the Manual orbuild_all.bat
to build whole documentation (with API) but it will take more time to finish - Call
run_local_website.bat
to preview the site
- Install Mono
- Clone repository (
git clone https://github.com/FlaxEngine/FlaxDocs.git
) - Call
chmod +x docs.sh
. It will modify permissions for the scriptdocs.sh
to allow to execute it - Call
./docs.sh rebuild
C# and C++ API reference pages are generated by downloading and building engine at a given revision specified in file commit.txt
. C# API is extracted via docfx metadata
into api
folder. C++ API is extracted via our custom fork of code2yaml which parses engine header files with doxygen
to generate metadata into api-cpp
folder.
Key configuration files:
docfx.json
- config for docfx documentation building.code2yaml.json
- config for code2yaml used to extract api docs for C++.doxyfile
- config for doxygen to output xml files with engine api to be processed by code2yaml.commit.txt
- contains commit hash of the FlaxEngine revision to use for the API building..github\workflows\docs-publish.yml
- Github Actions workflow triggered on git tagupdate-<version>
that builds whole docs with api and publishes them to FlaxDocsHost for static hosting on Github Pages..github\workflows\docs-build.yml
- Github Actions workflow triggered on push/pr that builds manual without api to verify the integrity of the modified docs (eg. warns about invalid links or missing files).
FlaxDocs is licensed under a Creative Commons Attribution 4.0 International License.