From 7923608bc9ebe8d6e277c8a862d8ffd460dfeeab Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Mon, 2 Oct 2017 13:27:15 +0800 Subject: [PATCH] [build] 4.3.7 --- docs/_coverpage.md | 2 +- lib/docsify.js | 288 ++--- lib/docsify.min.js | 4 +- lib/plugins/emoji.js | 1039 ++++++++++++++--- lib/plugins/front-matter.js | 658 ++++++----- lib/plugins/ga.js | 8 +- lib/plugins/search.js | 9 +- .../docsify-server-renderer/package-lock.json | 2 +- packages/docsify-server-renderer/package.json | 2 +- 9 files changed, 1390 insertions(+), 622 deletions(-) diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 309f8e8..fe10de7 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 4.3.6 +# docsify 4.3.7 > A magical documentation site generator. diff --git a/lib/docsify.js b/lib/docsify.js index b34edde..3f77f59 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -22,23 +22,25 @@ var hyphenate = cached(function (str) { /** * Simple Object.assign polyfill */ -var merge = Object.assign || function (to) { - var arguments$1 = arguments; +var merge = + Object.assign || + function (to) { + var arguments$1 = arguments; - var hasOwn = Object.prototype.hasOwnProperty; + var hasOwn = Object.prototype.hasOwnProperty; - for (var i = 1; i < arguments.length; i++) { - var from = Object(arguments$1[i]); + for (var i = 1; i < arguments.length; i++) { + var from = Object(arguments$1[i]); - for (var key in from) { - if (hasOwn.call(from, key)) { - to[key] = from[key]; + for (var key in from) { + if (hasOwn.call(from, key)) { + to[key] = from[key]; + } } } - } - return to -}; + return to + }; /** * Check if value is primitive @@ -59,33 +61,38 @@ function isFn (obj) { return typeof obj === 'function' } -var config = merge({ - el: '#app', - repo: '', - maxLevel: 6, - subMaxLevel: 0, - loadSidebar: null, - loadNavbar: null, - homepage: 'README.md', - coverpage: '', - basePath: '', - auto2top: false, - name: '', - themeColor: '', - nameLink: window.location.pathname, - autoHeader: false, - executeScript: null, - noEmoji: false, - ga: '', - mergeNavbar: false, - formatUpdated: '', - externalLinkTarget: '_blank', - routerMode: 'hash', - noCompileLinks: [] -}, window.$docsify); +var config = merge( + { + el: '#app', + repo: '', + maxLevel: 6, + subMaxLevel: 0, + loadSidebar: null, + loadNavbar: null, + homepage: 'README.md', + coverpage: '', + basePath: '', + auto2top: false, + name: '', + themeColor: '', + nameLink: window.location.pathname, + autoHeader: false, + executeScript: null, + noEmoji: false, + ga: '', + mergeNavbar: false, + formatUpdated: '', + externalLinkTarget: '_blank', + routerMode: 'hash', + noCompileLinks: [] + }, + window.$docsify +); -var script = document.currentScript || - [].slice.call(document.getElementsByTagName('script')) +var script = + document.currentScript || + [].slice + .call(document.getElementsByTagName('script')) .filter(function (n) { return /docsify\./.test(n.src); })[0]; if (script) { @@ -119,7 +126,7 @@ function initLifecycle (vm) { vm._hooks = {}; vm._lifecycle = {}; hooks.forEach(function (hook) { - var arr = vm._hooks[hook] = []; + var arr = (vm._hooks[hook] = []); vm._lifecycle[hook] = function (fn) { return arr.push(fn); }; }); } @@ -267,14 +274,20 @@ var isMobile = inBrowser && document.body.clientWidth <= 600; /** * @see https://github.com/MoOx/pjax/blob/master/lib/is-supported.js */ -var supportsPushState = inBrowser && (function () { - // Borrowed wholesale from https://github.com/defunkt/jquery-pjax - return window.history && - window.history.pushState && - window.history.replaceState && - // pushState isn’t reliable on iOS until 5. - !navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]\D|WebApps\/.+CFNetwork)/) -})(); +var supportsPushState = + inBrowser && + (function () { + // Borrowed wholesale from https://github.com/defunkt/jquery-pjax + return ( + window.history && + window.history.pushState && + window.history.replaceState && + // pushState isn’t reliable on iOS until 5. + !navigator.userAgent.match( + /((iPod|iPhone|iPad).+\bOS\s+[1-4]\D|WebApps\/.+CFNetwork)/ + ) + ) + })(); /** * Render github corner @@ -287,37 +300,40 @@ function corner (data) { data = data.replace(/^git\+/, ''); return ( - "" + + "" + '' + - '') + '' + ) } /** * Render main content */ function main (config) { - var aside = ( + var aside = '' + ''); + (config.name + ? ("

" + (config.name) + "

") + : '') + + '' + + ''; - return (isMobile ? (aside + "
") : ("
" + aside)) + - '
' + - '
' + - '
' + + return ( + (isMobile ? (aside + "
") : ("
" + aside)) + + '
' + + '
' + + '
' + '
' + ) } /** @@ -325,14 +341,17 @@ function main (config) { */ function cover () { var SL = ', 100%, 85%'; - var bgc = 'linear-gradient(to left bottom, ' + - "hsl(" + (Math.floor(Math.random() * 255) + SL) + ") 0%," + - "hsl(" + (Math.floor(Math.random() * 255) + SL) + ") 100%)"; + var bgc = + 'linear-gradient(to left bottom, ' + + "hsl(" + (Math.floor(Math.random() * 255) + SL) + ") 0%," + + "hsl(" + (Math.floor(Math.random() * 255) + SL) + ") 100%)"; - return "
" + + return ( + "
" + '
' + '
' + - '
' + '
' + ) } /** @@ -437,9 +456,12 @@ function get (url, hasBar) { if ( error === void 0 ) error = noop; if (hasBar) { - var id = setInterval(function (_) { return progressbar({ - step: Math.floor(Math.random() * 5 + 1) - }); }, 500); + var id = setInterval( + function (_) { return progressbar({ + step: Math.floor(Math.random() * 5 + 1) + }); }, + 500 + ); on('progress', progressbar); on('loadend', function (evt) { @@ -455,12 +477,12 @@ function get (url, hasBar) { if (target.status >= 400) { error(target); } else { - var result = cache[url] = { + var result = (cache[url] = { content: target.response, opt: { updatedAt: xhr.getResponseHeader('last-modified') } - }; + }); success(result.content, result.opt); } @@ -471,15 +493,15 @@ function get (url, hasBar) { } function replaceVar (block, color) { - block.innerHTML = block.innerHTML - .replace(/var\(\s*--theme-color.*?\)/g, color); + block.innerHTML = block.innerHTML.replace( + /var\(\s*--theme-color.*?\)/g, + color + ); } var cssVars = function (color) { // Variable support - if (window.CSS && - window.CSS.supports && - window.CSS.supports('(--v:red)')) { return } + if (window.CSS && window.CSS.supports && window.CSS.supports('(--v:red)')) { return } var styleBlocks = findAll('style:not(.inserted),link');[].forEach.call(styleBlocks, function (block) { if (block.nodeName === 'STYLE') { @@ -2675,7 +2697,10 @@ var re = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g; function slugify (str) { if (typeof str !== 'string') { return '' } - var slug = str.toLowerCase().trim() + str = /^[\w\s]+$/g.test(str) ? str.toLowerCase() : str; + + var slug = str + .trim() .replace(/<[^>\d]+>/g, '') .replace(re, '') .replace(/\s/g, '-') @@ -2683,7 +2708,7 @@ function slugify (str) { .replace(/^(\d)/, '_$1'); var count = cache$1[slug]; - count = cache$1.hasOwnProperty(slug) ? (count + 1) : 0; + count = cache$1.hasOwnProperty(slug) ? count + 1 : 0; cache$1[slug] = count; if (count) { @@ -2734,9 +2759,11 @@ function stringifyQuery (obj) { var qs = []; for (var key in obj) { - qs.push(obj[key] - ? ((encode(key)) + "=" + (encode(obj[key]))).toLowerCase() - : encode(key)); + qs.push( + obj[key] + ? ((encode(key)) + "=" + (encode(obj[key]))).toLowerCase() + : encode(key) + ); } return qs.length ? ("?" + (qs.join('&'))) : '' @@ -2756,15 +2783,11 @@ var isAbsolutePath = cached(function (path) { var getParentPath = cached(function (path) { return /\/$/g.test(path) ? path - : (path = path.match(/(\S*\/)[^\/]+$/)) - ? path[1] - : '' + : (path = path.match(/(\S*\/)[^\/]+$/)) ? path[1] : '' }); var cleanPath = cached(function (path) { - return path - .replace(/^\/+/, '/') - .replace(/([^:])\/{2,}/g, '$1/') + return path.replace(/^\/+/, '/').replace(/([^:])\/{2,}/g, '$1/') }); var cachedLinks = {}; @@ -2983,8 +3006,12 @@ function btn (el, router) { var sidebar = getNode('.sidebar'); - isMobile && on(body, 'click', function (_) { return body.classList.contains('close') && toggle(); } - ); + isMobile && + on( + body, + 'click', + function (_) { return body.classList.contains('close') && toggle(); } + ); on(sidebar, 'click', function (_) { return setTimeout((function (_) { return getAndActive(router, sidebar, true, true); }, 0)); } ); } @@ -3016,19 +3043,17 @@ function getAndActive (router, el, isParent, autoTitle) { var hash = router.toURL(router.getCurrentPath()); var target; - links - .sort(function (a, b) { return b.href.length - a.href.length; }) - .forEach(function (a) { - var href = a.getAttribute('href'); - var node = isParent ? a.parentNode : a; + links.sort(function (a, b) { return b.href.length - a.href.length; }).forEach(function (a) { + var href = a.getAttribute('href'); + var node = isParent ? a.parentNode : a; - if (hash.indexOf(href) === 0 && !target) { - target = a; - toggleClass(node, 'add', 'active'); - } else { - toggleClass(node, 'remove', 'active'); - } - }); + if (hash.indexOf(href) === 0 && !target) { + target = a; + toggleClass(node, 'add', 'active'); + } else { + toggleClass(node, 'remove', 'active'); + } + }); if (autoTitle) { $.title = target ? ((target.innerText) + " - " + title) : title; @@ -3146,9 +3171,12 @@ function scrollTo (el) { end: el.getBoundingClientRect().top + window.scrollY, duration: 500 }) - .on('tick', function (v) { return window.scrollTo(0, v); }) - .on('done', function () { enableScrollEvent = true; scroller = null; }) - .begin(); + .on('tick', function (v) { return window.scrollTo(0, v); }) + .on('done', function () { + enableScrollEvent = true; + scroller = null; + }) + .begin(); } function highlight () { @@ -3158,7 +3186,7 @@ function highlight () { var wrap = find(sidebar, '.sidebar-nav'); var active = find(sidebar, 'li.active'); var doc = document.documentElement; - var top = (doc && doc.scrollTop || document.body.scrollTop) - coverHeight; + var top = ((doc && doc.scrollTop) || document.body.scrollTop) - coverHeight; var last; for (var i = 0, len = anchors.length; i < len; i += 1) { @@ -3186,16 +3214,10 @@ function highlight () { var height = sidebar.clientHeight; var curOffset = 0; var cur = active.offsetTop + active.clientHeight + 40; - var isInView = ( - active.offsetTop >= wrap.scrollTop && - cur <= wrap.scrollTop + height - ); + var isInView = + active.offsetTop >= wrap.scrollTop && cur <= wrap.scrollTop + height; var notThan = cur - curOffset < height; - var top$1 = isInView - ? wrap.scrollTop - : notThan - ? curOffset - : cur - height; + var top$1 = isInView ? wrap.scrollTop : notThan ? curOffset : cur - height; sidebar.scrollTop = top$1; } @@ -3225,8 +3247,12 @@ function scrollActiveSidebar (router) { off('scroll', highlight); on('scroll', highlight); - on(sidebar, 'mouseover', function () { hoverOver = true; }); - on(sidebar, 'mouseleave', function () { hoverOver = false; }); + on(sidebar, 'mouseover', function () { + hoverOver = true; + }); + on(sidebar, 'mouseleave', function () { + hoverOver = false; + }); } function scrollIntoView (id) { @@ -3477,15 +3503,15 @@ function getAlias (path, alias, last) { return re.test(path) && path !== last })[0]; - return match ? getAlias(path.replace(cached$1[match], alias[match]), alias, path) : path + return match + ? getAlias(path.replace(cached$1[match], alias[match]), alias, path) + : path } function getFileName (path) { return /\.(md|html)$/g.test(path) ? path - : /\/$/g.test(path) - ? (path + "README.md") - : (path + ".md") + : /\/$/g.test(path) ? (path + "README.md") : (path + ".md") } var History = function History (config) { @@ -3505,7 +3531,7 @@ History.prototype.getFile = function getFile (path, isRelative) { path = config.alias ? getAlias(path, config.alias) : path; path = getFileName(path); - path = path === '/README.md' ? (config.homepage || path) : path; + path = path === '/README.md' ? config.homepage || path : path; path = isAbsolutePath(path) ? path : getPath(base, path); if (isRelative) { @@ -3531,9 +3557,7 @@ History.prototype.toURL = function toURL () {}; function replaceHash (path) { var i = location.href.indexOf('#'); - location.replace( - location.href.slice(0, i >= 0 ? i : 0) + '#' + path - ); + location.replace(location.href.slice(0, i >= 0 ? i : 0) + '#' + path); } var replaceSlug = cached(function (path) { @@ -3554,9 +3578,7 @@ var HashHistory = (function (History$$1) { var path = window.location.pathname || ''; var base = this.config.basePath; - return /^(\/|https?:)/g.test(base) - ? base - : cleanPath(path + '/' + base) + return /^(\/|https?:)/g.test(base) ? base : cleanPath(path + '/' + base) }; HashHistory.prototype.getCurrentPath = function getCurrentPath () { @@ -3651,9 +3673,7 @@ var HTML5History = (function (History$$1) { if ( cb === void 0 ) cb = noop; on('click', function (e) { - var el = e.target.tagName === 'A' - ? e.target - : e.target.parentNode; + var el = e.target.tagName === 'A' ? e.target : e.target.parentNode; if (el.tagName === 'A' && !/_blank/.test(el.target)) { e.preventDefault(); @@ -3956,7 +3976,7 @@ initGlobalAPI(); /** * Version */ -Docsify.version = '4.3.6'; +Docsify.version = '4.3.7'; /** * Run Docsify diff --git a/lib/docsify.min.js b/lib/docsify.min.js index 986f32c..67f263a 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -!function(){"use strict";function e(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}function t(e){return"string"==typeof e||"number"==typeof e}function n(){}function r(e){return"function"==typeof e}function i(e){var t=["init","mounted","beforeEach","afterEach","doneEach","ready"];e._hooks={},e._lifecycle={},t.forEach(function(t){var n=e._hooks[t]=[];e._lifecycle[t]=function(e){return n.push(e)}})}function o(e,t,r,i){void 0===i&&(i=n);var o=e._hooks[t],a=function(e){var t=o[e];if(e>=o.length)i(r);else if("function"==typeof t)if(2===t.length)t(r,function(t){r=t,a(e+1)});else{var n=t(r);r=void 0!==n?n:r,a(e+1)}else a(e+1)};a(0)}function a(e,t){if(void 0===t&&(t=!1),"string"==typeof e){if(void 0!==window.Vue)return s(e);e=t?s(e):he[e]||(he[e]=s(e))}return e}function s(e,t){return t?e.querySelector(t):pe.querySelector(e)}function l(e,t){return[].slice.call(t?e.querySelectorAll(t):pe.querySelectorAll(e))}function c(e,t){return e=pe.createElement(e),t&&(e.innerHTML=t),e}function u(e,t){return e.appendChild(t)}function h(e,t){return e.insertBefore(t,e.children[0])}function p(e,t,n){r(t)?window.addEventListener(e,t):e.addEventListener(t,n)}function d(e,t,n){r(t)?window.removeEventListener(e,t):e.removeEventListener(t,n)}function g(e,t,n){e&&e.classList[n?t:"toggle"](n||t)}function f(e){u(ge,c("style",e))}function m(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),''):""}function v(e){var t='';return(ve?t+"
":"
"+t)+'
\x3c!--main--\x3e
'}function y(){var e=", 100%, 85%";return'
'}function b(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
  • '+e.title+"
  • ",e.children&&(t+='
    • '+b(e.children)+"
    ")}),t):""}function k(e,t){return'

    '+t.slice(5).trim()+"

    "}function w(e){return""}function x(){var e=c("div");e.classList.add("progress"),u(de,e),ce=e}function _(e,t){void 0===t&&(t=!1);var r=new XMLHttpRequest,i=function(){r.addEventListener.apply(r,arguments)},o=ke[e];return o?{then:function(e){return e(o.content,o.opt)},abort:n}:(r.open("GET",e),r.send(),{then:function(o,a){if(void 0===a&&(a=n),t){var s=setInterval(function(e){return be({step:Math.floor(5*Math.random()+1)})},500);i("progress",be),i("loadend",function(e){be(e),clearInterval(s)})}i("error",a),i("load",function(t){var n=t.target;if(n.status>=400)a(n);else{var i=ke[e]={content:n.response,opt:{updatedAt:r.getResponseHeader("last-modified")}};o(i.content,i.opt)}})},abort:function(e){return 4!==r.readyState&&r.abort()}})}function S(e,t){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,t)}function C(e,t){return t={exports:{}},e(t,t.exports),t.exports}function L(e,t){var n=[],r={};return e.forEach(function(e){var i=e.level||1,o=i-1;i>t||(r[o]?r[o].children=(r[o].children||[]).concat(e):n.push(e),r[i]=e)}),n}function E(e){if("string"!=typeof e)return"";var t=e.toLowerCase().trim().replace(/<[^>\d]+>/g,"").replace(Te,"").replace(/\s/g,"-").replace(/-+/g,"-").replace(/^(\d)/,"_$1"),n=$e[t];return n=$e.hasOwnProperty(t)?n+1:0,$e[t]=n,n&&(t=t+"-"+n),t}function $(e,t){return''+t+''}function T(e){return e.replace(/<(pre|template|code)[^>]*?>[\s\S]+?<\/(pre|template|code)>/g,function(e){return e.replace(/:/g,"__colon__")}).replace(/:(\w+?):/gi,me&&window.emojify||$).replace(/__colon__/g,":")}function A(e){var t={};return(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach(function(e){var n=e.replace(/\+/g," ").split("=");t[n[0]]=n[1]&&Ae(n[1])}),t):t}function P(e){var t=[];for(var n in e)t.push(e[n]?(Pe(n)+"="+Pe(e[n])).toLowerCase():Pe(n));return t.length?"?"+t.join("&"):""}function O(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Me(e.join("/"))}function j(e,t){var n=function(e){return de.classList.toggle("close")};e=a(e),p(e,"click",function(e){e.stopPropagation(),n()});var r=a(".sidebar");ve&&p(de,"click",function(e){return de.classList.contains("close")&&n()}),p(r,"click",function(e){return setTimeout(0)})}function M(){var e=a("section.cover");if(e){var t=e.getBoundingClientRect().height;window.pageYOffset>=t||e.classList.contains("hidden")?g(de,"add","sticky"):g(de,"remove","sticky")}}function q(e,t,n,r){t=a(t);var i,o=l(t,"a"),s=e.toURL(e.getCurrentPath());return o.sort(function(e,t){return t.href.length-e.href.length}).forEach(function(e){var t=e.getAttribute("href"),r=n?e.parentNode:e;0!==s.indexOf(t)||i?g(r,"remove","active"):(i=e,g(r,"add","active"))}),r&&(pe.title=i?i.innerText+" - "+Re:Re),i}function N(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function R(e){ze&&ze.stop(),De=!1,ze=new He({start:window.scrollY,end:e.getBoundingClientRect().top+window.scrollY,duration:500}).on("tick",function(e){return window.scrollTo(0,e)}).on("done",function(){De=!0,ze=null}).begin()}function F(){if(De){for(var e,t=a(".sidebar"),n=l(".anchor"),r=s(t,".sidebar-nav"),i=s(t,"li.active"),o=document.documentElement,c=(o&&o.scrollTop||document.body.scrollTop)-We,u=0,h=n.length;uc){e||(e=p);break}e=p}if(e){var d=Be[e.getAttribute("data-id")];if(d&&d!==i&&(i&&i.classList.remove("active"),d.classList.add("active"),i=d,!Ie&&de.classList.contains("sticky"))){var g=t.clientHeight,f=i.offsetTop+i.clientHeight+40,m=i.offsetTop>=r.scrollTop&&f<=r.scrollTop+g,v=f-0script").filter(function(e){return!/template/.test(e.type)})[0];if(!e)return!1;var t=e.innerText.trim();if(!t)return!1;setTimeout(function(e){window.__EXECUTE_RESULT__=new Function(t)()},0)}function D(e,t,n){return t="function"==typeof n?n(t):"string"==typeof n?Se(n)(new Date(t)):t,e.replace(/{docsify-updated}/g,t)}function W(e){e||(e="not found"),this._renderTo(".markdown-section",e),!this.config.loadSidebar&&this._renderSidebar(),!1===this.config.executeScript||void 0===window.Vue||z()?this.config.executeScript&&z():setTimeout(function(e){var t=window.__EXECUTE_RESULT__;t&&t.$destroy&&t.$destroy(),window.__EXECUTE_RESULT__=(new window.Vue).$mount("#main")},0)}function U(e){var n=a(".app-name-link"),r=e.config.nameLink,i=e.route.path;if(n)if(t(e.config.nameLink))n.setAttribute("href",r);else if("object"==typeof r){var o=Object.keys(r).filter(function(e){return i.indexOf(e)>-1})[0];n.setAttribute("href",r[o])}}function Y(e){var t=e.config;e.compiler=new Ne(t,e.router);var n=t.el||"#app",r=s("nav")||c("nav"),i=s(n),o="",a=de;i?(t.repo&&(o+=m(t.repo)),t.coverpage&&(o+=y()),o+=v(t),e._renderTo(i,o,!0)):e.rendered=!0,t.mergeNavbar&&ve?a=s(".sidebar"):(r.classList.add("app-nav"),t.repo||r.classList.add("no-badge")),h(a,r),t.themeColor&&(pe.head.appendChild(c("div",w(t.themeColor)).firstElementChild),we(t.themeColor)),e._updateRender(),g(de,"ready")}function G(e,t,n){var r=Object.keys(t).filter(function(t){return(Ye[t]||(Ye[t]=new RegExp("^"+t+"$"))).test(e)&&e!==n})[0];return r?G(e.replace(Ye[r],t[r]),t,e):e}function X(e){return/\.(md|html)$/g.test(e)?e:/\/$/g.test(e)?e+"README.md":e+".md"}function Z(e){var t=location.href.indexOf("#");location.replace(location.href.slice(0,t>=0?t:0)+"#"+e)}function V(e){e.router.normalize(),e.route=e.router.parse(),de.setAttribute("data-page",e.route.file)}function J(e){var t,n=e.config,r=n.routerMode||"hash";t="history"===r&&ye?new Ve(n):new Ze(n),e.router=t,V(e),Je=e.route,t.onchange(function(t){if(V(e),e._updateRender(),Je.path===e.route.path)return void e.$resetEvents();e.$fetch(),Je=e.route})}function Q(e){j("button.sidebar-toggle",e.router),e.config.coverpage?!ve&&p("scroll",M):de.classList.add("sticky")}function K(e,t,n,r,i){e=i?e:e.replace(/\/$/,""),(e=je(e))&&_(r.router.getFile(e+t)).then(n,function(i){return K(e,t,n,r)})}function ee(e){var t=e.config,n=t.loadSidebar;if(e.rendered){var r=q(e.router,".sidebar-nav",!0,!0);n&&r&&(r.parentNode.innerHTML+=window.__SUB_SIDEBAR__),e._bindEventOnRendered(r),e._fetchCover(),e.$resetEvents(),o(e,"doneEach"),o(e,"ready")}else e.$fetch(function(t){return o(e,"ready")})}function te(e){[].concat(e.config.plugins).forEach(function(t){return r(t)&&t(e._lifecycle,e)})}function ne(){this._init()}var re=e(function(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),ie=Object.assign||function(e){for(var t=arguments,n=Object.prototype.hasOwnProperty,r=1;r80?80:t):t=Math.floor(n/r*100),ce.style.opacity=1,ce.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(ue),ue=setTimeout(function(e){ce.style.opacity=0,ce.style.width="0%"},200))},ke={},we=function(e){if(!(window.CSS&&window.CSS.supports&&window.CSS.supports("(--v:red)"))){var t=l("style:not(.inserted),link");[].forEach.call(t,function(t){if("STYLE"===t.nodeName)S(t,e);else if("LINK"===t.nodeName){var n=t.getAttribute("href");if(!/\.css$/.test(n))return;_(n).then(function(t){var n=c("style",t);ge.appendChild(n),S(n,e)})}})}},xe=/([^{]*?)\w(?=\})/g,_e={YYYY:"getFullYear",YY:"getYear",MM:function(e){return e.getMonth()+1},DD:"getDate",HH:"getHours",mm:"getMinutes",ss:"getSeconds"},Se=function(e){var t=[],n=0;return e.replace(xe,function(r,i,o){t.push(e.substring(n,o-1)),n=o+=r.length+1,t.push(function(e){return("00"+("string"==typeof _e[r]?e[_e[r]]():_e[r](e))).slice(-r.length)})}),n!==e.length&&t.push(e.substring(n)),function(e){for(var n="",r=0,i=e||new Date;r/g,">").replace(/"/g,""").replace(/'/g,"'")}function a(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g,function(e,t){return t=t.toLowerCase(),"colon"===t?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function s(e,t){return e=e.source,t=t||"",function n(r,i){return r?(i=i.source||i,i=i.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,i),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,i=1;iAn error occured:

    "+o(e.message+"",!0)+"
    ";throw e}}var h={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:l,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:l,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:l,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};h.bullet=/(?:[*+-]|\d+\.)/,h.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,h.item=s(h.item,"gm")(/bull/g,h.bullet)(),h.list=s(h.list)(/bull/g,h.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+h.def.source+")")(),h.blockquote=s(h.blockquote)("def",h.def)(),h._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b",h.html=s(h.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,h._tag)(),h.paragraph=s(h.paragraph)("hr",h.hr)("heading",h.heading)("lheading",h.lheading)("blockquote",h.blockquote)("tag","<"+h._tag)("def",h.def)(),h.normal=c({},h),h.gfm=c({},h.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),h.gfm.paragraph=s(h.paragraph)("(?!","(?!"+h.gfm.fences.source.replace("\\1","\\2")+"|"+h.list.source.replace("\\1","\\3")+"|")(),h.tables=c({},h.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=h,t.lex=function(e,n){return new t(n).lex(e)},t.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},t.prototype.token=function(e,t,n){for(var r,i,o,a,s,l,c,u,p,d=this,e=e.replace(/^ +$/gm,"");e;)if((o=d.rules.newline.exec(e))&&(e=e.substring(o[0].length),o[0].length>1&&d.tokens.push({type:"space"})),o=d.rules.code.exec(e))e=e.substring(o[0].length),o=o[0].replace(/^ {4}/gm,""),d.tokens.push({type:"code",text:d.options.pedantic?o:o.replace(/\n+$/,"")});else if(o=d.rules.fences.exec(e))e=e.substring(o[0].length),d.tokens.push({type:"code",lang:o[2],text:o[3]||""});else if(o=d.rules.heading.exec(e))e=e.substring(o[0].length),d.tokens.push({type:"heading",depth:o[1].length,text:o[2]});else if(t&&(o=d.rules.nptable.exec(e))){for(e=e.substring(o[0].length),l={type:"table",header:o[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),d.token(o,t,!0),d.tokens.push({type:"blockquote_end"});else if(o=d.rules.list.exec(e)){for(e=e.substring(o[0].length),a=o[2],d.tokens.push({type:"list_start",ordered:a.length>1}),o=o[0].match(d.rules.item),r=!1,p=o.length,u=0;u1&&s.length>1||(e=o.slice(u+1).join("\n")+e,u=p-1)),i=r||/\n\n(?!\s*$)/.test(l),u!==p-1&&(r="\n"===l.charAt(l.length-1),i||(i=r)),d.tokens.push({type:i?"loose_item_start":"list_item_start"}),d.token(l,!1,n),d.tokens.push({type:"list_item_end"});d.tokens.push({type:"list_end"})}else if(o=d.rules.html.exec(e))e=e.substring(o[0].length),d.tokens.push({type:d.options.sanitize?"paragraph":"html",pre:!d.options.sanitizer&&("pre"===o[1]||"script"===o[1]||"style"===o[1]),text:o[0]});else if(!n&&t&&(o=d.rules.def.exec(e)))e=e.substring(o[0].length),d.tokens.links[o[1].toLowerCase()]={href:o[2],title:o[3]};else if(t&&(o=d.rules.table.exec(e))){for(e=e.substring(o[0].length),l={type:"table",header:o[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3].replace(/(?: *\| *)?\n$/,"").split("\n")},u=0;u])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:l,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:l,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/,p.link=s(p.link)("inside",p._inside)("href",p._href)(),p.reflink=s(p.reflink)("inside",p._inside)(),p.normal=c({},p),p.pedantic=c({},p.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),p.gfm=c({},p.normal,{escape:s(p.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:s(p.text)("]|","~]|")("|","|https?://|")()}),p.breaks=c({},p.gfm,{br:s(p.br)("{2,}","*")(),text:s(p.gfm.text)("{2,}","*")()}),n.rules=p,n.output=function(e,t,r){return new n(t,r).output(e)},n.prototype.output=function(e){for(var t,n,r,i,a=this,s="";e;)if(i=a.rules.escape.exec(e))e=e.substring(i[0].length),s+=i[1];else if(i=a.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=":"===i[1].charAt(6)?a.mangle(i[1].substring(7)):a.mangle(i[1]),r=a.mangle("mailto:")+n):(n=o(i[1]),r=n),s+=a.renderer.link(r,null,n);else if(a.inLink||!(i=a.rules.url.exec(e))){if(i=a.rules.tag.exec(e))!a.inLink&&/^/i.test(i[0])&&(a.inLink=!1),e=e.substring(i[0].length),s+=a.options.sanitize?a.options.sanitizer?a.options.sanitizer(i[0]):o(i[0]):i[0];else if(i=a.rules.link.exec(e))e=e.substring(i[0].length),a.inLink=!0,s+=a.outputLink(i,{href:i[2],title:i[3]}),a.inLink=!1;else if((i=a.rules.reflink.exec(e))||(i=a.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),!(t=a.links[t.toLowerCase()])||!t.href){s+=i[0].charAt(0),e=i[0].substring(1)+e;continue}a.inLink=!0,s+=a.outputLink(i,t),a.inLink=!1}else if(i=a.rules.strong.exec(e))e=e.substring(i[0].length),s+=a.renderer.strong(a.output(i[2]||i[1]));else if(i=a.rules.em.exec(e))e=e.substring(i[0].length),s+=a.renderer.em(a.output(i[2]||i[1]));else if(i=a.rules.code.exec(e))e=e.substring(i[0].length),s+=a.renderer.codespan(o(i[2],!0));else if(i=a.rules.br.exec(e))e=e.substring(i[0].length),s+=a.renderer.br();else if(i=a.rules.del.exec(e))e=e.substring(i[0].length),s+=a.renderer.del(a.output(i[1]));else if(i=a.rules.text.exec(e))e=e.substring(i[0].length),s+=a.renderer.text(o(a.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=o(i[1]),r=n,s+=a.renderer.link(r,null,n);return s},n.prototype.outputLink=function(e,t){var n=o(t.href),r=t.title?o(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,o(e[1]))},n.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},n.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,i=0;i.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},r.prototype.code=function(e,t,n){if(this.options.highlight){var r=this.options.highlight(e,t);null!=r&&r!==e&&(n=!0,e=r)}return t?'
    '+(n?e:o(e,!0))+"\n
    \n":"
    "+(n?e:o(e,!0))+"\n
    "},r.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},r.prototype.html=function(e){return e},r.prototype.heading=function(e,t,n){return"'+e+"\n"},r.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},r.prototype.list=function(e,t){var n=t?"ol":"ul";return"<"+n+">\n"+e+"\n"},r.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},r.prototype.paragraph=function(e){return"

    "+e+"

    \n"},r.prototype.table=function(e,t){return"\n\n"+e+"\n\n"+t+"\n
    \n"},r.prototype.tablerow=function(e){return"\n"+e+"\n"},r.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">")+e+"\n"},r.prototype.strong=function(e){return""+e+""},r.prototype.em=function(e){return""+e+""},r.prototype.codespan=function(e){return""+e+""},r.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},r.prototype.del=function(e){return""+e+""},r.prototype.link=function(e,t,n){if(this.options.sanitize){try{var r=decodeURIComponent(a(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var i='
    "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},i.parse=function(e,t,n){return new i(t,n).parse(e)},i.prototype.parse=function(e){var t=this;this.inline=new n(e.links,this.options,this.renderer),this.tokens=e.reverse();for(var r="";this.next();)r+=t.tok();return r},i.prototype.next=function(){return this.token=this.tokens.pop()},i.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},i.prototype.parseText=function(){for(var e=this,t=this.token.text;"text"===this.peek().type;)t+="\n"+e.next().text;return this.inline.output(t)},i.prototype.tok=function(){var e=this;switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var t,n,r,i,o="",a="";for(r="",t=0;te.length)break e;if(!(b instanceof i)){u.lastIndex=0;var k=u.exec(b),w=1;if(!k&&d&&v!=o.length-1){if(u.lastIndex=y,!(k=u.exec(e)))break;for(var x=k.index+(p?k[1].length:0),_=k.index+k[0].length,S=v,C=y,L=o.length;S=C&&(++v,y=C);if(o[v]instanceof i||o[S-1].greedy)continue;w=S-v,b=e.slice(y,C),k.index-=y}if(k){p&&(g=k[1].length);var x=k.index+g,k=k[0].slice(g),_=x+k.length,E=b.slice(0,x),$=b.slice(_),T=[v,w];E&&T.push(E);var A=new i(s,h?r.tokenize(k,h):k,f,k,d);T.push(A),$&&T.push($),Array.prototype.splice.apply(o,T)}}}}}return o},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var i,o=0;i=n[o++];)i(t)}}},i=r.Token=function(e,t,n,r,i){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!i};if(i.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return i.stringify(n,t,e)}).join("");var o={type:e.type,content:i.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==o.type&&(o.attributes.spellcheck="true"),e.alias){var a="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(o.classes,a)}r.hooks.run("wrap",o);var s=Object.keys(o.attributes).map(function(e){return e+'="'+(o.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+(s?" "+s:"")+">"+o.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),i=n.language,o=n.code,a=n.immediateClose;t.postMessage(r.highlight(o,r.languages[i],i)),a&&t.close()},!1),t.Prism):t.Prism;var o=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return o&&(r.filename=o.src,document.addEventListener&&!o.hasAttribute("data-manual")&&("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(r.highlightAll):window.setTimeout(r.highlightAll,16):document.addEventListener("DOMContentLoaded",r.highlightAll))),t.Prism}();e.exports&&(e.exports=n),void 0!==Ce&&(Ce.Prism=n),n.languages.markup={comment://,prolog:/<\?[\w\W]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},n.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),n.languages.xml=n.languages.markup,n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:{pattern:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},n.languages.css.atrule.inside.rest=n.util.clone(n.languages.css),n.languages.markup&&(n.languages.insertBefore("markup","tag",{style:{pattern:/()[\w\W]*?(?=<\/style>)/i,lookbehind:!0,inside:n.languages.css,alias:"language-css"}}),n.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:n.languages.css}},alias:"language-css"}},n.languages.markup.tag)),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(true|false)\b/,function:/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,function:/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*\*?|\/|~|\^|%|\.{3}/}),n.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}}),n.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\\\|\\?[^\\])*?`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&n.languages.insertBefore("markup","tag",{script:{pattern:/()[\w\W]*?(?=<\/script>)/i,lookbehind:!0,inside:n.languages.javascript,alias:"language-javascript"}}),n.languages.js=n.languages.javascript,function(){"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(){var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.forEach&&Array.prototype.slice.call(document.querySelectorAll("pre[data-src]")).forEach(function(t){for(var r,i=t.getAttribute("data-src"),o=t,a=/\blang(?:uage)?-(?!\*)(\w+)\b/i;o&&!a.test(o.className);)o=o.parentNode;if(o&&(r=(t.className.match(a)||[,""])[1]),!r){var s=(i.match(/\.(\w+)$/)||[,""])[1];r=e[s]||s}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",i,!0),c.onreadystatechange=function(){4==c.readyState&&(c.status<400&&c.responseText?(l.textContent=c.responseText,n.highlightElement(l)):c.status>=400?l.textContent="✖ Error "+c.status+" while fetching file: "+c.statusText:l.textContent="✖ Error: File does not exist or is empty")},c.send(null)})},document.addEventListener("DOMContentLoaded",self.Prism.fileHighlight))}()}),$e={},Te=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g;E.clear=function(){$e={}};var Ae=decodeURIComponent,Pe=encodeURIComponent,Oe=e(function(e){return/(:|(\/{2}))/g.test(e)}),je=e(function(e){return/\/$/g.test(e)?e:(e=e.match(/(\S*\/)[^\/]+$/))?e[1]:""}),Me=e(function(e){return e.replace(/^\/+/,"/").replace(/([^:])\/{2,}/g,"$1/")}),qe={},Ne=function(t,n){this.config=t,this.router=n,this.cacheTree={},this.toc=[],this.linkTarget=t.externalLinkTarget||"_blank",this.contentBase=n.getBasePath();var i,o=this._initRenderer(),a=t.markdown||{};r(a)?i=a(Le,o):(Le.setOptions(ie(a,{renderer:ie(o,a.renderer)})),i=Le),this.compile=e(function(e){var n="";return e?(n=i(e),n=t.noEmoji?n:T(n),E.clear(),n):e})};Ne.prototype.matchNotCompileLink=function(e){for(var t=this.config.noCompileLinks,n=0;n'+e+""},a.code=e.code=function(e,t){return void 0===t&&(t=""),'
    '+Ee.highlight(e,Ee.languages[t]||Ee.languages.markup)+"
    "},a.link=e.link=function(e,t,i){var a="";/:|(\/{2})/.test(e)||o.matchNotCompileLink(e)||/(\s?:ignore)(\s\S+)?$/.test(t)?(a=' target="'+n+'"',t=t&&t.replace(/:ignore/g,"").trim()):e=r.toURL(e,null,r.getCurrentPath());var s=t&&t.match(/:target=\w+/);return s&&(s=s[0],t=t.replace(s,""),a=" "+s.slice(1)),t&&(t=' title="'+t+'"'),'"+i+""},a.paragraph=e.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

    "+e+"

    "},a.image=e.image=function(e,t,n){var r=e,o=t?' title="'+t+'"':"";return Oe(e)||(r=O(i,e)),''+n+'"},e.origin=a,e},Ne.prototype.sidebar=function(e,t){var n=this.router.getCurrentPath(),r="";if(e)r=this.compile(e),r=r&&r.match(/]*>([\s\S]+)<\/ul>/g)[0];else{var i=this.cacheTree[n]||L(this.toc,t);r=b(i,"
      "),this.cacheTree[n]=i}return r},Ne.prototype.subSidebar=function(e){if(!e)return void(this.toc=[]);var t=this.router.getCurrentPath(),n=this,r=n.cacheTree,i=n.toc;i[0]&&i[0].ignoreAllSubs&&(this.toc=[]),i[0]&&1===i[0].level&&i.shift(),i.forEach(function(e,t){e.ignoreSubHeading&&i.splice(t,1)});var o=r[t]||L(i,e);return r[t]=o,this.toc=[],b(o,'
        ')},Ne.prototype.article=function(e){return this.compile(e)},Ne.prototype.cover=function(e){var t=this.toc.slice(),n=this.compile(e);return this.toc=t.slice(),n};var Re=pe.title,Fe=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};N(this,e),this.duration=t.duration||1e3,this.ease=t.easing||this._defaultEase,this.start=t.start,this.end=t.end,this.frame=null,this.next=null,this.isRunning=!1,this.events={},this.direction=this.startthis.end&&e>=this.next}[this.direction]}},{key:"_defaultEase",value:function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t}}]),e}(),Be={},Ie=!1,ze=null,De=!0,We=0,Ue=pe.scrollingElement||pe.documentElement,Ye={},Ge=function(e){this.config=e};Ge.prototype.getBasePath=function(){return this.config.basePath},Ge.prototype.getFile=function(e,t){e=e||this.getCurrentPath();var n=this,r=n.config,i=this.getBasePath();return e=r.alias?G(e,r.alias):e,e=X(e),e="/README.md"===e?r.homepage||e:e,e=Oe(e)?e:O(i,e),t&&(e=e.replace(new RegExp("^"+i),"")),e},Ge.prototype.onchange=function(e){void 0===e&&(e=n),e()},Ge.prototype.getCurrentPath=function(){},Ge.prototype.normalize=function(){},Ge.prototype.parse=function(){},Ge.prototype.toURL=function(){};var Xe=e(function(e){return e.replace("#","?id=")}),Ze=function(e){function t(t){e.call(this,t),this.mode="hash"}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getBasePath=function(){var e=window.location.pathname||"",t=this.config.basePath;return/^(\/|https?:)/g.test(t)?t:Me(e+"/"+t)},t.prototype.getCurrentPath=function(){var e=location.href,t=e.indexOf("#");return-1===t?"":e.slice(t+1)},t.prototype.onchange=function(e){void 0===e&&(e=n),p("hashchange",e)},t.prototype.normalize=function(){var e=this.getCurrentPath();if(e=Xe(e),"/"===e.charAt(0))return Z(e);Z("/"+e)},t.prototype.parse=function(e){void 0===e&&(e=location.href);var t="",n=e.indexOf("#");n&&(e=e.slice(n+1));var r=e.indexOf("?");return r>=0&&(t=e.slice(r+1),e=e.slice(0,r)),{path:e,file:this.getFile(e,!0),query:A(t)}},t.prototype.toURL=function(e,t,n){var r=n&&"#"===e[0],i=this.parse(Xe(e));return i.query=ie({},i.query,t),e=i.path+P(i.query),e=e.replace(/\.md(\?)|\.md$/,"$1"),r&&(e=n+e),Me("#/"+e)},t}(Ge),Ve=function(e){function t(t){e.call(this,t),this.mode="history"}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getCurrentPath=function(){var e=this.getBasePath(),t=window.location.pathname;return e&&0===t.indexOf(e)&&(t=t.slice(e.length)),(t||"/")+window.location.search+window.location.hash},t.prototype.onchange=function(e){void 0===e&&(e=n),p("click",function(t){var n="A"===t.target.tagName?t.target:t.target.parentNode;if("A"===n.tagName&&!/_blank/.test(n.target)){t.preventDefault();var r=n.href;window.history.pushState({key:r},"",r),e()}}),p("popstate",e)},t.prototype.parse=function(e){void 0===e&&(e=location.href);var t="",n=e.indexOf("?");n>=0&&(t=e.slice(n+1),e=e.slice(0,n));var r=O(location.origin),i=e.indexOf(r);return i>-1&&(e=e.slice(i+r.length)),{path:e,file:this.getFile(e),query:A(t)}},t.prototype.toURL=function(e,t,n){var r=n&&"#"===e[0],i=this.parse(e);return i.query=ie({},i.query,t),e=i.path+P(i.query),e=e.replace(/\.md(\?)|\.md$/,"$1"),r&&(e=n+e),Me("/"+e)},t}(Ge),Je={},Qe=Object.freeze({cached:e,hyphenate:re,merge:ie,isPrimitive:t,noop:n,isFn:r,inBrowser:me,isMobile:ve,supportsPushState:ye,parseQuery:A,stringifyQuery:P,getPath:O,isAbsolutePath:Oe,getParentPath:je,cleanPath:Me}),Ke=ne.prototype;!function(e){e._init=function(){var e=this;e.config=oe||{},i(e),te(e),o(e,"init"),J(e),Y(e),Q(e),ee(e),o(e,"mounted")}}(Ke),function(e){e.route={}}(Ke),function(e){e._renderTo=function(e,t,n){var r=a(e);r&&(r[n?"outerHTML":"innerHTML"]=t)},e._renderSidebar=function(e){var t=this.config,n=t.maxLevel,r=t.subMaxLevel,i=t.loadSidebar;this._renderTo(".sidebar-nav",this.compiler.sidebar(e,n));var o=q(this.router,".sidebar-nav",!0,!0);i&&o?o.parentNode.innerHTML+=this.compiler.subSidebar(r)||"":this.compiler.subSidebar(),this._bindEventOnRendered(o)},e._bindEventOnRendered=function(e){var t=this.config,n=t.autoHeader,r=t.auto2top;if(H(this.router),n&&e){var i=a("#main"),o=i.children[0];if(o&&"H1"!==o.tagName){var s=c("h1");s.innerText=e.innerText,h(i,s)}}r&&I(r)},e._renderNav=function(e){e&&this._renderTo("nav",this.compiler.compile(e)),q(this.router,"nav")},e._renderMain=function(e,t){var n=this;if(void 0===t&&(t={}),!e)return W.call(this,e);o(this,"beforeEach",e,function(e){var r=n.isHTML?e:n.compiler.compile(e);t.updatedAt&&(r=D(r,t.updatedAt,n.config.formatUpdated)),o(n,"afterEach",r,function(e){return W.call(n,e)})})},e._renderCover=function(e){var t=a(".cover");if(!e)return void g(t,"remove","show");g(t,"add","show");var n=this.coverIsHTML?e:this.compiler.cover(e),r=n.trim().match('

        ([^<]*?)

        $');if(r){if("color"===r[2])t.style.background=r[1]+(r[3]||"");else{var i=r[1];g(t,"add","has-mask"),Oe(r[1])||(i=O(this.router.getBasePath(),r[1])),t.style.backgroundImage="url("+i+")",t.style.backgroundSize="cover",t.style.backgroundPosition="center center"}n=n.replace(r[0],"")}this._renderTo(".cover-main",n),M()},e._updateRender=function(){U(this)}}(Ke),function(e){var t;e._fetch=function(e){var r=this;void 0===e&&(e=n);var i=this.route,o=i.path,a=this.config,s=a.loadNavbar,l=a.loadSidebar;t&&t.abort&&t.abort(),t=_(this.router.getFile(o),!0),this.isHTML=/\.html$/g.test(o);var c=function(){if(!l)return e();K(o,l,function(t){r._renderSidebar(t),e()},r,!0)};t.then(function(e,t){r._renderMain(e,t),c()},function(e){r._renderMain(null),c()}),s&&K(o,s,function(e){return r._renderNav(e)},this,!0)},e._fetchCover=function(){var e=this,t=this.config,n=t.coverpage,r=je(this.route.path),i=this.router.getFile(r+n);if("/"!==this.route.path||!n)return void this._renderCover();this.coverIsHTML=/\.html$/g.test(i),_(i).then(function(t){return e._renderCover(t)})},e.$fetch=function(e){var t=this;void 0===e&&(e=n),this._fetchCover(),this._fetch(function(n){t.$resetEvents(),o(t,"doneEach"),e()})}}(Ke),function(e){e.$resetEvents=function(){B(this.route.query.id),q(this.router,"nav")}}(Ke),function(){window.Docsify={util:Qe,dom:fe,get:_,slugify:E},window.DocsifyCompiler=Ne,window.marked=Le,window.Prism=Ee}(),ne.version="4.3.6",function(e){var t=document.readyState;if("complete"===t||"interactive"===t)return setTimeout(e,0);document.addEventListener("DOMContentLoaded",e)}(function(e){return new ne})}(); +!function(){"use strict";function e(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}function t(e){return"string"==typeof e||"number"==typeof e}function n(){}function r(e){return"function"==typeof e}function i(e){var t=["init","mounted","beforeEach","afterEach","doneEach","ready"];e._hooks={},e._lifecycle={},t.forEach(function(t){var n=e._hooks[t]=[];e._lifecycle[t]=function(e){return n.push(e)}})}function o(e,t,r,i){void 0===i&&(i=n);var o=e._hooks[t],a=function(e){var t=o[e];if(e>=o.length)i(r);else if("function"==typeof t)if(2===t.length)t(r,function(t){r=t,a(e+1)});else{var n=t(r);r=void 0!==n?n:r,a(e+1)}else a(e+1)};a(0)}function a(e,t){if(void 0===t&&(t=!1),"string"==typeof e){if(void 0!==window.Vue)return s(e);e=t?s(e):he[e]||(he[e]=s(e))}return e}function s(e,t){return t?e.querySelector(t):pe.querySelector(e)}function l(e,t){return[].slice.call(t?e.querySelectorAll(t):pe.querySelectorAll(e))}function c(e,t){return e=pe.createElement(e),t&&(e.innerHTML=t),e}function u(e,t){return e.appendChild(t)}function h(e,t){return e.insertBefore(t,e.children[0])}function p(e,t,n){r(t)?window.addEventListener(e,t):e.addEventListener(t,n)}function d(e,t,n){r(t)?window.removeEventListener(e,t):e.removeEventListener(t,n)}function g(e,t,n){e&&e.classList[n?t:"toggle"](n||t)}function f(e){u(ge,c("style",e))}function m(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),''):""}function v(e){var t='';return(ve?t+"
        ":"
        "+t)+'
        \x3c!--main--\x3e
        '}function y(){var e=", 100%, 85%";return'
        '}function b(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
      • '+e.title+"
      • ",e.children&&(t+='
        • '+b(e.children)+"
        ")}),t):""}function k(e,t){return'

        '+t.slice(5).trim()+"

        "}function w(e){return""}function x(){var e=c("div");e.classList.add("progress"),u(de,e),ce=e}function _(e,t){void 0===t&&(t=!1);var r=new XMLHttpRequest,i=function(){r.addEventListener.apply(r,arguments)},o=ke[e];return o?{then:function(e){return e(o.content,o.opt)},abort:n}:(r.open("GET",e),r.send(),{then:function(o,a){if(void 0===a&&(a=n),t){var s=setInterval(function(e){return be({step:Math.floor(5*Math.random()+1)})},500);i("progress",be),i("loadend",function(e){be(e),clearInterval(s)})}i("error",a),i("load",function(t){var n=t.target;if(n.status>=400)a(n);else{var i=ke[e]={content:n.response,opt:{updatedAt:r.getResponseHeader("last-modified")}};o(i.content,i.opt)}})},abort:function(e){return 4!==r.readyState&&r.abort()}})}function S(e,t){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,t)}function C(e,t){return t={exports:{}},e(t,t.exports),t.exports}function L(e,t){var n=[],r={};return e.forEach(function(e){var i=e.level||1,o=i-1;i>t||(r[o]?r[o].children=(r[o].children||[]).concat(e):n.push(e),r[i]=e)}),n}function E(e){if("string"!=typeof e)return"";e=/^[\w\s]+$/g.test(e)?e.toLowerCase():e;var t=e.trim().replace(/<[^>\d]+>/g,"").replace(Te,"").replace(/\s/g,"-").replace(/-+/g,"-").replace(/^(\d)/,"_$1"),n=$e[t];return n=$e.hasOwnProperty(t)?n+1:0,$e[t]=n,n&&(t=t+"-"+n),t}function $(e,t){return''+t+''}function T(e){return e.replace(/<(pre|template|code)[^>]*?>[\s\S]+?<\/(pre|template|code)>/g,function(e){return e.replace(/:/g,"__colon__")}).replace(/:(\w+?):/gi,me&&window.emojify||$).replace(/__colon__/g,":")}function A(e){var t={};return(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach(function(e){var n=e.replace(/\+/g," ").split("=");t[n[0]]=n[1]&&Ae(n[1])}),t):t}function P(e){var t=[];for(var n in e)t.push(e[n]?(Pe(n)+"="+Pe(e[n])).toLowerCase():Pe(n));return t.length?"?"+t.join("&"):""}function O(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Me(e.join("/"))}function j(e,t){var n=function(e){return de.classList.toggle("close")};e=a(e),p(e,"click",function(e){e.stopPropagation(),n()});var r=a(".sidebar");ve&&p(de,"click",function(e){return de.classList.contains("close")&&n()}),p(r,"click",function(e){return setTimeout(0)})}function M(){var e=a("section.cover");if(e){var t=e.getBoundingClientRect().height;window.pageYOffset>=t||e.classList.contains("hidden")?g(de,"add","sticky"):g(de,"remove","sticky")}}function q(e,t,n,r){t=a(t);var i,o=l(t,"a"),s=e.toURL(e.getCurrentPath());return o.sort(function(e,t){return t.href.length-e.href.length}).forEach(function(e){var t=e.getAttribute("href"),r=n?e.parentNode:e;0!==s.indexOf(t)||i?g(r,"remove","active"):(i=e,g(r,"add","active"))}),r&&(pe.title=i?i.innerText+" - "+Re:Re),i}function N(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function R(e){ze&&ze.stop(),De=!1,ze=new He({start:window.scrollY,end:e.getBoundingClientRect().top+window.scrollY,duration:500}).on("tick",function(e){return window.scrollTo(0,e)}).on("done",function(){De=!0,ze=null}).begin()}function F(){if(De){for(var e,t=a(".sidebar"),n=l(".anchor"),r=s(t,".sidebar-nav"),i=s(t,"li.active"),o=document.documentElement,c=(o&&o.scrollTop||document.body.scrollTop)-We,u=0,h=n.length;uc){e||(e=p);break}e=p}if(e){var d=Be[e.getAttribute("data-id")];if(d&&d!==i&&(i&&i.classList.remove("active"),d.classList.add("active"),i=d,!Ie&&de.classList.contains("sticky"))){var g=t.clientHeight,f=i.offsetTop+i.clientHeight+40,m=i.offsetTop>=r.scrollTop&&f<=r.scrollTop+g,v=f-0script").filter(function(e){return!/template/.test(e.type)})[0];if(!e)return!1;var t=e.innerText.trim();if(!t)return!1;setTimeout(function(e){window.__EXECUTE_RESULT__=new Function(t)()},0)}function D(e,t,n){return t="function"==typeof n?n(t):"string"==typeof n?Se(n)(new Date(t)):t,e.replace(/{docsify-updated}/g,t)}function W(e){e||(e="not found"),this._renderTo(".markdown-section",e),!this.config.loadSidebar&&this._renderSidebar(),!1===this.config.executeScript||void 0===window.Vue||z()?this.config.executeScript&&z():setTimeout(function(e){var t=window.__EXECUTE_RESULT__;t&&t.$destroy&&t.$destroy(),window.__EXECUTE_RESULT__=(new window.Vue).$mount("#main")},0)}function U(e){var n=a(".app-name-link"),r=e.config.nameLink,i=e.route.path;if(n)if(t(e.config.nameLink))n.setAttribute("href",r);else if("object"==typeof r){var o=Object.keys(r).filter(function(e){return i.indexOf(e)>-1})[0];n.setAttribute("href",r[o])}}function Y(e){var t=e.config;e.compiler=new Ne(t,e.router);var n=t.el||"#app",r=s("nav")||c("nav"),i=s(n),o="",a=de;i?(t.repo&&(o+=m(t.repo)),t.coverpage&&(o+=y()),o+=v(t),e._renderTo(i,o,!0)):e.rendered=!0,t.mergeNavbar&&ve?a=s(".sidebar"):(r.classList.add("app-nav"),t.repo||r.classList.add("no-badge")),h(a,r),t.themeColor&&(pe.head.appendChild(c("div",w(t.themeColor)).firstElementChild),we(t.themeColor)),e._updateRender(),g(de,"ready")}function G(e,t,n){var r=Object.keys(t).filter(function(t){return(Ye[t]||(Ye[t]=new RegExp("^"+t+"$"))).test(e)&&e!==n})[0];return r?G(e.replace(Ye[r],t[r]),t,e):e}function X(e){return/\.(md|html)$/g.test(e)?e:/\/$/g.test(e)?e+"README.md":e+".md"}function Z(e){var t=location.href.indexOf("#");location.replace(location.href.slice(0,t>=0?t:0)+"#"+e)}function V(e){e.router.normalize(),e.route=e.router.parse(),de.setAttribute("data-page",e.route.file)}function J(e){var t,n=e.config,r=n.routerMode||"hash";t="history"===r&&ye?new Ve(n):new Ze(n),e.router=t,V(e),Je=e.route,t.onchange(function(t){if(V(e),e._updateRender(),Je.path===e.route.path)return void e.$resetEvents();e.$fetch(),Je=e.route})}function Q(e){j("button.sidebar-toggle",e.router),e.config.coverpage?!ve&&p("scroll",M):de.classList.add("sticky")}function K(e,t,n,r,i){e=i?e:e.replace(/\/$/,""),(e=je(e))&&_(r.router.getFile(e+t)).then(n,function(i){return K(e,t,n,r)})}function ee(e){var t=e.config,n=t.loadSidebar;if(e.rendered){var r=q(e.router,".sidebar-nav",!0,!0);n&&r&&(r.parentNode.innerHTML+=window.__SUB_SIDEBAR__),e._bindEventOnRendered(r),e._fetchCover(),e.$resetEvents(),o(e,"doneEach"),o(e,"ready")}else e.$fetch(function(t){return o(e,"ready")})}function te(e){[].concat(e.config.plugins).forEach(function(t){return r(t)&&t(e._lifecycle,e)})}function ne(){this._init()}var re=e(function(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),ie=Object.assign||function(e){for(var t=arguments,n=Object.prototype.hasOwnProperty,r=1;r80?80:t):t=Math.floor(n/r*100),ce.style.opacity=1,ce.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(ue),ue=setTimeout(function(e){ce.style.opacity=0,ce.style.width="0%"},200))},ke={},we=function(e){if(!(window.CSS&&window.CSS.supports&&window.CSS.supports("(--v:red)"))){var t=l("style:not(.inserted),link");[].forEach.call(t,function(t){if("STYLE"===t.nodeName)S(t,e);else if("LINK"===t.nodeName){var n=t.getAttribute("href");if(!/\.css$/.test(n))return;_(n).then(function(t){var n=c("style",t);ge.appendChild(n),S(n,e)})}})}},xe=/([^{]*?)\w(?=\})/g,_e={YYYY:"getFullYear",YY:"getYear",MM:function(e){return e.getMonth()+1},DD:"getDate",HH:"getHours",mm:"getMinutes",ss:"getSeconds"},Se=function(e){var t=[],n=0;return e.replace(xe,function(r,i,o){t.push(e.substring(n,o-1)),n=o+=r.length+1,t.push(function(e){return("00"+("string"==typeof _e[r]?e[_e[r]]():_e[r](e))).slice(-r.length)})}),n!==e.length&&t.push(e.substring(n)),function(e){for(var n="",r=0,i=e||new Date;r/g,">").replace(/"/g,""").replace(/'/g,"'")}function a(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g,function(e,t){return t=t.toLowerCase(),"colon"===t?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function s(e,t){return e=e.source,t=t||"",function n(r,i){return r?(i=i.source||i,i=i.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,i),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,i=1;iAn error occured:

        "+o(e.message+"",!0)+"
        ";throw e}}var h={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:l,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:l,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:l,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};h.bullet=/(?:[*+-]|\d+\.)/,h.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,h.item=s(h.item,"gm")(/bull/g,h.bullet)(),h.list=s(h.list)(/bull/g,h.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+h.def.source+")")(),h.blockquote=s(h.blockquote)("def",h.def)(),h._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b",h.html=s(h.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,h._tag)(),h.paragraph=s(h.paragraph)("hr",h.hr)("heading",h.heading)("lheading",h.lheading)("blockquote",h.blockquote)("tag","<"+h._tag)("def",h.def)(),h.normal=c({},h),h.gfm=c({},h.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),h.gfm.paragraph=s(h.paragraph)("(?!","(?!"+h.gfm.fences.source.replace("\\1","\\2")+"|"+h.list.source.replace("\\1","\\3")+"|")(),h.tables=c({},h.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=h,t.lex=function(e,n){return new t(n).lex(e)},t.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},t.prototype.token=function(e,t,n){for(var r,i,o,a,s,l,c,u,p,d=this,e=e.replace(/^ +$/gm,"");e;)if((o=d.rules.newline.exec(e))&&(e=e.substring(o[0].length),o[0].length>1&&d.tokens.push({type:"space"})),o=d.rules.code.exec(e))e=e.substring(o[0].length),o=o[0].replace(/^ {4}/gm,""),d.tokens.push({type:"code",text:d.options.pedantic?o:o.replace(/\n+$/,"")});else if(o=d.rules.fences.exec(e))e=e.substring(o[0].length),d.tokens.push({type:"code",lang:o[2],text:o[3]||""});else if(o=d.rules.heading.exec(e))e=e.substring(o[0].length),d.tokens.push({type:"heading",depth:o[1].length,text:o[2]});else if(t&&(o=d.rules.nptable.exec(e))){for(e=e.substring(o[0].length),l={type:"table",header:o[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),d.token(o,t,!0),d.tokens.push({type:"blockquote_end"});else if(o=d.rules.list.exec(e)){for(e=e.substring(o[0].length),a=o[2],d.tokens.push({type:"list_start",ordered:a.length>1}),o=o[0].match(d.rules.item),r=!1,p=o.length,u=0;u1&&s.length>1||(e=o.slice(u+1).join("\n")+e,u=p-1)),i=r||/\n\n(?!\s*$)/.test(l),u!==p-1&&(r="\n"===l.charAt(l.length-1),i||(i=r)),d.tokens.push({type:i?"loose_item_start":"list_item_start"}),d.token(l,!1,n),d.tokens.push({type:"list_item_end"});d.tokens.push({type:"list_end"})}else if(o=d.rules.html.exec(e))e=e.substring(o[0].length),d.tokens.push({type:d.options.sanitize?"paragraph":"html",pre:!d.options.sanitizer&&("pre"===o[1]||"script"===o[1]||"style"===o[1]),text:o[0]});else if(!n&&t&&(o=d.rules.def.exec(e)))e=e.substring(o[0].length),d.tokens.links[o[1].toLowerCase()]={href:o[2],title:o[3]};else if(t&&(o=d.rules.table.exec(e))){for(e=e.substring(o[0].length),l={type:"table",header:o[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3].replace(/(?: *\| *)?\n$/,"").split("\n")},u=0;u])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:l,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:l,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/,p.link=s(p.link)("inside",p._inside)("href",p._href)(),p.reflink=s(p.reflink)("inside",p._inside)(),p.normal=c({},p),p.pedantic=c({},p.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),p.gfm=c({},p.normal,{escape:s(p.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:s(p.text)("]|","~]|")("|","|https?://|")()}),p.breaks=c({},p.gfm,{br:s(p.br)("{2,}","*")(),text:s(p.gfm.text)("{2,}","*")()}),n.rules=p,n.output=function(e,t,r){return new n(t,r).output(e)},n.prototype.output=function(e){for(var t,n,r,i,a=this,s="";e;)if(i=a.rules.escape.exec(e))e=e.substring(i[0].length),s+=i[1];else if(i=a.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=":"===i[1].charAt(6)?a.mangle(i[1].substring(7)):a.mangle(i[1]),r=a.mangle("mailto:")+n):(n=o(i[1]),r=n),s+=a.renderer.link(r,null,n);else if(a.inLink||!(i=a.rules.url.exec(e))){if(i=a.rules.tag.exec(e))!a.inLink&&/^/i.test(i[0])&&(a.inLink=!1),e=e.substring(i[0].length),s+=a.options.sanitize?a.options.sanitizer?a.options.sanitizer(i[0]):o(i[0]):i[0];else if(i=a.rules.link.exec(e))e=e.substring(i[0].length),a.inLink=!0,s+=a.outputLink(i,{href:i[2],title:i[3]}),a.inLink=!1;else if((i=a.rules.reflink.exec(e))||(i=a.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),!(t=a.links[t.toLowerCase()])||!t.href){s+=i[0].charAt(0),e=i[0].substring(1)+e;continue}a.inLink=!0,s+=a.outputLink(i,t),a.inLink=!1}else if(i=a.rules.strong.exec(e))e=e.substring(i[0].length),s+=a.renderer.strong(a.output(i[2]||i[1]));else if(i=a.rules.em.exec(e))e=e.substring(i[0].length),s+=a.renderer.em(a.output(i[2]||i[1]));else if(i=a.rules.code.exec(e))e=e.substring(i[0].length),s+=a.renderer.codespan(o(i[2],!0));else if(i=a.rules.br.exec(e))e=e.substring(i[0].length),s+=a.renderer.br();else if(i=a.rules.del.exec(e))e=e.substring(i[0].length),s+=a.renderer.del(a.output(i[1]));else if(i=a.rules.text.exec(e))e=e.substring(i[0].length),s+=a.renderer.text(o(a.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=o(i[1]),r=n,s+=a.renderer.link(r,null,n);return s},n.prototype.outputLink=function(e,t){var n=o(t.href),r=t.title?o(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,o(e[1]))},n.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},n.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,i=0;i.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},r.prototype.code=function(e,t,n){if(this.options.highlight){var r=this.options.highlight(e,t);null!=r&&r!==e&&(n=!0,e=r)}return t?'
        '+(n?e:o(e,!0))+"\n
        \n":"
        "+(n?e:o(e,!0))+"\n
        "},r.prototype.blockquote=function(e){return"
        \n"+e+"
        \n"},r.prototype.html=function(e){return e},r.prototype.heading=function(e,t,n){return"'+e+"\n"},r.prototype.hr=function(){return this.options.xhtml?"
        \n":"
        \n"},r.prototype.list=function(e,t){var n=t?"ol":"ul";return"<"+n+">\n"+e+"\n"},r.prototype.listitem=function(e){return"
      • "+e+"
      • \n"},r.prototype.paragraph=function(e){return"

        "+e+"

        \n"},r.prototype.table=function(e,t){return"\n\n"+e+"\n\n"+t+"\n
        \n"},r.prototype.tablerow=function(e){return"\n"+e+"\n"},r.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">")+e+"\n"},r.prototype.strong=function(e){return""+e+""},r.prototype.em=function(e){return""+e+""},r.prototype.codespan=function(e){return""+e+""},r.prototype.br=function(){return this.options.xhtml?"
        ":"
        "},r.prototype.del=function(e){return""+e+""},r.prototype.link=function(e,t,n){if(this.options.sanitize){try{var r=decodeURIComponent(a(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var i='
        "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},i.parse=function(e,t,n){return new i(t,n).parse(e)},i.prototype.parse=function(e){var t=this;this.inline=new n(e.links,this.options,this.renderer),this.tokens=e.reverse();for(var r="";this.next();)r+=t.tok();return r},i.prototype.next=function(){return this.token=this.tokens.pop()},i.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},i.prototype.parseText=function(){for(var e=this,t=this.token.text;"text"===this.peek().type;)t+="\n"+e.next().text;return this.inline.output(t)},i.prototype.tok=function(){var e=this;switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var t,n,r,i,o="",a="";for(r="",t=0;te.length)break e;if(!(b instanceof i)){u.lastIndex=0;var k=u.exec(b),w=1;if(!k&&d&&v!=o.length-1){if(u.lastIndex=y,!(k=u.exec(e)))break;for(var x=k.index+(p?k[1].length:0),_=k.index+k[0].length,S=v,C=y,L=o.length;S=C&&(++v,y=C);if(o[v]instanceof i||o[S-1].greedy)continue;w=S-v,b=e.slice(y,C),k.index-=y}if(k){p&&(g=k[1].length);var x=k.index+g,k=k[0].slice(g),_=x+k.length,E=b.slice(0,x),$=b.slice(_),T=[v,w];E&&T.push(E);var A=new i(s,h?r.tokenize(k,h):k,f,k,d);T.push(A),$&&T.push($),Array.prototype.splice.apply(o,T)}}}}}return o},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var i,o=0;i=n[o++];)i(t)}}},i=r.Token=function(e,t,n,r,i){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!i};if(i.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return i.stringify(n,t,e)}).join("");var o={type:e.type,content:i.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==o.type&&(o.attributes.spellcheck="true"),e.alias){var a="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(o.classes,a)}r.hooks.run("wrap",o);var s=Object.keys(o.attributes).map(function(e){return e+'="'+(o.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+(s?" "+s:"")+">"+o.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),i=n.language,o=n.code,a=n.immediateClose;t.postMessage(r.highlight(o,r.languages[i],i)),a&&t.close()},!1),t.Prism):t.Prism;var o=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return o&&(r.filename=o.src,document.addEventListener&&!o.hasAttribute("data-manual")&&("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(r.highlightAll):window.setTimeout(r.highlightAll,16):document.addEventListener("DOMContentLoaded",r.highlightAll))),t.Prism}();e.exports&&(e.exports=n),void 0!==Ce&&(Ce.Prism=n),n.languages.markup={comment://,prolog:/<\?[\w\W]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},n.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),n.languages.xml=n.languages.markup,n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:{pattern:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},n.languages.css.atrule.inside.rest=n.util.clone(n.languages.css),n.languages.markup&&(n.languages.insertBefore("markup","tag",{style:{pattern:/()[\w\W]*?(?=<\/style>)/i,lookbehind:!0,inside:n.languages.css,alias:"language-css"}}),n.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:n.languages.css}},alias:"language-css"}},n.languages.markup.tag)),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(true|false)\b/,function:/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,function:/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*\*?|\/|~|\^|%|\.{3}/}),n.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}}),n.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\\\|\\?[^\\])*?`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&n.languages.insertBefore("markup","tag",{script:{pattern:/()[\w\W]*?(?=<\/script>)/i,lookbehind:!0,inside:n.languages.javascript,alias:"language-javascript"}}),n.languages.js=n.languages.javascript,function(){"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(){var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.forEach&&Array.prototype.slice.call(document.querySelectorAll("pre[data-src]")).forEach(function(t){for(var r,i=t.getAttribute("data-src"),o=t,a=/\blang(?:uage)?-(?!\*)(\w+)\b/i;o&&!a.test(o.className);)o=o.parentNode;if(o&&(r=(t.className.match(a)||[,""])[1]),!r){var s=(i.match(/\.(\w+)$/)||[,""])[1];r=e[s]||s}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",i,!0),c.onreadystatechange=function(){4==c.readyState&&(c.status<400&&c.responseText?(l.textContent=c.responseText,n.highlightElement(l)):c.status>=400?l.textContent="✖ Error "+c.status+" while fetching file: "+c.statusText:l.textContent="✖ Error: File does not exist or is empty")},c.send(null)})},document.addEventListener("DOMContentLoaded",self.Prism.fileHighlight))}()}),$e={},Te=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g;E.clear=function(){$e={}};var Ae=decodeURIComponent,Pe=encodeURIComponent,Oe=e(function(e){return/(:|(\/{2}))/g.test(e)}),je=e(function(e){return/\/$/g.test(e)?e:(e=e.match(/(\S*\/)[^\/]+$/))?e[1]:""}),Me=e(function(e){return e.replace(/^\/+/,"/").replace(/([^:])\/{2,}/g,"$1/")}),qe={},Ne=function(t,n){this.config=t,this.router=n,this.cacheTree={},this.toc=[],this.linkTarget=t.externalLinkTarget||"_blank",this.contentBase=n.getBasePath();var i,o=this._initRenderer(),a=t.markdown||{};r(a)?i=a(Le,o):(Le.setOptions(ie(a,{renderer:ie(o,a.renderer)})),i=Le),this.compile=e(function(e){var n="";return e?(n=i(e),n=t.noEmoji?n:T(n),E.clear(),n):e})};Ne.prototype.matchNotCompileLink=function(e){for(var t=this.config.noCompileLinks,n=0;n'+e+""},a.code=e.code=function(e,t){return void 0===t&&(t=""),'
        '+Ee.highlight(e,Ee.languages[t]||Ee.languages.markup)+"
        "},a.link=e.link=function(e,t,i){var a="";/:|(\/{2})/.test(e)||o.matchNotCompileLink(e)||/(\s?:ignore)(\s\S+)?$/.test(t)?(a=' target="'+n+'"',t=t&&t.replace(/:ignore/g,"").trim()):e=r.toURL(e,null,r.getCurrentPath());var s=t&&t.match(/:target=\w+/);return s&&(s=s[0],t=t.replace(s,""),a=" "+s.slice(1)),t&&(t=' title="'+t+'"'),'"+i+""},a.paragraph=e.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

        "+e+"

        "},a.image=e.image=function(e,t,n){var r=e,o=t?' title="'+t+'"':"";return Oe(e)||(r=O(i,e)),''+n+'"},e.origin=a,e},Ne.prototype.sidebar=function(e,t){var n=this.router.getCurrentPath(),r="";if(e)r=this.compile(e),r=r&&r.match(/]*>([\s\S]+)<\/ul>/g)[0];else{var i=this.cacheTree[n]||L(this.toc,t);r=b(i,"
          "),this.cacheTree[n]=i}return r},Ne.prototype.subSidebar=function(e){if(!e)return void(this.toc=[]);var t=this.router.getCurrentPath(),n=this,r=n.cacheTree,i=n.toc;i[0]&&i[0].ignoreAllSubs&&(this.toc=[]),i[0]&&1===i[0].level&&i.shift(),i.forEach(function(e,t){e.ignoreSubHeading&&i.splice(t,1)});var o=r[t]||L(i,e);return r[t]=o,this.toc=[],b(o,'
            ')},Ne.prototype.article=function(e){return this.compile(e)},Ne.prototype.cover=function(e){var t=this.toc.slice(),n=this.compile(e);return this.toc=t.slice(),n};var Re=pe.title,Fe=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};N(this,e),this.duration=t.duration||1e3,this.ease=t.easing||this._defaultEase,this.start=t.start,this.end=t.end,this.frame=null,this.next=null,this.isRunning=!1,this.events={},this.direction=this.startthis.end&&e>=this.next}[this.direction]}},{key:"_defaultEase",value:function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t}}]),e}(),Be={},Ie=!1,ze=null,De=!0,We=0,Ue=pe.scrollingElement||pe.documentElement,Ye={},Ge=function(e){this.config=e};Ge.prototype.getBasePath=function(){return this.config.basePath},Ge.prototype.getFile=function(e,t){e=e||this.getCurrentPath();var n=this,r=n.config,i=this.getBasePath();return e=r.alias?G(e,r.alias):e,e=X(e),e="/README.md"===e?r.homepage||e:e,e=Oe(e)?e:O(i,e),t&&(e=e.replace(new RegExp("^"+i),"")),e},Ge.prototype.onchange=function(e){void 0===e&&(e=n),e()},Ge.prototype.getCurrentPath=function(){},Ge.prototype.normalize=function(){},Ge.prototype.parse=function(){},Ge.prototype.toURL=function(){};var Xe=e(function(e){return e.replace("#","?id=")}),Ze=function(e){function t(t){e.call(this,t),this.mode="hash"}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getBasePath=function(){var e=window.location.pathname||"",t=this.config.basePath;return/^(\/|https?:)/g.test(t)?t:Me(e+"/"+t)},t.prototype.getCurrentPath=function(){var e=location.href,t=e.indexOf("#");return-1===t?"":e.slice(t+1)},t.prototype.onchange=function(e){void 0===e&&(e=n),p("hashchange",e)},t.prototype.normalize=function(){var e=this.getCurrentPath();if(e=Xe(e),"/"===e.charAt(0))return Z(e);Z("/"+e)},t.prototype.parse=function(e){void 0===e&&(e=location.href);var t="",n=e.indexOf("#");n&&(e=e.slice(n+1));var r=e.indexOf("?");return r>=0&&(t=e.slice(r+1),e=e.slice(0,r)),{path:e,file:this.getFile(e,!0),query:A(t)}},t.prototype.toURL=function(e,t,n){var r=n&&"#"===e[0],i=this.parse(Xe(e));return i.query=ie({},i.query,t),e=i.path+P(i.query),e=e.replace(/\.md(\?)|\.md$/,"$1"),r&&(e=n+e),Me("#/"+e)},t}(Ge),Ve=function(e){function t(t){e.call(this,t),this.mode="history"}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getCurrentPath=function(){var e=this.getBasePath(),t=window.location.pathname;return e&&0===t.indexOf(e)&&(t=t.slice(e.length)),(t||"/")+window.location.search+window.location.hash},t.prototype.onchange=function(e){void 0===e&&(e=n),p("click",function(t){var n="A"===t.target.tagName?t.target:t.target.parentNode;if("A"===n.tagName&&!/_blank/.test(n.target)){t.preventDefault();var r=n.href;window.history.pushState({key:r},"",r),e()}}),p("popstate",e)},t.prototype.parse=function(e){void 0===e&&(e=location.href);var t="",n=e.indexOf("?");n>=0&&(t=e.slice(n+1),e=e.slice(0,n));var r=O(location.origin),i=e.indexOf(r);return i>-1&&(e=e.slice(i+r.length)),{path:e,file:this.getFile(e),query:A(t)}},t.prototype.toURL=function(e,t,n){var r=n&&"#"===e[0],i=this.parse(e);return i.query=ie({},i.query,t),e=i.path+P(i.query),e=e.replace(/\.md(\?)|\.md$/,"$1"),r&&(e=n+e),Me("/"+e)},t}(Ge),Je={},Qe=Object.freeze({cached:e,hyphenate:re,merge:ie,isPrimitive:t,noop:n,isFn:r,inBrowser:me,isMobile:ve,supportsPushState:ye,parseQuery:A,stringifyQuery:P,getPath:O,isAbsolutePath:Oe,getParentPath:je,cleanPath:Me}),Ke=ne.prototype;!function(e){e._init=function(){var e=this;e.config=oe||{},i(e),te(e),o(e,"init"),J(e),Y(e),Q(e),ee(e),o(e,"mounted")}}(Ke),function(e){e.route={}}(Ke),function(e){e._renderTo=function(e,t,n){var r=a(e);r&&(r[n?"outerHTML":"innerHTML"]=t)},e._renderSidebar=function(e){var t=this.config,n=t.maxLevel,r=t.subMaxLevel,i=t.loadSidebar;this._renderTo(".sidebar-nav",this.compiler.sidebar(e,n));var o=q(this.router,".sidebar-nav",!0,!0);i&&o?o.parentNode.innerHTML+=this.compiler.subSidebar(r)||"":this.compiler.subSidebar(),this._bindEventOnRendered(o)},e._bindEventOnRendered=function(e){var t=this.config,n=t.autoHeader,r=t.auto2top;if(H(this.router),n&&e){var i=a("#main"),o=i.children[0];if(o&&"H1"!==o.tagName){var s=c("h1");s.innerText=e.innerText,h(i,s)}}r&&I(r)},e._renderNav=function(e){e&&this._renderTo("nav",this.compiler.compile(e)),q(this.router,"nav")},e._renderMain=function(e,t){var n=this;if(void 0===t&&(t={}),!e)return W.call(this,e);o(this,"beforeEach",e,function(e){var r=n.isHTML?e:n.compiler.compile(e);t.updatedAt&&(r=D(r,t.updatedAt,n.config.formatUpdated)),o(n,"afterEach",r,function(e){return W.call(n,e)})})},e._renderCover=function(e){var t=a(".cover");if(!e)return void g(t,"remove","show");g(t,"add","show");var n=this.coverIsHTML?e:this.compiler.cover(e),r=n.trim().match('

            ([^<]*?)

            $');if(r){if("color"===r[2])t.style.background=r[1]+(r[3]||"");else{var i=r[1];g(t,"add","has-mask"),Oe(r[1])||(i=O(this.router.getBasePath(),r[1])),t.style.backgroundImage="url("+i+")",t.style.backgroundSize="cover",t.style.backgroundPosition="center center"}n=n.replace(r[0],"")}this._renderTo(".cover-main",n),M()},e._updateRender=function(){U(this)}}(Ke),function(e){var t;e._fetch=function(e){var r=this;void 0===e&&(e=n);var i=this.route,o=i.path,a=this.config,s=a.loadNavbar,l=a.loadSidebar;t&&t.abort&&t.abort(),t=_(this.router.getFile(o),!0),this.isHTML=/\.html$/g.test(o);var c=function(){if(!l)return e();K(o,l,function(t){r._renderSidebar(t),e()},r,!0)};t.then(function(e,t){r._renderMain(e,t),c()},function(e){r._renderMain(null),c()}),s&&K(o,s,function(e){return r._renderNav(e)},this,!0)},e._fetchCover=function(){var e=this,t=this.config,n=t.coverpage,r=je(this.route.path),i=this.router.getFile(r+n);if("/"!==this.route.path||!n)return void this._renderCover();this.coverIsHTML=/\.html$/g.test(i),_(i).then(function(t){return e._renderCover(t)})},e.$fetch=function(e){var t=this;void 0===e&&(e=n),this._fetchCover(),this._fetch(function(n){t.$resetEvents(),o(t,"doneEach"),e()})}}(Ke),function(e){e.$resetEvents=function(){B(this.route.query.id),q(this.router,"nav")}}(Ke),function(){window.Docsify={util:Qe,dom:fe,get:_,slugify:E},window.DocsifyCompiler=Ne,window.marked=Le,window.Prism=Ee}(),ne.version="4.3.7",function(e){var t=document.readyState;if("complete"===t||"interactive"===t)return setTimeout(e,0);document.addEventListener("DOMContentLoaded",e)}(function(e){return new ne})}(); diff --git a/lib/plugins/emoji.js b/lib/plugins/emoji.js index 5787919..23583bc 100644 --- a/lib/plugins/emoji.js +++ b/lib/plugins/emoji.js @@ -1,158 +1,905 @@ (function () { 'use strict'; -var AllGithubEmoji = ['+1', '100', '1234', '8ball', 'a', 'ab', 'abc', 'abcd', - 'accept', 'aerial_tramway', 'airplane', 'alarm_clock', 'alien', 'ambulance', - 'anchor', 'angel', 'anger', 'angry', 'anguished', 'ant', 'apple', 'aquarius', - 'aries', 'arrow_backward', 'arrow_double_down', 'arrow_double_up', 'arrow_down', - 'arrow_down_small', 'arrow_forward', 'arrow_heading_down', 'arrow_heading_up', - 'arrow_left', 'arrow_lower_left', 'arrow_lower_right', 'arrow_right', - 'arrow_right_hook', 'arrow_up', 'arrow_up_down', 'arrow_up_small', 'arrow_upper_left', - 'arrow_upper_right', 'arrows_clockwise', 'arrows_counterclockwise', 'art', - 'articulated_lorry', 'astonished', 'athletic_shoe', 'atm', 'b', 'baby', 'baby_bottle', - 'baby_chick', 'baby_symbol', 'back', 'baggage_claim', 'balloon', 'ballot_box_with_check', - 'bamboo', 'banana', 'bangbang', 'bank', 'bar_chart', 'barber', 'baseball', 'basketball', - 'bath', 'bathtub', 'battery', 'bear', 'bee', 'beer', 'beers', 'beetle', 'beginner', - 'bell', 'bento', 'bicyclist', 'bike', 'bikini', 'bird', 'birthday', 'black_circle', - 'black_joker', 'black_large_square', 'black_medium_small_square', 'black_medium_square', - 'black_nib', 'black_small_square', 'black_square_button', 'blossom', 'blowfish', - 'blue_book', 'blue_car', 'blue_heart', 'blush', 'boar', 'boat', 'bomb', 'book', - 'bookmark', 'bookmark_tabs', 'books', 'boom', 'boot', 'bouquet', 'bow', 'bowling', - 'bowtie', 'boy', 'bread', 'bride_with_veil', 'bridge_at_night', 'briefcase', - 'broken_heart', 'bug', 'bulb', 'bullettrain_front', 'bullettrain_side', 'bus', - 'busstop', 'bust_in_silhouette', 'busts_in_silhouette', 'cactus', 'cake', 'calendar', - 'calling', 'camel', 'camera', 'cancer', 'candy', 'capital_abcd', 'capricorn', 'car', - 'card_index', 'carousel_horse', 'cat', 'cat2', 'cd', 'chart', 'chart_with_downwards_trend', - 'chart_with_upwards_trend', 'checkered_flag', 'cherries', 'cherry_blossom', 'chestnut', - 'chicken', 'children_crossing', 'chocolate_bar', 'christmas_tree', 'church', 'cinema', - 'circus_tent', 'city_sunrise', 'city_sunset', 'cl', 'clap', 'clapper', 'clipboard', - 'clock1', 'clock10', 'clock1030', 'clock11', 'clock1130', 'clock12', 'clock1230', - 'clock130', 'clock2', 'clock230', 'clock3', 'clock330', 'clock4', 'clock430', - 'clock5', 'clock530', 'clock6', 'clock630', 'clock7', 'clock730', 'clock8', 'clock830', - 'clock9', 'clock930', 'closed_book', 'closed_lock_with_key', 'closed_umbrella', - 'cloud', 'clubs', 'cn', 'cocktail', 'coffee', 'cold_sweat', 'collision', 'computer', - 'confetti_ball', 'confounded', 'confused', 'congratulations', 'construction', - 'construction_worker', 'convenience_store', 'cookie', 'cool', 'cop', 'copyright', - 'corn', 'couple', 'couple_with_heart', 'couplekiss', 'cow', 'cow2', 'credit_card', - 'crescent_moon', 'crocodile', 'crossed_flags', 'crown', 'cry', 'crying_cat_face', - 'crystal_ball', 'cupid', 'curly_loop', 'currency_exchange', 'curry', 'custard', - 'customs', 'cyclone', 'dancer', 'dancers', 'dango', 'dart', 'dash', 'date', 'de', - 'deciduous_tree', 'department_store', 'diamond_shape_with_a_dot_inside', 'diamonds', - 'disappointed', 'disappointed_relieved', 'dizzy', 'dizzy_face', 'do_not_litter', - 'dog', 'dog2', 'dollar', 'dolls', 'dolphin', 'door', 'doughnut', 'dragon', - 'dragon_face', 'dress', 'dromedary_camel', 'droplet', 'dvd', 'e-mail', 'ear', - 'ear_of_rice', 'earth_africa', 'earth_americas', 'earth_asia', 'egg', 'eggplant', - 'eight', 'eight_pointed_black_star', 'eight_spoked_asterisk', 'electric_plug', - 'elephant', 'email', 'end', 'envelope', 'envelope_with_arrow', 'es', 'euro', - 'european_castle', 'european_post_office', 'evergreen_tree', 'exclamation', - 'expressionless', 'eyeglasses', 'eyes', 'facepunch', 'factory', 'fallen_leaf', - 'family', 'fast_forward', 'fax', 'fearful', 'feelsgood', 'feet', 'ferris_wheel', - 'file_folder', 'finnadie', 'fire', 'fire_engine', 'fireworks', 'first_quarter_moon', - 'first_quarter_moon_with_face', 'fish', 'fish_cake', 'fishing_pole_and_fish', - 'fist', 'five', 'flags', 'flashlight', 'flipper', 'floppy_disk', 'flower_playing_cards', - 'flushed', 'foggy', 'football', 'footprints', 'fork_and_knife', 'fountain', - 'four', 'four_leaf_clover', 'fr', 'free', 'fried_shrimp', 'fries', 'frog', - 'frowning', 'fu', 'fuelpump', 'full_moon', 'full_moon_with_face', 'game_die', - 'gb', 'gem', 'gemini', 'ghost', 'gift', 'gift_heart', 'girl', 'globe_with_meridians', - 'goat', 'goberserk', 'godmode', 'golf', 'grapes', 'green_apple', 'green_book', - 'green_heart', 'grey_exclamation', 'grey_question', 'grimacing', 'grin', - 'grinning', 'guardsman', 'guitar', 'gun', 'haircut', 'hamburger', 'hammer', - 'hamster', 'hand', 'handbag', 'hankey', 'hash', 'hatched_chick', 'hatching_chick', - 'headphones', 'hear_no_evil', 'heart', 'heart_decoration', 'heart_eyes', - 'heart_eyes_cat', 'heartbeat', 'heartpulse', 'hearts', 'heavy_check_mark', - 'heavy_division_sign', 'heavy_dollar_sign', 'heavy_exclamation_mark', 'heavy_minus_sign', - 'heavy_multiplication_x', 'heavy_plus_sign', 'helicopter', 'herb', 'hibiscus', - 'high_brightness', 'high_heel', 'hocho', 'honey_pot', 'honeybee', 'horse', - 'horse_racing', 'hospital', 'hotel', 'hotsprings', 'hourglass', 'hourglass_flowing_sand', - 'house', 'house_with_garden', 'hurtrealbad', 'hushed', 'ice_cream', 'icecream', - 'id', 'ideograph_advantage', 'imp', 'inbox_tray', 'incoming_envelope', - 'information_desk_person', 'information_source', 'innocent', 'interrobang', - 'iphone', 'it', 'izakaya_lantern', 'jack_o_lantern', 'japan', 'japanese_castle', - 'japanese_goblin', 'japanese_ogre', 'jeans', 'joy', 'joy_cat', 'jp', 'key', - 'keycap_ten', 'kimono', 'kiss', 'kissing', 'kissing_cat', 'kissing_closed_eyes', - 'kissing_heart', 'kissing_smiling_eyes', 'koala', 'koko', 'kr', 'lantern', - 'large_blue_circle', 'large_blue_diamond', 'large_orange_diamond', 'last_quarter_moon', - 'last_quarter_moon_with_face', 'laughing', 'leaves', 'ledger', 'left_luggage', - 'left_right_arrow', 'leftwards_arrow_with_hook', 'lemon', 'leo', 'leopard', - 'libra', 'light_rail', 'link', 'lips', 'lipstick', 'lock', 'lock_with_ink_pen', - 'lollipop', 'loop', 'loud_sound', 'loudspeaker', 'love_hotel', 'love_letter', - 'low_brightness', 'm', 'mag', 'mag_right', 'mahjong', 'mailbox', 'mailbox_closed', - 'mailbox_with_mail', 'mailbox_with_no_mail', 'man', 'man_with_gua_pi_mao', - 'man_with_turban', 'mans_shoe', 'maple_leaf', 'mask', 'massage', 'meat_on_bone', - 'mega', 'melon', 'memo', 'mens', 'metal', 'metro', 'microphone', 'microscope', - 'milky_way', 'minibus', 'minidisc', 'mobile_phone_off', 'money_with_wings', - 'moneybag', 'monkey', 'monkey_face', 'monorail', 'moon', 'mortar_board', 'mount_fuji', - 'mountain_bicyclist', 'mountain_cableway', 'mountain_railway', 'mouse', 'mouse2', - 'movie_camera', 'moyai', 'muscle', 'mushroom', 'musical_keyboard', 'musical_note', - 'musical_score', 'mute', 'nail_care', 'name_badge', 'neckbeard', 'necktie', - 'negative_squared_cross_mark', 'neutral_face', 'new', 'new_moon', 'new_moon_with_face', - 'newspaper', 'ng', 'night_with_stars', 'nine', 'no_bell', 'no_bicycles', 'no_entry', - 'no_entry_sign', 'no_good', 'no_mobile_phones', 'no_mouth', 'no_pedestrians', - 'no_smoking', 'non-potable_water', 'nose', 'notebook', 'notebook_with_decorative_cover', - 'notes', 'nut_and_bolt', 'o', 'o2', 'ocean', 'octocat', 'octopus', 'oden', 'office', - 'ok', 'ok_hand', 'ok_woman', 'older_man', 'older_woman', 'on', 'oncoming_automobile', - 'oncoming_bus', 'oncoming_police_car', 'oncoming_taxi', 'one', 'open_book', - 'open_file_folder', 'open_hands', 'open_mouth', 'ophiuchus', 'orange_book', - 'outbox_tray', 'ox', 'package', 'page_facing_up', 'page_with_curl', 'pager', - 'palm_tree', 'panda_face', 'paperclip', 'parking', 'part_alternation_mark', - 'partly_sunny', 'passport_control', 'paw_prints', 'peach', 'pear', 'pencil', - 'pencil2', 'penguin', 'pensive', 'performing_arts', 'persevere', 'person_frowning', - 'person_with_blond_hair', 'person_with_pouting_face', 'phone', 'pig', 'pig2', - 'pig_nose', 'pill', 'pineapple', 'pisces', 'pizza', 'point_down', 'point_left', - 'point_right', 'point_up', 'point_up_2', 'police_car', 'poodle', 'poop', - 'post_office', 'postal_horn', 'postbox', 'potable_water', 'pouch', 'poultry_leg', - 'pound', 'pouting_cat', 'pray', 'princess', 'punch', 'purple_heart', 'purse', - 'pushpin', 'put_litter_in_its_place', 'question', 'rabbit', 'rabbit2', 'racehorse', - 'radio', 'radio_button', 'rage', 'rage1', 'rage2', 'rage3', 'rage4', 'railway_car', - 'rainbow', 'raised_hand', 'raised_hands', 'raising_hand', 'ram', 'ramen', 'rat', - 'recycle', 'red_car', 'red_circle', 'registered', 'relaxed', 'relieved', 'repeat', - 'repeat_one', 'restroom', 'revolving_hearts', 'rewind', 'ribbon', 'rice', - 'rice_ball', 'rice_cracker', 'rice_scene', 'ring', 'rocket', 'roller_coaster', - 'rooster', 'rose', 'rotating_light', 'round_pushpin', 'rowboat', 'ru', 'rugby_football', - 'runner', 'running', 'running_shirt_with_sash', 'sa', 'sagittarius', 'sailboat', - 'sake', 'sandal', 'santa', 'satellite', 'satisfied', 'saxophone', 'school', - 'school_satchel', 'scissors', 'scorpius', 'scream', 'scream_cat', 'scroll', - 'seat', 'secret', 'see_no_evil', 'seedling', 'seven', 'shaved_ice', 'sheep', - 'shell', 'ship', 'shipit', 'shirt', 'shit', 'shoe', 'shower', 'signal_strength', - 'six', 'six_pointed_star', 'ski', 'skull', 'sleeping', 'sleepy', 'slot_machine', - 'small_blue_diamond', 'small_orange_diamond', 'small_red_triangle', - 'small_red_triangle_down', 'smile', 'smile_cat', 'smiley', 'smiley_cat', - 'smiling_imp', 'smirk', 'smirk_cat', 'smoking', 'snail', 'snake', 'snowboarder', - 'snowflake', 'snowman', 'sob', 'soccer', 'soon', 'sos', 'sound', 'space_invader', - 'spades', 'spaghetti', 'sparkle', 'sparkler', 'sparkles', 'sparkling_heart', - 'speak_no_evil', 'speaker', 'speech_balloon', 'speedboat', 'squirrel', 'star', - 'star2', 'stars', 'station', 'statue_of_liberty', 'steam_locomotive', 'stew', - 'straight_ruler', 'strawberry', 'stuck_out_tongue', 'stuck_out_tongue_closed_eyes', - 'stuck_out_tongue_winking_eye', 'sun_with_face', 'sunflower', 'sunglasses', - 'sunny', 'sunrise', 'sunrise_over_mountains', 'surfer', 'sushi', 'suspect', - 'suspension_railway', 'sweat', 'sweat_drops', 'sweat_smile', 'sweet_potato', - 'swimmer', 'symbols', 'syringe', 'tada', 'tanabata_tree', 'tangerine', 'taurus', - 'taxi', 'tea', 'telephone', 'telephone_receiver', 'telescope', 'tennis', 'tent', - 'thought_balloon', 'three', 'thumbsdown', 'thumbsup', 'ticket', 'tiger', 'tiger2', - 'tired_face', 'tm', 'toilet', 'tokyo_tower', 'tomato', 'tongue', 'top', 'tophat', - 'tractor', 'traffic_light', 'train', 'train2', 'tram', 'triangular_flag_on_post', - 'triangular_ruler', 'trident', 'triumph', 'trolleybus', 'trollface', 'trophy', - 'tropical_drink', 'tropical_fish', 'truck', 'trumpet', 'tshirt', 'tulip', - 'turtle', 'tv', 'twisted_rightwards_arrows', 'two', 'two_hearts', 'two_men_holding_hands', - 'two_women_holding_hands', 'u5272', 'u5408', 'u55b6', 'u6307', 'u6708', 'u6709', - 'u6e80', 'u7121', 'u7533', 'u7981', 'u7a7a', 'uk', 'umbrella', 'unamused', - 'underage', 'unlock', 'up', 'us', 'v', 'vertical_traffic_light', 'vhs', - 'vibration_mode', 'video_camera', 'video_game', 'violin', 'virgo', 'volcano', - 'vs', 'walking', 'waning_crescent_moon', 'waning_gibbous_moon', 'warning', - 'watch', 'water_buffalo', 'watermelon', 'wave', 'wavy_dash', 'waxing_crescent_moon', - 'waxing_gibbous_moon', 'wc', 'weary', 'wedding', 'whale', 'whale2', 'wheelchair', - 'white_check_mark', 'white_circle', 'white_flower', 'white_large_square', - 'white_medium_small_square', 'white_medium_square', 'white_small_square', - 'white_square_button', 'wind_chime', 'wine_glass', 'wink', 'wolf', 'woman', - 'womans_clothes', 'womans_hat', 'womens', 'worried', 'wrench', 'x', 'yellow_heart', - 'yen', 'yum', 'zap', 'zero', 'zzz']; +var AllGithubEmoji = [ + '+1', + '100', + '1234', + '8ball', + 'a', + 'ab', + 'abc', + 'abcd', + 'accept', + 'aerial_tramway', + 'airplane', + 'alarm_clock', + 'alien', + 'ambulance', + 'anchor', + 'angel', + 'anger', + 'angry', + 'anguished', + 'ant', + 'apple', + 'aquarius', + 'aries', + 'arrow_backward', + 'arrow_double_down', + 'arrow_double_up', + 'arrow_down', + 'arrow_down_small', + 'arrow_forward', + 'arrow_heading_down', + 'arrow_heading_up', + 'arrow_left', + 'arrow_lower_left', + 'arrow_lower_right', + 'arrow_right', + 'arrow_right_hook', + 'arrow_up', + 'arrow_up_down', + 'arrow_up_small', + 'arrow_upper_left', + 'arrow_upper_right', + 'arrows_clockwise', + 'arrows_counterclockwise', + 'art', + 'articulated_lorry', + 'astonished', + 'athletic_shoe', + 'atm', + 'b', + 'baby', + 'baby_bottle', + 'baby_chick', + 'baby_symbol', + 'back', + 'baggage_claim', + 'balloon', + 'ballot_box_with_check', + 'bamboo', + 'banana', + 'bangbang', + 'bank', + 'bar_chart', + 'barber', + 'baseball', + 'basketball', + 'bath', + 'bathtub', + 'battery', + 'bear', + 'bee', + 'beer', + 'beers', + 'beetle', + 'beginner', + 'bell', + 'bento', + 'bicyclist', + 'bike', + 'bikini', + 'bird', + 'birthday', + 'black_circle', + 'black_joker', + 'black_large_square', + 'black_medium_small_square', + 'black_medium_square', + 'black_nib', + 'black_small_square', + 'black_square_button', + 'blossom', + 'blowfish', + 'blue_book', + 'blue_car', + 'blue_heart', + 'blush', + 'boar', + 'boat', + 'bomb', + 'book', + 'bookmark', + 'bookmark_tabs', + 'books', + 'boom', + 'boot', + 'bouquet', + 'bow', + 'bowling', + 'bowtie', + 'boy', + 'bread', + 'bride_with_veil', + 'bridge_at_night', + 'briefcase', + 'broken_heart', + 'bug', + 'bulb', + 'bullettrain_front', + 'bullettrain_side', + 'bus', + 'busstop', + 'bust_in_silhouette', + 'busts_in_silhouette', + 'cactus', + 'cake', + 'calendar', + 'calling', + 'camel', + 'camera', + 'cancer', + 'candy', + 'capital_abcd', + 'capricorn', + 'car', + 'card_index', + 'carousel_horse', + 'cat', + 'cat2', + 'cd', + 'chart', + 'chart_with_downwards_trend', + 'chart_with_upwards_trend', + 'checkered_flag', + 'cherries', + 'cherry_blossom', + 'chestnut', + 'chicken', + 'children_crossing', + 'chocolate_bar', + 'christmas_tree', + 'church', + 'cinema', + 'circus_tent', + 'city_sunrise', + 'city_sunset', + 'cl', + 'clap', + 'clapper', + 'clipboard', + 'clock1', + 'clock10', + 'clock1030', + 'clock11', + 'clock1130', + 'clock12', + 'clock1230', + 'clock130', + 'clock2', + 'clock230', + 'clock3', + 'clock330', + 'clock4', + 'clock430', + 'clock5', + 'clock530', + 'clock6', + 'clock630', + 'clock7', + 'clock730', + 'clock8', + 'clock830', + 'clock9', + 'clock930', + 'closed_book', + 'closed_lock_with_key', + 'closed_umbrella', + 'cloud', + 'clubs', + 'cn', + 'cocktail', + 'coffee', + 'cold_sweat', + 'collision', + 'computer', + 'confetti_ball', + 'confounded', + 'confused', + 'congratulations', + 'construction', + 'construction_worker', + 'convenience_store', + 'cookie', + 'cool', + 'cop', + 'copyright', + 'corn', + 'couple', + 'couple_with_heart', + 'couplekiss', + 'cow', + 'cow2', + 'credit_card', + 'crescent_moon', + 'crocodile', + 'crossed_flags', + 'crown', + 'cry', + 'crying_cat_face', + 'crystal_ball', + 'cupid', + 'curly_loop', + 'currency_exchange', + 'curry', + 'custard', + 'customs', + 'cyclone', + 'dancer', + 'dancers', + 'dango', + 'dart', + 'dash', + 'date', + 'de', + 'deciduous_tree', + 'department_store', + 'diamond_shape_with_a_dot_inside', + 'diamonds', + 'disappointed', + 'disappointed_relieved', + 'dizzy', + 'dizzy_face', + 'do_not_litter', + 'dog', + 'dog2', + 'dollar', + 'dolls', + 'dolphin', + 'door', + 'doughnut', + 'dragon', + 'dragon_face', + 'dress', + 'dromedary_camel', + 'droplet', + 'dvd', + 'e-mail', + 'ear', + 'ear_of_rice', + 'earth_africa', + 'earth_americas', + 'earth_asia', + 'egg', + 'eggplant', + 'eight', + 'eight_pointed_black_star', + 'eight_spoked_asterisk', + 'electric_plug', + 'elephant', + 'email', + 'end', + 'envelope', + 'envelope_with_arrow', + 'es', + 'euro', + 'european_castle', + 'european_post_office', + 'evergreen_tree', + 'exclamation', + 'expressionless', + 'eyeglasses', + 'eyes', + 'facepunch', + 'factory', + 'fallen_leaf', + 'family', + 'fast_forward', + 'fax', + 'fearful', + 'feelsgood', + 'feet', + 'ferris_wheel', + 'file_folder', + 'finnadie', + 'fire', + 'fire_engine', + 'fireworks', + 'first_quarter_moon', + 'first_quarter_moon_with_face', + 'fish', + 'fish_cake', + 'fishing_pole_and_fish', + 'fist', + 'five', + 'flags', + 'flashlight', + 'flipper', + 'floppy_disk', + 'flower_playing_cards', + 'flushed', + 'foggy', + 'football', + 'footprints', + 'fork_and_knife', + 'fountain', + 'four', + 'four_leaf_clover', + 'fr', + 'free', + 'fried_shrimp', + 'fries', + 'frog', + 'frowning', + 'fu', + 'fuelpump', + 'full_moon', + 'full_moon_with_face', + 'game_die', + 'gb', + 'gem', + 'gemini', + 'ghost', + 'gift', + 'gift_heart', + 'girl', + 'globe_with_meridians', + 'goat', + 'goberserk', + 'godmode', + 'golf', + 'grapes', + 'green_apple', + 'green_book', + 'green_heart', + 'grey_exclamation', + 'grey_question', + 'grimacing', + 'grin', + 'grinning', + 'guardsman', + 'guitar', + 'gun', + 'haircut', + 'hamburger', + 'hammer', + 'hamster', + 'hand', + 'handbag', + 'hankey', + 'hash', + 'hatched_chick', + 'hatching_chick', + 'headphones', + 'hear_no_evil', + 'heart', + 'heart_decoration', + 'heart_eyes', + 'heart_eyes_cat', + 'heartbeat', + 'heartpulse', + 'hearts', + 'heavy_check_mark', + 'heavy_division_sign', + 'heavy_dollar_sign', + 'heavy_exclamation_mark', + 'heavy_minus_sign', + 'heavy_multiplication_x', + 'heavy_plus_sign', + 'helicopter', + 'herb', + 'hibiscus', + 'high_brightness', + 'high_heel', + 'hocho', + 'honey_pot', + 'honeybee', + 'horse', + 'horse_racing', + 'hospital', + 'hotel', + 'hotsprings', + 'hourglass', + 'hourglass_flowing_sand', + 'house', + 'house_with_garden', + 'hurtrealbad', + 'hushed', + 'ice_cream', + 'icecream', + 'id', + 'ideograph_advantage', + 'imp', + 'inbox_tray', + 'incoming_envelope', + 'information_desk_person', + 'information_source', + 'innocent', + 'interrobang', + 'iphone', + 'it', + 'izakaya_lantern', + 'jack_o_lantern', + 'japan', + 'japanese_castle', + 'japanese_goblin', + 'japanese_ogre', + 'jeans', + 'joy', + 'joy_cat', + 'jp', + 'key', + 'keycap_ten', + 'kimono', + 'kiss', + 'kissing', + 'kissing_cat', + 'kissing_closed_eyes', + 'kissing_heart', + 'kissing_smiling_eyes', + 'koala', + 'koko', + 'kr', + 'lantern', + 'large_blue_circle', + 'large_blue_diamond', + 'large_orange_diamond', + 'last_quarter_moon', + 'last_quarter_moon_with_face', + 'laughing', + 'leaves', + 'ledger', + 'left_luggage', + 'left_right_arrow', + 'leftwards_arrow_with_hook', + 'lemon', + 'leo', + 'leopard', + 'libra', + 'light_rail', + 'link', + 'lips', + 'lipstick', + 'lock', + 'lock_with_ink_pen', + 'lollipop', + 'loop', + 'loud_sound', + 'loudspeaker', + 'love_hotel', + 'love_letter', + 'low_brightness', + 'm', + 'mag', + 'mag_right', + 'mahjong', + 'mailbox', + 'mailbox_closed', + 'mailbox_with_mail', + 'mailbox_with_no_mail', + 'man', + 'man_with_gua_pi_mao', + 'man_with_turban', + 'mans_shoe', + 'maple_leaf', + 'mask', + 'massage', + 'meat_on_bone', + 'mega', + 'melon', + 'memo', + 'mens', + 'metal', + 'metro', + 'microphone', + 'microscope', + 'milky_way', + 'minibus', + 'minidisc', + 'mobile_phone_off', + 'money_with_wings', + 'moneybag', + 'monkey', + 'monkey_face', + 'monorail', + 'moon', + 'mortar_board', + 'mount_fuji', + 'mountain_bicyclist', + 'mountain_cableway', + 'mountain_railway', + 'mouse', + 'mouse2', + 'movie_camera', + 'moyai', + 'muscle', + 'mushroom', + 'musical_keyboard', + 'musical_note', + 'musical_score', + 'mute', + 'nail_care', + 'name_badge', + 'neckbeard', + 'necktie', + 'negative_squared_cross_mark', + 'neutral_face', + 'new', + 'new_moon', + 'new_moon_with_face', + 'newspaper', + 'ng', + 'night_with_stars', + 'nine', + 'no_bell', + 'no_bicycles', + 'no_entry', + 'no_entry_sign', + 'no_good', + 'no_mobile_phones', + 'no_mouth', + 'no_pedestrians', + 'no_smoking', + 'non-potable_water', + 'nose', + 'notebook', + 'notebook_with_decorative_cover', + 'notes', + 'nut_and_bolt', + 'o', + 'o2', + 'ocean', + 'octocat', + 'octopus', + 'oden', + 'office', + 'ok', + 'ok_hand', + 'ok_woman', + 'older_man', + 'older_woman', + 'on', + 'oncoming_automobile', + 'oncoming_bus', + 'oncoming_police_car', + 'oncoming_taxi', + 'one', + 'open_book', + 'open_file_folder', + 'open_hands', + 'open_mouth', + 'ophiuchus', + 'orange_book', + 'outbox_tray', + 'ox', + 'package', + 'page_facing_up', + 'page_with_curl', + 'pager', + 'palm_tree', + 'panda_face', + 'paperclip', + 'parking', + 'part_alternation_mark', + 'partly_sunny', + 'passport_control', + 'paw_prints', + 'peach', + 'pear', + 'pencil', + 'pencil2', + 'penguin', + 'pensive', + 'performing_arts', + 'persevere', + 'person_frowning', + 'person_with_blond_hair', + 'person_with_pouting_face', + 'phone', + 'pig', + 'pig2', + 'pig_nose', + 'pill', + 'pineapple', + 'pisces', + 'pizza', + 'point_down', + 'point_left', + 'point_right', + 'point_up', + 'point_up_2', + 'police_car', + 'poodle', + 'poop', + 'post_office', + 'postal_horn', + 'postbox', + 'potable_water', + 'pouch', + 'poultry_leg', + 'pound', + 'pouting_cat', + 'pray', + 'princess', + 'punch', + 'purple_heart', + 'purse', + 'pushpin', + 'put_litter_in_its_place', + 'question', + 'rabbit', + 'rabbit2', + 'racehorse', + 'radio', + 'radio_button', + 'rage', + 'rage1', + 'rage2', + 'rage3', + 'rage4', + 'railway_car', + 'rainbow', + 'raised_hand', + 'raised_hands', + 'raising_hand', + 'ram', + 'ramen', + 'rat', + 'recycle', + 'red_car', + 'red_circle', + 'registered', + 'relaxed', + 'relieved', + 'repeat', + 'repeat_one', + 'restroom', + 'revolving_hearts', + 'rewind', + 'ribbon', + 'rice', + 'rice_ball', + 'rice_cracker', + 'rice_scene', + 'ring', + 'rocket', + 'roller_coaster', + 'rooster', + 'rose', + 'rotating_light', + 'round_pushpin', + 'rowboat', + 'ru', + 'rugby_football', + 'runner', + 'running', + 'running_shirt_with_sash', + 'sa', + 'sagittarius', + 'sailboat', + 'sake', + 'sandal', + 'santa', + 'satellite', + 'satisfied', + 'saxophone', + 'school', + 'school_satchel', + 'scissors', + 'scorpius', + 'scream', + 'scream_cat', + 'scroll', + 'seat', + 'secret', + 'see_no_evil', + 'seedling', + 'seven', + 'shaved_ice', + 'sheep', + 'shell', + 'ship', + 'shipit', + 'shirt', + 'shit', + 'shoe', + 'shower', + 'signal_strength', + 'six', + 'six_pointed_star', + 'ski', + 'skull', + 'sleeping', + 'sleepy', + 'slot_machine', + 'small_blue_diamond', + 'small_orange_diamond', + 'small_red_triangle', + 'small_red_triangle_down', + 'smile', + 'smile_cat', + 'smiley', + 'smiley_cat', + 'smiling_imp', + 'smirk', + 'smirk_cat', + 'smoking', + 'snail', + 'snake', + 'snowboarder', + 'snowflake', + 'snowman', + 'sob', + 'soccer', + 'soon', + 'sos', + 'sound', + 'space_invader', + 'spades', + 'spaghetti', + 'sparkle', + 'sparkler', + 'sparkles', + 'sparkling_heart', + 'speak_no_evil', + 'speaker', + 'speech_balloon', + 'speedboat', + 'squirrel', + 'star', + 'star2', + 'stars', + 'station', + 'statue_of_liberty', + 'steam_locomotive', + 'stew', + 'straight_ruler', + 'strawberry', + 'stuck_out_tongue', + 'stuck_out_tongue_closed_eyes', + 'stuck_out_tongue_winking_eye', + 'sun_with_face', + 'sunflower', + 'sunglasses', + 'sunny', + 'sunrise', + 'sunrise_over_mountains', + 'surfer', + 'sushi', + 'suspect', + 'suspension_railway', + 'sweat', + 'sweat_drops', + 'sweat_smile', + 'sweet_potato', + 'swimmer', + 'symbols', + 'syringe', + 'tada', + 'tanabata_tree', + 'tangerine', + 'taurus', + 'taxi', + 'tea', + 'telephone', + 'telephone_receiver', + 'telescope', + 'tennis', + 'tent', + 'thought_balloon', + 'three', + 'thumbsdown', + 'thumbsup', + 'ticket', + 'tiger', + 'tiger2', + 'tired_face', + 'tm', + 'toilet', + 'tokyo_tower', + 'tomato', + 'tongue', + 'top', + 'tophat', + 'tractor', + 'traffic_light', + 'train', + 'train2', + 'tram', + 'triangular_flag_on_post', + 'triangular_ruler', + 'trident', + 'triumph', + 'trolleybus', + 'trollface', + 'trophy', + 'tropical_drink', + 'tropical_fish', + 'truck', + 'trumpet', + 'tshirt', + 'tulip', + 'turtle', + 'tv', + 'twisted_rightwards_arrows', + 'two', + 'two_hearts', + 'two_men_holding_hands', + 'two_women_holding_hands', + 'u5272', + 'u5408', + 'u55b6', + 'u6307', + 'u6708', + 'u6709', + 'u6e80', + 'u7121', + 'u7533', + 'u7981', + 'u7a7a', + 'uk', + 'umbrella', + 'unamused', + 'underage', + 'unlock', + 'up', + 'us', + 'v', + 'vertical_traffic_light', + 'vhs', + 'vibration_mode', + 'video_camera', + 'video_game', + 'violin', + 'virgo', + 'volcano', + 'vs', + 'walking', + 'waning_crescent_moon', + 'waning_gibbous_moon', + 'warning', + 'watch', + 'water_buffalo', + 'watermelon', + 'wave', + 'wavy_dash', + 'waxing_crescent_moon', + 'waxing_gibbous_moon', + 'wc', + 'weary', + 'wedding', + 'whale', + 'whale2', + 'wheelchair', + 'white_check_mark', + 'white_circle', + 'white_flower', + 'white_large_square', + 'white_medium_small_square', + 'white_medium_square', + 'white_small_square', + 'white_square_button', + 'wind_chime', + 'wine_glass', + 'wink', + 'wolf', + 'woman', + 'womans_clothes', + 'womans_hat', + 'womens', + 'worried', + 'wrench', + 'x', + 'yellow_heart', + 'yen', + 'yum', + 'zap', + 'zero', + 'zzz' +]; // emoji from All-Github-Emoji-Icons // https://github.com/scotch-io/All-Github-Emoji-Icons window.emojify = function (match, $1) { return AllGithubEmoji.indexOf($1) === -1 ? match - : '' + $1 + '' + : '' +
+      $1 +
+      '' }; }()); diff --git a/lib/plugins/front-matter.js b/lib/plugins/front-matter.js index 6209399..8f7ea3d 100644 --- a/lib/plugins/front-matter.js +++ b/lib/plugins/front-matter.js @@ -32,386 +32,381 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * @namespace */ - var errors = []; var reference_blocks = []; var processing_time = 0; -var regex$1 = - { - "regLevel" : new RegExp("^([\\s\\-]+)"), - "invalidLine" : new RegExp("^\\-\\-\\-|^\\.\\.\\.|^\\s*#.*|^\\s*$"), - "dashesString" : new RegExp("^\\s*\\\"([^\\\"]*)\\\"\\s*$"), - "quotesString" : new RegExp("^\\s*\\\'([^\\\']*)\\\'\\s*$"), - "float" : new RegExp("^[+-]?[0-9]+\\.[0-9]+(e[+-]?[0-9]+(\\.[0-9]+)?)?$"), - "integer" : new RegExp("^[+-]?[0-9]+$"), - "array" : new RegExp("\\[\\s*(.*)\\s*\\]"), - "map" : new RegExp("\\{\\s*(.*)\\s*\\}"), - "key_value" : new RegExp("([a-z0-9_-][ a-z0-9_-]*):( .+)", "i"), - "single_key_value" : new RegExp("^([a-z0-9_-][ a-z0-9_-]*):( .+?)$", "i"), - "key" : new RegExp("([a-z0-9_-][ a-z0-9_-]+):( .+)?", "i"), - "item" : new RegExp("^-\\s+"), - "trim" : new RegExp("^\\s+|\\s+$"), - "comment" : new RegExp("([^\\\'\\\"#]+([\\\'\\\"][^\\\'\\\"]*[\\\'\\\"])*)*(#.*)?") - }; +var regex$1 = { + regLevel: new RegExp('^([\\s\\-]+)'), + invalidLine: new RegExp('^\\-\\-\\-|^\\.\\.\\.|^\\s*#.*|^\\s*$'), + dashesString: new RegExp('^\\s*\\"([^\\"]*)\\"\\s*$'), + quotesString: new RegExp("^\\s*\\'([^\\']*)\\'\\s*$"), + float: new RegExp('^[+-]?[0-9]+\\.[0-9]+(e[+-]?[0-9]+(\\.[0-9]+)?)?$'), + integer: new RegExp('^[+-]?[0-9]+$'), + array: new RegExp('\\[\\s*(.*)\\s*\\]'), + map: new RegExp('\\{\\s*(.*)\\s*\\}'), + key_value: new RegExp('([a-z0-9_-][ a-z0-9_-]*):( .+)', 'i'), + single_key_value: new RegExp('^([a-z0-9_-][ a-z0-9_-]*):( .+?)$', 'i'), + key: new RegExp('([a-z0-9_-][ a-z0-9_-]+):( .+)?', 'i'), + item: new RegExp('^-\\s+'), + trim: new RegExp('^\\s+|\\s+$'), + comment: new RegExp('([^\\\'\\"#]+([\\\'\\"][^\\\'\\"]*[\\\'\\"])*)*(#.*)?') + }; - /** +/** * @class A block of lines of a given level. * @param {int} lvl The block's level. * @private */ function Block(lvl) { - return { - /* The block's parent */ - parent: null, - /* Number of children */ - length: 0, - /* Block's level */ - level: lvl, - /* Lines of code to process */ - lines: [], - /* Blocks with greater level */ - children : [], - /* Add a block to the children collection */ - addChild : function(obj) { - this.children.push(obj); - obj.parent = this; - ++this.length; - } - }; + return { + /* The block's parent */ + parent: null, + /* Number of children */ + length: 0, + /* Block's level */ + level: lvl, + /* Lines of code to process */ + lines: [], + /* Blocks with greater level */ + children: [], + /* Add a block to the children collection */ + addChild: function(obj) { + this.children.push(obj); + obj.parent = this; + ++this.length; + } + } } function parser$1(str) { - var regLevel = regex$1["regLevel"]; - var invalidLine = regex$1["invalidLine"]; - var lines = str.split("\n"); - var m; - var level = 0, curLevel = 0; + var regLevel = regex$1['regLevel']; + var invalidLine = regex$1['invalidLine']; + var lines = str.split('\n'); + var m; + var level = 0, + curLevel = 0; - var blocks = []; + var blocks = []; - var result = new Block(-1); - var currentBlock = new Block(0); - result.addChild(currentBlock); - var levels = []; - var line = ""; + var result = new Block(-1); + var currentBlock = new Block(0); + result.addChild(currentBlock); + var levels = []; + var line = ''; - blocks.push(currentBlock); - levels.push(level); + blocks.push(currentBlock); + levels.push(level); - for(var i = 0, len = lines.length; i < len; ++i) { - line = lines[i]; + for (var i = 0, len = lines.length; i < len; ++i) { + line = lines[i]; - if(line.match(invalidLine)) { - continue; - } - - if(m = regLevel.exec(line)) { - level = m[1].length; - } else - { level = 0; } - - if(level > curLevel) { - var oldBlock = currentBlock; - currentBlock = new Block(level); - oldBlock.addChild(currentBlock); - blocks.push(currentBlock); - levels.push(level); - } else if(level < curLevel) { - var added = false; - - var k = levels.length - 1; - for(; k >= 0; --k) { - if(levels[k] == level) { - currentBlock = new Block(level); - blocks.push(currentBlock); - levels.push(level); - if(blocks[k].parent!= null) - { blocks[k].parent.addChild(currentBlock); } - added = true; - break; - } - } - - if(!added) { - errors.push("Error: Invalid indentation at line " + i + ": " + line); - return; - } - } - - currentBlock.lines.push(line.replace(regex$1["trim"], "")); - curLevel = level; + if (line.match(invalidLine)) { + continue } - return result; + if ((m = regLevel.exec(line))) { + level = m[1].length; + } else { level = 0; } + + if (level > curLevel) { + var oldBlock = currentBlock; + currentBlock = new Block(level); + oldBlock.addChild(currentBlock); + blocks.push(currentBlock); + levels.push(level); + } else if (level < curLevel) { + var added = false; + + var k = levels.length - 1; + for (; k >= 0; --k) { + if (levels[k] == level) { + currentBlock = new Block(level); + blocks.push(currentBlock); + levels.push(level); + if (blocks[k].parent != null) { blocks[k].parent.addChild(currentBlock); } + added = true; + break + } + } + + if (!added) { + errors.push('Error: Invalid indentation at line ' + i + ': ' + line); + return + } + } + + currentBlock.lines.push(line.replace(regex$1['trim'], '')); + curLevel = level; + } + + return result } function processValue(val) { - val = val.replace(regex$1["trim"], ""); - var m = null; + val = val.replace(regex$1['trim'], ''); + var m = null; - if(val == 'true') { - return true; - } else if(val == 'false') { - return false; - } else if(val == '.NaN') { - return Number.NaN; - } else if(val == 'null') { - return null; - } else if(val == '.inf') { - return Number.POSITIVE_INFINITY; - } else if(val == '-.inf') { - return Number.NEGATIVE_INFINITY; - } else if(m = val.match(regex$1["dashesString"])) { - return m[1]; - } else if(m = val.match(regex$1["quotesString"])) { - return m[1]; - } else if(m = val.match(regex$1["float"])) { - return parseFloat(m[0]); - } else if(m = val.match(regex$1["integer"])) { - return parseInt(m[0]); - } else if( !isNaN(m = Date.parse(val))) { - return new Date(m); - } else if(m = val.match(regex$1["single_key_value"])) { - var res = {}; - res[m[1]] = processValue(m[2]); - return res; - } else if(m = val.match(regex$1["array"])){ - var count = 0, c = ' '; - var res = []; - var content = ""; - var str = false; - for(var j = 0, lenJ = m[1].length; j < lenJ; ++j) { - c = m[1][j]; - if(c == '\'' || c == '"') { - if(str === false) { - str = c; - content += c; - continue; - } else if((c == '\'' && str == '\'') || (c == '"' && str == '"')) { - str = false; - content += c; - continue; - } - } else if(str === false && (c == '[' || c == '{')) { - ++count; - } else if(str === false && (c == ']' || c == '}')) { - --count; - } else if(str === false && count == 0 && c == ',') { - res.push(processValue(content)); - content = ""; - continue; - } - - content += c; + if (val == 'true') { + return true + } else if (val == 'false') { + return false + } else if (val == '.NaN') { + return Number.NaN + } else if (val == 'null') { + return null + } else if (val == '.inf') { + return Number.POSITIVE_INFINITY + } else if (val == '-.inf') { + return Number.NEGATIVE_INFINITY + } else if ((m = val.match(regex$1['dashesString']))) { + return m[1] + } else if ((m = val.match(regex$1['quotesString']))) { + return m[1] + } else if ((m = val.match(regex$1['float']))) { + return parseFloat(m[0]) + } else if ((m = val.match(regex$1['integer']))) { + return parseInt(m[0]) + } else if (!isNaN((m = Date.parse(val)))) { + return new Date(m) + } else if ((m = val.match(regex$1['single_key_value']))) { + var res = {}; + res[m[1]] = processValue(m[2]); + return res + } else if ((m = val.match(regex$1['array']))) { + var count = 0, + c = ' '; + var res = []; + var content = ''; + var str = false; + for (var j = 0, lenJ = m[1].length; j < lenJ; ++j) { + c = m[1][j]; + if (c == "'" || c == '"') { + if (str === false) { + str = c; + content += c; + continue + } else if ((c == "'" && str == "'") || (c == '"' && str == '"')) { + str = false; + content += c; + continue } + } else if (str === false && (c == '[' || c == '{')) { + ++count; + } else if (str === false && (c == ']' || c == '}')) { + --count; + } else if (str === false && count == 0 && c == ',') { + res.push(processValue(content)); + content = ''; + continue + } - if(content.length > 0) - { res.push(processValue(content)); } - return res; - } else if(m = val.match(regex$1["map"])){ - var count = 0, c = ' '; - var res = []; - var content = ""; - var str = false; - for(var j = 0, lenJ = m[1].length; j < lenJ; ++j) { - c = m[1][j]; - if(c == '\'' || c == '"') { - if(str === false) { - str = c; - content += c; - continue; - } else if((c == '\'' && str == '\'') || (c == '"' && str == '"')) { - str = false; - content += c; - continue; - } - } else if(str === false && (c == '[' || c == '{')) { - ++count; - } else if(str === false && (c == ']' || c == '}')) { - --count; - } else if(str === false && count == 0 && c == ',') { - res.push(content); - content = ""; - continue; - } + content += c; + } - content += c; + if (content.length > 0) { res.push(processValue(content)); } + return res + } else if ((m = val.match(regex$1['map']))) { + var count = 0, + c = ' '; + var res = []; + var content = ''; + var str = false; + for (var j = 0, lenJ = m[1].length; j < lenJ; ++j) { + c = m[1][j]; + if (c == "'" || c == '"') { + if (str === false) { + str = c; + content += c; + continue + } else if ((c == "'" && str == "'") || (c == '"' && str == '"')) { + str = false; + content += c; + continue } + } else if (str === false && (c == '[' || c == '{')) { + ++count; + } else if (str === false && (c == ']' || c == '}')) { + --count; + } else if (str === false && count == 0 && c == ',') { + res.push(content); + content = ''; + continue + } - if(content.length > 0) - { res.push(content); } + content += c; + } - var newRes = {}; - for(var j = 0, lenJ = res.length; j < lenJ; ++j) { - if(m = res[j].match(regex$1["key_value"])) { - newRes[m[1]] = processValue(m[2]); - } - } + if (content.length > 0) { res.push(content); } - return newRes; - } else - { return val; } + var newRes = {}; + for (var j = 0, lenJ = res.length; j < lenJ; ++j) { + if ((m = res[j].match(regex$1['key_value']))) { + newRes[m[1]] = processValue(m[2]); + } + } + + return newRes + } else { return val } } function processFoldedBlock(block) { - var lines = block.lines; - var children = block.children; - var str = lines.join(" "); - var chunks = [str]; - for(var i = 0, len = children.length; i < len; ++i) { - chunks.push(processFoldedBlock(children[i])); - } - return chunks.join("\n"); + var lines = block.lines; + var children = block.children; + var str = lines.join(' '); + var chunks = [str]; + for (var i = 0, len = children.length; i < len; ++i) { + chunks.push(processFoldedBlock(children[i])); + } + return chunks.join('\n') } function processLiteralBlock(block) { - var lines = block.lines; - var children = block.children; - var str = lines.join("\n"); - for(var i = 0, len = children.length; i < len; ++i) { - str += processLiteralBlock(children[i]); - } - return str; + var lines = block.lines; + var children = block.children; + var str = lines.join('\n'); + for (var i = 0, len = children.length; i < len; ++i) { + str += processLiteralBlock(children[i]); + } + return str } function processBlock(blocks) { - var m = null; - var res = {}; - var lines = null; - var children = null; - var currentObj = null; + var m = null; + var res = {}; + var lines = null; + var children = null; + var currentObj = null; - var level = -1; + var level = -1; - var processedBlocks = []; + var processedBlocks = []; - var isMap = true; + var isMap = true; - for(var j = 0, lenJ = blocks.length; j < lenJ; ++j) { + for (var j = 0, lenJ = blocks.length; j < lenJ; ++j) { + if (level != -1 && level != blocks[j].level) { continue } - if(level != -1 && level != blocks[j].level) - { continue; } + processedBlocks.push(j); - processedBlocks.push(j); + level = blocks[j].level; + lines = blocks[j].lines; + children = blocks[j].children; + currentObj = null; - level = blocks[j].level; - lines = blocks[j].lines; - children = blocks[j].children; - currentObj = null; + for (var i = 0, len = lines.length; i < len; ++i) { + var line = lines[i]; - for(var i = 0, len = lines.length; i < len; ++i) { - var line = lines[i]; + if ((m = line.match(regex$1['key']))) { + var key = m[1]; - if(m = line.match(regex$1["key"])) { - var key = m[1]; - - if(key[0] == '-') { - key = key.replace(regex$1["item"], ""); - if (isMap) { - isMap = false; - if (typeof(res.length) === "undefined") { - res = []; - } - } - if(currentObj != null) { res.push(currentObj); } - currentObj = {}; - isMap = true; - } - - if(typeof m[2] != "undefined") { - var value = m[2].replace(regex$1["trim"], ""); - if(value[0] == '&') { - var nb = processBlock(children); - if(currentObj != null) { currentObj[key] = nb; } - else { res[key] = nb; } - reference_blocks[value.substr(1)] = nb; - } else if(value[0] == '|') { - if(currentObj != null) { currentObj[key] = processLiteralBlock(children.shift()); } - else { res[key] = processLiteralBlock(children.shift()); } - } else if(value[0] == '*') { - var v = value.substr(1); - var no = {}; - - if(typeof reference_blocks[v] == "undefined") { - errors.push("Reference '" + v + "' not found!"); - } else { - for(var k in reference_blocks[v]) { - no[k] = reference_blocks[v][k]; - } - - if(currentObj != null) { currentObj[key] = no; } - else { res[key] = no; } - } - } else if(value[0] == '>') { - if(currentObj != null) { currentObj[key] = processFoldedBlock(children.shift()); } - else { res[key] = processFoldedBlock(children.shift()); } - } else { - if(currentObj != null) { currentObj[key] = processValue(value); } - else { res[key] = processValue(value); } - } - } else { - if(currentObj != null) { currentObj[key] = processBlock(children); } - else { res[key] = processBlock(children); } - } - } else if(line.match(/^-\s*$/)) { - if (isMap) { - isMap = false; - if (typeof(res.length) === "undefined") { - res = []; - } - } - if(currentObj != null) { res.push(currentObj); } - currentObj = {}; - isMap = true; - continue; - } else if(m = line.match(/^-\s*(.*)/)) { - if(currentObj != null) - { currentObj.push(processValue(m[1])); } - else { - if (isMap) { - isMap = false; - if (typeof(res.length) === "undefined") { - res = []; - } - } - res.push(processValue(m[1])); - } - continue; + if (key[0] == '-') { + key = key.replace(regex$1['item'], ''); + if (isMap) { + isMap = false; + if (typeof res.length === 'undefined') { + res = []; } + } + if (currentObj != null) { res.push(currentObj); } + currentObj = {}; + isMap = true; } - if(currentObj != null) { - if (isMap) { - isMap = false; - if (typeof(res.length) === "undefined") { - res = []; - } + if (typeof m[2] != 'undefined') { + var value = m[2].replace(regex$1['trim'], ''); + if (value[0] == '&') { + var nb = processBlock(children); + if (currentObj != null) { currentObj[key] = nb; } + else { res[key] = nb; } + reference_blocks[value.substr(1)] = nb; + } else if (value[0] == '|') { + if (currentObj != null) + { currentObj[key] = processLiteralBlock(children.shift()); } + else { res[key] = processLiteralBlock(children.shift()); } + } else if (value[0] == '*') { + var v = value.substr(1); + var no = {}; + + if (typeof reference_blocks[v] == 'undefined') { + errors.push("Reference '" + v + "' not found!"); + } else { + for (var k in reference_blocks[v]) { + no[k] = reference_blocks[v][k]; + } + + if (currentObj != null) { currentObj[key] = no; } + else { res[key] = no; } } - res.push(currentObj); + } else if (value[0] == '>') { + if (currentObj != null) + { currentObj[key] = processFoldedBlock(children.shift()); } + else { res[key] = processFoldedBlock(children.shift()); } + } else { + if (currentObj != null) { currentObj[key] = processValue(value); } + else { res[key] = processValue(value); } + } + } else { + if (currentObj != null) { currentObj[key] = processBlock(children); } + else { res[key] = processBlock(children); } } + } else if (line.match(/^-\s*$/)) { + if (isMap) { + isMap = false; + if (typeof res.length === 'undefined') { + res = []; + } + } + if (currentObj != null) { res.push(currentObj); } + currentObj = {}; + isMap = true; + continue + } else if ((m = line.match(/^-\s*(.*)/))) { + if (currentObj != null) { currentObj.push(processValue(m[1])); } + else { + if (isMap) { + isMap = false; + if (typeof res.length === 'undefined') { + res = []; + } + } + res.push(processValue(m[1])); + } + continue + } } - for(var j = processedBlocks.length - 1; j >= 0; --j) { - blocks.splice.call(blocks, processedBlocks[j], 1); + if (currentObj != null) { + if (isMap) { + isMap = false; + if (typeof res.length === 'undefined') { + res = []; + } + } + res.push(currentObj); } + } - return res; + for (var j = processedBlocks.length - 1; j >= 0; --j) { + blocks.splice.call(blocks, processedBlocks[j], 1); + } + + return res } function semanticAnalysis(blocks) { - var res = processBlock(blocks.children); - return res; + var res = processBlock(blocks.children); + return res } function preProcess(src) { - var m; - var lines = src.split("\n"); + var m; + var lines = src.split('\n'); - var r = regex$1["comment"]; + var r = regex$1['comment']; - for(var i in lines) { - if(m = lines[i].match(r)) { -/* var cmt = ""; + for (var i in lines) { + if ((m = lines[i].match(r))) { + /* var cmt = ""; if(typeof m[3] != "undefined") lines[i] = m[1]; else if(typeof m[3] != "undefined") @@ -419,25 +414,25 @@ function preProcess(src) { else lines[i] = ""; */ - if(typeof m[3] !== "undefined") { - lines[i] = m[0].substr(0, m[0].length - m[3].length); - } - } + if (typeof m[3] !== 'undefined') { + lines[i] = m[0].substr(0, m[0].length - m[3].length); + } } + } - return lines.join("\n"); + return lines.join('\n') } function load(str) { - errors = []; - reference_blocks = []; - processing_time = (new Date()).getTime(); - var pre = preProcess(str); - var doc = parser$1(pre); - var res = semanticAnalysis(doc); - processing_time = (new Date()).getTime() - processing_time; + errors = []; + reference_blocks = []; + processing_time = new Date().getTime(); + var pre = preProcess(str); + var doc = parser$1(pre); + var res = semanticAnalysis(doc); + processing_time = new Date().getTime() - processing_time; - return res; + return res } /** @@ -445,7 +440,8 @@ function load(str) { */ /* eslint-disable */ var optionalByteOrderMark = '\\ufeff?'; -var pattern = '^(' + +var pattern = + '^(' + optionalByteOrderMark + '(= yaml =|---)' + '$([\\s\\S]*?)' + @@ -457,7 +453,7 @@ var pattern = '^(' + // need to be moved down into the functions that use it. var regex = new RegExp(pattern, 'm'); -function extractor (string) { +function extractor(string) { string = string || ''; var lines = string.split(/(\r?\n)/); @@ -468,7 +464,7 @@ function extractor (string) { } } -function parse (string) { +function parse(string) { var match = regex.exec(string); if (!match) { diff --git a/lib/plugins/ga.js b/lib/plugins/ga.js index 3befbd1..2d3bbcb 100644 --- a/lib/plugins/ga.js +++ b/lib/plugins/ga.js @@ -11,9 +11,11 @@ function appendScript () { function init (id) { appendScript(); - window.ga = window.ga || function () { - (window.ga.q = window.ga.q || []).push(arguments); - }; + window.ga = + window.ga || + function () { + (window.ga.q = window.ga.q || []).push(arguments); + }; window.ga.l = Number(new Date()); window.ga('create', id, 'auto'); } diff --git a/lib/plugins/search.js b/lib/plugins/search.js index bd5f584..1cb5344 100644 --- a/lib/plugins/search.js +++ b/lib/plugins/search.js @@ -180,7 +180,7 @@ function tpl (opts, defaultValue) { var html = "" + - '
            ' + + '
            ' + ''; var el = Docsify.dom.create('div', html); var aside = Docsify.dom.find('aside'); @@ -215,8 +215,11 @@ function bindEvents () { var timeId; // Prevent to Fold sidebar - Docsify.dom.on($search, 'click', - function (e) { return e.target.tagName !== 'A' && e.stopPropagation(); }); + Docsify.dom.on( + $search, + 'click', + function (e) { return e.target.tagName !== 'A' && e.stopPropagation(); } + ); Docsify.dom.on($input, 'input', function (e) { clearTimeout(timeId); timeId = setTimeout(function (_) { return doSearch(e.target.value.trim()); }, 100); diff --git a/packages/docsify-server-renderer/package-lock.json b/packages/docsify-server-renderer/package-lock.json index a0fd181..5e00438 100644 --- a/packages/docsify-server-renderer/package-lock.json +++ b/packages/docsify-server-renderer/package-lock.json @@ -37,5 +37,5 @@ "integrity": "sha1-6DWIAbhrg7F1YNTjw4LXrvIQCUQ=" } }, - "version": "4.3.6" + "version": "4.3.7" } diff --git a/packages/docsify-server-renderer/package.json b/packages/docsify-server-renderer/package.json index ed2a459..ffc545b 100644 --- a/packages/docsify-server-renderer/package.json +++ b/packages/docsify-server-renderer/package.json @@ -1,6 +1,6 @@ { "name": "docsify-server-renderer", - "version": "4.3.6", + "version": "4.3.7", "description": "docsify server renderer", "author": { "name": "qingwei-li",