2016-08-01 42 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

消息我在堆栈溢出或小胶质男人,如果你需要详细的解释或帮助,它会更容易商量:) –