2012-07-01 6 views
7

Per il mio front-end Web devo implementare sottoinsiemi della sintassi wiki nel mio sistema. Devo specificare manualmente le regole e reinventare la ruota? C'è una libreria javascript esistente o un plugin jQuery che potrebbe aiutarci?Soluzione jQuery/Javascript per convertire il testo wiki in HTML e viceversa?

Ad esempio, un utente immette == Header == Poiché questo deve convertirsi ad un collettore mezzo per esempio (media supponendo è definita in questo contesto come un arco come sotto)

<span class="mediumHeader" id = "Header">Header</span> 

Ora, quando l'utente modifica sopra testo sto indovinando che sarà di sostituire il

<span...> ... </span> con ==...==

Ora, per ogni sistema che disegno questo sarà come da 'le mie regole' un Dovrà quasi sempre reinventare la ruota. C'è qualcosa che potrei usare per facilitare questo wiki da/verso la trasformazione HTML usando Jquery/Javascript? Sono sicuro che sia un problema con una soluzione conosciuta.

Preferirei personalizzare ciò che è accettabile e ciò che non è vale a dire che non tutto deve essere tradotto nella sintassi wiki (o HTML) solo sottoinsiemi di esso. Devo tirare il mio per la mia applicazione?

+0

Quale dialetto di wikitext? Ce ne sono molti e rispondere alla domanda non è molto possibile senza queste informazioni.Stai parlando del formato MediaWiki usato in Wikipedia? – hippietrail

risposta

5

È stato abbastanza lungo da non aver bisogno di questo, ma il tuo è stato il primo SO colpito quando ho iniziato a guardarlo.

Ci sono un paio di opzioni javascript - probabilmente stai guardando instaview (controlla test/test.js), o forse Wiky.js (il meno completamente documentato).

Se non sei limitato a Javascript, consulta l'elenco completo dei parser MediaWiki a http://www.mediawiki.org/wiki/Alternative_parsers - molti strumenti per C++, Java, Perl, ruby ​​e altro. Questo è il link per vedere nuovi sviluppi.

3

Al momento della scrittura, Parsoid sembra essere l'unico che si traduce in entrambe le direzioni. Questo alimenta anche l'editor visivo su Wikipedia. Ma questa non è una pratica lib di client-site da includere nella tua app, ma una vera e propria suite server di analisi e trasformazione. È possibile accedere a una versione di produzione di Parsoid sul cluster di Wikimedia allo http://parsoid-lb.eqiad.wikimedia.org/.

altre librerie JavaScript, che sta traducendo da wikitext al solo HTML (in ordine di popolarità), sono:

  • Wiky.js - non supporta la sintassi completa wikitext. (da tanin47, da non confondere con Wiki.js da Requarks - un altro progetto completamente)
  • wtf_wikipedia - non sta traducendo direttamente in HTML ma JSON, il che si traduce in possibilità molto più potenti (es. info-box come chiave- coppie di valori). Questa è la libreria più aggiornata e "è una combinazione di instaview, txtwiki e utilizza i dati inter-lingua dal parser javascript di Parsoid."
  • instaview - nessun aggiornamento negli ultimi 2 anni.

Verificare inoltre l'elenco corrente e completo di alternative MediaWiki parsers.

+1

Bella e completa domanda. Questa dovrebbe essere la risposta accettata. – Sebastialonso