Proverei a hackerare un po 'il codice di MediaWiki, ma ho capito che non sarebbe necessario se riuscissi a ottenere un parser indipendente.Dove posso trovare un buon parser MediaWiki Markup in PHP?
Qualcuno può aiutarmi con questo?
Grazie.
Proverei a hackerare un po 'il codice di MediaWiki, ma ho capito che non sarebbe necessario se riuscissi a ottenere un parser indipendente.Dove posso trovare un buon parser MediaWiki Markup in PHP?
Qualcuno può aiutarmi con questo?
Grazie.
In realtà è un formato incredibilmente difficile da analizzare. Puoi provare a separare il componente parser dal wiki multimediale (dato che è anche php), ma è un pasticcio intricato. Ne ho viste alcune parzialmente autonome che fanno un lavoro quasi ragionevole per un sottoinsieme molto limitato del markup.
Se ti capita di implementarne uno, o di rifattorizzare l'attuale wikipedia fammi sapere come potrebbe essere abbastanza utile.
Ben Hughes ha ragione. È molto difficile avere ragione, specialmente se si vogliono analizzare articoli veri da grandi wiki come Wikipedia con il 100% di accuratezza. È discusso frequentemente nella mailing list di wikitech e nessun parser alternativo ha inventato la merce nonostante molti tentativi.
In primo luogo non è un parser in quanto non ha un concetto come un AST (abstract syntax tree). È un convertitore che converte in modo specifico in HTML.
In secondo luogo non cadere nella trappola di pensare a wikitext come a un linguaggio di markup che può essere esteso in rare occasioni con HTML. Devi considerarlo come un'estensione dell'HTML. È molto più semplice aggiungere il supporto wikitext a un parser HTML piuttosto che aggiungere il supporto HTML a un parser wikitext.
Ciò che si riduce a questo è che se si desidera qualsiasi altro formato sarà necessario convertire da HTML a tale formato.
Fondamentalmente si afferma che solo MediaWiki può analizzare wikitext. Ma sì, il parser è strettamente integrato con il resto del codice. Gli hacker con esperienza MediaWiki non reagiscono bene alle domande sull'isolamento del parser - Ho provato (-:
Ma ho anche proseguito e l'ho isolato comunque. Non è completo o pronto a condividerlo con nessuno. vuoi iniziare con la sorgente MediaWiki non installata o connessa a un database o server Web. Crea un programma stub PHP che include il parser e chiama un punto di ingresso Controlla l'errore quando non riesce a eseguire e crea uno stub falso per la classe , la funzione, o globale che è stata letta. Ripetere fino ad aver spense la maggior parte dei luoghi del parser interagisce con il resto del MediaWiki.
il problema arriva quindi a mantenere la variante stubbed hacked in sincronia, perché l'albero dei sorgenti cambia rapidamente e le wiki in tempo reale abbracciano i cambiamenti nel parser molto rapidamente e la tua variante dovrà tenere il passo se si vuole lavorare nel futuro.
controllare il mio richiesta di funzionalità: Bug 25984 - Isolate parser from database dependencies
almeno sembra esserci qualche [documentazione oggigiorno ...] (https://doc.wikimedia.org/mediawiki-core/master/php/classParser.html#details) – mb21
Non un duplicato esatto, ma si veda questa domanda: http://stackoverflow.com/questions/324758/open-source-parser-code-for-mediawiki-markup –