使用Jekyll生成一个app.cache

11
我们有一个使用Jekyll和Jekyll-Assets(使用sprockets)本地构建的网站。
我们希望能够生成一个包含所有生成网站所需的文件的缓存清单。 我们希望将其作为构建过程的一部分生成,以便整个网站可以离线使用。(虽然这是一个非常小的网站,但我们反对手动工作!)
由于在构建期间图像和CSS文件名后附加了哈希值,因此我们无法预测结果。
我们尝试使用 `{% asset_path logo.png %}` 等方法,但它没有被处理。即它会在最终文件中保留Liquid标签。 ERB确实可行(`<%= 2+3 %>`得到5),但我们看不到访问生成文件的方法。
我们正在考虑使用另一个任务运行程序来包装整个内容,但这感觉过于复杂。

你能发布一下那个有问题的Liquid页面的内容吗? - bwest
2个回答

7

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://*

3
不要忘记:
  • The empty front matter in your manifest

    ---
    # empty front matter
    ---
    [...]
    
  • To loop over your collections if your outputting them.


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接