xDocs is a asp.net *.ascx user control designed for BlogEngine.NET. It is used to generate simple documentation from the xml documentation files that visual studio generates for your compiled assemblies.
To use xDocs just upload the xml documentation files that visual studio generates to your website. Then create a new page in blogengine.net and type ...
[ usercontrol: ~/user controls/xDocs.ascx URL=/Docs/ZexMenu.XML ]
... and then save the page. The user control accepts only one argument called "URL" that points to the location of the xml file. The URL you specify is then loaded by a XMLDocument object using XMLDocument.Load.
xDocs was created out of frustration with trying to use various documentation generators, that over complicated the process of generating documentation. xDocs is intended to be a simplified easy to use means of generating code documentation.
xDocs features
- Displayes types
- Displays type members (properties, events, fields, methods etc)
- Displayes individual member info
- Capable of showing summery, param, typeparam, remarks, example, code elements
- Supports generic methods
- Uses ony 4 css styles
- Sorts items alphabetically for easy searching
- Adds navagation hiarchy links to top of page
Known issues
- Cannot differenciate between public and private members, so all members and types that are documented will be displayed.
- May or may not be able to handle nested types. (Types that are defined within other types) This has not been tested.
- Has difficulty properly displaying example elements
- Does not display constants. This has not been tested.
- May some times have difficulty displaying members that use generics
- Contains hastily written and poorly documented code! :P
- Does not handle elements within elements. For example if there was an <example> element inside of a <remarks> element.
- Doe not properly display enums if they are located within a class etc.
To Do List
- Need to fix generics after XMLDocuent.Load rather then doing it on the fly.
- Need to implement logic where is a class implementing a interface contains members from the interface that are not documented, xDocs will try to use the interfaces member documentation. The same is true for class inheritance.
Downloads
Screenshots