From 8309abd75daa69a245102023c71c8fd4e072e4b8 Mon Sep 17 00:00:00 2001 From: wanghe Date: Tue, 10 Oct 2023 02:38:45 -0500 Subject: [PATCH] feat: add ShowDoc (#480) --- apps/showdoc/3.2.2/data.yml | 9 +++++++++ apps/showdoc/3.2.2/docker-compose.yml | 19 +++++++++++++++++++ apps/showdoc/README.md | 9 +++++++++ apps/showdoc/data.yml | 20 ++++++++++++++++++++ apps/showdoc/logo.png | Bin 0 -> 14865 bytes 5 files changed, 57 insertions(+) create mode 100755 apps/showdoc/3.2.2/data.yml create mode 100644 apps/showdoc/3.2.2/docker-compose.yml create mode 100644 apps/showdoc/README.md create mode 100755 apps/showdoc/data.yml create mode 100644 apps/showdoc/logo.png diff --git a/apps/showdoc/3.2.2/data.yml b/apps/showdoc/3.2.2/data.yml new file mode 100755 index 000000000..1e1ccc915 --- /dev/null +++ b/apps/showdoc/3.2.2/data.yml @@ -0,0 +1,9 @@ +additionalProperties: + formFields: + - default: 4999 + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number diff --git a/apps/showdoc/3.2.2/docker-compose.yml b/apps/showdoc/3.2.2/docker-compose.yml new file mode 100644 index 000000000..a668da94c --- /dev/null +++ b/apps/showdoc/3.2.2/docker-compose.yml @@ -0,0 +1,19 @@ +version: '3' +services: + showdoc: + image: star7th/showdoc:v3.2.2 + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:80 + tty: true + volumes: + - /showdoc_data:/showdoc_data_old + - ./showdocdata/html:/var/www/html + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/showdoc/README.md b/apps/showdoc/README.md new file mode 100644 index 000000000..34d7f435d --- /dev/null +++ b/apps/showdoc/README.md @@ -0,0 +1,9 @@ +# ShowDoc + +**ShowDoc** 是一个非常适合IT团队的在线API文档、技术文档工具。通过showdoc,你可以方便地使用markdown语法来书写出美观的API文档、数据字典文档、技术文档、在线excel文档等等。如果不想编辑markdown文档,你还可以利用showdoc的自动化能力,从程序注释中自动生成API文档,或者从搭配的RunApi客户端(类似postman的api调试工具)中一边调试接口、一边自动生成文档。通过分配项目成员和团队成员,你可以很方便地进行项目文档的权限管理和团队协作,也可以分享文档出去给朋友查看。ShowDoc还支持多平台客户端,有win客户端、mac客户端、ios、android等,更方便跨平台使用。 + +## 主要功能: + +- **API文档**:随着移动互联网的发展,BaaS(后端即服务)越来越流行。服务端提供API,APP端或者网页前端便可方便调用数据。用ShowDoc可以非常方便快速地编写出美观的API文档。 +- **数据字典**:一份好的数据字典可以很方便地向别人说明你的数据库结构,如各个字段的释义等。 +- **说明文档**:你完全可以使用showdoc来编写一些工具的说明书,也可以编写一些技术规范说明文档以供团队查阅。 \ No newline at end of file diff --git a/apps/showdoc/data.yml b/apps/showdoc/data.yml new file mode 100755 index 000000000..f0cc32f62 --- /dev/null +++ b/apps/showdoc/data.yml @@ -0,0 +1,20 @@ +name: ShowDoc +tags: + - DevOps +title: 一个非常适合IT团队的在线API文档、技术文档工具 +type: DevOps +description: 一个非常适合IT团队的在线API文档、技术文档工具 +additionalProperties: + key: showdoc + name: ShowDoc + tags: + - DevOps + shortDescZh: 一个非常适合IT团队的在线API文档、技术文档工具 + shortDescEn: ShowDoc is a tool greatly applicable for an IT team to share documents online + type: tool + crossVersionUpdate: false + limit: 0 + recommend: 0 + website: https://www.showdoc.com.cn/ + github: https://github.com/star7th/showdoc + document: https://www.showdoc.com.cn/help diff --git a/apps/showdoc/logo.png b/apps/showdoc/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..31024f07d66608ebbe1fbbf7f1df48629856faea GIT binary patch literal 14865 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 Kl2zg+!T$%G(e#i2 literal 0 HcmV?d00001