如何在prism.js中使用data-manual
How to use data-manual in prism.js
我使用prism.js作为我的网站的语法高亮笔,但我希望某些项目不被渲染,如操作符和标点符号。
现在,prism.js的手册上写着:
如果你想阻止任何元素被自动突出显示,你可以在你用于prism的元素上使用data-manual属性并使用API。例子:
<script src="prism.js" data-manual></script>
但就是这样。没有更多的例子。API的链接只显示了一些JavaScript函数,但data-manual
上没有进一步的内容。如果我搜索site:prismjs.com "data-manual"
,没有有用的内容显示。
谁能帮助我如何虚幻的data-manual
属性需要使用?
我认为,这里有一个很好的例子。这要归功于Gregory Schier。
HTML:<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: var block = document.getElementById('some-code');
Prism.highlightElement(block);
我也不明白如何使用文档中的数据手册——我必须查看源代码。当你想直接调用prism的api来添加语法高亮时,使用'data-manual'。查看api参考
如果你没有设置data-manual, prism将设置一个超时或监听器来调用highlightAll(这里是相关的源代码)。这将突出显示与以下选择器匹配的每个元素:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
如果你想要更细粒度的计时控制,或者不想让prism添加额外的类,可以在包含prismjs的脚本的script标签中添加data-manual,然后自己调用highlight。下面是一个ES6的基本示例,说明如何在手动模式下使用Prism:
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;
- Query JS Ext.data.Store
- 使用$http的angular js中的JSON数据-data.push()
- data th JS每页只工作一次
- Ember.js 和 ember-data 与外部(另一个域)API 配合使用
- React JS Ajax Data Loop
- 为什么onChange回调中对$scope.data的更改不会重新绘制chart.js
- 通过data URL参数将URL传递给typeahead.js
- Prototype JS Override Data OnSubmit
- 节点.js spawn:控制台.log 不记录两次,process.stdin.on('data',ca
- JS:“data-background-color”和.data(“background-color”)之间的关系
- Strava v3 api JS GET data
- 如何在 php 中创建图表时将数组传递给图表.js data:[]
- 情节.js - gd.data 必须是一个数组
- Knockout JS值不显示/绑定/更新,但可通过ko.toJS($data).value获得
- JS - 传递给 JavaScript 函数的“data-original-title”的值
- JSON Data using ember.js
- 使用 D3.js来自 Scala.js 的 selection.data
- KNOCKOUT.js:将 { data: xyz } 传递给 foreach,而不仅仅是 xyz
- CSV data and JS/HTML
- 如何在prism.js中使用data-manual