如何在Markdown中编写注释,即HTML输出中未呈现的文本?我在Markdown项目中没有发现任何东西。


当前回答

以下方法非常有效

<empty line>
[whatever comment text]::

该方法利用语法通过引用创建链接由于使用[1]创建了链接引用:http://example.org不会呈现,同样,以下任何内容也不会呈现

<empty line>
[whatever]::
[whatever]:whatever
[whatever]: :
[whatever]: whatever
[whatever]: # whatever with spaces

其他回答

披露:我写了这个插件。

由于问题没有指定特定的markdown实现,我想提到python markdown的Comments插件,它实现了上述相同的pandoc注释样式。

另一种方法是将注释放在样式化的HTML标记中。这样,您可以根据需要切换它们的可见性。例如,在CSS样式表中定义注释类。

.注释{display:none;}

然后,以下增强的MARKDOWN

我们不支持评论

在浏览器中显示如下

我们支持评论

对于pandoc,一个阻止评论的好方法是使用yaml元块,正如pandoc作者所建议的那样。我注意到,至少在我的环境中(vim、vim-pandoc和vim-pandocsyntax),与许多其他建议的解决方案相比,这为注释提供了更恰当的语法高亮显示。

我将yaml块注释与html内联注释结合使用,因为html注释不能嵌套。不幸的是,在yaml元块中没有块注释的方法,所以每一行都必须单独注释。幸运的是,软包装的段落中应该只有一行。

在我的~/.vimrc中,我为块注释设置了自定义快捷方式:

nmap <Leader>b }o<Esc>O...<Esc>{ji#<Esc>O---<Esc>2<down>
nmap <Leader>v {jddx}kdd

我分别使用so、b和v注释和取消注释段落,作为我的<Leader>键。如果我需要注释多个段落,我将j,b映射到一个宏(通常为Q),然后运行<段落数><宏名>(例如(3Q)。这同样适用于取消注释。

<!--- ... --> 

不适用于PandocMarkdown(Pandoc1.12.2.1)。注释仍显示在html中。以下措施确实奏效:

Blank line
[^Comment]:  Text that will not appear in html source
Blank line

然后使用+脚注扩展名。它本质上是一个从未被引用的脚注。

这在GitHub上有效:

[](Comment text goes here)

生成的HTML如下所示:

<a href="Comment%20text%20goes%20here"></a>

这基本上是一个空链接。显然,您可以在渲染文本的源代码中阅读,但无论如何您都可以在GitHub上阅读。