如何在Markdown中编写注释,即HTML输出中未呈现的文本?我在Markdown项目中没有发现任何东西。
当前回答
此Markdown注释不会在带有Jekyll的GitHub Pages网站上呈现
[whatever]: text
因为Jekyll使用Liquid模板语言来处理模板,所以这个Liquid注释也不会在使用Jekyll的GitHubPages网站上呈现
{% comment %}
This is a long comment string
Newline
Stuff
{% endcomment %}
其他回答
这项小型研究证明并完善了马格努斯的答案
最独立于平台的语法是
(empty line)
[comment]: # (This actually is the most platform independent comment)
这两个条件都很重要:
使用#(而不是<>)注释前有空行。注释后的空行对结果没有影响。
严格的Markdown规范CommonMark仅适用于此语法(而不适用于<>和/或空行)
为了证明这一点,我们将使用Alexandre Mutel的Babelmark I。该工具检查大量Markdown实现上特定源代码的呈现。
(+-通过了测试,--没有通过,?-留下一些垃圾,这些垃圾在呈现的HTML中没有显示)。
无空行,使用<>13+15-注释前空行,使用<>20+,8-注释周围的空行,使用<>20+,8-没有空行,使用#13+1?14-注释前空行,使用#23+1?4-注释周围的空行,使用#23+1?4-带有3个连字符1+2的HTML注释?25-来自chl的答案(注意这是不同的语法)
这证明了上述陈述。
这些实现未通过所有7项测试。没有机会对它们使用excluded on render注释。
cebe/markdown 1.1.0cebe/markdown markdown额外1.1.0cebe/markdown GFM 1.1.0s9e\TextFormatter(Fatdown/PHP)
使用mkdocs时,添加mkdocs.yml:
- pymdownx.striphtml:
strip_comments: true
strip_js_on_attributes: false
然后在任何markdown文件中使用普通的html注释,如
<!-- this is a comment -->
将从html输出中删除。
对于PandocMarkdown,我使用带有注释的反引号作为内联“代码”语法的语言
`here's a comment`{=comment}
这将在所有输出中自动过滤掉。它只是重载它们的代码语法,也适用于多行注释的代码块。我还没有尝试过,但我猜这对非潘多克·马克顿来说不起作用。
此Markdown注释不会在带有Jekyll的GitHub Pages网站上呈现
[whatever]: text
因为Jekyll使用Liquid模板语言来处理模板,所以这个Liquid注释也不会在使用Jekyll的GitHubPages网站上呈现
{% comment %}
This is a long comment string
Newline
Stuff
{% endcomment %}
<!--- ... -->
不适用于PandocMarkdown(Pandoc1.12.2.1)。注释仍显示在html中。以下措施确实奏效:
Blank line
[^Comment]: Text that will not appear in html source
Blank line
然后使用+脚注扩展名。它本质上是一个从未被引用的脚注。
推荐文章
- 问号运算符是关于什么的?
- 在Ruby中->运算符叫什么?
- 自动TOC在github风味markdown
- Jenkins:注释可以添加到Jenkins文件中吗?
- 在shell脚本中使用$()而不是反引号的好处是什么?
- ASP。NET“特殊”标签
- 使用pandoc从Markdown转换为PDF时设置空白大小
- 如何显示数学方程在一般github的markdown(不是github的博客)
- JavaScript错误(Uncaught SyntaxError:意外的输入结束)
- 在Bash中测试非零长度字符串:[-n "$var"]或["$var"]
- 使用Markdown的Sphinx而不是reST
- Shell脚本for循环语法
- 降价和图像对齐
- 这在PHP中意味着什么:->或=>
- C或c++中的单引号与双引号