dartdoc to generate HTML documentaton for your Dart package.
For information about contributing to the dartdoc project, see the contributor docs.
For issues/details related to hosted Dart API docs, see dart-lang/api.dartlang.org.
- download the Dart SDK
- add the SDK's
bindirectory to your
dartdoc from the root directory of package. For example:
$ dartdoc Generating documentation for 'server_code_lab' into <path-to-server-code-lab>/server_code_lab/doc/api/ parsing lib/client/piratesapi.dart... parsing lib/common/messages.dart... parsing lib/common/utils.dart... parsing lib/server/piratesapi.dart... Parsed 4 files in 8.1 seconds. generating docs for library pirate.messages from messages.dart... generating docs for library pirate.server from piratesapi.dart... generating docs for library pirate.utils from utils.dart... generating docs for library server_code_lab.piratesApi.client from piratesapi.dart... Documented 4 libraries in 9.6 seconds. Success! Docs generated into <path-to-server-code-lab>/server_code_lab/doc/api/index.html
By default, the documentation is generated to the
doc/api directory as static
dartdoc -h to see the available command-line options.
You can view the generated docs directly from the file system, but if you want to use the search function, you must load them with an HTTP server.
An easy way to run an HTTP server locally is to use the
dhttpd package. For
$ pub global activate dhttpd $ dhttpd --path doc/api
http://localhost:8080 in your browser; the search function should
dartdoc produces static files with a predictable link structure.
index.html # homepage index.json # machine-readable index library-name/ # : is turned into a - e.g. dart:core => dart-core ClassName-class.html # "homepage" for a class (and enum) ClassName/ ClassName.html # constructor ClassName.namedConstructor.html # named constructor method.html property.html CONSTANT.html property.html top-level-function.html
File names are case-sensitive.
Check out the Effective Dart: Documentation guide.
The guide covers formatting, linking, markup, and general best practices when
authoring doc comments for Dart with
Excluding from documentation
dartdoc will not generate documentation for a Dart element and its children that have the
@nodoc tag in the documentation comment.
You can specify "macros", i.e. reusable pieces of documentation. For that, first specify a template anywhere in the comments, like:
/// [email protected] template_name} /// Some shared docs /// [email protected]}
and then you can insert it via
[email protected] template_name}, like
/// Some comment /// [email protected] template_name} /// More comments
Auto including dependencies
--auto-include-dependencies flag is provided, dartdoc tries to automatically add
all the used libraries, even from other packages, to the list of the documented libraries.
Issues and bugs
Please file reports on the GitHub Issue Tracker.
Please see the dartdoc license.
A documentation generator for Dart.