2016-08-01 41 views
0

我與HEXO工作 - 一個基於的NodeJS靜態博客CMS,我延長HEXO API來註冊名爲tabblock一個新塊標籤,在這裏看到:擴展降價標籤不處理代碼

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 }); 

這是源代碼片段,我試圖解釋:

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

然而,從功能應該可以同時處理源的console.log,輸出這樣的:

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

???我假設這是因爲代碼被解釋爲代碼而不是內容?所以,如果我換了{% tabblock %}{% raw %}標籤然後我得到任何輸出,但是,如果我把原標籤tabblock裏面,然後我得到這樣的輸出:

Args: {% raw 

我怎樣才能得到我想要的內容?

回答

1

\``` code ```\被Hexo解釋爲代碼塊,這就是爲什麼它輸出一個混亂的東西。嘗試只有2或1個後槓,它會起作用;像這樣\`` code ``\

我爲Hexo創建了一個tabbed-codeblock標籤,你應該看看我是如何做到的。正如你所看到的,我用hexo標籤封裝了代碼,我使用這種結構來分隔代碼塊以避免與源代碼發生衝突。

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

消息我在堆棧溢出或小膠質男人,如果你需要詳細的解釋或幫助,它會更容易商量:) –