BookStack,分享知识,共享智慧!知识,因分享,传承久远!
BookStack 是基于Mindoc开发的,为运营而生,可用于文档项目管理,也可用于开源书籍的整理并提供用户阅读,支持批量创建文档、markdown项目一键导入以及文章采集等强大便捷的功能。
本次更新,新增了数据表初始数据,旧版本用户,直接执行./BookStack install
操作,对数据库表进行升级(不会影响原有表数据和结构)。
升级日志
- 修复:由于js使用严格模式(
use strict
),导致文档目录收起之后无法展开 - 修复:采集内容,URL链接和图片链接补全不正确
- 优化:书籍离线文档生成加锁优化,移除
app.conf
中的GenerateInterval
配置项 - 优化:PDF、epub和mobi等电子书生成工具 Converter,在生成电子书时,自动生成封面。
- 优化:
<bookstack-summary>
标签的一键排序和批量创建文档的功能。 - 移除:生成PDF的时候,移除HTML中的Markdown TOC。
- 新增:提供
Dockerfile
,让部署程序更快更简单。在下载BookStack
程序的时候,请下载Docker版,压缩包内含有Dockerfile
文件。 - 新增:爬虫一键采集功能,采集整理书籍,一步到位!
采集演示
以采集 ZanUI 微信小程序中文文档 作为演示案例。
创建一个文档项目,并创建一个标识为SUMMARY.md
的文档,把下面的采集规则内容粘贴进去,然后保存,BookStack
就会自动帮你采集了。
采集规则:
<selector>.van-doc-content</selector>
<mode>chrome</mode>
<spider></spider>
- [基础]($basic.md)
- [Icon 图标](https://www.youzanyun.com/zanui/weapp#/zanui/base/icon)
- [Card 卡片](https://www.youzanyun.com/zanui/weapp#/zanui/layout/card)
- [Panel 面板组件](https://www.youzanyun.com/zanui/weapp#/zanui/layout/panel)
- [表单]($form.md)
- [Field 输入框](https://www.youzanyun.com/zanui/weapp#/zanui/form/field)
- [Switch 开关](https://www.youzanyun.com/zanui/weapp#/zanui/form/switch)
- [Select 选择](https://www.youzanyun.com/zanui/weapp#/zanui/form/select)
- [Stepper 计数器](https://www.youzanyun.com/zanui/weapp#/zanui/form/stepper)
- [展示]($display.md)
- [Tag 标签](https://www.youzanyun.com/zanui/weapp#/zanui/view/tag)
- [Badge 徽章](https://www.youzanyun.com/zanui/weapp#/zanui/view/badge)
- [交互]($interactive.md)
- [Actionsheet 行动按钮](https://www.youzanyun.com/zanui/weapp#/zanui/interactive/actionsheet)
- [Loadmore 加载](https://www.youzanyun.com/zanui/weapp#/zanui/interactive/loadmore)
好了,就这么简单,程序帮你采集ZanUI的文档,并将HTML转成markdown内容存入你的数据库。采集效果看这里:https://www.bookstack.cn/books/ZanUI 。
目前 BookStack官网 的这个采集功能仅对管理员开放,若要体验该功能,请自行使用docker
快速部署程序进行体验。或者登录演示站点http://demo.bookstack.cn进行体验。
采集规则说明:
<selector>
标签里面是内容选择器。会jQuery的,相信这个不难理解。如上面的采集规则<selector>
标签中,.van-doc-content
表示采集class="van-doc-content"
的内容。<mode>
标签里面存放的是采集模式。chrome
表示使用谷歌浏览器进行采集,这个对于采集使用js进行渲染的页面内容极为重要。如果采集的页面内容,不是使用js进行渲染的,则可以不用<mode>
标签指定采集模式。<spider>
标签,里面什么内容都不需要,但这个是必需标签,用于告诉后端,我这个是个采集规则,让后端根据照规则去采集内容。