2009-03-13 16 views
50

Sto cercando un programma "diff to html", che genera una pagina html statica da un determinato file diff/patch.programma diff in html (diff2html)

Naturalmente ho cercato su Google, ma a parte alcuni script ho trovato che non esiste un "progetto reale" (ad esempio nessun pacchetto in Debian/Ubuntu).

Ho perso qualcosa? Puoi raccomandare qualcosa?

+0

https: // diff2html.xyz/sembra che risponda alla tua domanda (per chiunque altro guardi) – scp

risposta

2

Io uso htmlize in Emacs. Non viene fornito con Emacs e presuppone che tu stia utilizzando Emacs. Si basa sull'evidenziazione della sintassi della modalità Diff di Emacs. Vale solo per fare un file alla volta. Fa la cosa giusta per me.

+1

Una volta installato con Mx package-install htmlize (all'interno di emacs), puoi semplicemente chiamare emacs come 'emacs --file fms-src-77-to- 78.diff -f htmlize-file -f kill-emacs' (anche se questo richiede ancora di premere invio una volta) –

9
+2

Questi 3 strumenti sembrano generare file diff. Penso che la domanda iniziale fosse la richiesta di diffondere le differenze già generate. – jarjar

+0

Per una versione online, controlla http://changedetection.com/ e http://imnosy.com/ – onassar

23

pygments ha l'evidenziazione della sintassi per diff (e per molti altri linguaggi) e può essere utilizzato come libreria o programma da riga di comando. È questo il genere di cose che stai cercando? In caso contrario prega di chiarire la questione ...

+1

I Pygments sono fantastici, è un peccato che non supportano il rendering diff side by side. – icco

+11

Questo è stato utile per me: 'diff -U9999999 -y file_before.php file_after.php | pygmentize -l diff -f html -O full -o file_diff.html' – jwhitlock

+0

@jwhitlock eccellente! Molte grazie. Dovevo selezionare '-u' invece di' -y' (fianco a fianco), altrimenti diff lamentava "opzioni di stile di output in conflitto". –

4

C'è anche 2html in Vim, che funziona molto bene, ed è incorporato: ci vuole un file che Vim sa come evidenziare la sua sintassi, e crea un HTML con la formattazione corretta. Per utilizzarlo, basta aprire il file desiderato con Vim e avviare lo script 2html. Si aprirà il file convertito in un nuovo buffer, che può essere salvato. Qui:

vim example.diff 

e poi in Vim,

:so /usr/share/vim/vim72/syntax/2html.vim 
:wqa 
6

Hai provato http://prettydiff.com/ come ignora le differenze di spazi bianchi e commenti.

[Disclaimer: questo è il mio sito]

26

È possibile utilizzare diff2html.py che è in grado di creare un diff fianco a fianco in una pagina HTML statica, da un ingresso diff unificato. Lo script è scritto in python.

cat foo.diff | python diff2html.py > foo.html 
15

Qualcosa sulla falsariga di:

vim test.diff -c TOhtml -c ":saveas test.html" -c ":q" -c ":q" 

funziona bene, ed è possibile modificare il colore-schema del diff cambiando la combinazione di colori in vi.

+0

Grazie per aver menzionato TOhtml! Fa miracoli! –

+0

E funziona anche per Vimdiff! –

3

Il migliore che ho trovato che produce belle diff side-by-side è questo script:

http://tools.ietf.org/tools/rfcdiff/

Anche se è stato progettato per essere utilizzato su RFC funziona con qualsiasi file di testo.

Questo progetto ha anche l'uscita bello, ma non sono sicuro se può essere utilizzato senza eversione: http://code.google.com/p/coderev/

3

ho trovato coderev, demo sembra piacevole