2012-01-07 25 views
6

Tworzę witrynę za pomocą jekyll.rb.
Mam stronę o nazwie about.html:Jekyll nie interpretuje przeceny

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

W about_content.markdown mam trochę obojętne przecen:

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

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

Hello! 

Z jakiegoś powodu, gdy strona jest renderowane, wynik jest następujący:

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

Nawet jeśli dodam przednią sprawę YAML do moich przecen zmian plik nic.

To mój _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 

Jak mogę dokonać Jekyll interpretować przecen?

Odpowiedz

14

Będziesz musiał przekazać je poprzez markdownify Filtr:

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

zachować kod Markdown wgniatany ale usunąć wcięcie przed markdownification, chciałbym napisać dedykowany plugin o nazwie na przykład _plugins/unindent.rb:

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

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

Dzięki, że to rozwiązanie działało, ale mam problem z tym, że posiadanie wcięcia przed '{% include about_content.markdown%}' spowoduje, że pierwsza linia znacznika będzie niepoprawna, umieszczając spacje przed nim. Czy można tego uniknąć bez konieczności poświęcania wcięcia? –

+0

Dobra uwaga, @GabrieleCirulli. Zaktualizowałem kod. – manatwork

+0

Należy zauważyć, że ta (i wszystkie wtyczki) NIE działają z GitHub Pages. Zajęło mi to trochę czasu i wydaje mi się, że nie ma dobrego rozwiązania, poza wyjściem z linii włączającej (wygląda dziwnie) lub przesuwaniem skompilowanych stron BEZ plików źródłowych (bezcelowe). [https://help.github.com/articles/pages-don-t-build-unable-to-run-jekyll](Reference) – user478798