Je suis intéressé par l'analyse sélective du balisage XML de Mediawiki pour générer une page HTML personnalisée qui est un sous-ensemble du code HTML produit par le moteur de rendu PHP Mediawiki. Je le veux pour BzReader, un lecteur de vidage compressé Mediawiki hors ligne écrit en C#. Donc, un analyseur C# serait idéal, mais tout bon code aiderait. Bien sûr, si personne ne l'a fait auparavant, je suppose qu'il est temps de commencer un projet en conservant un analyseur Mediawiki gratuit et séparé, basé sur l'analyseur de Mediawiki, mais moins étroitement intégré à Mediawiki lui-même. Donc, est-ce que quelqu'un connaît une base que je pourrais commencer, ce serait mieux que le piratage à partir du code PHP MediaWiki?Code de l'analyseur open-source pour le balisage Mediawiki
Répondre
Il y a une liste des parseurs sur http://www.mediawiki.org/wiki/Alternative_parsers, mais un analyseur C# est pas inclus là ...
J'ai eu quelques mots à dire sur les modèles Mediawiki here. Intéressant qu'il y ait une liste de parseurs alternatifs maintenant, je devrai enquêter là-dessus.
Mise à jour
nu à l'esprit ScrewTurn ne colle pas à la syntaxe Mediawiki mais utilise sa propre variation qui fait varier un peu.
La syntaxe Mediawiki ne se prête pas à l'analyseur LALR (ou même à LL *) car elle comporte beaucoup d'ambiguïtés dans sa définition et autorise également le HTML. Il ya une discussion sur ce in this question, vous êtes essentiellement coincé avec l'écriture de votre propre analyseur et tokenizer plutôt que d'écrire simplement un fichier BNF pour cela et ensuite en utilisant ANTLR/Gold/Irony.
Roadkill Wiki utilise un Creole parser pour son analyse Mediawiki, mais avec un support limité.
ScrewTurn est publié sous la licence GPL, et dispose d'un analyseur C#:
- Screwturn license
- Screwturn source download (malheureusement, il n'y a pas svn web)
La classe que vous êtes après est Core.Formatter qui a beaucoup de regex pour faire son travail:
public static class Formatter {
}
Ce n'est pas le plus beau code "mais ça marche".
Merci! Excellente ressource –
@Chris S: En d'autres termes: ce n'est pas un analyseur mediawiki ... –
- 1. Mediawiki + Lucene: Comment supprimer un balisage?
- 2. Suggestion pour le balisage sémantique
- 3. Comportement impairs dans le balisage par rapport au code
- 4. balisage sémantique pour le difflib.HtmlDiff Python
- 5. Module Python pour le balisage wiki
- 6. MediaWiki recursiveTagParse renvoie false
- 7. Base de données d'objets opensource?
- 8. Existe-t-il un code Opensource pour l'analyse de SQL Server Proc?
- 9. Balisage XAML pour utiliser DecimalConverter?
- 10. Script pour ajouter un utilisateur à MediaWiki
- 11. Truncate mediawiki
- 12. Contribuer à OpenSource
- 13. Quelqu'un connaît un bon embellisseur pour le balisage VS2005/ASP.NET?
- 14. Langage de balisage léger pour Python
- 15. Comment ajouter un groupe d'utilisateurs pour mediawiki?
- 16. Nginx nettoyer les urls réécrire pour Mediawiki
- 17. Plusieurs UILabels pour afficher le balisage XML décoré
- 18. Décompilateur C/C++ opensource
- 19. Suggestions de noms pour l'organisation OpenSource et MVC CMS Projet
- 20. attraper des exceptions dans le balisage asp.net
- 21. Devrais-je désinfecter le balisage HTML pour un CMS hébergé?
- 22. Pages protégées dans MediaWiki
- 23. équations LaTeX dans MediaWiki
- 24. render_to_string balisage de suppression
- 25. MediaWiki payment gateway
- 26. Idées de projets en Java ou opensource
- 27. Quels projets opensource C++ ont une qualité de code très élevée?
- 28. Générateur Free/OpenSource .NET Diff?
- 29. Refrappage XAML - Comment extraire le balisage commun
- 30. Projet OpenSource avec beaucoup de WCF?
Pour l'intégration de .net, il pourrait cependant utiliser du fer python. –
J'ai abandonné après quelques heures en essayant d'utiliser du fer python avec ces bibliothèques python. Trop compliqué ... – jjxtra
Cette liste est ancienne et non mise à jour. – ALOToverflow