2012-01-07 10 views
6

Estoy creando un sitio usando jekyll.rb.
He una página llamada about.html:Jekyll no interpreta el descuento

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

En about_content.markdown que tienen alguna rebaja dummy:

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

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

Hello! 

Por alguna razón, cuando se representa la página, el resultado es el siguiente:

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

Incluso si añado el asunto delante YAML a mis rebajas archivo no cambia nada.

Esta es mi _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 

¿Cómo puedo hacer Jekyll interpretan de rebajas?

Respuesta

14

Usted tendrá que pasar a través de la markdownify filtro:

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

Para mantener el código de rebajas sangría pero quitar la sangría antes markdownification, me gustaría escribir un plugin específico, llamado por ejemplo _plugins/unindent.rb:

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

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

Gracias, esa solución funcionó, pero estoy teniendo un problema cuando tener una sangría antes de '{% include about_content.markdown%}' hará que la primera línea de reducción no sea válida poniendo espacios antes. ¿Se puede evitar esto sin tener que sacrificar la sangría? –

+0

Buen punto, @GabrieleCirulli. Actualicé el código. – manatwork

+0

Debe tenerse en cuenta que este (y todos los complementos) NO funcionan con las páginas de GitHub. Me tomó un tiempo darme cuenta de eso y parece que no hay una buena solución que no sea la reducción de la línea de inclusión (se ve rara) o empujar páginas compiladas SIN archivos fuente (sin sentido). [https://help.github.com/articles/pages-don-t-build-unable-to-run-jekyll](Reference) – user478798

Cuestiones relacionadas