diff2html-cli alternatives and similar modules
Based on the "Command Line Apps" category.
Alternatively, view diff2html-cli alternatives based on common mentions on social networks and blogs.
-
Babel
🐠 Babel is a compiler for writing next generation JavaScript. -
Standard
🌟 JavaScript Style Guide, with linter & automatic code fixer -
ignite
Infinite Red's battle-tested React Native project boilerplate, along with a CLI, component/model generators, and more! -
http-server
a simple zero-configuration command-line http server -
XO
❤️ JavaScript/TypeScript linter (ESLint wrapper) with great defaults -
Open Source CRM
Building a modern alternative to Salesforce. -
Live Server
A simple development http server with live reload capability. -
speed-test
Test your internet connection speed and ping using speedtest.net from the CLI -
rtail
rtail(1) - Terminal output to the browser in seconds, using UNIX pipes. -
David
:eyeglasses: Node.js module that tells you when your package npm dependencies are out of date. -
Whatspup
:white_square_button: WhatsApp chat from commandline/console/cli using GoogleChrome puppeteer -
pjs
Pipeable javascript. Quickly filter, map, and reduce from the terminal -
kill-tabs
Kill all Chrome tabs to improve performance, decrease battery usage, and save memory -
tty-table
Terminal table for Windows, Linux, and MacOS. Written in nodejs. Also works in browser console. Word wrap, padding, alignment, colors, Asian character support, per-column callbacks, and you can pass rows as objects or arrays. Backwards compatible with Automattic/cli-table. -
normit
Translations with speech synthesis in your terminal as a node package -
npm-name
Check whether a package or organization name is available on npm -
gh-home
Open the GitHub page of the given or current directory repo -
npm-home
Open the npm page, Yarn page, or GitHub repo of a package
Appwrite - The open-source backend cloud platform
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of diff2html-cli or a related project?
README
diff2html-cli
Diff to Html generates pretty HTML diffs from unified and git diff output in your terminal
Table of Contents
<!-- toc -->
<!-- tocstop -->
Features
Unified diff and Git diff input
line-by-line
andside-by-side
diffnew and old line numbers
inserted and removed lines
GitHub like style
Code syntax highlight
Line similarity matching
Online Example
Go to Diff2HTML
Distributions
Setup
npm install -g diff2html-cli
Usage
Usage: diff2html [ flags and/or options ] -- [git diff passthrough flags and options]
flag | alias | description | choices | default |
---|---|---|---|---|
-s | --style | Output style | line , side |
line |
--fct | --fileContentToggle | Adds a viewed checkbox to toggle file content | true , false |
true |
--sc | --synchronisedScroll | Synchronised horizontal scroll | true , false |
true |
--hc | --highlightCode | Highlight code | true , false |
true |
--su | --summary | Show files summary | closed , open , hidden |
closed |
-d | --diffStyle | Diff style | word , char |
word |
--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 |
|
--diffMaxChanges | Number of changed lines after which a file diff is deemed as too big and not displayed | |||
--diffMaxLineLength | Number of characters in a diff line after which a file diff is deemed as too big and not displayed | |||
--renderNothingWhenEmpty | Render nothing if the diff shows no change in its comparison | false |
||
--maxLineSizeInBlockForComparison | Maximum number of characters of the bigger line in a block to apply comparison | 200 |
||
--maxLineLengthHighlight | Maximum number of characters in a line to apply highlight | 10000 |
||
--hwt | --htmlWrapperTemplate | Path to custom template to be rendered when using the html output format |
[string] |
|
-t | --title | Page title for html output |
[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 |
Exit Status Codes
- :tada: 0: Success
- :dizzy_face: 1: Generic Error
- :cold_sweat: 3: Input diff is empty
- :cop: 4: Value of
--hwt | --htmlWrapperTemplate
is not a valid file
Custom HTML wrapper template
The template is a very based on a simple replace of several placeholders as coded https://github.com/rtfpessoa/diff2html-cli/blob/master/src/cli.ts#L40
To provide a custom template you need to make sure you have the following comments and imports in your HTML, exactly as they are here:
- Inside the
<head>
tag
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/styles/github.min.css" />
<!--diff2html-css-->
<!--diff2html-js-ui-->
<script>
document.addEventListener('DOMContentLoaded', () => {
const targetElement = document.getElementById('diff');
const diff2htmlUi = new Diff2HtmlUI(targetElement);
//diff2html-fileListToggle
//diff2html-synchronisedScroll
//diff2html-highlightCode
});
</script>
- Inside the
<body>
tag
<div id="diff">
<!--diff2html-diff-->
</div>
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
diff2html --ig package-lock.json --ig yarn.lock
- Ignore
package-lock.json
andyarn.lock
from the generated diff
NOTE: notice the --
in the examples
Contribute
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.
Developing
Make some changes, yarn build
and then ./bin/diff2html
😉
License
Copyright 2014-present Rodrigo Fernandes. Released under the terms of the MIT license.
Thanks
This project is inspired in pretty-diff by Scott González.
*Note that all licence references and agreements mentioned in the diff2html-cli README section above
are relevant to that project's source code only.