2009-06-22 9 views

Respuesta

3

En realidad, es un formato increíblemente difícil de analizar. Puedes intentar separar el componente del analizador de la wiki de los medios (ya que también es php), pero es un desastre enredado. He visto unos pocos independientes parciales que hacen un trabajo casi razonable para un subconjunto muy limitado del marcado.

Si le sucede a implementar uno o refactorizar la actual Wikipedia que me haga saber, ya que podría ser muy útil.

6

Ben Hughes tiene razón. Es muy difícil hacerlo bien, especialmente si desea analizar artículos reales de grandes wikis como la propia Wikipedia con el 100% de precisión. Se discute con frecuencia en la lista de distribución de wikitech y no se ha encontrado ningún analizador alternativo a pesar de muchos intentos.

En primer lugar, no es realmente un programa de análisis en el que no tiene ningún concepto como un AST (árbol de sintaxis abstracta). Es un convertidor que convierte específicamente a HTML.

En segundo lugar no caen en la trampa de pensar de wikitexto como un lenguaje de marcado que se puede extender en raras ocasiones con HTML. Debes pensarlo como una extensión de HTML. Es mucho más fácil agregar soporte wikitext a un analizador HTML que agregar soporte HTML a un analizador wikitext.

Lo que esto se reduce a es que si quieres cualquier otro formato que tendrá que convertir de HTML a ese formato.

Básicamente se afirma que solo MediaWiki puede analizar el texto de wikitexto. Pero sí, el analizador está estrechamente integrado con el resto del código. Los piratas informáticos experimentados de MediaWiki no reaccionan bien ante las preguntas sobre el aislamiento del analizador. Lo he intentado (-:

Pero también he seguido y lo he aislado de todos modos. Aún no está completo o listo para compartirlo con nadie. desea comenzar con el origen de MediaWiki no instalado o conectado a una base de datos o servidor web. Haga un programa de código PHP que incluya el analizador y llame a un punto de entrada. Verifique el error cuando no se ejecute y cree un código falso para la clase , función o global al que se accedió. Repita hasta que haya tropezado la mayoría de los lugares que el analizador interactúa con el resto de MediaWiki.

El problema entonces es mantener la variante cortada pirateada sincronizada porque el árbol fuente cambia rápidamente y los wikis en vivo abrazan los cambios en el analizador sintáctico muy rápidamente y su variante tendrá que mantenerse al día si va a funcionar en el futuro.

Compruebe hacia fuera mi solicitud de función: Bug 25984 - Isolate parser from database dependencies

+1

al menos parece que hay alguna [documentación hoy en día ...] (https://doc.wikimedia.org/mediawiki-core/master/php/classParser.html#details) – mb21

Cuestiones relacionadas