2015-05-05 14 views
11

Chúng tôi có một trang web được xây dựng cục bộ với Jekyll và Jekyll-Assets (sử dụng sprockets).tạo một app.cache với Jekyll

Chúng tôi muốn có thể tạo tệp kê khai bộ nhớ cache có tất cả các tệp đi vào trang web kết quả. Chúng tôi muốn tạo điều này như là một phần của quá trình xây dựng để toàn bộ trang web sẽ khả dụng khi ngoại tuyến. (Đó là một trang rất nhỏ, nhưng chúng tôi phản đối công việc thủ công!)

Hình ảnh và css có băm được nối vào tên tệp trong khi xây dựng để chúng tôi không thể dự đoán kết quả.

Chúng tôi đã thử sử dụng phương thức {% asset_path logo.png %}, v.v. nhưng không được xử lý. I E. nó để lại thẻ Liquid như trong tập tin cuối cùng. ERB hiện hoạt động (<%= 2+3 %> cho 5) nhưng chúng tôi không thể thấy cách truy cập tệp kết quả.

Chúng tôi đang xem xét một nhân vật nhiệm vụ khác để bọc toàn bộ điều, nhưng điều này cảm thấy như quá mức cần thiết.

+0

Bạn có thể đăng nội dung của trang bằng chất lỏng không hoạt động không? – bwest

Trả lời

7

jekyll-perf tạo tệp manifest.appcache. Dự án xuất hiện như thể nó có thể không hoạt động, nhưng họ đã làm như sau. Hy vọng rằng điều này là hữu ích như là một điểm khởi đầu. Bạn có thể cần điều chỉnh mọi thứ cho đường dẫn nội dung của bạn, v.v.

(Tôi không chắc chắn nếu các công cụ for trong này sẽ chăm sóc vấn đề băm nối của bạn hay không. Xin lỗi nếu điều này là chính xác những gì bạn đã thử và nó đã không làm việc cho bạn.)

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

Đừng quên:

  • vấn đề trước trống trong bạn manifest

    --- 
    # empty front matter 
    --- 
    [...] 
    
  • Để lặp lại các bộ sưu tập của bạn nếu bạn xuất chúng.

Các vấn đề liên quan