{"id":28825620,"url":"https://github.com/doraku/defaultdocumentation","last_synced_at":"2025-10-09T10:05:54.617Z","repository":{"id":38451917,"uuid":"160400726","full_name":"Doraku/DefaultDocumentation","owner":"Doraku","description":"Create a simple markdown documentation from the Visual Studio xml one.","archived":false,"fork":false,"pushed_at":"2025-06-16T13:39:28.000Z","size":1119,"stargazers_count":163,"open_issues_count":3,"forks_count":25,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-06-17T00:49:31.146Z","etag":null,"topics":["c-sharp","documentation","markdown"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Doraku.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":"https://paypal.me/LaszloPaillat"}},"created_at":"2018-12-04T18:22:39.000Z","updated_at":"2025-06-16T13:39:25.000Z","dependencies_parsed_at":"2024-01-28T15:29:57.439Z","dependency_job_id":"18ad1075-57c0-4452-8442-5b07eddf725b","html_url":"https://github.com/Doraku/DefaultDocumentation","commit_stats":{"total_commits":329,"total_committers":11,"mean_commits":29.90909090909091,"dds":0.07294832826747721,"last_synced_commit":"7689ddfcf3321fee670f1e9e0b9e225119566500"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"purl":"pkg:github/Doraku/DefaultDocumentation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Doraku%2FDefaultDocumentation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Doraku%2FDefaultDocumentation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Doraku%2FDefaultDocumentation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Doraku%2FDefaultDocumentation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Doraku","download_url":"https://codeload.github.com/Doraku/DefaultDocumentation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Doraku%2FDefaultDocumentation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260669551,"owners_count":23044297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-sharp","documentation","markdown"],"created_at":"2025-06-19T02:02:27.264Z","updated_at":"2025-10-09T10:05:54.610Z","avatar_url":"https://github.com/Doraku.png","language":"C#","funding_links":["https://paypal.me/LaszloPaillat"],"categories":[],"sub_categories":[],"readme":"# DefaultDocumentation\nAs the name imply, this project lets you easily produce a markdown documentation from the generated assembly and its xml documentation produced by visual studio from comments.\n\napi\n[![NuGet api](https://img.shields.io/nuget/v/DefaultDocumentation.Api)](https://www.nuget.org/packages/DefaultDocumentation.Api)\n[![preview api](https://img.shields.io/badge/preview-package-blue?style=flat\u0026logo=github)](https://github.com/Doraku/DefaultDocumentation/pkgs/nuget/DefaultDocumentation.Api)\n\nmarkdown\n[![NuGet markdown](https://img.shields.io/nuget/v/DefaultDocumentation.Markdown)](https://www.nuget.org/packages/DefaultDocumentation.Markdown)\n[![preview markdown](https://img.shields.io/badge/preview-package-blue?style=flat\u0026logo=github)](https://github.com/Doraku/DefaultDocumentation/pkgs/nuget/DefaultDocumentation.Markdown)\n\nmsbuild task\n[![NuGet msbuild task](https://img.shields.io/nuget/v/DefaultDocumentation)](https://www.nuget.org/packages/DefaultDocumentation)\n[![preview msbuild task](https://img.shields.io/badge/preview-package-blue?style=flat\u0026logo=github)](https://github.com/Doraku/DefaultDocumentation/pkgs/nuget/DefaultDocumentation)\n\ndotnet tool\n[![NuGet dotnet tool](https://img.shields.io/nuget/v/DefaultDocumentation.Console)](https://www.nuget.org/packages/DefaultDocumentation.Console)\n[![preview dotnet tool](https://img.shields.io/badge/preview-package-blue?style=flat\u0026logo=github)](https://github.com/Doraku/DefaultDocumentation/pkgs/nuget/DefaultDocumentation.Console)\n\n![continuous integration status](https://github.com/doraku/defaultdocumentation/workflows/continuous%20integration/badge.svg)\n[![Coverage Status](https://coveralls.io/repos/github/Doraku/DefaultDocumentation/badge.svg?branch=master)](https://coveralls.io/github/Doraku/DefaultDocumentation?branch=master)\n\n- [Api documentation](./documentation/api/index.md 'Api documentation')\n- [Markdown documentation](./documentation/markdown/index.md 'Markdown documentation')\n\u003ca/\u003e\n\n- [Requirement](#Requirement)\n- [Usage](#Usage)\n  - [MSBuild task](#Usage_MSBuildTask)\n  - [Dotnet tool](#Usage_DotnetTool)\n- [Overview](#Overview)\n  - [Exclude documentation](#Overview_Exclude)\n  - [Inherit documentation](#Overview_Inherit)\n  - [Assembly documentation](#Overview_Assembly)\n  - [Namespace documentation](#Overview_Namespace)\n  - [Extern links](#Overview_Links)\n  - [Plugins](#Overview_Plugins)\n- [Configuration](#Configuration)\n  - [ConfigurationFilePath](#Configuration_ConfigurationFilePath)\n  - [LogLevel](#Configuration_LogLevel)\n  - [AssemblyFilePath](#Configuration_AssemblyFilePath)\n  - [DocumentationFilePath](#Configuration_DocumentationFilePath)\n  - [OutputDirectoryPath](#Configuration_OutputDirectoryPath)\n  - [AssemblyPageName](#Configuration_AssemblyPageName)\n  - [GeneratedAccessModifiers](#Configuration_GeneratedAccessModifiers)\n  - [IncludeUndocumentedItems](#Configuration_IncludeUndocumentedItems)\n  - [GeneratedPages](#Configuration_GeneratedPages)\n  - [LinksOutputFilePath](#Configuration_LinksOutputFilePath)\n  - [LinksBaseUrl](#Configuration_LinksBaseUrl)\n  - [ExternLinksFilePaths](#Configuration_ExternLinksFilePaths)\n  - [Plugins](#Configuration_Plugins)\n  - [DocItemGenerators](#Configuration_DocItemGenerators)\n  - [UrlFactories](#Configuration_UrlFactories)\n  - [Elements](#Configuration_Elements)\n- [DocItem Configuration](#DocItemConfiguration)\n  - [FileNameFactory](#DocItemConfiguration_FileNameFactory)\n  - [Sections](#DocItemConfiguration_Sections)\n- [Markdown Configuration](#MarkdownConfiguration)\n  - [NestedTypeVisibilities](#MarkdownConfiguration_NestedTypeVisibilities)\n  - [RemoveFileExtensionFromUrl](#MarkdownConfiguration_RemoveFileExtensionFromUrl)\n  - [InvalidCharToTrimRegex](#MarkdownConfiguration_InvalidCharToTrimRegex)\n  - [InvalidCharToReplaceRegex](#MarkdownConfiguration_InvalidCharToReplaceRegex)\n  - [InvalidCharReplacement](#MarkdownConfiguration_InvalidCharReplacement)\n  - [HandleLineBreak](#MarkdownConfiguration_HandleLineBreak)\n  - [TableOfContentsModes](#MarkdownConfiguration_TableOfContentsModes)\n  - [Url format](#MarkdownConfiguration_UrlFormat)\n  - [Exclude](#MarkdownConfiguration_Exclude)\n  - [UseFullUrl](#MarkdownConfiguration_UseFullUrl)\n  - [MarkdownSanitizationRegex](#Markdown_MarkdownSanitizationRegex)\n- [Samples](#Samples)\n- [Dependencies](#Dependencies)\n\n\u003ca name='Requirement'\u003e\u003c/a\u003e\n# Requirement\n- for the msbuild task: any runtime supporting netstandard2.0\n- for the dotnet tool: netcore3.1, net5.0 or net6.0\n\n\u003ca name='Usage'\u003e\u003c/a\u003e\n# Usage\nDefaultDocumentation is available in two flavour, an msbuild task automatically integrated in a post build target when referencing the nuget package, using msbuild properties to configure it and a dotnet tool console.\n\n\u003ca name='Usage_MSBuildTask'\u003e\u003c/a\u003e\n## MSBuild task\nSimply reference the [DefaultDocumentation](https://www.nuget.org/packages/DefaultDocumentation) package in the projet you want to generate documentation for (don't worry it's only a development dependencies, no dlls will be added to your project). If the property `\u003cDocumentationFile\u003e` or `\u003cGenerateDocumentationFile\u003e` are set, the markdown pages will be produced automatically after a successfull build, that's it!  \nYou can disable the documentation generation by setting the `\u003cDisableDefaultDocumentation\u003e` to `true` in your csproj.\n```xml\n...\n\u003cProject Sdk=\"Microsoft.NET.Sdk\"\u003e\n    ...\n\t\u003cPropertyGroup\u003e\n\t\t\u003cGenerateDocumentationFile\u003etrue\u003c/GenerateDocumentationFile\u003e\n\t\u003c/PropertyGroup\u003e\n    ...\n    \u003cItemGroup\u003e\n\t    \u003cPackageReference Include=\"DefaultDocumentation\" Version=\"0.8.0\" PrivateAssets=\"all\"/\u003e\n    \u003c/ItemGroup\u003e\n    ...\n\u003c/Project\u003e\n```\n\n\u003ca name='Usage_DotnetTool'\u003e\u003c/a\u003e\n## Dotnet tool\nDefaultDocumentation is also available as a [dotnet tool](https://www.nuget.org/packages/DefaultDocumentation.Console) if you need to control when to produce the documentation. The tool command is simply `defaultdocumentation`.\nTo install the tool simply use this command:\n```\ndotnet tool install DefaultDocumentation.Console -g\n```\n\n\u003ca name='Overview'\u003e\u003c/a\u003e\n# Overview\nList of supported balises and attributes taken from [here](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags) with some additions.\n\nList of supported members taken from [here](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/#id-strings)\n\n\u003ca name='Overview_Exclude'\u003e\u003c/a\u003e\n## Exclude documentation\nIt is possible to exclude a type/member from the generated documentation by adding a `\u003cexclude/\u003e` element to its xml documentation.\n\n\u003ca name='Overview_Inherit'\u003e\u003c/a\u003e\n## Inherit documentation\nThe [`\u003cinheritdoc\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#inheritdoc) element is supported to reused existing documentations if available.\nNote that this is a full import of the inherited documentation, any additional xml documentation will be ignored.\n\n\u003ca name='Overview_Assembly'\u003e\u003c/a\u003e\n## Assembly documentation\nIt is possible to declare xml documentation for your assembly by adding a special class named `AssemblyDoc` in a namespace with the name of the assembly.\n```csharp\nnamespace YourAssemblyName\n{\n    /// \u003csummary\u003e\n    /// your assembly documentation, used on the assembly page\n    /// \u003c/summary\u003e\n    internal static class AssemblyDoc { } // internal so it is not visible outside the assembly\n}\n```\n\n\u003ca name='Overview_Namespace'\u003e\u003c/a\u003e\n## Namespace documentation\nIt is possible to declare xml documentation for a namespace by adding a special class named `NamespaceDoc` in the desired namespace.\n```csharp\nnamespace YourNamespace\n{\n    /// \u003csummary\u003e\n    /// your namespace documentation\n    /// \u003c/summary\u003e\n    internal static class NamespaceDoc { } // internal so it is not visible outside the assembly\n}\n```\n\n\u003ca name='Overview_Links'\u003e\u003c/a\u003e\n## Extern links\nWhen using `cref` attributes, you may refer items from other assemblies which DefaultDocumentation has no knowledge of their documentation location. By default, it will use the provided [UrlFactories](#Configuration_UrlFactories) that may produce incorrect links.  \nTo remedy this, DefaultDocumentation use files for explicit links with the following simple format:\n```\nhttp://extern/assembly/documentation/base/url/\nT:ExternAssembly.ExternType|extern_type.html|ExternType\nM:ExternAssembly.ExternType.ExternMethod|extern_type_extern_method.html|ExternType\n```\nThe first element is the base url that will be put before each following documentation page.  \nAfter that, you can have as many items with the following format: `entity id`|`base url relative link to the documentation page`|`display name to use (optional)`.  \nYou can change the base url in the same file for the following items.\n```\nhttp://extern/assembly/documentation/base/url/\nT:ExternAssembly.ExternType|extern_type.html|ExternType\nM:ExternAssembly.ExternType.ExternMethod|extern_type_extern_method.html|ExternType\nhttp://extern/other/assembly/documentation/base/url/\nT:OtherExternAssembly.ExternType|extern_type.html|ExternType\n```\nDefaultDocumentation can generate this file automatically for your assembly as it generates its documentation so can you easilly reference your own assembly documentation in other project, see [LinksOutputFilePath](#Configuration_LinksOutputFilePath) and [LinksBaseUrl](#Configuration_LinksBaseUrl) settings.\n\nLinks files have no defined extension.\n\n\u003ca name='Overview_Plugins'\u003e\u003c/a\u003e\n## Plugins\nDefaultDocumentation is completely extensible in the form of plugin. The [api](https://www.nuget.org/packages/DefaultDocumentation.Api) serves as a base for contracts you can use to add features to your own documentation generation.  \nSee the [api reference](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/index.md#DefaultDocumentation.Api) for the list of interfaces for which you can provide your own implementations.  \nSee [Plugins](#Configuration_Plugins) setting for how to use a plugin and the [samples](https://github.com/Doraku/DefaultDocumentation/tree/master/source/Sample) for examples of implementations.\n\n\u003ca name='Configuration'\u003e\u003c/a\u003e\n# Configuration\nHere is all the available settings to help you build your documentation as you wish.\n\n\u003ca name='Configuration_ConfigurationFilePath'\u003e\u003c/a\u003e\n## ConfigurationFilePath\n- csproj property: `\u003cDefaultDocumentationConfigurationFile\u003e...\u003c/DefaultDocumentationConfigurationFile\u003e`, default value is `DefaultDocumentation.json` in the project folder\n- tool argument: `-j ...` `--ConfigurationFilePath ...`\n\nThe path to a json configuration file. If values are also provided by csproj property (msbuild task usage) or argument (tool usage) they will override what is inside the configuration file.  \nNote that using a configuration file allow you to provide specific settings per DocItem type. See [DocItem Configuration](#DocItemConfiguration) for more informations.  \nAll relative path specified in the configuration file are relative to the actual configuration file path.\n\n\u003ca name='Configuration_LogLevel'\u003e\u003c/a\u003e\n## LogLevel\n- csproj property: `\u003cDefaultDocumentationLogLevel\u003e...\u003c/DefaultDocumentationLogLevel\u003e`\n- tool argument: `-h ...` `--LogLevel ...`\n- configuration file: `\"LogLevel\": \"...\"`\n\nThe minimum level of the log you wish to be displayed to help resolve errors, `Information` by default. Available values are:\n- `Trace`: Trace log level\n- `Debug`: Debug log level\n- `Information`: Info log level\n- `Warning`: Warn log level\n- `Error`: Error log level\n- `Critical`: Critical log level\n- `None`: no log\n\n\u003ca name='Configuration_AssemblyFilePath'\u003e\u003c/a\u003e\n## AssemblyFilePath\n- csproj property: this setting is set automatically for you by the msbuild task\n- tool argument: `-a ...` `--AssemblyFilePath ...`\n- configuration file: `\"AssemblyFilePath\": \"...\"`\n\nThe path to the assembly file you wish to create documentation for.\n\n\u003ca name='Configuration_DocumentationFilePath'\u003e\u003c/a\u003e\n## DocumentationFilePath\n- csproj property: this setting is set automatically for you by the msbuild task\n- tool argument: `-d ...` `--DocumentationFilePath ...`\n- configuration file: `\"DocumentationFilePath\": \"...\"`\n\nThe path to the xml documentation file, if not specified DefaultDocumentation will assume it is in the same folder as the assembly.\n\n\u003ca name='Configuration_ProjectDirectoryPath'\u003e\u003c/a\u003e\n## ProjectDirectoryPath\n- csproj property: this setting is set automatically for you by the msbuild task\n- tool argument: `-p ...` `--ProjectDirectoryPath ...`\n- configuration file: `\"ProjectDirectoryPath\": \"...\"`\n\nthe path to the project source folder. This is only used if you reference a file using a `source` attribute in a `\u003ccode\u003e` element.\n\n\u003ca name='Configuration_OutputDirectoryPath'\u003e\u003c/a\u003e\n## OutputDirectoryPath\n- csproj property: `\u003cDefaultDocumentationFolder\u003e...\u003c/DefaultDocumentationFolder\u003e`\n- tool argument: `-o ...` `--OutputDirectoryPath ...`\n- configuration file: `\"OutputDirectoryPath\": \"...\"`\n\nThe path to the output folder where the documentation will be generated. If not specified, the pages will be generated in the same folder as the xml documentation file.\n\n\u003ca name='Configuration_AssemblyPageName'\u003e\u003c/a\u003e\n## AssemblyPageName\n- csproj property: `\u003cDefaultDocumentationAssemblyPageName\u003e...\u003c/DefaultDocumentationAssemblyPageName\u003e`\n- tool argument: `-n ...` `--AssemblyPageName ...`\n- configuration file: `\"AssemblyPageName\": \"...\"`\n\nThe name of the page for the assembly documentation.  \nNote that this page will not be generated if you do not provide a name for this setting and there is only one namespace in your project and there is no xml documentation for the assembly (see [Assembly documentation](#Overview_Assembly)).  \nIf you did not provide a name but the page still need to be generated, the default name `index` will be used.\n\n\u003ca name='Configuration_GeneratedAccessModifiers'\u003e\u003c/a\u003e\n## GeneratedAccessModifiers\n- csproj property: `\u003cDefaultDocumentationGeneratedAccessModifiers\u003e...,...\u003c/DefaultDocumentationGeneratedAccessModifiers\u003e`\n- tool argument: `-s ...,...` `--GeneratedAccessModifiers ...,...`\n- configuration file: `\"GeneratedAccessModifiers\": \"...,...\"`\n\nState elements with which access modifier should be generated. All by default, available values are:\n- `Public`: generates documentation for 'public' access modifier\n- `Private`: generates documentation for 'private' access modifier\n- `Protected`: generates documentation for 'protected' access modifier\n- `Internal`: generates documentation for 'internal' access modifier\n- `ProtectedInternal`: generates documentation for 'protected internal' access modifier\n- `PrivateProtected`: generates documentation for 'private protected' access modifier\n- `Api`: generates documentation for 'public', 'protected' and 'protected internal' access modifier.\n\n\u003ca name='Configuration_IncludeUndocumentedItems'\u003e\u003c/a\u003e\n## IncludeUndocumentedItems\n- csproj property: `\u003cDefaultDocumentationIncludeUndocumentedItems\u003e...\u003c/DefaultDocumentationIncludeUndocumentedItems\u003e`\n- tool argument: `-u` `--IncludeUndocumentedItems`\n- configuration file: `\"IncludeUndocumentedItems\": \"...\"`\n\nIf `true` items with no documentation will also be included in the generated documentation. `false` by default.\n\n\u003ca name='Configuration_GeneratedPages'\u003e\u003c/a\u003e\n## GeneratedPages\n- csproj property: `\u003cDefaultDocumentationGeneratedPages\u003e...,...\u003c/DefaultDocumentationGeneratedPages\u003e`\n- tool argument: `-g ...,...` `--GeneratedPages ...,...`\n- configuration file: `\"GeneratedPages\": \"...,...\"`\n\nStates which item should have their own pages, if not their documentation will be inlined in their parent's one, `Namespaces,Types,Members` by default. Available values are:\n- `Assembly`: the assembly should have its own page, see [AssemblyPageName](#Configuration_AssemblyPageName) for case when the assembly will have its page generated regardless of this flag being present\n- `Namespaces`: namespaces should have their own pages\n- `Classes`: classes should have their own pages\n- `Delegates`: delegates should have their own pages\n- `Enums`: enums should have their own pages\n- `Structs`: structs should have their own pages\n- `Interfaces`: interfaces should have their own pages\n- `Types`: equivalent to `Classes, Delegates, Enums, Structs, Interfaces`\n- `Constructors`: constructors should have their own pages\n- `Events`: events should have their own pages\n- `Fields`: fields should have their own pages\n- `Methods`: methods should have their own pages\n- `Operators`: operators should have their own pages\n- `Properties`: properties should have their own pages\n- `ExplicitInterfaceImplementations`: property and method explicit interface implementations should have their own pages\n- `Members`: equivalent to `Constructors, Events, Fields, Methods, Operators, Properties, ExplicitInterfaceImplementations`\n\n\u003ca name='Configuration_LinksOutputFilePath'\u003e\u003c/a\u003e\n## LinksOutputFilePath\n- csproj property: `\u003c\nsOutputFile\u003e...\u003c/DefaultDocumentationLinksOutputFile\u003e`\n- tool argument: `-l ...` `--LinksOutputFilePath ...`\n- configuration file: `\"LinksOutputFilePath\": \"...\"`\n\nWhere to generate the links file, see [Extern links](#Overview_Links) for more information, empty by default and does not generate the links file.\n\n\u003ca name='Configuration_LinksBaseUrl'\u003e\u003c/a\u003e\n## LinksBaseUrl\n- csproj property: `\u003cDefaultDocumentationLinksBaseUrl\u003e...\u003c/DefaultDocumentationLinksBaseUrl\u003e`\n- tool argument: `-b ...` `--LinksBaseUrl ...`\n- configuration file: `\"LinksBaseUrl\": \"...\"`\n\nThe base url to use for the links file, see [Extern links](#Overview_Links) for more information.\n\n\u003ca name='Configuration_ExternLinksFilePaths'\u003e\u003c/a\u003e\n## ExternLinksFilePaths\n- csproj property: `\u003cDefaultDocumentationExternLinksFiles\u003e...|...\u003c/DefaultDocumentationExternLinksFiles\u003e`\n- tool argument: `-e ...|...` `--ExternLinksFilePaths ...|...`\n- configuration file: `\"ExternLinksFilePaths\": [ \"...\", \"...\" ]`\n\nThe list of links files to use when generating the documentation, see [Extern links](#Overview_Links) for more information.  \nYou can use pattern, ex: `.\\myfolder\\*.txt`.\n\n\u003ca name='Configuration_Plugins'\u003e\u003c/a\u003e\n## Plugins\n- csproj property: `\u003cDefaultDocumentationPlugins\u003e...|...\u003c/DefaultDocumentationPlugins\u003e`\n- tool argument: `--Plugins ...|...`\n- configuration file: `\"Plugins\": [ \"...\", \"...\" ]`\n\nThe list of plugin files to load to create the documentation. See [Plugins](#Overview_Plugins) for more information.\n\n\u003ca name='Configuration_DocItemGenerators'\u003e\u003c/a\u003e\n## DocItemGenerators\n- csproj property: `\u003cDefaultDocumentationDocItemGenerators\u003e...|...\u003c/DefaultDocumentationDocItemGenerators\u003e`\n- tool argument: `--DocItemGenerators ...|...`\n- configuration file: `\"DocItemGenerators\": [ \"...\", \"...\" ]`\n\n`Name` or `Type Assembly` of the `IDocItemGenerator` implementations to use to generate the `DocItem` of the documentation.\nThe default implementations provided are:\n- `Exclude` or `DefaultDocumentation.Markdown.DocItemGenerators.ExcludeGenerator DefaultDocumentation.Markdown` remove `DocItem` from the documentation generation based on [MarkdownConfiguration.Exclude](#MarkdownConfiguration_Exclude).\n- `Overloads` or `DefaultDocumentation.Markdown.DocItemGenerators.OverloadsGenerator DefaultDocumentation.Markdown` adds pages to group constructor and method overloads the same way microsoft documentation do it.\nThe default value is `Exclude|Overloads`.\n\n\u003ca name='Configuration_UrlFactories'\u003e\u003c/a\u003e\n## UrlFactories\n- csproj property: `\u003cDefaultDocumentationUrlFactories\u003e...|...\u003c/DefaultDocumentationUrlFactories\u003e`\n- tool argument: `--UrlFactories ...|...`\n- configuration file: `\"UrlFactories\": [ \"...\", \"...\" ]`\n\n`Name` or `Type Assembly` of the `IUrlFactory` implementations to use to create documentation url. The element id is passed to each successive implementations and the first non null returned url is used.\nThe default implementations provided are:\n- `DocItem` or `DefaultDocumentation.Markdown.UrlFactories.DocItemFactory DefaultDocumentation.Markdown` returns an url for known `DocItem`.\n- `DotnetApi` or `DefaultDocumentation.Markdown.UrlFactories.DotnetApiFactory DefaultDocumentation.Markdown` returns an url formated from the id to its possible dotnet api documentation.\nThe default value is `DocItem|DotnetApi`.\n\n\u003ca name='Configuration_Elements'\u003e\u003c/a\u003e\n## Elements\n- csproj property: `\u003cDefaultDocumentationElements\u003e...|...\u003c/DefaultDocumentationElements\u003e`\n- tool argument: `--Elements ...|...`\n- configuration file: `\"Elements\": [ \"...\", \"...\" ]`\n\n`Type Assembly` of the explicit `IElement` implementations to use to create the documentation.  \nBy default all implementations are used but if multiple ones have the same name, the one from the latest plugin loaded is used. In case you may want to use a plugin that contains an `IElement` implementation but still use one from an other plugin, you can force its usage by stating its `Type Assembly` explicitely.\nThe default implementations provided are:\n- `DefaultDocumentation.Markdown.Elements.CElement DefaultDocumentation.Markdown` handle the rendering of [`\u003cc\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#c) element\n- `DefaultDocumentation.Markdown.Elements.CodeElement DefaultDocumentation.Markdown` handle the rendering of [`\u003ccode\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#code) element. Attributes handled are:\n  - `language` attribute used to declare the languge of the code\n  - `source` attribute used to reference code from a specific file\n  - `region` attribute used to reference a specific `#region` from the source\n- `DefaultDocumentation.Markdown.Elements.ListElement DefaultDocumentation.Markdown` handle the rendering of [`\u003clist\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#list) element\n- `DefaultDocumentation.Markdown.Elements.NoteElement DefaultDocumentation.Markdown` handle the rendering of [`\u003cnote\u003e`](https://ewsoftware.github.io/XMLCommentsGuide/html/4302a60f-e4f4-4b8d-a451-5f453c4ebd46.htm) element\n- `DefaultDocumentation.Markdown.Elements.ParaElement DefaultDocumentation.Markdown` handle the rendering of [`\u003cpara\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#para) element. Attributes handled are:\n  - `ignorelinebreak` attribute used to change the default setting of [IgnoreLineBreak](#MarkdownConfiguration_IgnoreLineBreak) for the content of this element\n- `DefaultDocumentation.Markdown.Elements.ParamRefElement DefaultDocumentation.Markdown` handle the rendering of [`\u003cparamref\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#paramref) element\n- `DefaultDocumentation.Markdown.Elements.SeeElement DefaultDocumentation.Markdown` handle the rendering of [`\u003csee\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#see). Attributes handled are:\n  - [`cref`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#cref-attribute) attribute\n  - `href` attribute\n  - `langword` attribute\n- `DefaultDocumentation.Markdown.Elements.TypeParamRefElement DefaultDocumentation.Markdown` handle the rendering of [`\u003ctypeparamref\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#typeparamref) element\n\n\u003ca name='DocItemConfiguration'\u003e\u003c/a\u003e\n# DocItem Configuration\nThose next settings can be overrided for each `DocItem` type when using a configuration file, allowing you to have different settings for each type. If no specific setting is defined for a given type, the root setting will be used.\n```\n{\n    \"Sections\": [\n        \"Header\",\n        \"Default\",\n    ]\n    \"NamespaceDocItem\": {\n        \"Sections\": [\n            \"Title\",\n            \"summary\",\n            \"TableOfContents\"\n        ]\n    }\n}\n```\nThe different `DocItem` types are:\n- `AssemblyDocItem`\n- `NamespaceDocItem`\n- `ClassDocItem`\n- `StructDocItem`\n- `InterfaceDocItem`\n- `EnumDocItem`\n- `DelegateDocItem`\n- `ConstructorDocItem`\n- `EnumFieldDocItem`\n- `EventDocItem`\n- `ExplicitInterfaceImplementationDocItem`\n- `FieldDocItem`\n- `MethodDocItem`\n- `OperatorDocItem`\n- `PropertyDocItem`\n- `TypeParameterDocItem`\n- `ParameterDocItem`\n\n\u003ca name='DocItemConfiguration_FileNameFactory'\u003e\u003c/a\u003e\n## FileNameFactory\n- csproj property: `\u003cDefaultDocumentationFileNameFactory\u003e...\u003c/DefaultDocumentationFileNameFactory\u003e`\n- tool argument: `--FileNameFactory ...`\n- configuration file: `\"FileNameFactory\": \"...\"`\n\n`Name` or `Type Assembly` of the `IFileNameFactory` implementation to use to generate the name of pages. Available implementations are:\n- `FullName` or `DefaultDocumentation.Markdown.FileNameFactories.FullNameFactory DefaultDocumentation.Markdown` uses the fully qualified name of each member\n- `Name` or `DefaultDocumentation.Markdown.FileNameFactories.NameFactory DefaultDocumentation.Markdown` removes the namespace (collisions can happen if there is multiple types with the same name in different namespaces)\n- `Md5` or `DefaultDocumentation.Markdown.FileNameFactories.Md5Factory DefaultDocumentation.Markdown` uses a Md5 of the full name of each member to produce shorter name, collisions can happen\n- `NameAndMd5Mix` or `DefaultDocumentation.Markdown.FileNameFactories.NameAndMd5MixFactory DefaultDocumentation.Markdown` removes the namespace and use a Md5 for parameters\n- `DirectoryName` or `DefaultDocumentation.Markdown.FileNameFactories.DirectoryNameFactory DefaultDocumentation.Markdown` use a directory hierarchy\n\nThe default value is `FullName`. All those implementations *WILL* delete any `.md` file *EXCEPT* a file named `readme.md`.\n\n\u003ca name='DocItemConfiguration_Sections'\u003e\u003c/a\u003e\n## Sections\n- csproj property: `\u003cDefaultDocumentationSections\u003e...|...\u003c/DefaultDocumentationSections\u003e`\n- tool argument: `--Sections ...|...`\n- configuration file: `\"Sections\": [ \"...\", \"...\" ]`\n\n`Name` or `Type Assembly` of the `ISection` implementations to use in order for the generation of the documentation. The available implentations are:\n- `Header` or `DefaultDocumentation.Markdown.Sections.HeaderSection DefaultDocumentation.Markdown` to write links to parents and top pages\n- `Footer` or `DefaultDocumentation.Markdown.Sections.FooterSection DefaultDocumentation.Markdown` to write a reference to this project\n- `TypeParameters` or `DefaultDocumentation.Markdown.Sections.TypeParametersSection DefaultDocumentation.Markdown` to write the `TypeParameterDocItem` children links or inlined documentation\n- `Parameters` or `DefaultDocumentation.Markdown.Sections.ParametersSection DefaultDocumentation.Markdown` to write the `ParameterDocItem` children links or inlined documentation\n- `EnumFields` or `DefaultDocumentation.Markdown.Sections.EnumFieldsSection DefaultDocumentation.Markdown` to write the `EnumFieldDocItem` children links or inlined documentation\n- `Constructors` or `DefaultDocumentation.Markdown.Sections.ConstructorsSection DefaultDocumentation.Markdown` to write the `ConstructorDocItem` children links or inlined documentation\n- `Fields` or `DefaultDocumentation.Markdown.Sections.FieldsSection DefaultDocumentation.Markdown` to write the `FieldDocItem` children links or inlined documentation\n- `Properties` or `DefaultDocumentation.Markdown.Sections.PropertiesSection DefaultDocumentation.Markdown` to write the `PropertyDocItem` children links or inlined documentation\n- `Methods` or `DefaultDocumentation.Markdown.Sections.MethodsSection DefaultDocumentation.Markdown` to write the `MethodDocItem` children links or inlined documentation\n- `Events` or `DefaultDocumentation.Markdown.Sections.EventsSection DefaultDocumentation.Markdown` to write the `EventDocItem` children links or inlined documentation\n- `Operators` or `DefaultDocumentation.Markdown.Sections.OperatorsSection DefaultDocumentation.Markdown` to write the `OperatorDocItem` children links or inlined documentation\n- `ExplicitInterfaceImplementations` or `DefaultDocumentation.Markdown.Sections.ExplicitInterfaceImplementationsSection DefaultDocumentation.Markdown` to write the `ExplicitInterfaceImplementationDocItem` children links or inlined documentation\n- `Classes` or `DefaultDocumentation.Markdown.Sections.ClassesSection DefaultDocumentation.Markdown` to write the `ClassDocItem` children links or inlined documentation\n- `Structs` or `DefaultDocumentation.Markdown.Sections.StructsSection DefaultDocumentation.Markdown` to write the `StructDocItem` children links or inlined documentation\n- `Interfaces` or `DefaultDocumentation.Markdown.Sections.InterfacesSection DefaultDocumentation.Markdown` to write the `InterfaceDocItem` children links or inlined documentation\n- `Enums` or `DefaultDocumentation.Markdown.Sections.EnumsSection DefaultDocumentation.Markdown` to write the `EnumDocItem` children links or inlined documentation\n- `Delegates` or `DefaultDocumentation.Markdown.Sections.DelegatesSection DefaultDocumentation.Markdown` to write the `DelegateDocItem` children links or inlined documentation\n- `Namespaces` or `DefaultDocumentation.Markdown.Sections.NamespacesSection DefaultDocumentation.Markdown` to write the `NamespaceDocItem` children links or inlined documentation\n- `Definition` or `DefaultDocumentation.Markdown.Sections.DefinitionSection DefaultDocumentation.Markdown` to write the code definition\n- `Derived` or `DefaultDocumentation.Markdown.Sections.DerivedSection DefaultDocumentation.Markdown` to write links to derived types\n- `EventType` or `DefaultDocumentation.Markdown.Sections.EventTypeSection DefaultDocumentation.Markdown` to write the event type for `EventDocItem`\n- `FieldValue` or `DefaultDocumentation.Markdown.Sections.FieldValueSection DefaultDocumentation.Markdown` to write the field value for `FieldDocItem`\n- `Implement` or `DefaultDocumentation.Markdown.Sections.ImplementSection DefaultDocumentation.Markdown` to write links to implementations\n- `Inheritance` or `DefaultDocumentation.Markdown.Sections.InheritanceSection DefaultDocumentation.Markdown` to write links to the inherited types\n- `TableOfContents` or `DefaultDocumentation.Markdown.Sections.TableOfContentsSection DefaultDocumentation.Markdown` to write a table of content links to all children, see [TableOfContentsModes](#MarkdownConfiguration_TableOfContentsModes) setting\n- `Title` or `DefaultDocumentation.Markdown.Sections.TitleSection DefaultDocumentation.Markdown` to write the title and link target of a `DocItem`\n- `Definition` or `DefaultDocumentation.Markdown.Sections.DefinitionSection DefaultDocumentation.Markdown` to write the code definition\n- `Default` or `DefaultDocumentation.Markdown.Sections.DefaultSection DefaultDocumentation.Markdown` is a grouping of those `ISection` implementations in this order:\n  - `DefaultDocumentation.Markdown.Sections.TitleSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.SummarySection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.DefinitionSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.TypeParametersSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.ParametersSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.EnumFieldsSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.InheritanceSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.DerivedSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.ImplementSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.EventTypeSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.FieldValueSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.ValueSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.ReturnsSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.ExceptionSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.ExampleSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.RemarksSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.SeeAlsoSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.NamespacesSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.ClassesSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.StructsSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.InterfacesSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.EnumsSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.DelegatesSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.ConstructorsSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.FieldsSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.PropertiesSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.MethodsSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.EventsSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.OperatorsSection DefaultDocumentation.Markdown`\n  - `DefaultDocumentation.Markdown.Sections.ExplicitInterfaceImplementationsSection DefaultDocumentation.Markdown`\n- `example` or `DefaultDocumentation.Markdown.Sections.ExampleSection DefaultDocumentation.Markdown` to write the [`\u003cexample\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#example) element\n  - `ignorelinebreak` attribute used to change the default setting of [IgnoreLineBreak](#MarkdownConfiguration_IgnoreLineBreak) for the content of this element\n- `exception` or `DefaultDocumentation.Markdown.Sections.ExceptionSection DefaultDocumentation.Markdown` to write the [`\u003cexception\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#exception) elements\n  - [`cref`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#cref-attribute) attribute\n  - `ignorelinebreak` attribute used to change the default setting of [IgnoreLineBreak](#MarkdownConfiguration_IgnoreLineBreak) for the content of this element\n- `remarks` or `DefaultDocumentation.Markdown.Sections.RemarksSection DefaultDocumentation.Markdown` to write the [`\u003cremarks\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#remarks) element\n  - `ignorelinebreak` attribute used to change the default setting of [IgnoreLineBreak](#MarkdownConfiguration_IgnoreLineBreak) for the content of this element\n- `returns` or `DefaultDocumentation.Markdown.Sections.ReturnsSection DefaultDocumentation.Markdown` to write the [`\u003creturns\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#returns) element\n  - `ignorelinebreak` attribute used to change the default setting of [IgnoreLineBreak](#MarkdownConfiguration_IgnoreLineBreak) for the content of this element\n- `seealso` or `DefaultDocumentation.Markdown.Sections.SeeAlsoSection DefaultDocumentation.Markdown` to write the [`\u003cseealso\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#seealso) elements\n  - [`cref`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#cref-attribute) attribute\n  - `href` attribute\n- `summary` or `DefaultDocumentation.Markdown.Sections.SummarySection DefaultDocumentation.Markdown` to write the [`\u003csummary\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#summary) element\n  - `ignorelinebreak` attribute used to change the default setting of [IgnoreLineBreak](#MarkdownConfiguration_IgnoreLineBreak) for the content of this element\n- `value` or `DefaultDocumentation.Markdown.Sections.ValueSection DefaultDocumentation.Markdown` to write the [`\u003cvalue\u003e`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#value) element\n  - `ignorelinebreak` attribute used to change the default setting of [IgnoreLineBreak](#MarkdownConfiguration_IgnoreLineBreak) for the content of this element\n\nThe default value is `Header|Default`.\n\n\u003ca name='MarkdownConfiguration'\u003e\u003c/a\u003e\n# Markdown Configuration\nThe default implementations to generate markdown documentation also comes with its own specific settings. Those can only be set in the configuration file and may or may not be overridable by specific `DocItem` types.\n\n\u003ca name='MarkdownConfiguration_NestedTypeVisibilities'\u003e\u003c/a\u003e\n## NestedTypeVisibilities\n- configuration file: `\"Markdown.NestedTypeVisibilities\": \"...,...\"`\n\nStates where nested types should be visible. Available values are:\n- `Namespace`: nested types will be displayed in their parent namespace\n- `DeclaringType`: nested types will be displayed in their parent type\n\nDefault value is `Namespace`.  \nThis setting can be overriden by specific `DocItem` types.\n\n\u003ca name='MarkdownConfiguration_RemoveFileExtensionFromUrl'\u003e\u003c/a\u003e\n## RemoveFileExtensionFromUrl\n- configuration file: `\"Markdown.RemoveFileExtensionFromUrl\": \"...\"`\n\n`true` to remove the extension `.md` from links in the generated documentation, some wikies don't like those. `false` by default.  \n\n\u003ca name='MarkdownConfiguration_InvalidCharToTrimRegex'\u003e\u003c/a\u003e\n## InvalidCharReplacement\n- configuration file: `\"Markdown.InvalidCharToTrimRegex\": \"...\"`\n\nProvides the regex used to trim chars for file names, `[\\=\\ ]` by default.\n\n\u003ca name='MarkdownConfiguration_InvalidCharToReplaceRegex'\u003e\u003c/a\u003e\n## InvalidCharReplacement\n- configuration file: `\"Markdown.InvalidCharToReplaceRegex\": \"...\"`\n\nProvides the  regex used to replace invalid char for file names, `[\\\\\\\u003c\\\u003e:\\*\\?]` by default.\n\n\u003ca name='MarkdownConfiguration_InvalidCharReplacement'\u003e\u003c/a\u003e\n## InvalidCharReplacement\n- configuration file: `\"Markdown.InvalidCharReplacement\": \"...\"`\n\nProvides the value to use to replace invalid char for file names, `_` by default.\n\n\u003ca name='MarkdownConfiguration_HandleLineBreak'\u003e\u003c/a\u003e\n## HandleLineBreak\n- configuration file: `\"Markdown.HandleLineBreak\": \"...\"`\n\n`true` if line break in the documentation should be transformed as markdown line break (two space at the end of a line) or not, `false` by default.  \nThis setting can be overriden by specific `DocItem` types.\n\n\u003ca name='MarkdownConfiguration_TableOfContentsModes'\u003e\u003c/a\u003e\n## TableOfContentsModes\n- configuration file: `\"Markdown.TableOfContentsModes\": \"...,...\"`\n\nStates how the table of contents should be rendered. Available values are:\n- `Grouped`: each `DocItem` kind should be grouped in their own section\n- `IncludeKind`: display the kind of each `DocItem` explicitely\n- `IncludeSummary`: the `\u003csummary\u003e` element of the `DocItem` should be displayed\n- `IncludeNewLine`: their should be a newline between the `DocItem` name and its `\u003csummary\u003e` if displayed\n- `IncludeSummaryWithNewLine`: same as `IncludeSummary,IncludeNewLine`\n\nThis setting can be overriden by specific `DocItem` types.\n\n\u003ca name='MarkdownConfiguration_UrlFormat'\u003e\u003c/a\u003e\n## Url format\n- configuration file: `\"Markdown.UrlFormat\": \"\"`\n\nState the format that will be used to display urls.\n\nThree arguments will be passed to the format:\n- the displayed text\n- the url\n- the tooltip to display when overing the link. If null the url will be used\n\nThe default value is `[{0}]({1} '{2}')`.\n\n\u003ca name='MarkdownConfiguration_Exclude'\u003e\u003c/a\u003e\n## Exclude\n- configuration file: `\"Markdown.Exclude\": [ \"\", ... ]`\n\nContains a collection of regex used by the `DefaultDocumentation.Markdown.DocItemGenerators.ExcludeGenerator DefaultDocumentation.Markdown` [DocItemGenerator](#Configuration_DocItemGenerators),\nany `DocItem` whose id will match one of them will be excluded from the documentation generation.\n\nThe default value is `null`.\n\n\u003ca name='MarkdownConfiguration_UseFullUrl'\u003e\u003c/a\u003e\n## UseFullUrl\n- configuration file: `\"Markdown.UseFullUrl\": bool`\n\nStates if the url written should be absolute if a [LinksBaseUrl](#Configuration_LinksBaseUrl) is provided.\n\nThe default value is `false`.\n\n\u003ca name='Markdown_MarkdownSanitizationRegex'\u003e\u003c/a\u003e\n## MarkdownSanitizationRegex\n- configuration file: `\"Markdown.MarkdownSanitizationRegex\": \"\"`\n\nDefaultDocumentation is conservative in the handling of the base xml documentation and expect everything to be xml. To protected the generated markdown from unintended interpretation, every [markdown special characters](https://www.markdownguide.org/basic-syntax/#characters-you-can-escape) are escaped.\nIf you feel this protection overzelous, you can change this behaviour by providing your own regex that will be used to escape every captured groups.\n\nThe default value is \n```\n[\\\\\\`\\*_\\{\\}\\[\\]\\\u003c\\\u003e\\(\\)\\#\\+\\-\\.\\!\\|]\n```\n\n\u003ca name='Samples'\u003e\u003c/a\u003e\n# Samples\n- [DefaultDocumentation api](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/index.md)\n- [DefaultEcs api](https://github.com/Doraku/DefaultEcs/blob/master/documentation/api/DefaultEcs.md)\n- [DefaultUnDo api](https://github.com/Doraku/DefaultUnDo/blob/master/documentation/api/DefaultUnDo.md)\n\n\u003ca name='Dependencies'\u003e\u003c/a\u003e\n# Dependencies\nDefaultDocumentation is only made possible thanks to those awesome projects:\n- [CommandLineParser](https://github.com/commandlineparser/commandline)\n- [ICSharpCode.Decompiler](https://github.com/icsharpcode/ILSpy)\n\nCI, tests and code quality rely on those awesome projects:\n- [Coverlet](https://github.com/coverlet-coverage/coverlet)\n- [NFulent](https://github.com/tpierrain/NFluent)\n- [NSubstitute](https://github.com/nsubstitute/NSubstitute)\n- [Roslynator](https://github.com/JosefPihrt/Roslynator)\n- [XUnit](https://github.com/xunit/xunit)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoraku%2Fdefaultdocumentation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdoraku%2Fdefaultdocumentation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoraku%2Fdefaultdocumentation/lists"}