Syntax 液体警告:液体语法错误:应为\u字符串的\u结尾,但在中找到id

Syntax 液体警告:液体语法错误:应为\u字符串的\u结尾,但在中找到id,syntax,liquid,Syntax,Liquid,我正在使用这行代码 <img data-animate="zoomIn" srcset="{{ 'device1.png' | asset_path | magick:resize:549x395 magick:quality:100 }} 1024w, {{ 'device1.png' | asset_path | magick:resize:280x201magick:quality:100 }} 640w" src="{{ 'device1.png' | asset_path | m

我正在使用这行代码

<img data-animate="zoomIn" srcset="{{ 'device1.png' | asset_path | magick:resize:549x395 magick:quality:100 }} 1024w, {{ 'device1.png' | asset_path | magick:resize:280x201magick:quality:100 }} 640w" src="{{ 'device1.png' | asset_path | magick:resize:549x395 magick:quality:100 }}" alt="Mac" style="width: 100%; top: 0; left: 0;">

但是我得到了一个像这样的液体错误

液体警告:液体语法错误:应为\u字符串的\u结尾,但找到 “{'device1.png'|资产|路径| magick:resize:549x395”中的id 马奇克:质量

你能帮我解释一下这个的正确语法吗

提前谢谢。
卡洛斯·维埃拉(Carlos Vieira)

我也遇到了同样的问题。新版本的液体似乎不需要管道。我可以通过完全拆除管道来修复它。我的问题是:

错误:
{%for post in site.posts |限制:5%}

已修复:
{%用于站点中的帖子。帖子限制:5%}

本页可能有助于正确的液体语法

正确答案是:

首先使用这个插件:

    require "jekyll-assets"

class Jekyll::ImagePath < Jekyll::Assets::Liquid::Tag

  def initialize(tag, args, tokens)
    super("img", args, tokens)
  end

  private
  def build_html(args, sprockets, asset, path = get_path(sprockets, asset))
      path
  end

end

Liquid::Template.register_tag('image_path', Jekyll::ImagePath)

这肯定会解决我今天遇到的类似问题,代码如下:

{%- if title_case contains ' ' -%}
  {%- assign all_strings = title_case | split: ' ' -%}
  {%- assign the_string = '' -%}
  {%- for str in all_strings -%}
      {% assign new_string = str | capitalize %}
  {% assign the_string = the_string | append: new_string | append: ' ' %}
  {%- endfor -%}
  {%- assign title_case = the_string | strip-%}
{%- endif -%}
{{ title _case }}

问题是“title_case”一词中有一个额外的空格,因为它是一个空格,后跟一个下划线,Shopify将它解释为一个id!

你有没有解决过这个问题?遇到过同样的问题。对不起,还没有…有几张图片有相同的问题…@Taylor:我想我解决了这个问题,用
替换
抱歉,但问题是相同的“预期的字符串结尾,但在“{{'device1.png'或asset_path或magick:resize:549x395”中找到id。谢谢,只需删除管道,也适用于我,因为当前版本的liquidI出现了相反的问题,警告/错误是由缺少管道引起的,我通过添加管道将其修复。
{%- if title_case contains ' ' -%}
  {%- assign all_strings = title_case | split: ' ' -%}
  {%- assign the_string = '' -%}
  {%- for str in all_strings -%}
      {% assign new_string = str | capitalize %}
  {% assign the_string = the_string | append: new_string | append: ' ' %}
  {%- endfor -%}
  {%- assign title_case = the_string | strip-%}
{%- endif -%}
{{ title _case }}