diff --git a/src/js/even.js b/src/js/even.js index 5538661..6aef540 100644 --- a/src/js/even.js +++ b/src/js/even.js @@ -114,13 +114,13 @@ Even.fancybox = function () { if ($.fancybox) { $('.post').each(function () { $(this).find('img').each(function () { - $(this).wrap('') + $(this).wrap(``) }) }) $('.fancybox').fancybox({ - openEffect: 'elastic', - closeEffect: 'elastic' + selector: '.fancybox', + protect: true }) } } diff --git a/static/dist/even.min.js b/static/dist/even.min.js index eb4f5c9..9c713fe 100644 --- a/static/dist/even.min.js +++ b/static/dist/even.min.js @@ -1,2 +1,2 @@ -!function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";var o=n(1);n(2),hljs.initHighlighting(),o.Even.highlight(),$(document).ready(function(){o.Even.backToTop(),o.Even.mobileNavbar(),o.Even.beforeToc(),o.Even.toc(),o.Even.fancybox()})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={};o.backToTop=function(){var e=$("#back-to-top");$(window).scroll(function(){$(window).scrollTop()>100?e.fadeIn(1e3):e.fadeOut(1e3)}),e.click(function(){$("body,html").animate({scrollTop:0})})},o.mobileNavbar=function(){var e=$("#mobile-navbar"),t=$(".mobile-navbar-icon"),n=new Slideout({panel:document.getElementById("mobile-panel"),menu:document.getElementById("mobile-menu"),padding:180,tolerance:70});n.disableTouch(),t.click(function(){n.toggle()}),n.on("beforeopen",function(){e.addClass("fixed-open"),t.addClass("icon-click").removeClass("icon-out")}),n.on("beforeclose",function(){e.removeClass("fixed-open"),t.addClass("icon-out").removeClass("icon-click")}),$("#mobile-panel").on("touchend",function(){n.isOpen()&&t.click()})},o.toc=function(){var e=$(".post-toc"),t=$(".post-footer");if(e.length){var n=e.offset().top-20,o=t.offset().top-e.height()-20,r={start:{position:"absolute",top:n},process:{position:"fixed",top:20},end:{position:"absolute",top:o}};$(window).scroll(function(){var t=$(window).scrollTop();to?e.css(r.end):e.css(r.process)})}var i=$(".toc-link"),l=$(".headerlink"),a=$.map(l,function(e){return $(e).offset().top});$(window).scroll(function(){for(var e=$(window).scrollTop(),t=0;t')})}),$(".fancybox").fancybox({openEffect:"elastic",closeEffect:"elastic"}))},o.highlight=function(){var e=document.querySelectorAll("pre code"),t=!0,n=!1,o=void 0;try{for(var r,i=e[Symbol.iterator]();!(t=(r=i.next()).done);t=!0){for(var l=r.value,a=l.classList,c=l.parentElement,s=l.innerHTML.split(/\n/).slice(0,-1),f=s.length,u="",d=0;d'+(d+1)+"";var v="",p=!0,h=!1,b=void 0;try{for(var y,m=s[Symbol.iterator]();!(p=(y=m.next()).done);p=!0){v+='
'+y.value+"
"}}catch(e){h=!0,b=e}finally{try{!p&&m.return&&m.return()}finally{if(h)throw b}}a.add("highlight");var g=document.createElement("figure");g.classList=a,g.innerHTML='
'+u+'
'+v+"
",c.parentElement.replaceChild(g,c)}}catch(e){n=!0,o=e}finally{try{!t&&i.return&&i.return()}finally{if(n)throw o}}},o.beforeToc=function(){var e=document.querySelectorAll("#TableOfContents a"),t=!0,n=!1,o=void 0;try{for(var r,i=e[Symbol.iterator]();!(t=(r=i.next()).done);t=!0){r.value.classList.add("toc-link")}}catch(e){n=!0,o=e}finally{try{!t&&i.return&&i.return()}finally{if(n)throw o}}for(var l=[1,2,3,4,5,6],a=0;ah"+c),f=!0,u=!1,d=void 0;try{for(var v,p=s[Symbol.iterator]();!(f=(v=p.next()).done);f=!0){var h=v.value;h.innerHTML=''+h.innerHTML}}catch(e){u=!0,d=e}finally{try{!f&&p.return&&p.return()}finally{if(u)throw d}}}},t.Even=o},function(e,t){}]); +!function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";var o=n(1);n(2),hljs.initHighlighting(),o.Even.highlight(),$(document).ready(function(){o.Even.backToTop(),o.Even.mobileNavbar(),o.Even.beforeToc(),o.Even.toc(),o.Even.fancybox()})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={};o.backToTop=function(){var e=$("#back-to-top");$(window).scroll(function(){$(window).scrollTop()>100?e.fadeIn(1e3):e.fadeOut(1e3)}),e.click(function(){$("body,html").animate({scrollTop:0})})},o.mobileNavbar=function(){var e=$("#mobile-navbar"),t=$(".mobile-navbar-icon"),n=new Slideout({panel:document.getElementById("mobile-panel"),menu:document.getElementById("mobile-menu"),padding:180,tolerance:70});n.disableTouch(),t.click(function(){n.toggle()}),n.on("beforeopen",function(){e.addClass("fixed-open"),t.addClass("icon-click").removeClass("icon-out")}),n.on("beforeclose",function(){e.removeClass("fixed-open"),t.addClass("icon-out").removeClass("icon-click")}),$("#mobile-panel").on("touchend",function(){n.isOpen()&&t.click()})},o.toc=function(){var e=$(".post-toc"),t=$(".post-footer");if(e.length){var n=e.offset().top-20,o=t.offset().top-e.height()-20,r={start:{position:"absolute",top:n},process:{position:"fixed",top:20},end:{position:"absolute",top:o}};$(window).scroll(function(){var t=$(window).scrollTop();to?e.css(r.end):e.css(r.process)})}var i=$(".toc-link"),a=$(".headerlink"),l=$.map(a,function(e){return $(e).offset().top});$(window).scroll(function(){for(var e=$(window).scrollTop(),t=0;t')})}),$(".fancybox").fancybox({selector:".fancybox",protect:!0}))},o.highlight=function(){var e=document.querySelectorAll("pre code"),t=!0,n=!1,o=void 0;try{for(var r,i=e[Symbol.iterator]();!(t=(r=i.next()).done);t=!0){for(var a=r.value,l=a.classList,c=a.parentElement,s=a.innerHTML.split(/\n/).slice(0,-1),f=s.length,u="",d=0;d'+(d+1)+"";var v="",p=!0,b=!1,h=void 0;try{for(var y,m=s[Symbol.iterator]();!(p=(y=m.next()).done);p=!0){v+='
'+y.value+"
"}}catch(e){b=!0,h=e}finally{try{!p&&m.return&&m.return()}finally{if(b)throw h}}l.add("highlight");var g=document.createElement("figure");g.classList=l,g.innerHTML='
'+u+'
'+v+"
",c.parentElement.replaceChild(g,c)}}catch(e){n=!0,o=e}finally{try{!t&&i.return&&i.return()}finally{if(n)throw o}}},o.beforeToc=function(){var e=document.querySelectorAll("#TableOfContents a"),t=!0,n=!1,o=void 0;try{for(var r,i=e[Symbol.iterator]();!(t=(r=i.next()).done);t=!0){r.value.classList.add("toc-link")}}catch(e){n=!0,o=e}finally{try{!t&&i.return&&i.return()}finally{if(n)throw o}}for(var a=[1,2,3,4,5,6],l=0;lh"+c),f=!0,u=!1,d=void 0;try{for(var v,p=s[Symbol.iterator]();!(f=(v=p.next()).done);f=!0){var b=v.value;b.innerHTML=''+b.innerHTML}}catch(e){u=!0,d=e}finally{try{!f&&p.return&&p.return()}finally{if(u)throw d}}}},t.Even=o},function(e,t){}]); //# sourceMappingURL=even.min.js.map \ No newline at end of file diff --git a/static/dist/even.min.js.map b/static/dist/even.min.js.map index e994f5a..ce8d7c1 100644 --- a/static/dist/even.min.js.map +++ b/static/dist/even.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///even.min.js","webpack:///webpack/bootstrap 964e2c71d55e8307b161","webpack:///./js/main.js","webpack:///./js/even.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","_even","hljs","initHighlighting","Even","highlight","$","document","ready","backToTop","mobileNavbar","beforeToc","toc","fancybox","value","$backToTop","window","scroll","scrollTop","fadeIn","fadeOut","click","animate","$mobileNav","$mobileNavIcon","slideout","Slideout","panel","getElementById","menu","padding","tolerance","disableTouch","toggle","on","addClass","removeClass","isOpen","$toc","$footer","length","minScrollTop","offset","top","maxScrollTop","height","tocState","start","position","process","end","css","$toclink","$headerlink","headerlinkTop","map","link","isLastOne","currentTop","nextTop","Infinity","each","this","find","wrap","src","alt","openEffect","closeEffect","blocks","querySelectorAll","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","Symbol","iterator","next","done","block","classList","rootElement","parentElement","lineCodes","innerHTML","split","slice","lineLength","codeLineHtml","codeHtml","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","err","return","add","figure","createElement","replaceChild","links","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_arr","_i","num","headers","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","header","id"],"mappings":"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","file":"even.min.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _even = __webpack_require__(1);\n\n__webpack_require__(2);\n\nhljs.initHighlighting();\n_even.Even.highlight();\n\n$(document).ready(function () {\n _even.Even.backToTop();\n _even.Even.mobileNavbar();\n _even.Even.beforeToc();\n _even.Even.toc();\n _even.Even.fancybox();\n});\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar Even = {};\n\nEven.backToTop = function () {\n var $backToTop = $('#back-to-top');\n\n $(window).scroll(function () {\n if ($(window).scrollTop() > 100) {\n $backToTop.fadeIn(1000);\n } else {\n $backToTop.fadeOut(1000);\n }\n });\n\n $backToTop.click(function () {\n $('body,html').animate({ scrollTop: 0 });\n });\n};\n\nEven.mobileNavbar = function () {\n var $mobileNav = $('#mobile-navbar');\n var $mobileNavIcon = $('.mobile-navbar-icon');\n var slideout = new Slideout({\n 'panel': document.getElementById('mobile-panel'),\n 'menu': document.getElementById('mobile-menu'),\n 'padding': 180,\n 'tolerance': 70\n });\n slideout.disableTouch();\n\n $mobileNavIcon.click(function () {\n slideout.toggle();\n });\n\n slideout.on('beforeopen', function () {\n $mobileNav.addClass('fixed-open');\n $mobileNavIcon.addClass('icon-click').removeClass('icon-out');\n });\n\n slideout.on('beforeclose', function () {\n $mobileNav.removeClass('fixed-open');\n $mobileNavIcon.addClass('icon-out').removeClass('icon-click');\n });\n\n $('#mobile-panel').on('touchend', function () {\n slideout.isOpen() && $mobileNavIcon.click();\n });\n};\n\nEven.toc = function () {\n var SPACING = 20;\n var $toc = $('.post-toc');\n var $footer = $('.post-footer');\n\n if ($toc.length) {\n var minScrollTop = $toc.offset().top - SPACING;\n var maxScrollTop = $footer.offset().top - $toc.height() - SPACING;\n\n var tocState = {\n start: {\n 'position': 'absolute',\n 'top': minScrollTop\n },\n process: {\n 'position': 'fixed',\n 'top': SPACING\n },\n end: {\n 'position': 'absolute',\n 'top': maxScrollTop\n }\n };\n\n $(window).scroll(function () {\n var scrollTop = $(window).scrollTop();\n\n if (scrollTop < minScrollTop) {\n $toc.css(tocState.start);\n } else if (scrollTop > maxScrollTop) {\n $toc.css(tocState.end);\n } else {\n $toc.css(tocState.process);\n }\n });\n }\n\n var HEADERFIX = 30;\n var $toclink = $('.toc-link');\n var $headerlink = $('.headerlink');\n\n var headerlinkTop = $.map($headerlink, function (link) {\n return $(link).offset().top;\n });\n\n $(window).scroll(function () {\n var scrollTop = $(window).scrollTop();\n\n for (var i = 0; i < $toclink.length; i++) {\n var isLastOne = i + 1 === $toclink.length;\n var currentTop = headerlinkTop[i] - HEADERFIX;\n var nextTop = isLastOne ? Infinity : headerlinkTop[i + 1] - HEADERFIX;\n\n if (currentTop < scrollTop && scrollTop <= nextTop) {\n $($toclink[i]).addClass('active');\n } else {\n $($toclink[i]).removeClass('active');\n }\n }\n });\n};\n\nEven.fancybox = function () {\n if ($.fancybox) {\n $('.post').each(function () {\n $(this).find('img').each(function () {\n $(this).wrap('');\n });\n });\n\n $('.fancybox').fancybox({\n openEffect: 'elastic',\n closeEffect: 'elastic'\n });\n }\n};\n\nEven.highlight = function () {\n var blocks = document.querySelectorAll('pre code');\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = blocks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var block = _step.value;\n\n var classList = block.classList;\n var rootElement = block.parentElement;\n var lineCodes = block.innerHTML.split(/\\n/).slice(0, -1);\n var lineLength = lineCodes.length;\n\n var codeLineHtml = '';\n for (var i = 0; i < lineLength; i++) {\n codeLineHtml += '
' + (i + 1) + '
';\n }\n\n var codeHtml = '';\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = lineCodes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var lineCode = _step2.value;\n\n codeHtml += '
' + lineCode + '
';\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n classList.add('highlight');\n var figure = document.createElement('figure');\n figure.classList = classList;\n figure.innerHTML = '
' + codeLineHtml + '
' + codeHtml + '
';\n\n rootElement.parentElement.replaceChild(figure, rootElement);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n};\n\nEven.beforeToc = function () {\n var links = document.querySelectorAll('#TableOfContents a');\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = links[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var link = _step3.value;\n link.classList.add('toc-link');\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n var _arr = [1, 2, 3, 4, 5, 6];\n for (var _i = 0; _i < _arr.length; _i++) {\n var num = _arr[_i];\n var headers = document.querySelectorAll('.post-content>h' + num);\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = headers[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var header = _step4.value;\n\n header.innerHTML = '' + header.innerHTML;\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n }\n};\n\nexports.Even = Even;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// even.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 964e2c71d55e8307b161","import {Even} from './even.js'\r\n\r\nimport '../css/style.scss'\r\n\r\nhljs.initHighlighting()\r\nEven.highlight()\r\n\r\n$(document).ready(function () {\r\n Even.backToTop()\r\n Even.mobileNavbar()\r\n Even.beforeToc()\r\n Even.toc()\r\n Even.fancybox()\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/main.js","'use strict'\r\n\r\nvar Even = {}\r\n\r\nEven.backToTop = function () {\r\n var $backToTop = $('#back-to-top')\r\n\r\n $(window).scroll(function () {\r\n if ($(window).scrollTop() > 100) {\r\n $backToTop.fadeIn(1000)\r\n } else {\r\n $backToTop.fadeOut(1000)\r\n }\r\n })\r\n\r\n $backToTop.click(function () {\r\n $('body,html').animate({ scrollTop: 0 })\r\n })\r\n}\r\n\r\nEven.mobileNavbar = function () {\r\n var $mobileNav = $('#mobile-navbar')\r\n var $mobileNavIcon = $('.mobile-navbar-icon')\r\n var slideout = new Slideout({\r\n 'panel': document.getElementById('mobile-panel'),\r\n 'menu': document.getElementById('mobile-menu'),\r\n 'padding': 180,\r\n 'tolerance': 70\r\n })\r\n slideout.disableTouch()\r\n\r\n $mobileNavIcon.click(function () {\r\n slideout.toggle()\r\n })\r\n\r\n slideout.on('beforeopen', function () {\r\n $mobileNav.addClass('fixed-open')\r\n $mobileNavIcon.addClass('icon-click').removeClass('icon-out')\r\n })\r\n\r\n slideout.on('beforeclose', function () {\r\n $mobileNav.removeClass('fixed-open')\r\n $mobileNavIcon.addClass('icon-out').removeClass('icon-click')\r\n })\r\n\r\n $('#mobile-panel').on('touchend', function () {\r\n slideout.isOpen() && $mobileNavIcon.click()\r\n })\r\n}\r\n\r\nEven.toc = function () {\r\n var SPACING = 20\r\n var $toc = $('.post-toc')\r\n var $footer = $('.post-footer')\r\n\r\n if ($toc.length) {\r\n var minScrollTop = $toc.offset().top - SPACING\r\n var maxScrollTop = $footer.offset().top - $toc.height() - SPACING\r\n\r\n var tocState = {\r\n start: {\r\n 'position': 'absolute',\r\n 'top': minScrollTop\r\n },\r\n process: {\r\n 'position': 'fixed',\r\n 'top': SPACING\r\n },\r\n end: {\r\n 'position': 'absolute',\r\n 'top': maxScrollTop\r\n }\r\n }\r\n\r\n $(window).scroll(function () {\r\n var scrollTop = $(window).scrollTop()\r\n\r\n if (scrollTop < minScrollTop) {\r\n $toc.css(tocState.start)\r\n } else if (scrollTop > maxScrollTop) {\r\n $toc.css(tocState.end)\r\n } else {\r\n $toc.css(tocState.process)\r\n }\r\n })\r\n }\r\n\r\n var HEADERFIX = 30\r\n var $toclink = $('.toc-link')\r\n var $headerlink = $('.headerlink')\r\n\r\n var headerlinkTop = $.map($headerlink, function (link) {\r\n return $(link).offset().top\r\n })\r\n\r\n $(window).scroll(function () {\r\n var scrollTop = $(window).scrollTop()\r\n\r\n for (var i = 0; i < $toclink.length; i++) {\r\n var isLastOne = i + 1 === $toclink.length\r\n var currentTop = headerlinkTop[i] - HEADERFIX\r\n var nextTop = isLastOne ? Infinity : headerlinkTop[i + 1] - HEADERFIX\r\n\r\n if (currentTop < scrollTop && scrollTop <= nextTop) {\r\n $($toclink[i]).addClass('active')\r\n } else {\r\n $($toclink[i]).removeClass('active')\r\n }\r\n }\r\n })\r\n}\r\n\r\nEven.fancybox = function () {\r\n if ($.fancybox) {\r\n $('.post').each(function () {\r\n $(this).find('img').each(function () {\r\n $(this).wrap('')\r\n })\r\n })\r\n\r\n $('.fancybox').fancybox({\r\n openEffect: 'elastic',\r\n closeEffect: 'elastic'\r\n })\r\n }\r\n}\r\n\r\nEven.highlight = function () {\r\n const blocks = document.querySelectorAll('pre code')\r\n for (const block of blocks) {\r\n const classList = block.classList\r\n const rootElement = block.parentElement\r\n const lineCodes = block.innerHTML.split(/\\n/).slice(0, -1)\r\n const lineLength = lineCodes.length\r\n\r\n let codeLineHtml = ''\r\n for (let i = 0; i < lineLength; i++) {\r\n codeLineHtml += `
${i + 1}
`\r\n }\r\n\r\n let codeHtml = ''\r\n for (const lineCode of lineCodes) {\r\n codeHtml += `
${lineCode}
`\r\n }\r\n\r\n classList.add('highlight')\r\n const figure = document.createElement('figure')\r\n figure.classList = classList\r\n figure.innerHTML = `
${codeLineHtml}
${codeHtml}
`\r\n\r\n rootElement.parentElement.replaceChild(figure, rootElement)\r\n }\r\n}\r\n\r\nEven.beforeToc = function () {\r\n const links = document.querySelectorAll('#TableOfContents a')\r\n for (const link of links) link.classList.add('toc-link')\r\n\r\n for (const num of [1, 2, 3, 4, 5, 6]) {\r\n const headers = document.querySelectorAll('.post-content>h' + num)\r\n for (const header of headers) {\r\n header.innerHTML = `${header.innerHTML}`\r\n }\r\n }\r\n}\r\n\r\nexport {Even}\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/even.js"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///even.min.js","webpack:///webpack/bootstrap fbaeb0159e747d17cf65","webpack:///./js/main.js","webpack:///./js/even.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","_even","hljs","initHighlighting","Even","highlight","$","document","ready","backToTop","mobileNavbar","beforeToc","toc","fancybox","value","$backToTop","window","scroll","scrollTop","fadeIn","fadeOut","click","animate","$mobileNav","$mobileNavIcon","slideout","Slideout","panel","getElementById","menu","padding","tolerance","disableTouch","toggle","on","addClass","removeClass","isOpen","$toc","$footer","length","minScrollTop","offset","top","maxScrollTop","height","tocState","start","position","process","end","css","$toclink","$headerlink","headerlinkTop","map","link","isLastOne","currentTop","nextTop","Infinity","each","this","find","wrap","src","title","selector","protect","blocks","querySelectorAll","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","Symbol","iterator","next","done","block","classList","rootElement","parentElement","lineCodes","innerHTML","split","slice","lineLength","codeLineHtml","codeHtml","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","err","return","add","figure","createElement","replaceChild","links","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_arr","_i","num","headers","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","header","id"],"mappings":"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","file":"even.min.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _even = __webpack_require__(1);\n\n__webpack_require__(2);\n\nhljs.initHighlighting();\n_even.Even.highlight();\n\n$(document).ready(function () {\n _even.Even.backToTop();\n _even.Even.mobileNavbar();\n _even.Even.beforeToc();\n _even.Even.toc();\n _even.Even.fancybox();\n});\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar Even = {};\n\nEven.backToTop = function () {\n var $backToTop = $('#back-to-top');\n\n $(window).scroll(function () {\n if ($(window).scrollTop() > 100) {\n $backToTop.fadeIn(1000);\n } else {\n $backToTop.fadeOut(1000);\n }\n });\n\n $backToTop.click(function () {\n $('body,html').animate({ scrollTop: 0 });\n });\n};\n\nEven.mobileNavbar = function () {\n var $mobileNav = $('#mobile-navbar');\n var $mobileNavIcon = $('.mobile-navbar-icon');\n var slideout = new Slideout({\n 'panel': document.getElementById('mobile-panel'),\n 'menu': document.getElementById('mobile-menu'),\n 'padding': 180,\n 'tolerance': 70\n });\n slideout.disableTouch();\n\n $mobileNavIcon.click(function () {\n slideout.toggle();\n });\n\n slideout.on('beforeopen', function () {\n $mobileNav.addClass('fixed-open');\n $mobileNavIcon.addClass('icon-click').removeClass('icon-out');\n });\n\n slideout.on('beforeclose', function () {\n $mobileNav.removeClass('fixed-open');\n $mobileNavIcon.addClass('icon-out').removeClass('icon-click');\n });\n\n $('#mobile-panel').on('touchend', function () {\n slideout.isOpen() && $mobileNavIcon.click();\n });\n};\n\nEven.toc = function () {\n var SPACING = 20;\n var $toc = $('.post-toc');\n var $footer = $('.post-footer');\n\n if ($toc.length) {\n var minScrollTop = $toc.offset().top - SPACING;\n var maxScrollTop = $footer.offset().top - $toc.height() - SPACING;\n\n var tocState = {\n start: {\n 'position': 'absolute',\n 'top': minScrollTop\n },\n process: {\n 'position': 'fixed',\n 'top': SPACING\n },\n end: {\n 'position': 'absolute',\n 'top': maxScrollTop\n }\n };\n\n $(window).scroll(function () {\n var scrollTop = $(window).scrollTop();\n\n if (scrollTop < minScrollTop) {\n $toc.css(tocState.start);\n } else if (scrollTop > maxScrollTop) {\n $toc.css(tocState.end);\n } else {\n $toc.css(tocState.process);\n }\n });\n }\n\n var HEADERFIX = 30;\n var $toclink = $('.toc-link');\n var $headerlink = $('.headerlink');\n\n var headerlinkTop = $.map($headerlink, function (link) {\n return $(link).offset().top;\n });\n\n $(window).scroll(function () {\n var scrollTop = $(window).scrollTop();\n\n for (var i = 0; i < $toclink.length; i++) {\n var isLastOne = i + 1 === $toclink.length;\n var currentTop = headerlinkTop[i] - HEADERFIX;\n var nextTop = isLastOne ? Infinity : headerlinkTop[i + 1] - HEADERFIX;\n\n if (currentTop < scrollTop && scrollTop <= nextTop) {\n $($toclink[i]).addClass('active');\n } else {\n $($toclink[i]).removeClass('active');\n }\n }\n });\n};\n\nEven.fancybox = function () {\n if ($.fancybox) {\n $('.post').each(function () {\n $(this).find('img').each(function () {\n $(this).wrap('');\n });\n });\n\n $('.fancybox').fancybox({\n selector: '.fancybox',\n protect: true\n });\n }\n};\n\nEven.highlight = function () {\n var blocks = document.querySelectorAll('pre code');\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = blocks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var block = _step.value;\n\n var classList = block.classList;\n var rootElement = block.parentElement;\n var lineCodes = block.innerHTML.split(/\\n/).slice(0, -1);\n var lineLength = lineCodes.length;\n\n var codeLineHtml = '';\n for (var i = 0; i < lineLength; i++) {\n codeLineHtml += '
' + (i + 1) + '
';\n }\n\n var codeHtml = '';\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = lineCodes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var lineCode = _step2.value;\n\n codeHtml += '
' + lineCode + '
';\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n classList.add('highlight');\n var figure = document.createElement('figure');\n figure.classList = classList;\n figure.innerHTML = '
' + codeLineHtml + '
' + codeHtml + '
';\n\n rootElement.parentElement.replaceChild(figure, rootElement);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n};\n\nEven.beforeToc = function () {\n var links = document.querySelectorAll('#TableOfContents a');\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = links[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var link = _step3.value;\n link.classList.add('toc-link');\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n var _arr = [1, 2, 3, 4, 5, 6];\n for (var _i = 0; _i < _arr.length; _i++) {\n var num = _arr[_i];\n var headers = document.querySelectorAll('.post-content>h' + num);\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = headers[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var header = _step4.value;\n\n header.innerHTML = '' + header.innerHTML;\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n }\n};\n\nexports.Even = Even;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// even.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap fbaeb0159e747d17cf65","import {Even} from './even.js'\r\n\r\nimport '../css/style.scss'\r\n\r\nhljs.initHighlighting()\r\nEven.highlight()\r\n\r\n$(document).ready(function () {\r\n Even.backToTop()\r\n Even.mobileNavbar()\r\n Even.beforeToc()\r\n Even.toc()\r\n Even.fancybox()\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/main.js","'use strict'\r\n\r\nvar Even = {}\r\n\r\nEven.backToTop = function () {\r\n var $backToTop = $('#back-to-top')\r\n\r\n $(window).scroll(function () {\r\n if ($(window).scrollTop() > 100) {\r\n $backToTop.fadeIn(1000)\r\n } else {\r\n $backToTop.fadeOut(1000)\r\n }\r\n })\r\n\r\n $backToTop.click(function () {\r\n $('body,html').animate({ scrollTop: 0 })\r\n })\r\n}\r\n\r\nEven.mobileNavbar = function () {\r\n var $mobileNav = $('#mobile-navbar')\r\n var $mobileNavIcon = $('.mobile-navbar-icon')\r\n var slideout = new Slideout({\r\n 'panel': document.getElementById('mobile-panel'),\r\n 'menu': document.getElementById('mobile-menu'),\r\n 'padding': 180,\r\n 'tolerance': 70\r\n })\r\n slideout.disableTouch()\r\n\r\n $mobileNavIcon.click(function () {\r\n slideout.toggle()\r\n })\r\n\r\n slideout.on('beforeopen', function () {\r\n $mobileNav.addClass('fixed-open')\r\n $mobileNavIcon.addClass('icon-click').removeClass('icon-out')\r\n })\r\n\r\n slideout.on('beforeclose', function () {\r\n $mobileNav.removeClass('fixed-open')\r\n $mobileNavIcon.addClass('icon-out').removeClass('icon-click')\r\n })\r\n\r\n $('#mobile-panel').on('touchend', function () {\r\n slideout.isOpen() && $mobileNavIcon.click()\r\n })\r\n}\r\n\r\nEven.toc = function () {\r\n var SPACING = 20\r\n var $toc = $('.post-toc')\r\n var $footer = $('.post-footer')\r\n\r\n if ($toc.length) {\r\n var minScrollTop = $toc.offset().top - SPACING\r\n var maxScrollTop = $footer.offset().top - $toc.height() - SPACING\r\n\r\n var tocState = {\r\n start: {\r\n 'position': 'absolute',\r\n 'top': minScrollTop\r\n },\r\n process: {\r\n 'position': 'fixed',\r\n 'top': SPACING\r\n },\r\n end: {\r\n 'position': 'absolute',\r\n 'top': maxScrollTop\r\n }\r\n }\r\n\r\n $(window).scroll(function () {\r\n var scrollTop = $(window).scrollTop()\r\n\r\n if (scrollTop < minScrollTop) {\r\n $toc.css(tocState.start)\r\n } else if (scrollTop > maxScrollTop) {\r\n $toc.css(tocState.end)\r\n } else {\r\n $toc.css(tocState.process)\r\n }\r\n })\r\n }\r\n\r\n var HEADERFIX = 30\r\n var $toclink = $('.toc-link')\r\n var $headerlink = $('.headerlink')\r\n\r\n var headerlinkTop = $.map($headerlink, function (link) {\r\n return $(link).offset().top\r\n })\r\n\r\n $(window).scroll(function () {\r\n var scrollTop = $(window).scrollTop()\r\n\r\n for (var i = 0; i < $toclink.length; i++) {\r\n var isLastOne = i + 1 === $toclink.length\r\n var currentTop = headerlinkTop[i] - HEADERFIX\r\n var nextTop = isLastOne ? Infinity : headerlinkTop[i + 1] - HEADERFIX\r\n\r\n if (currentTop < scrollTop && scrollTop <= nextTop) {\r\n $($toclink[i]).addClass('active')\r\n } else {\r\n $($toclink[i]).removeClass('active')\r\n }\r\n }\r\n })\r\n}\r\n\r\nEven.fancybox = function () {\r\n if ($.fancybox) {\r\n $('.post').each(function () {\r\n $(this).find('img').each(function () {\r\n $(this).wrap(``)\r\n })\r\n })\r\n\r\n $('.fancybox').fancybox({\r\n selector: '.fancybox',\r\n protect: true\r\n })\r\n }\r\n}\r\n\r\nEven.highlight = function () {\r\n const blocks = document.querySelectorAll('pre code')\r\n for (const block of blocks) {\r\n const classList = block.classList\r\n const rootElement = block.parentElement\r\n const lineCodes = block.innerHTML.split(/\\n/).slice(0, -1)\r\n const lineLength = lineCodes.length\r\n\r\n let codeLineHtml = ''\r\n for (let i = 0; i < lineLength; i++) {\r\n codeLineHtml += `
${i + 1}
`\r\n }\r\n\r\n let codeHtml = ''\r\n for (const lineCode of lineCodes) {\r\n codeHtml += `
${lineCode}
`\r\n }\r\n\r\n classList.add('highlight')\r\n const figure = document.createElement('figure')\r\n figure.classList = classList\r\n figure.innerHTML = `
${codeLineHtml}
${codeHtml}
`\r\n\r\n rootElement.parentElement.replaceChild(figure, rootElement)\r\n }\r\n}\r\n\r\nEven.beforeToc = function () {\r\n const links = document.querySelectorAll('#TableOfContents a')\r\n for (const link of links) link.classList.add('toc-link')\r\n\r\n for (const num of [1, 2, 3, 4, 5, 6]) {\r\n const headers = document.querySelectorAll('.post-content>h' + num)\r\n for (const header of headers) {\r\n header.innerHTML = `${header.innerHTML}`\r\n }\r\n }\r\n}\r\n\r\nexport {Even}\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/even.js"],"sourceRoot":""} \ No newline at end of file