YFM 变量中的代码 snippets/blocks
Code snippets/blocks within YFM variables
我正在尝试从 Litmus 中获取代码片段以用于我的 Assemble.io 项目(HTML 电子邮件)。典型的代码块如下所示:
<style>@media print{ #_t { background-image: url('https://0me4e2bg.emltrk.com/0me4e2bg?p&d=%%Email%%');}} div.OutlookMessageHeader {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')} table.moz-email-headers-table {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')} blockquote #_t {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')} #MailContainerBody #_t {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')}</style><div id="_t"></div>
<img src="https://0me4e2bg.emltrk.com/0me4e2bg?d=%%Email%%" width="1" height="1" border="0" />
理想情况下,我很乐意将这整个东西粘贴到一个 YFM 变量中,但我尝试过但没有成功。我相信解析器会卡在 #、引号、花括号或以上的任何组合上。我试过将代码块包装在 ''、""、`` 和 ``` 中,其中 none 有效。现在我已经获取了该块的可变部分(在本例中为 0me4e2bg)并在我的 YFM 中使用了它,它工作得很好但我确定使用 CSS 和 HTML blocks/snippets在YFM发生在其他人身上,我很好奇是否有解决方案?只是我没有正确地逃避它吗?谢谢!
编辑:尝试 Anthon 建议的答案后,出现以下错误
can not read an implicit mapping pair; a colon is missed
这好像是由@media 中的@触发的?
YAML 中的标量不需要引号,除非它有特殊字符,在您的情况下需要。带引号的标量可以使用需要重复现有单引号的单引号,或者可以使用反斜杠转义的双引号。
如果你想要你的字符串,使用文字块引用是最好的方法,唯一有问题的是开始空格和行尾空白(即在换行符之前)。您应该能够将您的代码块分配给变量 code
,如下所示:
---
title: YAML Front Matter
description: A very simple way to add structured data to a page.
code: |
<style>@media print{ #_t { background-image: url('https://0me4e2bg.emltrk.com/0me4e2bg?p&d=%%Email%%');}} div.OutlookMessageHeader {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')} table.moz-email-headers-table {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')} blockquote #_t {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')} #MailContainerBody #_t {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')}</style><div id="_t"></div>
<img src="https://0me4e2bg.emltrk.com/0me4e2bg?d=%%Email%%" width="1" height="1" border="0" />
---
<h1> {{ title }} </h1>
您必须确保 code
下的缩进是一致的,这通常比解析字符串以转义字符更容易。
你可以,例如check online 第一部分是有效的 YAML。
我正在尝试从 Litmus 中获取代码片段以用于我的 Assemble.io 项目(HTML 电子邮件)。典型的代码块如下所示:
<style>@media print{ #_t { background-image: url('https://0me4e2bg.emltrk.com/0me4e2bg?p&d=%%Email%%');}} div.OutlookMessageHeader {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')} table.moz-email-headers-table {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')} blockquote #_t {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')} #MailContainerBody #_t {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')}</style><div id="_t"></div>
<img src="https://0me4e2bg.emltrk.com/0me4e2bg?d=%%Email%%" width="1" height="1" border="0" />
理想情况下,我很乐意将这整个东西粘贴到一个 YFM 变量中,但我尝试过但没有成功。我相信解析器会卡在 #、引号、花括号或以上的任何组合上。我试过将代码块包装在 ''、""、`` 和 ``` 中,其中 none 有效。现在我已经获取了该块的可变部分(在本例中为 0me4e2bg)并在我的 YFM 中使用了它,它工作得很好但我确定使用 CSS 和 HTML blocks/snippets在YFM发生在其他人身上,我很好奇是否有解决方案?只是我没有正确地逃避它吗?谢谢!
编辑:尝试 Anthon 建议的答案后,出现以下错误
can not read an implicit mapping pair; a colon is missed
这好像是由@media 中的@触发的?
YAML 中的标量不需要引号,除非它有特殊字符,在您的情况下需要。带引号的标量可以使用需要重复现有单引号的单引号,或者可以使用反斜杠转义的双引号。
如果你想要你的字符串,使用文字块引用是最好的方法,唯一有问题的是开始空格和行尾空白(即在换行符之前)。您应该能够将您的代码块分配给变量 code
,如下所示:
---
title: YAML Front Matter
description: A very simple way to add structured data to a page.
code: |
<style>@media print{ #_t { background-image: url('https://0me4e2bg.emltrk.com/0me4e2bg?p&d=%%Email%%');}} div.OutlookMessageHeader {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')} table.moz-email-headers-table {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')} blockquote #_t {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')} #MailContainerBody #_t {background-image:url('https://0me4e2bg.emltrk.com/0me4e2bg?f&d=%%Email%%')}</style><div id="_t"></div>
<img src="https://0me4e2bg.emltrk.com/0me4e2bg?d=%%Email%%" width="1" height="1" border="0" />
---
<h1> {{ title }} </h1>
您必须确保 code
下的缩进是一致的,这通常比解析字符串以转义字符更容易。
你可以,例如check online 第一部分是有效的 YAML。