2009-09-05 10 views
13

In un sistema di gestione dei contenuti, i moderatori devono approvare le modifiche agli articoli esistenti. Attualmente il sistema mostra la vecchia e la versione riveduta del testo in testo normale. È difficile trovare le differenze attuali.Ricerca di un componente diff basato sul web

In GoogleDocs, è presente una funzionalità 'Confronta revisioni' che evidenzia le differenze tra due documenti.

Se c'è un componente gratuito là fuori che fa la stessa cosa?

In caso contrario, scriverebbe un componente di questo tipo in JavaScript o sul lato server?

Tutti i soliti strumenti diff sono applicazioni desktop.

+0

troverete alcune indicazioni a http: //stackoverflow.com/questions/206205/stackoverflow-diff-system –

risposta

10

John Resig ne ha scritto uno in JavaScript che sembra interessante.

Here it is.

+0

Molto bello. – Sampson

+0

Se è abbastanza buono per il signor Resig, è abbastanza buono per me. Piccolo e utilizzabile sul client indipendentemente dal contenuto del server. Grazie. –

3

jsdifflib si presenta come un'interessante libreria laterale client basata su javascript. Vorrei appoggiarmi fortemente a un'implementazione lato client se fornisse le funzionalità di cui avevi bisogno. Perché tassare i tuoi server sulla logica della presentazione quando stai già consegnando al cliente i dati?

+0

Dopo aver implementato questo ho capito che se l'articolo è come 100k con piccole modifiche, l'utente deve scaricare 200k di testo o che vengono visualizzati solo 100k. Quindi se hai pezzi di contenuto grandi potrebbe essere meglio fare la differenza sul server. –

+0

Sì, questo è l'altro lato di esso. –

3

Provare lo strumento Pretty Diff. È basato su jsdifflib, ma è migliorato per evidenziare le differenze di carattere e ricostruito per la velocità. Confronta anche il codice minificato con il codice non ancora risolto. È interamente scritto in JavaScript e supporta l'input di JavaScript, CSS e XML/XHTML.

http://prettydiff.com/

1

Partenza biblioteca diff JavaScript wikEd diff. Viene utilizzato su Wikipedia nel gadget wikEdDiff esattamente per lo scopo richiesto per confrontare le revisioni degli articoli. La libreria gratuita (di dominio pubblico) è in grado di rilevare ed evidenziare le mosse dei blocchi, di lavorare a livello di parola/carattere e di estrarre un testo ben formattato con inserimenti, cancellazioni, blocchi spostati e le loro posizioni originali marcate. Vedere lo demo online per giocare con le impostazioni.

0

Il Diff, Match and Patch Library è disponibile con un'identica API in JavaScript, Java, C#, Python e altre lingue. (Sembra che sia stato e possa essere ancora quello used in Google Docs.)

C'è uno online demo dell'output HTML delle opzioni di diff'ing.

Data l'API identico accessibile entrambe le lingue client-e lato server, dovrebbe essere più facile per fare uno switch tra di loro si dovrebbe decidere che si desidera ...

Problemi correlati