Jekyll/Liquid - 如何将大块文本添加到 YAML 前端?
Posted
技术标签:
【中文标题】Jekyll/Liquid - 如何将大块文本添加到 YAML 前端?【英文标题】:Jekyll/Liquid - how to add large blocks of text to YAML front matter? 【发布时间】:2011-10-07 18:37:58 【问题描述】:我正在尝试在 Jekyll 中实现一个服务目录,其中 20 或 30 个页面中的每一个都将包含一个 7x2 表。左列将包含标签,例如概述、可用于等,而右栏将包含在一行和几段文本之间。我希望用 Liquid 变量来描述右列,例如概述,availableTo
我注意到 YAML 似乎对换行非常挑剔,因此我不得不在一行上输入这些段落和它们的标记,这可以持续几个屏幕宽度。这是一个问题,因为它很烦人,还因为我希望这些前端事项可由技术但非 webdev 用户编辑。有没有办法让前面的事情容忍休息?
或者,有没有一种方法可以用 content 部分填充此表,而不必每次都将表重新编码到其中?
【问题讨论】:
In YAML, how do I break a string over multiple lines?的可能重复 【参考方案1】:多行字符串的Yaml语法is this one:
body: |
This is a multi-line string.
"special" metacharacters may
appear here. The extent of this string is
indicated by indentation.
请注意,第一行必须是空格,后跟|
字符和新行。然后你必须将文本比其父级缩进一级。
因此,您可以通过这种方式创建一个项目:
item1:
overview: |
overview text
more overview text
available_to: 2012-01-01
foo: |
foo text
more foo text
在我看来,您还想按顺序排列物品。您可以为此使用 yaml 列表:
catalog:
- id: item 1
overview: |
overview text
more overview text
available_to: 2012-01-01
foo: |
foo text
more foo text
...
- id: item2
overview: <similar to above>
我希望这会有所帮助!
【讨论】:
谢谢,这也帮助我解决了如何在 YAML 前端添加引号字符的问题! FWIW,YAML 支持 very many 不同的多行字符串格式。在许多情况下,>
比 |
更好,因为它不会在每行的末尾插入换行符。
@Philll_t 您将在输出中添加markdownify filter: foo | mardownify
。我发现为了实现换行,还需要在frontmatter中添加额外的换行。 here 是如何工作的以上是关于Jekyll/Liquid - 如何将大块文本添加到 YAML 前端?的主要内容,如果未能解决你的问题,请参考以下文章
html 条形图Jekyll LIquid for JSON
在 Jekyll/Liquid 和 pygments 的 html 问题中突出显示
检查带有/ Jekyll Liquid 的页面上是不是存在带有/ class x 的 div