在 Jekyll / Liquid 中循环复制代码
For loop duplicating code in Jekyll / Liquid
我的输入非常简单。我从数据文件中提取内容以填充 <p>
,然后 运行 方法 markdownify
,但输出以(对我来说)意想不到的方式复制了 <p>
元素。
请指教!谢谢。
示例输入:
{% for item in site.data.filename.item %}
<p style="display:{{ item.display }}" id="{{ item.nav }}">{{ item.content | markdownify }}</p>
{% endfor %}
输出:
<p id="test" style="display:block"></p>
<p>testing output</p>
<p></p>
我的流畅语法有问题吗?非常感谢
嵌套段落时通常会发生这种情况。您应该从内容中删除 HTML 标签。
{{ item.content | strip_HTML}}
https://docs.shopify.com/themes/liquid/filters/string-filters#strip_html
如果你想保持html的格式,你可以用一个div来包裹内容,像这样:
{% for item in site.data.filename.item %}
<div style="display:{{ item.display }}" id="{{ item.nav }}">{{ item.content | markdownify }}</div>
{% endfor %}
您是否尝试删除 markdownify?
内部 jekyll 框架将应用 markdownify
所以我们不需要写 markdownify
我在删除了 markdownify
的情况下尝试了您的代码,并得到了单行 <p>
重复项。
strip_HTML
选项也有效。
删除 markdownify
或放置 strip_HTML
而不是display:{{ item.display }}
尝试
display:{{ display }}
应该完成这项工作! :)
我的输入非常简单。我从数据文件中提取内容以填充 <p>
,然后 运行 方法 markdownify
,但输出以(对我来说)意想不到的方式复制了 <p>
元素。
请指教!谢谢。
示例输入:
{% for item in site.data.filename.item %}
<p style="display:{{ item.display }}" id="{{ item.nav }}">{{ item.content | markdownify }}</p>
{% endfor %}
输出:
<p id="test" style="display:block"></p>
<p>testing output</p>
<p></p>
我的流畅语法有问题吗?非常感谢
嵌套段落时通常会发生这种情况。您应该从内容中删除 HTML 标签。
{{ item.content | strip_HTML}}
https://docs.shopify.com/themes/liquid/filters/string-filters#strip_html
如果你想保持html的格式,你可以用一个div来包裹内容,像这样:
{% for item in site.data.filename.item %}
<div style="display:{{ item.display }}" id="{{ item.nav }}">{{ item.content | markdownify }}</div>
{% endfor %}
您是否尝试删除 markdownify?
内部 jekyll 框架将应用 markdownify
所以我们不需要写 markdownify
我在删除了 markdownify
的情况下尝试了您的代码,并得到了单行 <p>
重复项。
strip_HTML
选项也有效。
删除 markdownify
或放置 strip_HTML
而不是display:{{ item.display }}
尝试
display:{{ display }}
应该完成这项工作! :)