github中的自动TOC
是否有可能使用Github Flavored Markdown生成自动目录表?
我创建了两个选项来生成github-flavored-markdown的toc:
DocToc命令行工具(源)需要node.js
安装: npm install -g doctoc
doctoc .
将目录添加到当前和所有子目录中的所有降价文件。
DocToc WebApp
如果您想先在线试用它,请转到doctoc网站,粘贴降价页面的链接,它会生成一个可以插入到降价文件顶部的内容表格。
Github Wiki和锚点
正如Matthew Flaschen在下面的评论中指出的,对于其wiki页面,GitHub以前没有生成doctoc
依赖的锚。
更新:但是,他们解决了这个问题。
GitHub页面(基本上是Jekyll的一个包装)似乎使用kramdown,它实现了Maruku的所有功能,因此通过toc
属性支持自动生成的目录:
* auto-gen TOC:
{:toc}
第一行只是开始一个无序列表,实际上被扔掉了。
这会导致嵌套的无序列表集合使用文档中的标题。
注意:这应该适用于GitHub页面,而不是GitHub Flavored Markdown(GFM),如注释或维基页面中所用。 AFAIK一个解决方案不存在的。
它不是自动的,但它使用Notepad ++正则表达式:
首先全部替换(删除所有没有标题的行)
^##(#?)(#?)(.*?)$(.|r|n)*?(?=^##|z)
-12 [3](#3)n
然后(将标题III转换为空格)
-##
-
然后(将标题II转换为空格)
-#
-
然后(在链接标题的开始和结尾处删除未使用的字符)
[ *((?:(?![ .:#!?;]*])[^#])*)[ #:!?;]*]
[1]
然后(将最后的令牌转换为小写字母而不是空格)
]([^ rn]*) ([^rn ]*)
]L1-2
删除未使用的最终磅数和最初的破折号:
(?:()[-:;!?#]+$|(]#)-)
12
删除链接中无用的字符:
(].*?)(?:(|))
1
最后在最终的链接上添加括号:
](?!()(.*?)$
](1)
瞧! 如果重复足够的时间,您甚至可以将其放入全局宏。
链接地址: http://www.djcxy.com/p/20235.html