web-dev-qa-db-fra.com

Existe-t-il une bonne bibliothèque ou contrôle Javascript Markdown?

Je veux créer un site où l'utilisateur peut saisir du texte et le formater dans Markdown. La raison pour laquelle j'aimerais une solution Javascript est parce que je veux afficher un aperçu en direct, tout comme sur StackOverflow.

Mon site n'est pas destiné aux développeurs, cependant, un contrôle d'édition serait idéal.

Je suppose que sur StackOverflow, l'éditeur WMD est utilisé.

Une recherche rapide sur Google révèle également la bibliothèque Showdown, qui, je pense, est actuellement utilisée par WMD.

Il y a-t-il des alternatives? Les WMD/Showdown sont-ils déjà d'excellents outils? Quelles ont été vos expériences avec les différentes options?

89
webmat

Si vous n'êtes pas opposé à l'utilisation d'Ajax pour générer l'aperçu en direct, alors une autre option est markItUp! . markItUp! est un éditeur de balisage universel et très flexible. Il fournit un moyen facile de créer un éditeur de balisage, mais contrairement à WMD, il ne fournit pas son propre aperçu en direct.

J'ai utilisé markItUp !, avec un simple JSP (en utilisant MarkdownJ ) pour l'un de mes projets open-source (un plugin Markdown pour Roller ) . Si vous utilisez une autre technologie côté serveur, remplacez cette simple JSP selon les besoins.

En fait, j'ai commencé à utiliser cela avant de tomber sur des ADM. Je suis d'accord, WMD est génial, mais vient juste d'être open source et est, à ce stade, plus difficile à personnaliser le comportement de.

33
myabc

Nous sommes plutôt satisfaits des ADM. Cependant, il contient quelques bugs insignifiants. Rien de majeur, mais j'aimerais adorer si John Fraser (l'auteur) créait le code open source pour que nous puissions en corriger certains. Il a promis de le faire, mais d'autres projets réels se mettent en travers.

Je fais un suivi avec John chaque semaine. Je publierai sur le blog une fois que la source WMD sera enfin disponible. Je n'ai pas pu contacter John Fraser depuis plus d'un an maintenant.

Nous avons ouvert la bibliothèque JavaScript Markdown

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

et la bibliothèque C # Markdown côté serveur

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

65
Jeff Atwood

Je recommanderais marqué , qui est léger, efficace, facile à utiliser et prend également en charge GitHub Flavored Markdown (GFM). Il peut être utilisé côté serveur (nodejs) ou client (navigateur).

12
malcomwu

Pour autant que je sache, il n'y a vraiment aucun autre éditeur basé sur un navigateur pour Markdown, du moins aucun aussi étendu que l'éditeur WMD.

Showdown est un convertisseur Markdown dans JS, qui constitue la base de l'aperçu HTML de WMD. Ils sont tous deux fabriqués par http://attacklab.net/ .

Et pour autant que je sache, il n'y a pas eu de grosses plaintes à propos des deux (du moins pas sur la liste de diffusion Markdown). Alors foncez.

7
Lasar

Il y en a un nommé Showdown et il est actuellement hébergé ici: https://github.com/coreyti/showdown

Et il y a https://github.com/evilstreak/markdown-js :)

6
Bijan

Strapdown.js, qui était récemment publié , "rend la création de documents Markdown élégamment simple. Aucune compilation côté serveur requise."

4
g33kz0r

Je n'ai pas testé cela, mais voici une autre option:

Markdown wysiwyg

3
VirtuosiMedia

La question est encore plus ancienne maintenant mais aussi encore plus pertinente car une grande partie du code mentionné est obsolète depuis plusieurs années.

Cependant, j'en ai trouvé quelques-uns qui semblent toujours d'actualité:

Jquery-Markedit - Ceci a été dérivé de wmd-edit il y a un certain temps et refactorisé pour utiliser jQuery. Semble bon à première vue.

EpicEditor - est également toujours maintenu, possède un analyseur flexible et, comme vous pouvez le voir ci-dessous, l'auteur est très réactif (voir ci-dessous). Il semble également avoir une bonne documentation. Malheureusement, ne fonctionne pas avec IE9.

MarkdownDeep est une troisième option qui est toujours en cours. Le point intéressant avec celui-ci est le support de Markdown Extra. A une dépendance sur JQuery (en fait, vous pouvez également l'implémenter sans JQuery). Basée sur la version .NET, la documentation est donc plus alignée sur celle que la version JS. Cela fonctionne également avec IE9. Il est très facile à utiliser (avec JQuery) et très simple. Pour autant que je sache, aucun développement significatif ne se produit avec cela.

js-markdown-extra est un port assez précis de la bibliothèque PHP et est toujours en maintenance. Il supporte Markdown Extra bien sûr.

3
Julian Knight

La question est ancienne mais j'espère que cela pourrait aider quelqu'un. Je viens de publier récemment une version de travail de mon propre éditeur de démarque Javascript, edit . Vous pouvez trouver le code source ici . Il fonctionne sur la plupart des navigateurs (y compris IE6 +) et ne dépend d'aucune bibliothèque JS externe.

2
schmrz

Après avoir essayé avec plusieurs plugins pour résoudre mes propres besoins en offrant un seudo-WYSIWYG MarkDown, j'ai mis en œuvre mon propre:

Peut-être n'est pas aussi puissant que toutes les solutions commentées ici mais je pense qu'aucune n'est aussi simple et facile à intégrer et à personnaliser .

2
fguillen