2013-05-07 27 views
24

Tôi đang tìm cách hiển thị một đoạn trích ngắn văn bản từ một bài đăng hoặc trang dài hơn trên trang chỉ mục. Tôi sẽ sử dụng một biến tùy chỉnh trong Mặt trận Matter và lấy đó, nhưng sau đó tôi thấy bộ lọc cho .excerptLàm cách nào để sử dụng markdownify trong Jekyll để hiển thị đoạn trích trên chỉ mục

Tôi nhìn thấy trong Jekyll docs có điều gì đó gọi là {{ page.excerpt | markdownify }} Làm thế nào tôi có thể đánh dấu các markdown trên một trang hoặc bài theo thứ tự sử dụng bộ lọc đó?

chỉnh sửa: Hoặc không markdownify lấy toàn bộ tài liệu .md?

Trả lời

14

Trong bài markdown file bạn cần phải đầu tiên thiết lập trích dẫn của bạn, đây là một ví dụ từ một trong những bài viết của tôi

layout: post 
title: A developers toolkit 
date: Friday 14 December, 2012 
excerpt: What text editor to use? Sass or plain old CSS? What on earth is Compass? Command line? I'm not touching that. Sound like you? Welcome, I was once like you and this is the guide I wish someone had given me. 

Sau đó, trên trang index gọi thẻ

{{ post.excerpt }} 

này nên sau đó xuất nội dung bạn đã viết trong tệp đánh dấu. Đẹp và đơn giản và tại sao tôi yêu Jekyll.

72

Jekyll có tùy chọn excerpt_separator, phù hợp với bạn. Mọi thứ đi như thế này:

Trong _config.yml:

excerpt_separator: <!--more--> # you can specify your own separator, of course. 

Trong bạn đăng bài:

--- 
layout: post 
title: Foo 
--- 

This appears in your `index.html` 

This appears, too. 

<!--more--> 

This doesn't appear. It is separated. 

Lưu ý bạn phải gõ chính xác <!--more-->, không <!--More--> hoặc <!-- more -->.

Trong bạn index.html:

<!-- Loop in you posts --> 
{% for post in site.posts %} 
    <!-- Here's the header --> 
    <header> 
    <h2 class="title"><a href="{{ post.url }}">{{ post.title }}</a></h2> 
    </header> 

    <!-- Your post's summary goes here --> 
    <article>{{ post.excerpt }}</article> 
{% endfor %} 

Đầu ra là như thế này:

<header> 
    <h2 class="title"><a href="Your post URL">Foo</a></h2> 
</header> 

<article> 

This appears in your `index.html` 

This appears, too. 

</article> 
+0

@kaplan Đây là câu trả lời phù hợp hơn. Nó phải được chấp nhận. – kleinfreund

+0

@kleinfreund Thực tế, tôi đã trả lời câu hỏi vài tháng sau khi câu trả lời đầu tiên được chấp nhận. –

+0

Tôi biết điều đó. Đó là lý do tại sao tôi nhận xét. Đó là câu trả lời phù hợp hơn. – kleinfreund

1

Tính đến ref 84cfc1cef phiên bản github của hỗ trợ cho mỗi bài excerpt_separator vì vậy bạn phải thêm tài liệu tham khảo đến Gemfile:

gem 'jekyll', github: 'jekyll/jekyll', ref: '84cfc1ceff0474fd3eb3beb193ae59ae43694863' 

và tạo ra một bài với YAML sau:

--- 
title: Post Excerpt Separator 
excerpt_separator: "\n---\n" 
--- 
2

doesnt làm việc cho mu, hay các bộ sưu tập, hoảng loạn Jekyll khi nhấn trừ phân tích chất lỏng. Tôi không biết tại sao điều này là, nó sẽ làm việc như bạn đề nghị.

có một sự thay thế:

post.content hoặc như trường hợp của tôi là: blogX.content và đập vỡ nó thông qua một số bộ lọc văn bản giới hạn kích thước nội dung.

tức là: {{blog.content | strip_html | truncatewords: 100}}

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