【问题标题】:Syntax Highlighter: can't find brush for XML语法荧光笔:找不到 XML 的画笔
【发布时间】:2014-12-02 20:42:15
【问题描述】:
我已经使用SyntaxHighlighter 一段时间了,没有任何问题。
但是,我最近重新设计了我的博客,现在当一个页面加载时 - 一个使用 XML 画笔的页面 - 我得到一个弹出窗口说
找不到画笔:xml
我已经检查并再次检查,我绝对确定 shBrushXML.js 文件 包含在下载的 JavaScript 包中(我可以在缩小的 JS 中看到 SyntaxHighlighter.brushes.Xml )。
我还在同一页面上使用其他语法进行了测试,它们没问题;这只是 XML 画笔。
有没有人知道为什么 XML 画笔会导致这个问题?
【问题讨论】:
标签:
syntax-highlighting
syntaxhighlighter
【解决方案1】:
这是由另一个画笔脚本中的一个小错误引起的(即另一个 SyntaxHighlighter 画笔)。
我还引用了来自 here 的第三方 Razor 语法刷。这个脚本有一行
SyntaxHighlighter.brushes.Xml = Brush;
显然应该是这样的
SyntaxHighlighter.brushes.Razor = Brush;
这大概是作者复制了XML画笔的内容,然后针对Razor进行了修改造成的。 XML 画笔独立工作,Razor 画笔独立工作。当 XML 画笔在 Razor 画笔之后被引用时,XML 画笔也可以工作,而当它在 XML 画笔之后被引用时,Razor 画笔也可以工作。
现在原因很清楚了。
【解决方案2】:
我有同样的问题。然后我发现我使用的是lang=XML。但是文件shBrushXml.js 的画笔别名为xml。我做了 2 处更改,为我解决了这个问题。
在我想要语法高亮的文件中更新了lang=xml。
更新shBrushXml.js
改变了
SyntaxHighlighter.brushes.Xml = Brush;
至
SyntaxHighlighter.brushes.Razor = Brush;