Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将源代码片段添加到Jekyll中的_datayaml中?_Jekyll_Liquid - Fatal编程技术网

如何将源代码片段添加到Jekyll中的_datayaml中?

如何将源代码片段添加到Jekyll中的_datayaml中?,jekyll,liquid,Jekyll,Liquid,我正在尝试创建代码片段作为我在Jekyll中创建的项目网站的示例 我有这样的yaml: - description:“创建关联列表的宏,使用宏展开。” 代码:> (定义语法) (语法规则() ((_) ()) (ux y z…) (反对党(反对党x y)(反对党z…))) (印刷字体(列表“foo”10“bar”20“baz”30)) ;; ==> ((第10章)(第20条)(第30条)) (宏扩展(列表“foo”10“bar”20)) ;; ==> (#:cons(#:cons“foo”10)

我正在尝试创建代码片段作为我在Jekyll中创建的项目网站的示例

我有这样的yaml:

-
description:“创建关联列表的宏,使用宏展开。”
代码:>
(定义语法)
(语法规则()
((_) ())
(ux y z…)
(反对党(反对党x y)(反对党z…)))
(印刷字体(列表“foo”10“bar”20“baz”30))
;; ==> ((第10章)(第20条)(第30条))
(宏扩展(列表“foo”10“bar”20))
;; ==> (#:cons(#:cons“foo”10)
(#:cons(#:cons“bar”20)
()))
问题是,与第一行缩进完全相同的行被连接成一行。我希望这是完全一样的yaml在我的前标签。如果我将每一行缩进一个空格,当我添加代码段时,我会在pre-tag中获得额外的空格

有没有办法让它完全插入我在yaml文件中的代码?如何在yaml中正确缩进,使每一行前不留空格,并使每一行在输出html的自己的行中

我试图在字符串周围添加引号,但它们出现在输出中,我无法在Liquid中删除它们

我试过这个:

  {% for example in site.data.examples %}
  {% assign code = example.code | split: '^"|"$' %}
  <li>
    <div class="example">
      <pre>{{ code[1] }}</pre>
    </div>
    <div class="description">
      {{ example.description }}
    </div>
  </li>
  {% endfor %}
但它只打印第一个括号。 编辑:

我已经解决了删除引号的问题,但那个是一条死胡同,我仍然在每一行前面有空格

这是一种从Jekyll中的字符串中删除引号的方法:

  {% for example in site.data.examples %}
  <li>
    <div class="example">
      <pre>{{ example.code }}</pre>
    </div>
    <div class="description">
      {{ example.description }}
    </div>
  </li>
  {% endfor %}


这似乎比我想象的要简单。所有需要的是Yaml中的块(参考:)

-
description:“创建关联列表的宏,使用宏展开。”
代码:|
(定义语法)
(语法规则()
((_) ())
(ux y z…)
(反对党(反对党x y)(反对党z…)))
(印刷字体(列表“foo”10“bar”20“baz”30))
;; ==> ((第10章)(第20条)(第30条))
(宏扩展(列表“foo”10“bar”20))
;; ==> (#:cons(#:cons“foo”10)
(#:cons(#:cons“bar”20)
()))
您可以使用正态变量:

  {% for example in site.data.examples %}
  {% assign code = example.code | remove_first: '"' | rstrip | append: "__" | remove: '"__'  | newline_to_br | split: "<br />" %}
  <li>
    <div class="example">
      <pre>{% for line in code %}{{ line | remove_first: " " }}{% endfor %}</pre>
    </div>
    <div class="description">
      {{ example.description }}
    </div>
  </li>
  {% endfor %}

  {% for example in site.data.examples %}
  <li>
    <div class="example">
      <pre>{{ example.code }}</pre>
    </div>
    <div class="description">
      {{ example.description }}
    </div>
  </li>
  {% endfor %}

  {% for example in site.data.examples %}
  {% assign code = example.code | remove_first: '"' | rstrip | append: "__" | remove: '"__'  | newline_to_br | split: "<br />" %}
  <li>
    <div class="example">
      <pre>{% for line in code %}{{ line | remove_first: " " }}{% endfor %}</pre>
    </div>
    <div class="description">
      {{ example.description }}
    </div>
  </li>
  {% endfor %}