2012-01-07 16 views
6

की व्याख्या नहीं कर रहा है मैं jekyll.rb का उपयोग कर एक साइट बना रहा हूं।
मैं एक पेज about.html कहा जाता है:जेकिल मार्कडाउन

<div class="grid_10 page"> 
    {% include about_content.markdown %} 
</div> 

about_content.markdown में मैं कुछ डमी markdown है:

A First Level Header 
==================== 

A Second Level Header 
--------------------- 

Hello! 

किसी कारण, जब पेज प्रदान की गई है के लिए, परिणाम यह है:

result http://gabrielecirulli.com/p/20120107-203135.png

यहां तक ​​कि अगर मैं अपने markdown फ़ाइल कुछ भी नहीं परिवर्तन करने के लिए YAML सामने बात जोड़ें।

यह मेरा _config.yml

safe:  false 
auto:  false 
server:  false 
server_port: 4000 
baseurl: /

source:  . 
destination: ./_site 
plugins:  ./_plugins 

future:  true 
lsi:   false 
pygments: false 
markdown: maruku 
permalink: date 

maruku: 
    use_tex: false 
    use_divs: false 
    png_engine: blahtex 
    png_dir: images/latex 
    png_url: /images/latex 

rdiscount: 
    extensions: [] 

kramdown: 
    auto_ids: true, 
    footnote_nr: 1 
    entity_output: as_char 
    toc_levels: 1..6 
    use_coderay: false 

    coderay: 
    coderay_wrap: div 
    coderay_line_numbers: inline 
    coderay_line_numbers_start: 1 
    coderay_tab_width: 4 
    coderay_bold_every: 10 
    coderay_css: style 

मैं कैसे Jekyll markdown व्याख्या कर सकते हैं?

उत्तर

14

आप markdownify फिल्टर के माध्यम से इसे पारित करना होगा:

:

<div class="grid_10 page"> 
    {% capture about_content %} 
    {% include about_content.markdown %} 
    {% endcapture %} 
    {{ about_content | unindent | markdownify }} 
</div> 

इंडेंट Markdown कोड रखना लेकिन markdownification से पहले खरोज निकालने के लिए, मैं एक समर्पित प्लगइन, उदाहरण के _plugins/unindent.rb के लिए बुलाया लिखते थे

module Jekyll 
    module UnindentFilter 
    def unindent input 
     input.lstrip 
    end 
    end 
end 

Liquid::Template.register_filter Jekyll::UnindentFilter 
+0

धन्यवाद, यह समाधान काम करता है लेकिन मुझे समस्या है जहां '{%% के बारे में_content.markdown%}' से पहले इंडेंटेशन होने से पहले रिक्त स्थान डालने से पहले मार्कडाउन की पहली पंक्ति अमान्य हो जाएगी। क्या इंडेंटेशन बलिदान के बिना इसे टाला जा सकता है? –

+0

अच्छा बिंदु, @ गैब्रिएल कैरुली। मैंने कोड अपडेट किया। – manatwork

+0

यह ध्यान दिया जाना चाहिए कि यह (और सभी प्लगइन्स) गिटहब पेजों के साथ काम नहीं करते हैं। मुझे यह समझने में थोड़ी देर लग गई और ऐसा लगता है कि शामिल लाइन (अजीब लग रहा है) या स्रोत फ़ाइलों (व्यर्थ) के बिना संकलित पृष्ठों को धक्का देने के अलावा कोई अच्छा समाधान नहीं है। [Https://help.github.com/articles/pages-don-t-build-unable-to-run-jekyll](Reference) – user478798

संबंधित मुद्दे