Herramienta para convertir entre diferentes formatos de texto sin formato

Existen varios tipos de sintaxis de estructuración/formato de texto sin formato, por ejemplo:

  • Reducción
  • MediaWiki
  • XWiki
  • HTML

¿Existe una herramienta genérica (más fácil/más apropiada que reg-ex) que ayude a definir y ejecutar reglas de conversión?

Respuestas (2)

Pandoc (Licencia: GPL) puede importar:

  • reducción
  • Texto reestructurado
  • textil
  • HTML
  • Libro de documentos
  • Látex
  • marcado de MediaWiki
  • OPML
  • marcado de eglefino

y convertir a estos y varios otros formatos . (Se pueden agregar formatos personalizados con Lua).

Es un programa de línea de comandos independiente y viene con una biblioteca Haskell.

Puede probarlo en línea: http://johnmacfarlane.net/pandoc/try/

Con txt2tags ( https://txt2tags.org/ ), puede exportar a al menos 20 formatos diferentes, incluidos rtf (formato de texto enriquecido), latex, html, wikipedia, criollo, dokuwiki, texto reestructurado, markdown, spip, AsciiDoc. ..

Hay un importador de html para txt2tags ( https://wiki.txt2tags.org/index.php/Main/Html2wiki ) para que pueda hacer casi todo con él.

(editar) Para ser más completo en mi respuesta, sí, estoy usando txt2tags durante varios años (al menos 7 u 8).

El único inconveniente que se me ocurre es que es menos conocido que, por ejemplo, Markdown, pero es más antiguo (desde 2001) y, en mi opinión, mejor (más personalizable, más extensible, más lógico y no fragmentado en su sintaxis).

Tiene una implementación de python 2 para todas las exportaciones mencionadas anteriormente y una implementación de php solo para la exportación de html.

Puede crear reglas de exportación especiales con un nuevo módulo de definición de sintaxis o con expresiones regulares. Para el primero, es bastante fácil, por ejemplo, aquí está la regla de exportación para negrita en el módulo html:

'fontBoldOpen'         : '<B>'            ,
'fontBoldClose'        : '</B>'           ,

Con expresiones regulares, puede hacerlo en su documento o como un archivo de configuración.

Por ejemplo, para usar strong en lugar de b en su salida html, puede crear esta regla:

%!postproc: '<b>' '<strong>'
%!postproc: '</b>' '</strong>'
¡Bienvenido a Recomendaciones de software! Favorecemos la experiencia personal en las respuestas, entonces, ¿usó esta herramienta? ¿Cuáles son tus experiencias? ¿Tiene algunos inconvenientes o partes difíciles que deberían mencionarse? ¿En qué sistema operativo se ejecuta? Consulte este meta para saber cómo hacer que esta respuesta sea excelente: meta.softwarerecs.stackexchange.com/questions/356/…