2017-02-02 2 views
1

Je souhaite désactiver complètement les blocs de code en retrait pour Kramdown tels qu'utilisés dans Jekyll. Je suis habitué à utiliser la méthode backtick. Et ma principale raison de la désactivation des blocs de code indenté est que j'utilise un peu juste de html dans un cadre typique post.md, j'ai fourni un exemple de ce ci-dessous:Comment désactiver les blocs de code indentés dans Kramdown pour une utilisation dans Jekyll

<div class="notice--danger" markdown="1"> 
    <details> 
    <summary> 
     <svg class="icon"><use xlink:href="#icon-youtube-square"></use></svg> 
    </summary> 
    <div markdown="1"> 
     <figure> 
     <iframe width="560" height="315" src="https://www.youtube.com/embed/VIDEO_ID?playsinline=1" frameborder="0"></iframe> 
     </figure> 
    </div> 
    </details> 
</div> 

Le problème est que avec des blocs de code indenté ont permis, cette se fait prendre comme un bloc de code. Il existe une solution de contournement existante, qui consiste à ne pas mettre en retrait le code ci-dessus, auquel cas cela s'affichera comme prévu. Mais je veux formater le code correctement pour un certain nombre de raisons (meilleure pratique, et principalement, afin que je puisse réduire le code dans un éditeur comme atome, vim, etc.)

Y at-il un moyen de le faire. J'ai trouvé deux autres messages, disant qu'il pourrait y avoir un moyen de couper la fonction de blocs de code indentés de kramdown et de le charger latéralement dans mon Jekyll. Mais ces messages disent simplement que c'est possible.

Je voudrais le faire si possible. En outre, voici les parties spécifiques kramdown de mon config.yml:

markdown     : kramdown 
kramdown: 
    toc_levels    : 1..3 
    input     : GFM 
    hard_wrap    : false 
    auto_ids    : true 
    entity_output   : as_char 
    smart_quotes   : lsquo,rsquo,ldquo,rdquo 
    enable_coderay   : false 

vous remercie.

Répondre

0

De l'auteur Kramdown:

blocs de code indenté font partie de la syntaxe Markdown, de sorte que le kramdown et parseurs GFM les utilisent. Si vous ne le souhaitez pas, le moyen le plus simple est de créer un analyseur personnalisé basé sur l'analyseur kramdown (ou GFM) et de supprimer la routine d'analyse de bloc de code en retrait. Jetez un oeil à https://github.com/gettalong/kramdown/blob/master/lib/kramdown/parser/markdown.rb pour voir comment créer un tel analyseur personnalisé.

Source: Ability to disable indented code blocks