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


当前回答

此Markdown注释不会在带有Jekyll的GitHub Pages网站上呈现

[whatever]: text

因为Jekyll使用Liquid模板语言来处理模板,所以这个Liquid注释也不会在使用Jekyll的GitHubPages网站上呈现

{% comment %}
This is a long comment string 

Newline

Stuff
{% endcomment %}

其他回答

对于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)。这同样适用于取消注释。

披露:我写了这个插件。

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

另请参见由越来越多的Markdown工具支持的Critic Markup。

http://criticmarkup.com/

Comment {>> <<}

Lorem ipsum dolor sit amet.{>>This is a comment<<}

Highlight+Comment {== ==}{>> <<}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. {==Vestibulum at orci magna. Phasellus augue justo, sodales eu pulvinar ac, vulputate eget nulla.==}{>>confusing<<} Mauris massa sem, tempor sed cursus et, semper tincidunt lacus.

如果它在VS代码中,那么还有另一个好选项:

<span hidden> Some texts </span>

与“HTML注释标记”相比,它具有在编辑区域保持语法高亮显示的优势,以及为语义标记添加属性的能力,如<span notice hidden>。

警告:根据常识,不要在源代码中包含个人信息。

如果您正在使用Jekyll或octopress,下面的操作也会起作用。

{% comment %} 
    These commments will not include inside the source.
{% endcomment %}

Liquid标记{%comment%}首先被解析,并在MarkDown处理器到达它之前被删除。访问者在尝试从浏览器查看源代码时将看不到。