如果您在此处查看:http : //en.wikipedia.org/wiki/Stack_Overflow
您会注意到这里有一个“内容”部分,如果您单击其中一个链接,它将带您到页面上的特定部分。
如何在GitHub Wiki上执行此操作?使用Markdown或其他工具?
如果您在此处查看:http : //en.wikipedia.org/wiki/Stack_Overflow
您会注意到这里有一个“内容”部分,如果您单击其中一个链接,它将带您到页面上的特定部分。
如何在GitHub Wiki上执行此操作?使用Markdown或其他工具?
Answers:
Markdown备忘单的目录很好地展示了它。
##### Table of Contents
[Headers](#headers)
[Emphasis](#emphasis)
...snip...
<a name="headers"/>
## Headers
如果将鼠标悬停在GitHub Markdown文件中的Header上,则会在其左侧看到一个简单的小链接,您也可以使用该链接。该链接的格式为<project URL#<header name>
。在<header name>
必须全部小写。
__TOC__
。显然,潜在的自动生成逻辑在那里。但是该功能似乎并未以其Markdown编辑风格公开。十分不幸。让我们所有人开始发送功能请求,也许他们会打开它。
#Headers
代替#headers
。我认为这是您输入中的错字。也许您可以在此信息中添加答案。
Eugene Kalinin's是一种可能的(半自动)解决方案github-markdown-toc
。该工具实质上是处理您的README.md
文件,然后将其#
标题弄乱以创建TOC。
将您README.md
的脚本供稿(如Eugene所述README.md
)
猫README.md | bash github-markdown-toc
剪切并粘贴生成的目录,并将其放置在README.md
文件顶部
请注意,此bash
实现仅在Linux上有效(据我所知)。
附带说明一下,有一个golang 实现,可能更麻烦上班了。
https://github.com/jonschlinkert/markdown-toc
git clone your-repo.wiki.git
(.wiki
在.git
克隆Wiki 之前添加权限npm i -g markdown-toc
<!-- toc -->
在Wiki的markdown中插入(区分大小写)markdown-toc -i my-wiki-markdown.md
(-i
将在适当位置进行编辑)更新:我认为也许https://github.com/thlorenz/doctoc现在更流行了。
目前,无法使用markdown语法(.md
)进行此操作。目前正在进行有关在渲染的markdown文件上自动生成目录TOC的非正式讨论,README.md
其中列出了一些想法。
但是,还有一些其他解决方法,例如:
AsciiDoc
根据此评论的建议使用。例如:
:toc: macro
:toc-title:
:toclevels: 99
# Title
toc::[]
## A
### A2
## B
### B2
如果您碰巧使用了Visual Studio Code,则有一个名为Markdown All in One的易于使用的扩展名,可以立即将任何.md文件的目录设为TOC。
只需打开命令面板(Ctrl-Shift-P
)->Markdown: Create Table of Contents
另外,您可能希望通过使用关闭“保存时自动TOC更新”
"markdown.extension.toc.updateOnSave": false,
在Visual Studio设置中(命令面板->首选项:打开设置(JSON))。
您可以选择“ MediaWiki”编辑模式,这将为标题生成目录,例如
== First ==
== Second ==
由于github有它自己的方式,可以在处理Markdown之后在html版本的h1,h2,h3等标题中生成id =“ ..”属性。 id =“ slug”),不要重新发明轮子并使用对流程进行反向工程的库很方便。
我为该任务找到了一个很好的库,称为markdown-toc。
对我来说,这似乎是最好的解决方案,因为我一直在计算机上安装节点。
只需执行npx markdown-toc -i file.md即可。
看来,它是用于此任务的更流行的工具之一-至少在node.js生态系统中。
ls
cat <<EOF >> test.md | tee
## Table of Contents
<!-- toc -->
- old toc 1
- old toc 2
- old toc 3
<!-- tocstop -->
## abc
This is a b c.
## xyz
This is x y z.
EOF
ls
cat test.md
npx markdown-toc -i test.md
cat test.md
输出: