From cb30eef9bd245f3968fd0764bd54fc1aea704381 Mon Sep 17 00:00:00 2001 From: Nikita Melnikov Date: Mon, 1 Apr 2019 13:25:05 +0300 Subject: [PATCH] simplify code --- public/dist/code-styling.bundle.js | 2 +- public/dist/code-styling.css | 2 +- src/frontend/js/classes/codeStyler.js | 27 ++------------------------- src/frontend/styles/diff.pcss | 2 -- 4 files changed, 4 insertions(+), 29 deletions(-) diff --git a/public/dist/code-styling.bundle.js b/public/dist/code-styling.bundle.js index 009b0f9..f304969 100644 --- a/public/dist/code-styling.bundle.js +++ b/public/dist/code-styling.bundle.js @@ -391,7 +391,7 @@ eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack://Docs/./ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CodeStyler; });\n/* harmony import */ var core_js_modules_es6_object_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es6.object.define-property */ \"./node_modules/core-js/modules/es6.object.define-property.js\");\n/* harmony import */ var core_js_modules_es6_object_define_property__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_object_define_property__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es6.regexp.replace */ \"./node_modules/core-js/modules/es6.regexp.replace.js\");\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es6_string_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es6.string.iterator */ \"./node_modules/core-js/modules/es6.string.iterator.js\");\n/* harmony import */ var core_js_modules_es6_string_iterator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_string_iterator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es6_array_from__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es6.array.from */ \"./node_modules/core-js/modules/es6.array.from.js\");\n/* harmony import */ var core_js_modules_es6_array_from__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_from__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/web.dom.iterable */ \"./node_modules/core-js/modules/web.dom.iterable.js\");\n/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es6_array_for_each__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es6.array.for-each */ \"./node_modules/core-js/modules/es6.array.for-each.js\");\n/* harmony import */ var core_js_modules_es6_array_for_each__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_for_each__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var highlight_js_lib_highlight__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! highlight.js/lib/highlight */ \"./node_modules/highlight.js/lib/highlight.js\");\n/* harmony import */ var highlight_js_lib_highlight__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(highlight_js_lib_highlight__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var highlight_js_lib_languages_javascript__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! highlight.js/lib/languages/javascript */ \"./node_modules/highlight.js/lib/languages/javascript.js\");\n/* harmony import */ var highlight_js_lib_languages_javascript__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(highlight_js_lib_languages_javascript__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var highlight_js_lib_languages_xml__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! highlight.js/lib/languages/xml */ \"./node_modules/highlight.js/lib/languages/xml.js\");\n/* harmony import */ var highlight_js_lib_languages_xml__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(highlight_js_lib_languages_xml__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var highlight_js_lib_languages_json__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! highlight.js/lib/languages/json */ \"./node_modules/highlight.js/lib/languages/json.js\");\n/* harmony import */ var highlight_js_lib_languages_json__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(highlight_js_lib_languages_json__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var highlight_js_lib_languages_css__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! highlight.js/lib/languages/css */ \"./node_modules/highlight.js/lib/languages/css.js\");\n/* harmony import */ var highlight_js_lib_languages_css__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(highlight_js_lib_languages_css__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var highlight_js_styles_github_gist_css__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! highlight.js/styles/github-gist.css */ \"./node_modules/highlight.js/styles/github-gist.css\");\n/* harmony import */ var highlight_js_styles_github_gist_css__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(highlight_js_styles_github_gist_css__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _styles_diff_pcss__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../styles/diff.pcss */ \"./src/frontend/styles/diff.pcss\");\n/* harmony import */ var _styles_diff_pcss__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_styles_diff_pcss__WEBPACK_IMPORTED_MODULE_12__);\n\n\n\n\n\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\n\n\n // eslint-disable-line no-unused-vars\n\n // eslint-disable-line no-unused-vars\n\n/**\n * @class CodeStyles\n * @classdesc Provides styling for code blocks\n */\n\nvar CodeStyler =\n/*#__PURE__*/\nfunction () {\n /**\n * @param {string} selector - CSS selector for code blocks\n * @param {string[]} languages - list of languages to highlight, see hljs.listLanguages()\n */\n function CodeStyler(_ref) {\n var selector = _ref.selector,\n _ref$languages = _ref.languages,\n languages = _ref$languages === void 0 ? ['javascript', 'xml', 'json', 'css'] : _ref$languages;\n\n _classCallCheck(this, CodeStyler);\n\n this.codeBlocksSelector = selector;\n this.languages = languages;\n this.langsAvailable = {\n javascript: highlight_js_lib_languages_javascript__WEBPACK_IMPORTED_MODULE_7___default.a,\n xml: highlight_js_lib_languages_xml__WEBPACK_IMPORTED_MODULE_8___default.a,\n json: highlight_js_lib_languages_json__WEBPACK_IMPORTED_MODULE_9___default.a,\n css: highlight_js_lib_languages_css__WEBPACK_IMPORTED_MODULE_10___default.a\n };\n this.init();\n }\n /**\n * Start to highlight\n */\n\n\n _createClass(CodeStyler, [{\n key: \"init\",\n value: function init() {\n var _this = this;\n\n var codeBlocks = document.querySelectorAll(this.codeBlocksSelector);\n\n if (!codeBlocks.length) {\n return;\n }\n\n this.languages.forEach(function (lang) {\n highlight_js_lib_highlight__WEBPACK_IMPORTED_MODULE_6___default.a.registerLanguage(lang, _this.langsAvailable[lang]);\n });\n highlight_js_lib_highlight__WEBPACK_IMPORTED_MODULE_6___default.a.configure({\n languages: this.languages\n });\n Array.from(codeBlocks).forEach(function (block) {\n highlight_js_lib_highlight__WEBPACK_IMPORTED_MODULE_6___default.a.highlightBlock(block);\n console.log(block);\n\n _this.addDiffHighlight(block);\n });\n }\n /**\n * Iterate through all children and add diff highlighting\n * @param {HTMLElement} node - node to sort\n */\n\n }, {\n key: \"addDiffHighlight\",\n value: function addDiffHighlight(node) {\n while (node) {\n var diffPlusRegEx = /\\n([+].*)/ig;\n\n if (diffPlusRegEx.test(node.innerHTML)) {\n node.innerHTML = node.innerHTML.replace(diffPlusRegEx, '\\n$1');\n }\n\n var diffMinusRegEx = /\\n([-].*)/ig;\n\n if (diffMinusRegEx.test(node.innerHTML)) {\n node.innerHTML = node.innerHTML.replace(diffMinusRegEx, '\\n$1');\n }\n\n this.addDiffHighlight(node.firstElementChild);\n node = node.nextSibling;\n }\n }\n }]);\n\n return CodeStyler;\n}();\n\n\n\n//# sourceURL=webpack://Docs/./src/frontend/js/classes/codeStyler.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CodeStyler; });\n/* harmony import */ var core_js_modules_es6_object_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es6.object.define-property */ \"./node_modules/core-js/modules/es6.object.define-property.js\");\n/* harmony import */ var core_js_modules_es6_object_define_property__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_object_define_property__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es6.regexp.replace */ \"./node_modules/core-js/modules/es6.regexp.replace.js\");\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es6_string_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es6.string.iterator */ \"./node_modules/core-js/modules/es6.string.iterator.js\");\n/* harmony import */ var core_js_modules_es6_string_iterator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_string_iterator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es6_array_from__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es6.array.from */ \"./node_modules/core-js/modules/es6.array.from.js\");\n/* harmony import */ var core_js_modules_es6_array_from__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_from__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/web.dom.iterable */ \"./node_modules/core-js/modules/web.dom.iterable.js\");\n/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es6_array_for_each__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es6.array.for-each */ \"./node_modules/core-js/modules/es6.array.for-each.js\");\n/* harmony import */ var core_js_modules_es6_array_for_each__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_for_each__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var highlight_js_lib_highlight__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! highlight.js/lib/highlight */ \"./node_modules/highlight.js/lib/highlight.js\");\n/* harmony import */ var highlight_js_lib_highlight__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(highlight_js_lib_highlight__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var highlight_js_lib_languages_javascript__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! highlight.js/lib/languages/javascript */ \"./node_modules/highlight.js/lib/languages/javascript.js\");\n/* harmony import */ var highlight_js_lib_languages_javascript__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(highlight_js_lib_languages_javascript__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var highlight_js_lib_languages_xml__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! highlight.js/lib/languages/xml */ \"./node_modules/highlight.js/lib/languages/xml.js\");\n/* harmony import */ var highlight_js_lib_languages_xml__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(highlight_js_lib_languages_xml__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var highlight_js_lib_languages_json__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! highlight.js/lib/languages/json */ \"./node_modules/highlight.js/lib/languages/json.js\");\n/* harmony import */ var highlight_js_lib_languages_json__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(highlight_js_lib_languages_json__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var highlight_js_lib_languages_css__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! highlight.js/lib/languages/css */ \"./node_modules/highlight.js/lib/languages/css.js\");\n/* harmony import */ var highlight_js_lib_languages_css__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(highlight_js_lib_languages_css__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var highlight_js_styles_github_gist_css__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! highlight.js/styles/github-gist.css */ \"./node_modules/highlight.js/styles/github-gist.css\");\n/* harmony import */ var highlight_js_styles_github_gist_css__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(highlight_js_styles_github_gist_css__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _styles_diff_pcss__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../styles/diff.pcss */ \"./src/frontend/styles/diff.pcss\");\n/* harmony import */ var _styles_diff_pcss__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_styles_diff_pcss__WEBPACK_IMPORTED_MODULE_12__);\n\n\n\n\n\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\n\n\n // eslint-disable-line no-unused-vars\n\n // eslint-disable-line no-unused-vars\n\n/**\n * @class CodeStyles\n * @classdesc Provides styling for code blocks\n */\n\nvar CodeStyler =\n/*#__PURE__*/\nfunction () {\n /**\n * @param {string} selector - CSS selector for code blocks\n * @param {string[]} languages - list of languages to highlight, see hljs.listLanguages()\n */\n function CodeStyler(_ref) {\n var selector = _ref.selector,\n _ref$languages = _ref.languages,\n languages = _ref$languages === void 0 ? ['javascript', 'xml', 'json', 'css'] : _ref$languages;\n\n _classCallCheck(this, CodeStyler);\n\n this.codeBlocksSelector = selector;\n this.languages = languages;\n this.langsAvailable = {\n javascript: highlight_js_lib_languages_javascript__WEBPACK_IMPORTED_MODULE_7___default.a,\n xml: highlight_js_lib_languages_xml__WEBPACK_IMPORTED_MODULE_8___default.a,\n json: highlight_js_lib_languages_json__WEBPACK_IMPORTED_MODULE_9___default.a,\n css: highlight_js_lib_languages_css__WEBPACK_IMPORTED_MODULE_10___default.a\n };\n this.init();\n }\n /**\n * Start to highlight\n */\n\n\n _createClass(CodeStyler, [{\n key: \"init\",\n value: function init() {\n var _this = this;\n\n var codeBlocks = document.querySelectorAll(this.codeBlocksSelector);\n\n if (!codeBlocks.length) {\n return;\n }\n\n this.languages.forEach(function (lang) {\n highlight_js_lib_highlight__WEBPACK_IMPORTED_MODULE_6___default.a.registerLanguage(lang, _this.langsAvailable[lang]);\n });\n highlight_js_lib_highlight__WEBPACK_IMPORTED_MODULE_6___default.a.configure({\n languages: this.languages\n });\n Array.from(codeBlocks).forEach(function (block) {\n highlight_js_lib_highlight__WEBPACK_IMPORTED_MODULE_6___default.a.highlightBlock(block);\n block.innerHTML = block.innerHTML.replace(/\\n([+].*)/ig, '\\n$1');\n block.innerHTML = block.innerHTML.replace(/\\n([-].*)/ig, '\\n$1');\n });\n }\n }]);\n\n return CodeStyler;\n}();\n\n\n\n//# sourceURL=webpack://Docs/./src/frontend/js/classes/codeStyler.js?"); /***/ }), diff --git a/public/dist/code-styling.css b/public/dist/code-styling.css index 9056da0..2145044 100644 --- a/public/dist/code-styling.css +++ b/public/dist/code-styling.css @@ -1,2 +1,2 @@ .hljs{display:block;background:#fff;padding:.5em;color:#333;overflow-x:auto}.hljs-comment,.hljs-meta{color:#969896}.hljs-emphasis,.hljs-quote,.hljs-string,.hljs-strong,.hljs-template-variable,.hljs-variable{color:#df5000}.hljs-keyword,.hljs-selector-tag,.hljs-type{color:#a71d5d}.hljs-attribute,.hljs-bullet,.hljs-literal,.hljs-symbol{color:#0086b3}.hljs-name,.hljs-section{color:#63a35c}.hljs-tag{color:#333}.hljs-attr,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-title{color:#795da3}.hljs-addition{color:#55a532;background-color:#eaffea}.hljs-deletion{color:#bd2c00;background-color:#ffecec}.hljs-link{text-decoration:underline} -.diff{width:100%;display:inline-block}.diff-plus{color:green!important;background-color:rgba(0,128,0,.21)}.diff-minus{color:red!important;background-color:rgba(255,0,0,.21)} +.diff-plus{color:green!important;background-color:rgba(0,128,0,.21)}.diff-minus{color:red!important;background-color:rgba(255,0,0,.21)} diff --git a/src/frontend/js/classes/codeStyler.js b/src/frontend/js/classes/codeStyler.js index 43965bd..18683e6 100644 --- a/src/frontend/js/classes/codeStyler.js +++ b/src/frontend/js/classes/codeStyler.js @@ -48,31 +48,8 @@ export default class CodeStyler { Array.from(codeBlocks).forEach(block => { hljs.highlightBlock(block); - console.log(block); - this.addDiffHighlight(block); - }); - } - /** - * Iterate through all children and add diff highlighting - * @param {HTMLElement} node - node to sort - */ - addDiffHighlight(node) { - while (node) { - const diffPlusRegEx = /\n([+].*)/ig; - - if (diffPlusRegEx.test(node.innerHTML)) { - node.innerHTML = node.innerHTML.replace(diffPlusRegEx, '\n$1'); - } - - const diffMinusRegEx = /\n([-].*)/ig; - - if (diffMinusRegEx.test(node.innerHTML)) { - node.innerHTML = node.innerHTML.replace(diffMinusRegEx, '\n$1'); - } - - this.addDiffHighlight(node.firstElementChild); - node = node.nextSibling; - } + block.innerHTML = block.innerHTML.replace(/\n([+].*)/ig, '\n$1'); + block.innerHTML = block.innerHTML.replace(/\n([-].*)/ig, '\n$1'); }); } } diff --git a/src/frontend/styles/diff.pcss b/src/frontend/styles/diff.pcss index b4652b1..1acfa8c 100644 --- a/src/frontend/styles/diff.pcss +++ b/src/frontend/styles/diff.pcss @@ -1,6 +1,4 @@ .diff { - width: 100%; - display: inline-block; &-plus { color: green !important; background-color: rgba(0, 128, 0, 0.21);