Estou armazenando vários blocos HTML dentro de um CMS por motivos de manutenção mais fácil. Eles são representados por <textarea>
s.
Alguém conhece algum widget JavaScript de algum tipo que possa destacar a sintaxe do HTML em um textarea
ou similar, enquanto ainda permanece um editor de texto sem formatação (sem WYSIWYG ou funções avançadas)?
textarea
mais versátil e extensível em uma versão futura da especificação HTML (X) e dos padrões relacionados?Respostas:
Não é possível atingir o nível de controle necessário sobre a apresentação em uma área de texto regular.
Se você está OK com isso, tentar CodeMirror ou Ace (anteriormente skywriter e bespin ) , ou Monaco (usado em MS VSCode).
No thread duplicado - um link obrigatório da wikipedia: http://en.wikipedia.org/wiki/Comparison_of_JavaScript-based_source_code_editors
fonte
Aqui está a resposta que eu fiz a uma pergunta semelhante ( Online Code Editor ) sobre programadores :
Primeiro, você pode dar uma olhada neste artigo:
Wikipedia - Comparação de editores de código-fonte baseados em JavaScript .
Para mais, aqui estão algumas ferramentas que parecem se encaixar com sua solicitação:
EditArea - Demonstração como FileEditor que é uma extensão Yii - ( Apache Software License, BSD, LGPL )
CodePress - Demo do Joomla! CodePress Plugin - ( LGPL ) - Ele não funciona no Chrome e parece que o desenvolvimento cessou.
CodeMirror - Uma das muitas demonstrações - ( licença no estilo MIT + suporte comercial opcional )
Ace Ajax.org Cloud9 Editor - Demo - ( licença tripla da Mozilla (MPL / GPL / LGPL) )
fonte
O CodePress faz isso, assim como o EditArea . Ambos são de código aberto.
fonte
Eu recomendaria o EditArea para edição ao vivo de uma área de texto com destaque em sintaxe.
fonte
Atualizar: Bespin agora é ACE, que é mencionado pela resposta mais bem avaliada aqui. Use o ACE.
Tenho que ir com o Bespin da Mozilla. Ele foi criado usando os recursos HTML5 (por isso é rápido e rápido, mas não suporta navegadores herdados), mas definitivamente incrível de usar e supera tudo o que eu já vi - provavelmente porque é o Mozilla fazendo o backup e eles desenvolvem o Firefox. .. Há também um plug-in jQuery que contém uma extensão para torná-lo um pouco mais fácil de usar com o jQuery.
fonte
Você pode destacar o texto em um
<textarea>
, usando um<div>
cuidadosamente colocado atrás dele.confira Realçar texto dentro de uma área de texto .
fonte
O único editor que conheço que possui destaque de sintaxe e um fallback para uma área de texto é o Mozilla Bespin . Pesquise no Google a incorporação do Bespin para ver como incorporar o editor. O único site que conheço que usa isso agora é a Mozilla Jetpack Gallery muito alfa (na página de envio de uma Jetpack) e você pode querer ver como eles a incluem.
Há também uma postagem no blog sobre a incorporação e reutilização do editor Bespin que pode ajudá-lo.
fonte
Por que você os está representando como áreas de texto? Esse é meu favorito:
http://alexgorbatchev.com/wiki/SyntaxHighlighter
Mas se você estiver usando um CMS, provavelmente haverá um plugin melhor. Por exemplo, o wordpress tem uma versão evoluída:
http://www.viper007bond.com/wordpress-plugins/syntaxhighlighter/
fonte