html - 如何创建一个 html 文本编辑器来执行所有语法高亮?
问题描述
我正在寻找创建一个网站来编译您在文本编辑器中编写的 HTML 代码。这是我的代码:
<!DOCTYPE html>
<html>
<head><title>HTML editor</title></head>
<body>
<textarea id="textarea">
</textarea>
<iframe id="frame" srcdoc="This is where the code is interpreted. ">
</iframe>
<button onclick="run();"></button>
<script>
function run() {
var x = document.getElementById("textarea").value;
var y = document.getElementById("frame");
y.srcdoc = x;
}
</script>
</body>
</html>
现在写,我已经成功创建了一些可以编译 html 代码的东西。但我想做语法高亮。如何突出显示文本?
解决方案
只需添加所需的CSS
和JS
for Prism.js
。
<!DOCTYPE html>
<html>
<head>
...
<link href="https://myCDN.com/prism@v1.x/themes/prism.css" rel="stylesheet" />
</head>
<body>
...
<script src="https://myCDN.com/prism@v1.x/components/prism-core.min.js"></script>
<script src="https://myCDN.com/prism@v1.x/plugins/autoloader/prism-autoloader.min.js"></script>
</body>
</html>
然后添加下面HTML
的元素
<pre><code class="language-css">p { color: red }</code></pre>
您在此元素中编写的任何代码都会突出显示语法。class="language-css"
确定突出显示的语言,您可以根据需要更改。您可以在此处找到所有支持的语言。
注意:这是一个基本示例,您可以从这里开始并在prism.js 使用中找到更多信息
推荐阅读
- r - 在一行代码中创建一个“for循环”
- json - 在 Powershell 中用不同的值查找并替换 JSON 中值的所有实例
- c# - UIElement 不包含“名称”的定义
- angular - 更新 rxjs 中的 observable
- python - 在电子邮件正文中嵌入图像和文本
- javascript - 如果事件值是字符串,你如何使用 R Shiny 将它们发送到 Google Analytics?
- php - 雄辩的访问器和属性命名
- javascript - 如何删除选定的单选按钮并一次标记一个?
- r - 如果 R 是用 S4 类编写的,它会和 Julia 一样快吗?
- python - 有没有办法使用函数而不是嵌套循环来改善以下进程的运行时间?