0.始
最近使用Gitbook整理了一些文档,发现Gitbook确实挺好用的,构建出来的文档也挺漂亮
教程网上很多,大多也都是Gitbook版本的Gitbook使用教程,基本够用
唯独后来我在写目录文件Summary.md的时候遇到一些坑
- 目录不显示
- 单文件目录如何写
- 显示不跳转
这时候我才发现,关于Summary.md文件的说明太少了,连官网上也只有寥寥几句(也有可能是我没找到)
然后我一边查资料,一边自己尝试,算是把我想要的实现了,这里只是简单的记录一下,仅供参考
—–文末有福利,如果你是搜索来到这篇文章的话
1.目录不显示问题
这个问题是插件引起的
book.json里配置了一个目录折叠插件toggle-chapters
使用这个插件以后目录只能支持两级,即使你配置了三级目录也看不到
有点可惜毕竟目录特别长,想着能折叠看起来可能会好点,后来有这个问题发现都显示出来也不错,方便直接点选深层目录下的章节
2.单文件目录如何写
最开始我写的时候为了目录清晰都是一个章节一个文件
然后我发现有些章节实在是没啥内容,但是还需在目录中显示出来
于是去查了一下说是可以使用锚点README.md#one
这种形式写在目录里
试了一下果然可以,不过却有了下边的问题
3.显示不跳转
这个问题是单文件的目录写好后发现的,最开始测试使用README.md#test
这种一点问题没有
回头等我把整篇的标题都转成目录后构建完访问就发现有的能跳转,有的不能跳转
完全理解不了,看了连接上显示的都没区别
上网查,这个问题也不知道是没人遇到过,还是都自己解决了,并没有查到
于是自己一点点的跟,先是发现了第一个点
标题中不能有空格
标题中有空格的,写锚点的时候要把空格转换成-
比如
* [第一章 使用说明](section1/README.md#第一章-如用说明)
然后是第二个点
标题里的大写字母要转换成小写
按原标题使用大写字母写锚点的不会跳转,锚点里的字母必须小写
第三个点
特殊字符要过滤掉
这个点特别坑,因为被过滤的字符是一个一个发现的,当发现第4个的时候我意识到一件事这可能并不是特例
于是我写了一个全是特殊符号的标题1!2@3#4$5%6^7&8*9(0)-_=+[]{}\|;:'",<.>/?~
转换完之后我发现只剩下1234567890-
也就是说锚点里过滤掉了除-
外的所有特殊字符(键盘上能按出来的)
找到原因后我就把我的目录里的特殊字符都处理掉了
4.终
目录写的多了,层级也多,发现这也是个体力活,即使我已经使用vim录制的宏帮我做了大部分工作,依然不是一个完美的解决方案,于是乎,程序员都会有的想法就是要不写个程序来处理
使用javascript简单写了个辅助小工具:https://jianpage.com/gitbook-summary-util/
有不满足的可以自己修改,github地址:https://github.com/iuv/gitbook-summary-util
本文链接: http://blog.jisuye.com/2020/03/11/gitbook_summary/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!