Javascript 未使用Prism JS显示标记

Javascript 未使用Prism JS显示标记,javascript,html,css,Javascript,Html,Css,我正在尝试使用PrismJS作为我的blogspot博客的语法高亮显示。在遇到语法Highlighter的问题后,我想我应该试试prism 我的代码如下所示: <pre class="line-numbers language-markup"> <code> <b:if cond='data:blog.url == "http://domain.com/p/about.html"'> <style type

我正在尝试使用PrismJS作为我的blogspot博客的语法高亮显示。在遇到语法Highlighter的问题后,我想我应该试试prism

我的代码如下所示:

<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>
<script type="text/plain" class="language-markup">
   <p>Example</p>
</script>


字体大小:22px;
我在
标记之前包含了prismjs文件

CSS工作正常,我的Chrome控制台中没有错误,但是脚本没有显示任何标记

我有一个JSFIDLE,在我的站点上有完全相同的代码,而且它也没有显示行号,即使我的站点有

网站示例:

你知道这为什么不起作用吗?

这个
类=“language-*”
需要放在
元素上,而不是
元素上。一开始我也犯了这个错误

<pre>
    <code class="language-markup">
        <script type="prism-html-markup">
            <h1 class="foo">h1. Heading 1</h1>
            <h2>h2. Heading 2</h2>
            <h3>h3. Heading 3</h3>
            <h4>h4. Heading 4</h4>
            <h5>h5. Heading 5</h5>
            <h6>h6. Heading 6</h6>
        </script>
    </code>
</pre>
更新了正确的信息


看来JS小提琴不喜欢棱镜。在CodePen和我的机器上本地工作正常:。Prism使用正则表达式标识要高亮显示的部分。确保正确转义代码。开始标记(代码符号)应该写为代码,结束标记(代码符号)应该写为代码(代码符号),因为

对这个插件做了一些尝试,发现用>和<替换是一种痛苦。如果你用一个脚本标签包装你的html,所有的东西都会突出显示。因为非类型化脚本标记中的html在VisualStudio中不起作用,所以我给了它一种类型的prism html标记



h1。标题1
h2。标题2
h3。标题3
h4。标题4
h5。标题5
h6。标题6

希望这有帮助

在“代码”之间添加额外的“xmp”标记,并将html代码放入“xmp”标记中。 为我工作



试验
您可以使用

这就是它的工作原理:


范例


要忽略第一次和最后一次返回,我建议使用。

在示例中,它位于
标记中。不管怎样,我试过了,现在屏幕上的行号都没有显示出来。你说得对,我看错了文档。看来JS小提琴不喜欢棱镜。在CodePen和我的机器上本地工作正常:。Prism使用正则表达式标识要高亮显示的部分。确保正确转义代码。开始标记(代码符号)应写为代码,结束标记(代码符号)应写为代码。无论将语言类放在何处,它都是继承的。另外,您不需要逃避
,只要
谢谢。我在显示未替换的标记时遇到问题。官方网站上的文档并没有提到将脚本放入pre和代码中。他们在这里使用它时没有pre和代码,但我不知道他们是如何让它工作的:这应该是公认的答案。将
替换为
&rt
非常乏味,而且可能容易出错。我不建议使用这种技术,因为它自HTML3.2以来就被弃用了。看见