\n'+diffFiles.map(function(file){var diffs;return diffs=file.blocks.length?generateFileHtml(file,config):generateEmptyDiff(),'
\n"}).join("\n")+"
\n"},"undefined"!=typeof module&&module.exports?module.exports.LineByLinePrinter=new LineByLinePrinter:"undefined"==typeof global.LineByLinePrinter&&(global.LineByLinePrinter=new LineByLinePrinter)}(this),function(global){function HtmlPrinter(){}var lineByLinePrinter=require("./line-by-line-printer.js").LineByLinePrinter,sideBySidePrinter=require("./side-by-side-printer.js").SideBySidePrinter;HtmlPrinter.prototype.generateLineByLineJsonHtml=lineByLinePrinter.generateLineByLineJsonHtml,HtmlPrinter.prototype.generateSideBySideJsonHtml=sideBySidePrinter.generateSideBySideJsonHtml,"undefined"!=typeof module&&module.exports?module.exports.HtmlPrinter=new HtmlPrinter:"undefined"==typeof global.HtmlPrinter&&(global.HtmlPrinter=new HtmlPrinter)}(this),function(global){function Diff2Html(){}var diffParser=require("./diff-parser.js").DiffParser,htmlPrinter=require("./html-printer.js").HtmlPrinter;Diff2Html.prototype.getPrettyHtmlFromDiff=function(diffInput,config){var diffJson=diffParser.generateDiffJson(diffInput),configOrEmpty=config||{};return htmlPrinter.generateLineByLineJsonHtml(diffJson,configOrEmpty)},Diff2Html.prototype.getJsonFromDiff=function(diffInput){return diffParser.generateDiffJson(diffInput)},Diff2Html.prototype.getPrettyHtmlFromJson=function(diffJson,config){var configOrEmpty=config||{};return htmlPrinter.generateLineByLineJsonHtml(diffJson,configOrEmpty)},Diff2Html.prototype.getPrettySideBySideHtmlFromDiff=function(diffInput,config){var diffJson=diffParser.generateDiffJson(diffInput),configOrEmpty=config||{};return htmlPrinter.generateSideBySideJsonHtml(diffJson,configOrEmpty)},Diff2Html.prototype.getPrettySideBySideHtmlFromJson=function(diffJson,config){var configOrEmpty=config||{};return htmlPrinter.generateSideBySideJsonHtml(diffJson,configOrEmpty)},"undefined"!=typeof module&&module.exports?module.exports.Diff2Html=new Diff2Html:"undefined"==typeof global.Diff2Html&&(global.Diff2Html=new Diff2Html)}(this);
\ No newline at end of file
diff --git a/sample/index.html b/sample/index.html
index aca7c28..e35ce04 100644
--- a/sample/index.html
+++ b/sample/index.html
@@ -12,7 +12,7 @@
\n' +
+ '-
\n' +
+ '+ \n' +
+ '+
\n' +
+ '+ \n' +
+ '
\n' +
+ '
\n';
$(document).ready(function () {
var diff2Html = Diff2Html;
diff --git a/src/line-by-line-printer.js b/src/line-by-line-printer.js
index 07ca151..383ec93 100644
--- a/src/line-by-line-printer.js
+++ b/src/line-by-line-printer.js
@@ -72,17 +72,14 @@
} else {
var j = 0;
var oldLine, newLine;
- var oldEscapedLine, newEscapedLine;
if (oldLines.length === newLines.length) {
for (j = 0; j < oldLines.length; j++) {
oldLine = oldLines[j];
newLine = newLines[j];
- oldEscapedLine = utils.escape(oldLine.content);
- newEscapedLine = utils.escape(newLine.content);
config.isCombined = file.isCombined;
- var diff = printerUtils.diffHighlight(oldEscapedLine, newEscapedLine, config);
+ var diff = printerUtils.diffHighlight(oldLine.content, newLine.content, config);
processedOldLines += generateLineHtml(oldLine.type, oldLine.oldNumber, oldLine.newNumber, diff.first.line, diff.first.prefix);
processedNewLines += generateLineHtml(newLine.type, newLine.oldNumber, newLine.newNumber, diff.second.line, diff.second.prefix);
diff --git a/src/printer-utils.js b/src/printer-utils.js
index 14ae881..f497f02 100644
--- a/src/printer-utils.js
+++ b/src/printer-utils.js
@@ -9,6 +9,7 @@
// dirty hack for browser compatibility
var jsDiff = (typeof JsDiff !== "undefined" && JsDiff) || require("../lib/diff.js");
+ var utils = require("./utils.js").Utils;
function PrinterUtils() {
}
@@ -51,9 +52,10 @@
diff.forEach(function (part) {
var elemType = part.added ? 'ins' : part.removed ? 'del' : null;
+ var escapedValue = utils.escape(part.value);
- if (elemType !== null) highlightedLine += "<" + elemType + ">" + part.value + "" + elemType + ">";
- else highlightedLine += part.value;
+ if (elemType !== null) highlightedLine += "<" + elemType + ">" + escapedValue + "" + elemType + ">";
+ else highlightedLine += escapedValue;
});
return {
diff --git a/src/side-by-side-printer.js b/src/side-by-side-printer.js
index ca34586..dfb2a55 100644
--- a/src/side-by-side-printer.js
+++ b/src/side-by-side-printer.js
@@ -96,18 +96,15 @@
} else {
var j = 0;
var oldLine, newLine;
- var oldEscapedLine, newEscapedLine;
if (oldLines.length === newLines.length) {
for (j = 0; j < oldLines.length; j++) {
oldLine = oldLines[j];
newLine = newLines[j];
- oldEscapedLine = utils.escape(oldLine.content);
- newEscapedLine = utils.escape(newLine.content);
config.isCombined = file.isCombined;
- var diff = printerUtils.diffHighlight(oldEscapedLine, newEscapedLine, config);
+ var diff = printerUtils.diffHighlight(oldLine.content, newLine.content, config);
fileHtml.left += generateSingleLineHtml(oldLine.type, oldLine.oldNumber, diff.first.line, diff.first.prefix);
fileHtml.right += generateSingleLineHtml(newLine.type, newLine.newNumber, diff.second.line, diff.second.prefix);