2008-09-25 14 views
88

Quiero construir un sitio donde el usuario pueda ingresar texto y formatearlo en el marcado. La razón por la que me gustaría una solución de Javascript es porque quiero mostrar una vista previa en vivo, al igual que en StackOverflow.¿Hay alguna buena biblioteca o control de JavaScript Markdown?

Mi sitio no está dirigido a desarrolladores, sin embargo, por lo que un control de editor sería ideal.

Deduzco que en StackOverflow, el editor de WMD se está utilizando.

Una búsqueda rápida en Google también muestra la biblioteca Showdown, que creo que en realidad está siendo utilizada por WMD.

¿Hay alguna otra opción? ¿Ya están las grandes herramientas de WMD/Showdown? ¿Cuáles han sido tus experiencias con las diferentes opciones?

Respuesta

33

Si usted no es adversa a la utilización de Ajax para generar la vista previa en vivo, luego otra opción es markItUp!. markItUp! es un editor de marcas universales, y muy flexible. Proporciona una forma fácil de crear un editor de marcado, pero a diferencia de WMD, no proporciona su propia vista previa en vivo.

Utilicé markItUp !, junto con un JSP simple (usando MarkdownJ) para uno de mis proyectos de código abierto (un Markdown plugin para Roller). Si está utilizando otra tecnología del lado del servidor, reemplace esa JSP simple según corresponda.

De hecho, comencé a usar esto antes de encontrar WMD. Estoy de acuerdo, las armas de destrucción masiva son geniales, pero solo han sido de código abierto y, en esta etapa, es más difícil personalizar el comportamiento de.

+0

MarkItUp! no maneja selección alternante y pegajosa. Este es mi editor de texto de código abierto ** Markdown ** basado en JavaScript. Es compatible con los atajos de teclado, cuadros de diálogo personalizados, gotas de encargo, y también es compatible con alguna selección ordenada de texto inteligente para animar a los usuarios que escriben ** ** de rebajas de sintaxis en un buen formato: https://github.com/tovic/markdown-text -editor –

7

Hasta donde yo sé realmente no hay otro editor basado en navegador para Markdown, al menos ninguno tan extenso como el editor de WMD.

Showdown es un convertidor de Markdown en JS, que forma la base para la vista previa HTML de WMD. Ambos están hechos por http://attacklab.net/.

Y hasta donde yo sé, no ha habido ninguna gran queja sobre ambos (al menos no en la lista de correo de Markdown). Entonces, adelante.

65

Hemos estado muy contento con armas de destrucción masiva. Sin embargo, hay algunos errores molestos. Nada importante, pero me gustaría amor si John Fraser (el autor) hizo el código de código abierto para que podamos arreglar algunos de ellos. Él prometió hacerlo, pero otros proyectos de la vida real se interponen en el camino.

Sí hago seguimiento con John todas las semanas. Publicaré en el blog una vez que la fuente de WMD esté finalmente disponible. No he podido contactar a John Fraser en más de un año.

Hemos código abierto tanto en la biblioteca de JavaScript de rebajas

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

y la biblioteca de rebajas C# del lado del servidor

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

+0

Gracias por la respuesta Jeff. Ni siquiera me di cuenta de que las armas de destrucción masiva no eran de código abierto ... Mantendré los ojos bien abiertos. – webmat

+2

¿Qué hiciste con el enorme agujero de seguridad? Por ejemplo:

hi
¡Lo anterior funciona en la demostración de WMD! – andrewrk

+1

@ superjoe30 Eso se filtra en el servidor. – epochwolf

2

La pregunta es antigua pero espero que esto podría ayudar a alguien. Recientemente publiqué una versión funcional de mi propio editor de marcas de Javascript, uedit. Puede encontrar el código fuente here. Funciona en la mayoría de los navegadores (incluido IE6 +) y no depende de ninguna biblioteca JS externa.

3

La pregunta es aún más antigua ahora, pero también es aún más relevante ya que gran parte del código mencionado lleva varios años desactualizado.

Sin embargo, encontré algunos que todavía parece actual:

Jquery-Markedit - Este fue fork de armas de destrucción masiva a editar hace bastante tiempo y rediseñado para usar jQuery. Parece bueno a primera vista.

EpicEditor - también se mantiene, tiene un analizador flexible y, como puede ver a continuación, el autor es muy receptivo (consulte a continuación). TI parece tener buena documentación también. Lamentablemente no funciona con IE9.

MarkdownDeep es una tercera opción que sigue vigente. El punto interesante con este es el soporte para Markdown Extra. Tiene una dependencia en JQuery (en realidad también puede implementar sin JQuery). Basado en la versión de .NET para que la documentación esté más alineada a eso que la versión de JS. Esto también funciona con IE9. Es muy fácil de usar (con JQuery) & muy simple. No hay desarrollo significativo ocurriendo con esto, aunque por lo que yo veo.

js-markdown-extra es un puerto bastante preciso de la biblioteca PHP y aún está en mantenimiento. Es compatible con Markdown Extra por supuesto.

+1

Las previsualizaciones en vivo funcionan bien con mi editor :) abra la pantalla completa como ejemplo o simplemente ejecute 'preview()' en el tiempo de espera o en el tiempo de espera. Está diseñado para cualquier tipo de personalización. –

+0

@OscarGodson gracias por señalar que +1 por estar atentos a las cosas! ¿Hay algún ejemplo de eso en la documentación? No pude verlo, aunque admito que no tuve mucho tiempo para mirar. Quizás pueda echar otro vistazo. –

+0

No hay un ejemplo de eso, específicamente no, porque la mayoría de las personas usa el alternar o la pantalla completa, no su propia vista previa personalizada. Sin embargo, si me das un caso de uso de ejemplo, puedo escribir un ejemplo para ti. –

2

Después de probar con varios plugins para resolver mis propias necesidades de ofrecer una MarkDown seudo-WYSIWYG terminé la implementación de mi propio uno:

Tal vez no es tan poderoso como todas las soluciones comentado aquí, pero creo que ninguno es tan simple y fácil de integrar y personalizar.

4

Strapdown.js, que era recently released, "hace que sea embarazosamente simple crear documentos de Markdown elegantes. No se requiere compilación en el servidor".

12

Recomendaría marked, que es liviano, eficiente, fácil de usar y es compatible con GitHub Flavoured Markdown (GFM) también. Se puede usar en los lados del servidor (nodojs) o del cliente (navegador).

Cuestiones relacionadas