2013-10-15 17 views
30

Tôi đang tạo blog mới bằng cách sử dụng Jekyll.Làm thế nào tôi có thể nhận được một đoạn trích trong Jekyll?

Trên trang chính, sẽ có danh sách 10 bài đăng gần đây nhất của tôi.

Các mục nhập trong danh sách này sẽ bao gồm tiêu đề, ngày đăng và một đoạn trích , rất có thể là đoạn đầu tiên.

Tôi chỉ quen thuộc với việc sử dụng Jekyll cho các mẫu cơ bản, vì vậy tôi chỉ có thể đặt một biến trong trang hoặc bao gồm toàn bộ bài đăng.

Có một cách nào đó tránh sử dụng post.content trong paginator, và chỉ bao gồm lên đến một điểm nhất định trong bài viết, mà tôi xác định (ví dụ như '' {% endexcerpt%} `?

+0

Cũng thấy [câu trả lời này] (http://stackoverflow.com/a/18007879/1005481). –

Trả lời

42

Chắc chắn, bạn . có thể sử dụng {{ post.excerpt }} ở vị trí của {{ post.content }}

bạn cũng có thể tự ghi đè lên những đoạn trích tự động tạo ra nếu bạn không thích chúng

tài liệu hướng dẫn đầy đủ về cách làm việc này ở đây:. http://jekyllrb.com/docs/posts/#post-excerpts

+2

Hãy nhớ sử dụng '' trong bài đăng thực tế để báo cho Jekyll biết cần phải 'cắt' bài đăng cho nội dung trích đoạn hoặc đặt excerpt_separator trên toàn cầu trong '_config.yml' của bạn. – hyip

+0

Bạn là người giỏi nhất! Điều này hoàn toàn làm việc cho tôi. – Maximus

66

Một cái gì đó như {{ post.content | strip_html | truncatewords: 50 }} tạo ra một đoạn trích phù hợp hơn. Nó nhận được 50 từ đầu tiên và loại bỏ mọi định dạng.

+0

Đồng ý. Thế này tốt hơn. Tôi đã từng sử dụng trích đoạn và nó sẽ cung cấp cho tất cả các loại quirks về nơi nó phá vỡ (dường như chỉ trên đoạn đầu tiên). – adrianmc

+0

Bạn sẽ xử lý các liên kết như thế nào? Ví dụ: nếu bạn có nội dung như thế này "Đây là bài đăng. Và [liên kết] (www.link.com)", thì đoạn trích bạn đăng sẽ hiển thị toàn bộ văn bản thô thay vì thông minh và chỉ hiển thị liên kết dưới dạng văn bản. –

+1

Có câu trả lời, hãy sử dụng {{post.content | markdownify | strip_html | truncatewords: 50}} –

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