dartdoc_builder 0.1.0 copy "dartdoc_builder: ^0.1.0" to clipboard
dartdoc_builder: ^0.1.0 copied to clipboard

Provides APIs to generate documentation from Dart source code.

example/main.dart

import 'dart:async';
import 'dart:io';

import 'package:args/args.dart';
import 'package:dartdoc_builder/dartdoc_builder.dart';

Future<void> main(List<String> arguments) async {
  final argParser = ArgParser()
    ..addOption('input', abbr: 'i', help: 'Input directory.', mandatory: true)
    ..addOption('output', abbr: 'o', help: 'Output directory.', mandatory: true)
    ..addOption(
      'source-threshold',
      help: 'Max lines of source to embed inline (default: 10).',
      defaultsTo: '10',
    )
    ..addFlag(
      'include-source',
      help: 'Include source code snippets.',
      defaultsTo: true,
    );

  final String inputDir;
  final String outputDir;
  final int sourceThreshold;
  final bool includeSource;
  try {
    final results = argParser.parse(arguments);
    inputDir = results.option('input')!;
    outputDir = results.option('output')!;
    sourceThreshold = int.parse(results.option('source-threshold')!);
    includeSource = results.flag('include-source');
    // The above try block may throw both Error and Exception, so we catch all.
    // ignore: avoid_catches_without_on_clauses
  } catch (_) {
    stdout.writeln('Usage: dart run dartdoc_builder [options]');
    stdout.writeln('');
    stdout.writeln(argParser.usage);
    exit(1);
  }

  await generateDocs(
    outputDir: outputDir,
    options: RenderOptions(
      packageRoot: inputDir,
      sourceLineThreshold: sourceThreshold,
      includeSource: includeSource,
    ),
  );
}
0
likes
160
points
115
downloads

Documentation

API reference

Publisher

verified publishernorelease.dev

Weekly Downloads

Provides APIs to generate documentation from Dart source code.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

args, dartdoc, logging, mustache_template, path

More

Packages that depend on dartdoc_builder