Syntax 降价评论

Syntax 降价评论,syntax,comments,markdown,Syntax,Comments,Markdown,如何在标记中编写注释,即HTML输出中未呈现的文本?我在上找不到任何内容。我使用标准HTML标记,如 <!--- your comment goes here and here --> 注意三点划线。其优点是,在生成TeX或HTML输出时,它可以使用。有关该组的更多信息可用。另一种方法是将注释放在样式化的HTML标记中。这样,您可以根据需要切换其可见性。例如,在CSS样式表中定义注释类 .comment{display:none;} 然后,下面是增强的降价 我们不支持评论 在浏

如何在标记中编写注释,即HTML输出中未呈现的文本?我在上找不到任何内容。

我使用标准HTML标记,如

<!---
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;
    }