乐于分享
好东西不私藏

【开源】一套代码,多端阅读!开源文档神器 与它的跨平台 App 诞生记

【开源】一套代码,多端阅读!开源文档神器 与它的跨平台 App 诞生记

今天想跟大伙儿聊聊我折腾出来的两个开源项目:BookStack和BookChatApp。如果你平时需要写技术文档、搭建团队知识库,或者想把你的 Markdown 笔记变成手机 App 供人阅读,那这篇文章应该对你胃口。

项目是怎么来的?

其实做这两个东西,纯属“被迫营业”加上“私心作祟”。
几年前我还是个写 PHP 的,那时候想找个好用的文档工具,遇到了 GitBook 和看云,觉得特牛,心里就痒痒:“啥时候我也能整一个?” 后来转去学了 Go 语言,正好公司(掘金量化)让我搞官网和文档系统,我就基于 MinDoc 做了二次开发。
本来代码写得乱七八糟,没好意思开源,怕丢人。但转念一想,自己这几年也没少看开源书籍、用开源组件,受了社区这么多好处,是时候回馈一下了。于是咬咬牙,把BookStack开源了。后来又觉得光有网页版不够,现在大家都习惯手机刷文档,于是用 uni-app 捣鼓出了BookChatApp

它们是怎么工作的?

简单来说,这就是一套“后端+前端”的完整解决方案。

1. BookStack:你的私有文档管家

它是基于 Go 语言开发的 Web 端系统。核心逻辑很清晰:把知识结构化。它支持书籍、章节、页面的层级管理,而且专门优化了 Markdown 的处理。
原理亮点:它解决了一个很头疼的问题——文档导入。我加入了“一键拉取”功能,你给它一个 GitHub 或 Gitee 的 Zip 链接,它能自动解析 Markdown,把文档和图片都乖乖录入数据库,不用你一个个复制粘贴。

2. BookChatApp:把文档装进手机

这是 BookStack 的配套前端,用 uni-app 写的。原理就是通过 API 跟后端 BookStack 交互。
跨端黑科技:得益于 uni-app 的框架,这一套 Vue 代码,你能同时编译出Android、iOS、H5,还有微信/支付宝等各种小程序。不用写多次代码,一次开发,全平台通吃。

这东西好在哪?

专为“运营”而生:很多文档工具只管写,不管看。BookStack 增加了用户互动、SEO 优化、Sitemap 更新,甚至支持生成电子书下载,就是为了让你的知识库不仅自己用,还能给更多人看。
导入导出太方便了:支持 Git Clone 导入,也支持 Calibre 工具封装后的电子书生成。写完后一键导出 PDF 或 ePub,体验很顺滑。
真正的开源免费:基于 Apache 2.0 协议,后端前端全开源。你不用担心数据被锁死在商业平台,自己部署,数据完全自己掌控。
多端阅读体验:配合 BookChatApp,你的文档库瞬间变成了一个专业的阅读 App,支持书架、书签、阅读偏好设置,颜值也还不错(我觉得哈哈)。

预览

启动页

首页

分类页

书架页

书籍介绍页

书籍阅读页



登录

个人中心

搜索


跟其他平台比怎么样?

经常有人问我:我有 GitBook、看云,为啥要用你的?
BookStack  VS 商业平台(看云/GitBook)
商业平台功能强,但要花钱,而且数据不在自己手里。BookStack 是自托管的,免费,数据安全感满满。而且 BookStack 针对国内用户的“采集”和“导入”需求做了很多本地化优化,用起来更顺手。
BookStack VS 传统 Wiki(MinDoc/Confluence)
MinDoc 更偏向简单的文档托管。BookStack 增加了用户社交(关注、粉丝)和移动端支持。如果说 MinDoc 是“笔记本”,那 BookStack + BookChatApp 就是“出版社+阅读器”。
BookStack VS 通用阅读 App(微信读书/掌阅)
通用 App 是看书库的,书库不是你的。BookChatApp 是私域的,专门用来阅读你自己发布的文档、手册或企业内部资料。

写在最后

目前项目还在持续迭代中,代码肯定还有不足的地方,欢迎大家去 GitHub 或 Gitee 提 Issue。如果你觉得这工具帮到了你,顺手点个 Star 就是对开发者最大的鼓励啦!
BookChatApp 源码: https://gitee.com/truthhun/BookChatApp
Happy Coding! 🚀