我试图使用PrismJS作为我的blogspot博客的语法高亮。在使用Syntax Highlighter遇到麻烦后,我想我会给予一试棱镜。
我的代码看起来像这样:
<pre class="line-numbers language-markup">
<code>
<b:if cond='data:blog.url == "http://domain.com/p/about.html"'>
<style type="text/css">
font-size: 22px;
</style>
</b:if>
</code>
</pre>
我在</head>
标记之前包含了prismjs文件。
CSS工作,在我的Chrome控制台中没有错误,但脚本没有显示任何标记。
我在我的网站上有一个jsFiddle,代码完全相同,它也不显示行号,即使我的网站有。http://jsfiddle.net/fyqnz/
站点示例:http://www.xarpixels.com/2013/05/bloggers-conditional-statements-legacy.html
知道为什么这不管用吗
6条答案
按热度按时间pxy2qtax1#
用这个插件做了一点小游戏,发现< and >用>和<替换是一种痛苦。如果你用脚本标签 Package 你的html,所有的东西都会突出显示。由于非类型化脚本标记中的html在Visual Studio中并不好用,所以我给它提供了一种prism-html-markup类型。
希望这有帮助!
b0zn9rqh2#
class="language-*"
需要放在<code>
元素上,而不是<pre>
元素上。一开始我也犯了这个错误。更新正确信息
似乎JS Fiddle不喜欢Prism。在CodePen和本地机器上运行良好:http://codepen.io/anon/pen/xmwji。Prism使用Regex来标识要突出显示的部分。确保正确转义代码。开头标记(
<
符号)应写成<
,结尾标记(>
符号)应为>
。qlvxas9a3#
我发现Prism只有在单独导入每种语言时才有效:
y1aodyip4#
您可以使用unescaped-markup plugin
它是这样工作的:
要忽略第一次和最后一次返回,我建议使用normalize whitespace plugin。
kh212irz5#
在“code”之间添加额外的“xmp”标签,并将HTML代码放在“xmp”标签中。对我很有效
e5njpo686#
我的盖茨比模板有一个名为. babelrc的文件。当我将语言添加到. babblerc时,所有内容都加载了。