-
Notifications
You must be signed in to change notification settings - Fork 1
Description
To produce full and comprehensive documentation on an assembly, the documentation produced from XML comments is not enough. That only covers the reference part of documentation, but good documentation must have more.
To support this, Blazorade XML Docs must support additional content related to the assembly being documented. The XML documentation will be the sceleton of the documentation, but there must be a way to inject custom documentation into various sections of the documentation generated from the XML documentation.
Each piece of additional content will be produced as a Blazor component. This component can be included in the hosting application, or a separate library. As long as it is a Blazor component that Blazorade XML Docs can include in the documentation it produces.
Each piece of additional content has the following features.
- A Blazor component
- A title
- Presentation mode
- Specifies what area to inject into
Presentation mode
Each piece of additional content must specify its presentation mode. The presentation mode can be:
- Page - The additional content will be displayed as a separate page in the hosting application. The title of the content will be used as link to the content.
- Paragraph - The additional content will be embedded on the page it has been injected into under a separate section for additional content.
Target
The target of a piece of additional content defines the area where the content will be injected. Additional content can be injected on the following levels.
- Assembly - The content will be displayed on the front page of the assembly documentation. Example.
- Namespace - The content will be displayed with the selected namespace. Example.
- Type - The content will be displayed with the selected type. Example.
- Member - The content willl be displayed with the selected member. Example.
One piece of additional content can be associated with multiple targets. This means in practice that one Blazor component can be associated with one assembly, two namespaced and three members, for instance.