2016-08-01 8 views
0

ich mit Hexo arbeite - ein NodeJS basierten statischen CMS Bloggen, ich die hexo API bin erstreckt, um einen neuen Block-Tag tabblock finden hier genannt zu registrieren:Erweiterung Markdown-Tags, ohne den Code Verarbeitung

hexo.extend.tag.register('tabblock', function (args, content) { 
    var tabNumber = NumberOfTabs(content); 
    var isTabbed = (tabNumber !== 0); 
    console.log("Args: " + content); 
    // Where my proper logic should go 
    result = '<h1> TAG </h1>'; 
    return result; 
    }, { ends: true }); 

Dies ist die Quelle Schnipsel ich interpretieren versuchen:

{% tabblock %} 
``` JavaScript 
    console.log("Double Tap"); 
``` 
``` TypeScript 
    console.log("Double Tap"); 
``` 
{% endtabblock %} 

jedoch die console.log von der Funktion, die diese Quelle wurde die Verarbeitung sollte, gibt dies:

Args: <!--0--> <!--1--> 

??? Ich gehe davon aus, dass der Code als Code und nicht als Inhalt interpretiert wird? Also, wenn ich die {% tabblock %} in {% raw %} Tags wickeln dann bekomme ich überhaupt keine Ausgabe, aber wenn ich die rohen Tags innerhalb der tabblock setzen, dann bekomme ich diese Ausgabe:

Args: {% raw 

Wie kann ich meine gewünschten Inhalt bekommen?

Antwort

1

\``` code ```\ wird von Hexo als Code-Block interpretiert, warum es eine unordentliche Sache ausgeben. Versuchen Sie mit nur 2 oder 1 Backstick, es funktioniert; wie dieser \`` code ``\

Ich habe einen Tabbed-CodeBlock-Tag für Hexo erstellt, sollten Sie schauen, wie ich es gemacht habe. Wie Sie sehen können, habe ich Code mit dem Hexo-Tag eingepackt und verwende diese Struktur, um Code-Blöcke zu trennen, um Konflikte mit dem Quellcode zu vermeiden.

<!-- tab [lang] --> 
    code 
<!-- endtab --> 
<!-- tab [lang] --> 
    code 
<!-- endtab --> 
+0

Nachricht mich auf Stack-Überlauf oder auf gitter Mann, wenn Sie detaillierte Erklärungen oder Hilfe benötigen, wird es leichter zu diskutieren sein :) –

Verwandte Themen