2012-07-01 24 views
7

Para mi interfaz web tengo que implementar subconjuntos de la sintaxis wiki en mi sistema. ¿Debo especificar manualmente las reglas y reinventar la rueda? ¿Hay una biblioteca javascript existente o un plugin jquery que pueda ayudarlo?¿Solución Jquery/Javascript para convertir texto wiki a HTML y viceversa?

Por ejemplo, un usuario introduce == Header == Dado que este necesita conseguir convertido a una cabecera de medio por ejemplo (medio asumiendo se define en este contexto como un intervalo de como abajo)

<span class="mediumHeader" id = "Header">Header</span> 

Ahora, cuando el usuario edita la anteriormente texto que supongo que va a implicar la sustitución de la

<span...> ... </span> con ==...==

Ahora para cada sistema que diseño esto será según mis reglas "una d casi siempre tendrá que reinventar la rueda. ¿Hay algo que pueda usar para facilitar este wiki a/desde la transformación HTML usando Jquery/Javascript? Estoy seguro de que es un problema con una solución conocida.

Preferiría personalizar lo que es aceptable y lo que no, es decir, no tengo todo para traducir a la sintaxis wiki (o HTML) solo subconjuntos de la misma. ¿Debería lanzar el mío para mi aplicación?

+0

¿Qué dialecto de wikitext? Hay muchos y responder la pregunta no es muy posible sin esa información.¿Estás hablando del formato MediaWiki como se usa en Wikipedia? – hippietrail

Respuesta

5

Ha pasado el tiempo suficiente para que no lo necesites, pero el tuyo fue el éxito de SO más importante cuando comencé a investigarlo.

Hay un par de opciones de Javascript; probablemente esté buscando en instaview (consulte test/test.js), o quizás Wiky.js (la documentación está menos documentada).

Si no está limitado a Javascript, consulte la lista exhaustiva de analizadores MediaWiki en http://www.mediawiki.org/wiki/Alternative_parsers - muchas herramientas para C++, Java, Perl, ruby ​​y más. Ese es el enlace para ver los nuevos desarrollos.

3

Al momento de escribir, Parsoid parece ser el único que se traduce en ambas direcciones. Este también impulsa el editor visual en Wikipedia. Pero esta no es una librería de sitio de cliente útil para incluir en su aplicación, sino un conjunto completo de servidores de análisis y transformación. Se puede acceder a una versión de producción de Parsoid en el clúster de Wikimedia al http://parsoid-lb.eqiad.wikimedia.org/.

Otras bibliotecas de JavaScript, que se traduce de Wikitext a sólo HTML (ordenados por popularidad), son los siguientes:

  • Wiky.js - no es compatible con la sintaxis Wikitext completa. (por tanin47, no se debe confundir con Wiki.js de Requarks - un proyecto completamente diferente)
  • wtf_wikipedia - no se está traduciendo directamente a HTML pero a JSON, lo que da como resultado posibilidades mucho más potentes (por ejemplo, cuadros de información como clave- pares de valores). Esta es la biblioteca más actualizada y "es una combinación de instaview, txtwiki y utiliza los datos entre idiomas del analizador JavaScript de Parsoid."
  • instaview - sin actualizaciones en los últimos 2 años.

También puede consultar la lista actual y completa de alternative MediaWiki parsers.

+1

Pregunta bonita y completa. Esta debería ser la respuesta aceptada. – Sebastialonso

Cuestiones relacionadas