diff --git a/src/line-by-line-printer.js b/src/line-by-line-printer.js
index 1f248d9..e464bb4 100644
--- a/src/line-by-line-printer.js
+++ b/src/line-by-line-printer.js
@@ -16,42 +16,44 @@
this.config = config;
}
+ LineByLinePrinter.prototype.makeFileDiffHtml = function(file, diffs) {
+ return '
\n' +
+ ' \n' +
+ '
\n' +
+ '
\n' +
+ '
\n' +
+ ' \n' +
+ ' ' + diffs +
+ ' \n' +
+ '
\n' +
+ '
\n' +
+ '
\n' +
+ '
\n';
+ };
+
LineByLinePrinter.prototype.generateLineByLineJsonHtml = function(diffFiles) {
var that = this;
- return '\n' +
- diffFiles.map(function(file) {
-
+ var htmlDiffs = diffFiles.map(function(file) {
var diffs;
if (file.blocks.length) {
diffs = that._generateFileHtml(file);
} else {
diffs = that._generateEmptyDiff();
}
+ return that.makeFileDiffHtml(file, diffs);
+ });
- return '
\n' +
- ' \n' +
- '
\n' +
- '
\n' +
- '
\n' +
- ' \n' +
- ' ' + diffs +
- ' \n' +
- '
\n' +
- '
\n' +
- '
\n' +
- '
\n';
- }).join('\n') +
- '
\n';
+ return '\n' + htmlDiffs.join('\n') + '
\n';
};
var matcher = Rematch.rematch(function(a, b) {
@@ -61,17 +63,20 @@
return Rematch.distance(amod, bmod);
});
- LineByLinePrinter.prototype._generateFileHtml = function(file) {
- var that = this;
- return file.blocks.map(function(block) {
-
- var lines = '\n' +
+ LineByLinePrinter.prototype.makeColumnLineNumberHtml = function(block) {
+ return '
\n' +
' | \n' +
' ' +
' ' + utils.escape(block.header) + ' ' +
' | \n' +
'
\n';
+ };
+ LineByLinePrinter.prototype._generateFileHtml = function(file) {
+ var that = this;
+ return file.blocks.map(function(block) {
+
+ var lines = that.makeColumnLineNumberHtml(block);
var oldLines = [];
var newLines = [];
@@ -172,6 +177,18 @@
return lines;
};
+ LineByLinePrinter.prototype.makeLineHtml = function(type, oldNumber, newNumber, htmlPrefix, htmlContent) {
+ return '\n' +
+ ' | ' +
+ ' ' + utils.valueOrEmpty(oldNumber) + ' ' +
+ ' ' + utils.valueOrEmpty(newNumber) + ' ' +
+ ' | \n' +
+ ' ' +
+ ' ' + htmlPrefix + htmlContent + ' ' +
+ ' | \n' +
+ '
\n';
+ };
+
LineByLinePrinter.prototype._generateLineHtml = function(type, oldNumber, newNumber, content, prefix) {
var htmlPrefix = '';
if (prefix) {
@@ -183,15 +200,7 @@
htmlContent = '' + content + '';
}
- return '\n' +
- ' | ' +
- ' ' + utils.valueOrEmpty(oldNumber) + ' ' +
- ' ' + utils.valueOrEmpty(newNumber) + ' ' +
- ' | \n' +
- ' ' +
- ' ' + htmlPrefix + htmlContent + ' ' +
- ' | \n' +
- '
\n';
+ return this.makeLineHtml(type, oldNumber, newNumber, htmlPrefix, htmlContent);
};
LineByLinePrinter.prototype._generateEmptyDiff = function() {