diff2html
Advanced tools
Comparing version 0.2.0-6 to 0.2.0-7
{ | ||
"name": "diff2html", | ||
"version": "0.2.0-6", | ||
"version": "0.2.0-7", | ||
@@ -5,0 +5,0 @@ "homepage": "https://www.github.com/rtfpessoa/diff2html-nodejs", |
@@ -19,7 +19,19 @@ /* | ||
/* | ||
* config | ||
* { | ||
* "wordByWord" : true (default) | ||
* OR | ||
* "charByChar" : true | ||
* } | ||
* | ||
*/ | ||
/* | ||
* Generates pretty html from string diff input | ||
*/ | ||
Diff2Html.prototype.getPrettyHtmlFromDiff = function (diffInput) { | ||
Diff2Html.prototype.getPrettyHtmlFromDiff = function (diffInput, config) { | ||
var diffJson = diffParser.generateDiffJson(diffInput); | ||
return htmlPrinter.generateLineByLineJsonHtml(diffJson); | ||
var configOrEmpty = config || {}; | ||
return htmlPrinter.generateLineByLineJsonHtml(diffJson, configOrEmpty); | ||
}; | ||
@@ -37,4 +49,5 @@ | ||
*/ | ||
Diff2Html.prototype.getPrettyHtmlFromJson = function (diffJson) { | ||
return htmlPrinter.generateLineByLineJsonHtml(diffJson); | ||
Diff2Html.prototype.getPrettyHtmlFromJson = function (diffJson, config) { | ||
var configOrEmpty = config || {}; | ||
return htmlPrinter.generateLineByLineJsonHtml(diffJson, configOrEmpty); | ||
}; | ||
@@ -45,5 +58,7 @@ | ||
*/ | ||
Diff2Html.prototype.getPrettySideBySideHtmlFromDiff = function (diffInput) { | ||
Diff2Html.prototype.getPrettySideBySideHtmlFromDiff = function (diffInput, config) { | ||
var diffJson = diffParser.generateDiffJson(diffInput); | ||
return htmlPrinter.generateSideBySideJsonHtml(diffJson); | ||
var configOrEmpty = config || {}; | ||
return htmlPrinter.generateSideBySideJsonHtml(diffJson, configOrEmpty); | ||
}; | ||
@@ -54,4 +69,5 @@ | ||
*/ | ||
Diff2Html.prototype.getPrettySideBySideHtmlFromJson = function (diffJson) { | ||
return htmlPrinter.generateSideBySideJsonHtml(diffJson); | ||
Diff2Html.prototype.getPrettySideBySideHtmlFromJson = function (diffJson, config) { | ||
var configOrEmpty = config || {}; | ||
return htmlPrinter.generateSideBySideJsonHtml(diffJson, configOrEmpty); | ||
}; | ||
@@ -58,0 +74,0 @@ |
@@ -17,3 +17,3 @@ /* | ||
LineByLinePrinter.prototype.generateLineByLineJsonHtml = function (diffFiles) { | ||
LineByLinePrinter.prototype.generateLineByLineJsonHtml = function (diffFiles, config) { | ||
return "<div class=\"d2h-wrapper\">\n" + | ||
@@ -33,3 +33,3 @@ diffFiles.map(function (file) { | ||
" <tbody class=\"d2h-diff-tbody\">\n" + | ||
" " + generateFileHtml(file) + | ||
" " + generateFileHtml(file, config) + | ||
" </tbody>\n" + | ||
@@ -44,3 +44,3 @@ " </table>\n" + | ||
function generateFileHtml(file) { | ||
function generateFileHtml(file, config) { | ||
return file.blocks.map(function (block) { | ||
@@ -82,3 +82,4 @@ | ||
var diff = printerUtils.diffHighlight(oldEscapedLine, newEscapedLine, file.isTripleDiff); | ||
config.isTripleDiff = file.isTripleDiff; | ||
var diff = printerUtils.diffHighlight(oldEscapedLine, newEscapedLine, config); | ||
@@ -85,0 +86,0 @@ processedOldLines += generateLineHtml(oldLine.type, oldLine.oldNumber, oldLine.newNumber, diff.o); |
@@ -10,2 +10,3 @@ /* | ||
// dirty hack for browser compatibility | ||
var jsDiff = (typeof JsDiff !== "undefined" && JsDiff) || require("../lib/diff.js"); | ||
@@ -28,3 +29,3 @@ | ||
PrinterUtils.prototype.diffHighlight = function (diffLine1, diffLine2, isTripleDiff) { | ||
PrinterUtils.prototype.diffHighlight = function (diffLine1, diffLine2, config) { | ||
var lineStart1, lineStart2; | ||
@@ -34,3 +35,3 @@ | ||
if (isTripleDiff) prefixSize = 2; | ||
if (config.isTripleDiff) prefixSize = 2; | ||
@@ -43,4 +44,9 @@ lineStart1 = diffLine1.substr(0, prefixSize); | ||
var diff = jsDiff.diffChars(diffLine1, diffLine2); | ||
var diff; | ||
if (config.charByChar) diff = jsDiff.diffChars(diffLine1, diffLine2); | ||
else diff = jsDiff.diffWordsWithSpace(diffLine1, diffLine2); | ||
//var diff = jsDiff.diffChars(diffLine1, diffLine2); | ||
//var diff = jsDiff.diffWordsWithSpace(diffLine1, diffLine2); | ||
var highlightedLine = ""; | ||
@@ -47,0 +53,0 @@ |
@@ -17,6 +17,6 @@ /* | ||
SideBySidePrinter.prototype.generateSideBySideJsonHtml = function (diffFiles) { | ||
SideBySidePrinter.prototype.generateSideBySideJsonHtml = function (diffFiles, config) { | ||
return "<div class=\"d2h-wrapper\">\n" + | ||
diffFiles.map(function (file) { | ||
var diffs = generateSideBySideFileHtml(file); | ||
var diffs = generateSideBySideFileHtml(file, config); | ||
@@ -56,3 +56,3 @@ return "<div class=\"d2h-file-wrapper\" data-lang=\"" + file.language + "\">\n" + | ||
function generateSideBySideFileHtml(file) { | ||
function generateSideBySideFileHtml(file, config) { | ||
var fileHtml = {}; | ||
@@ -106,4 +106,6 @@ fileHtml.left = ""; | ||
var diff = printerUtils.diffHighlight(oldEscapedLine, newEscapedLine, file.isTripleDiff); | ||
config.isTripleDiff = file.isTripleDiff; | ||
var diff = printerUtils.diffHighlight(oldEscapedLine, newEscapedLine, config); | ||
fileHtml.left += generateSingleLineHtml(oldLine.type, oldLine.oldNumber, diff.o); | ||
@@ -110,0 +112,0 @@ fileHtml.right += generateSingleLineHtml(newLine.type, newLine.newNumber, diff.n); |
45084
1034