Code Monkey home page Code Monkey logo

flaxdocs's Introduction

Flax Engine Documentation

Flax Engine Docs

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!

Editing

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.

Building and Testing

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.

Windows

  • Download repository (or clone with git clone https://github.com/FlaxEngine/FlaxDocs.git)
  • Call build_manual.bat to build the Manual or build_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

Linux

  • Install Mono
  • Clone repository (git clone https://github.com/FlaxEngine/FlaxDocs.git)
  • Call chmod +x docs.sh. It will modify permissions for the script docs.sh to allow to execute it
  • Call ./docs.sh rebuild

Technical Notes

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 tag update-<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).

Licensing

Creative Commons License
FlaxDocs is licensed under a Creative Commons Attribution 4.0 International License.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.