Contribute to dartdoc

To use the dartdoc tool, see the user docs. This page contains information relevant for contributors to the dartdoc project.

Can I help?

Yes!

Start by using the tool and filing issues and requests.

See the dartdoc API docs, generated by dartdoc.

If you want to contribute, check out the issue tracker and see if there‘s an issue that you’re passionate about. If you want to add a new feature that's not yet in the issue tracker, start by opening an issue. Thanks!

Build Status Build status

Making Changes

  1. grind is needed to run dartdoc integration tests, see installed via pub global activate grinder.
  2. When a change is user-facing, please add a new entry to the changelog
  3. Please include a test for your change. dartdoc has both package:test-style unittests as well as integration tests. To run the unittests, use dart test/all.dart. Most changes can be tested via a unittest, but some require modifying the test_package and regenerating its docs via grind update-test-package-docs.
  4. For major changes, run grind compare-sdk-warnings and grind compare-flutter-warnings, and include the summary results in your pull request.
  5. Be sure to format your Dart code using dartfmt -w, otherwise travis will complain.
  6. Because there are generated versions of the dartdoc docs for stable and development versions of Dart, you need to update the docs twice:
    • Download and install the latest STABLE version of dart from the Dart website. (It‘s probably easiest to download a zip file and change your PATH to the extracted location’s bin directory)
    • Run pub run grinder update-test-package-docs to update the stable docs (in testing/test_package_docs).
    • Download and install the latest DEV version of dart from the Dart website (It‘s probably easiest to download a zip file and change your PATH to the extracted location’s bin directory)
    • Run pub run grinder update-test-package-docs to update the dev docs (in testing/test_package_docs_dev).
  7. Post your change via a pull request for review and integration!

Testing

dartdoc has a number of grinder utility methods that can be used to check for behavior changes or try out your change on arbitrary packages.

# Serve the latest version of the given package locally on port 9000.
PACKAGE_NAME=angular_components grind serve-pub-package

# Build the SDK docs with the head version and compare its warning
# output and (rough) performance to the main version.
grind compare-sdk-warnings

# Serve the flutter docs built with the head version on port 8001.
grind serve-flutter-docs

# Serve the test package (testing/test_package) on port 8002
grind serve-test-package-docs

There are more added all the time -- run grind --help to see them all.

License

Please see the dartdoc license.