2017-02-02 3 views
1

Ich möchte vollständig eingerückte Codeblöcke für Kramdown wie in Jekyll verwendet deaktivieren. Ich bin es gewohnt, die Backtick-Methode zu verwenden. Und mein Hauptgrund für die eingekerbten Codeblöcke zu deaktivieren ist, dass ich ein gutes Stück von HTML in einem typischen post.md verwenden, ich habe ein Beispiel, dass hier angegeben werden:So deaktivieren Sie eingerückte Codeblöcke in Kramdown für die Verwendung in 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> 

Das Problem ist, dass mit eingekerbten Codeblöcke aktiviert ist, diese wird als Codeblock gefangen. Es gibt eine vorhandene Problemumgehung, bei der nur der obige Code nicht eingerückt werden soll. In diesem Fall wird dies wie erwartet dargestellt. Aber ich möchte den Code aus einer Reihe von Gründen richtig formatieren (Best Practice, und vor allem, so kann ich den Code in einem Editor wie Atom, Vim, etc. reduzieren)

Gibt es eine Möglichkeit, dies zu tun. Ich habe zwei andere Posts gefunden, die sagen, dass es eine Möglichkeit gibt, die eingedrückten Codeblöcke von kramdown auszuschneiden und sie in mein Jekyll zu laden. Aber diese Beiträge sagen nur, dass es möglich ist.

Ich möchte dies tun, wenn möglich. Auch hier ist die kramdown bestimmte Teile von meinem 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 

Danke.

Antwort

0

Von Kramdown des Autors:

Indented Codeblöcke sind Teil der Markdown-Syntax, so dass die kramdown und GFM Parsern sie verwenden. Wenn Sie sie nicht wollen, wäre der einfachste Weg Weg, um einen benutzerdefinierten Parser basierend auf dem Kramdown (oder GFM) Parser zu erstellen und entfernen Sie die eingerückte Code-Block-Parsing-Routine. Werfen Sie einen Blick auf um https://github.com/gettalong/kramdown/blob/master/lib/kramdown/parser/markdown.rb , um zu sehen, wie Sie einen solchen benutzerdefinierten Parser erstellen.

Quelle: Ability to disable indented code blocks

Verwandte Themen