附加到Jekyll包含的全局变量

时间:2015-05-26 21:40:07

标签: jekyll

我的Jekyll项目有一些需要特定脚本的包含文件。我希望能够让他们处理这些脚本而不是在模板或帖子级别中进行处理。

我有一个全局页脚包含,它将usemin块中的所有脚本添加到最终被缩小为单个文件

<!-- build:js(app) scripts{{page.id}}.js -->
  {% for script in page.scripts %}
    <script src="scripts/{{script}}.js"></script>
  {% endfor %}
<!-- endbuild -->

该帖子可能包含也可能不包含“脚本”。变量的YAML声明。我遇到的问题是从我的包含文件中追加一个数组。

{% assign page.scripts = page.scripts | append: ["new-script"] %}

我不确定我是否使用正确的方法,因为我不认为YAML声明的变量可以被修改。

1 个答案:

答案 0 :(得分:1)

首先复制page.scripts(如果存在)

{% if page.scripts %}
  {% assign pageScripts = page.scripts %}
{% endif %}

然后您可以追加

{% assign pageScripts = pageScripts | push: "new-script" %}

prepend 到您的数组

{% assign pageScripts = pageScripts | unshift: "new-script" %}