是否有可能生成一个自动目录使用Github调味Markdown?
当前回答
无耻的“借用”这个SO答案。
你可以用Pandoc做到这一点。
pandoc -s --toc input.md -o input_toc.md
注意:输入和输出文件的顺序在这里很重要。
其他回答
我创建了两个选项来生成一个toc的github风味markdown:
DocToc命令行工具(源代码)需要node.js
Installation:NPM install -g doctoc
Usage:doctoc。向当前目录和所有子目录中的所有markdown文件添加目录。
DocToc WebApp
如果你想先在网上试试,去doctoc网站, 粘贴标记页面的链接,它将生成一个表 可以插入标记文件顶部的内容。
Github维基和锚
正如Matthew Flaschen在下面的评论中指出的那样,对于其维基页面,GitHub之前并没有生成doctoc所依赖的锚。
更新:但是,他们修复了这个问题。
它不是自动的,但它使用notepad++正则表达式:
用第二个替换所有第一个(删除所有没有标题的行)
^##(#?)(#?)(.*?)$(.|\r|\n)*?(?=^##|\z)
-\1\2 [\3](#\3)\n
然后(将头III转换为空格)
-##
-
然后(将标题II转换为空格)
-#
-
然后(删除链接标题开头和结尾未使用的字符)
\[ *((?:(?![ .:#!\?;]*\])[^#])*)[ #:!\?;]*\]
[\1]
然后(转换最后一个符号小写和破折号而不是空格)
\]([^ \r\n]*) ([^\r\n ]*)
]\L\1-\2
删除未使用的最后磅和初始破折号:
(?:()[-:;!\?#]+$|(\]#)-)
\1\2
删除链接中无用的字符:
(\].*?)(?:\(|\))
\1
最后在最后链接的周围加上圆括号:
\](?!\()(.*?)$
\]\(\1\)
瞧!如果你重复足够多的时间,你甚至可以把它放在一个全局宏中。
无耻的“借用”这个SO答案。
你可以用Pandoc做到这一点。
pandoc -s --toc input.md -o input_toc.md
注意:输入和输出文件的顺序在这里很重要。
这并不是对这个问题的直接回答,因为很多人都提供了变通方法。我认为到目前为止,Github还没有正式支持生成TOC。如果你想让GitHub在他们的GFM预览页面上自动呈现一个目录,请参加关于官方功能请求问题的讨论。
使用coryfklein/doctoc, thlorenz/doctoc的一个分支,它不会在每个目录中添加“由doctoc生成”。
npm install -g coryfklein/doctoc
推荐文章
- 了解Git和GitHub的基础知识
- 在GitHub上有一个公共回购的私人分支?
- 只用GitHub动作在特定分支上运行作业
- Git合并与强制覆盖
- 是否有一个链接到GitHub下载文件的最新版本的存储库?
- GitHub -致命:无法读取用户名https://github.com':没有这样的文件或目录
- Github:我能看到回购的下载数量吗?
- 如何运行一个github-actions步骤,即使前一步失败,同时仍然失败的工作
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 在GitHub repo上显示Jenkins构建的当前状态
- 如何取消在github上的拉请求?
- HEAD和master的区别
- 在另一个目录中运行操作
- GitHub克隆与OAuth访问令牌
- 我可以在GitHub上对要点进行拉请求吗?