如果你看这里:http://en.wikipedia.org/wiki/Stack_Overflow
您会注意到有一些“内容”部分,如果您点击其中一个链接,它会将您发送到页面上的特定部分。
我如何在GitHub wiki中执行此操作?使用Markdown或他们使用的任何东西?
答案 0 :(得分:68)
在Markdown Cheatsheet的目录中很好地证明了这一点。
##### Table of Contents
[Headers](#headers)
[Emphasis](#emphasis)
...snip...
<a name="headers"/>
## Headers
如果将鼠标悬停在GitHub Markdown文件中的标题上,您会在其左侧看到一个简单的小链接,您也可以使用该链接。该链接的格式为<project URL#<header name>
。 <header name>
必须全部为小写。
答案 1 :(得分:11)
一种可能的(半自动化)解决方案是Eugene Kalinin的github-markdown-toc
。此工具主要通过您的README.md
文件和snarfs #
的标题来创建TOC。
将README.md
提供给脚本(如Eugene&#39; s README.md
中所述)
cat README.md | bash github-markdown-toc
剪切并粘贴生成的TOC并将其放在README.md
文件的顶部
请注意,此bash
实现仅适用于Linux(据我所知)。
作为旁注,有一个golang implementation,可能更容易上班。
答案 2 :(得分:11)
您现在可以(2021 年 3 月)查看 GitHub Nat Friedman 的 CEO just announced
<块引用>GitHub 现在会根据您的标题自动为您的 http://README.md 文件创建目录。
经过深思熟虑,我们将此作为查看器的功能,而不是编辑器的关注点:没有要插入的特殊 Markdown。
所以...它不会修改您的 Markdown(README.md
或其他 .md
文件)以插入或更新您的文本:它只提供一个菜单,允许快速访问基于在降价标题上。
这可能是,也可能不是,您所追求的。
答案 3 :(得分:10)
https://github.com/jonschlinkert/markdown-toc
git clone your-repo.wiki.git
(在.wiki
之前添加.git
以克隆维基npm i -g markdown-toc
<!-- toc -->
(区分大小写)markdown-toc -i my-wiki-markdown.md
(-i
将对其进行编辑)更新:我想也许https://github.com/thlorenz/doctoc现在更受欢迎。
答案 4 :(得分:8)
目前,not possible使用降价语法(.md
)来做到这一点。正如README.md
这样的渲染降价文件正在进行非官方的discussion about automatically generating table of contents TOC,其中列出了一些想法。
但是还有其他一些解决方法,例如:
根据comment的建议,使用AsciiDoc
。例如:
:toc: macro
:toc-title:
:toclevels: 99
# Title
## A
### A2
## B
### B2
在线Table Of Content Generator(raychenon/play-table-of-contents)
答案 5 :(得分:7)
如果您碰巧使用了Visual Studio Code,那么有一个易于使用的扩展名Markdown All in One可以立即为任何.md文件创建目录。
只需打开命令面板(Ctrl-Shift-P
)-> Markdown: Create Table of Contents
作为另一个提示,您可能希望通过使用关闭“保存时自动TOC更新”
"markdown.extension.toc.updateOnSave": false,
在Visual Studio设置中(命令面板->首选项:打开设置(JSON))。
答案 6 :(得分:4)
如果您无法坚持 Markdown ,您可以执行以下操作:
但是,使用 GitHub / repo 中的 Markdown 文件,您可以GitHub Pages上的Wikipedia获取该文件,如Kramdown
- 当 Jekyll 被激活时,默认使用the explanation生成 GitHub页面
- Kramdown 附带
Table Of Content
。使用{:toc}
语法。见https://linux.die.net/man/1/find。
答案 7 :(得分:2)
您可以选择编辑模式“MediaWiki”,它将为标题生成toc,例如
== First ==
== Second ==
答案 8 :(得分:1)
由于github无法直接使用TOC
,但是我们还有其他选择。
您可以通过在线工具
自动生成目录Generate TOC Table of Contents from GitHub Markdown or Wiki Online
或通过本地工具
答案 9 :(得分:0)
对我来说,最简单的解决方案(虽然我始终安装了node.js服务器,并且由于npm具有npx),所以可以执行npx markdown-toc。似乎它是此任务最受欢迎的解决方案之一:
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
输出:
答案 10 :(得分:0)
在 Perl 之上实现的另一个与 TOC 降价相关的工具(它始终与 Linux/Git-for-Windows 和 Cygwin 一起提供,并且不依赖于额外的包)
https://github.com/ildar-shaimordanov/git-markdown-toc
我想我的工具与其他人在上面提到的 ekalinin/git-markdown-toc 类似或几乎类似。我从未比较过 tham,因为他的工具是作为 Go-Lang 实现的,而我的系统中并不存在。我的脚本的主要目标是提供在本地创建 TOC 的良好解决方案——没有与任何外部主机等的任何连接,只读取本地文件(默认情况下为 README.md)并创建 TOC 并将其嵌入到文件。
答案 11 :(得分:0)
示例:
[Go to Delete](#delete_lines)
#delete_lines
code here, will be pointed here
见:https://guides.github.com/features/mastering-markdown/
并且,要制作嵌套轮廓:
* 1\. [Go to Delete](#delete_lines)
* 1.1\. item
* 1.2\. item
* 1.2\. item
* 2\. item
见:https://meta.stackexchange.com/questions/85474/how-to-write-nested-numbered-lists
有关更多信息和复杂链接: