我开始使用标记来做笔记。
我用标记来查看我的笔记,它很漂亮。
但是随着我的笔记变长,我发现很难找到我想要的东西。
我知道markdown可以创建表,但它是否能够创建目录,跳转到部分,或定义页面部分markdown?
或者,是否有降价阅读器/编辑器可以做这些事情。搜索也是一个不错的功能。
简而言之,我想让它成为我很棒的笔记工具,功能就像写一本书一样。
我开始使用标记来做笔记。
我用标记来查看我的笔记,它很漂亮。
但是随着我的笔记变长,我发现很难找到我想要的东西。
我知道markdown可以创建表,但它是否能够创建目录,跳转到部分,或定义页面部分markdown?
或者,是否有降价阅读器/编辑器可以做这些事情。搜索也是一个不错的功能。
简而言之,我想让它成为我很棒的笔记工具,功能就像写一本书一样。
当前回答
你可以使用DocToc从命令行生成目录:
doctoc /path/to/file
要使链接与Bitbucket生成的锚点兼容,请使用——Bitbucket参数运行它。
其他回答
如果使用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": "<|>|&|'|"|<|>|&|'|"|!|#|$|&|'|\\(|\\)|\\*|\\+|,|/|:|;|=|\\?|@|\\[|\\]|`|\"|\\.|\\\\|<|>|{|}|™|®|©|%",
"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插件的注释。
我不确定,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
如果你正在使用Discount markdown,启用一个标志-ftoc来自动生成,并使用-T来在一个目录的前面,例如:
markdown -T -ftoc <<EOT
#heading 1
content 1
##heading 2
content 2
EOT
将会产生
<ul>
<li><a href="#heading-1">heading 1</a>
<ul>
<li><a href="#heading-2">heading 2</a></li>
</ul>
</li>
</ul>
<a name="heading-1"></a>
<h1>heading 1</h1>
...
显然你也可以使用markdown -toc,这个人没有提到,但是USAGE信息可以(由markdown -h这样的非法选项触发)。
我花了一段时间阅读源代码才明白这一点,所以我把它写下来主要是为了未来的我。我在Arch Linux上使用折扣降价,从折扣包。这个人并没有真正告诉你这是折扣,但提到了大卫·帕森斯的作者。
markdown --version
# markdown: discount 2.2.7
Typora生成的内容表添加[TOC]到您的文档。
作为手工制作链接列表的替代方案,让我们概述所有可用的开箱即用的解决方案来插入目录(请评论和扩展以保持最新):
在咕噜5版本中,markdown支持这一点:
<!-- assure you have a blank line before -->
[[_TOC_]]
这也适用于Azure DevOps wiki。
由于Gitlab将降价引擎从Redcarpet切换到Kramdown,他们现在支持以下语法
- TOC
{:toc}
看到https://about.gitlab.com/handbook/markdown-guide/ table-of-contents-toc
MultiMarkdown在4.7有一个下面的宏:
{{TOC}}
根据Jannik的回答: 如果你的Markdown文件是显示在bitbucket.org上的回购,你可以在你想要你的目录(更多信息在这里)的位置使用以下:
[TOC]
根据Paul Jurczak的回答: 当您在文档中写入[TOC]时,Markdown编辑器Typora也会生成一个目录。
我知道,我的回答有点晚了。然而,我自己却错过了这样一个概述。我对尼古拉斯·特里的回答进行了编辑,将其扩展为概述,但被拒绝了。