Anında sözdizimi vurgulama yapabilen Textarea?


203

Daha kolay bakım nedeniyle bir dizi HTML bloğunu bir CMS içinde saklıyorum. Onlar <textarea>s ile temsil edilir .

Herkes textareahala bir düz metin editörü (WYSIWYG veya gelişmiş işlevler olmadan) kalırken, HTML için sözdizimi vurgulama yapabilen bir çeşit JavaScript Widget'ı biliyor mu ?


1
W3C'nin textarea(X) HTML spesifikasyonunun ve ilgili standartların gelecekteki bir versiyonunda daha çok yönlü ve genişletilebilir hale gelmesi mümkün müdür ?
James Haigh

3
@ FabienMénager yinelenen bağlantınız kaldırıldı.
Patrick Roberts

Yanıtlar:


218

Düzenli bir metin dizisinde sunum üzerinde gerekli kontrol düzeyine ulaşmak mümkün değildir.

Bu konuda sorun yoksa CodeMirror veya Ace (eski adıyla skywriter ve bespin ) veya Monako (MS VSCode kullanılır).

Yinelenen iş parçacığından - zorunlu bir wikipedia bağlantısı: http://en.wikipedia.org/wiki/Comparison_of_JavaScript-based_source_code_editors


3
Aslında Bespin, ekran okuyucular için destek eklemek için düzenli bir metin alanı yedeği kullanır (böylece engelli kişiler de kolayca kullanabilir).
Eli Gray

2
CodeMirror tam olarak ihtiyacım olan şeye benziyor. Bir metin alanı gibi davrandığı sürece, bir metin olmamasından dolayı rahatım.
Pekka

1
Cevabınız için teşekkürler. Cevabınızı okuduktan ve aklımı uçurduktan sonra buldum! :) github.com/securingsincity/react-ace
Casey

27

İşte ben de benzer soruya yaptık tepki ( Çevrimiçi Kod Editör ) üzerine programcılar :

İlk olarak, bu makaleye göz atabilirsiniz:
Wikipedia - JavaScript tabanlı kaynak kodu editörlerinin karşılaştırılması .

Daha fazlası için, isteğinize uygun görünen bazı araçlar şunlardır:

  • EditArea - Yii Uzantısı olan FileEditor Olarak Demo - ( Apache Yazılım Lisansı, BSD, LGPL )

    İşte kaynak kodu için ücretsiz bir javascript editörü olan EditArea. Satır numarası, sekme desteği, arama ve değiştirme (regexp ile) ve canlı sözdizimi vurgulama (özelleştirilebilir) ile iyi biçimlendirilmiş kaynak kodu yazmanıza izin verir.

  • CodePress - Joomla! Demosu CodePress Eklentisi - ( LGPL ) - Chrome'da çalışmıyor ve geliştirme durmuş gibi görünüyor.

    CodePress, tarayıcıda yazılırken metni gerçek zamanlı olarak renklendiren sözdizimi vurgulaması ile JavaScript'te yazılmış web tabanlı bir kaynak kodu düzenleyicisidir.

  • CodeMirror - Çok sayıda demodan biri - ( MIT tarzı lisans + isteğe bağlı ticari destek )

    CodeMirror, kod benzeri içerik için (bilgisayar programları, HTML biçimlendirme ve benzeri) nispeten hoş bir düzenleyici arabirimi oluşturmak için kullanılabilen bir JavaScript kitaplığıdır. Düzenlediğiniz dil için bir mod yazıldıysa, kod renklendirilir ve editör isteğe bağlı olarak girinti konusunda size yardımcı olur

  • Ace Ajax.org Cloud9 Editor - Demo - ( Mozilla üç lisansı (MPL / GPL / LGPL) )

    Ace, JavaScript ile yazılmış bağımsız bir kod düzenleyicisidir. Hedefimiz, TextMate, Vim veya Eclipse gibi mevcut yerel editörlerin özellikleri, kullanılabilirliği ve performansıyla eşleşen ve genişleten web tabanlı bir kod editörü oluşturmaktır. Herhangi bir web sayfasına ve JavaScript uygulamasına kolayca gömülebilir. Ace, Cloud9 IDE'nin birincil editörü ve Mozilla Skywriter (Bespin) Projesinin halefi olarak geliştirildi .


1
Ah bu çok iç karartıcı ... Bunu yapması gereken 100 proje ve kesinlikle işe yarayan hiçbiri yok.
RobinJ

Ace editörünün lisansı BSD olarak değiştirildi github.com/ajaxorg/ace/blob/master/LICENSE
S.Krishna



7

Güncelleme: Bespin şimdi ACE, burada en yüksek puan alan cevabından bahsediliyor. Bunun yerine ACE kullanın.

Mozilla'dan Bespin ile gitmeliyim . HTML5 özellikleri kullanılarak üretilmiştir (bu yüzden hızlı ve hızlıdır, ancak eski tarayıcıları desteklemez), ancak karşılaştığım her şeyi kullanmak ve yenmek kesinlikle şaşırtıcı - muhtemelen Mozilla destekliyor ve Firefox'u geliştiriyorlar, evet. .. jQuery ile kullanımını biraz kolaylaştırmak için bir uzantı içeren bir jQuery Eklentisi de var .



2

Sözdizimi vurgulaması olan ve bir metin alanına geri dönüşü olduğunu bildiğim tek editör Mozilla Bespin . Düzenleyiciyi nasıl yerleştireceğinizi görmek için Bespin'i gömdüğünüz için Google. Şu anda bunu bildiğim tek site çok alfa Mozilla Jetpack Galerisi (bir Jetpack gönder sayfasında) ve nasıl eklediklerini görmek isteyebilirsiniz.

Ayrıca size yardımcı olabilecek Bespin editörünü yerleştirme ve yeniden kullanma hakkında bir blog yazısı da var.


Ace , Mozilla Bespin projesinin halefidir.
Zachary Keener

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.