Otra forma es lo que hace Redmine: utiliza RedCloth 3 y monkey patch para
agregarle "reglas" de parseo (por supuesto, imaginate que jamás podrán
actualizar a RedCloth 4)...

2009/6/6 Aureliano Calvo <[email protected]>

> >> Hola,
> >> estoy buscando una biblioteca que genere HTML a partir de markup de
> >> wikis. Lo que quiero es agregarle formas de generar links. También
> >> necesito que idealmente soporte definition lists
> >> (http://www.w3.org/TR/REC-html32#dl).
> >
> > No conozco ninguno que soporte <dl />s
> >
> >>
> >> Estuve pispeando RedCloth (Textile) y bluecloth (Markdown) pero
> >> ninguna de las 2 me convenció. El markup es demasiado "técnico" y no
> >
> > Textile (RedCloth) es bastante más técnico que Markdown (BlueCloth), pero
> > RedCloth (particularmente la última versión) está mejor implementado y
> > soportado, lamentablemente.
> >
> > El motivo de que sea una buena implementación, es que para el parseo
> define
> > la gramática en Ragel[1] (y éste genera código Ruby que parsea). Veo
> difícil
> > que sea extensible, ¡a menos que vayas a la fuente!.
> >
> > Si tenés ganas de investigar un poquito, fijate cómo está implementado
> > SuperRedCloth (RedCloth 4).
> >
> >> encontré que se pueda agregar/sacar reglas fácilmente. Idealmente, la
> >> biblioteca debería ser algo parecido a la biblioteca de PHP Text_wiki
> >> (http://pear.reversefold.com/dokuwiki/doku.php?id=text_wiki).
> >
> > Una alternativa que apunta a ser modular en este sentido (quizá
> demasiado)
> > es Maruku[2]. Es una reimplementación de BlueCloth con la idea de
> soportar
> > múltiple sintáxis de entrada y salida. Desconozco cuán maduro está -- de
> > hecho pensá que estaba abandonado hasta que recién me fijé y tienen un
> > release reciente. La contra de este approach es que para el parseo no
> > utiliza máquinas de estado (supongo que usará regexps) lo que es más
> difícil
> > de mantener (suelen surgir bugs inexplicables, inencontrables e
> > irresolubles).
> >
> > [1] Ragel es un "compilador de máquinas de estado", ideal para parsers
> (el
> > ejemplo más claro es Mongrel de Zed Shaw, cuyo parser HTTP supera en
> algunas
> > pruebas de "correctitud" a Apache).
> > [2] http://maruku.rubyforge.org/
> >
> > Saludos,
> >
> > Nacho
>
> Muchas gracias por la información. Me parece que voy a hacer un clon
> del markup de trac y agregarle lo que tengo ganas. Cuando tenga código
> lo muestro por acá.
>
> Saludos,
> Aureliano.
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a