JSON Schema 马克当工具
记录和验证复杂的JSON Schemas可能很困难. 这个工具通过提供一些能将JSON Schema文件变成可读的Markdown文档的脚本来方便它,这些可读的Markdown文档已经准备好在GitHub上消费或使用Jekyll或其他静态站点生成器处理.
这些工具被Adobe引入来记录Adobe的经验数据模型(XDM),但也可以用于其他JSON Schema文档.
JSON 舍马支持
jsonschema2md 这是针对JSON Schema开发的 2019-09,但不支持完整的词汇。 请检查一下 由 JSON Schema 支持的详细关键词列表 jsonschema2md. 这份名单通过我们的测试更新.
所需资源
npm3.10.8或以上版本nodev18 或 v20 或上层
示例输出
用计谋 examples/schemas (注: *.schema.json 扩展名,输出于 examples/docs 已经生成.
安装和运行
$ npm install -g @adobe/jsonschema2md
# show usage information
$ jsonschema2md
# run task
$ jsonschema2md -d examples/schemas -o examples/docs
# generated output for whole folder is written to ./examples/docs
默认, jsonschema2md 查找结束于 *.schema.json中的扩展名 --schema-extension 或者说 -e 命令行参数.
国际化
生成的文件可以国际化. 使用 -l 参数.
支持的语言有:
- 联合国
- 德语
如果你想提供自己的翻译, 请使用 Git 本地化
在属性描述中显示自定义属性
jsonschema2md 仅显示由 JSON Schema 标准定义的属性。 如果您要在属性描述中显示附加属性, 您可以提供这些属性 --properties (或 -p) 参数.
# include both the `version` and the `test` attribute
$ jsonschema2md -d examples/schemas -o examples/docs -p version -p test
禁用页眉模板
在某些情况下,您不需要信头,因为它没有提供任何有用的信息。 与 --header (或 -h)参数可以禁用信头的包含.
# run against JSON Schema Draft 06
$ jsonschema2md -d examples/schemas -o examples/docs -v 06 -h false
YAML 实例
如果您正在使用 JSON Schema 验证 YAML 文档, 例如配置文件, 您可能希望将示例格式化为 YAML, 而不是 JSON 。 使用命令行选项 -f yaml 或者说 --example-format yaml 实现这一目标.
使用 JSON Schema 马克当 工具来自 npm
您可以方便地使用 JSON Schema Markdown 工具 npm。这使得为您的 JSON Schema 项目设置转换工具链成为可能,该工具链完全由 npm要做到这一点,首先要通过在您 "devDependencies" 节 package.json
"devDependencies": {
"@adobe/jsonschema2md": "^6.0.0"
}
有脚本
然后在下面添加一个 "scripts" 区域 package.json 并相应调整:
"scripts": {
"prepare": "mkdir -p docs/reference && jsonschema2md -o docs/reference -d schemas/draft-04"
}
如果你运行 npm install 运行前 npm run prepare, (中文(简体) ), npm 将安装 @adobe/jsonschema2md 在一个 node_modules/.bin 路径,即使你没有事先安装 JSON Schema Markdown .
节点的API.js
const {jsonschema2md} = require('@adobe/jsonschema2md');
const schema = require('examples/schemas/example.schema.json');
const markdown = jsonschema2md(schema, {
includeReadme: true,
});
测试
确保您通过 npm install,然后运行 :
npm test
这将运行我们的茉莉花测试套件,以及根据我们的风格指南(见下文)将JavaScript涂入.
中情局
持续整合在Github Actions上进行.
所有拉动请求都会自动触发运行该程序的工作 测试 通过执行 main.yml。 。 。 .
代码覆盖
npm run test 将在测试运行结束时生成代码覆盖报告。 任何低于100%的覆盖率都是测试失败.
样式指南 / 林廷
这个项目使用 埃斯林特语name 以强制实施 JavaScript 编码样式。 运行电线:
npm run lint
切换方式
添加对支持 缺少关键字
捐款
请看 捐款 详细情况。 欢迎拉动请求.
许可证/版权
版权2017 Adobe系统公司. 版权所有. 此文件根据Apache许可证2.0版本("License")获得许可; 您不得使用此文件,除非符合许可证。 你可以拿到一份副本 许可证发放情况 http://www.apache.org/licenses/LICENSE-2.0 (中文(简体) )