### Install DefaultDocumentation as a Dotnet Tool Source: https://github.com/doraku/defaultdocumentation/blob/master/README.md Install the DefaultDocumentation dotnet tool globally to control documentation generation manually. Use the 'dotnet tool install' command. ```bash dotnet tool install DefaultDocumentation.Console -g ``` -------------------------------- ### Install and Use DefaultDocumentation CLI Tool Source: https://context7.com/doraku/defaultdocumentation/llms.txt Install the DefaultDocumentation console tool globally and use it to generate documentation. You can specify assembly paths, output directories, and generation options via command-line arguments or a configuration file. ```bash # Install globally dotnet tool install DefaultDocumentation.Console -g # Generate documentation for an assembly defaultdocumentation --AssemblyFilePath ./bin/Release/net8.0/MyLibrary.dll \ --OutputDirectoryPath ./docs \ --GeneratedPages "Assembly,Types,Members" \ --FileNameFactory "FullName" # Use a JSON configuration file defaultdocumentation --ConfigurationFilePath ./DefaultDocumentation.json ``` -------------------------------- ### DefaultDocumentation JSON Configuration Example Source: https://context7.com/doraku/defaultdocumentation/llms.txt Configure detailed documentation generation settings using a JSON file. This example shows options for file paths, access modifiers, page generation, naming conventions, undocumented items, external links, and custom sections. ```json { "AssemblyFilePath": "bin/Release/net8.0/MyLibrary.dll", "OutputDirectoryPath": "documentation/api", "GeneratedAccessModifiers": "Api", "GeneratedPages": "Assembly,Types,Members", "FileNameFactory": "DirectoryName", "IncludeUndocumentedItems": false, "LinksOutputFilePath": "documentation/MyLibrary.txt", "LinksBaseUrl": "https://github.com/myorg/myrepo/blob/main/docs/", "ExternLinksFilePaths": [ "documentation/extern-links.txt" ], "Sections": [ "Header", "Default", "Footer" ], "NamespaceDocItem": { "Sections": [ "Title", "summary", "TableOfContents" ], "Markdown.TableOfContentsModes": "IncludeKind,IncludeSummary" }, "ClassDocItem": { "Sections": [ "Header", "Default" ] } } ``` -------------------------------- ### ISettings.DocumentationFile Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/ISettings/DocumentationFile.md Gets the xml documentation file of the AssemblyFile. ```APIDOC ## ISettings.DocumentationFile Property ### Description Gets the xml documentation file of the [AssemblyFile](AssemblyFile.md 'DefaultDocumentation.ISettings.AssemblyFile'). ### Property Type System.IO.FileInfo ### Property Value [System.IO.FileInfo](https://learn.microsoft.com/en-us/dotnet/api/system.io.fileinfo 'System.IO.FileInfo') ``` -------------------------------- ### ISettings.OutputDirectory Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/ISettings/OutputDirectory.md Gets the output directory where the documentation is being generated. ```APIDOC ## ISettings.OutputDirectory Property ### Description Gets the output directory where the documentation is being generated. ### Method GET ### Endpoint N/A (This is a property, not an endpoint) ### Parameters None ### Request Body None ### Response #### Success Response (200) - **OutputDirectory** (System.IO.DirectoryInfo) - The directory where documentation is generated. #### Response Example ```json { "OutputDirectory": "/path/to/output" } ``` ``` -------------------------------- ### ISettings.AssemblyFile Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/ISettings/AssemblyFile.md Gets the assembly file for which the documentation is being generated. ```APIDOC ## ISettings.AssemblyFile Property ### Description Gets the assembly file for which the documentation is being generated. ### Property Type System.IO.FileInfo ``` -------------------------------- ### ISettings.ProjectDirectory Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/ISettings/ProjectDirectory.md Gets the root project directory where the sources of the AssemblyFile are. ```APIDOC ## ISettings.ProjectDirectory Property ### Description Gets the root project directory where the sources of the [AssemblyFile](AssemblyFile.md 'DefaultDocumentation.ISettings.AssemblyFile') are. ### Property Value [System.IO.DirectoryInfo](https://learn.microsoft.com/en-us/dotnet/api/system.io.directoryinfo 'System.IO.DirectoryInfo') ``` -------------------------------- ### IGeneralContext.Settings Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/IGeneralContext/Settings.md Gets the ISettings of this documentation generation context. ```APIDOC ## IGeneralContext.Settings Property ### Description Gets the [ISettings](../ISettings/index.md 'DefaultDocumentation.ISettings') of this documentation generation context. ### Method GET ### Endpoint /doraku/defaultdocumentation/IGeneralContext/Settings ### Parameters #### Query Parameters - **contextId** (string) - Required - The unique identifier for the IGeneralContext instance. ### Response #### Success Response (200) - **settings** (ISettings) - The ISettings object associated with the context. #### Response Example { "settings": { "setting1": "value1", "setting2": "value2" } } ``` -------------------------------- ### IDocItemsContext.Settings Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/IDocItemsContext/Settings.md Gets the ISettings of this documentation generation context. ```APIDOC ## IDocItemsContext.Settings Property ### Description Gets the [ISettings](../ISettings/index.md 'DefaultDocumentation.ISettings') of this documentation generation context. ### Method GET ### Endpoint /doraku/defaultdocumentation/IDocItemsContext/Settings ### Response #### Success Response (200) - **Settings** (ISettings) - The settings object for the documentation context. #### Response Example ```json { "Settings": { "someSetting": "value" } } ``` ``` -------------------------------- ### IWriter.Context Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/Api/IWriter/Context.md Gets the IPageContext of the current documentation generation process. ```APIDOC ## IWriter.Context Property ### Description Gets the [IPageContext](../../IPageContext/index.md 'DefaultDocumentation.IPageContext') of the current documentation generation process. ### Property Value [IPageContext](../../IPageContext/index.md 'DefaultDocumentation.IPageContext') ``` -------------------------------- ### ExampleSection.Name Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/ExampleSection/Name.md Gets the name of the section, used to identify it at the configuration level. ```APIDOC ## ExampleSection.Name Property ### Description Gets the name of the section, used to identify it at the configuration level. ### Method GET ### Endpoint /doraku/defaultdocumentation/ExampleSection/Name ### Parameters #### Query Parameters - **sectionName** (string) - Required - The name of the section to retrieve. ### Response #### Success Response (200) - **name** (string) - The name of the section. #### Response Example { "name": "ExampleSection" } ``` -------------------------------- ### IGeneralContext.UrlFactories Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/IGeneralContext/UrlFactories.md Gets the IUrlFactory used to create the documentation urls. ```APIDOC ## IGeneralContext.UrlFactories Property ### Description Gets the [IUrlFactory](../Api/IUrlFactory/index.md 'DefaultDocumentation.Api.IUrlFactory') used to create the documentation urls. ### Property Value [System.Collections.Generic.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System.Collections.Generic.IEnumerable`1')[IUrlFactory](../Api/IUrlFactory/index.md 'DefaultDocumentation.Api.IUrlFactory')[>] ``` -------------------------------- ### MarkdownWriter.Context Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Writers/MarkdownWriter/Context.md Gets the IPageContext of the current documentation generation process. ```APIDOC ## MarkdownWriter.Context Property ### Description Gets the [IPageContext](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/IPageContext/index.md 'DefaultDocumentation.IPageContext') of the current documentation generation process. ### Property Value [IPageContext](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/IPageContext/index.md 'DefaultDocumentation.IPageContext') ``` -------------------------------- ### OverrideWriter.Context Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Writers/OverrideWriter/Context.md Gets the IPageContext of the current documentation generation process. ```APIDOC ## OverrideWriter.Context Property ### Description Gets the [IPageContext](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/IPageContext/index.md 'DefaultDocumentation.IPageContext') of the current documentation generation process. ### Property Value [IPageContext](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/IPageContext/index.md 'DefaultDocumentation.IPageContext') ``` -------------------------------- ### PrefixedWriter.Context Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Writers/PrefixedWriter/Context.md Gets the IPageContext of the current documentation generation process. ```APIDOC ## PrefixedWriter.Context Property ### Description Gets the [IPageContext](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/IPageContext/index.md 'DefaultDocumentation.IPageContext') of the current documentation generation process. ### Property Value [IPageContext](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/IPageContext/index.md 'DefaultDocumentation.IPageContext') ``` -------------------------------- ### IGeneralContext.ItemsWithOwnPage Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/IGeneralContext/ItemsWithOwnPage.md Gets all the DocItem that should generate their own documentation page. ```APIDOC ## IGeneralContext.ItemsWithOwnPage Property ### Description Gets all the [DocItem](../Models/DocItem/index.md 'DefaultDocumentation.Models.DocItem') that should generate their own documentation page. ### Property Value [System.Collections.Generic.IReadOnlyCollection<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlycollection-1 'System.Collections.Generic.IReadOnlyCollection`1')[DocItem](../Models/DocItem/index.md 'DefaultDocumentation.Models.DocItem')[>] ``` -------------------------------- ### Get Parents of a DocItem Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/Models/DocItemExtensions/GetParents(thisDocItem).md Use this method to retrieve all parent DocItems for a given DocItem, starting from the top parent. No specific setup is required beyond having a DocItem instance. ```csharp public static System.Collections.Generic.IEnumerable GetParents(this DefaultDocumentation.Models.DocItem item); ``` -------------------------------- ### Get IProperty of PropertyDocItem Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/Models/Members/PropertyDocItem/Property.md Retrieves the IProperty associated with this documentation item. Requires no specific setup beyond having an instance of PropertyDocItem. ```csharp public IProperty Property { get; } ``` -------------------------------- ### Accessing the IField of a FieldDocItem Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/Models/Members/FieldDocItem/Field.md Use this property to get the IField object associated with the current FieldDocItem instance. No specific setup is required beyond having an instance of FieldDocItem. ```csharp public IField Field { get; } ``` -------------------------------- ### ExampleSection ConfigName Field Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/ExampleSection/ConfigName.md This constant string defines the configuration name for the ExampleSection implementation. It is used at the configuration level. ```csharp public const string ConfigName = "example"; ``` -------------------------------- ### ExampleSection API Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/index.md Documentation for the ExampleSection class, including its properties and methods. ```APIDOC ## ExampleSection ### Description Provides documentation for the ExampleSection. ### Methods #### Name Gets the name of the section, used to identify it at the configuration level. #### Write(IWriter) Writes the section to a given IWriter. ``` -------------------------------- ### Get or Set MarkdownWriter Length Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Writers/MarkdownWriter/Length.md Use this property to get or set the current length of the documentation text produced by the MarkdownWriter. It implements the IWriter.Length interface. ```csharp public int Length { get; set; } ``` -------------------------------- ### OperatorsSection.ShouldInlineChildren Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/OperatorsSection/ShouldInlineChildren(IGeneralContext,DocItem).md Gets if the children should be inlined or not. ```APIDOC ## OperatorsSection.ShouldInlineChildren(IGeneralContext, DocItem) ### Description Gets if the children should be inlined or not. ### Method protected override bool ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (200) - **return value** (System.Boolean) - True if children should be inlined, false otherwise. #### Response Example N/A ``` -------------------------------- ### MethodsSection.ShouldInlineChildren Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/MethodsSection/ShouldInlineChildren(IGeneralContext,DocItem).md Gets if the children should be inlined or not. ```APIDOC ## MethodsSection.ShouldInlineChildren(IGeneralContext, DocItem) ### Description Gets if the children should be inlined or not. ### Method protected override bool ShouldInlineChildren(DefaultDocumentation.IGeneralContext context, DefaultDocumentation.Models.DocItem item); ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **return value** (System.Boolean) - Indicates whether children should be inlined. #### Response Example None ``` -------------------------------- ### Custom File Naming Strategy with IFileNameFactory Source: https://context7.com/doraku/defaultdocumentation/llms.txt Implement IFileNameFactory to define custom file naming conventions. This example prefixes all generated Markdown files with 'api-' and includes a cleanup step for old files. ```csharp using System.IO; using DefaultDocumentation; using DefaultDocumentation.Api; using DefaultDocumentation.Models; namespace MyPlugin; public sealed class PrefixedFileNameFactory : IFileNameFactory { public string Name => "Prefixed"; public void Clean(IGeneralContext context) { // Clean previously generated files with .md extension var outputDir = context.Settings.OutputDirectory; if (outputDir?.Exists == true) { foreach (var file in outputDir.EnumerateFiles("api-*.md")) { file.Delete(); } } } public string GetFileName(IGeneralContext context, DocItem item) { // Prefix all files with "api-" and use the item's full name var safeName = item.FullName.Replace("<", "_").Replace(">", "_"); return $"api-{safeName}.md"; } } ``` -------------------------------- ### MethodOverloadsSection.GetChildren Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/MethodOverloadsSection/GetChildren(IGeneralContext,DocItem).md Gets the children of a DocItem to write. ```APIDOC ## MethodOverloadsSection.GetChildren(IGeneralContext, DocItem) ### Description Gets the children of a [DocItem](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/Models/DocItem/index.md 'DefaultDocumentation.Models.DocItem') to write. ### Method protected override System.Collections.Generic.IEnumerable GetChildren(DefaultDocumentation.IGeneralContext context, DefaultDocumentation.Models.DocItem item); ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **return value** (System.Collections.Generic.IEnumerable) - The children to write. #### Response Example None ``` -------------------------------- ### ExampleSection API Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/index.md Documentation for the ExampleSection class and its associated fields. ```APIDOC ## ExampleSection ### Description Implementation to write the `example` top level element. ### Field #### ConfigName The name of this implementation used at the configuration level. ``` -------------------------------- ### TypeDocItem.TypeParameters Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/index.md Gets the TypeParameterDocItem of this instance. ```APIDOC ## TypeDocItem.TypeParameters Property ### Description Gets the [TypeParameterDocItem](DefaultDocumentation/Models/Parameters/TypeParameterDocItem/index.md 'DefaultDocumentation.Models.Parameters.TypeParameterDocItem') of this instance. ### Method Property ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response #### Success Response (200) - **TypeParameters** (TypeParameterDocItem) - The TypeParameterDocItem of this instance. ### Response Example N/A ``` -------------------------------- ### ConstructorOverloadsSection.ShouldInlineChildren Method Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/ConstructorOverloadsSection/ShouldInlineChildren(IGeneralContext,DocItem).md Gets if the children should be inlined or not. ```APIDOC ## ConstructorOverloadsSection.ShouldInlineChildren(IGeneralContext, DocItem) ### Description Gets if the children should be inlined or not. ### Method protected override bool ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (200) - **return value** (System.Boolean) - True if children should be inlined, false otherwise. #### Response Example N/A ``` -------------------------------- ### ExampleSection Class Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/ExampleSection/index.md Details of the ExampleSection class, including its inheritance, implemented interfaces, fields, properties, and methods. ```APIDOC ## ExampleSection Class [ISection](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/Api/ISection/index.md 'DefaultDocumentation.Api.ISection') implementation to write the `example` top level element. ```csharp public sealed class ExampleSection : DefaultDocumentation.Api.ISection ``` Inheritance [System.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System.Object') 🡒 ExampleSection Implements [ISection](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/Api/ISection/index.md 'DefaultDocumentation.Api.ISection') ### Fields | Fields | | :--- | | [ConfigName](ConfigName.md 'DefaultDocumentation.Markdown.Sections.ExampleSection.ConfigName') | The name of this implementation used at the configuration level. | ### Properties | Properties | | :--- | | [Name](Name.md 'DefaultDocumentation.Markdown.Sections.ExampleSection.Name') | Gets the name of the section, used to identify it at the configuration level. | ### Methods | Methods | | :--- | | [Write(IWriter)](Write(IWriter).md 'DefaultDocumentation.Markdown.Sections.ExampleSection.Write(DefaultDocumentation.Api.IWriter)') | Writes the section to a given [IWriter](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/Api/IWriter/index.md 'DefaultDocumentation.Api.IWriter'). | ``` -------------------------------- ### ConstructorsSection.ShouldInlineChildren Method Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/ConstructorsSection/ShouldInlineChildren(IGeneralContext,DocItem).md Gets if the children should be inlined or not. ```APIDOC ## ConstructorsSection.ShouldInlineChildren Method ### Description Gets if the children should be inlined or not. ### Method protected override bool ShouldInlineChildren(DefaultDocumentation.IGeneralContext context, DefaultDocumentation.Models.DocItem item); ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **context** (IGeneralContext) - The IGeneralContext of the current documentation generation process. - **item** (DocItem) - The DocItem for which to write its children. - **return value** (System.Boolean) - Gets if the children should be inlined or not. #### Response Example None ``` -------------------------------- ### IDocItemsContext.GetSetting(string) Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/IDocItemsContext/GetSetting.md Retrieves a setting of a specified type and name. ```APIDOC ## IDocItemsContext.GetSetting(string) ### Description Gets a setting of type T with the given name. ### Method GET (or equivalent for retrieving a setting) ### Endpoint Not applicable (this is a method signature, not a REST endpoint) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```csharp var settingValue = docItemsContext.GetSetting("MySettingName"); ``` ### Response #### Success Response (200) - **T** (generic type) - The value of the setting if found, otherwise the default value for type T. #### Response Example ```json "settingValue" ``` ``` -------------------------------- ### ISettings.Logger Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/ISettings/Logger.md Gets the Microsoft.Extensions.Logging.ILogger of the process. ```APIDOC ## ISettings.Logger Property ### Description Gets the [Microsoft.Extensions.Logging.ILogger](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.ilogger 'Microsoft.Extensions.Logging.ILogger') of the process. ### Property Value [Microsoft.Extensions.Logging.ILogger](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.ilogger 'Microsoft.Extensions.Logging.ILogger') ``` -------------------------------- ### IContext.GetSetting(string) Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/IContext/GetSetting_T_(string).md Retrieves a setting of a specified type and name from the context. ```APIDOC ## IContext.GetSetting(string) ### Description Gets a setting of type T with the given name. ### Method GET (Conceptual - this is a method call, not a direct HTTP endpoint) ### Endpoint N/A (Method call within an application) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```csharp var settingValue = context.GetSetting("MySettingName"); ``` ### Response #### Success Response (200) - **T** (type) - The setting value if found, otherwise the default value for type T. #### Response Example ```json { "example": "The retrieved setting value or default" } ``` ``` -------------------------------- ### StructsSection.ShouldInlineChildren(IGeneralContext, DocItem) Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/StructsSection/ShouldInlineChildren(IGeneralContext,DocItem).md Gets if the children should be inlined or not. ```APIDOC ## StructsSection.ShouldInlineChildren(IGeneralContext, DocItem) ### Description Gets if the children should be inlined or not. ### Method protected override bool ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (200) - **return value** (System.Boolean) - True if children should be inlined, false otherwise. #### Response Example N/A ``` -------------------------------- ### Initialize ConstructorOverloadsSection Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/ConstructorOverloadsSection/ConstructorOverloadsSection().md Initializes a new instance of the ConstructorOverloadsSection type. No specific setup or constraints are mentioned. ```csharp public ConstructorOverloadsSection(); ``` -------------------------------- ### DelegatesSection.ShouldInlineChildren(IGeneralContext, DocItem) Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/DelegatesSection/ShouldInlineChildren(IGeneralContext,DocItem).md Gets if the children should be inlined or not. ```APIDOC ## DelegatesSection.ShouldInlineChildren(IGeneralContext, DocItem) ### Description Gets if the children should be inlined or not. ### Method protected override bool ShouldInlineChildren(DefaultDocumentation.IGeneralContext context, DefaultDocumentation.Models.DocItem item); ### Parameters #### Path Parameters * None #### Query Parameters * None #### Request Body * None ### Request Example * None ### Response #### Success Response (200) * **return value** (System.Boolean) - Indicates whether children should be inlined. #### Response Example * None ``` -------------------------------- ### ConstructorsSection.GetChildren Method Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/ConstructorsSection/GetChildren(IGeneralContext,DocItem).md Gets the children of a DocItem to write. ```APIDOC ## ConstructorsSection.GetChildren(IGeneralContext, DocItem) ### Description Gets the children of a [DocItem](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/Models/DocItem/index.md 'DefaultDocumentation.Models.DocItem') to write. ### Method protected override System.Collections.Generic.IEnumerable GetChildren(DefaultDocumentation.IGeneralContext context, DefaultDocumentation.Models.DocItem item); ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **Children** (System.Collections.Generic.IEnumerable) - The children to write. #### Response Example None ``` -------------------------------- ### DelegateDocItem Parameters Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/Models/Types/DelegateDocItem/Parameters.md Gets the ParameterDocItem of this instance. ```APIDOC ## DelegateDocItem.Parameters Property ### Description Gets the ParameterDocItem of this instance. ### Method GET ### Endpoint /doraku/defaultdocumentation/DelegateDocItem/{id}/Parameters ### Parameters #### Path Parameters - **id** (string) - Required - The identifier of the DelegateDocItem. ### Response #### Success Response (200) - **Parameters** (IEnumerable) - A collection of ParameterDocItem objects representing the parameters of the DelegateDocItem. #### Response Example ```json { "Parameters": [ { "Name": "param1", "Type": "string", "Description": "First parameter" }, { "Name": "param2", "Type": "int", "Description": "Second parameter" } ] } ``` ``` -------------------------------- ### DelegateDocItem.InvokeMethod Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/Models/Types/DelegateDocItem/InvokeMethod.md Gets the IMethod of the current instance. ```APIDOC ## DelegateDocItem.InvokeMethod Property ### Description Gets the IMethod of the current instance. ### Property Value - **InvokeMethod** (IMethod) - The IMethod of the current instance. ``` -------------------------------- ### ConstructorDocItem Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/index.md Represents documentation for a constructor, providing access to the underlying IMethod and its parameters. ```APIDOC ## ConstructorDocItem ### Description Represents a constructor documentation. ### Class DefaultDocumentation.Models.Members.ConstructorDocItem ### Constructor #### ConstructorDocItem(TypeDocItem, IMethod, XElement) Initializes a new instance of the ConstructorDocItem type. ### Properties - **Method** (Property): Gets the IMethod of the current instance. - **Parameters** (Property): Gets the ParameterDocItem of this instance. ``` -------------------------------- ### ConstructorDocItem.Method Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/Models/Members/ConstructorDocItem/Method.md Gets the IMethod of the current instance. ```APIDOC ## ConstructorDocItem.Method Property ### Description Gets the IMethod of the current instance. ### Method GET ### Endpoint N/A (Property Access) ### Parameters N/A ### Request Example N/A ### Response #### Success Response (200) - **Method** (IMethod) - The IMethod of the current instance. #### Response Example ```json { "Method": "" } ``` ``` -------------------------------- ### EnumFieldDocItem.Field Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/Models/Members/EnumFieldDocItem/Field.md Gets the IField of the current instance. ```APIDOC ## EnumFieldDocItem.Field Property ### Description Gets the [IField](https://github.com/icsharpcode/ILSpy 'ICSharpCode.Decompiler.TypeSystem.IField') of the current instance. ### Method GET ### Endpoint /EnumFieldDocItem/Field ### Parameters #### Query Parameters - **instanceId** (string) - Required - The ID of the EnumFieldDocItem instance. ### Response #### Success Response (200) - **field** (IField) - The IField of the current instance. #### Response Example { "field": { "name": "ExampleField", "type": "System.String" } } ``` -------------------------------- ### Initialize ExternDocItem Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/Models/ExternDocItem/ExternDocItem(string,string,string).md Use this constructor to create a new instance of ExternDocItem, providing the ID, URL, and optional name of the external documentation item. ```csharp public ExternDocItem(string id, string url, string? name); ``` -------------------------------- ### Initialize ParametersSection Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/ParametersSection/ParametersSection().md Use this constructor to create a new instance of the ParametersSection type. ```csharp public ParametersSection(); ``` -------------------------------- ### DefaultDocumentation.Markdown.FileNameFactories.NameFactory.GetMarkdownFileName Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/index.md Gets the file name to use for the given DocItem. ```APIDOC ## GET /doraku/defaultdocumentation/markdown/filenamefactories/namefactory/getmarkdownfilename ### Description Gets the file name to use for the given DocItem. ### Method GET ### Endpoint /doraku/defaultdocumentation/markdown/filenamefactories/namefactory/getmarkdownfilename ### Parameters #### Query Parameters - **context** (IGeneralContext) - Required - The general context for documentation generation. - **docItem** (DocItem) - Required - The documentation item for which to get the file name. ### Response #### Success Response (200) - **fileName** (string) - The generated file name for the DocItem. ``` -------------------------------- ### IUrlFactory Interface Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/Api/IUrlFactory/index.md Exposes methods related to the documentation files URL creation. ```APIDOC ## IUrlFactory Interface ### Description Exposes methods related to the documentation files url creation. ### Methods #### GetUrl(IPageContext, string) Gets the url of the given id. Returns null of the instance does not know how to handle the provided id. ### Properties #### Name Gets the name of the factory, used to identify it at the configuration level. ``` -------------------------------- ### DefaultDocumentation.Markdown.FileNameFactories.NameAndMd5MixFactory.GetMarkdownFileName Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/index.md Gets the file name to use for the given DocItem. ```APIDOC ## GET /doraku/defaultdocumentation/markdown/filenamefactories/nameandmd5mixfactory/getmarkdownfilename ### Description Gets the file name to use for the given DocItem. ### Method GET ### Endpoint /doraku/defaultdocumentation/markdown/filenamefactories/nameandmd5mixfactory/getmarkdownfilename ### Parameters #### Query Parameters - **context** (IGeneralContext) - Required - The general context for documentation generation. - **docItem** (DocItem) - Required - The documentation item for which to get the file name. ### Response #### Success Response (200) - **fileName** (string) - The generated file name for the DocItem. ``` -------------------------------- ### Initialize ClassesSection Instance Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/ClassesSection/ClassesSection().md Use this constructor to create a new instance of the ClassesSection type. No specific setup or imports are required beyond the class definition. ```csharp public ClassesSection(); ``` -------------------------------- ### NameAndMd5MixFactory.GetMarkdownFileName Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/FileNameFactories/NameAndMd5MixFactory/GetMarkdownFileName(IGeneralContext,DocItem).md Gets the file name to use for a given DocItem. ```APIDOC ## NameAndMd5MixFactory.GetMarkdownFileName(IGeneralContext, DocItem) Method ### Description Gets the file name to use for the given [DocItem](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/Models/DocItem/index.md 'DefaultDocumentation.Models.DocItem'). ### Method protected override string GetMarkdownFileName(DefaultDocumentation.IGeneralContext context, DefaultDocumentation.Models.DocItem item); ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None #### Parameters ##### `context` [IGeneralContext](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/IGeneralContext/index.md 'DefaultDocumentation.IGeneralContext') - Required - The [IGeneralContext](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/IGeneralContext/index.md 'DefaultDocumentation.IGeneralContext') of the current documentation generation process. ##### `item` [DocItem](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/Models/DocItem/index.md 'DefaultDocumentation.Models.DocItem') - Required - The [DocItem](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/Models/DocItem/index.md 'DefaultDocumentation.Models.DocItem') for which to get the documentation file name. ### Returns - [System.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System.String') - The file name to use. ``` -------------------------------- ### TypeParamRefElement.Name Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Elements/TypeParamRefElement/Name.md Gets the name of the System.Xml.Linq.XElement this type handles. ```APIDOC ## TypeParamRefElement.Name Property ### Description Gets the name of the [System.Xml.Linq.XElement](https://learn.microsoft.com/en-us/dotnet/api/system.xml.linq.xelement 'System.Xml.Linq.XElement') this type handle. ```csharp public string Name { get; } ``` Implements [Name](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/Api/IElement/Name.md 'DefaultDocumentation.Api.IElement.Name') ### Property Value [System.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System.String') ``` -------------------------------- ### PropertyDocItem Class and Constructor Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/index.md Defines the structure for property documentation and its initialization. ```APIDOC ## PropertyDocItem ### Description Represents an IProperty documentation. ### Constructor `PropertyDocItem(TypeDocItem, IProperty, XElement)` Initialize a new instance of the PropertyDocItem type. ### Properties - **Parameters** (ParameterDocItem) - Gets the ParameterDocItem of this instance. - **Property** (IProperty) - Gets the IProperty of the current instance. ``` -------------------------------- ### SeeElement.Name Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Elements/SeeElement/Name.md Gets the name of the System.Xml.Linq.XElement this type handles. ```APIDOC ## SeeElement.Name Property ### Description Gets the name of the [System.Xml.Linq.XElement](https://learn.microsoft.com/en-us/dotnet/api/system.xml.linq.xelement 'System.Xml.Linq.XElement') this type handle. ### Method GET ### Endpoint N/A (Property) ### Parameters N/A ### Request Body N/A ### Response #### Success Response (200) - **Name** (string) - The name of the XElement. #### Response Example ```csharp public string Name { get; } ``` ### Property Value [System.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System.String') ``` -------------------------------- ### Configure MSBuild for Documentation Generation Source: https://github.com/doraku/defaultdocumentation/blob/master/README.md Reference the DefaultDocumentation package and set 'GenerateDocumentationFile' to true in your csproj to automatically produce markdown pages after a successful build. Development dependencies are not added to your project. ```xml ... true ... ... ``` -------------------------------- ### ParamRefElement.Name Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Elements/ParamRefElement/Name.md Gets the name of the System.Xml.Linq.XElement this type handles. ```APIDOC ## ParamRefElement.Name Property ### Description Gets the name of the System.Xml.Linq.XElement this type handles. ### Method GET ### Endpoint N/A (Property) ### Parameters N/A ### Request Body N/A ### Response #### Success Response (200) - **Name** (string) - The name of the associated XElement. #### Response Example ```json { "Name": "exampleElementName" } ``` ``` -------------------------------- ### Get Setting Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/IGeneralContextExtensions/GetSetting.md Retrieves settings of a specific type from the current context or the general context. ```APIDOC ## GET /doraku/defaultdocumentation/settings/{settingType} ### Description Retrieves settings of a specific type. It first checks the current `IContext` and falls back to the `IGeneralContext` if not found. ### Method GET ### Endpoint `/doraku/defaultdocumentation/settings/{settingType}` ### Parameters #### Path Parameters - **settingType** (System.Type) - Required - The type of the setting to retrieve. ### Response #### Success Response (200) - **T** (type) - The requested setting value. This can be a nullable type for structs. ### Remarks For struct settings, the type `T` should be `System.Nullable<>`. ``` -------------------------------- ### ISettings.LinksOutputFile Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/ISettings/LinksOutputFile.md Gets the file name where all the URLs of the generated documentation should be written to, to be used for referencing documentation generation. ```APIDOC ## ISettings.LinksOutputFile Property ### Description Gets the file name where all the url of the generated documentation should be writen to, to be used for referencing documentation generation. ### Property Type System.IO.FileInfo ``` -------------------------------- ### NoteElement.Name Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Elements/NoteElement/Name.md Gets the name of the System.Xml.Linq.XElement this type handles. ```APIDOC ## NoteElement.Name Property ### Description Gets the name of the [System.Xml.Linq.XElement](https://learn.microsoft.com/en-us/dotnet/api/system.xml.linq.xelement 'System.Xml.Linq.XElement') this type handle. ### Property Value [System.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System.String') ``` -------------------------------- ### ListElement.Name Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Elements/ListElement/Name.md Gets the name of the System.Xml.Linq.XElement this type handles. ```APIDOC ## ListElement.Name Property ### Description Gets the name of the System.Xml.Linq.XElement this type handles. ### Method GET ### Endpoint N/A (Property) ### Parameters None ### Request Body None ### Response #### Success Response (200) - **Name** (string) - The name of the System.Xml.Linq.XElement. ### Response Example ```csharp public string Name { get; } ``` ``` -------------------------------- ### Initialize ConstructorOverloadsDocItem Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Models/ConstructorOverloadsDocItem/ConstructorOverloadsDocItem(TypeDocItem).md Use this constructor to create a new instance of ConstructorOverloadsDocItem. It requires a parent TypeDocItem. ```csharp public ConstructorOverloadsDocItem(DefaultDocumentation.Models.Types.TypeDocItem parent); ``` -------------------------------- ### CodeElement.Name Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Elements/CodeElement/Name.md Gets the name of the System.Xml.Linq.XElement this type handles. ```APIDOC ## CodeElement.Name Property ### Description Gets the name of the [System.Xml.Linq.XElement](https://learn.microsoft.com/en-us/dotnet/api/system.xml.linq.xelement) this type handle. ### Method GET ### Endpoint N/A (Property) ### Parameters N/A ### Request Body N/A ### Response #### Success Response (200) - **Name** (string) - The name of the XElement. #### Response Example ``` "ExampleElementName" ``` ``` -------------------------------- ### Initialize EventDocItem Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/Models/Members/EventDocItem/EventDocItem(TypeDocItem,IEvent,XElement).md Use this constructor to create a new instance of EventDocItem. It requires the parent type, the event information, and optional XML documentation. ```csharp public EventDocItem(DefaultDocumentation.Models.Types.TypeDocItem parent, IEvent @event, System.Xml.Linq.XElement? documentation); ``` -------------------------------- ### CElement.Name Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Elements/CElement/Name.md Gets the name of the System.Xml.Linq.XElement this type handles. ```APIDOC ## CElement.Name Property ### Description Gets the name of the [System.Xml.Linq.XElement](https://learn.microsoft.com/en-us/dotnet/api/system.xml.linq.xelement) this type handle. ### Method GET ### Endpoint N/A (Property) ### Parameters N/A ### Request Body N/A ### Response #### Success Response (200) - **Name** (string) - The name of the XElement. ### Response Example ``` "ElementName" ``` ``` -------------------------------- ### ISettings Interface Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/ISettings/index.md Exposes all the settings of the documentation generation process. ```APIDOC ## ISettings Interface ### Description Exposes all the settings of the documentation generation process. ### Properties - **AssemblyFile** (string) - Gets the assembly file for which the documentation is being generated. - **AssemblyPageName** (string) - Gets the name of the assembly page name. - **DocumentationFile** (string) - Gets the xml documentation file of the AssemblyFile. - **ExternLinksFiles** (string[]) - Gets the links files of external items which are not part of the dotnet api. - **GeneratedAccessModifiers** (GeneratedAccessModifiers) - Gets the GeneratedAccessModifiers flags stating which access modifiers should have their documentation generated. - **GeneratedPages** (GeneratedPages) - Gets the GeneratedPages flags stating which kind should have their own page and which should be inlined. - **IncludeUndocumentedItems** (bool) - Gets wether item with no xml documentation should have their documentation generated or not. - **LinksBaseUrl** (string) - Gets the base url to prefix item url with when generating the links output file. - **LinksOutputFile** (string) - Gets the file name where all the url of the generated documentation should be writen to, to be used for referencing documentation generation. - **Logger** (ILogger) - Gets the Microsoft.Extensions.Logging.ILogger of the process. - **OutputDirectory** (string) - Gets the output directory where the documentation is being generated. - **ProjectDirectory** (string) - Gets the root project directory where the sources of the AssemblyFile are. ``` -------------------------------- ### BrElement.Name Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Elements/BrElement/Name.md Gets the name of the System.Xml.Linq.XElement this type handles. ```APIDOC ## BrElement.Name Property ### Description Gets the name of the [System.Xml.Linq.XElement](https://learn.microsoft.com/en-us/dotnet/api/system.xml.linq.xelement 'System.Xml.Linq.XElement') this type handle. ### Method GET ### Endpoint N/A (Property) ### Parameters N/A ### Request Body N/A ### Response #### Success Response (200) - **Name** (string) - The name of the associated XElement. #### Response Example ``` "elementName" ``` ``` -------------------------------- ### SeeElement Class Overview Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Elements/SeeElement/index.md Provides an overview of the SeeElement class, its purpose, and its relationship with other components. ```APIDOC ## SeeElement Class Handles `see` xml element. ```csharp public sealed class SeeElement : DefaultDocumentation.Api.IElement ``` Inheritance [System.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System.Object') 🡒 SeeElement Implements [IElement](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/Api/IElement/index.md 'DefaultDocumentation.Api.IElement') ### Fields | Fields | | :--- | | [ConfigName](ConfigName.md 'DefaultDocumentation.Markdown.Elements.SeeElement.ConfigName') | The name of this implementation used at the configuration level. | ### Properties | Properties | | :--- | | [Name](Name.md 'DefaultDocumentation.Markdown.Elements.SeeElement.Name') | Gets the name of the [System.Xml.Linq.XElement](https://learn.microsoft.com/en-us/dotnet/api/system.xml.linq.xelement 'System.Xml.Linq.XElement') this type handle. | ### Methods | Methods | | :--- | | [Write(IWriter, XElement)](Write(IWriter,XElement).md 'DefaultDocumentation.Markdown.Elements.SeeElement.Write(DefaultDocumentation.Api.IWriter, System.Xml.Linq.XElement)') | Writes to a [IWriter](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/Api/IWriter/index.md 'DefaultDocumentation.Api.IWriter') the provided [System.Xml.Linq.XElement](https://learn.microsoft.com/en-us/dotnet/api/system.xml.linq.xelement 'System.Xml.Linq.XElement'). | ``` -------------------------------- ### DocItem.Name Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/Models/DocItem/Name.md Gets the name of the current DocItem instance. ```APIDOC ## DocItem.Name Property ### Description Gets the name of the current instance. ### Property Value - **Name** (string) - The name of the DocItem instance. ``` -------------------------------- ### IFileNameFactory Interface - Custom File Naming Strategy Source: https://context7.com/doraku/defaultdocumentation/llms.txt Implement `IFileNameFactory` to control how documentation file names are generated. This example creates a factory that prefixes all generated files with 'api-'. ```APIDOC ## IFileNameFactory Interface - Custom File Naming Strategy ### Description Implement `IFileNameFactory` to control how documentation file names are generated. ### C# Implementation Example ```csharp using System.IO; using DefaultDocumentation; using DefaultDocumentation.Api; using DefaultDocumentation.Models; namespace MyPlugin; public sealed class PrefixedFileNameFactory : IFileNameFactory { public string Name => "Prefixed"; public void Clean(IGeneralContext context) { // Clean previously generated files with .md extension var outputDir = context.Settings.OutputDirectory; if (outputDir?.Exists == true) { foreach (var file in outputDir.EnumerateFiles("api-*.md")) { file.Delete(); } } } public string GetFileName(IGeneralContext context, DocItem item) { // Prefix all files with "api-" and use the item's full name var safeName = item.FullName.Replace("<", "_").Replace(">", "_"); return $"api-{safeName}.md"; } } ``` ``` -------------------------------- ### Initialize DefaultSection Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/DefaultSection/DefaultSection().md Use this constructor to create a new instance of the DefaultSection type. No specific setup or imports are required beyond the class definition. ```csharp public DefaultSection(); ``` -------------------------------- ### Configure FileNameFactory Source: https://github.com/doraku/defaultdocumentation/blob/master/README.md Specify the IFileNameFactory implementation to use for generating page names. Options include FullName, Name, Md5, NameAndMd5Mix, and DirectoryName. The default is FullName. ```json "FileNameFactory": "..." ``` -------------------------------- ### Documenting Assemblies with AssemblyDoc Source: https://github.com/doraku/defaultdocumentation/blob/master/README.md Add XML documentation for your assembly by creating a static class named 'AssemblyDoc' within a namespace matching your assembly's name. This documentation is used on the assembly's page. ```csharp namespace YourAssemblyName { /// /// your assembly documentation, used on the assembly page /// internal static class AssemblyDoc { } // internal so it is not visible outside the assembly } ``` -------------------------------- ### ISettings.AssemblyPageName Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/ISettings/AssemblyPageName.md Gets the name of the assembly page name. ```APIDOC ## ISettings.AssemblyPageName Property ### Description Gets the name of the assembly page name. ### Property Value System.String ``` -------------------------------- ### ExampleSection.Write(IWriter) Method Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/ExampleSection/Write(IWriter).md Writes the section to a given IWriter. ```APIDOC ## ExampleSection.Write(IWriter) Method ### Description Writes the section to a given [IWriter](https://github.com/Doraku/DefaultDocumentation/blob/master/documentation/api/DefaultDocumentation/Api/IWriter/index.md 'DefaultDocumentation.Api.IWriter'). ### Method `public void Write(DefaultDocumentation.Api.IWriter writer);` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) None #### Response Example None ### Error Handling None ``` -------------------------------- ### Initialize MarkdownWriter Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Writers/MarkdownWriter/MarkdownWriter(IWriter).md Initializes a new instance of the MarkdownWriter type. Requires an IWriter instance to decorate. ```csharp public MarkdownWriter(DefaultDocumentation.Api.IWriter writer); ``` -------------------------------- ### IGeneralContext.GetFileName Method Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/IGeneralContext/GetFileName(DocItem).md Gets the file name for the given DocItem. ```APIDOC ## IGeneralContext.GetFileName Method ### Description Gets the file name for the given [DocItem](../Models/DocItem/index.md 'DefaultDocumentation.Models.DocItem'). ### Method Not specified (likely a method call within a C# context) ### Endpoint Not applicable (this appears to be a method signature, not a REST endpoint) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **Return Value** (string) - The file name of the documentation page of the given [DocItem](../Models/DocItem/index.md 'DefaultDocumentation.Models.DocItem'). #### Response Example None ``` -------------------------------- ### IElement.Name Property Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/Api/IElement/Name.md Gets the name of the System.Xml.Linq.XElement this type handles. ```APIDOC ## IElement.Name Property ### Description Gets the name of the System.Xml.Linq.XElement this type handle. ### Method GET ### Endpoint /doraku/defaultdocumentation/api/ielement/name ### Parameters #### Query Parameters - **element** (System.Xml.Linq.XElement) - Required - The XElement to get the name from. ### Response #### Success Response (200) - **Name** (System.String) - The name of the XElement. ``` -------------------------------- ### Initialize TypeParametersSection Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/markdown/DefaultDocumentation/Markdown/Sections/TypeParametersSection/TypeParametersSection().md Use this constructor to create a new instance of the TypeParametersSection class. No specific setup or constraints are mentioned. ```csharp public TypeParametersSection(); ``` -------------------------------- ### IPageContext Interface Source: https://github.com/doraku/defaultdocumentation/blob/master/documentation/api/DefaultDocumentation/IPageContext/index.md Exposes settings used to generate documentation for a specific DocItem. ```APIDOC ## IPageContext Interface ### Description Exposes settings used to generate documentation for a specific [DocItem](../Models/DocItem/index.md 'DefaultDocumentation.Models.DocItem'). ### Implements - [IGeneralContext](../IGeneralContext/index.md 'DefaultDocumentation.IGeneralContext') - [IContext](../IContext/index.md 'DefaultDocumentation.IContext') ### Properties - **DocItem** (DocItem) - Gets the [DocItem](../Models/DocItem/index.md 'DefaultDocumentation.Models.DocItem') for which the documentation is being generated. - **this[string]** (string) - Gets or sets extra data for the current [DocItem](../Models/DocItem/index.md 'DefaultDocumentation.Models.DocItem') documentation generation. ```