Nefarius.Tools.XMLDoc2Markdown 1.6.1

Prefix Reserved
dotnet tool install --global Nefarius.Tools.XMLDoc2Markdown --version 1.6.1                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local Nefarius.Tools.XMLDoc2Markdown --version 1.6.1                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Nefarius.Tools.XMLDoc2Markdown&version=1.6.1                
nuke :add-package Nefarius.Tools.XMLDoc2Markdown --version 1.6.1                

XMLDoc2Markdown

.NET Nuget NuGet Downloads

Tool to generate markdown from C# XML documentation.

Based on the work of Charles de Vandière and Fernando Cerqueira

See sample generated documentation here.

How to use

Install tool

dotnet tool install -g Nefarius.Tools.XMLDoc2Markdown

Generate documentation

xmldoc2md <DLL_SOURCE_PATH> <OUTPUT_DIRECTORY>
Example
xmldoc2md Sample.dll docs

Insert code example

You can insert custom code example into the documentation.

Create one file for each examples. Give them the full name of corresponding type, property, method,...

Add the CLI option: --examples-path with the path to examples files.

Examples
MyClassLib.MyClass.md
## Example

Lorem ipsum...

```csharp
new MyClass();
```
MyClassLib.MyClass.MyProperty.md
#### Example

Lorem ipsum...

```csharp
foo.MyProperty = "foo";
```
MyClassLib.MyClass.MyMethod(System.String).md
#### Example

Lorem ipsum...

```csharp
foo.MyMethod("foo");
```
MyClassLib.MyClass.#ctor.md
#### Example

Lorem ipsum...

```csharp
new MyClass();
```

Display command line help

xmldoc2md -h
Usage: xmldoc2md [options] <src> <out>

Arguments:
  src                      DLL source path
  out                      Output directory

Options:
  -v|--version             Show version information.
  -?|-h|--help             Show help information.
  --index-page-name        Name of the index page, (default: "index").
  --examples-path          Path to the code examples to insert in the documentation.
  --github-pages           Remove '.md' extension from links for GitHub Pages.
  --gitlab-wiki            Remove '.md' extension and './' prefix from links for gitlab wikis.
  --back-button            Add a back button on each page with custom text, (default: "< Back").
  --link-back-button       Set link for back button, (default: "./").
  --private-members        Write documentation for private members.
  --onlyinternal-members   Write documentation for only internal members.
  --excludeinternal        Exclude documentation for internal types.
  --templatefile           Layout template for documentation, (default: "template.md").
  --back-index-button      Add a back button in index page, (default: "< Back").
  --link-backindex-button  Set link for back button in index page, (default: "./").

Template Tokens

{xmldoc2md-Title()}     = Title of Document
{xmldoc2md-Back()}      = back-button for pages 
{xmldoc2md-BackIndex()} = back-button for index page
{xmldoc2md-Body()}      = The Documentation

Example Template

# Custom Title :{xmldoc2md-Title()} 

{xmldoc2md-Back()}{xmldoc2md-BackIndex()}
- - -

{xmldoc2md-Body()}

- - -
{xmldoc2md-Back()}

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
1.6.1 137 11/19/2024
1.6.0 93 11/19/2024
1.6.0-pre001 70 11/19/2024
1.5.0 214 8/16/2024
1.5.0-pre001 110 8/16/2024
1.4.0 101 7/22/2024
1.4.0-pre001 104 7/19/2024
1.3.0 121 6/22/2024
1.2.0 119 6/22/2024
1.1.0 109 6/22/2024
1.0.4 169 2/22/2024