是否有可能生成一个自动目录使用Github调味Markdown?
当前回答
我创建了两个选项来生成一个toc的github风味markdown:
DocToc命令行工具(源代码)需要node.js
Installation:NPM install -g doctoc
Usage:doctoc。向当前目录和所有子目录中的所有markdown文件添加目录。
DocToc WebApp
如果你想先在网上试试,去doctoc网站, 粘贴标记页面的链接,它将生成一个表 可以插入标记文件顶部的内容。
Github维基和锚
正如Matthew Flaschen在下面的评论中指出的那样,对于其维基页面,GitHub之前并没有生成doctoc所依赖的锚。
更新:但是,他们修复了这个问题。
其他回答
在使用Visual Studio Code时,实现mardown文件目录的一个非常方便的方法是扩展名Markdown-TOC。
它可以向现有的markdown文件添加toc,甚至在保存时保持toc的最新状态。
GitHub Pages(基本上是Jekyll的包装器)似乎使用了kramdown,它实现了所有Maruku,因此通过atoc属性支持自动生成的目录:
* auto-gen TOC:
{:toc}
第一行只是开始一个无序列表,实际上被丢弃了。
这将使用文档中的头文件生成一组嵌套的无序列表。
注意:这应该适用于GitHub页面,而不是评论或wiki页面中使用的GitHub调味Markdown (GFM)。我想这个问题没有解决办法。
Github调味Markdown使用红地毯作为他们的Markdown引擎。 摘自RedCarpet回购:
:with_toc_data -添加HTML锚的每个头在输出HTML, 允许链接到每个部分。
似乎你需要在渲染器级别设置这个标志,这在Github上显然是不可能的。然而,Github Pages的最新更新,似乎自动锚定是为标题打开的,创建可链接的标题。这不是你想要的,但它可能会帮助你更容易地为你的文档创建一个TOC(尽管是手动的)。
这并不是对这个问题的直接回答,因为很多人都提供了变通方法。我认为到目前为止,Github还没有正式支持生成TOC。如果你想让GitHub在他们的GFM预览页面上自动呈现一个目录,请参加关于官方功能请求问题的讨论。
2021年3月更新:GitHub增加了一个官方解决方案
readme现在显示一个ToC,就像你向下滚动它们:
演示:https://github.com/cirosantilli/test-git-web-interface/tree/master/d
它没有在文档中呈现,因为我想要更好的Ctrl + F,但总比没有强。
Also现在也适用于非readme,例如:https://github.com/cirosantilli/test-git-web-interface/blob/master/md.md
他们还添加了一个存储库设置来启用禁用该功能。太奇怪了,谁会想让它失效呢?在https://github.com/cirosantilli/test-git-web-interface/settings下面
目录 自动生成此存储库中Markdown文件的目录。目录将显示在文件顶部附近。
原来的答案
这是不可能的,除了建议的变通办法。
我建议Kramdown TOC扩展和其他可能性support@github.com和Steven!Ragnarök的回复一如既往:
谢谢你的建议和链接。我将把它添加到我们的内部功能请求列表中,供团队查看。
让我们给这个问题投票,直到它发生为止。
另一种解决方法是使用Asciidoc而不是Markdown,后者会渲染toc。现在我的内容已经采用了这种方法。
推荐文章
- 防止在GitHub上推送到master ?
- 我如何在github上引用特定问题的评论?
- 我如何才能看到我在Github上看到的所有问题?
- R -降价避免包装加载消息
- 在GitHub上链接到其他Wiki页面?
- 你如何跟踪你对GitHub问题的评论?
- 我如何在GitHub中为其他人的代码做出贡献?
- GitHub项目和里程碑之间的区别/关系是什么?
- gitignore是什么?
- 在MarkDown中包含SVG(托管在GitHub上)
- 新Github项目发布通知?
- 如何在本地删除分支?
- GitHub.com的存储库大小限制
- 使用Git管理变更日志的一些好方法是什么?
- Github权限被拒绝:ssh添加代理没有身份