2015-05-05 13 views
11

Mamy stronę, która buduje lokalnie z Jekyll i Jekyll-Assets (który używa zębatek).wygenerować app.cache z Jekyll

Chcielibyśmy móc wygenerować manifest pamięci podręcznej zawierający wszystkie pliki, które trafiają do powstałej witryny. Chcielibyśmy wygenerować to jako część procesu kompilacji, aby cała witryna była dostępna w trybie offline. (To bardzo mała strona, ale jesteśmy przeciwni pracy ręcznej!)

Obrazy i css mają skrót dodany do nazwy pliku podczas kompilacji, więc nie możemy przewidzieć wyniku.

Próbowaliśmy użyć metody {% asset_path logo.png %} itd., Ale nie jest ona przetwarzana. To znaczy. pozostawia tag Liquid tak, jak w ostatecznym pliku. ERB ma pracy (<%= 2+3 %> daje 5), ale nie widzimy sposobu dostępu do wynikowych plików.

Rozważamy kolejny biegacz zadań, aby owinąć całość, ale to wydaje się przesadą.

+0

Czy możesz opublikować zawartość strony z płynem, który nie działa? – bwest

Odpowiedz

7

jekyll-perf tworzy plik manifest.appcache. Projekt wydaje się być uśpiony, ale robili to w następujący sposób. Mam nadzieję, że jest to przydatne jako punkt wyjścia. Być może będziesz musiał dostosować rzeczy do swoich ścieżek aktywów itp., Naturalnie.

(nie jestem pewien, czy for rzeczy w ten zadba o swoim numerze załączonych hash czy nie. Przepraszam, czy to jest dokładnie to, co już próbowałem i nie działa dla Ciebie.)

--- 
--- 
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

nie zapomnij:

  • pusty przedni materii w swoim manifeście

    --- 
    # empty front matter 
    --- 
    [...] 
    
  • Zapętlić swoje zbiory, jeśli je wyprowadzasz.