İyi bir Markdown Javascript kütüphanesi veya kontrolü var mı? [kapalı]


89

Kullanıcının metni girebileceği ve Markdown'da biçimlendirebileceği bir site oluşturmak istiyorum. Bir Javascript çözümü istememin nedeni, tıpkı StackOverflow'da olduğu gibi canlı bir önizleme görüntülemek istememdir.

Ancak sitem geliştiricileri hedeflemiyor, bu nedenle bir editör kontrolü ideal olacaktır.

StackOverflow'da WMD düzenleyicisinin kullanıldığını anladım.

Google'da hızlı bir arama, aslında WMD tarafından kullanıldığını düşündüğüm Showdown kitaplığını da ortaya çıkarıyor.

Başka seçenek var mı? WMD / Showdown zaten harika araçlar mı? Farklı seçeneklerle ilgili deneyimleriniz nelerdi?

Yanıtlar:


33

Canlı önizlemeyi oluşturmak için Ajax'ı kullanmaktan hoşlanmıyorsanız, başka bir seçenek de markItUp! . markItUp! evrensel bir biçimlendirme düzenleyicidir ve çok esnektir. Bir işaretleme düzenleyicisi oluşturmanın kolay bir yolunu sağlar, ancak WMD'den farklı olarak, kendi canlı önizlemesini sağlamaz.

Açık kaynaklı projelerimden biri ( Roller için Markdown eklentisi ) için basit bir JSP ( MarkdownJ kullanarak ) ile birlikte markItUp! Kullandım . Başka bir sunucu tarafı teknolojisi kullanıyorsanız, bu basit JSP'yi uygun şekilde değiştirin.

Aslında bunu KİS ile karşılaşmadan önce kullanmaya başladım. Katılıyorum, kitle imha silahları harikadır, ancak yalnızca açık kaynaklı olmuştur ve bu aşamada davranışını özelleştirmek daha zordur.


MarkItUp! geçiş ve yapışkan seçimi işlemez. Bu, JavaScript tabanlı açık kaynaklı Markdown metin düzenleyicim. Klavye kısayolları, özel diyaloglar, özel damla destekler ve ayrıca yazılı kullanmaya teşvik etmeye bazı akıllı metin seçimi Tidy destekler Markdown iyi biçimde sözdizimi: github.com/tovic/markdown-text-editor
Taufik Nurrohman

65

KİS'den oldukça memnunuz. Bununla birlikte, içinde birkaç küçük böcek var. Hiçbir şey büyük, ama ben ediyorum aşk biz bazıları düzeltmek böylece John Fraser (yazar) kodu açık kaynak yaptıysanız. Bunu yapacağına söz verdi ama diğer gerçek hayat projeleri yoluna giriyor.

John'u her hafta takip ediyorum. WMD kaynağı nihayet hazır olduğunda blogda yayınlayacağım. John Fraser ile bir yıldan uzun süredir bağlantı kuramadım.

Hem JavaScript Markdown kitaplığını açık kaynaklı hale getirdik

http://code.google.com/p/pagedown/

ve sunucu tarafı C # Markdown kitaplığı

http://code.google.com/p/markdownsharp/


Cevap için teşekkürler Jeff. KİS'in açık kaynak olmadığını bile bilmiyordum ... Gözlerimi dört açacağım.
webmat

2
Açıktaki güvenlik açığı konusunda ne yaptınız? Örneğin: <div onmouseover = "alert ('hi');"> merhaba </div> Yukarıdakiler WMD demosunda çalışıyor!
andrewrk

1
@ superjoe30 Bu şeyler sunucuda filtrelenir.
epochwolf

@ superjoe30: bkz. meta.stackexchange.com/questions/95821/… - aynısı JavaScript sürümü için de geçerlidir
balpha

1
Bakarak @DisgruntledGoat stackexchange.github.io Eğer listede olduğunu görebilir ve son tamamlama (zaten 2015) 6 ay önce yapıldı.
Loïc Faure-Lacroix

12

Hafif, verimli, kullanımı kolay ve GitHub Flavored Markdown (GFM) 'yi de destekleyen işaretliyi tavsiye ederim . Sunucu (nodejs) veya istemci (tarayıcı) tarafında kullanılabilir.


işaretli sürüm hala geliştirilmektedir ve küçültülmüş sürüm yalnızca 23 KB büyüklüğündedir.
Peter T.

7

Bildiğim kadarıyla Markdown için tarayıcı tabanlı başka bir editör yok, en azından hiçbiri WMD editörü kadar kapsamlı değil.

Showdown, WMD'nin HTML önizlemesinin temelini oluşturan JS'de bir Markdown dönüştürücüsüdür. İkisi de http://attacklab.net/ tarafından yapılmıştır .

Ve bildiğim kadarıyla her ikisi hakkında da büyük şikayetler olmadı (en azından Markdown posta listesinde değil). Öyleyse bunun için gidin.





3

Soru şimdi çok daha eski ama aynı zamanda daha da alakalı çünkü söz konusu kodların çoğu birkaç yıl eski.

Ancak, hala güncel görünen birkaç tane buldum:

Jquery-Markedit - Bu, wmd-edit'den epey bir zaman önce çatallandı ve jQuery'yi kullanmak için yeniden düzenlendi. İlk bakışta iyi görünüyor.

EpicEditor - hala korunmaktadır, esnek bir ayrıştırıcıya sahiptir ve aşağıda görebileceğiniz gibi, yazar oldukça duyarlıdır (aşağıya bakın). BT de iyi belgelere sahip görünüyor. Ne yazık ki IE9 ile çalışmıyorum.

MarkdownDeep , hala geçerli olan üçüncü bir seçenektir. Bununla ilgili ilginç olan nokta Markdown Extra desteğidir. JQuery'ye bağımlıdır (aslında JQuery olmadan da uygulayabilirsiniz). .NET sürümüne dayandığından, belgeler JS sürümünden daha uyumludur. Bu aynı zamanda IE9 ile de çalışır. Kullanımı çok kolay (JQuery ile) ve çok basit. Gördüğüm kadarıyla bununla önemli bir gelişme olmadı.

js-markdown-extra , PHP kitaplığının oldukça doğru bir bağlantı noktasıdır ve halen bakım altındadır. Elbette Markdown Extra'yı destekler.


1
Canlı önizlemeler, editörümle iyi çalışıyor :) Örnek olarak tam ekranı açın veya sadece bir preview()tuşa basma veya zaman aşımı ile çalıştırın . Her türlü özelleştirme için üretilmiştir.
Oscar Godson

1
Yani, editörün altında şimdi nasıl çalışıyor. Önizlemeyi tıkladığınızda, yazdıklarınızla güncellenen gizli önizleyiciyi gösterir. Siz yazarken tam ekran yapar. Kendi önizleyicinizi yapmak için şuna
Oscar Godson

1
Tutmak? Yapabilirsin: editor.on('save', function(file) { console.log(file.content) })eğer kastettiğin buysa. Bu, dosya kaydedildiğinde dosya içeriğini tükürecektir.
Oscar Godson

1
Ayrıca, on('update')kaydetmek yerine kullanmak isteyebilirsiniz . Otomatik kaydetmeyi etkinleştirirseniz, tasarruf çok fazla ateşlenecektir. Güncelleme yalnızca bir şey değiştiğinde tetiklenir. epiceditor.com/#events
Oscar Godson

1
Bilginize bunu okuyan herkese: github.com/OscarGodson/EpicEditor/issues/137 - sorun yerel olarak çalıştırılmaya çalışıyor olması ve IE9'un dosya yoluyla localStorage'ı yerel olarak kullanmaya karşı güvenlik kısıtlamaları olması: \\\
Oscar Godson

2

Soru eskidir ama umarım bu birine yardımcı olabilir. Yakın zamanda kendi Javascript markdown editörüm olan uedit'in çalışan bir sürümünü yayınladım . Kaynak kodunu burada bulabilirsiniz . Çoğu tarayıcıda çalışır (IE6 + dahil) ve herhangi bir harici JS kitaplığına bağlı değildir.


2

MarkDown seudo-WYSIWYG sunma ihtiyaçlarımı çözmek için birkaç eklentiyle denedikten sonra, kendi eklentimi uygulamaya son verdim:

Belki burada açıklanan tüm çözümler kadar güçlü değil ama bence hiçbiri entegre etmek ve özelleştirmek kadar basit ve kolay değil .

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.