Flutter文档生成插件documentation_builder的使用

发布于 1周前 作者 itying888 来自 Flutter

Flutter文档生成插件documentation_builder的使用

插件简介

documentation_builder 是一个用于从Markdown模板文件生成Markdown文档文件的插件。它可以帮助你在编写Dart或Flutter项目的文档时,复用或导入Dart代码或Dart文档注释。该插件可以生成以下类型的文件:

  • ReadMeFile:项目说明文件
  • ChangeLogFile:变更日志文件
  • ExampleFile:示例文件
  • GitHub WikiTemplateFile:GitHub Wiki页面

需要注意的是,documentation_builder 并不适用于生成API文档,推荐使用 dartdoc 来生成API文档。

使用示例

documentation_builder 自身的文档就是通过该插件生成的,因此可以作为一个很好的示例。你可以查看模板文件和生成的输出:

README 文件

  • Markdown 模板文件README.mdt
  • 生成的 Markdown 文件(原始)README.md
  • 生成的 Markdown 文件(渲染后)README

LICENSE 文件

CHANGELOG 文件

Wiki 页面

示例文件

快速开始

以下是使用 documentation_builder 的步骤:

  1. 阅读文档:参考 Wiki 文档 了解详细信息。
  2. 安装插件:在你的项目中安装 documentation_builder 包:
    dependencies:
      documentation_builder: ^latest_version
    
  3. 配置 build.yaml 文件:在项目根目录下添加 build.yaml 文件,并添加以下内容(如果 build.yaml 文件已存在,请合并内容):
    targets:
      $default:
        sources:
          - doc/**
          - lib/**
          - bin/**
          - test/**
          - pubspec.*
          - $package$
    
  4. 创建模板目录:在项目根目录下创建 doc/template 目录。
  5. 创建Markdown模板文件:在 doc/template 目录中创建Markdown模板文件,参考 模板文件示例
  6. 生成文档文件:运行以下命令生成文档文件:
    flutter pub run build_runner build
    
  7. 发布文档文件:将生成的文档文件发布到你选择的平台(如GitHub、Pub等)。

完整示例Demo

以下是一个完整的示例项目结构和配置,展示了如何使用 documentation_builder 生成文档:

项目结构

my_flutter_project/
├── doc/
│   └── template/
│       ├── README.mdt
│       ├── LICENSE.mdt
│       ├── CHANGELOG.mdt
│       └── example.mdt
├── lib/
│   └── main.dart
├── build.yaml
└── pubspec.yaml

pubspec.yaml

name: my_flutter_project
description: A new Flutter project.
publish_to: 'none' # Remove this line if you wish to publish the package
version: 1.0.0+1

environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  documentation_builder: ^latest_version

dev_dependencies:
  flutter_test:
    sdk: flutter
  build_runner: ^2.0.0
  markdown: ^4.0.0

flutter:
  uses-material-design: true

build.yaml

targets:
  $default:
    sources:
      - doc/**
      - lib/**
      - bin/**
      - test/**
      - pubspec.*
      - $package$

doc/template/README.mdt

My Flutter Project

This is a simple Flutter project that demonstrates how to use documentation_builder.

Getting Started

To get started, follow these steps:

  1. Clone the repository.
  2. Run flutter pub get.
  3. Run flutter pub run build_runner build to generate the documentation.
  4. Open the generated README.md file.

Features

  • Feature 1
  • Feature 2
  • Feature 3

Example Code

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'My Flutter App',
      home: Scaffold(
        appBar: AppBar(
          title: Text('My Flutter App'),
        ),
        body: Center(
          child: Text('Hello, World!'),
        ),
      ),
    );
  }
}

#### `doc/template/LICENSE.mdt`

MIT License

Copyright (c) 2023 Your Name

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

doc/template/CHANGELOG.mdt

Changelog

All notable changes to this project will be documented in this file.

[1.0.0] - 2023-10-01

  • Initial release of the project.
  • Added basic features.
  • Generated documentation using documentation_builder.

#### `doc/template/example.mdt`

# Example

This is an example of how to use `documentation_builder` to generate documentation for your Flutter project.

## Example Code

```dart
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Example App',
      home: Scaffold(
        appBar: AppBar(
          title: Text('Example App'),
        ),
        body: Center(
          child: Text('This is an example!'),
        ),
      ),
    );
  }
}

生成文档

在项目根目录下运行以下命令来生成文档:

flutter pub run build_runner build

更多关于Flutter文档生成插件documentation_builder的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter文档生成插件documentation_builder的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,下面是一个关于如何使用Flutter文档生成插件documentation_builder的示例。这个插件主要用于自动生成Flutter项目的文档。

1. 添加依赖

首先,你需要在pubspec.yaml文件中添加documentation_builder依赖。

dependencies:
  flutter:
    sdk: flutter

dev_dependencies:
  build_runner: ^2.0.0 # 或者最新版本
  documentation_builder: ^1.0.0 # 或者最新版本

2. 创建文档生成配置

在你的项目根目录下创建一个build.yaml文件,用于配置documentation_builder

targets:
  $default:
    builders:
      documentation_builder:documentation:
        enabled: true

3. 编写Dart代码和注释

确保你的Dart代码中包含适当的文档注释,这些注释将被documentation_builder用于生成文档。例如:

/// 这是一个简单的计数器类。
class Counter {
  /// 当前计数器的值。
  int value = 0;

  /// 增加计数器的值。
  void increment() {
    value++;
  }
}

4. 生成文档

在项目的根目录下打开终端,运行以下命令以生成文档:

flutter pub run build_runner build --delete-conflicting-outputs

这个命令会读取build.yaml中的配置,并使用documentation_builder生成文档。生成的文档通常会放在build/generated/documentation目录下(具体路径可能根据配置有所不同)。

5. 查看生成的文档

生成的文档可能包括HTML、DartDoc等格式的文件,你可以直接打开HTML文件在浏览器中查看,或者使用DartDoc工具进一步处理。

示例项目结构

my_flutter_project/
├── build.yaml
├── lib/
│   └── counter.dart  # 放置上面示例代码的文件
├── pubspec.yaml
└── ...

注意事项

  • 确保你使用的是最新版本的documentation_builderbuild_runner,以避免潜在的兼容性问题。
  • 如果生成的文档不符合你的预期,可以检查build.yaml中的配置以及代码中的注释是否规范。
  • documentation_builder可能与其他构建器冲突,因此使用--delete-conflicting-outputs选项可以避免这些冲突。

通过上述步骤,你应该能够成功地在Flutter项目中使用documentation_builder插件生成文档。希望这个示例对你有所帮助!

回到顶部