kekos / prest-doc
OpenAPI 文档的静态网站生成器
v0.2.0
2024-04-03 20:11 UTC
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- ext-mbstring: *
- cebe/php-openapi: ^1.7
- league/commonmark: ^2.3
- spatie/commonmark-highlighter: ^3.0
- symfony/yaml: ^6.0 || ^7.0
Requires (Dev)
- phpstan/phpstan: ^1.8
README
使用 PHP 编写的 OpenAPI 文档的静态网站生成器。
安装
composer install kekos/prest-doc
至少需要 PHP 8.1。
使用
./bin/prest-doc <in_directory> <out_directory> <layout_file> [<config_file>]
<in_directory>
指定 Prest-doc 应该读取和转换的目录。<out_directory>
指定转换后的文件将被写入的目录。**请注意,每次运行 Prest-doc 都会删除此目录**<layout_file>
是布局文件的文件路径。请参阅examples/
目录。<config_file>
是 配置 的文件路径。**可选**。
配置
API 模板
您可以通过创建配置文件并为其提供自己的模板接口实例来覆盖默认的 OpenAPI Markdown 模板。
<?php use Kekos\PrestDoc\Configuration; use Kekos\PrestDoc\ApiTemplates\Contracts\SchemaTemplate; return new Configuration( api_templates_class_map: [ SchemaTemplate::class => new MyOwnImplementationOfSchemaTemplate(), ], );
主题菜单
Prest-doc 可以配置如何创建主要的 API 导航,即“主题菜单”。包含两种实现,但您可以自己实现通过实现接口 \Kekos\PrestDoc\ApiEntities\TopicsRepository
来构建自己的。使用 Configuration
类的 api_templates_class_map
属性进行配置。
TaggedTopicsRepository
(默认)
所有路径操作都必须有一个以 topic-
前缀的标签。该标签将用于将操作分组在标签名称下,不包括 topic-
。
SingleTopicRepository
所有路径都归入单个主题 "Operations"。
特性
- 将 OpenAPI 规范(JSON)转换为 HTML。
- 允许使用自己的 HTML 布局模板,用 PHP 编写。
- 允许使用自己的 CSS 和 JavaScript。
- 按您和您的应用程序的逻辑顺序排序路径(主题)。
错误和改进
在 GitHub 问题中报告错误或随时提交拉取请求:-)
许可证
MIT