【问题标题】:generate an app.cache with Jekyll使用 Jekyll 生成 app.cache
【发布时间】:2015-07-14 21:14:44
【问题描述】:

我们有一个使用 Jekyll 和 Jekyll-Assets(使用 sprockets)在本地构建的网站。

我们希望能够生成一个缓存清单,其中包含进入结果站点的所有文件。我们希望将其作为构建过程的一部分生成,以便整个站点可以离线使用。 (这是一个很小的网站,但我们反对手工工作!)

在构建过程中,图像和 css 的文件名附加了一个哈希,因此我们无法预测结果。

我们已尝试使用{% asset_path logo.png %} 等方法,但未得到处理。 IE。它将 Liquid 标签保留在最终文件中。 ERB 确实工作(<%= 2+3 %> 给出 5)但我们看不到访问结果文件的方法。

我们正在考虑另一个任务运行器来包装整个事情,但这感觉有点过头了。

【问题讨论】:

  • 你能用失效的液体发布你的页面内容吗?

标签: html jekyll sprockets cache-manifest


【解决方案1】:

jekyll-perf 构建一个manifest.appcache 文件。该项目看起来好像它可能处于休眠状态,但他们是按如下方式进行的。希望这是有用的起点。当然,您可能需要针对资产路径等进行调整。

(我不确定这里的for 内容是否会解决您附加的哈希问题。抱歉,如果这正是您已经尝试过的并且对您没有用。)

---
---
CACHE MANIFEST

# rev {{ site.buildtime }}

CACHE:
{% asset_path all.css %}
{% for page in site.pages %}{% if page.url != '/manifest.appcache' %}{{ page.url }}{% endif %}
{% endfor %}
{% for item in site.images %}{{ item.url }}
{% endfor %}
{% for item in site.scripts %}{{ item.url }}
{% endfor %}

NETWORK:
*
http://*
https://*

【讨论】:

    【解决方案2】:

    别忘了:

    • 你的清单中的空头问题

      ---
      # empty front matter
      ---
      [...]
      
    • 在您输出时循环您的集合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-09
      • 1970-01-01
      • 2013-02-09
      • 2015-08-17
      • 2014-09-21
      • 1970-01-01
      • 1970-01-01
      • 2015-09-20
      相关资源
      最近更新 更多