Syntax 降价评论
如何在标记中编写注释,即HTML输出中未呈现的文本?我在上找不到任何内容。我使用标准HTML标记,如Syntax 降价评论,syntax,comments,markdown,Syntax,Comments,Markdown,如何在标记中编写注释,即HTML输出中未呈现的文本?我在上找不到任何内容。我使用标准HTML标记,如 <!--- your comment goes here and here --> 注意三点划线。其优点是,在生成TeX或HTML输出时,它可以使用。有关该组的更多信息可用。另一种方法是将注释放在样式化的HTML标记中。这样,您可以根据需要切换其可见性。例如,在CSS样式表中定义注释类 .comment{display:none;} 然后,下面是增强的降价 我们不支持评论 在浏
<!---
your comment goes here
and here
-->
注意三点划线。其优点是,在生成TeX或HTML输出时,它可以使用。有关该组的更多信息可用。另一种方法是将注释放在样式化的HTML标记中。这样,您可以根据需要切换其可见性。例如,在CSS样式表中定义注释类
.comment{display:none;}
然后,下面是增强的降价
我们不支持评论
在浏览器中显示如下内容
我们确实支持评论
披露:插件是我写的
由于问题没有指定具体的降价实现,我想提到for,它实现了上述相同的pandoc注释样式。我相信所有先前提出的解决方案(除了需要特定实现的解决方案)都会导致注释包含在输出HTML中,即使它们没有显示 如果您想要一条严格为您自己的注释(即使使用“查看源”,转换文档的读者也不能看到它),您可以(ab)使用核心标记规范中提供的链接标签(用于参考样式链接): 即:
[comment]: <> (This is a comment, it will not be included)
[comment]: <> (in the output file unless you use it in)
[comment]: <> (a reference style link.)
为了实现最大的可移植性,在此类注释之前和之后插入一个空行是很重要的,因为当定义与常规文本相对时,一些标记解析器无法正常工作。Babelmark的最新研究表明,前后的空行都很重要。如果前面没有空行,一些解析器将输出注释,如果后面没有空行,一些解析器将排除下一行
一般来说,这种方法应该适用于大多数降价解析器,因为它是核心规范的一部分。(即使定义了多个链接,或者定义了一个链接但从未使用过,也没有严格规定其行为)。另请参见由越来越多的标记工具支持的批评家标记
Comment{>>如果您使用的是Jekyll或octopress,那么下面的注释也可以使用
{% comment %}
These commments will not include inside the source.
{% endcomment %}
液体标记{%comment%}
首先被解析,在标记处理器到达之前被删除。访问者在试图从浏览器查看源代码时将看不到它。这在GitHub上有效:
[](注释文本位于此处)
生成的HTML如下所示:
这基本上是一个空链接。显然,你可以在呈现文本的源代码中阅读,但无论如何,你可以在GitHub上阅读。这项小型研究证明并完善了这一点
最独立于平台的语法是
(empty line)
[comment]: # (This actually is the most platform independent comment)
这两个条件都很重要:
使用
(而不是
)
注释前有空行。注释后的空行对结果没有影响
严格的降价规范仅适用于此语法(而不适用于
和/或空行)
为了证明这一点,我们将使用John MacFarlane编写的Babelmark2。该工具在28个降价实现中检查特定源代码的呈现
(+
-通过测试,-
-未通过,?
-留下一些未在呈现HTML中显示的垃圾)
- 13+,15-
- 20+,8-
- 20+,8-
- 13+1-14-
- 23+1-4-
- 23+1-4-
- 1+2?25-来自(注意,这是不同的语法)
这证明了上述说法
这些实现无法通过所有7个测试。不可能对它们使用排除在外的呈现注释
- cebe/降价1.1.0
- cebe/降价额外1.1.0
- cebe/降价GFM 1.1.0
- s9e\TextFormatter(Fatdown/PHP)
将评论放在一个非评估、非回音的R块中如何?即
```{r echo=FALSE, eval=FALSE}
All the comments!
```
似乎对我很管用。你可以试试
[](
Your comments go here however you cannot leave
// a blank line so fill blank lines with
//
Something
)
然后使用+脚注扩展。它本质上是一个永远不会被引用的脚注。对于pandoc来说,阻止注释的一个好方法是使用yaml元块。我注意到,与许多其他建议的解决方案相比,至少在我的环境中,这样可以更正确地突出显示注释的语法(vim
,vim pandoc
,以及vim pandoc语法
)
我将yaml块注释与html内联注释结合使用,因为。不幸的是,有,所以每一行都必须单独注释。幸运的是,软包装段落中应该只有一行
在my~/.vimrc
中,我为块注释设置了自定义快捷方式:
nmap <Leader>b }o<Esc>O...<Esc>{ji#<Esc>O---<Esc>2<down>
nmap <Leader>v {jddx}kdd
nmap b}oO…{ji#O--2
nmap v{jddx}kdd
我使用,
作为我的
-键,因此,b
和,v
分别注释和取消注释段落。如果我需要注释多个段落,我将j,b
映射到宏(通常是Q
)并运行
(例如(3Q
)。取消注释也适用于此。Vim用户需要使用
<!---
First comment line...
//
_NO_BLANK_LINES_ARE_ALLOWED_
//
_and_try_to_avoid_double_minuses_like_this_: --
//
last comment line.
-->
-基于Ruby的降价引擎,是Jekyll和GitHub页面的默认引擎-:
这样做的好处是允许在线评论,但缺点是不能移植到其他降价引擎。您可以这样做(YAML块):
我只尝试了乳胶输出,请为其他人确认。以下操作非常有效
<empty line>
[whatever comment text]::
使用时,添加您的mkdocs.yml
:
- pymdownx.striphtml:
strip_comments: true
strip_js_on_attributes: false
然后在任何标记文件中添加普通html注释,如
<!-- this is a comment -->
将从html输出中剥离。对于Pandoc标记,我使用带有注释的反勾号
nmap <Leader>b }o<Esc>O...<Esc>{ji#<Esc>O---<Esc>2<down>
nmap <Leader>v {jddx}kdd
<!---
First comment line...
//
_NO_BLANK_LINES_ARE_ALLOWED_
//
_and_try_to_avoid_double_minuses_like_this_: --
//
last comment line.
-->
{::comment}
This text is completely ignored by kramdown - a comment in the text.
{:/comment}
Do you see {::comment}this text{:/comment}?
{::comment}some other comment{:/}
~~~
# This is a
# multiline
# comment
...
<empty line>
[whatever comment text]::
<empty line>
[whatever]::
[whatever]:whatever
[whatever]: :
[whatever]: whatever
- pymdownx.striphtml:
strip_comments: true
strip_js_on_attributes: false
<!-- this is a comment -->
/#omitbegin/ {
insideOmit = 1;
}
! insideOmit {
print $0
}
/#omitend/ {
insideOmit = 0;
}