Tip
The docs as explained here are used in multiple projects, but documented only once for better maintenance. When applying this to other projects, remember that some things such as the name, repository, or paths are a bit different.
C# Code Docs Generation
Warning
This is a technical documentation about how the documentation system works. It helps the core team understand how to maintain and enhance the documentation system.
It's not meant for most contributors, as it's too technical.
C# Code Generation and Merging
This process is configured in docfx.json.
It is quite tricky as small changes can have big effects.
Important to know:
All
/pages/**/*.mdwill be normal output pagesAll C# code from the specified
.csprojprojects will be converted to markdown in the git-excluded/api-generatedfolder......and then merged with the
/api-docsfolder which is manually maintained. This is needed because auto-generated code cannot have namespace descriptions, and sometimes we need much more complex docs for a specific class (which is also in the/api-docsfolder).The exact behavior is configured in the
docfx.jsonfile. Note that trivial changes can have big effects, so be careful. Example:a section
{ "src": "api", "files": ["**.yml"] }will create a different result than...a section
{ "files": ["api/**.yml"] }. Such details can cost you a lot of time.
We filter out
_*.ymlfiles as they should not create a page, but are instead used for!includestatements.