Create a simple markdown documentation from the Visual Studio xml one.
$ dotnet add package DefaultDocumentationAs 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.
<a name='Requirement'></a>
<a name='Usage'></a>
DefaultDocumentation 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.
<a name='Usage_MSBuildTask'></a>
Simply reference the 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 <DocumentationFile> or <GenerateDocumentationFile> are set, the markdown pages will be produced automatically after a successfull build, that's it!
You can disable the documentation generation by setting the <DisableDefaultDocumentation> to true in your csproj.
...
<Project Sdk="Microsoft.NET.Sdk">
...
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
...
<ItemGroup>
<PackageReference Include="DefaultDocumentation" Version="0.8.0" PrivateAssets="all"/>
</ItemGroup>
...
</Project>
<a name='Usage_DotnetTool'></a>
DefaultDocumentation is also available as a dotnet tool if you need to control when to produce the documentation. The tool command is simply defaultdocumentation.
To install the tool simply use this command:
dotnet tool install DefaultDocumentation.Console -g
<a name='Overview'></a>
List of supported balises and attributes taken from here with some additions.
List of supported members taken from here
<a name='Overview_Exclude'></a>
It is possible to exclude a type/member from the generated documentation by adding a <exclude/> element to its xml documentation.
<a name='Overview_Inherit'></a>
The <inheritdoc> element is supported to reused existing documentations if available.
Note that this is a full import of the inherited documentation, any additional xml documentation will be ignored.
<a name='Overview_Assembly'></a>
It 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.
namespace YourAssemblyName
{
/// <summary>
/// your assembly documentation, used on the assembly page
/// </summary>
internal static class AssemblyDoc { } // internal so it is not visible outside the assembly
}
<a name='Overview_Namespace'></a>
It is possible to declare xml documentation for a namespace by adding a special class named NamespaceDoc in the desired namespace.
namespace YourNamespace
{
/// <summary>
/// your namespace documentation
/// </summary>
internal static class NamespaceDoc { } // internal so it is not visible outside the assembly
}
<a name='Overview_Links'></a>
When 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 that may produce incorrect links.
To remedy this, DefaultDocumentation use files for explicit links with the following simple format:
http://extern/assembly/documentation/base/url/
T:ExternAssembly.ExternType|extern_type.html|ExternType
M:ExternAssembly.ExternType.ExternMethod|extern_type_extern_method.html|ExternType
The first element is the base url that will be put before each following documentation page.
After 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).
You can change the base url in the same file for the following items.
http://extern/assembly/documentation/base/url/
T:ExternAssembly.ExternType|extern_type.html|ExternType
M:ExternAssembly.ExternType.ExternMethod|extern_type_extern_method.html|ExternType
http://extern/other/assembly/documentation/base/url/
T:OtherExternAssembly.ExternType|extern_type.html|ExternType
DefaultDocumentation 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 and LinksBaseUrl settings.
Links files have no defined extension.
<a name='Overview_Plugins'></a>
DefaultDocumentation is completely extensible in the form of plugin. The api serves as a base for contracts you can use to add features to your own documentation generation.
See the api reference for the list of interfaces for which you can provide your own implementations.
See Plugins setting for how to use a plugin and the samples for examples of implementations.
<a name='Configuration'></a>
Here is all the available settings to help you build your documentation as you wish.
<a name='Configuration_ConfigurationFilePath'></a>
<DefaultDocumentationConfigurationFile>...</DefaultDocumentationConfigurationFile>, default value is DefaultDocumentation.json in the project folder-j ... --ConfigurationFilePath ...The 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.
Note that using a configuration file allow you to provide specific settings per DocItem type. See DocItem Configuration for more informations.
All relative path specified in the configuration file are relative to the actual configuration file path.
<a name='Configuration_LogLevel'></a>
<DefaultDocumentationLogLevel>...</DefaultDocumentationLogLevel>-h ... --LogLevel ..."LogLevel": "..."The minimum level of the log you wish to be displayed to help resolve errors, Information by default. Available values are:
Trace: Trace log levelDebug: Debug log levelInformation: Info log levelWarning: Warn log levelError: Error log levelCritical: Critical log levelNone: no log<a name='Configuration_AssemblyFilePath'></a>
-a ... --AssemblyFilePath ..."AssemblyFilePath": "..."The path to the assembly file you wish to create documentation for.
<a name='Configuration_DocumentationFilePath'></a>
-d ... --DocumentationFilePath ..."DocumentationFilePath": "..."The path to the xml documentation file, if not specified DefaultDocumentation will assume it is in the same folder as the assembly.
<a name='Configuration_ProjectDirectoryPath'></a>
-p ... --ProjectDirectoryPath ..."ProjectDirectoryPath": "..."the path to the project source folder. This is only used if you reference a file using a source attribute in a <code> element.
<a name='Configuration_OutputDirectoryPath'></a>
<DefaultDocumentationFolder>...</DefaultDocumentationFolder>-o ... --OutputDirectoryPath ..."OutputDirectoryPath": "..."The 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.
<a name='Configuration_AssemblyPageName'></a>
<DefaultDocumentationAssemblyPageName>...</DefaultDocumentationAssemblyPageName>-n ... --AssemblyPageName ..."AssemblyPageName": "..."The name of the page for the assembly documentation.
Note 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).
If you did not provide a name but the page still need to be generated, the default name index will be used.
<a name='Configuration_GeneratedAccessModifiers'></a>
<DefaultDocumentationGeneratedAccessModifiers>...,...</DefaultDocumentationGeneratedAccessModifiers>-s ...,... --GeneratedAccessModifiers ...,..."GeneratedAccessModifiers": "...,..."State elements with which access modifier should be generated. All by default, available values are:
Public: generates documentation for 'public' access modifierPrivate: generates documentation for 'private' access modifierProtected: generates documentation for 'protected' access modifierInternal: generates documentation for 'internal' access modifierProtectedInternal: generates documentation for 'protected internal' access modifierPrivateProtected: generates documentation for 'private protected' access modifierApi: generates documentation for 'public', 'protected' and 'protected internal' access modifier.<a name='Configuration_IncludeUndocumentedItems'></a>
<DefaultDocumentationIncludeUndocumentedItems>...</DefaultDocumentationIncludeUndocumentedItems>-u --IncludeUndocumentedItems"IncludeUndocumentedItems": "..."If true items with no documentation will also be included in the generated documentation. false by default.
<a name='Configuration_GeneratedPages'></a>
<DefaultDocumentationGeneratedPages>...,...</DefaultDocumentationGeneratedPages>-g ...,... --GeneratedPages ...,..."GeneratedPages": "...,..."States 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:
Assembly: the assembly should have its own page, see AssemblyPageName for case when the assembly will have its page generated regardless of this flag being presentNamespaces: namespaces should have their own pagesClasses: classes should have their own pagesDelegates: delegates should have their own pagesEnums: enums should have their own pagesStructs: structs should have their own pagesInterfaces: interfaces should have their own pagesTypes: equivalent to Classes, Delegates, Enums, Structs, InterfacesConstructors: constructors should have their own pagesEvents: events should have their own pagesFields: fields should have their own pagesMethods: methods should have their own pagesOperators: operators should have their own pagesProperties: properties should have their own pagesExplicitInterfaceImplementations: property and method explicit interface implementations should have their own pagesMembers: equivalent to Constructors, Events, Fields, Methods, Operators, Properties, ExplicitInterfaceImplementations<a name='Configuration_LinksOutputFilePath'></a>
< sOutputFile>...</DefaultDocumentationLinksOutputFile>-l ... --LinksOutputFilePath ..."LinksOutputFilePath": "..."Where to generate the links file, see Extern links for more information, empty by default and does not generate the links file.
<a name='Configuration_LinksBaseUrl'></a>
<DefaultDocumentationLinksBaseUrl>...</DefaultDocumentationLinksBaseUrl>-b ... --LinksBaseUrl ..."LinksBaseUrl": "..."The base url to use for the links file, see Extern links for more information.
<a name='Configuration_ExternLinksFilePaths'></a>
<DefaultDocumentationExternLinksFiles>...|...</DefaultDocumentationExternLinksFiles>-e ...|... --ExternLinksFilePaths ...|..."ExternLinksFilePaths": [ "...", "..." ]The list of links files to use when generating the documentation, see Extern links for more information.
You can use pattern, ex: .\myfolder\*.txt.
<a name='Configuration_Plugins'></a>
<DefaultDocumentationPlugins>...|...</DefaultDocumentationPlugins>--Plugins ...|..."Plugins": [ "...", "..." ]The list of plugin files to load to create the documentation. See Plugins for more information.
<a name='Configuration_DocItemGenerators'></a>
<DefaultDocumentationDocItemGenerators>...|...</DefaultDocumentationDocItemGenerators>--DocItemGenerators ...|..."DocItemGenerators": [ "...", "..." ]Name or Type Assembly of the IDocItemGenerator implementations to use to generate the DocItem of the documentation.
The default implementations provided are:
Exclude or DefaultDocumentation.Markdown.DocItemGenerators.ExcludeGenerator DefaultDocumentation.Markdown remove DocItem from the documentation generation based on MarkdownConfiguration.Exclude.Overloads or DefaultDocumentation.Markdown.DocItemGenerators.OverloadsGenerator DefaultDocumentation.Markdown adds pages to group constructor and method overloads the same way microsoft documentation do it.
The default value is Exclude|Overloads.<a name='Configuration_UrlFactories'></a>
<DefaultDocumentationUrlFactories>...|...</DefaultDocumentationUrlFactories>--UrlFactories ...|..."UrlFactories": [ "...", "..." ]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.
The default implementations provided are:
DocItem or DefaultDocumentation.Markdown.UrlFactories.DocItemFactory DefaultDocumentation.Markdown returns an url for known DocItem.DotnetApi or DefaultDocumentation.Markdown.UrlFactories.DotnetApiFactory DefaultDocumentation.Markdown returns an url formated from the id to its possible dotnet api documentation.
The default value is DocItem|DotnetApi.<a name='Configuration_Elements'></a>
<DefaultDocumentationElements>...|...</DefaultDocumentationElements>--Elements ...|..."Elements": [ "...", "..." ]Type Assembly of the explicit IElement implementations to use to create the documentation.
By 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.
The default implementations provided are:
DefaultDocumentation.Markdown.Elements.CElement DefaultDocumentation.Markdown handle the rendering of <c> elementDefaultDocumentation.Markdown.Elements.CodeElement DefaultDocumentation.Markdown handle the rendering of <code> element. Attributes handled are:
language attribute used to declare the languge of the codesource attribute used to reference code from a specific fileregion attribute used to reference a specific #region from the sourceDefaultDocumentation.Markdown.Elements.ListElement DefaultDocumentation.Markdown handle the rendering of <list> elementDefaultDocumentation.Markdown.Elements.NoteElement DefaultDocumentation.Markdown handle the rendering of <note> elementDefaultDocumentation.Markdown.Elements.ParaElement DefaultDocumentation.Markdown handle the rendering of <para> element. Attributes handled are:
ignorelinebreak attribute used to change the default setting of IgnoreLineBreak for the content of this elementDefaultDocumentation.Markdown.Elements.ParamRefElement DefaultDocumentation.Markdown handle the rendering of <paramref> elementDefaultDocumentation.Markdown.Elements.SeeElement DefaultDocumentation.Markdown handle the rendering of <see>. Attributes handled are:
cref attributehref attributelangword attributeDefaultDocumentation.Markdown.Elements.TypeParamRefElement DefaultDocumentation.Markdown handle the rendering of <typeparamref> element<a name='DocItemConfiguration'></a>
Those 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.
{
"Sections": [
"Header",
"Default",
]
"NamespaceDocItem": {
"Sections": [
"Title",
"summary",
"TableOfContents"
]
}
}
The different DocItem types are:
AssemblyDocItemNamespaceDocItemClassDocItemStructDocItemInterfaceDocItemEnumDocItemDelegateDocItemConstructorDocItemEnumFieldDocItemEventDocItemExplicitInterfaceImplementationDocItemFieldDocItemMethodDocItemOperatorDocItemPropertyDocItemTypeParameterDocItemParameterDocItem<a name='DocItemConfiguration_FileNameFactory'></a>
<DefaultDocumentationFileNameFactory>...</DefaultDocumentationFileNameFactory>--FileNameFactory ..."FileNameFactory": "..."Name or Type Assembly of the IFileNameFactory implementation to use to generate the name of pages. Available implementations are:
FullName or DefaultDocumentation.Markdown.FileNameFactories.FullNameFactory DefaultDocumentation.Markdown uses the fully qualified name of each memberName 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)Md5 or DefaultDocumentation.Markdown.FileNameFactories.Md5Factory DefaultDocumentation.Markdown uses a Md5 of the full name of each member to produce shorter name, collisions can happenNameAndMd5Mix or DefaultDocumentation.Markdown.FileNameFactories.NameAndMd5MixFactory DefaultDocumentation.Markdown removes the namespace and use a Md5 for parametersDirectoryName or DefaultDocumentation.Markdown.FileNameFactories.DirectoryNameFactory DefaultDocumentation.Markdown use a directory hierarchy
The default value is FullName. All those implementations WILL delete any .md file EXCEPT a file named readme.md.<a name='DocItemConfiguration_Sections'></a>
<DefaultDocumentationSections>...|...</DefaultDocumentationSections>--Sections ...|..."Sections": [ "...", "..." ]Name or Type Assembly of the ISection implementations to use in order for the generation of the documentation. The available implentations are:
Header or DefaultDocumentation.Markdown.Sections.HeaderSection DefaultDocumentation.Markdown to write links to parents and top pagesFooter or DefaultDocumentation.Markdown.Sections.FooterSection DefaultDocumentation.Markdown to write a reference to this projectTypeParameters or DefaultDocumentation.Markdown.Sections.TypeParametersSection DefaultDocumentation.Markdown to write the TypeParameterDocItem children links or inlined documentationParameters or DefaultDocumentation.Markdown.Sections.ParametersSection DefaultDocumentation.Markdown to write the ParameterDocItem children links or inlined documentationEnumFields or DefaultDocumentation.Markdown.Sections.EnumFieldsSection DefaultDocumentation.Markdown to write the EnumFieldDocItem children links or inlined documentationConstructors or DefaultDocumentation.Markdown.Sections.ConstructorsSection DefaultDocumentation.Markdown to write the ConstructorDocItem children links or inlined documentationFields or DefaultDocumentation.Markdown.Sections.FieldsSection DefaultDocumentation.Markdown to write the FieldDocItem children links or inlined documentationProperties or DefaultDocumentation.Markdown.Sections.PropertiesSection DefaultDocumentation.Markdown to write the PropertyDocItem children links or inlined documentationMethods or DefaultDocumentation.Markdown.Sections.MethodsSection DefaultDocumentation.Markdown to write the MethodDocItem children links or inlined documentationEvents or DefaultDocumentation.Markdown.Sections.EventsSection DefaultDocumentation.Markdown to write the EventDocItem children links or inlined documentationOperators or DefaultDocumentation.Markdown.Sections.OperatorsSection DefaultDocumentation.Markdown to write the OperatorDocItem children links or inlined documentationExplicitInterfaceImplementations or DefaultDocumentation.Markdown.Sections.ExplicitInterfaceImplementationsSection DefaultDocumentation.Markdown to write the ExplicitInterfaceImplementationDocItem children links or inlined documentationClasses or DefaultDocumentation.Markdown.Sections.ClassesSection DefaultDocumentation.Markdown to write the ClassDocItem children links or inlined documentationStructs or DefaultDocumentation.Markdown.Sections.StructsSection DefaultDocumentation.Markdown to write the StructDocItem children links or inlined documentationInterfaces or DefaultDocumentation.Markdown.Sections.InterfacesSection DefaultDocumentation.Markdown to write the InterfaceDocItem children links or inlined documentationEnums or DefaultDocumentation.Markdown.Sections.EnumsSection DefaultDocumentation.Markdown to write the EnumDocItem children links or inlined documentationDelegates or DefaultDocumentation.Markdown.Sections.DelegatesSection DefaultDocumentation.Markdown to write the DelegateDocItem children links or inlined documentationNamespaces or DefaultDocumentation.Markdown.Sections.NamespacesSection DefaultDocumentation.Markdown to write the NamespaceDocItem children links or inlined documentationDefinition or DefaultDocumentation.Markdown.Sections.DefinitionSection DefaultDocumentation.Markdown to write the code definitionDerived or DefaultDocumentation.Markdown.Sections.DerivedSection DefaultDocumentation.Markdown to write links to derived typesEventType or DefaultDocumentation.Markdown.Sections.EventTypeSection DefaultDocumentation.Markdown to write the event type for EventDocItemFieldValue or DefaultDocumentation.Markdown.Sections.FieldValueSection DefaultDocumentation.Markdown to write the field value for FieldDocItemImplement or DefaultDocumentation.Markdown.Sections.ImplementSection DefaultDocumentation.Markdown to write links to implementationsInheritance or DefaultDocumentation.Markdown.Sections.InheritanceSection DefaultDocumentation.Markdown to write links to the inherited typesTableOfContents or DefaultDocumentation.Markdown.Sections.TableOfContentsSection DefaultDocumentation.Markdown to write a table of content links to all children, see TableOfContentsModes settingTitle or DefaultDocumentation.Markdown.Sections.TitleSection DefaultDocumentation.Markdown to write the title and link target of a DocItemDefinition or DefaultDocumentation.Markdown.Sections.DefinitionSection DefaultDocumentation.Markdown to write the code definitionDefault or DefaultDocumentation.Markdown.Sections.DefaultSection DefaultDocumentation.Markdown is a grouping of those ISection implementations in this order:
DefaultDocumentation.Markdown.Sections.TitleSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.SummarySection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.DefinitionSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.TypeParametersSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.ParametersSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.EnumFieldsSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.InheritanceSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.DerivedSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.ImplementSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.EventTypeSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.FieldValueSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.ValueSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.ReturnsSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.ExceptionSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.ExampleSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.RemarksSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.SeeAlsoSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.NamespacesSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.ClassesSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.StructsSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.InterfacesSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.EnumsSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.DelegatesSection DefaultDocumentation.Markdownexample or DefaultDocumentation.Markdown.Sections.ExampleSection DefaultDocumentation.Markdown to write the <example> element
ignorelinebreak attribute used to change the default setting of IgnoreLineBreak for the content of this elementexception or DefaultDocumentation.Markdown.Sections.ExceptionSection DefaultDocumentation.Markdown to write the <exception> elements
cref attributeignorelinebreak attribute used to change the default setting of IgnoreLineBreak for the content of this elementremarks or DefaultDocumentation.Markdown.Sections.RemarksSection DefaultDocumentation.Markdown to write the <remarks> element
ignorelinebreak attribute used to change the default setting of IgnoreLineBreak for the content of this elementreturns or DefaultDocumentation.Markdown.Sections.ReturnsSection DefaultDocumentation.Markdown to write the <returns> element
ignorelinebreak attribute used to change the default setting of IgnoreLineBreak for the content of this elementseealso or DefaultDocumentation.Markdown.Sections.SeeAlsoSection DefaultDocumentation.Markdown to write the <seealso> elements
cref attributehref attributesummary or DefaultDocumentation.Markdown.Sections.SummarySection DefaultDocumentation.Markdown to write the <summary> element
ignorelinebreak attribute used to change the default setting of IgnoreLineBreak for the content of this elementvalue or DefaultDocumentation.Markdown.Sections.ValueSection DefaultDocumentation.Markdown to write the <value> element
ignorelinebreak attribute used to change the default setting of IgnoreLineBreak for the content of this elementThe default value is Header|Default.
<a name='MarkdownConfiguration'></a>
The 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.
<a name='MarkdownConfiguration_NestedTypeVisibilities'></a>
"Markdown.NestedTypeVisibilities": "...,..."States where nested types should be visible. Available values are:
Namespace: nested types will be displayed in their parent namespaceDeclaringType: nested types will be displayed in their parent typeDefault value is Namespace.
This setting can be overriden by specific DocItem types.
<a name='MarkdownConfiguration_RemoveFileExtensionFromUrl'></a>
"Markdown.RemoveFileExtensionFromUrl": "..."true to remove the extension .md from links in the generated documentation, some wikies don't like those. false by default.
<a name='MarkdownConfiguration_InvalidCharReplacement'></a>
"Markdown.InvalidCharReplacement": "..."Provides the value to use to replace invalid char for file names, _ by default.
<a name='MarkdownConfiguration_HandleLineBreak'></a>
"Markdown.HandleLineBreak": "..."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.
This setting can be overriden by specific DocItem types.
<a name='MarkdownConfiguration_TableOfContentsModes'></a>
"Markdown.TableOfContentsModes": "...,..."States how the table of contents should be rendered. Available values are:
Grouped: each DocItem kind should be grouped in their own sectionIncludeKind: display the kind of each DocItem explicitelyIncludeSummary: the <summary> element of the DocItem should be displayedIncludeNewLine: their should be a newline between the DocItem name and its <summary> if displayedIncludeSummaryWithNewLine: same as IncludeSummary,IncludeNewLineThis setting can be overriden by specific DocItem types.
<a name='MarkdownConfiguration_UrlFormat'></a>
"Markdown.UrlFormat": ""State the format that will be used to display urls.
Three arguments will be passed to the format:
The default value is [{0}]({1} '{2}').
<a name='MarkdownConfiguration_Exclude'></a>
"Markdown.Exclude": [ "", ... ]Contains a collection of regex used by the DefaultDocumentation.Markdown.DocItemGenerators.ExcludeGenerator DefaultDocumentation.Markdown DocItemGenerator,
any DocItem whose id will match one of them will be excluded from the documentation generation.
The default value is null.
<a name='MarkdownConfiguration_UseFullUrl'></a>
"Markdown.UseFullUrl": boolStates if the url written should be absolute if a LinksBaseUrl is provided.
The default value is false.
<a name='Samples'></a>
<a name='Dependencies'></a>
DefaultDocumentation is only made possible thanks to those awesome projects:
CI, tests and code quality rely on those awesome projects:
DefaultDocumentation.Markdown.Sections.ConstructorsSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.FieldsSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.PropertiesSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.MethodsSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.EventsSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.OperatorsSection DefaultDocumentation.MarkdownDefaultDocumentation.Markdown.Sections.ExplicitInterfaceImplementationsSection DefaultDocumentation.Markdown