你如何在液体中进行评论?

什么是正确的方式注释出在液体模板语言?

51656 次浏览

In Liquid you comment out using the {% comment %} and {% endcomment %} tags:

{% comment %} This is a comment in Liquid {% endcomment %}

It doesn't matter if the comment is inline or a block comment.

{% comment %}
This is a block comment in Liquid
{% endcomment %}

In the liquid, using comment tag enclose the text to be commented inside the comment tag

{%comment%}
Text to be commented
{%endcomment%}

Liquid allows you to leave un-rendered code inside a Liquid template by using the {% comment %} and {% endcomment %} tags.

Input:

Anything you put between {% comment %} and {% endcomment %} tags
is turned into a comment.

Output:

Anything you put between  tags
is turned into a comment.

Reference documentation: Comment tag in Liquid

In liquid, you use {% comment %} and {% endcomment %} tags:

{% comment %} This would be commented out {% endcomment %}

You can also use it in block:

{% comment %}
This would also be commented out
{% endcomment %}

If the {% comment %} and {% endcomment %} tags would comment anything, including HTML elements and such:

 {% comment %}
<div class="commented_out">
<p>This whole div would be commented out</p>
</div>
{% endcomment %}

If, like me, you are looking for a solution that actually comments out "anything"/everything between the comment tags (as described in the documentation), you can use the {% raw %} tag (in conjuction with the {% comment %} tag if you don't want anything rendered in the browser).

Example:

{% comment %}
{% raw %}
Here is some text that I don't want displayed and
{% some_liquid_stuff_that_I_don't_want_parsed %}
{% endraw %}
{% endcomment %}

will render nothing at all.

In contrast,

{% raw %}
Here is some text that I want displayed but
{% some_liquid_stuff_that_I_don't_want_parsed %}
{% endraw %}

will render

Here is some text that I want displayed but

{% some_liquid_stuff_that_I_don't_want_parsed %}

while

{% comment %}
Here is some text that I don't want displayed but
{% some_liquid_stuff_that_will_be_parsed %}
{% endcomment %}

may result in a syntax error or Liquid exception, depending on the validity of the Liquid inside the comment tags.

An example of where this becomes an issue is where some work-in-progress code has been commented out:

{% comment %}
{% if some test %}
some stuff to render
{% elsif... %}
unfinished code...
{% endcomment %}

Additional information on this GitHub thread.

Starting with Liquid 5.4.0 you will be able to use a short inline comment that does not require a closing tag! The syntax is:

{% # This is a new inline comment! %}

As with other tags you can add hyphens to remove whitespace around it:

{%- # This is a new inline comment without whitespace! -%}

And even use multiple lines:

{%-
################################
#  This is a really big block  #
################################
-%}

More info is available in the merged PR.