Asciidoctor-Kroki 项目教程
1. 项目目录结构及介绍
Asciidoctor-Kroki 项目的目录结构如下:
- asciidoctor-kroki/
- ├── dist/
- │ └── browser/
- ├── ruby/
- ├── src/
- ├── tasks/
- ├── test/
- ├── .editorconfig
- ├── .gitattributes
- ├── .gitignore
- ├── .mocharc.json
- ├── LICENSE
- ├── README.md
- ├── RELEASE.md
- ├── package-lock.json
- ├── package.json
- └── renovate.json5
目录介绍
- dist/: 包含浏览器环境的构建输出文件。
- browser/: 浏览器环境下的 JavaScript 文件。
- ruby/: 包含 Ruby 环境的代码文件。
- src/: 项目的源代码文件。
- tasks/: 包含项目的任务脚本。
- test/: 包含项目的测试文件。
- .editorconfig: 编辑器配置文件。
- .gitattributes: Git 属性配置文件。
- .gitignore: Git 忽略文件配置。
- .mocharc.json: Mocha 测试框架的配置文件。
- LICENSE: 项目的开源许可证文件。
- README.md: 项目的介绍和使用说明。
- RELEASE.md: 项目的发布说明。
- package-lock.json: npm 包锁定文件。
- package.json: npm 包配置文件。
- renovate.json5: Renovate 配置文件。
2. 项目启动文件介绍
项目的启动文件主要位于 src/
目录下。以下是一些关键的启动文件:
- src/index.js: 这是项目的入口文件,负责初始化和注册 Asciidoctor-Kroki 扩展。
- src/kroki.js: 这是 Kroki 扩展的核心文件,负责处理图表的转换和渲染。
示例代码
- // src/index.js
- const asciidoctor = require('@asciidoctor/core')();
- const kroki = require('asciidoctor-kroki');
-
- const input = 'plantuml::hello.puml[svg,role=sequence]';
- kroki.register(asciidoctor.Extensions);
-
- console.log(asciidoctor.convert(input, { safe: 'safe' }));
3. 项目的配置文件介绍
项目的配置文件主要包括以下几个:
- package.json: 这是 npm 包的配置文件,包含了项目的依赖、脚本、版本等信息。
- .mocharc.json: 这是 Mocha 测试框架的配置文件,用于配置测试环境。
- renovate.json5: 这是 Renovate 的配置文件,用于自动化依赖更新。
示例配置
- // package.json
- {
- "name": "asciidoctor-kroki",
- "version": "0.2.2",
- "description": "An extension for Asciidoctor.js to convert diagrams to images using Kroki!",
- "main": "src/index.js",
- "scripts": {
- "test": "mocha"
- },
- "dependencies": {
- "asciidoctor": "^2.2.6",
- "asciidoctor-kroki": "^0.2.2"
- },
- "devDependencies": {
- "mocha": "^8.3.2"
- }
- }
- // .mocharc.json
- {
- "reporter": "spec",
- "slow": "75",
- "timeout": "2000"
- }
- // renovate.json5
- {
- "extends": [
- "config:base"
- ],
- "schedule": [
- "before 3am on the first day of the month"
- ]
- }
通过以上配置文件,可以管理和自动化项目的依赖更新、测试运行等任务。