-
Notifications
You must be signed in to change notification settings - Fork 36
How to document Haxe code
A typical source code documentation may look like this:
/**
This class serves as a documentation example.
@see <https://haxe.org/manual/>
**/
class YourClass {
/**
This field serves as a documentation example.
**/
public var someVariable:String;
/**
This function serves as a markdown documentation example.
It also uses parameter `s`.
**/
public function doSomething(s:String):Void { }
/**
This function serves as a Javadoc-styled documentation example.
@param url an absolute URL giving the base location of the image
@param name the location of the image, relative to the url argument
**/
public function loadSomething(url:String, name:String):Void { }
}
Both class YourClass
and its field doSomething
are preceded by a block comment which describes their purpose. Everything between the opening /*
and closing */
is parsed as a string, which means it can contain anything.
The documentation block comment syntax can optionally end with */
rather than **/
. It also may contain a vertical column of asterisks:
/**
* Multiple lines of documentation
* here with a pretty column of
* asterisks to the left.
*/
Dox supports GitHub-flavored markdown using haxe-markdown in these text blocks. This markdown rendering can be disabled with --no-markdown
.
There is also support for some Javadoc-style annotations:
@param
-
@exception
/@throws
@deprecated
-
@return
/@returns
@since
@default
@see
@event
By default, all public types/fields/functions are shown.
To hide public types or fields from dox, use the metadata @:dox(hide)
:
@:dox(hide)
public function iAmHidden() {
}
To show private types or fields in dox, use the metadata @:dox(show)
:
@:dox(show)
private function iWasHidden() {
}
Continue reading: Generating documentation XML files using Haxe
Learn Haxe: Introduction | Manual | API | Try Haxe | Haxe Library Manager | Code Cookbook
Connect: GitHub | Stack Overflow | Forum | Chat | Twitter | Facebook