This project aims to create an extensible online KSP2 API documentation site based on a stripped version of the KSP2 Assembly-CSharp.dll. The site contents are primarily two things. First, a stripped collection of C# files based on the stripped DLL, and secondly a DocFX generated API documentation site. The site will be served via GitHub Pages, and will permit extension via addition/modification of /// comments to the stripped C# files and via addition/modification of various article files (*.md).
As the DLL is first stripped of all internal code (all methods have their content replace with a return null;), there is no distribution of the games internal code and only documentation of the API as an interface with the added value of unofficial comments being incorporated to aid in documentation.
Step 1: The first step in this process is to strip all internal code from the Assembly-CSharp.dll. This can be accomplished in a number of ways, and we may wish to experiment with various ways to see which produces the best and most faithful rendering of the stripped DLL. In the initial approach this has been done using the BepInEx Publicizer, which can be installed and used like this:
dotnet tool install -g BepInEx.AssemblyPublicizer.Cli
assembly-publicizer ./Assembly-CSharp.dll --strip-only
The first line installs assembly-publicizer, and the second calls it to process Assembly-CSharp.dll with the command option --strip-only, which strips without publicizing.
See https://github.com/BepInEx/BepInEx.AssemblyPublicizer for more information on this tool.