我开始使用标记来做笔记。

我用标记来查看我的笔记,它很漂亮。

但是随着我的笔记变长,我发现很难找到我想要的东西。

我知道markdown可以创建表,但它是否能够创建目录,跳转到部分,或定义页面部分markdown?

或者,是否有降价阅读器/编辑器可以做这些事情。搜索也是一个不错的功能。

简而言之,我想让它成为我很棒的笔记工具,功能就像写一本书一样。


当前回答

我写了一个python脚本,解析一个降价文件,并输出一个目录作为降价列表:md-to-toc

与我发现的其他脚本不同,md-to-toc正确地支持重复的标题。它也不需要互联网连接,所以它可以在任何md文件,而不仅仅是从公共回购。

其他回答

你可以试一试。

# Table of Contents
1. [Example](#example)
2. [Example2](#example2)
3. [Third Example](#third-example)
4. [Fourth Example](#fourth-examplehttpwwwfourthexamplecom)


## Example
## Example2
## Third Example
## [Fourth Example](http://www.fourthexample.com) 

嗯…使用Markdown的标题!?

那就是:

#这相当于< h1 >

这相当于< h2>

这相当于< h3>

许多编辑器会向您展示TOC。您还可以为标题标记提供grep,并创建自己的标题标记。

希望有帮助!

--JF

我不确定,markdown的官方文件是什么? 交叉引用可以只用括号[Heading],也可以用空括号[Heading][]。

两者都使用pandoc进行工作。 所以我创建了一个快速bash脚本,它将用其TOC替换md文件中的$__TOC__。(你需要envsubst,它可能不是你发行版的一部分)

#!/bin/bash
filename=$1
__TOC__=$(grep "^##" $filename | sed -e 's/ /1. /;s/^##//;s/#/   /g;s/\. \(.*\)$/. [\1][]/')
export __TOC__
envsubst '$__TOC__' < $filename

如果使用Sublime文本编辑器,MarkdownTOC插件工作得很漂亮!看到的:

https://packagecontrol.io/packages/MarkdownTOC https://github.com/naokazuterada/MarkdownTOC

安装完成后,点击Preferences—> Package Settings—> MarkdownTOC—> Settings—User,自定义设置。以下是你可以选择的选项:https://github.com/naokazuterada/MarkdownTOC#configuration。

我的建议如下:

{
  "defaults": {
    "autoanchor": true,
    "autolink": true,
    "bracket": "round",
    "levels": [1,2,3,4,5,6],
    "indent": "\t",
    "remove_image": true,
    "link_prefix": "",
    "bullets": ["-"],
    "lowercase": "only_ascii",
    "style": "ordered",
    "uri_encoding": true,
    "markdown_preview": ""
  },
  "id_replacements": [
    {
      "pattern": "\\s+",
      "replacement": "-"
    },
    {
      "pattern": "&lt;|&gt;|&amp;|&apos;|&quot;|&#60;|&#62;|&#38;|&#39;|&#34;|!|#|$|&|'|\\(|\\)|\\*|\\+|,|/|:|;|=|\\?|@|\\[|\\]|`|\"|\\.|\\\\|<|>|{|}|™|®|©|%",
      "replacement": ""
    }
  ],
  "logging": false
}

要插入目录,只需单击文档顶部想要插入目录的位置,然后转到工具—> Markdown TOC—> insert TOC。

它将插入如下内容:

<!-- MarkdownTOC -->

1. [Helpful Links:](#helpful-links)
1. [Sublime Text Settings:](#sublime-text-settings)
1. [Packages to install](#packages-to-install)

<!-- /MarkdownTOC -->

注意<!-- -->它为您插入的HTML注释。这些是特殊的标记,帮助程序知道ToC在哪里,以便它可以自动更新它为您每次保存!所以,保持这些完好无损。

为了更加花哨,在它周围添加一些<details>和<summary> HTML标记,使ToC可折叠/可展开,如下所示:

<details>
<summary><b>Table of Contents</b> (click to open)</summary>
<!-- MarkdownTOC -->

1. [Helpful Links:](#helpful-links)
1. [Sublime Text Settings:](#sublime-text-settings)
1. [Packages to install](#packages-to-install)

<!-- /MarkdownTOC -->
</details>

现在,你得到了这个超级酷的效果,如下图所示。在我的eRCaGuy_dotfiles主自述文件中看到它的作用,或者在我的Sublime_Text_editor自述文件中看到它的作用。

崩溃: 扩展:

有关它的使用和限制的额外信息,请务必阅读我在自述书中对MarkdownTOC插件的注释。

对于Visual Studio Code用户来说,今天(2020年)使用的最佳选择是Markdown All in One插件(扩展)。

要安装它,启动VS Code快速打开(Control/⌘+P),粘贴以下命令,并按enter。

ext install yzhang.markdown-all-in-one

要生成TOC,打开命令面板(Control/⌘+Shift+P),并选择select Markdown:创建内容表选项。


另一个选择是Markdown TOC插件。

要安装它,启动VS Code快速打开(Control/⌘+P),粘贴以下命令,并按enter。

ext install markdown-toc

要生成TOC,打开命令面板(Control/⌘+Shift+P),并选择Markdown TOC:插入/更新选项或使用Control/⌘+MT。