问题标签 [highlightjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
254 浏览

javascript - 无法使用 highlight.js 以正确的顺序呈现 XML

我正在尝试使用 highlight.js 突出显示 XML。

这是示例代码笔链接

但我面临两个问题:

  1. 自闭元素被呈现为非自闭标签,在上面的例子中是作者元素。
  2. XML 编码属性也没有被呈现。

我已经尝试实现用 /> 替换“/>”的转义方法,但它没有以预期的方式工作。

示例:预期的 XML

实际 XML

有没有办法纠正这种行为。

0 投票
2 回答
3936 浏览

vue.js - 如何禁用 Vuetify 的样式?

我想将 markdown 解析为 html 并使用语法突出显示。

我的证监会如下:

生成的代码块如下所示:

代码块

这是 Vuetify 的风格。

https://vuetifyjs.com/en/styles/content/#code

我想禁用或覆盖它。

以下代码不适用于代码块:

结果:

在此处输入图像描述

0 投票
3 回答
350 浏览

nunjucks - 如何将过滤器标记为安全?

我正在尝试使用highlight.js为 nunjucks 设置语法突出显示过滤器。这似乎很容易做到。在我的 elevnety.js 文件中,我包括:

看起来 highlight.js 是一个安全的过滤器,并且会正确地转义它的内容并添加标记来控制突出显示,所以没有其他事情可做。

在我的 njk 页面中,我尝试将其与

突出显示标记正在正确生成,但整个结果正在被转义(可能由 nunjucks 转义),因此生成的页面呈现所有标记代码。以下是添加到输出 html 页面的内容:

我知道 nunjucks 有一个安全过滤器来防止这种情况发生,但我不知道如何应用它来说明我的过滤器块不需要转义,而且我在文档中找不到任何内容。我尝试了多种方法,但都失败了:

有没有办法将此过滤器块标记为安全?

0 投票
1 回答
906 浏览

asciidoctor - highlight.js 不会突出显示来自 JavaScript 事件的标记加载

当我在 html 中手动输入代码时,highlight.js 可以完美运行

替代文字 但是当我使用 asciidoctor.js 将标记转换为 html 荧光笔不适用于生成的 html

上面代码后的结果 替代文字 我们可以看到按键插入的代码没有高亮,但是页面加载时手动插入的代码是高亮的。

0 投票
1 回答
117 浏览

javascript - 将光标放在末尾
当 contenteditible=true 并使用 highlight.js

我正在使用highlight.js自动突出显示<pre>元素中的代码。我正在尝试在键入时启用实时语法突出显示。我现在拥有的代码可以按需要工作,并且突出显示确实可以在回车时工作,但是光标会移动到<pre>元素的开头。我想在keyup事件检测到回车后将光标移动到末尾,然后我重新处理元素以添加语法突出显示。我怎样才能做到这一点?

一个示例位于此处:https ://tools.peer.ooo/snippity

但我用于相关部分的代码是这样的:

如何将光标放在现有输入的末尾?

代码片段

0 投票
1 回答
44 浏览

prismjs - 如何在 Scully 中突出显示代码块?

我正在用Scully创建一个博客,并寻找一种在那里设置代码高亮的好方法。

例如,这样的代码块(定义语言):

0 投票
1 回答
88 浏览

jquery - 提高 jQuery 处理大量 DOM 的性能

我正在为我的 Web 应用程序实现一个博客页面。我使用标记来支持降价,并使用highlight.js来突出显示代码。这是我处理解析和突出显示的代码:

在这个函数中,我使用标记解析文本,然后使用 jquery 和 highlight.js 进行更多处理。

我的问题是,我对getMarkDown(text)函数的性能不太满意。我不确定为什么它很慢,但我假设原因是大量的 DOM 创建和插入。当标签中有 100 行代码时<code>,它将为行号创建 100 个跨度并将其添加到 DOM 中。我检查了执行时间,发现它在我处理<code>标签的第一个循环中花费了大部分时间。我还注意到,当我第一次加载我的网络应用程序时(在硬重新加载之后),它的运行速度较慢,之后它变得比第一次更快。

  • 为什么这段代码很慢?
  • 为什么第一次加载速度较慢?
  • 如何改进此代码以获得更好的性能?
0 投票
0 回答
57 浏览

javascript - 用 JavaScript 修剪空白行

我正在样式化语法,HighlightJS但我遇到了空格和行号不匹配的问题。

问题:如果在添加空行syntax后没有立即启动。<code>

不可能总是以这种方式插入语法,我正在寻找 JavaScript 解决方案,仅删除第一个空行。

如果有人可以提及此问题的解决方案,这是简单的 JavaScript HowTo - -

JSFiddle

我正在寻找JavaScript解决方案或HighlightJS插件(如果有)

空格处

0 投票
1 回答
37 浏览

javascript - js 从样式代码元素中复制干净的代码

我正在使用highlight.js,生成了一个块:

我制作了一个按钮来单击以将文本复制到用户的剪贴板。

但是,我不能直接调用copy_to_clipboard(codeElement.innerHTML),因为所有 html 样式的东西都被复制了。

我想知道是否有一种方法可以从样式化的 Dom<code>元素中提取干净的代码

0 投票
0 回答
14 浏览

javascript - Highlght.JS 可以将 \r\n 或 \r 读取为对象值中的换行符吗?

我正在使用 highlight.js 在我的反应应用程序中显示 JSON 数据。

一些 JSON 数据运行良好。这是示例: 在此处输入图像描述

但是我有一些 JSON 包含一个具有 \r\n 的函数,而且似乎这个 \r\n 不想去。例如: 在此处输入图像描述

这是我的代码

是否可以删除此 \r\n 并用换行符替换它?