杰基尔:运行 杰基尔是 docker

Jekyll: Running jekyll on docker

我正在 运行使用 jekyll 创建博客。我尝试在 docker 上使用 jekyll,但出现以下错误:

Error: A Liquid tag in the excerpt of _posts/2019-05-21-jekyll-caching.md couldn't be parsed.
Error: could not read file /srv/jekyll/_posts/2019-05-21-jekyll-caching.md: undefined method `ancestors' for nil:NilClass

在错误文件中,我写了一个小技巧来制作液体语句html。以下为博文内容:

(...) liquid 是 Shopify 在 html 之上以 {{" {% include head.html "}}%} 格式编写的模板语言。

使用{{"{% include head.html"}}%}貌似出错了,但是直到jekyll在docker上运行才出现这个错误。我在google上搜索,找不到错误原因,问了Whosebug。请注意,虽然出现错误,但服务器 运行 没问题。

如果您需要了解更多信息才能回答,请告诉我。

解决起来出奇的简单。上面的液体门被包裹起来如下图:

{% raw %}
  {% include head.html %}
{% endraw %}

当然,你可以像这样包裹几个液体块:

{% raw %}
  {% if %}
    {% include head.html %}
  {% endif %}
{% endraw %}