| // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// A library containing an abstract documentation generator. |
| library dartdoc.generator; |
| |
| import 'dart:async' show Stream, Future; |
| |
| import 'package:dartdoc/src/model.dart' show PackageGraph; |
| |
| /// An abstract class that defines a generator that generates documentation for |
| /// a given package. |
| /// |
| /// Generators can generate documentation in different formats: html, json etc. |
| abstract class Generator { |
| /// Generate the documentation for the given package in the specified |
| /// directory. Completes the returned future when done. |
| Future generate(PackageGraph packageGraph, String outputDirectoryPath); |
| |
| /// Fires when a file is created. |
| Stream<void> get onFileCreated; |
| |
| /// Fetches all filenames written by this generator. |
| Set<String> get writtenFiles; |
| } |