如何在Liquid / Jekyll中将包含引号的字符串作为“ include”参数传递?

时间:2019-03-21 16:30:17

标签: yaml jekyll liquid

考虑:我想在include标记中传递文本块作为参数。文本块中包含引号。例如:

Breaking news:

Area man says, "This is newsworthy!"

我可以想到几种方法:

1。用单引号引起来

{%
    include newsitem.html
    content='Breaking news:

Area man says, "This is newsworthy!"'
%}

这不理想,因为文本块中可能有单引号/撇号。

2。使用captures

{% capture newscontent %}
Breaking news:

Area man says, "This is newsworthy!"
{% endcapture %}
{%
    include newsitem.html
    content=newscontent
%}

这不理想,因为它很冗长。

3。转义引号

{%
    include newsitem.html
    content="Breaking news:

Area man says, \"This is newsworthy!\""
%}

这不是理想的,因为如果引号很多,则它们都需要反斜杠,这会增加累赘。

4。使用capturesinclude

{% capture content %}{% include_relative newscontent.md %}{% endcapture %}
{%
    include newsitem.html
    content=content
%}

这不是很理想,因为它也很冗长。

5。使用前题和/或YAML

---
newscontent: |
  Breaking news:

  Area man says, "This is newsworthy!"
---

{%
    include newsitem.html
    content=page.newscontent
%}

这不理想,因为它以怪异的方式散布页面内容。


现在,我绝对承认这些都是微不足道的抱怨。但是主要是为了更好地了解Jekyll / liquid,我想知道是否还有另一种方法将包含引号的多行参数传递给include GREAT 是什么,如果我可以使用背景字符或文本内容中不太常见的其他字符:

{%
    include newsitem.html
    content=`Breaking news:

Area man says, "This is newsworthy!"`
%}

不幸的是,这似乎不受支持。你怎么看?谢谢!

0 个答案:

没有答案