2013-05-07 10 views
24

पर एक अंश दिखाने के लिए जेकिल में मार्कडाइफ़ाई का उपयोग कैसे करूं, मैं इंडेक्स पेज पर लंबी पोस्ट या पेज से टेक्स्ट का संक्षिप्त अंश दिखाना चाहता हूं। मैं अग्र सामग्री में एक कस्टम चर का उपयोग और हड़पने कि करने के लिए जा रहा था, लेकिन फिर मैं .excerptमैं सूचकांक

मैं Jekyll docs में देखते हैं कि वहाँ कुछ कहा जाता {{ page.excerpt | markdownify }} मैं कैसे एक पृष्ठ या क्रम में पोस्ट पर markdown मार्कअप होता है के लिए फिल्टर देखा उस फिल्टर का उपयोग करने के लिए?

संपादित करें: या मार्कडाइफ़ाई पूरे .md दस्तावेज़ को लेता है?

उत्तर

14

पद markdown फ़ाइलें आप पहली बार अपने अंश निर्धारित करने की आवश्यकता में, यहाँ अपनी किसी एक पोस्ट से एक उदाहरण है

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. 

फिर सूचकांक पृष्ठ पर टैग

{{ post.excerpt }} 

यह चाहिए फोन फिर आउटपुट जो आपने मार्कडाउन फ़ाइल में लिखा है। अच्छा और सरल और मुझे जैकील क्यों पसंद है।

72

जैकिल के पास एक विकल्प excerpt_separator है, जो आपके लिए उपयुक्त है। पोस्ट

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

आप में: हालात इस तरह जाना:

_config.yml में

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

This appears in your `index.html` 

This appears, too. 

<!--more--> 

This doesn't appear. It is separated. 

नोट आप टाइप करना होगा वास्तव में <!--more-->, <!--More--> नहीं या <!-- more -->

में अपने 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 %} 

उत्पादन इस तरह है: की GitHub संस्करण प्रति-पोस्ट excerpt_separator ताकि आप संदर्भ जोड़ने के लिए समर्थन करता है

<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 यह बेहतर अनुकूल उत्तर है। इसे स्वीकार किया जाना चाहिए। – kleinfreund

+0

@ क्लेनफ्रुंड वास्तव में, मैंने पहले जवाब स्वीकार किए जाने के कई महीनों बाद प्रश्न का उत्तर दिया। –

+0

मुझे पता है कि। यही कारण है कि मैंने टिप्पणी की। यह बेहतर अनुकूल उत्तर है। – kleinfreund

1

रेफरी 84cfc1cef के रूप में जेमफाइल:

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

और निम्नलिखित YAML के साथ पोस्ट: म्यू, या संग्रह, Jekyll घबरा जब तरल पार्स करने को छोड़कर मारने के लिए

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

does not काम। मुझे नहीं पता कि यह क्यों है, जैसा कि आप सुझाव देते हैं, इसे काम करना चाहिए।

वहाँ एक विकल्प है:

post.content या मेरे मामले के रूप में है: blogX.content और कुछ पाठ फिल्टर है कि सामग्री आकार को सीमित के माध्यम से तोड़।

यानी: {{blog.content | स्ट्रिप_एचटीएमएल | truncatewords: 100}}