Update to latest version
This commit is contained in:
parent
da5bbb1860
commit
7eec755f96
9 changed files with 3900 additions and 527 deletions
170
diff2html-templates.js
Normal file
170
diff2html-templates.js
Normal file
|
|
@ -0,0 +1,170 @@
|
||||||
|
(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["line-by-line/column-line-number.html"] = (function() {
|
||||||
|
function root(env, context, frame, runtime, cb) {
|
||||||
|
var lineno = null;
|
||||||
|
var colno = null;
|
||||||
|
var output = "";
|
||||||
|
try {
|
||||||
|
var parentTemplate = null;
|
||||||
|
output += "<tr>\n <td class=\"d2h-code-linenumber ";
|
||||||
|
output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "diffParser")),"LINE_TYPE")),"INFO"), env.opts.autoescape);
|
||||||
|
output += "\"></td>\n <td class=\"";
|
||||||
|
output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "diffParser")),"LINE_TYPE")),"INFO"), env.opts.autoescape);
|
||||||
|
output += "\">\n <div class=\"d2h-code-line ";
|
||||||
|
output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "diffParser")),"LINE_TYPE")),"INFO"), env.opts.autoescape);
|
||||||
|
output += "\"> ";
|
||||||
|
output += runtime.suppressValue((lineno = 3, colno = 77, runtime.callWrap(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "utils")),"escape"), "utils[\"escape\"]", context, [runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "block")),"header")])), env.opts.autoescape);
|
||||||
|
output += "</div>\n </td>\n</tr>\n";
|
||||||
|
if(parentTemplate) {
|
||||||
|
parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
|
||||||
|
} else {
|
||||||
|
cb(null, output);
|
||||||
|
}
|
||||||
|
;
|
||||||
|
} catch (e) {
|
||||||
|
cb(runtime.handleError(e, lineno, colno));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
root: root
|
||||||
|
};
|
||||||
|
|
||||||
|
})();
|
||||||
|
})();
|
||||||
|
(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["line-by-line/empty-diff.html"] = (function() {
|
||||||
|
function root(env, context, frame, runtime, cb) {
|
||||||
|
var lineno = null;
|
||||||
|
var colno = null;
|
||||||
|
var output = "";
|
||||||
|
try {
|
||||||
|
var parentTemplate = null;
|
||||||
|
output += "<tr>\n <td class=\"";
|
||||||
|
output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "diffParser")),"LINE_TYPE")),"INFO"), env.opts.autoescape);
|
||||||
|
output += "\">\n <div class=\"d2h-code-line ";
|
||||||
|
output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "diffParser")),"LINE_TYPE")),"INFO"), env.opts.autoescape);
|
||||||
|
output += "\">\n File without changes\n </div>\n </td>\n</tr>\n";
|
||||||
|
if(parentTemplate) {
|
||||||
|
parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
|
||||||
|
} else {
|
||||||
|
cb(null, output);
|
||||||
|
}
|
||||||
|
;
|
||||||
|
} catch (e) {
|
||||||
|
cb(runtime.handleError(e, lineno, colno));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
root: root
|
||||||
|
};
|
||||||
|
|
||||||
|
})();
|
||||||
|
})();
|
||||||
|
(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["line-by-line/file-diff.html"] = (function() {
|
||||||
|
function root(env, context, frame, runtime, cb) {
|
||||||
|
var lineno = null;
|
||||||
|
var colno = null;
|
||||||
|
var output = "";
|
||||||
|
try {
|
||||||
|
var parentTemplate = null;
|
||||||
|
output += "<div id=\"";
|
||||||
|
output += runtime.suppressValue((lineno = 0, colno = 32, runtime.callWrap(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "printerUtils")),"getHtmlId"), "printerUtils[\"getHtmlId\"]", context, [runtime.contextOrFrameLookup(context, frame, "file")])), env.opts.autoescape);
|
||||||
|
output += "\" class=\"d2h-file-wrapper\" data-lang=\"";
|
||||||
|
output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "file")),"language"), env.opts.autoescape);
|
||||||
|
output += "\">\n <div class=\"d2h-file-header\">\n <span class=\"d2h-file-stats\">\n <span class=\"d2h-lines-added\">\n <span>+";
|
||||||
|
output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "file")),"addedLines"), env.opts.autoescape);
|
||||||
|
output += "</span>\n </span>\n <span class=\"d2h-lines-deleted\">\n <span>-";
|
||||||
|
output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "file")),"deletedLines"), env.opts.autoescape);
|
||||||
|
output += "</span>\n </span>\n </span>\n <span class=\"d2h-file-name-wrapper\">\n <span class=\"d2h-file-name\"> ";
|
||||||
|
output += runtime.suppressValue((lineno = 11, colno = 67, runtime.callWrap(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "printerUtils")),"getDiffName"), "printerUtils[\"getDiffNam\"]", context, [runtime.contextOrFrameLookup(context, frame, "file")])), env.opts.autoescape);
|
||||||
|
output += "</span>\n </span>\n </div>\n <div class=\"d2h-file-diff\">\n <div class=\"d2h-code-wrapper\">\n <table class=\"d2h-diff-table\">\n <tbody class=\"d2h-diff-tbody\">\n ";
|
||||||
|
output += runtime.suppressValue(env.getFilter("safe").call(context, runtime.contextOrFrameLookup(context, frame, "diffs")), env.opts.autoescape);
|
||||||
|
output += "\n </tbody>\n </table>\n </div>\n </div>\n</div>\n";
|
||||||
|
if(parentTemplate) {
|
||||||
|
parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
|
||||||
|
} else {
|
||||||
|
cb(null, output);
|
||||||
|
}
|
||||||
|
;
|
||||||
|
} catch (e) {
|
||||||
|
cb(runtime.handleError(e, lineno, colno));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
root: root
|
||||||
|
};
|
||||||
|
|
||||||
|
})();
|
||||||
|
})();
|
||||||
|
(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["line-by-line/line.html"] = (function() {
|
||||||
|
function root(env, context, frame, runtime, cb) {
|
||||||
|
var lineno = null;
|
||||||
|
var colno = null;
|
||||||
|
var output = "";
|
||||||
|
try {
|
||||||
|
var parentTemplate = null;
|
||||||
|
output += "<tr>\n <td class=\"d2h-code-linenumber ";
|
||||||
|
output += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, "type"), env.opts.autoescape);
|
||||||
|
output += "\">\n <div class=\"line-num1\">";
|
||||||
|
output += runtime.suppressValue(env.getFilter("safe").call(context, (lineno = 2, colno = 50, runtime.callWrap(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "utils")),"valueOrEmpty"), "utils[\"valueOrEmp\"]", context, [runtime.contextOrFrameLookup(context, frame, "oldNumber")]))), env.opts.autoescape);
|
||||||
|
output += "</div>\n <div class=\"line-num2\">";
|
||||||
|
output += runtime.suppressValue(env.getFilter("safe").call(context, (lineno = 3, colno = 50, runtime.callWrap(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "utils")),"valueOrEmpty"), "utils[\"valueOrEmp\"]", context, [runtime.contextOrFrameLookup(context, frame, "newNumber")]))), env.opts.autoescape);
|
||||||
|
output += "</div>\n </td>\n <td class=\"";
|
||||||
|
output += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, "type"), env.opts.autoescape);
|
||||||
|
output += "\">\n <div class=\"d2h-code-line ";
|
||||||
|
output += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, "type"), env.opts.autoescape);
|
||||||
|
output += "\">";
|
||||||
|
if(runtime.contextOrFrameLookup(context, frame, "prefix")) {
|
||||||
|
output += "\n <span class=\"d2h-code-line-prefix\">";
|
||||||
|
output += runtime.suppressValue(env.getFilter("safe").call(context, (lineno = 8, colno = 89, runtime.callWrap(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "utils")),"convertWhiteSpaceToNonBreakingSpace"), "utils[\"convertWhi\"]", context, [runtime.contextOrFrameLookup(context, frame, "prefix")]))), env.opts.autoescape);
|
||||||
|
output += "</span>\n ";
|
||||||
|
;
|
||||||
|
}
|
||||||
|
if(runtime.contextOrFrameLookup(context, frame, "content")) {
|
||||||
|
output += "<span class=\"d2h-code-line-ctn\">";
|
||||||
|
output += runtime.suppressValue(env.getFilter("safe").call(context, (lineno = 11, colno = 86, runtime.callWrap(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "utils")),"convertWhiteSpaceToNonBreakingSpace"), "utils[\"convertWhi\"]", context, [runtime.contextOrFrameLookup(context, frame, "content")]))), env.opts.autoescape);
|
||||||
|
output += "</span>";
|
||||||
|
;
|
||||||
|
}
|
||||||
|
output += "\n </div>\n </td>\n</tr>\n";
|
||||||
|
if(parentTemplate) {
|
||||||
|
parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
|
||||||
|
} else {
|
||||||
|
cb(null, output);
|
||||||
|
}
|
||||||
|
;
|
||||||
|
} catch (e) {
|
||||||
|
cb(runtime.handleError(e, lineno, colno));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
root: root
|
||||||
|
};
|
||||||
|
|
||||||
|
})();
|
||||||
|
})();
|
||||||
|
(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["line-by-line/wrapper.html"] = (function() {
|
||||||
|
function root(env, context, frame, runtime, cb) {
|
||||||
|
var lineno = null;
|
||||||
|
var colno = null;
|
||||||
|
var output = "";
|
||||||
|
try {
|
||||||
|
var parentTemplate = null;
|
||||||
|
output += "<div class=\"d2h-wrapper\">\n ";
|
||||||
|
output += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, "content"), env.opts.autoescape);
|
||||||
|
output += "\n</div>\n";
|
||||||
|
if(parentTemplate) {
|
||||||
|
parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
|
||||||
|
} else {
|
||||||
|
cb(null, output);
|
||||||
|
}
|
||||||
|
;
|
||||||
|
} catch (e) {
|
||||||
|
cb(runtime.handleError(e, lineno, colno));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
root: root
|
||||||
|
};
|
||||||
|
|
||||||
|
})();
|
||||||
|
})();
|
||||||
|
|
||||||
1
diff2html-templates.min.js
vendored
Normal file
1
diff2html-templates.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
189
diff2html-ui.js
Normal file
189
diff2html-ui.js
Normal file
|
|
@ -0,0 +1,189 @@
|
||||||
|
/******/ (function(modules) { // webpackBootstrap
|
||||||
|
/******/ // The module cache
|
||||||
|
/******/ var installedModules = {};
|
||||||
|
|
||||||
|
/******/ // The require function
|
||||||
|
/******/ function __webpack_require__(moduleId) {
|
||||||
|
|
||||||
|
/******/ // Check if module is in cache
|
||||||
|
/******/ if(installedModules[moduleId])
|
||||||
|
/******/ return installedModules[moduleId].exports;
|
||||||
|
|
||||||
|
/******/ // Create a new module (and put it into the cache)
|
||||||
|
/******/ var module = installedModules[moduleId] = {
|
||||||
|
/******/ exports: {},
|
||||||
|
/******/ id: moduleId,
|
||||||
|
/******/ loaded: false
|
||||||
|
/******/ };
|
||||||
|
|
||||||
|
/******/ // Execute the module function
|
||||||
|
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||||
|
|
||||||
|
/******/ // Flag the module as loaded
|
||||||
|
/******/ module.loaded = true;
|
||||||
|
|
||||||
|
/******/ // Return the exports of the module
|
||||||
|
/******/ return module.exports;
|
||||||
|
/******/ }
|
||||||
|
|
||||||
|
|
||||||
|
/******/ // expose the modules object (__webpack_modules__)
|
||||||
|
/******/ __webpack_require__.m = modules;
|
||||||
|
|
||||||
|
/******/ // expose the module cache
|
||||||
|
/******/ __webpack_require__.c = installedModules;
|
||||||
|
|
||||||
|
/******/ // __webpack_public_path__
|
||||||
|
/******/ __webpack_require__.p = "";
|
||||||
|
|
||||||
|
/******/ // Load entry module and return exports
|
||||||
|
/******/ return __webpack_require__(0);
|
||||||
|
/******/ })
|
||||||
|
/************************************************************************/
|
||||||
|
/******/ ([
|
||||||
|
/* 0 */
|
||||||
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
|
/* WEBPACK VAR INJECTION */(function(global) {/*
|
||||||
|
*
|
||||||
|
* Diff to HTML (diff2html-ui.js)
|
||||||
|
* Author: rtfpessoa
|
||||||
|
*
|
||||||
|
* Depends on: [ jQuery ]
|
||||||
|
* Optional dependencies on: [ highlight.js ]
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*global $, hljs*/
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
|
||||||
|
var diffJson = null;
|
||||||
|
var defaultTarget = "body";
|
||||||
|
|
||||||
|
function Diff2HtmlUI(config) {
|
||||||
|
var cfg = config || {};
|
||||||
|
|
||||||
|
if (cfg.diff) {
|
||||||
|
diffJson = Diff2Html.getJsonFromDiff(cfg.diff);
|
||||||
|
} else if (cfg.json) {
|
||||||
|
diffJson = cfg.json;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Diff2HtmlUI.prototype.draw = function(targetId, config) {
|
||||||
|
var cfg = config || {};
|
||||||
|
var $target = this._getTarget(targetId);
|
||||||
|
$target.html(Diff2Html.getPrettyHtml(diffJson, cfg));
|
||||||
|
};
|
||||||
|
|
||||||
|
Diff2HtmlUI.prototype.fileListCloseable = function(targetId, startVisible) {
|
||||||
|
var $target = this._getTarget(targetId);
|
||||||
|
|
||||||
|
var hashTag = this._getHashTag();
|
||||||
|
|
||||||
|
var $showBtn = $target.find(".d2h-show");
|
||||||
|
var $hideBtn = $target.find(".d2h-hide");
|
||||||
|
var $fileList = $target.find(".d2h-file-list");
|
||||||
|
|
||||||
|
if (hashTag === 'files-summary-show') show();
|
||||||
|
else if (hashTag === 'files-summary-hide') hide();
|
||||||
|
else if (startVisible) show();
|
||||||
|
else hide();
|
||||||
|
|
||||||
|
$showBtn.click(show);
|
||||||
|
$hideBtn.click(hide);
|
||||||
|
|
||||||
|
function show() {
|
||||||
|
$showBtn.hide();
|
||||||
|
$hideBtn.show();
|
||||||
|
$fileList.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
function hide() {
|
||||||
|
$hideBtn.hide();
|
||||||
|
$showBtn.show();
|
||||||
|
$fileList.hide();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Diff2HtmlUI.prototype.highlightCode = function(targetId) {
|
||||||
|
var that = this;
|
||||||
|
|
||||||
|
var $target = that._getTarget(targetId);
|
||||||
|
|
||||||
|
var languages = that._getLanguages($target);
|
||||||
|
|
||||||
|
// pass the languages to the highlightjs plugin
|
||||||
|
hljs.configure({languages: languages});
|
||||||
|
|
||||||
|
// collect all the code lines and execute the highlight on them
|
||||||
|
var $codeLines = $target.find(".d2h-code-line-ctn");
|
||||||
|
$codeLines.map(function(i, line) {
|
||||||
|
hljs.highlightBlock(line);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Diff2HtmlUI.prototype._getTarget = function(targetId) {
|
||||||
|
var $target;
|
||||||
|
|
||||||
|
if (typeof(targetId) === 'object' && targetId instanceof jQuery) {
|
||||||
|
$target = targetId;
|
||||||
|
} else if (typeof(targetId) === 'string') {
|
||||||
|
$target = $(targetId);
|
||||||
|
} else {
|
||||||
|
console.error("Wrong target provided! Falling back to default value 'body'.");
|
||||||
|
console.log("Please provide a jQuery object or a valid DOM query string.");
|
||||||
|
$target = $(defaultTarget);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $target;
|
||||||
|
};
|
||||||
|
|
||||||
|
Diff2HtmlUI.prototype._getLanguages = function($target) {
|
||||||
|
var allFileLanguages = [];
|
||||||
|
|
||||||
|
if (diffJson) {
|
||||||
|
// collect all the file extensions in the json
|
||||||
|
allFileLanguages = diffJson.map(function(line) {
|
||||||
|
return line.language;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$target.find(".d2h-file-wrapper").map(function(i, file) {
|
||||||
|
allFileLanguages.push($(file).data("lang"));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// return only distinct languages
|
||||||
|
return this._distinct(allFileLanguages);
|
||||||
|
};
|
||||||
|
|
||||||
|
Diff2HtmlUI.prototype._getHashTag = function() {
|
||||||
|
var docUrl = document.URL;
|
||||||
|
var hashTagIndex = docUrl.indexOf('#');
|
||||||
|
|
||||||
|
var hashTag = null;
|
||||||
|
if (hashTagIndex !== -1) {
|
||||||
|
hashTag = docUrl.substr(hashTagIndex + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return hashTag;
|
||||||
|
};
|
||||||
|
|
||||||
|
Diff2HtmlUI.prototype._distinct = function(collection) {
|
||||||
|
return collection.filter(function(v, i) {
|
||||||
|
return collection.indexOf(v) === i;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports.Diff2HtmlUI = Diff2HtmlUI;
|
||||||
|
|
||||||
|
// Expose diff2html in the browser
|
||||||
|
global.Diff2HtmlUI = Diff2HtmlUI;
|
||||||
|
|
||||||
|
})();
|
||||||
|
|
||||||
|
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
|
||||||
|
|
||||||
|
/***/ }
|
||||||
|
/******/ ]);
|
||||||
1
diff2html-ui.min.js
vendored
Normal file
1
diff2html-ui.min.js
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
!function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports){(function(global){!function(){function Diff2HtmlUI(config){var cfg=config||{};cfg.diff?diffJson=Diff2Html.getJsonFromDiff(cfg.diff):cfg.json&&(diffJson=cfg.json)}var diffJson=null,defaultTarget="body";Diff2HtmlUI.prototype.draw=function(targetId,config){var cfg=config||{},$target=this._getTarget(targetId);$target.html(Diff2Html.getPrettyHtml(diffJson,cfg))},Diff2HtmlUI.prototype.fileListCloseable=function(targetId,startVisible){function show(){$showBtn.hide(),$hideBtn.show(),$fileList.show()}function hide(){$hideBtn.hide(),$showBtn.show(),$fileList.hide()}var $target=this._getTarget(targetId),hashTag=this._getHashTag(),$showBtn=$target.find(".d2h-show"),$hideBtn=$target.find(".d2h-hide"),$fileList=$target.find(".d2h-file-list");"files-summary-show"===hashTag?show():"files-summary-hide"===hashTag?hide():startVisible?show():hide(),$showBtn.click(show),$hideBtn.click(hide)},Diff2HtmlUI.prototype.highlightCode=function(targetId){var that=this,$target=that._getTarget(targetId),languages=that._getLanguages($target);hljs.configure({languages:languages});var $codeLines=$target.find(".d2h-code-line-ctn");$codeLines.map(function(i,line){hljs.highlightBlock(line)})},Diff2HtmlUI.prototype._getTarget=function(targetId){var $target;return"object"==typeof targetId&&targetId instanceof jQuery?$target=targetId:"string"==typeof targetId?$target=$(targetId):(console.error("Wrong target provided! Falling back to default value 'body'."),console.log("Please provide a jQuery object or a valid DOM query string."),$target=$(defaultTarget)),$target},Diff2HtmlUI.prototype._getLanguages=function($target){var allFileLanguages=[];return diffJson?allFileLanguages=diffJson.map(function(line){return line.language}):$target.find(".d2h-file-wrapper").map(function(i,file){allFileLanguages.push($(file).data("lang"))}),this._distinct(allFileLanguages)},Diff2HtmlUI.prototype._getHashTag=function(){var docUrl=document.URL,hashTagIndex=docUrl.indexOf("#"),hashTag=null;return-1!==hashTagIndex&&(hashTag=docUrl.substr(hashTagIndex+1)),hashTag},Diff2HtmlUI.prototype._distinct=function(collection){return collection.filter(function(v,i){return collection.indexOf(v)===i})},module.exports.Diff2HtmlUI=Diff2HtmlUI,global.Diff2HtmlUI=Diff2HtmlUI}()}).call(exports,function(){return this}())}]);
|
||||||
138
diff2html.css
138
diff2html.css
|
|
@ -6,16 +6,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.d2h-wrapper {
|
.d2h-wrapper {
|
||||||
display: block;
|
|
||||||
margin: 0 auto;
|
|
||||||
text-align: left;
|
text-align: left;
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.d2h-file-wrapper {
|
|
||||||
border: 1px solid #ddd;
|
|
||||||
border-radius: 3px;
|
|
||||||
margin-bottom: 1em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.d2h-file-header {
|
.d2h-file-header {
|
||||||
|
|
@ -29,7 +20,6 @@
|
||||||
display: inline;
|
display: inline;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
max-width: 15%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.d2h-lines-added {
|
.d2h-lines-added {
|
||||||
|
|
@ -42,7 +32,6 @@
|
||||||
color: #399839;
|
color: #399839;
|
||||||
border-radius: 5px 0 0 5px;
|
border-radius: 5px 0 0 5px;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
width: 25px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.d2h-lines-deleted {
|
.d2h-lines-deleted {
|
||||||
|
|
@ -55,28 +44,38 @@
|
||||||
color: #c33;
|
color: #c33;
|
||||||
border-radius: 0 5px 5px 0;
|
border-radius: 0 5px 5px 0;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
width: 25px;
|
}
|
||||||
|
|
||||||
|
.d2h-file-name-wrapper {
|
||||||
|
display: inline-flex;
|
||||||
|
width: 90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.d2h-file-name {
|
.d2h-file-name {
|
||||||
display: inline;
|
|
||||||
height: 33px;
|
|
||||||
line-height: 33px;
|
line-height: 33px;
|
||||||
max-width: 80%;
|
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.d2h-file-wrapper {
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
.d2h-diff-table {
|
.d2h-diff-table {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
height: 18px;
|
|
||||||
line-height: 18px;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.d2h-diff-tbody > tr > td > div {
|
||||||
|
height: 16px;
|
||||||
|
line-height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
.d2h-files-diff {
|
.d2h-files-diff {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
@ -96,16 +95,9 @@
|
||||||
|
|
||||||
.d2h-code-line {
|
.d2h-code-line {
|
||||||
display: block;
|
display: block;
|
||||||
white-space: pre;
|
white-space: nowrap;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
height: 18px;
|
|
||||||
line-height: 18px;
|
|
||||||
margin-left: 80px;
|
margin-left: 80px;
|
||||||
/* Override HighlightJS */
|
|
||||||
color: inherit;
|
|
||||||
overflow-x: inherit;
|
|
||||||
background: none;
|
|
||||||
/* ******************** */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.d2h-code-side-line {
|
.d2h-code-side-line {
|
||||||
|
|
@ -152,28 +144,30 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.line-num1 {
|
.line-num1 {
|
||||||
display: inline-block;
|
box-sizing: border-box;
|
||||||
float: left;
|
float: left;
|
||||||
width: 30px;
|
width: 40px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
padding-left: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.line-num2 {
|
.line-num2 {
|
||||||
display: inline-block;
|
box-sizing: border-box;
|
||||||
float: right;
|
float: right;
|
||||||
width: 30px;
|
width: 40px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
padding-left: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.d2h-code-linenumber {
|
.d2h-code-linenumber {
|
||||||
|
box-sizing: border-box;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 2%;
|
width: 86px;
|
||||||
min-width: 65px;
|
|
||||||
padding-left: 10px;
|
|
||||||
padding-right: 10px;
|
|
||||||
height: 18px;
|
height: 18px;
|
||||||
|
padding-left: 2px;
|
||||||
|
padding-right: 2px;
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
color: rgba(0, 0, 0, 0.3);
|
color: rgba(0, 0, 0, 0.3);
|
||||||
|
|
@ -184,10 +178,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.d2h-code-side-linenumber {
|
.d2h-code-side-linenumber {
|
||||||
|
box-sizing: border-box;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 35px;
|
width: 56px;
|
||||||
padding-left: 10px;
|
padding-left: 5px;
|
||||||
padding-right: 10px;
|
padding-right: 5px;
|
||||||
height: 18px;
|
height: 18px;
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
@ -200,6 +195,10 @@
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Changes Highlight
|
||||||
|
*/
|
||||||
|
|
||||||
.d2h-del {
|
.d2h-del {
|
||||||
background-color: #fee8e9;
|
background-color: #fee8e9;
|
||||||
border-color: #e9aeae;
|
border-color: #e9aeae;
|
||||||
|
|
@ -216,9 +215,28 @@
|
||||||
border-color: #d5e4f2;
|
border-color: #d5e4f2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.d2h-del.d2h-change, .d2h-ins.d2h-change {
|
||||||
|
background-color: #ffc;
|
||||||
|
}
|
||||||
|
|
||||||
|
ins.d2h-change, del.d2h-change {
|
||||||
|
background-color: #fad771;
|
||||||
|
}
|
||||||
|
|
||||||
|
.d2h-file-diff .d2h-del.d2h-change {
|
||||||
|
background-color: #fae1af;
|
||||||
|
}
|
||||||
|
|
||||||
|
.d2h-file-diff .d2h-ins.d2h-change {
|
||||||
|
background-color: #ded;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* File Summary List
|
||||||
|
*/
|
||||||
|
|
||||||
.d2h-file-list-wrapper {
|
.d2h-file-list-wrapper {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
padding: 0 10px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.d2h-file-list-wrapper a {
|
.d2h-file-list-wrapper a {
|
||||||
|
|
@ -231,11 +249,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.d2h-file-list-header {
|
.d2h-file-list-header {
|
||||||
font-weight: bold;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
text-align: left;
|
text-align: left;
|
||||||
display: inline;
|
}
|
||||||
float:left;
|
|
||||||
|
.d2h-file-list-title {
|
||||||
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.d2h-file-list-line {
|
.d2h-file-list-line {
|
||||||
|
|
@ -248,41 +266,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.d2h-file-list {
|
.d2h-file-list {
|
||||||
display:none;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.d2h-clear {
|
.d2h-file-switch {
|
||||||
display:block;
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
.d2h-del.d2h-change, .d2h-ins.d2h-change {
|
|
||||||
background-color: #ffc;
|
|
||||||
}
|
|
||||||
ins.d2h-change, del.d2h-change {
|
|
||||||
background-color: #fad771;
|
|
||||||
}
|
|
||||||
.d2h-file-diff .d2h-del.d2h-change {
|
|
||||||
background-color: #fae1af;
|
|
||||||
}
|
|
||||||
.d2h-file-diff .d2h-ins.d2h-change {
|
|
||||||
background-color: #ded;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CSS only show/hide */
|
|
||||||
.d2h-show {
|
|
||||||
display: none;
|
display: none;
|
||||||
float:left;
|
font-size: 10px;
|
||||||
}
|
cursor: pointer;
|
||||||
.d2h-hide {
|
|
||||||
float:left;
|
|
||||||
}
|
|
||||||
.d2h-hide:target + .d2h-show {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
.d2h-hide:target {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.d2h-hide:target ~ .d2h-file-list {
|
|
||||||
display:block;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
3747
diff2html.js
3747
diff2html.js
File diff suppressed because it is too large
Load diff
2
diff2html.min.css
vendored
2
diff2html.min.css
vendored
|
|
@ -1 +1 @@
|
||||||
.d2h-wrapper{display:block;margin:0 auto;text-align:left;width:100%}.d2h-file-wrapper{border:1px solid #ddd;border-radius:3px;margin-bottom:1em}.d2h-file-header{padding:5px 10px;border-bottom:1px solid #d8d8d8;background-color:#f7f7f7;font:13px Helvetica,arial,freesans,clean,sans-serif,"Segoe UI Emoji","Segoe UI Symbol"}.d2h-file-stats{display:inline;font-size:12px;text-align:center;max-width:15%}.d2h-lines-added{text-align:right}.d2h-lines-added>*{background-color:#ceffce;border:1px solid #b4e2b4;color:#399839;border-radius:5px 0 0 5px;padding:2px;width:25px}.d2h-lines-deleted{text-align:left}.d2h-lines-deleted>*{background-color:#f7c8c8;border:1px solid #e9aeae;color:#c33;border-radius:0 5px 5px 0;padding:2px;width:25px}.d2h-file-name{display:inline;height:33px;line-height:33px;max-width:80%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.d2h-diff-table{border-collapse:collapse;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:12px;height:18px;line-height:18px;width:100%}.d2h-files-diff{width:100%}.d2h-file-diff{overflow-x:scroll;overflow-y:hidden}.d2h-file-side-diff{display:inline-block;overflow-x:scroll;overflow-y:hidden;width:50%;margin-right:-4px}.d2h-code-line{display:block;white-space:pre;padding:0 10px;height:18px;line-height:18px;margin-left:80px;color:inherit;overflow-x:inherit;background:none}.d2h-code-side-line{display:block;white-space:pre;padding:0 10px;height:18px;line-height:18px;margin-left:50px;color:inherit;overflow-x:inherit;background:none}.d2h-code-line del,.d2h-code-side-line del{display:inline-block;margin-top:-1px;text-decoration:none;background-color:#ffb6ba;border-radius:.2em}.d2h-code-line ins,.d2h-code-side-line ins{display:inline-block;margin-top:-1px;text-decoration:none;background-color:#97f295;border-radius:.2em}.d2h-code-line-prefix{float:left;background:none;padding:0}.d2h-code-line-ctn{background:none;padding:0}.line-num1{display:inline-block;float:left;width:30px;overflow:hidden;text-overflow:ellipsis}.line-num2{display:inline-block;float:right;width:30px;overflow:hidden;text-overflow:ellipsis}.d2h-code-linenumber{position:absolute;width:2%;min-width:65px;padding-left:10px;padding-right:10px;height:18px;line-height:18px;background-color:#fff;color:rgba(0,0,0,0.3);text-align:right;border:solid #eeeeee;border-width:0 1px 0 1px;cursor:pointer}.d2h-code-side-linenumber{position:absolute;width:35px;padding-left:10px;padding-right:10px;height:18px;line-height:18px;background-color:#fff;color:rgba(0,0,0,0.3);text-align:right;border:solid #eeeeee;border-width:0 1px 0 1px;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.d2h-del{background-color:#fee8e9;border-color:#e9aeae}.d2h-ins{background-color:#dfd;border-color:#b4e2b4}.d2h-info{background-color:#f8fafd;color:rgba(0,0,0,0.3);border-color:#d5e4f2}.d2h-file-list-wrapper{margin-bottom:10px;padding:0 10px}.d2h-file-list-wrapper a{text-decoration:none;color:#3572b0}.d2h-file-list-wrapper a:visited{color:#3572b0}.d2h-file-list-header{font-weight:bold;margin-bottom:5px;text-align:left;display:inline;float:left}.d2h-file-list-line{text-align:left;font:13px Helvetica,arial,freesans,clean,sans-serif,"Segoe UI Emoji","Segoe UI Symbol"}.d2h-file-list-line .d2h-file-name{line-height:21px}.d2h-file-list{display:none}.d2h-clear{display:block;clear:both}.d2h-del.d2h-change,.d2h-ins.d2h-change{background-color:#ffc}ins.d2h-change,del.d2h-change{background-color:#fad771}.d2h-file-diff .d2h-del.d2h-change{background-color:#fae1af}.d2h-file-diff .d2h-ins.d2h-change{background-color:#ded}.d2h-show{display:none;float:left}.d2h-hide{float:left}.d2h-hide:target+.d2h-show{display:inline}.d2h-hide:target{display:none}.d2h-hide:target~.d2h-file-list{display:block}
|
.d2h-code-line-prefix,.line-num1{float:left}.d2h-wrapper{text-align:left}.d2h-file-header{padding:5px 10px;border-bottom:1px solid #d8d8d8;background-color:#f7f7f7;font:13px Helvetica,arial,freesans,clean,sans-serif,"Segoe UI Emoji","Segoe UI Symbol"}.d2h-file-stats{display:inline;font-size:12px;text-align:center}.d2h-lines-added{text-align:right}.d2h-lines-added>*{background-color:#ceffce;border:1px solid #b4e2b4;color:#399839;border-radius:5px 0 0 5px;padding:2px}.d2h-lines-deleted{text-align:left}.d2h-lines-deleted>*{background-color:#f7c8c8;border:1px solid #e9aeae;color:#c33;border-radius:0 5px 5px 0;padding:2px}.d2h-file-name-wrapper{display:inline-flex;width:90%}.d2h-file-name{line-height:33px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.d2h-file-diff,.d2h-file-side-diff{overflow-x:scroll;overflow-y:hidden}.d2h-file-wrapper{border:1px solid #ddd;border-radius:3px;margin-bottom:1em}.d2h-diff-table{border-collapse:collapse;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:12px;width:100%}.d2h-diff-tbody>tr>td>div{height:16px;line-height:16px}.d2h-files-diff{width:100%}.d2h-file-side-diff{display:inline-block;width:50%;margin-right:-4px}.d2h-code-line{display:block;white-space:nowrap;padding:0 10px;margin-left:80px}.d2h-code-side-line{display:block;white-space:pre;padding:0 10px;height:18px;line-height:18px;margin-left:50px;color:inherit;overflow-x:inherit;background:0 0}.d2h-code-line del,.d2h-code-side-line del{display:inline-block;margin-top:-1px;text-decoration:none;background-color:#ffb6ba;border-radius:.2em}.d2h-code-line ins,.d2h-code-side-line ins{display:inline-block;margin-top:-1px;text-decoration:none;background-color:#97f295;border-radius:.2em}.d2h-code-line-ctn,.d2h-code-line-prefix{background:0 0;padding:0}.d2h-code-linenumber,.d2h-code-side-linenumber{position:absolute;height:18px;line-height:18px;background-color:#fff;text-align:right;color:rgba(0,0,0,.3);cursor:pointer}.line-num1,.line-num2{width:40px;padding-left:3px;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.line-num2{float:right}.d2h-code-linenumber{box-sizing:border-box;width:86px;padding-left:2px;padding-right:2px;border:solid #eee;border-width:0 1px}.d2h-code-side-linenumber{box-sizing:border-box;width:56px;padding-left:5px;padding-right:5px;border:solid #eee;border-width:0 1px;overflow:hidden;text-overflow:ellipsis}.d2h-del{background-color:#fee8e9;border-color:#e9aeae}.d2h-ins{background-color:#dfd;border-color:#b4e2b4}.d2h-info{background-color:#f8fafd;color:rgba(0,0,0,.3);border-color:#d5e4f2}.d2h-del.d2h-change,.d2h-ins.d2h-change{background-color:#ffc}del.d2h-change,ins.d2h-change{background-color:#fad771}.d2h-file-diff .d2h-del.d2h-change{background-color:#fae1af}.d2h-file-diff .d2h-ins.d2h-change{background-color:#ded}.d2h-file-list-wrapper{margin-bottom:10px}.d2h-file-list-wrapper a{text-decoration:none;color:#3572b0}.d2h-file-list-wrapper a:visited{color:#3572b0}.d2h-file-list-header{text-align:left}.d2h-file-list-title{font-weight:700}.d2h-file-list-line{text-align:left;font:13px Helvetica,arial,freesans,clean,sans-serif,"Segoe UI Emoji","Segoe UI Symbol"}.d2h-file-list-line .d2h-file-name{line-height:21px}.d2h-file-list{display:block}.d2h-file-switch{display:none;font-size:10px;cursor:pointer}
|
||||||
6
diff2html.min.js
vendored
6
diff2html.min.js
vendored
File diff suppressed because one or more lines are too long
59
index.html
59
index.html
|
|
@ -9,27 +9,31 @@
|
||||||
Author: rtfpessoa
|
Author: rtfpessoa
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/styles/github.min.css">
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.1.0/styles/github.min.css">
|
||||||
|
|
||||||
<!-- -->
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
|
||||||
|
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.1.0/highlight.min.js"></script>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.1.0/languages/scala.min.js"></script>
|
||||||
|
|
||||||
|
<!-- diff2html -->
|
||||||
<link rel="stylesheet" type="text/css" href="diff2html.css">
|
<link rel="stylesheet" type="text/css" href="diff2html.css">
|
||||||
|
<script type="text/javascript" src="diff2html-templates.js"></script>
|
||||||
<script type="text/javascript" src="diff2html.js"></script>
|
<script type="text/javascript" src="diff2html.js"></script>
|
||||||
|
<script type="text/javascript" src="diff2html-ui.js"></script>
|
||||||
<!-- -->
|
<!-- -->
|
||||||
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/highlight.min.js"></script>
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/languages/scala.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var lineDiffExample =
|
var lineDiffExample =
|
||||||
'diff --git a/coverage.init b/coverage.init\n' +
|
'diff --git a/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/coverage.init b/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/coverage.init\n' +
|
||||||
'index fc56817..e8e7e49 100644\n' +
|
'index fc56817..e8e7e49 100644\n' +
|
||||||
'--- a/coverage.init\n' +
|
'--- a/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/coverage.init\n' +
|
||||||
'+++ b/coverage.init\n' +
|
'+++ b/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/src/very/long/file/path/coverage.init\n' +
|
||||||
'@@ -19,7 +19,7 @@\n' +
|
'@@ -19,7 +19,7 @@\n' +
|
||||||
' -opt "\-nostart"\n' +
|
' -opt "\-nostart"\n' +
|
||||||
' \n' +
|
' \n' +
|
||||||
' # skip stopenv\n' +
|
' # skip stopenv\n' +
|
||||||
'--do "runbvt,stopenv,getlogs,pullcoveragedata"\n' +
|
'--do "runbvt,stopenv,getlogs,pullcoveragedata,stopenv,getlogs,pullcoveragedata,stopenv,getlogs,pullcoveragedata,stopenv,getlogs,pullcoveragedata,stopenv,getlogs,pullcoveragedata,stopenv,getlogs,pullcoveragedata,stopenv,getlogs,pullcoveragedata,stopenv,getlogs,pullcoveragedata,stopenv,getlogs,pullcoveragedata,stopenv,getlogs,pullcoveragedata"\n' +
|
||||||
'+-do "runbvt,getlogs,pullcoveragedata"\n' +
|
'+-do "runbvt,getlogs,pullcoveragedata"\n' +
|
||||||
' \n' +
|
' \n' +
|
||||||
' ##########################################\n' +
|
' ##########################################\n' +
|
||||||
|
|
@ -227,32 +231,21 @@
|
||||||
"+\n" +
|
"+\n" +
|
||||||
"+\n";
|
"+\n";
|
||||||
|
|
||||||
document.addEventListener("DOMContentLoaded", function() {
|
$(document).ready(function() {
|
||||||
// parse the diff to json
|
var diff2htmlUi = new Diff2HtmlUI({diff: lineDiffExample});
|
||||||
var diffJson = Diff2Html.getJsonFromDiff(lineDiffExample);
|
|
||||||
|
|
||||||
// collect all the file extensions in the json
|
diff2htmlUi.draw('#line-by-line', {inputFormat: 'json', showFiles: true, matching: 'lines'});
|
||||||
var allFileLanguages = diffJson.map(function(line) {
|
diff2htmlUi.fileListCloseable('#line-by-line', false);
|
||||||
return line.language;
|
diff2htmlUi.highlightCode('#line-by-line');
|
||||||
});
|
|
||||||
|
diff2htmlUi.draw('#side-by-side', {
|
||||||
// remove duplicated languages
|
inputFormat: 'json',
|
||||||
var distinctLanguages = allFileLanguages.filter(function(v, i) {
|
showFiles: true,
|
||||||
return allFileLanguages.indexOf(v) == i;
|
matching: 'lines',
|
||||||
});
|
outputFormat: 'side-by-side'
|
||||||
|
|
||||||
// pass the languages to the highlightjs plugin
|
|
||||||
hljs.configure({languages: distinctLanguages});
|
|
||||||
|
|
||||||
// generate and inject the diff HTML into the desired place
|
|
||||||
document.getElementById("line-by-line").innerHTML = Diff2Html.getPrettyHtml(diffJson, { inputFormat: 'json', showFiles: true, matching: 'lines' });
|
|
||||||
document.getElementById("side-by-side").innerHTML = Diff2Html.getPrettyHtml(diffJson, { inputFormat: 'json', showFiles: true, matching: 'lines', outputFormat: 'side-by-side' });
|
|
||||||
|
|
||||||
// collect all the code lines and execute the highlight on them
|
|
||||||
var codeLines = document.getElementsByClassName("d2h-code-line-ctn");
|
|
||||||
[].forEach.call(codeLines, function(line) {
|
|
||||||
hljs.highlightBlock(line);
|
|
||||||
});
|
});
|
||||||
|
diff2htmlUi.fileListCloseable('#side-by-side', false);
|
||||||
|
diff2htmlUi.highlightCode('#side-by-side');
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue