首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >markdown 转 word 工具推荐,API文档、数据库文档快速生成调研

markdown 转 word 工具推荐,API文档、数据库文档快速生成调研

作者头像
Lcry
发布于 2025-06-10 01:12:26
发布于 2025-06-10 01:12:26
4140
举报
文章被收录于专栏:Lcry个人博客Lcry个人博客

最近工作中做了一些调研性的工作,好久没更新博客了,今天就水一篇把,最近在补项目中的相关文档,众所周知接口文档和数据库字段文档是必须的,针对这两块东西如果是微服务的话接口众多,要从零开始梳理不知道要到猴年马月,所以力求花最少时间搞定这两样东西。

为什么标题要拧出来说 markdown 这个东西,因为现在写的大多数文档都是以 .md 格式写的,习惯了真的就是比 word 这些工具好用啊,不知道为什么 wps 这个东西现在特别的臃肿,每次打开都感觉特别卡。

接口 API 导出调研

主要调研了 apifox、apipost、swagger 解析导出、knife4j 导出方案。

要想导出非常完美的文档要依赖平时代码中的 javadoc 注释或者 swagger 注解打得好。但是大家懂的,要求每个人都去完善注释不大现实。

API 文档嘛,主要是客户需要肯定就要 word,但是理论来说交付完毕给 pdf 也是 ok 的,以前还拿到过对接文档是直接把 swagger 导出成 html,只要能看能解决问题就 ok 嘛,但是为了方便二次修改所以最终还是导出 word,如果要 pdf 再转一次就行了。

所有方案都是围绕 swagger 自带的接口生成,无非就是解析然后生成不同的格式。

apifox 和 apipost 同属于一类,导出的时候都不能直接导出 word,只能先导出 markdown,然后再使用类似于 pandoc 这种工具进行转换成其他格式。

swagger 解析导出就还得去定义 word 模板渲染啥的,虽然找了有类似于这样的开源项目,但是如果注释不是很完善很容易各种报错。

最终选择了 knife4j 直接在线导出 markdown文件。

markdown 转 word 工具推荐,API文档、数据库文档快速生成调研
markdown 转 word 工具推荐,API文档、数据库文档快速生成调研

很多人会问,离线文档不是有下载 word 吗,你猜我为什么不用?哈哈哈哈,这上面的 word 其实不是 word,而是转成 html 然后整到一个 word 文档里,特别奇怪,还不方便看。

然后将 md 转成 word 即可,也是找了一堆,不是样式有问题就是格式错乱,特别是表格很容易出问题,最终选定了markdocx 这个开源工具实现,能达到效果。

markdown 转 word 工具推荐,API文档、数据库文档快速生成调研
markdown 转 word 工具推荐,API文档、数据库文档快速生成调研

markdocx 项目介绍

markdocx 是一个开源项目,可以将你的 markdown 文件转换为 MS Word(.docx)/ Convert your Markdown files to MS Word (.docx)。

项目地址:https://github.com/ccwud/markdocx

windows 下可以直接下载 release 包使用,macos 的话可以直接安装 python 源码运行食用。

markdocx.exe C:\Users\admin\Downloads\md\input -o C:\Users\admin\Downloads\md\word-output -s C:\Users\admin\Downloads\md\style.yaml

数据库文档生成调研

数据库文档因为项目有使用 mySQL(MariaDB) 和 达梦数据库,所以必须至少要支持这 2 种数据库的自动文档生成。

尝试过:DBCHMSmartSQLscrew

前两个工具每次导出都有奇奇怪怪的问题,不知道是不是因为公司电脑是 windows11,还以为是我操作不对,看也是很久没有维护了,所以没折腾。

screw这个工具官方仓库不支持达梦数据库,但是看到有 fork 项目添加支持了达梦数据库,然后也可以自定义导出样式和模板。

所以直接最终选用了screw,支持达梦数据库的点这个仓库

直接看效果:

markdown 转 word 工具推荐,API文档、数据库文档快速生成调研
markdown 转 word 工具推荐,API文档、数据库文档快速生成调研

screw 项目介绍

screw 是一个开源项目,专注于简洁好用的数据库表结构文档生成工具。虽然官方仓库好久没有更新了,如果不支持你所使用的数据库,可以自己 fork 代码进行二开,主要就是实现一下查询数据库的元数据信息就行了。实现逻辑参考:#screw-core/src/main/java/cn/smallbun/screw/core/query

项目开源地址:https://github.com/pig-mesh/screw

写在最后

通过本文你可以快速了解到生成项目 API 接口、数据库字典文档,大大减少人力成本。最后想说的确实开源项目降低了技术的门槛,让人人都能享受到开源的乐趣。但是开源项目大多数是用爱发电,大多数公司可能也不会意思把“烂代码”暴露给大众看,但是长远看,开源一些公共的项目更加有利于提升企业产品的知名度和商业化方案的推广,最后的最后,如果大家有更和的解决方案可以评论区留言大家一起探讨。

文章目录

function Catalogswith(){document.getElementById("catalog-col").classList.toggle("catalog");document.getElementById("catalog").classList.toggle("catalog")}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
iOS应用调用系统打电话、发短信和发邮件功能引1、打电话2、发短信3、发邮件
在应用程序内,调用系统的功能来实现打电话、发短信和发邮件,通过电话号码或者邮箱,直接跳转到系统的功能界面。
Cloudox
2021/11/23
4.3K0
iOS 和 H5 交互那些事 (UIWebView、WKWebView 总结篇)
1.OC与JS交互之UIWebView 创建一个UIWebView 并加载 _webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, self.view.frame.size.height-20)]; _webView.delegate = self; _webView.scrollView.bounces = NO; / 添加 webiview [self.vie
陈雨尘
2018/06/07
4.6K0
手机通讯录实现
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116942.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/06
1.4K0
iOS开发之诱导用户为自己的App评论功能
allluckly.cn.jpg "由于我自己的App下载量少,评论也少,出于App的aso优化,想尽办法,而评论是aso里边比较重视的一块,前面的版本都没有诱导用户评论的这一功能,导致有些被动。" 由此自己简单的封装了该功能,下面我们先看看效果图: 1.png 弹出试图并没有做什么处理,就是系统的8.0以前用的UIAlertView8.0以上用的UIAlertController 具体的一些算法,都可以看代码,闲话不多说,直接贴码, 新建一个NSObject的类命名为LBToAppStore 具
Bison
2018/07/04
1.1K0
ios开发基础知识 - 1
输出 command+shift+r NSLog(@"log: %@ ", myString);  NSLog(@"log: %f ", myFloat);  NSLog(@"log: %i ", myInt); 显示图片 CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 100.0f); UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect]; [myImage
用户1172164
2018/01/16
6580
iOS 跳转到应用所在的App Store市场
代码入下 #import "ViewController.h" @interface ViewController ()<UIWebViewDelegate> @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //添加webView UIWebView *webView = [[UIWebView alloc]initWithFrame:self.view.bounds
用户1219438
2018/02/01
1.5K0
IOS中调用系统拨打电话与发送短信 原
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@",_phoneNumber]]];
珲少
2018/08/15
6010
UIWebView的使用,简单浏览器的实现
#import "ViewController.h" @interface ViewController () <UIWebViewDelegate> @property(nonatomic,weak)UIWebView* web; @end @implementation ViewController (void)viewDidLoad { [super viewDidLoad]; [self _setTextField]; [self _loadWebView]; } pragma mark
大师级码师
2021/10/31
3820
iOS--React Native浏览器插件(内附Demo)
React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。
网罗开发
2021/01/29
1.4K0
WKWebView不显示JS的Alert,Confirm,TextInput弹框解决方法
最新项目使用网页加载页面的基本上都由UIWebView转到WKWebView了,然后刚刚才发现用了WKWebView之后不会弹窗提示了,查了一下知道原来WKWebView默认禁止了下面的跳转: 打开itunes.apple.com跳转到App Store, 拨打电话, 唤起邮箱等一系列操作 JS的Alert,Confirm,TextInput弹框 解决方法: 首先实现WKUIDelegate代理方法 解决唤不起打电话和跳转系统应用的方法 - (void)webView:(WKWebView *)webV
傅_hc
2018/07/04
7.4K0
oc 与 js 互相调用
Objective-C,通常写作ObjC或OC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。
编程那点事
2023/02/25
1.5K0
实践-小细节 III
Title:nil message:nil 标题和信息都设为 nil 不能设置为 @“” 这样还是会出现空白的标题
進无尽
2018/09/12
5800
实践-小细节 III
iOS的WebView——WKWebView
前言 在iOS8中,苹果推出了WKWebView。WKWebView有一个突出特点,就是内存占用少。 但作为一个全新的WebView,API相比于之前的UIWebView肯定会有所不同。今天就在这里记录一下WKWebView的基本使用。 Webview的使用,通常包含以下几个部分:浏览器的基本设置,浏览器的各种回调,浏览器中js如何调用原生方法。 WKWebView基本使用 self.webview = [[WKWebView alloc]init]; [self.view addSubvi
Oceanlong
2018/07/03
4K0
UI篇- UIWebView使用大全
UIWebView是常用开发控件,对于一些常用的设置是有必要记住或者记录下来的。 这里特别说一下,对于一个工程中整个就是一个WebView的情况,你可以通过一些设置来使整个工程显得接近于原生开发的APP,这样你是有机会被审核通过的。
進无尽
2018/09/12
2.3K0
UI篇- UIWebView使用大全
iOS学习巩固笔记-UIWebView/JavaScript
2016-05-0908:24:25 发表评论 0℃热度 写一些平时看书学习iOS的笔记,基础的、进阶的都有,供以后回顾,也可以让刚开始学习的同学学习。 1 UIWebView简介 UIWebView
timhbw
2018/05/03
1.4K0
IOS WebView控件详解
概述 WebView就是一个内嵌浏览器控件,在iOS中主要有两种WebView:UIWebView和WKWebView,UIWebView是iOS2之后开始使用,WKWebView是在iOS8开始使用,WKWebView将逐步取代笨重的UIWebView。 相比UIWebView,WKWebView做了如下优化: WKWebView更多的支持HTML5的特性 WKWebView更快,占用内存可能只有UIWebView的1/3 ~ 1/4 WKWebView高达60fps的滚动刷新率和丰富的内置手势 WKWe
xiangzhihong
2018/02/06
5.3K0
iOS调用打电话,发短信,打开网址
//1、调用 自带mail [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@CodeSnippet.cn"]]; //2、调用 电话phone [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8008808888"]]; //3、调用 SMS [[UIApplication sharedApplica
用户7108768
2021/10/29
2.9K0
iOS四大对象之UIApplication对象1. 获取2. 创建联网指示器3. 设置app右上角小图标的数字4. 打电话、发短信、上网5. 判断系统版本
每一个应用都有自己的UIApplication对象,而且是单例的 iOS程序创建的第一个对象就是UIApplication 通过[UIApplication sharedApplication]可以获得这个单例对象 一个iOS程序启动后创建的第一个对象就是UIApplication对象 一个应用程序里面只能有一个UIApplication对象,且只有一个(通过代码获取两个UIApplication对象,打印地址可以看出地址是相同的)。 利用UIApplication对象,能进行一些应用级别的操作。 1. 获
stanbai
2018/06/28
6080
ios app url scheme跳转到淘宝商品详情页 唤醒app
好的东西就应该大家一块分享。 今天项目中要求,类似于启动页是淘宝的广告,然后点击广告,跳转到淘宝的详情页。 实现这个要求我是各种百度,不过最后发现呢,大部分东西都是千篇一律。 第一种:只是提供了天猫的跳转,并没有提供淘宝的跳转。 第二种:就是使用阿里百川的sdk,这样的话对我我来说是觉得有点大材小用的毕竟只是一个广告页而已。 第三种:就是我通过不懈的努力,终于被我给发现了。 现在我就要记录下来。 - (void)showItemInTmall4iOS:(NSString *)itemId { NSU
用户1219438
2018/02/01
5.6K0
实践-小细节Ⅶ
所以网页的y 坐标是 0 ,但是在 iOS 11里面就是无法在 状态栏上显示,iOS11下的系统不会这样会占用 状态栏的位置
進无尽
2018/09/12
9770
实践-小细节Ⅶ
推荐阅读
相关推荐
iOS应用调用系统打电话、发短信和发邮件功能引1、打电话2、发短信3、发邮件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档