问题标签 [prismjs]
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.
regex - Prismjs:正则表达式正后视等效?
我正在使用 Prism.js,它是语法荧光笔,它突出显示匹配某些正则表达式的单词。
我想匹配单词之后的任何单词git
,所以我尝试像这样使用积极的lookbehind。
不幸的是,似乎不支持积极的后视,所以我必须找到它的等效正则表达式。有什么方法可以匹配单词后面的任何单词git
而不使用正面的lookbehind?
例如,我想在没有积极向后看的情况下做到这一点。
另外,我不能使用组,因为我不能告诉 Prism 选择某个组。它将始终突出整场比赛。例如,(?:git )(\w+)
将保存第一组中单词之后的任何单词git
,但它匹配单词 git 和 git 之后的单词。所以会突出显示
这不是我想要的。
webpacker - 将 PrismJs 添加到 rails 6 webpacker 站点
我想添加 PrismJS。
https://prismjs.com/index.html
所以我跑了
然后更新 application.js:
和 application.scss:
现在它像这样突出显示 JS 和 CSS:
但是,我不能再添加任何语言了。例如液体。
我尝试按照说明使用https://github.com/mAAdhaTTah/babel-plugin-prismjs。所以在 babel.config.js 中:
但是没有为液体添加高亮标记。
我在 webpack-dev-server 中收到错误:
那么,我应该如何正确地将 prism-js babel 插件添加到 babel.config.js ?
javascript - Reacht JS:渲染异步创建的数组时未正确应用 CSS
我正在尝试在 React JS 应用程序上显示代码片段。为此,我有一组使用fetch
API 获得的片段。
为此,我将必要的信息存储在一个数组中,然后使用该方法创建Snippet
对象。Array::map
但是,当我尝试显示这些片段时,我发现Snippet
's CSS 未正确应用。问题似乎是fetch
通话延迟。如果不执行这些调用,一切正常。
一些注意事项: - 为了找到罪魁祸首,我对代码片段的参数进行了硬编码。- 为了获得 MWE,我用调用替换了对fetch
API 的调用sleep
- 如果我删除对 的调用sleep
,则片段将正确呈现。
这是我负责类的代码:
我正在使用prismjs来突出显示片段。这是我的实现:
我添加了console.log
语句以查看属性是否设置正确,这两种情况似乎都是如此。
javascript - 如何在 HTML 中显示 JavaScript 文件中的代码
我正在尝试建立一个网站,在其中显示各种场景的通用 JavaScript 代码片段。我想在 HTML 中显示来自选定 JavaScript 文件的代码(不执行,只是显示)。我尝试使用 jQuery 加载函数加载文件
& 然后使用 Prism 库突出显示语法
问题是当您在 div 中动态加载 JavaScript 内容时,Prism 无法正确呈现它。(只有在 div 中硬编码 JavaScript 代码时,它才会正确呈现它)。这种情况有一个简单的解决方案吗?
javascript - MEVN 堆栈中的 Prismjs 语法高亮显示
我正在使用 MEVN 堆栈开发一个博客,我使用的是tiny-mce-vue编辑器。现在,所有工作都很好,除非我添加一些代码示例,它们不会在编辑器之外保留语法突出显示,请参见屏幕截图:
我一直在网上冲浪以找到答案,我发现最好的是这篇文章,我发现我应该使用函数 Prism.highlightAll()
但它不会从我的 post.vue 组件中的 mount() 运行任何东西,但是如果我从浏览器控制台运行 Prism.highlightAll ,它会按预期工作。
所以简而言之,我不知道我在这里做错了什么。
这是我的 post.vue的代码笔
angular - 开玩笑 - 导入节点模块
我有一个导入节点模块的 Angular 组件(在本例中是 prismjs)。
我有一段代码引用Prism.highlightElement()
但是,当我运行测试时,我得到了错误:
TypeError: Cannot read property 'highlightElement' of undefined
我假设 Jest 正在嘲笑 node_module,但不知道如何阻止它。
我正在使用 Angular Preset Jest 库,并且我尝试过:
unmockedModulePathPatterns: ['./node_modules/prismjs']
在配置中,它不起作用。
我也试过:有
unmockedModulePathPatterns: ['prismjs']
什么想法吗?
reactjs - Prismjs 没有突出显示 React 组件
我正在尝试使用 PrismJS 突出显示一些 javascript 代码,但我输入的文本根本没有改变颜色。我已经尝试将 CDN 用于 prismjs 和 npm,但是当我使用 Prism.highlightAll() 时我没有看到任何变化。这是编辑器组件代码:
tinymce - 在 HCL Connections 6.5 CR1 TinyMCE 中向 PrismJS 添加额外的语法高亮插件
我在全新的 Connections 6.5.1 安装之上安装了TinyMCE 编辑器。虽然使用codesample 插件的语法突出显示是开箱即用的,但它仅适用于某些语言。我找到了codesample_languages
,它们像本文中描述的那样被覆盖。
现在可以在编辑器中选择它们。但它们不起作用,因为编辑器中嵌入的 PrismJS 仅支持extend, insertBefore, DFS, markup, xml, html, mathml, svg, css, clike, javascript, js, c, csharp, cs, dotnet, cpp, java, markup-templating, php, python, py, ruby, rb
.
所以我从一个 CDN 加载了缺少的插件,例如批处理插件。将其包含在内header.jsp
不起作用,因为Prism
名称空间未初始化。在footer.jsp
它似乎没有任何效果,假设 PrismJS 已经初始化。
自定义网络资源存档
PrismJS 似乎是从中提取的,https://cnx65.internal/connections/resources/web/tiny.editors.connections/render/prism.js
所以我提取tiny.editors.connections_4.2.1.1.jar
了/opt/IBM/shared/provision/webresources
,修改resources/render/prism.js
并重新打包了这些 folter:
重新启动 Common 和 Wiki(我正在测试 TinyMCE 的应用程序)后,Bash 仍然没有语法高亮显示。当我导航到 时https://cnx65.internal/connections/resources/web/tiny.editors.connections/render/prism.js
,我看到了我插入的 Bash 插件代码。要查看可用的语言,我附加
在文件的末尾。这给了我一个包含bash
. 所以插件是可用的,但为什么 TinyMCE 不显示语法高亮?
gradle - 使用 Prism 突出显示 build.gradle 的语法
为了在我的博客上显示 build.gradle 示例代码,我想使用Prism突出显示语法。
但 gradle 不包含在支持的语言列表中。有没有language-xxxx
突出gradle的替代方法?使用language-nginx
是一个不错的选择?