采集演示
以采集 ZanUI 微信小程序中文文档 作为演示案例。
创建一个文档项目,并创建一个标识为SUMMARY.md的文档,把下面的采集规则内容粘贴进去,然后保存,就会自动帮你采集了。
采集规则:
<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内容存入你的数据库。
采集规则说明:
<selector>
标签里面是内容选择器。会jQuery的,相信这个不难理解。如上面的采集规则<selector>
标签中,.van-doc-content表示采集class=”van-doc-content”的内容。<mode>
标签里面存放的是采集模式。chrome表示使用谷歌浏览器进行采集,这个对于采集使用js进行渲染的页面内容极为重要。如果采集的页面内容,不是使用js进行渲染的,则可以不用<mode>
标签指定采集模式。<spider>
标签,里面什么内容都不需要,但这个是必需标签,用于告诉后端,我这个是个采集规则,让后端根据照规则去采集内容。
HTML标签排除功能
<exclude></exclude>
如要排除标签h5以及class为hello、id为”book”的HTML内容,写法是
<exclude>h5,.hello,#book</exclude>
这个排除功能对其它的CSS规则也是适用的,比如说不采集P标签的最后一行,可以这样写:<exclude>.content p:last-child</exclude>
文档拆分功能
采集完后,可以对文档进行拆分。使用以下标签可能拆分文档,如要以##
作来拆分符,直接保存后就生效了
<bookstack-split>##</bookstack-split>
拆分后的子文档最好修改一下,再保存,以确保子文档的格式不会乱
自动提取标题
新版本2.5中加入了自动提取文档的标题作为文档的名称:$auto-title
这个现在发现是用在排序上的,格式如下:
<bookstack-summary></bookstack-summary>
- [$auto-title]($README.md)
- [$auto-title]($chapters-install.md)
采集后处理
如果是从EPUB电子书导入的话,会有一个
<a class="pcalibre1 pcalibre calibre9">
的标签,影响标题的显示,要把它替换为其它标签,并把它隐藏了。同时
[TOPC]
这个要删除了,不然显示乱七八糟的。采集如果有其它字符的,也要处理下
&
需要把这个替换回:
&
电子书导入的,代码块不太好看,还是尽量从GITBOOK、GITHUB中导入好些