我正在使用这行代码
<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;">
但我得到像这样的液体错误
液体警告:液体语法错误:找到了预期的end_of_string 我在&#34; {{&#39; device1.png&#39; | asset_path | magick:调整大小:549x395 magick:质量
你能用正确的语法帮助我吗?
提前致谢。 卡洛斯·维埃拉
答案 0 :(得分:3)
我遇到了同样的问题。似乎液体的新版本并不期望管道。我能够通过完全移除管道来解决它。这是我的问题:
错误:{% for post in site.posts | limit: 5 %}
修正:{% for post in site.posts limit: 5 %}
此页面可能有助于使用正确的液体语法http://jekyll.tips/jekyll-cheat-sheet/
答案 1 :(得分:0)
正确的答案是:
首先使用这个插件:
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)
然后在图像使用
src="{% image_path 'customize-template-image.png' magick:resize: 549x375 magick:quality:100 %}"
这肯定会确定
答案 2 :(得分:0)
我今天遇到了类似的问题,其代码如下:
{%- 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!