如何在 GitHub wiki 中创建某种内容表?

如果你看这里: http://en.wikipedia.org/wiki/Stack_Overflow

你会注意到有一个小的“内容”部分,如果你点击其中一个链接,它会把你发送到页面上的一个特定部分。

我怎么在 GitHub 维基上做这个? 用 Markdown 还是什么他们用的东西?

181217 次浏览

它在 降价备忘录的目录中得到了很好的演示。

##### Table of Contents
[Headers](#headers)
[Emphasis](#emphasis)
...snip...
<a name="headers"/>
## Headers

如果您将鼠标悬停在 GitHub Markdown 文件中的 Header 上,您将在其左侧看到一个小的链接示例,您也可以使用该链接。该链接的格式是 <project URL#<header name><header name>必须都是小写。

一个可能的(半自动)解决方案是 Eugene Kalinin 的 github-markdown-toc。这个工具实际上是通过处理 README.md文件并截取 #的标题来创建一个 TOC。

  1. 下载脚本 https://github.com/ekalinin/github-markdown-toc
  2. 把你的 README.md提供给脚本(就像尤金的 README.md中提到的那样)

    Cat README.md | bash github-markdown-toc

  3. 剪切和粘贴生成的 TOC,并将其放置在 README.md文件的顶部

注意,这个 bash实现只能在 Linux 上工作(据我所知)。

作为一个旁注,有一个戈兰 实施,可能是更多的麻烦得到工作。

Https://github.com/jonschlinkert/markdown-toc

  • git clone your-repo.wiki.git(在 .git之前添加 .wiki以克隆 wiki
  • npm i -g markdown-toc
  • 在您的 wiki 标记中插入 <!-- toc -->(区分大小写)
  • markdown-toc -i my-wiki-markdown.md(-i将在适当的位置编辑它)
  • 利润

更新: 我认为也许 https://github.com/thlorenz/doctoc现在更流行。

目前使用标记语法(.md)完成这项工作的是 不可能。有正在进行的非官方的 关于自动生成目录的探讨的渲染降价文件,如 README.md,其中列出了一些想法。

不过,还有其他一些解决办法,例如:

您可以选择编辑模式“ MediaWiki”,它将为头部生成一个 toc,例如。

== First ==


== Second ==

如果你不能坚持使用 降价,你可以这样做:

但是,使用 GitHub/repo中的 降价文件,你可以像在 维基百科中一样在 < em > GitHub 专页 上获得它吗

  • Jekyll被激活时,它默认使用 镇压生成 GitHub 页面
  • Kramdown Table Of Content附带的,使用 {:toc}语法,参见 解释

因为 github 有自己生成 id = 的方式。."属性在 h1、 h2、 h3等。.在处理 Markdown 之后的 html 版本中的头文件(例如 Bitbucket 使用几乎不同的缓慢移动头文件的标题为 id = “ slug”的模式) ,不重新发明轮子并使用逆向工程的库是很方便的。

我找到了一个相当不错的库来完成这个任务,它叫做 降价

对我来说,这似乎是最好的解决方案,因为我总是在我的机器上安装节点。

执行 Npx 标记-toc-i 文件

而且看起来它是这个任务中比较流行的工具之一——至少在 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

产出:

enter image description here

因为 github 不能直接使用 TOC,但是我们有其他的选择。

您可以通过 在线工具:自动生成 TOC

从 GitHub Markdown 或 Wiki Online 生成 TOC 目录

enter image description here

或者通过 本地工具:

Github-markdown-toc

VisualStudio 代码

如果您碰巧使用 VisualStudio 代码,那么有一个易于使用的扩展名为 一次性降价,它可以为任何用户生成 TOC。文件。

enter image description here

只需打开命令面板(Ctrl-Shift-P)-> Markdown: Create Table of Contents

Original md After automatic TOC insertion

自动更新搞乱了你编辑过的目录?

作为附加提示,您可能希望通过使用以下命令关闭“保存时自动 TOC 更新”

  "markdown.extension.toc.updateOnSave": false,

在 VisualStudio 设置中(命令面板-> 参数设置: 打开设置(JSON))。

在 Perl 顶部实现的另一个 TOC 标记相关工具(它总是随 Linux/Git-for-Windows 附带,并且可选地随 Cygwin 附带,而且不依赖于额外的包)

Https://github.com/ildar-shaimordanov/git-markdown-toc

我想我的工具工作原理与前面提到的 ekalinin/git-markdown-toc 相似或者几乎相似。我从来没有比较过他,因为他的工具实现为 Go-Lang 在我的系统中不存在。我的脚本的主要目标是提供在本地创建 TOC 的良好解决方案——没有任何到任何外部主机的连接等等,只读取一个本地文件(默认情况下是 README.md)并创建 TOC 并将其嵌入到文件中。

2021年8月更新:

在 README 中的 TOC (见下文2021年3月)之后,你现在有:

维基目录

对于 Wiki,我们现在根据 Markdown 标题自动生成一个目录。

作为 这里有插图:

你会维基吗?
我们刚刚在侧边栏中添加了一个自动目录,以帮助导航

Wiki ToC


现在(2021年3月)你可以看看 GitHub 的首席执行官 Nat Friedman 刚刚宣布的

GitHub 现在会自动从头部为 http://README.md文件创建一个目录。

经过深思熟虑之后,我们将其作为查看器的一个特性,而不是编辑器的一个关注点: 不需要插入特殊的标记。

因此... 它不会修改您的标记(README.md或其他 .md文件)来插入或更新您的文本: 它只提供了一个菜单,允许快速访问您的测试部分的基础上标记标题。
那可能是,也可能不是,你想要的东西。

toc in markdown README

例如:

[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

更多信息和复杂链接:

Https://stackoverflow.com/questions/6695439/how-to-link-to-a-named-anchor-in-multimarkdown#:~:text=in%20standard%20markdown%2c%20place%20an,%5blink%20text%5d(%23abcd)%20.

你可以使用 医疗队(我是作者)。

安装完成后,只需运行:

mdtoc path/to/file.md

潘多克

瑞士军刀:

cat README.md | pandoc --from markdown  --toc -s  --to markdown -