Создать приложение. cache с Jekyll
У нас есть сайт, который строится локально с Jekyll и Jekyll-Assets (который использует звездочки).
Мы хотели бы иметь возможность генерировать манифест кэша, в котором есть все файлы, которые попадают в результирующий сайт. Мы хотели бы создать это как часть процесса сборки, чтобы весь сайт был доступен в автономном режиме. (Это очень маленький сайт, но мы против ручной работы!)
Изображения и css имеют хэш, добавленный к имени файла во время сборки, поэтому мы не можем предсказать результат.
Мы попытались использовать метод {% asset_path logo.png %}
и т.д., но он не обрабатывается. То есть он оставляет тег Liquid, как в конечном файле. ERB работает (<%= 2+3 %>
дает 5), но мы не можем видеть способ доступа к результирующим файлам.
Мы рассматриваем другую задачу, чтобы обернуть все это, но это кажется излишним.
Ответы
Ответ 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
---
[...]
-
Перебирать ваши коллекции, если вы их выводите.