为了便于维护,我在CMS中存储了许多HTML块。它们由<textarea>s表示。
有人知道某种JavaScript小部件可以在文本区域或类似区域为HTML做语法高亮显示,同时仍然是纯文本编辑器(没有所见即所见或高级功能)吗?
为了便于维护,我在CMS中存储了许多HTML块。它们由<textarea>s表示。
有人知道某种JavaScript小部件可以在文本区域或类似区域为HTML做语法高亮显示,同时仍然是纯文本编辑器(没有所见即所见或高级功能)吗?
当前回答
CodePress做到了这一点,EditArea也是如此。两者都是开源的。
其他回答
你可以突出显示<textarea>中的文本,使用一个<div>小心地放在它后面。
检查突出文本在文本区域。
为什么要将它们表示为文本区域?这是我最喜欢的:
http://alexgorbatchev.com/wiki/SyntaxHighlighter
但如果你使用的是CMS,可能有更好的插件。例如,wordpress有一个进化的版本:
http://www.viper007bond.com/wordpress-plugins/syntaxhighlighter/
在常规的文本区域中,不可能实现对表示的所需级别的控制。
如果你觉得没问题,试试CodeMirror或Ace或Monaco(在MS VSCode中使用)。
来自重复的线程-一个强制性的维基百科链接:基于javascript的源代码编辑器的比较
这是可行的,通过添加一个覆盖的代码块在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
以下是我对程序员的类似问题(在线代码编辑器)的回答:
首先,你可以看看这篇文章: Wikipedia -基于javascript的源代码编辑器的比较。
为了了解更多,这里有一些工具似乎适合你的要求:
EditArea ― Demo as FileEditor who is a Yii Extension ― (Apache Software License, BSD, LGPL) Here is EditArea, a free javascript editor for source code. It allow to write well formated source code with line numerotation, tab support, search & replace (with regexp) and live syntax highlighting (customizable). CodePress ― Demo of Joomla! CodePress Plugin ― (LGPL) ― It doesn't work in Chrome and it looks like development has ceased. CodePress is web-based source code editor with syntax highlighting written in JavaScript that colors text in real time while it's being typed in the browser. CodeMirror ― One of the many demo ― (MIT-style license + optional commercial support) CodeMirror is a JavaScript library that can be used to create a relatively pleasant editor interface for code-like content ― computer programs, HTML markup, and similar. If a mode has been written for the language you are editing, the code will be coloured, and the editor will optionally help you with indentation Ace Ajax.org Cloud9 Editor ― Demo ― (Mozilla tri-license (MPL/GPL/LGPL)) Ace is a standalone code editor written in JavaScript. Our goal is to create a web based code editor that matches and extends the features, usability and performance of existing native editors such as TextMate, Vim or Eclipse. It can be easily embedded in any web page and JavaScript application. Ace is developed as the primary editor for Cloud9 IDE and the successor of the Mozilla Skywriter (Bespin) Project.