首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在prism.js中使用数据手册

如何在prism.js中使用数据手册
EN

Stack Overflow用户
提问于 2016-11-10 07:40:42
回答 2查看 1.9K关注 0票数 3

我正在使用prism.js作为我的网站的语法高亮笔,但我希望某些项目不能被渲染,比如操作符和标点符号。

现在,prism.js手册指出:

如果要防止任何元素被自动高亮显示,可以使用属性数据手册对用于棱镜的元素使用,并使用API。示例: <script src="prism.js" data-manual></script>

但仅此而已。没有更多的例子。指向API的链接只显示了一些JavaScript函数,但在data-manual上没有进一步显示。如果我谷歌site:prismjs.com "data-manual",没有任何有用的事件出现。

有人能帮助我如何使用虚幻的data-manual-attribute吗?

EN

回答 2

Stack Overflow用户

发布于 2017-06-15 07:10:06

我认为,这里是一个很好的例子。功劳归格雷戈里·谢尔所有。

HTML:

代码语言:javascript
复制
<script src="prism.js" data-manual></script>
<pre>
<code id="some-code" class="language-javascript">
  // This is some random code
  var foo = "bar";
</code>
</pre>

JavaScript:

代码语言:javascript
复制
var block = document.getElementById('some-code');
Prism.highlightElement(block);
票数 4
EN

Stack Overflow用户

发布于 2017-04-11 21:06:17

我也不知道如何使用数据--文档中的手册--我必须查看源代码。当你想直接调用棱镜的api添加语法高亮显示时,使用‘数据手册’。检查一下api参考

如果您不设置数据手册,棱镜将设置一个超时或侦听器来调用highlightAll (以下是相关的来源)。这将突出显示由以下选择器匹配的每个元素:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'

如果您希望对时间进行更细粒度的控制,或者不希望棱镜添加额外的类,请将数据手册添加到包含prismjs的脚本标记中,然后自己调用突出显示。下面是一个基本的ES6示例,说明如何在手动模式下使用Prism:

代码语言:javascript
复制
import {highlight} from 'prismjs';
import 'prismjs/components/prism-python';

const pythonCode = 'myString = "Some String"';
const highlightedCode = highlight(pythonCode, Prism.languages.python);
const highlightedHTML = `<pre><code class="language-python">${highlightedCode}</code></pre>`;
document.getElementById('myID').innerHTML=highlightedHTML;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40522262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档