为了便于维护,我在CMS中存储了许多HTML块。它们由<textarea>s表示。
有人知道某种JavaScript小部件可以在文本区域或类似区域为HTML做语法高亮显示,同时仍然是纯文本编辑器(没有所见即所见或高级功能)吗?
为了便于维护,我在CMS中存储了许多HTML块。它们由<textarea>s表示。
有人知道某种JavaScript小部件可以在文本区域或类似区域为HTML做语法高亮显示,同时仍然是纯文本编辑器(没有所见即所见或高级功能)吗?
当前回答
为什么要将它们表示为文本区域?这是我最喜欢的:
http://alexgorbatchev.com/wiki/SyntaxHighlighter
但如果你使用的是CMS,可能有更好的插件。例如,wordpress有一个进化的版本:
http://www.viper007bond.com/wordpress-plugins/syntaxhighlighter/
其他回答
我推荐使用EditArea进行语法高亮文本区域的实时编辑。
你可以突出显示<textarea>中的文本,使用一个<div>小心地放在它后面。
检查突出文本在文本区域。
这是可行的,通过添加一个覆盖的代码块在textarea的前面,并使用它来应用语法高亮提到的一对夫妇。
然而,有一些边缘情况需要注意。 本文将详细介绍它们: https://css-tricks.com/creating-an-editable-textarea-that-supports-syntax-highlighted-code
值得庆幸的是,作者将其创建为自定义元素 https://github.com/WebCoder49/code-input
使用的例子 https://codepen.io/WebCoder49/pen/jOypJOx
总之,以下是我们可以选择的:
Highlight.js Prism.js & Microlight.js 谷歌prettyprint Pygments.org Hilite.me Microlight.js 否则,你可以尝试一个轻量级的定制- https://css-tricks.com/creating-an-editable-textarea-that-supports-syntax-highlighted-code/
为了节省您的时间和精力,最好在这些范围内进一步调查。
更新:Bespin现在是ACE,这里评分最高的答案提到了它。使用ACE代替。
我得选Mozilla的Bespin。它是用HTML5的特性构建的(所以它又快又快,但不支持传统浏览器),但使用起来绝对令人惊叹,打败了我遇到的所有东西——可能是因为它是Mozilla支持的,他们开发了Firefox,所以是的……还有一个jQuery插件,它包含一个扩展,使它更容易使用jQuery。