Fast Diff to colorized HTML
npm install @nullcc/diff2html-cli





![node]()
![npm]()


Diff to Html generates pretty HTML diffs from unified and git diff output in your terminal
* Unified diff and Git diff input
* line-by-line and side-by-side diff
* new and old line numbers
* inserted and removed lines
* GitHub like style
* Code syntax highlight
* Line similarity matching
> Go to Diff2HTML
* WebJar
* Node CLI
* Manually download and import rtfpessoa/diff2html/dist/diff2html.min.js into your page
npm install -g diff2html-cli
Usage: diff2html [options] -- [diff args]
| flag | alias | description | choices | default |
| --- | --- | --- | --- | --- |
| -s | --style | Output style | line, side | line |
| --sc | --synchronisedScroll | Synchronised horizontal scroll | true, false | true |
| --su | --summary | Show files summary | closed, open, hidden | closed |
| --lm | --matching | Diff line matching type | lines, words, none | none |
| --lmt | --matchWordsThreshold | Diff line matching word threshold | | 0.25 |
| --lmm | --matchingMaxComparisons | Diff line matching maximum line comparisons of a block of changes | 2500 |
| --hwt | --htmlWrapperTemplate | Path to custom template to be rendered when using the html output format | _[string]_ |
| -f | --format | Output format | html, json | html |
| -i | --input | Diff input source | file, command, stdin | command |
| -o | --output | Output destination | preview, stdout | preview |
| -u | --diffy | Upload to diffy.org | browser, pbcopy, print | |
| -F | --file | Send output to file (overrides output option) | _[string]_ | |
| --ig | --ignore | Ignore particular files from the diff | _[string]_ | |
| -v | --version | Show version number | | |
| -h | --help | Show help | | |
Examples:
diff2html -s line -f html -d word -i command -o preview -- -M HEAD~1
- diff last commit, line by line, word comparison between lines, previewed in the browser and input from git diff command
diff2html -i file -- my-file-diff.diff
- reading the input from a file
diff -u file1.txt file2.txt | diff2html -i stdin
- reading diff from stdin
diff2html -f json -o stdout -- -M HEAD~1
- print json format to stdout
diff2html -F my-pretty-diff.html -- -M HEAD~1
- print to file
diff2html -F my-pretty-diff.html --hwt my-custom-template.html -- -M HEAD~1
- print to file using custom markup templates can include the following variables:
- - writes default CSS to page
- - writes default JavaScript UI scripts to page
- //diff2html-fileListCloseable - writes code to support selected list interaction, must be within a block
- //diff2html-synchronisedScroll - writes code to support selected scroll interaction, must be within a block
- - writes diff content to page
diff2html --ig package-lock.json --ig yarn.lock
- Ignore package-lock.json and yarn.lock from the generated diff
_NOTE_: notice the -- in the examples
This is a developer friendly project, all the contributions are welcome.
To contribute just send a pull request with your changes following the guidelines described in CONTRIBUTING.md.
I will try to review them as soon as possible.
Make some changes and then node src/main.js 😉
Copyright 2014-2019 Rodrigo Fernandes. Released under the terms of the MIT license.
This project is inspired in pretty-diff by Scott González.
---
cat xxx.diff | diff2html -c coverage.json -i stdin -F diff_coverage.html