2012-05-02 25 views
7

Tôi muốn có mẫu "_layouts/template1.html" mở rộng (kiểu Django) một mẫu _layouts/default.html.Làm thế nào để xử lý mẫu (bố trí) thừa kế trong Jekyll?

Tôi đặt này như một vấn đề trước YAML trong _layouts/template1.html

--- 
layout: default 
--- 
{{page.content}} 

nhưng dường như nó không hoạt động theo cách tôi muốn nó hoạt động (tất cả các đánh dấu bổ sung mà là hiện diện trong template1.html nhưng KHÔNG ở trong default.html không hiển thị). Có vẻ như tệp sử dụng bố cục template1 hoàn toàn mở rộng default.html.

Có cách nào để có bố cục kế thừa trong Jekyll không?

Trả lời

4
+0

Dường như chức năng này được bao gồm trong Jekyll tại – Quantum7

+0

Nevermind, tôi hiểu lầm như thế nào django thừa kế công trình. Tuy nhiên, tôi nghĩ rằng câu trả lời của jdh8 @ với các mẫu jekyll bản địa có liên quan nhất đến câu hỏi này. – Quantum7

1

template1.html từ ví dụ của bạn sẽ mở rộng default.html chừng sau này có chứa một khối {{ content }}. Xem ví dụ here. Những gì nó sẽ không làm là nó sẽ không ghi đè bất cứ điều gì mà default.html đã chứa. Cho rằng bạn sẽ cần Gem Inheritance Liquid, như đã đề cập bởi @juddlyon.

+1

Liên kết đã chết – mateuszb

10

Ý bạn là chỉ đơn giản là {{ content }}.

Có, bố cục có thể là đường ống. Trong trường hợp của bạn, nếu trang sử dụng bố cục template1, đó là nội dung cho template1. Sau đó, kết quả của template1 là nội dung cho mặc định.

3

mẫu lỏng Jekyll của mở rộng khá dễ dàng, bạn chỉ cần phải chắc chắn rằng bạn đang mở rộng và không ghi đè mẫu của bạn mong muốn.

Bạn thực sự có thể muốn mở rộng trang chứ không phải mặc định.

Vì vậy, trong mẫu của bạn Mặt trận Matter:

--- 
layout:page 
--- 
Các vấn đề liên quan