From 0709239c773f9474b86b523b0bdb592b6ee5754b Mon Sep 17 00:00:00 2001 From: "cinwell.li" Date: Tue, 24 Jan 2017 22:29:50 +0800 Subject: [PATCH 001/826] 1.9 (#62) * Destroys the vue instance when the route is changed * Add new doc helper * Update docs --- CHANGELOG.md | 10 ++++++++ docs/README.md | 45 +++++++++++++++++++++++++++++--- docs/zh-cn.md | 50 +++++++++++++++++++++++++++++++++--- src/render.js | 16 +++++++----- src/themes/basic/_layout.css | 6 +++++ src/tpl.js | 3 +++ 6 files changed, 118 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1991e5d..32a8839 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ + +### Bug fixes +- Destroys the vue instance when the route is changed + +### Features +- Add `!>` and `?>` doc helper. + +### Break change +- Remove `!` doc helper. + ## 1.8.0 ### Bug fixes - Using `v-pre` skip compilation. diff --git a/docs/README.md b/docs/README.md index 56cdff7..e28164f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -160,10 +160,10 @@ window.$docsify = { ### Doc Helpers #### p.tip -'! ' add your content will rendered as `

content

` +`!> ` add your content will rendered as `

content

` ```markdown -! Important **information** +!> Important **information** ``` It will be rendered @@ -174,9 +174,48 @@ It will be rendered e.g. -! Important **information** +!> Important **information** +#### p.warn + +```markdown +?> todo info +``` + +?> todo info + +### Combining Vue +We can write the Vue syntax directly in the markdown file, when the Vue library is loaded into `index.html`. Default will automatically initialize a Vue instance, of course, we can also manually. + +index.html +```html + + +``` + +```markdown + +``` + +Manual initialization + +```markdown +
+ +

Hello, {{ msg }}

+
+ + +``` + ## Options You can add configurations in the script tag attributes or with `window.$docsify`. diff --git a/docs/zh-cn.md b/docs/zh-cn.md index 31a740b..da83dff 100644 --- a/docs/zh-cn.md +++ b/docs/zh-cn.md @@ -166,10 +166,10 @@ window.$docsify = { ### 文档助手 #### 内置「提示」语法 -感叹号加空格,后面接内容,会渲染成带 tip 类名的段落。 +`!>`后面接内容,会渲染成带 tip 类名的段落。 ```markdown -! 提示信息,**支持其他 markdown 语法** +!> 提示信息,**支持其他 markdown 语法** ``` 将被渲染成 @@ -180,7 +180,51 @@ window.$docsify = { 效果 -! 适合显示醒目的内容 +!> 适合显示醒目的内容 + +#### 内置「警示」语法 + +`?>`后面接内容,会渲染成带 warn 类名的段落。 + +```markdown +?> 警示内容样式 +``` + +效果 + +?> 警示内容样式 + +### 结合 Vue + +`index.html` 内引入 Vue 后,可以在文档里直接写 Vue 语法。默认会自己初始化一个 Vue 示例,当然我们也可以手动初始化一个实例。 + +index.html +```html + + +``` + +```markdown + +``` + +手动初始化示例 + +```markdown +
+ +

Hello, {{ msg }}

+
+ + +``` ## 配置参数 diff --git a/src/render.js b/src/render.js index 7014aaf..fc0ceb4 100644 --- a/src/render.js +++ b/src/render.js @@ -8,7 +8,6 @@ let OPTIONS = {} let markdown = marked let toc = [] const CACHE = {} -const TIP_RE = /^!\s/ const renderTo = function (dom, content) { dom = typeof dom === 'object' ? dom : document.querySelector(dom) @@ -56,8 +55,12 @@ export function init (options) { return `${text}` } renderer.paragraph = function (text) { - const isTip = TIP_RE.test(text) - return isTip ? `

${text.replace(TIP_RE, '')}

` : `

${text}

` + if (/^!>/.test(text)) { + return tpl.helper('tip', text) + } else if (/^\?>/.test(text)) { + return tpl.helper('warn', text) + } + return `

${text}

` } if (typeof OPTIONS.markdown === 'function') { @@ -100,12 +103,13 @@ export function renderArticle (content) { if (content && typeof Vue !== 'undefined') { const script = content.match(']*?>([^<]+)') - script && document.body.querySelector('article script').remove() - const vm = script + script && document.body.querySelector('article script').remove() + CACHE.vm && CACHE.vm.$destroy() + CACHE.vm = script ? new Function(`return ${script[1].trim()}`)() : new Vue({ el: 'main' }) // eslint-disable-line - vm && vm.$nextTick(_ => event.scrollActiveSidebar()) + CACHE.vm && CACHE.vm.$nextTick(_ => event.scrollActiveSidebar()) } if (OPTIONS.auto2top) setTimeout(() => event.scroll2Top(OPTIONS.auto2top), 0) } diff --git a/src/themes/basic/_layout.css b/src/themes/basic/_layout.css index b02891d..cde49f6 100644 --- a/src/themes/basic/_layout.css +++ b/src/themes/basic/_layout.css @@ -354,6 +354,12 @@ body.sticky { } } +.markdown-section p.warn { + padding: 1em; + background: rgba($color-primary, 0.1); + border-radius: 2px; +} + body.close { .sidebar { transform: translateX(-$sidebar-width); diff --git a/src/tpl.js b/src/tpl.js index 6a35f68..db83258 100644 --- a/src/tpl.js +++ b/src/tpl.js @@ -72,3 +72,6 @@ export function tree (toc, tpl = '') { return tpl } +export function helper (className, content) { + return `

${content.slice(5).trim()}

` +} From 98d1b19bea618911c49eb9759c54da11497bcda5 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Tue, 24 Jan 2017 22:31:27 +0800 Subject: [PATCH 002/826] bump 1.9.0 --- CHANGELOG.md | 1 + docs/_coverpage.md | 2 +- lib/docsify.js | 20 ++++++++++++++------ lib/docsify.min.js | 4 ++-- lib/themes/buble.css | 2 +- lib/themes/pure.css | 2 +- lib/themes/vue.css | 2 +- 7 files changed, 21 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32a8839..67c3fba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,4 @@ +## 1.9.0 ### Bug fixes - Destroys the vue instance when the route is changed diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 89b6ea8..4847726 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 1.8.0 +# docsify 1.9.0 > A magical documentation site generator. diff --git a/lib/docsify.js b/lib/docsify.js index ff1a8c7..79262f9 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -2463,11 +2463,14 @@ function tree (toc, tpl) { return tpl } +function helper (className, content) { + return ("

" + (content.slice(5).trim()) + "

") +} + var OPTIONS$1 = {}; var markdown = marked; var toc = []; var CACHE = {}; -var TIP_RE = /^!\s/; var renderTo = function (dom, content) { dom = typeof dom === 'object' ? dom : document.querySelector(dom); @@ -2517,8 +2520,12 @@ function init (options) { return ("" + text + "") }; renderer.paragraph = function (text) { - var isTip = TIP_RE.test(text); - return isTip ? ("

" + (text.replace(TIP_RE, '')) + "

") : ("

" + text + "

") + if (/^!>/.test(text)) { + return helper('tip', text) + } else if (/^\?>/.test(text)) { + return helper('warn', text) + } + return ("

" + text + "

") }; if (typeof OPTIONS$1.markdown === 'function') { @@ -2561,12 +2568,13 @@ function renderArticle (content) { if (content && typeof Vue !== 'undefined') { var script = content.match(']*?>([^<]+)'); - script && document.body.querySelector('article script').remove(); - var vm = script + script && document.body.querySelector('article script').remove(); + CACHE.vm && CACHE.vm.$destroy(); + CACHE.vm = script ? new Function(("return " + (script[1].trim())))() : new Vue({ el: 'main' }); // eslint-disable-line - vm && vm.$nextTick(function (_) { return scrollActiveSidebar(); }); + CACHE.vm && CACHE.vm.$nextTick(function (_) { return scrollActiveSidebar(); }); } if (OPTIONS$1.auto2top) { setTimeout(function () { return scroll2Top(OPTIONS$1.auto2top); }, 0); } } diff --git a/lib/docsify.min.js b/lib/docsify.min.js index 11274b2..65859bb 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(E===e.hash&&!r($))return $;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,$=t,E=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(){function e(){for(var e,r=document.body.scrollTop,i=0,s=n.length;ir){e||(e=l);break}e=l}if(e){var c=a[e.getAttribute("data-id")];c&&c!==o&&(o&&o.classList.remove("active"),c.classList.add("active"),o=c,!t&&!d.noSticky&&o.scrollIntoView(!1))}}if(!i()){for(var t=!1,n=document.querySelectorAll(".anchor"),r=document.querySelector("aside.sidebar"),a={},s=r.querySelectorAll("li"),o=r.querySelector("li.active"),l=0,c=s.length;l=e||d.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),d.noSticky=!1):(document.body.classList.remove("sticky"),d.noSticky=!0)}()}function g(e,t){return t={exports:{}},e(t,t.exports),t.exports}function h(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function f(e){var t=e+'';return(i()?t+"
":"
"+t)+'
\n
\n
\n
'}function m(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
\n
\n
\n
'}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
  • '+e.title+"
  • ",e.children&&(t+='
    • '+v(e.children)+"
    ")}),t):""}function y(e){M=e;var t=new j.Renderer;t.heading=function(e,t){var n=s(e),r="";return M.router&&(r="#/"+a()),P.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=O.highlight(e,O.languages[t]||O.languages.markup);return'
    '+n+"
    "},t.link=function(e,t,n){return M.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){var t=F.test(e);return t?'

    '+e.replace(F,"")+"

    ":"

    "+e+"

    "},"function"==typeof M.markdown?(N.setOptions({renderer:t}),N=M.markdown.call(this,N)):N.setOptions(q({renderer:t},M.markdown))}function k(e,t){var n=document.querySelector("nav")||document.createElement("nav");M.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=h(M.repo)+(M.coverpage?m():"")+f(M.sidebarToggle?b():""),document.body.insertBefore(n,document.body.children[0]),u("button.sidebar-toggle"),M.coverpage?!i()&&window.addEventListener("scroll",d):document.body.classList.add("sticky")}function w(e){if(W("article",e?N(e):"not found"),M.sidebar||M.loadSidebar||L(),e&&"undefined"!=typeof Vue){var t=e.match("]*?>([^<]+)");t&&document.body.querySelector("article script").remove();var n=t?new Function("return "+t[1].trim())():new Vue({el:"main"});n&&n.$nextTick(function(e){return o()})}M.auto2top&&setTimeout(function(){return p(M.auto2top)},0)}function x(e){I.navbar&&I.navbar===e||(I.navbar=e,e&&W("nav",N(e)),c("nav"))}function L(e){var n;e?(n=N(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=M.sidebar?v(M.sidebar,"
      "):v(t(P,M.maxLevel),"
        "),n=(M.name?'

        '+M.name+"

        ":"")+n,W("aside.sidebar",n);var r=c("aside.sidebar",!0);r&&S(r),P=[],o()}function S(e){M.subMaxLevel&&(e.parentNode.innerHTML+=v(t(P,M.subMaxLevel),"
          "))}function _(e){if(_.dom=_.dom||document.querySelector("section.cover"),!e)return void _.dom.classList.remove("show");if(_.dom.classList.add("show"),_.rendered)return d();var t=P.slice(),n=N(e),r=n.trim().match('

          ([^<]*?)

          $');if(P=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}W(".cover-main",n),_.rendered=!0,d()}function C(e){var t,n=e.loaded,r=e.total,a=e.step;if(!I.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),I.loading=i}a?(t=parseInt(I.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),I.loading.style.opacity=1,I.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(C.cacheTimeout),C.cacheTimeout=setTimeout(function(e){I.loading.style.opacity=0,I.loading.style.width="0%"},200))}var $=null,E=null;s.clear=function(){s.occurrences={}};var A=Object.prototype.hasOwnProperty,q=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

          "+i(e.message+"",!0)+"
          ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
          \n":"
          "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
          "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof T&&(T.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,a=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(r=(t.className.match(s)||[,""])[1]),!r){var o=(a.match(/\.(\w+)$/)||[,""])[1];r=e[o]||o}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",a,!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))}()}),M={},N=j,P=[],I={},F=/^!\s/,W=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,s.clear(),e},z=q({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,sidebar:"",sidebarToggle:!1,loadSidebar:null,loadNavbar:null,router:!1,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",nameLink:window.location.pathname},window.$docsify),R=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(R){for(var B in z){var D=R.getAttribute("data-"+n(B));z[B]=r(D)?z[B]:D||!0}z.loadSidebar===!0&&(z.loadSidebar="_sidebar.md"),z.loadNavbar===!0&&(z.loadNavbar="_navbar.md"),z.coverpage===!0&&(z.coverpage="_coverpage.md"),z.repo===!0&&(z.repo=""),z.name===!0&&(z.name=""),z.sidebar&&(z.sidebar=window[z.sidebar])}y(z);var H=null,G=null,V=function(t){var n=z.basePath+a();if(H===n)return t();var r=H=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var i;i=n?/\/$/.test(n)?n+"README.md":n+".md":z.homepage||"README.md",z.coverpage&&i===z.homepage&&e(z.coverpage).then(_),G&&G.abort&&G.abort(),G=e(i,"GET",C),G.then(function(n){if(w(n),z.coverpage&&i!==z.homepage&&_(),z.loadSidebar){var a=function(e){L(e),t()};e(r+z.loadSidebar).then(a,function(t){return e(z.loadSidebar).then(a)})}else t()},function(e){return w(null)}),z.loadNavbar&&e(r+z.loadNavbar).then(x,function(t){return e(z.loadNavbar).then(x)})},Z=function(){var e=document.querySelector(z.el)||document.body,t=e!==document.body,n=function(){V(function(e){l(),c("nav")})};k(e,t),n(),z.router&&(/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n))},U=Z();return U}(); +var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(A===e.hash&&!r(E))return E;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,E=t,A=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(){function e(){for(var e,r=document.body.scrollTop,i=0,s=n.length;ir){e||(e=l);break}e=l}if(e){var c=a[e.getAttribute("data-id")];c&&c!==o&&(o&&o.classList.remove("active"),c.classList.add("active"),o=c,!t&&!d.noSticky&&o.scrollIntoView(!1))}}if(!i()){for(var t=!1,n=document.querySelectorAll(".anchor"),r=document.querySelector("aside.sidebar"),a={},s=r.querySelectorAll("li"),o=r.querySelector("li.active"),l=0,c=s.length;l=e||d.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),d.noSticky=!1):(document.body.classList.remove("sticky"),d.noSticky=!0)}()}function g(e,t){return t={exports:{}},e(t,t.exports),t.exports}function h(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function f(e){var t=e+'';return(i()?t+"
          ":"
          "+t)+'
          \n
          \n
          \n
          '}function m(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
          \n
          \n
          \n
          '}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
        • '+e.title+"
        • ",e.children&&(t+='
          • '+v(e.children)+"
          ")}),t):""}function y(e,t){return'

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

          "}function k(e){N=e;var t=new O.Renderer;t.heading=function(e,t){var n=s(e),r="";return N.router&&(r="#/"+a()),I.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=M.highlight(e,M.languages[t]||M.languages.markup);return'
          '+n+"
          "},t.link=function(e,t,n){return N.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?y("tip",e):/^\?>/.test(e)?y("warn",e):"

          "+e+"

          "},"function"==typeof N.markdown?(P.setOptions({renderer:t}),P=N.markdown.call(this,P)):P.setOptions(T({renderer:t},N.markdown))}function w(e,t){var n=document.querySelector("nav")||document.createElement("nav");N.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=h(N.repo)+(N.coverpage?m():"")+f(N.sidebarToggle?b():""),document.body.insertBefore(n,document.body.children[0]),u("button.sidebar-toggle"),N.coverpage?!i()&&window.addEventListener("scroll",d):document.body.classList.add("sticky")}function x(e){if(W("article",e?P(e):"not found"),N.sidebar||N.loadSidebar||S(),e&&"undefined"!=typeof Vue){var t=e.match("]*?>([^<]+)");t&&document.body.querySelector("article script").remove(),F.vm&&F.vm.$destroy(),F.vm=t?new Function("return "+t[1].trim())():new Vue({el:"main"}),F.vm&&F.vm.$nextTick(function(e){return o()})}N.auto2top&&setTimeout(function(){return p(N.auto2top)},0)}function L(e){F.navbar&&F.navbar===e||(F.navbar=e,e&&W("nav",P(e)),c("nav"))}function S(e){var n;e?(n=P(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=N.sidebar?v(N.sidebar,"
            "):v(t(I,N.maxLevel),"
              "),n=(N.name?'

              '+N.name+"

              ":"")+n,W("aside.sidebar",n);var r=c("aside.sidebar",!0);r&&_(r),I=[],o()}function _(e){N.subMaxLevel&&(e.parentNode.innerHTML+=v(t(I,N.subMaxLevel),"
                "))}function C(e){if(C.dom=C.dom||document.querySelector("section.cover"),!e)return void C.dom.classList.remove("show");if(C.dom.classList.add("show"),C.rendered)return d();var t=I.slice(),n=P(e),r=n.trim().match('

                ([^<]*?)

                $');if(I=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}W(".cover-main",n),C.rendered=!0,d()}function $(e){var t,n=e.loaded,r=e.total,a=e.step;if(!F.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),F.loading=i}a?(t=parseInt(F.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),F.loading.style.opacity=1,F.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout($.cacheTimeout),$.cacheTimeout=setTimeout(function(e){F.loading.style.opacity=0,F.loading.style.width="0%"},200))}var E=null,A=null;s.clear=function(){s.occurrences={}};var q=Object.prototype.hasOwnProperty,T=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                "+i(e.message+"",!0)+"
                ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                \n":"
                "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof j&&(j.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,a=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(r=(t.className.match(s)||[,""])[1]),!r){var o=(a.match(/\.(\w+)$/)||[,""])[1];r=e[o]||o}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",a,!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))}()}),N={},P=O,I=[],F={},W=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,s.clear(),e},z=T({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,sidebar:"",sidebarToggle:!1,loadSidebar:null,loadNavbar:null,router:!1,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",nameLink:window.location.pathname},window.$docsify),R=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(R){for(var B in z){var D=R.getAttribute("data-"+n(B));z[B]=r(D)?z[B]:D||!0}z.loadSidebar===!0&&(z.loadSidebar="_sidebar.md"),z.loadNavbar===!0&&(z.loadNavbar="_navbar.md"),z.coverpage===!0&&(z.coverpage="_coverpage.md"),z.repo===!0&&(z.repo=""),z.name===!0&&(z.name=""),z.sidebar&&(z.sidebar=window[z.sidebar])}k(z);var H=null,G=null,V=function(t){var n=z.basePath+a();if(H===n)return t();var r=H=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var i;i=n?/\/$/.test(n)?n+"README.md":n+".md":z.homepage||"README.md",z.coverpage&&i===z.homepage&&e(z.coverpage).then(C),G&&G.abort&&G.abort(),G=e(i,"GET",$),G.then(function(n){if(x(n),z.coverpage&&i!==z.homepage&&C(),z.loadSidebar){var a=function(e){S(e),t()};e(r+z.loadSidebar).then(a,function(t){return e(z.loadSidebar).then(a)})}else t()},function(e){return x(null)}),z.loadNavbar&&e(r+z.loadNavbar).then(L,function(t){return e(z.loadNavbar).then(L)})},Z=function(){var e=document.querySelector(z.el)||document.body,t=e!==document.body,n=function(){V(function(e){l(),c("nav")})};w(e,t),n(),z.router&&(/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n))},U=Z();return U}(); diff --git a/lib/themes/buble.css b/lib/themes/buble.css index 5d896dc..79dfb25 100644 --- a/lib/themes/buble.css +++ b/lib/themes/buble.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css?family=Inconsolata|Inconsolata-Bold");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.progress{background-color:#0074d9;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#0074d9}nav a.active{border-bottom:2px solid #0074d9}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #0074d9;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#0074d9}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:16em;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:calc(16em - 1px);top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #0074d9;box-sizing:border-box;color:#0074d9;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Inconsolata|Inconsolata-Bold");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.progress{background-color:#0074d9;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#0074d9}nav a.active{border-bottom:2px solid #0074d9}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #0074d9;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#0074d9}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:16em;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:calc(16em - 1px);top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,116,217,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #0074d9;box-sizing:border-box;color:#0074d9;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file diff --git a/lib/themes/pure.css b/lib/themes/pure.css index 385caf5..d4d0c05 100644 --- a/lib/themes/pure.css +++ b/lib/themes/pure.css @@ -1 +1 @@ -*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.progress{background-color:#000;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#000}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a:hover{color:#000}nav a.active{color:#000;border-bottom:2px solid #000}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #000;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#000}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:299px;top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#000;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}} \ No newline at end of file +*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.progress{background-color:#000;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#000}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a:hover{color:#000}nav a.active{color:#000;border-bottom:2px solid #000}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #000;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#000}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:299px;top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#000;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,0,0,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}} \ No newline at end of file diff --git a/lib/themes/vue.css b/lib/themes/vue.css index baf00be..5814bb6 100644 --- a/lib/themes/vue.css +++ b/lib/themes/vue.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.progress{background-color:#42b983;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983}nav a.active{border-bottom:2px solid #42b983}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #42b983;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:299px;top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #42b983;box-sizing:border-box;color:#42b983;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#7f8c8d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.progress{background-color:#42b983;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983}nav a.active{border-bottom:2px solid #42b983}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #42b983;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:299px;top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(66,185,131,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #42b983;box-sizing:border-box;color:#42b983;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#7f8c8d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file From 7c4b0b7c7432e14cc74dc48ebeb94d7cac9e117b Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Tue, 24 Jan 2017 22:31:44 +0800 Subject: [PATCH 003/826] -> v1.9.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 47e1e5b..7c09077 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "1.8.0", + "version": "1.9.0", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From ccdc3c855a7b8e3c34b899772c1a46e11e69b3bc Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Wed, 25 Jan 2017 15:07:36 +0800 Subject: [PATCH 004/826] Support emoji, closed #61 --- README.md | 1 + docs/_coverpage.md | 3 ++- src/render.js | 4 ++++ src/themes/basic/_layout.css | 5 +++++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b45afbd..0e1938c 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ - Simple and lightweight (~13kB gzipped) - Multiple themes - Not build static html files +- Support emoji :laughing: ## Quick start Create a `index.html` and using `hash router`. diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 4847726..32859b5 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -5,8 +5,9 @@ > A magical documentation site generator. - Simple and lightweight (~13kB gzipped) -- Multiple themes - Not build static html files +- Support emoji :laughing: +- Multiple themes [GitHub](https://github.com/QingWei-Li/docsify/) diff --git a/src/render.js b/src/render.js index fc0ceb4..51dcc09 100644 --- a/src/render.js +++ b/src/render.js @@ -63,6 +63,10 @@ export function init (options) { return `

                ${text}

                ` } + renderer.text = function (text) { + return text.replace(/:(\S*?):/ig, '$1') + } + if (typeof OPTIONS.markdown === 'function') { markdown.setOptions({ renderer }) markdown = OPTIONS.markdown.call(this, markdown) diff --git a/src/themes/basic/_layout.css b/src/themes/basic/_layout.css index cde49f6..5acaf5e 100644 --- a/src/themes/basic/_layout.css +++ b/src/themes/basic/_layout.css @@ -7,6 +7,11 @@ -webkit-font-smoothing: antialiased; } +.emoji { + height: 1.2em; + vertical-align: middle; +} + .progress { background-color: $color-primary; height: 2px; From 46967e73bf1618b961d97cfb7c5a6bb2a976eb09 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Wed, 25 Jan 2017 15:08:28 +0800 Subject: [PATCH 005/826] bump 1.10.0 --- CHANGELOG.md | 4 ++++ docs/_coverpage.md | 2 +- lib/docsify.js | 4 ++++ lib/docsify.min.js | 4 ++-- lib/themes/buble.css | 2 +- lib/themes/pure.css | 2 +- lib/themes/vue.css | 2 +- 7 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 67c3fba..1733685 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.10.0 +### Features +- Support emoji :laughing: + ## 1.9.0 ### Bug fixes diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 32859b5..043291a 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 1.9.0 +# docsify 1.10.0 > A magical documentation site generator. diff --git a/lib/docsify.js b/lib/docsify.js index 79262f9..4561ff9 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -2528,6 +2528,10 @@ function init (options) { return ("

                " + text + "

                ") }; + renderer.text = function (text) { + return text.replace(/:(\S*?):/ig, '$1') + }; + if (typeof OPTIONS$1.markdown === 'function') { markdown.setOptions({ renderer: renderer }); markdown = OPTIONS$1.markdown.call(this, markdown); diff --git a/lib/docsify.min.js b/lib/docsify.min.js index 65859bb..1186207 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(A===e.hash&&!r(E))return E;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,E=t,A=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(){function e(){for(var e,r=document.body.scrollTop,i=0,s=n.length;ir){e||(e=l);break}e=l}if(e){var c=a[e.getAttribute("data-id")];c&&c!==o&&(o&&o.classList.remove("active"),c.classList.add("active"),o=c,!t&&!d.noSticky&&o.scrollIntoView(!1))}}if(!i()){for(var t=!1,n=document.querySelectorAll(".anchor"),r=document.querySelector("aside.sidebar"),a={},s=r.querySelectorAll("li"),o=r.querySelector("li.active"),l=0,c=s.length;l=e||d.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),d.noSticky=!1):(document.body.classList.remove("sticky"),d.noSticky=!0)}()}function g(e,t){return t={exports:{}},e(t,t.exports),t.exports}function h(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n
                \n \n '):""}function f(e){var t=e+'';return(i()?t+"
                ":"
                "+t)+'
                \n
                \n
                \n
                '}function m(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                \n
                \n
                \n
                '}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
              • '+e.title+"
              • ",e.children&&(t+='
                • '+v(e.children)+"
                ")}),t):""}function y(e,t){return'

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

                "}function k(e){N=e;var t=new O.Renderer;t.heading=function(e,t){var n=s(e),r="";return N.router&&(r="#/"+a()),I.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=M.highlight(e,M.languages[t]||M.languages.markup);return'
                '+n+"
                "},t.link=function(e,t,n){return N.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?y("tip",e):/^\?>/.test(e)?y("warn",e):"

                "+e+"

                "},"function"==typeof N.markdown?(P.setOptions({renderer:t}),P=N.markdown.call(this,P)):P.setOptions(T({renderer:t},N.markdown))}function w(e,t){var n=document.querySelector("nav")||document.createElement("nav");N.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=h(N.repo)+(N.coverpage?m():"")+f(N.sidebarToggle?b():""),document.body.insertBefore(n,document.body.children[0]),u("button.sidebar-toggle"),N.coverpage?!i()&&window.addEventListener("scroll",d):document.body.classList.add("sticky")}function x(e){if(W("article",e?P(e):"not found"),N.sidebar||N.loadSidebar||S(),e&&"undefined"!=typeof Vue){var t=e.match("]*?>([^<]+)");t&&document.body.querySelector("article script").remove(),F.vm&&F.vm.$destroy(),F.vm=t?new Function("return "+t[1].trim())():new Vue({el:"main"}),F.vm&&F.vm.$nextTick(function(e){return o()})}N.auto2top&&setTimeout(function(){return p(N.auto2top)},0)}function L(e){F.navbar&&F.navbar===e||(F.navbar=e,e&&W("nav",P(e)),c("nav"))}function S(e){var n;e?(n=P(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=N.sidebar?v(N.sidebar,"
                  "):v(t(I,N.maxLevel),"
                    "),n=(N.name?'

                    '+N.name+"

                    ":"")+n,W("aside.sidebar",n);var r=c("aside.sidebar",!0);r&&_(r),I=[],o()}function _(e){N.subMaxLevel&&(e.parentNode.innerHTML+=v(t(I,N.subMaxLevel),"
                      "))}function C(e){if(C.dom=C.dom||document.querySelector("section.cover"),!e)return void C.dom.classList.remove("show");if(C.dom.classList.add("show"),C.rendered)return d();var t=I.slice(),n=P(e),r=n.trim().match('

                      ([^<]*?)

                      $');if(I=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}W(".cover-main",n),C.rendered=!0,d()}function $(e){var t,n=e.loaded,r=e.total,a=e.step;if(!F.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),F.loading=i}a?(t=parseInt(F.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),F.loading.style.opacity=1,F.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout($.cacheTimeout),$.cacheTimeout=setTimeout(function(e){F.loading.style.opacity=0,F.loading.style.width="0%"},200))}var E=null,A=null;s.clear=function(){s.occurrences={}};var q=Object.prototype.hasOwnProperty,T=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                      "+i(e.message+"",!0)+"
                      ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                      \n":"
                      "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                      "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof j&&(j.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,a=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(r=(t.className.match(s)||[,""])[1]),!r){var o=(a.match(/\.(\w+)$/)||[,""])[1];r=e[o]||o}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",a,!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))}()}),N={},P=O,I=[],F={},W=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,s.clear(),e},z=T({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,sidebar:"",sidebarToggle:!1,loadSidebar:null,loadNavbar:null,router:!1,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",nameLink:window.location.pathname},window.$docsify),R=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(R){for(var B in z){var D=R.getAttribute("data-"+n(B));z[B]=r(D)?z[B]:D||!0}z.loadSidebar===!0&&(z.loadSidebar="_sidebar.md"),z.loadNavbar===!0&&(z.loadNavbar="_navbar.md"),z.coverpage===!0&&(z.coverpage="_coverpage.md"),z.repo===!0&&(z.repo=""),z.name===!0&&(z.name=""),z.sidebar&&(z.sidebar=window[z.sidebar])}k(z);var H=null,G=null,V=function(t){var n=z.basePath+a();if(H===n)return t();var r=H=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var i;i=n?/\/$/.test(n)?n+"README.md":n+".md":z.homepage||"README.md",z.coverpage&&i===z.homepage&&e(z.coverpage).then(C),G&&G.abort&&G.abort(),G=e(i,"GET",$),G.then(function(n){if(x(n),z.coverpage&&i!==z.homepage&&C(),z.loadSidebar){var a=function(e){S(e),t()};e(r+z.loadSidebar).then(a,function(t){return e(z.loadSidebar).then(a)})}else t()},function(e){return x(null)}),z.loadNavbar&&e(r+z.loadNavbar).then(L,function(t){return e(z.loadNavbar).then(L)})},Z=function(){var e=document.querySelector(z.el)||document.body,t=e!==document.body,n=function(){V(function(e){l(),c("nav")})};w(e,t),n(),z.router&&(/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n))},U=Z();return U}(); +var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(A===e.hash&&!r(E))return E;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,E=t,A=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(){function e(){for(var e,r=document.body.scrollTop,i=0,s=n.length;ir){e||(e=l);break}e=l}if(e){var c=a[e.getAttribute("data-id")];c&&c!==o&&(o&&o.classList.remove("active"),c.classList.add("active"),o=c,!t&&!d.noSticky&&o.scrollIntoView(!1))}}if(!i()){for(var t=!1,n=document.querySelectorAll(".anchor"),r=document.querySelector("aside.sidebar"),a={},s=r.querySelectorAll("li"),o=r.querySelector("li.active"),l=0,c=s.length;l=e||d.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),d.noSticky=!1):(document.body.classList.remove("sticky"),d.noSticky=!0)}()}function g(e,t){return t={exports:{}},e(t,t.exports),t.exports}function h(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function f(e){var t=e+'';return(i()?t+"
                      ":"
                      "+t)+'
                      \n
                      \n
                      \n
                      '}function m(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                      \n
                      \n
                      \n
                      '}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                    • '+e.title+"
                    • ",e.children&&(t+='
                      • '+v(e.children)+"
                      ")}),t):""}function y(e,t){return'

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

                      "}function k(e){N=e;var t=new O.Renderer;t.heading=function(e,t){var n=s(e),r="";return N.router&&(r="#/"+a()),I.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=M.highlight(e,M.languages[t]||M.languages.markup);return'
                      '+n+"
                      "},t.link=function(e,t,n){return N.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?y("tip",e):/^\?>/.test(e)?y("warn",e):"

                      "+e+"

                      "},t.text=function(e){return e.replace(/:(\S*?):/gi,'$1')},"function"==typeof N.markdown?(P.setOptions({renderer:t}),P=N.markdown.call(this,P)):P.setOptions(j({renderer:t},N.markdown))}function w(e,t){var n=document.querySelector("nav")||document.createElement("nav");N.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=h(N.repo)+(N.coverpage?m():"")+f(N.sidebarToggle?b():""),document.body.insertBefore(n,document.body.children[0]),u("button.sidebar-toggle"),N.coverpage?!i()&&window.addEventListener("scroll",d):document.body.classList.add("sticky")}function x(e){if(W("article",e?P(e):"not found"),N.sidebar||N.loadSidebar||S(),e&&"undefined"!=typeof Vue){var t=e.match("]*?>([^<]+)");t&&document.body.querySelector("article script").remove(),F.vm&&F.vm.$destroy(),F.vm=t?new Function("return "+t[1].trim())():new Vue({el:"main"}),F.vm&&F.vm.$nextTick(function(e){return o()})}N.auto2top&&setTimeout(function(){return p(N.auto2top)},0)}function L(e){F.navbar&&F.navbar===e||(F.navbar=e,e&&W("nav",P(e)),c("nav"))}function S(e){var n;e?(n=P(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=N.sidebar?v(N.sidebar,"
                        "):v(t(I,N.maxLevel),"
                          "),n=(N.name?'

                          '+N.name+"

                          ":"")+n,W("aside.sidebar",n);var r=c("aside.sidebar",!0);r&&_(r),I=[],o()}function _(e){N.subMaxLevel&&(e.parentNode.innerHTML+=v(t(I,N.subMaxLevel),"
                            "))}function C(e){if(C.dom=C.dom||document.querySelector("section.cover"),!e)return void C.dom.classList.remove("show");if(C.dom.classList.add("show"),C.rendered)return d();var t=I.slice(),n=P(e),r=n.trim().match('

                            ([^<]*?)

                            $');if(I=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}W(".cover-main",n),C.rendered=!0,d()}function $(e){var t,n=e.loaded,r=e.total,a=e.step;if(!F.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),F.loading=i}a?(t=parseInt(F.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),F.loading.style.opacity=1,F.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout($.cacheTimeout),$.cacheTimeout=setTimeout(function(e){F.loading.style.opacity=0,F.loading.style.width="0%"},200))}var E=null,A=null;s.clear=function(){s.occurrences={}};var q=Object.prototype.hasOwnProperty,j=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                            "+i(e.message+"",!0)+"
                            ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                            \n":"
                            "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                            "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof T&&(T.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,a=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(r=(t.className.match(s)||[,""])[1]),!r){var o=(a.match(/\.(\w+)$/)||[,""])[1];r=e[o]||o}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",a,!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))}()}),N={},P=O,I=[],F={},W=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,s.clear(),e},z=j({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,sidebar:"",sidebarToggle:!1,loadSidebar:null,loadNavbar:null,router:!1,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",nameLink:window.location.pathname},window.$docsify),R=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(R){for(var B in z){var D=R.getAttribute("data-"+n(B));z[B]=r(D)?z[B]:D||!0}z.loadSidebar===!0&&(z.loadSidebar="_sidebar.md"),z.loadNavbar===!0&&(z.loadNavbar="_navbar.md"),z.coverpage===!0&&(z.coverpage="_coverpage.md"),z.repo===!0&&(z.repo=""),z.name===!0&&(z.name=""),z.sidebar&&(z.sidebar=window[z.sidebar])}k(z);var H=null,G=null,V=function(t){var n=z.basePath+a();if(H===n)return t();var r=H=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var i;i=n?/\/$/.test(n)?n+"README.md":n+".md":z.homepage||"README.md",z.coverpage&&i===z.homepage&&e(z.coverpage).then(C),G&&G.abort&&G.abort(),G=e(i,"GET",$),G.then(function(n){if(x(n),z.coverpage&&i!==z.homepage&&C(),z.loadSidebar){var a=function(e){S(e),t()};e(r+z.loadSidebar).then(a,function(t){return e(z.loadSidebar).then(a)})}else t()},function(e){return x(null)}),z.loadNavbar&&e(r+z.loadNavbar).then(L,function(t){return e(z.loadNavbar).then(L)})},Z=function(){var e=document.querySelector(z.el)||document.body,t=e!==document.body,n=function(){V(function(e){l(),c("nav")})};w(e,t),n(),z.router&&(/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n))},U=Z();return U}(); diff --git a/lib/themes/buble.css b/lib/themes/buble.css index 79dfb25..b1fb0ac 100644 --- a/lib/themes/buble.css +++ b/lib/themes/buble.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css?family=Inconsolata|Inconsolata-Bold");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.progress{background-color:#0074d9;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#0074d9}nav a.active{border-bottom:2px solid #0074d9}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #0074d9;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#0074d9}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:16em;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:calc(16em - 1px);top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,116,217,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #0074d9;box-sizing:border-box;color:#0074d9;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Inconsolata|Inconsolata-Bold");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#0074d9;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#0074d9}nav a.active{border-bottom:2px solid #0074d9}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #0074d9;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#0074d9}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:16em;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:calc(16em - 1px);top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,116,217,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #0074d9;box-sizing:border-box;color:#0074d9;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file diff --git a/lib/themes/pure.css b/lib/themes/pure.css index d4d0c05..08103ae 100644 --- a/lib/themes/pure.css +++ b/lib/themes/pure.css @@ -1 +1 @@ -*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.progress{background-color:#000;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#000}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a:hover{color:#000}nav a.active{color:#000;border-bottom:2px solid #000}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #000;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#000}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:299px;top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#000;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,0,0,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}} \ No newline at end of file +*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#000;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#000}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a:hover{color:#000}nav a.active{color:#000;border-bottom:2px solid #000}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #000;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#000}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:299px;top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#000;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,0,0,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}} \ No newline at end of file diff --git a/lib/themes/vue.css b/lib/themes/vue.css index 5814bb6..78462f8 100644 --- a/lib/themes/vue.css +++ b/lib/themes/vue.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.progress{background-color:#42b983;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983}nav a.active{border-bottom:2px solid #42b983}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #42b983;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:299px;top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(66,185,131,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #42b983;box-sizing:border-box;color:#42b983;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#7f8c8d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#42b983;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983}nav a.active{border-bottom:2px solid #42b983}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #42b983;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:299px;top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(66,185,131,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #42b983;box-sizing:border-box;color:#42b983;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#7f8c8d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file From 6d42c6b04a5178307c3b5a9946b79b60a8ccf3b2 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Wed, 25 Jan 2017 15:08:40 +0800 Subject: [PATCH 006/826] -> v1.10.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7c09077..a9f01f0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "1.9.0", + "version": "1.10.0", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From 11f77cd434fcc4ae60afd9fbeba3c89111482638 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Wed, 25 Jan 2017 21:16:53 +0800 Subject: [PATCH 007/826] Fix render emojis --- CHANGELOG.md | 4 ++++ src/render.js | 12 ++++++------ src/util.js | 7 +++++++ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1733685..f4aa307 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.10.1 +### Bug fixes +- Fix render emojis + ## 1.10.0 ### Features - Support emoji :laughing: diff --git a/src/render.js b/src/render.js index 51dcc09..8536203 100644 --- a/src/render.js +++ b/src/render.js @@ -2,7 +2,7 @@ import marked from 'marked' import Prism from 'prismjs' import * as tpl from './tpl' import * as event from './event' -import { genTree, getRoute, isMobile, slugify, merge } from './util' +import { genTree, getRoute, isMobile, slugify, merge, emojify } from './util' let OPTIONS = {} let markdown = marked @@ -45,7 +45,7 @@ export function init (options) { renderer.code = function (code, lang = '') { const hl = Prism.highlight(code, Prism.languages[lang] || Prism.languages.markup) - return `
                            ${hl}
                            ` + return `
                            ${hl.replace(/:/g, '__colon__')}
                            ` } renderer.link = function (href, title, text) { if (OPTIONS.router && !/:/.test(href)) { @@ -63,16 +63,16 @@ export function init (options) { return `

                            ${text}

                            ` } - renderer.text = function (text) { - return text.replace(/:(\S*?):/ig, '$1') - } - if (typeof OPTIONS.markdown === 'function') { markdown.setOptions({ renderer }) markdown = OPTIONS.markdown.call(this, markdown) } else { markdown.setOptions(merge({ renderer }, OPTIONS.markdown)) } + + const md = markdown + + markdown = text => emojify(md(text)) } /** diff --git a/src/util.js b/src/util.js index e4b67f9..9d42947 100644 --- a/src/util.js +++ b/src/util.js @@ -157,3 +157,10 @@ export const merge = Object.assign || function (to) { return to } + +export function emojify (text) { + return text + .replace(/:(\S*?):/ig, '$1') + .replace(/__colon__/g, ':') +} + From bda1b76ba576471df6070804371deb2a383c36f2 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Wed, 25 Jan 2017 21:17:43 +0800 Subject: [PATCH 008/826] bump 1.10.1 --- lib/docsify.js | 16 +++++++++++----- lib/docsify.min.js | 4 ++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/lib/docsify.js b/lib/docsify.js index 4561ff9..128e637 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -168,6 +168,12 @@ var merge = Object.assign || function (to) { return to }; +function emojify (text) { + return text + .replace(/:(\S*?):/ig, '$1') + .replace(/__colon__/g, ':') +} + /** * Active sidebar when scroll * @link https://buble.surge.sh/ @@ -2510,7 +2516,7 @@ function init (options) { var hl = prism.highlight(code, prism.languages[lang] || prism.languages.markup); - return ("
                            " + hl + "
                            ") + return ("
                            " + (hl.replace(/:/g, '__colon__')) + "
                            ") }; renderer.link = function (href, title, text) { if (OPTIONS$1.router && !/:/.test(href)) { @@ -2528,16 +2534,16 @@ function init (options) { return ("

                            " + text + "

                            ") }; - renderer.text = function (text) { - return text.replace(/:(\S*?):/ig, '$1') - }; - if (typeof OPTIONS$1.markdown === 'function') { markdown.setOptions({ renderer: renderer }); markdown = OPTIONS$1.markdown.call(this, markdown); } else { markdown.setOptions(merge({ renderer: renderer }, OPTIONS$1.markdown)); } + + var md = markdown; + + markdown = function (text) { return emojify(md(text)); }; } /** diff --git a/lib/docsify.min.js b/lib/docsify.min.js index 1186207..ee1f166 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(A===e.hash&&!r(E))return E;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,E=t,A=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(){function e(){for(var e,r=document.body.scrollTop,i=0,s=n.length;ir){e||(e=l);break}e=l}if(e){var c=a[e.getAttribute("data-id")];c&&c!==o&&(o&&o.classList.remove("active"),c.classList.add("active"),o=c,!t&&!d.noSticky&&o.scrollIntoView(!1))}}if(!i()){for(var t=!1,n=document.querySelectorAll(".anchor"),r=document.querySelector("aside.sidebar"),a={},s=r.querySelectorAll("li"),o=r.querySelector("li.active"),l=0,c=s.length;l=e||d.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),d.noSticky=!1):(document.body.classList.remove("sticky"),d.noSticky=!0)}()}function g(e,t){return t={exports:{}},e(t,t.exports),t.exports}function h(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n
                            \n \n '):""}function f(e){var t=e+'';return(i()?t+"
                            ":"
                            "+t)+'
                            \n
                            \n
                            \n
                            '}function m(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                            \n
                            \n
                            \n
                            '}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                          • '+e.title+"
                          • ",e.children&&(t+='
                            • '+v(e.children)+"
                            ")}),t):""}function y(e,t){return'

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

                            "}function k(e){N=e;var t=new O.Renderer;t.heading=function(e,t){var n=s(e),r="";return N.router&&(r="#/"+a()),I.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=M.highlight(e,M.languages[t]||M.languages.markup);return'
                            '+n+"
                            "},t.link=function(e,t,n){return N.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?y("tip",e):/^\?>/.test(e)?y("warn",e):"

                            "+e+"

                            "},t.text=function(e){return e.replace(/:(\S*?):/gi,'$1')},"function"==typeof N.markdown?(P.setOptions({renderer:t}),P=N.markdown.call(this,P)):P.setOptions(j({renderer:t},N.markdown))}function w(e,t){var n=document.querySelector("nav")||document.createElement("nav");N.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=h(N.repo)+(N.coverpage?m():"")+f(N.sidebarToggle?b():""),document.body.insertBefore(n,document.body.children[0]),u("button.sidebar-toggle"),N.coverpage?!i()&&window.addEventListener("scroll",d):document.body.classList.add("sticky")}function x(e){if(W("article",e?P(e):"not found"),N.sidebar||N.loadSidebar||S(),e&&"undefined"!=typeof Vue){var t=e.match("]*?>([^<]+)");t&&document.body.querySelector("article script").remove(),F.vm&&F.vm.$destroy(),F.vm=t?new Function("return "+t[1].trim())():new Vue({el:"main"}),F.vm&&F.vm.$nextTick(function(e){return o()})}N.auto2top&&setTimeout(function(){return p(N.auto2top)},0)}function L(e){F.navbar&&F.navbar===e||(F.navbar=e,e&&W("nav",P(e)),c("nav"))}function S(e){var n;e?(n=P(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=N.sidebar?v(N.sidebar,"
                              "):v(t(I,N.maxLevel),"
                                "),n=(N.name?'

                                '+N.name+"

                                ":"")+n,W("aside.sidebar",n);var r=c("aside.sidebar",!0);r&&_(r),I=[],o()}function _(e){N.subMaxLevel&&(e.parentNode.innerHTML+=v(t(I,N.subMaxLevel),"
                                  "))}function C(e){if(C.dom=C.dom||document.querySelector("section.cover"),!e)return void C.dom.classList.remove("show");if(C.dom.classList.add("show"),C.rendered)return d();var t=I.slice(),n=P(e),r=n.trim().match('

                                  ([^<]*?)

                                  $');if(I=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}W(".cover-main",n),C.rendered=!0,d()}function $(e){var t,n=e.loaded,r=e.total,a=e.step;if(!F.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),F.loading=i}a?(t=parseInt(F.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),F.loading.style.opacity=1,F.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout($.cacheTimeout),$.cacheTimeout=setTimeout(function(e){F.loading.style.opacity=0,F.loading.style.width="0%"},200))}var E=null,A=null;s.clear=function(){s.occurrences={}};var q=Object.prototype.hasOwnProperty,j=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                                  "+i(e.message+"",!0)+"
                                  ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                                  \n":"
                                  "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                                  "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof T&&(T.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,a=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(r=(t.className.match(s)||[,""])[1]),!r){var o=(a.match(/\.(\w+)$/)||[,""])[1];r=e[o]||o}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",a,!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))}()}),N={},P=O,I=[],F={},W=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,s.clear(),e},z=j({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,sidebar:"",sidebarToggle:!1,loadSidebar:null,loadNavbar:null,router:!1,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",nameLink:window.location.pathname},window.$docsify),R=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(R){for(var B in z){var D=R.getAttribute("data-"+n(B));z[B]=r(D)?z[B]:D||!0}z.loadSidebar===!0&&(z.loadSidebar="_sidebar.md"),z.loadNavbar===!0&&(z.loadNavbar="_navbar.md"),z.coverpage===!0&&(z.coverpage="_coverpage.md"),z.repo===!0&&(z.repo=""),z.name===!0&&(z.name=""),z.sidebar&&(z.sidebar=window[z.sidebar])}k(z);var H=null,G=null,V=function(t){var n=z.basePath+a();if(H===n)return t();var r=H=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var i;i=n?/\/$/.test(n)?n+"README.md":n+".md":z.homepage||"README.md",z.coverpage&&i===z.homepage&&e(z.coverpage).then(C),G&&G.abort&&G.abort(),G=e(i,"GET",$),G.then(function(n){if(x(n),z.coverpage&&i!==z.homepage&&C(),z.loadSidebar){var a=function(e){S(e),t()};e(r+z.loadSidebar).then(a,function(t){return e(z.loadSidebar).then(a)})}else t()},function(e){return x(null)}),z.loadNavbar&&e(r+z.loadNavbar).then(L,function(t){return e(z.loadNavbar).then(L)})},Z=function(){var e=document.querySelector(z.el)||document.body,t=e!==document.body,n=function(){V(function(e){l(),c("nav")})};w(e,t),n(),z.router&&(/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n))},U=Z();return U}(); +var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(q===e.hash&&!r(A))return A;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,A=t,q=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(e){return e.replace(/:(\S*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,r=document.body.scrollTop,i=0,s=n.length;ir){e||(e=l);break}e=l}if(e){var c=a[e.getAttribute("data-id")];c&&c!==o&&(o&&o.classList.remove("active"),c.classList.add("active"),o=c,!t&&!g.noSticky&&o.scrollIntoView(!1))}}if(!i()){for(var t=!1,n=document.querySelectorAll(".anchor"),r=document.querySelector("aside.sidebar"),a={},s=r.querySelectorAll("li"),o=r.querySelector("li.active"),l=0,c=s.length;l=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(e){var t=e+'';return(i()?t+"
                                  ":"
                                  "+t)+'
                                  \n
                                  \n
                                  \n
                                  '}function b(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                  \n
                                  \n
                                  \n
                                  '}function v(){return''}function y(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                • '+e.title+"
                                • ",e.children&&(t+='
                                  • '+y(e.children)+"
                                  ")}),t):""}function k(e,t){return'

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

                                  "}function w(e){P=e;var t=new M.Renderer;t.heading=function(e,t){var n=s(e),r="";return P.router&&(r="#/"+a()),F.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=N.highlight(e,N.languages[t]||N.languages.markup);return'
                                  '+n.replace(/:/g,"__colon__")+"
                                  "},t.link=function(e,t,n){return P.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                  "+e+"

                                  "},"function"==typeof P.markdown?(I.setOptions({renderer:t}),I=P.markdown.call(this,I)):I.setOptions(T({renderer:t},P.markdown));var n=I;I=function(e){return o(n(e))}}function x(e,t){var n=document.querySelector("nav")||document.createElement("nav");P.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(P.repo)+(P.coverpage?b():"")+m(P.sidebarToggle?v():""),document.body.insertBefore(n,document.body.children[0]),p("button.sidebar-toggle"),P.coverpage?!i()&&window.addEventListener("scroll",g):document.body.classList.add("sticky")}function L(e){if(z("article",e?I(e):"not found"),P.sidebar||P.loadSidebar||_(),e&&"undefined"!=typeof Vue){var t=e.match("]*?>([^<]+)");t&&document.body.querySelector("article script").remove(),W.vm&&W.vm.$destroy(),W.vm=t?new Function("return "+t[1].trim())():new Vue({el:"main"}),W.vm&&W.vm.$nextTick(function(e){return l()})}P.auto2top&&setTimeout(function(){return d(P.auto2top)},0)}function S(e){W.navbar&&W.navbar===e||(W.navbar=e,e&&z("nav",I(e)),u("nav"))}function _(e){var n;e?(n=I(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=P.sidebar?y(P.sidebar,"
                                    "):y(t(F,P.maxLevel),"
                                      "),n=(P.name?'

                                      '+P.name+"

                                      ":"")+n,z("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&C(r),F=[],l()}function C(e){P.subMaxLevel&&(e.parentNode.innerHTML+=y(t(F,P.subMaxLevel),"
                                        "))}function $(e){if($.dom=$.dom||document.querySelector("section.cover"),!e)return void $.dom.classList.remove("show");if($.dom.classList.add("show"),$.rendered)return g();var t=F.slice(),n=I(e),r=n.trim().match('

                                        ([^<]*?)

                                        $');if(F=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}z(".cover-main",n),$.rendered=!0,g()}function E(e){var t,n=e.loaded,r=e.total,a=e.step;if(!W.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),W.loading=i}a?(t=parseInt(W.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),W.loading.style.opacity=1,W.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(E.cacheTimeout),E.cacheTimeout=setTimeout(function(e){W.loading.style.opacity=0,W.loading.style.width="0%"},200))}var A=null,q=null;s.clear=function(){s.occurrences={}};var j=Object.prototype.hasOwnProperty,T=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                                        "+i(e.message+"",!0)+"
                                        ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                                        \n":"
                                        "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                                        "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof O&&(O.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,a=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(r=(t.className.match(s)||[,""])[1]),!r){var o=(a.match(/\.(\w+)$/)||[,""])[1];r=e[o]||o}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",a,!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))}()}),P={},I=M,F=[],W={},z=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,s.clear(),e},R=T({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,sidebar:"",sidebarToggle:!1,loadSidebar:null,loadNavbar:null,router:!1,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",nameLink:window.location.pathname},window.$docsify),B=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(B){for(var D in R){var H=B.getAttribute("data-"+n(D));R[D]=r(H)?R[D]:H||!0}R.loadSidebar===!0&&(R.loadSidebar="_sidebar.md"),R.loadNavbar===!0&&(R.loadNavbar="_navbar.md"),R.coverpage===!0&&(R.coverpage="_coverpage.md"),R.repo===!0&&(R.repo=""),R.name===!0&&(R.name=""),R.sidebar&&(R.sidebar=window[R.sidebar])}w(R);var G=null,V=null,Z=function(t){var n=R.basePath+a();if(G===n)return t();var r=G=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var i;i=n?/\/$/.test(n)?n+"README.md":n+".md":R.homepage||"README.md",R.coverpage&&i===R.homepage&&e(R.coverpage).then($),V&&V.abort&&V.abort(),V=e(i,"GET",E),V.then(function(n){if(L(n),R.coverpage&&i!==R.homepage&&$(),R.loadSidebar){var a=function(e){_(e),t()};e(r+R.loadSidebar).then(a,function(t){return e(R.loadSidebar).then(a)})}else t()},function(e){return L(null)}),R.loadNavbar&&e(r+R.loadNavbar).then(S,function(t){return e(R.loadNavbar).then(S)})},U=function(){var e=document.querySelector(R.el)||document.body,t=e!==document.body,n=function(){Z(function(e){c(),u("nav")})};x(e,t),n(),R.router&&(/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n))},J=U();return J}(); From c9739e71afa2b35a0b10884a5e1c287d7f1b3580 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Wed, 25 Jan 2017 21:17:54 +0800 Subject: [PATCH 009/826] -> v1.10.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a9f01f0..b7126e1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "1.10.0", + "version": "1.10.1", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From 82b7b8226de26d7f36b56c26269c2f13766d905f Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Wed, 25 Jan 2017 21:39:12 +0800 Subject: [PATCH 010/826] Fix render emojis again --- CHANGELOG.md | 4 ++++ docs/_coverpage.md | 2 +- src/util.js | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4aa307..feadcdd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.10.2 +### Bug fixes +- Fix render emojis again + ## 1.10.1 ### Bug fixes - Fix render emojis diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 043291a..7663211 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 1.10.0 +# docsify 1.10.2 > A magical documentation site generator. diff --git a/src/util.js b/src/util.js index 9d42947..c57bb42 100644 --- a/src/util.js +++ b/src/util.js @@ -160,7 +160,7 @@ export const merge = Object.assign || function (to) { export function emojify (text) { return text - .replace(/:(\S*?):/ig, '$1') + .replace(/:(\w*?):/ig, '$1') .replace(/__colon__/g, ':') } From 00b13c5e86f510302867b4c67d92935f1fbe8a64 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Wed, 25 Jan 2017 21:39:32 +0800 Subject: [PATCH 011/826] bump 1.10.2 --- lib/docsify.js | 2 +- lib/docsify.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/docsify.js b/lib/docsify.js index 128e637..50a4fd7 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -170,7 +170,7 @@ var merge = Object.assign || function (to) { function emojify (text) { return text - .replace(/:(\S*?):/ig, '$1') + .replace(/:(\w*?):/ig, '$1') .replace(/__colon__/g, ':') } diff --git a/lib/docsify.min.js b/lib/docsify.min.js index ee1f166..3df5a2b 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(q===e.hash&&!r(A))return A;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,A=t,q=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(e){return e.replace(/:(\S*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,r=document.body.scrollTop,i=0,s=n.length;ir){e||(e=l);break}e=l}if(e){var c=a[e.getAttribute("data-id")];c&&c!==o&&(o&&o.classList.remove("active"),c.classList.add("active"),o=c,!t&&!g.noSticky&&o.scrollIntoView(!1))}}if(!i()){for(var t=!1,n=document.querySelectorAll(".anchor"),r=document.querySelector("aside.sidebar"),a={},s=r.querySelectorAll("li"),o=r.querySelector("li.active"),l=0,c=s.length;l=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(e){var t=e+'';return(i()?t+"
                                        ":"
                                        "+t)+'
                                        \n
                                        \n
                                        \n
                                        '}function b(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                        \n
                                        \n
                                        \n
                                        '}function v(){return''}function y(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                      • '+e.title+"
                                      • ",e.children&&(t+='
                                        • '+y(e.children)+"
                                        ")}),t):""}function k(e,t){return'

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

                                        "}function w(e){P=e;var t=new M.Renderer;t.heading=function(e,t){var n=s(e),r="";return P.router&&(r="#/"+a()),F.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=N.highlight(e,N.languages[t]||N.languages.markup);return'
                                        '+n.replace(/:/g,"__colon__")+"
                                        "},t.link=function(e,t,n){return P.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                        "+e+"

                                        "},"function"==typeof P.markdown?(I.setOptions({renderer:t}),I=P.markdown.call(this,I)):I.setOptions(T({renderer:t},P.markdown));var n=I;I=function(e){return o(n(e))}}function x(e,t){var n=document.querySelector("nav")||document.createElement("nav");P.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(P.repo)+(P.coverpage?b():"")+m(P.sidebarToggle?v():""),document.body.insertBefore(n,document.body.children[0]),p("button.sidebar-toggle"),P.coverpage?!i()&&window.addEventListener("scroll",g):document.body.classList.add("sticky")}function L(e){if(z("article",e?I(e):"not found"),P.sidebar||P.loadSidebar||_(),e&&"undefined"!=typeof Vue){var t=e.match("]*?>([^<]+)");t&&document.body.querySelector("article script").remove(),W.vm&&W.vm.$destroy(),W.vm=t?new Function("return "+t[1].trim())():new Vue({el:"main"}),W.vm&&W.vm.$nextTick(function(e){return l()})}P.auto2top&&setTimeout(function(){return d(P.auto2top)},0)}function S(e){W.navbar&&W.navbar===e||(W.navbar=e,e&&z("nav",I(e)),u("nav"))}function _(e){var n;e?(n=I(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=P.sidebar?y(P.sidebar,"
                                          "):y(t(F,P.maxLevel),"
                                            "),n=(P.name?'

                                            '+P.name+"

                                            ":"")+n,z("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&C(r),F=[],l()}function C(e){P.subMaxLevel&&(e.parentNode.innerHTML+=y(t(F,P.subMaxLevel),"
                                              "))}function $(e){if($.dom=$.dom||document.querySelector("section.cover"),!e)return void $.dom.classList.remove("show");if($.dom.classList.add("show"),$.rendered)return g();var t=F.slice(),n=I(e),r=n.trim().match('

                                              ([^<]*?)

                                              $');if(F=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}z(".cover-main",n),$.rendered=!0,g()}function E(e){var t,n=e.loaded,r=e.total,a=e.step;if(!W.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),W.loading=i}a?(t=parseInt(W.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),W.loading.style.opacity=1,W.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(E.cacheTimeout),E.cacheTimeout=setTimeout(function(e){W.loading.style.opacity=0,W.loading.style.width="0%"},200))}var A=null,q=null;s.clear=function(){s.occurrences={}};var j=Object.prototype.hasOwnProperty,T=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                                              "+i(e.message+"",!0)+"
                                              ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                                              \n":"
                                              "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                                              "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof O&&(O.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), +var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(q===e.hash&&!r(A))return A;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,A=t,q=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(e){return e.replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,r=document.body.scrollTop,i=0,s=n.length;ir){e||(e=l);break}e=l}if(e){var c=a[e.getAttribute("data-id")];c&&c!==o&&(o&&o.classList.remove("active"),c.classList.add("active"),o=c,!t&&!g.noSticky&&o.scrollIntoView(!1))}}if(!i()){for(var t=!1,n=document.querySelectorAll(".anchor"),r=document.querySelector("aside.sidebar"),a={},s=r.querySelectorAll("li"),o=r.querySelector("li.active"),l=0,c=s.length;l=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(e){var t=e+'';return(i()?t+"
                                              ":"
                                              "+t)+'
                                              \n
                                              \n
                                              \n
                                              '}function b(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                              \n
                                              \n
                                              \n
                                              '}function v(){return''}function y(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                            • '+e.title+"
                                            • ",e.children&&(t+='
                                              • '+y(e.children)+"
                                              ")}),t):""}function k(e,t){return'

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

                                              "}function w(e){P=e;var t=new M.Renderer;t.heading=function(e,t){var n=s(e),r="";return P.router&&(r="#/"+a()),F.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=N.highlight(e,N.languages[t]||N.languages.markup);return'
                                              '+n.replace(/:/g,"__colon__")+"
                                              "},t.link=function(e,t,n){return P.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                              "+e+"

                                              "},"function"==typeof P.markdown?(I.setOptions({renderer:t}),I=P.markdown.call(this,I)):I.setOptions(T({renderer:t},P.markdown));var n=I;I=function(e){return o(n(e))}}function x(e,t){var n=document.querySelector("nav")||document.createElement("nav");P.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(P.repo)+(P.coverpage?b():"")+m(P.sidebarToggle?v():""),document.body.insertBefore(n,document.body.children[0]),p("button.sidebar-toggle"),P.coverpage?!i()&&window.addEventListener("scroll",g):document.body.classList.add("sticky")}function L(e){if(z("article",e?I(e):"not found"),P.sidebar||P.loadSidebar||_(),e&&"undefined"!=typeof Vue){var t=e.match("]*?>([^<]+)");t&&document.body.querySelector("article script").remove(),W.vm&&W.vm.$destroy(),W.vm=t?new Function("return "+t[1].trim())():new Vue({el:"main"}),W.vm&&W.vm.$nextTick(function(e){return l()})}P.auto2top&&setTimeout(function(){return d(P.auto2top)},0)}function S(e){W.navbar&&W.navbar===e||(W.navbar=e,e&&z("nav",I(e)),u("nav"))}function _(e){var n;e?(n=I(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=P.sidebar?y(P.sidebar,"
                                                "):y(t(F,P.maxLevel),"
                                                  "),n=(P.name?'

                                                  '+P.name+"

                                                  ":"")+n,z("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&C(r),F=[],l()}function C(e){P.subMaxLevel&&(e.parentNode.innerHTML+=y(t(F,P.subMaxLevel),"
                                                    "))}function $(e){if($.dom=$.dom||document.querySelector("section.cover"),!e)return void $.dom.classList.remove("show");if($.dom.classList.add("show"),$.rendered)return g();var t=F.slice(),n=I(e),r=n.trim().match('

                                                    ([^<]*?)

                                                    $');if(F=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}z(".cover-main",n),$.rendered=!0,g()}function E(e){var t,n=e.loaded,r=e.total,a=e.step;if(!W.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),W.loading=i}a?(t=parseInt(W.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),W.loading.style.opacity=1,W.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(E.cacheTimeout),E.cacheTimeout=setTimeout(function(e){W.loading.style.opacity=0,W.loading.style.width="0%"},200))}var A=null,q=null;s.clear=function(){s.occurrences={}};var j=Object.prototype.hasOwnProperty,T=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                                                    "+i(e.message+"",!0)+"
                                                    ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                                                    \n":"
                                                    "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                                                    "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof O&&(O.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,a=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(r=(t.className.match(s)||[,""])[1]),!r){var o=(a.match(/\.(\w+)$/)||[,""])[1];r=e[o]||o}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",a,!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))}()}),P={},I=M,F=[],W={},z=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,s.clear(),e},R=T({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,sidebar:"",sidebarToggle:!1,loadSidebar:null,loadNavbar:null,router:!1,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",nameLink:window.location.pathname},window.$docsify),B=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(B){for(var D in R){var H=B.getAttribute("data-"+n(D));R[D]=r(H)?R[D]:H||!0}R.loadSidebar===!0&&(R.loadSidebar="_sidebar.md"),R.loadNavbar===!0&&(R.loadNavbar="_navbar.md"),R.coverpage===!0&&(R.coverpage="_coverpage.md"),R.repo===!0&&(R.repo=""),R.name===!0&&(R.name=""),R.sidebar&&(R.sidebar=window[R.sidebar])}w(R);var G=null,V=null,Z=function(t){var n=R.basePath+a();if(G===n)return t();var r=G=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var i;i=n?/\/$/.test(n)?n+"README.md":n+".md":R.homepage||"README.md",R.coverpage&&i===R.homepage&&e(R.coverpage).then($),V&&V.abort&&V.abort(),V=e(i,"GET",E),V.then(function(n){if(L(n),R.coverpage&&i!==R.homepage&&$(),R.loadSidebar){var a=function(e){_(e),t()};e(r+R.loadSidebar).then(a,function(t){return e(R.loadSidebar).then(a)})}else t()},function(e){return L(null)}),R.loadNavbar&&e(r+R.loadNavbar).then(S,function(t){return e(R.loadNavbar).then(S)})},U=function(){var e=document.querySelector(R.el)||document.body,t=e!==document.body,n=function(){Z(function(e){c(),u("nav")})};x(e,t),n(),R.router&&(/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n))},J=U();return J}(); From 4a77b8a7f3baabb3380c37dac64d3a8f3cb2cb16 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Wed, 25 Jan 2017 21:39:42 +0800 Subject: [PATCH 012/826] -> v1.10.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b7126e1..842e1c5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "1.10.1", + "version": "1.10.2", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From b0320416a5d6e0e126913279ea6406f08e25f50b Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Fri, 27 Jan 2017 12:01:36 +0800 Subject: [PATCH 013/826] compatible vuep, fixed QingWei-Li/vuep/issues/2 --- src/render.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/render.js b/src/render.js index 8536203..f059b18 100644 --- a/src/render.js +++ b/src/render.js @@ -106,13 +106,17 @@ export function renderArticle (content) { if (!OPTIONS.sidebar && !OPTIONS.loadSidebar) renderSidebar() if (content && typeof Vue !== 'undefined') { - const script = content.match(']*?>([^<]+)') - - script && document.body.querySelector('article script').remove() CACHE.vm && CACHE.vm.$destroy() - CACHE.vm = script - ? new Function(`return ${script[1].trim()}`)() + + const script = [].slice.call( + document.body.querySelectorAll('article>script')) + .filter(script => !/template/.test(script.type) + )[0] + + CACHE.vm = script && script.remove() + ? new Function(`return ${script.innerText.trim()}`)() : new Vue({ el: 'main' }) // eslint-disable-line + CACHE.vm && CACHE.vm.$nextTick(_ => event.scrollActiveSidebar()) } if (OPTIONS.auto2top) setTimeout(() => event.scroll2Top(OPTIONS.auto2top), 0) From 7db1f1034ac8ebf42b302b64858457935673b694 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Fri, 27 Jan 2017 12:44:05 +0800 Subject: [PATCH 014/826] Fix sidebar scroll, fixed #63 --- src/event.js | 22 +++++++++++++++++++++- src/themes/basic/_layout.css | 20 +------------------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/event.js b/src/event.js index 012961d..23a7467 100644 --- a/src/event.js +++ b/src/event.js @@ -10,6 +10,8 @@ export function scrollActiveSidebar () { let hoveredOverSidebar = false const anchors = document.querySelectorAll('.anchor') const sidebar = document.querySelector('aside.sidebar') + const sidebarHeight = sidebar.clientHeight + const nav = {} const lis = sidebar.querySelectorAll('li') let active = sidebar.querySelector('li.active') @@ -48,7 +50,25 @@ export function scrollActiveSidebar () { li.classList.add('active') active = li - !hoveredOverSidebar && !sticky.noSticky && active.scrollIntoView(false) + + // scroll into view + // https://github.com/vuejs/vuejs.org/blob/master/themes/vue/source/js/common.js#L282-L297 + if (!hoveredOverSidebar && !sticky.noSticky) { + const currentPageOffset = 0 + const currentActiveOffset = active.offsetTop + active.clientHeight + 40 + const currentActiveIsInView = ( + active.offsetTop >= sidebar.scrollTop && + currentActiveOffset <= sidebar.scrollTop + sidebarHeight + ) + const linkNotFurtherThanSidebarHeight = currentActiveOffset - currentPageOffset < sidebarHeight + const newScrollTop = currentActiveIsInView + ? sidebar.scrollTop + : linkNotFurtherThanSidebarHeight + ? currentPageOffset + : currentActiveOffset - sidebarHeight + + sidebar.scrollTop = newScrollTop + } } window.removeEventListener('scroll', highlight) diff --git a/src/themes/basic/_layout.css b/src/themes/basic/_layout.css index 5acaf5e..3a711c5 100644 --- a/src/themes/basic/_layout.css +++ b/src/themes/basic/_layout.css @@ -193,16 +193,7 @@ main { transition: transform 250ms ease-out; width: $sidebar-width; z-index: 20; - margin-bottom: 40px; - - &::after { - content: ''; - position: inherit; - left: calc($sidebar-width - 1px); - top: 0; - height: 100vh; - border-right: 1px solid rgba(0, 0, 0, .07); - } + border-right: 1px solid rgba(0, 0, 0, .07); > h1 { text-align: center; @@ -384,15 +375,6 @@ body.close { position: fixed; } - .sidebar { - margin-bottom: 0; - border-right: 1px solid rgba(0, 0, 0, .07); - - &::after { - content: none; - } - } - nav { margin-top: 16px; } From 0e5f28cf60b5038281594d3dc687955128df5895 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Fri, 27 Jan 2017 12:44:54 +0800 Subject: [PATCH 015/826] Add change log --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index feadcdd..948d740 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 1.10.3 +### Bug fixes +- compatible vuep QingWei-Li/vuep/issues/2 +- fix sidebar scroll, fixed #63 + ## 1.10.2 ### Bug fixes - Fix render emojis again From e69efb8954c9bee704afd2eea3e975a80627e399 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Fri, 27 Jan 2017 12:45:16 +0800 Subject: [PATCH 016/826] bump 1.10.3 --- docs/_coverpage.md | 2 +- lib/docsify.js | 36 ++++++++++++++++++++++++++++++------ lib/docsify.min.js | 4 ++-- lib/themes/buble.css | 2 +- lib/themes/pure.css | 2 +- lib/themes/vue.css | 2 +- 6 files changed, 36 insertions(+), 12 deletions(-) diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 7663211..8c9b608 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 1.10.2 +# docsify 1.10.3 > A magical documentation site generator. diff --git a/lib/docsify.js b/lib/docsify.js index 50a4fd7..0621a5a 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -184,6 +184,8 @@ function scrollActiveSidebar () { var hoveredOverSidebar = false; var anchors = document.querySelectorAll('.anchor'); var sidebar = document.querySelector('aside.sidebar'); + var sidebarHeight = sidebar.clientHeight; + var nav = {}; var lis = sidebar.querySelectorAll('li'); var active = sidebar.querySelector('li.active'); @@ -222,7 +224,25 @@ function scrollActiveSidebar () { li.classList.add('active'); active = li; - !hoveredOverSidebar && !sticky.noSticky && active.scrollIntoView(false); + + // scroll into view + // https://github.com/vuejs/vuejs.org/blob/master/themes/vue/source/js/common.js#L282-L297 + if (!hoveredOverSidebar && !sticky.noSticky) { + var currentPageOffset = 0; + var currentActiveOffset = active.offsetTop + active.clientHeight + 40; + var currentActiveIsInView = ( + active.offsetTop >= sidebar.scrollTop && + currentActiveOffset <= sidebar.scrollTop + sidebarHeight + ); + var linkNotFurtherThanSidebarHeight = currentActiveOffset - currentPageOffset < sidebarHeight; + var newScrollTop = currentActiveIsInView + ? sidebar.scrollTop + : linkNotFurtherThanSidebarHeight + ? currentPageOffset + : currentActiveOffset - sidebarHeight; + + sidebar.scrollTop = newScrollTop; + } } window.removeEventListener('scroll', highlight); @@ -2577,13 +2597,17 @@ function renderArticle (content) { if (!OPTIONS$1.sidebar && !OPTIONS$1.loadSidebar) { renderSidebar(); } if (content && typeof Vue !== 'undefined') { - var script = content.match(']*?>([^<]+)'); - - script && document.body.querySelector('article script').remove(); CACHE.vm && CACHE.vm.$destroy(); - CACHE.vm = script - ? new Function(("return " + (script[1].trim())))() + + var script = [].slice.call( + document.body.querySelectorAll('article>script')) + .filter(function (script) { return !/template/.test(script.type); } + )[0]; + + CACHE.vm = script && script.remove() + ? new Function(("return " + (script.innerText.trim())))() : new Vue({ el: 'main' }); // eslint-disable-line + CACHE.vm && CACHE.vm.$nextTick(function (_) { return scrollActiveSidebar(); }); } if (OPTIONS$1.auto2top) { setTimeout(function () { return scroll2Top(OPTIONS$1.auto2top); }, 0); } diff --git a/lib/docsify.min.js b/lib/docsify.min.js index 3df5a2b..4b47baa 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(q===e.hash&&!r(A))return A;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,A=t,q=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(e){return e.replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,r=document.body.scrollTop,i=0,s=n.length;ir){e||(e=l);break}e=l}if(e){var c=a[e.getAttribute("data-id")];c&&c!==o&&(o&&o.classList.remove("active"),c.classList.add("active"),o=c,!t&&!g.noSticky&&o.scrollIntoView(!1))}}if(!i()){for(var t=!1,n=document.querySelectorAll(".anchor"),r=document.querySelector("aside.sidebar"),a={},s=r.querySelectorAll("li"),o=r.querySelector("li.active"),l=0,c=s.length;l=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(e){var t=e+'';return(i()?t+"
                                                    ":"
                                                    "+t)+'
                                                    \n
                                                    \n
                                                    \n
                                                    '}function b(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                    \n
                                                    \n
                                                    \n
                                                    '}function v(){return''}function y(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                  • '+e.title+"
                                                  • ",e.children&&(t+='
                                                    • '+y(e.children)+"
                                                    ")}),t):""}function k(e,t){return'

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

                                                    "}function w(e){P=e;var t=new M.Renderer;t.heading=function(e,t){var n=s(e),r="";return P.router&&(r="#/"+a()),F.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=N.highlight(e,N.languages[t]||N.languages.markup);return'
                                                    '+n.replace(/:/g,"__colon__")+"
                                                    "},t.link=function(e,t,n){return P.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                    "+e+"

                                                    "},"function"==typeof P.markdown?(I.setOptions({renderer:t}),I=P.markdown.call(this,I)):I.setOptions(T({renderer:t},P.markdown));var n=I;I=function(e){return o(n(e))}}function x(e,t){var n=document.querySelector("nav")||document.createElement("nav");P.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(P.repo)+(P.coverpage?b():"")+m(P.sidebarToggle?v():""),document.body.insertBefore(n,document.body.children[0]),p("button.sidebar-toggle"),P.coverpage?!i()&&window.addEventListener("scroll",g):document.body.classList.add("sticky")}function L(e){if(z("article",e?I(e):"not found"),P.sidebar||P.loadSidebar||_(),e&&"undefined"!=typeof Vue){var t=e.match("]*?>([^<]+)");t&&document.body.querySelector("article script").remove(),W.vm&&W.vm.$destroy(),W.vm=t?new Function("return "+t[1].trim())():new Vue({el:"main"}),W.vm&&W.vm.$nextTick(function(e){return l()})}P.auto2top&&setTimeout(function(){return d(P.auto2top)},0)}function S(e){W.navbar&&W.navbar===e||(W.navbar=e,e&&z("nav",I(e)),u("nav"))}function _(e){var n;e?(n=I(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=P.sidebar?y(P.sidebar,"
                                                      "):y(t(F,P.maxLevel),"
                                                        "),n=(P.name?'

                                                        '+P.name+"

                                                        ":"")+n,z("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&C(r),F=[],l()}function C(e){P.subMaxLevel&&(e.parentNode.innerHTML+=y(t(F,P.subMaxLevel),"
                                                          "))}function $(e){if($.dom=$.dom||document.querySelector("section.cover"),!e)return void $.dom.classList.remove("show");if($.dom.classList.add("show"),$.rendered)return g();var t=F.slice(),n=I(e),r=n.trim().match('

                                                          ([^<]*?)

                                                          $');if(F=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}z(".cover-main",n),$.rendered=!0,g()}function E(e){var t,n=e.loaded,r=e.total,a=e.step;if(!W.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),W.loading=i}a?(t=parseInt(W.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),W.loading.style.opacity=1,W.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(E.cacheTimeout),E.cacheTimeout=setTimeout(function(e){W.loading.style.opacity=0,W.loading.style.width="0%"},200))}var A=null,q=null;s.clear=function(){s.occurrences={}};var j=Object.prototype.hasOwnProperty,T=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                                                          "+i(e.message+"",!0)+"
                                                          ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                                                          \n":"
                                                          "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                                                          "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof O&&(O.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,a=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(r=(t.className.match(s)||[,""])[1]),!r){var o=(a.match(/\.(\w+)$/)||[,""])[1];r=e[o]||o}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",a,!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))}()}),P={},I=M,F=[],W={},z=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,s.clear(),e},R=T({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,sidebar:"",sidebarToggle:!1,loadSidebar:null,loadNavbar:null,router:!1,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",nameLink:window.location.pathname},window.$docsify),B=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(B){for(var D in R){var H=B.getAttribute("data-"+n(D));R[D]=r(H)?R[D]:H||!0}R.loadSidebar===!0&&(R.loadSidebar="_sidebar.md"),R.loadNavbar===!0&&(R.loadNavbar="_navbar.md"),R.coverpage===!0&&(R.coverpage="_coverpage.md"),R.repo===!0&&(R.repo=""),R.name===!0&&(R.name=""),R.sidebar&&(R.sidebar=window[R.sidebar])}w(R);var G=null,V=null,Z=function(t){var n=R.basePath+a();if(G===n)return t();var r=G=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var i;i=n?/\/$/.test(n)?n+"README.md":n+".md":R.homepage||"README.md",R.coverpage&&i===R.homepage&&e(R.coverpage).then($),V&&V.abort&&V.abort(),V=e(i,"GET",E),V.then(function(n){if(L(n),R.coverpage&&i!==R.homepage&&$(),R.loadSidebar){var a=function(e){_(e),t()};e(r+R.loadSidebar).then(a,function(t){return e(R.loadSidebar).then(a)})}else t()},function(e){return L(null)}),R.loadNavbar&&e(r+R.loadNavbar).then(S,function(t){return e(R.loadNavbar).then(S)})},U=function(){var e=document.querySelector(R.el)||document.body,t=e!==document.body,n=function(){Z(function(e){c(),u("nav")})};x(e,t),n(),R.router&&(/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n))},J=U();return J}(); +var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(q===e.hash&&!r(A))return A;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,A=t,q=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(e){return e.replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,i=document.body.scrollTop,o=0,c=n.length;oi){e||(e=u);break}e=u}if(e){var p=s[e.getAttribute("data-id")];if(p&&p!==l&&(l&&l.classList.remove("active"),p.classList.add("active"),l=p,!t&&!g.noSticky)){var d=0,h=l.offsetTop+l.clientHeight+40,f=l.offsetTop>=r.scrollTop&&h<=r.scrollTop+a,m=h-d=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(e){var t=e+'';return(i()?t+"
                                                          ":"
                                                          "+t)+'
                                                          \n
                                                          \n
                                                          \n
                                                          '}function b(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                          \n
                                                          \n
                                                          \n
                                                          '}function v(){return''}function y(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                        • '+e.title+"
                                                        • ",e.children&&(t+='
                                                          • '+y(e.children)+"
                                                          ")}),t):""}function k(e,t){return'

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

                                                          "}function w(e){P=e;var t=new M.Renderer;t.heading=function(e,t){var n=s(e),r="";return P.router&&(r="#/"+a()),F.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=N.highlight(e,N.languages[t]||N.languages.markup);return'
                                                          '+n.replace(/:/g,"__colon__")+"
                                                          "},t.link=function(e,t,n){return P.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                          "+e+"

                                                          "},"function"==typeof P.markdown?(I.setOptions({renderer:t}),I=P.markdown.call(this,I)):I.setOptions(j({renderer:t},P.markdown));var n=I;I=function(e){return o(n(e))}}function x(e,t){var n=document.querySelector("nav")||document.createElement("nav");P.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(P.repo)+(P.coverpage?b():"")+m(P.sidebarToggle?v():""),document.body.insertBefore(n,document.body.children[0]),p("button.sidebar-toggle"),P.coverpage?!i()&&window.addEventListener("scroll",g):document.body.classList.add("sticky")}function L(e){if(z("article",e?I(e):"not found"),P.sidebar||P.loadSidebar||_(),e&&"undefined"!=typeof Vue){W.vm&&W.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0];W.vm=t&&t.remove()?new Function("return "+t.innerText.trim())():new Vue({el:"main"}),W.vm&&W.vm.$nextTick(function(e){return l()})}P.auto2top&&setTimeout(function(){return d(P.auto2top)},0)}function S(e){W.navbar&&W.navbar===e||(W.navbar=e,e&&z("nav",I(e)),u("nav"))}function _(e){var n;e?(n=I(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=P.sidebar?y(P.sidebar,"
                                                            "):y(t(F,P.maxLevel),"
                                                              "),n=(P.name?'

                                                              '+P.name+"

                                                              ":"")+n,z("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&C(r),F=[],l()}function C(e){P.subMaxLevel&&(e.parentNode.innerHTML+=y(t(F,P.subMaxLevel),"
                                                                "))}function $(e){if($.dom=$.dom||document.querySelector("section.cover"),!e)return void $.dom.classList.remove("show");if($.dom.classList.add("show"),$.rendered)return g();var t=F.slice(),n=I(e),r=n.trim().match('

                                                                ([^<]*?)

                                                                $');if(F=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}z(".cover-main",n),$.rendered=!0,g()}function E(e){var t,n=e.loaded,r=e.total,a=e.step;if(!W.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),W.loading=i}a?(t=parseInt(W.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),W.loading.style.opacity=1,W.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(E.cacheTimeout),E.cacheTimeout=setTimeout(function(e){W.loading.style.opacity=0,W.loading.style.width="0%"},200))}var A=null,q=null;s.clear=function(){s.occurrences={}};var T=Object.prototype.hasOwnProperty,j=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                                                                "+i(e.message+"",!0)+"
                                                                ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                                                                \n":"
                                                                "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                                                                "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof O&&(O.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,a=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(r=(t.className.match(s)||[,""])[1]),!r){var o=(a.match(/\.(\w+)$/)||[,""])[1];r=e[o]||o}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",a,!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))}()}),P={},I=M,F=[],W={},z=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,s.clear(),e},R=j({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,sidebar:"",sidebarToggle:!1,loadSidebar:null,loadNavbar:null,router:!1,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",nameLink:window.location.pathname},window.$docsify),B=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(B){for(var D in R){var H=B.getAttribute("data-"+n(D));R[D]=r(H)?R[D]:H||!0}R.loadSidebar===!0&&(R.loadSidebar="_sidebar.md"),R.loadNavbar===!0&&(R.loadNavbar="_navbar.md"),R.coverpage===!0&&(R.coverpage="_coverpage.md"),R.repo===!0&&(R.repo=""),R.name===!0&&(R.name=""),R.sidebar&&(R.sidebar=window[R.sidebar])}w(R);var G=null,Z=null,U=function(t){var n=R.basePath+a();if(G===n)return t();var r=G=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var i;i=n?/\/$/.test(n)?n+"README.md":n+".md":R.homepage||"README.md",R.coverpage&&i===R.homepage&&e(R.coverpage).then($),Z&&Z.abort&&Z.abort(),Z=e(i,"GET",E),Z.then(function(n){if(L(n),R.coverpage&&i!==R.homepage&&$(),R.loadSidebar){var a=function(e){_(e),t()};e(r+R.loadSidebar).then(a,function(t){return e(R.loadSidebar).then(a)})}else t()},function(e){return L(null)}),R.loadNavbar&&e(r+R.loadNavbar).then(S,function(t){return e(R.loadNavbar).then(S)})},V=function(){var e=document.querySelector(R.el)||document.body,t=e!==document.body,n=function(){U(function(e){c(),u("nav")})};x(e,t),n(),R.router&&(/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n))},J=V();return J}(); diff --git a/lib/themes/buble.css b/lib/themes/buble.css index b1fb0ac..cf25ca3 100644 --- a/lib/themes/buble.css +++ b/lib/themes/buble.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css?family=Inconsolata|Inconsolata-Bold");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#0074d9;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#0074d9}nav a.active{border-bottom:2px solid #0074d9}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #0074d9;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#0074d9}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:16em;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:calc(16em - 1px);top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,116,217,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #0074d9;box-sizing:border-box;color:#0074d9;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Inconsolata|Inconsolata-Bold");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#0074d9;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#0074d9}nav a.active{border-bottom:2px solid #0074d9}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #0074d9;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#0074d9}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:16em;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,116,217,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #0074d9;box-sizing:border-box;color:#0074d9;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file diff --git a/lib/themes/pure.css b/lib/themes/pure.css index 08103ae..4f47c99 100644 --- a/lib/themes/pure.css +++ b/lib/themes/pure.css @@ -1 +1 @@ -*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#000;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#000}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a:hover{color:#000}nav a.active{color:#000;border-bottom:2px solid #000}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #000;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#000}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:299px;top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#000;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,0,0,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}} \ No newline at end of file +*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#000;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#000}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a:hover{color:#000}nav a.active{color:#000;border-bottom:2px solid #000}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #000;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#000}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#000;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,0,0,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}} \ No newline at end of file diff --git a/lib/themes/vue.css b/lib/themes/vue.css index 78462f8..dc0c433 100644 --- a/lib/themes/vue.css +++ b/lib/themes/vue.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#42b983;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983}nav a.active{border-bottom:2px solid #42b983}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #42b983;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;margin-bottom:40px}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar:after{content:"";position:inherit;left:299px;top:0;height:100vh;border-right:1px solid rgba(0,0,0,.07)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(66,185,131,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.sidebar{margin-bottom:0;border-right:1px solid rgba(0,0,0,.07)}.sidebar:after{content:none}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #42b983;box-sizing:border-box;color:#42b983;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#7f8c8d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#42b983;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983}nav a.active{border-bottom:2px solid #42b983}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #42b983;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(66,185,131,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #42b983;box-sizing:border-box;color:#42b983;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#7f8c8d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file From bb13ddd5dfe3b161170bd412577acf71bba56618 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Fri, 27 Jan 2017 12:45:42 +0800 Subject: [PATCH 017/826] -> v1.10.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 842e1c5..bef21dd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "1.10.2", + "version": "1.10.3", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From 98ec020c7a266fdd06921ff96c1b12f32a4e3a2e Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Fri, 27 Jan 2017 15:13:51 +0800 Subject: [PATCH 018/826] fix execute script --- CHANGELOG.md | 4 ++++ src/render.js | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 948d740..8d09668 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.10.4 +### Bug fixes +- fix execute script + ## 1.10.3 ### Bug fixes - compatible vuep QingWei-Li/vuep/issues/2 diff --git a/src/render.js b/src/render.js index f059b18..82f9445 100644 --- a/src/render.js +++ b/src/render.js @@ -113,11 +113,11 @@ export function renderArticle (content) { .filter(script => !/template/.test(script.type) )[0] - CACHE.vm = script && script.remove() + CACHE.vm = script ? new Function(`return ${script.innerText.trim()}`)() : new Vue({ el: 'main' }) // eslint-disable-line - CACHE.vm && CACHE.vm.$nextTick(_ => event.scrollActiveSidebar()) + script && script.remove() } if (OPTIONS.auto2top) setTimeout(() => event.scroll2Top(OPTIONS.auto2top), 0) } From 6f5bb1a527f8ad4c7d9b0296f8fc0293174ab225 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Fri, 27 Jan 2017 15:14:15 +0800 Subject: [PATCH 019/826] bump 1.10.4 --- docs/_coverpage.md | 2 +- lib/docsify.js | 4 ++-- lib/docsify.min.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 8c9b608..2fa8efe 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 1.10.3 +# docsify 1.10.4 > A magical documentation site generator. diff --git a/lib/docsify.js b/lib/docsify.js index 0621a5a..0d2e66f 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -2604,11 +2604,11 @@ function renderArticle (content) { .filter(function (script) { return !/template/.test(script.type); } )[0]; - CACHE.vm = script && script.remove() + CACHE.vm = script ? new Function(("return " + (script.innerText.trim())))() : new Vue({ el: 'main' }); // eslint-disable-line - CACHE.vm && CACHE.vm.$nextTick(function (_) { return scrollActiveSidebar(); }); + script && script.remove(); } if (OPTIONS$1.auto2top) { setTimeout(function () { return scroll2Top(OPTIONS$1.auto2top); }, 0); } } diff --git a/lib/docsify.min.js b/lib/docsify.min.js index 4b47baa..f6a1422 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(q===e.hash&&!r(A))return A;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,A=t,q=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(e){return e.replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,i=document.body.scrollTop,o=0,c=n.length;oi){e||(e=u);break}e=u}if(e){var p=s[e.getAttribute("data-id")];if(p&&p!==l&&(l&&l.classList.remove("active"),p.classList.add("active"),l=p,!t&&!g.noSticky)){var d=0,h=l.offsetTop+l.clientHeight+40,f=l.offsetTop>=r.scrollTop&&h<=r.scrollTop+a,m=h-d=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(e){var t=e+'';return(i()?t+"
                                                                ":"
                                                                "+t)+'
                                                                \n
                                                                \n
                                                                \n
                                                                '}function b(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                                \n
                                                                \n
                                                                \n
                                                                '}function v(){return''}function y(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                              • '+e.title+"
                                                              • ",e.children&&(t+='
                                                                • '+y(e.children)+"
                                                                ")}),t):""}function k(e,t){return'

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

                                                                "}function w(e){P=e;var t=new M.Renderer;t.heading=function(e,t){var n=s(e),r="";return P.router&&(r="#/"+a()),F.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=N.highlight(e,N.languages[t]||N.languages.markup);return'
                                                                '+n.replace(/:/g,"__colon__")+"
                                                                "},t.link=function(e,t,n){return P.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                                "+e+"

                                                                "},"function"==typeof P.markdown?(I.setOptions({renderer:t}),I=P.markdown.call(this,I)):I.setOptions(j({renderer:t},P.markdown));var n=I;I=function(e){return o(n(e))}}function x(e,t){var n=document.querySelector("nav")||document.createElement("nav");P.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(P.repo)+(P.coverpage?b():"")+m(P.sidebarToggle?v():""),document.body.insertBefore(n,document.body.children[0]),p("button.sidebar-toggle"),P.coverpage?!i()&&window.addEventListener("scroll",g):document.body.classList.add("sticky")}function L(e){if(z("article",e?I(e):"not found"),P.sidebar||P.loadSidebar||_(),e&&"undefined"!=typeof Vue){W.vm&&W.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0];W.vm=t&&t.remove()?new Function("return "+t.innerText.trim())():new Vue({el:"main"}),W.vm&&W.vm.$nextTick(function(e){return l()})}P.auto2top&&setTimeout(function(){return d(P.auto2top)},0)}function S(e){W.navbar&&W.navbar===e||(W.navbar=e,e&&z("nav",I(e)),u("nav"))}function _(e){var n;e?(n=I(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=P.sidebar?y(P.sidebar,"
                                                                  "):y(t(F,P.maxLevel),"
                                                                    "),n=(P.name?'

                                                                    '+P.name+"

                                                                    ":"")+n,z("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&C(r),F=[],l()}function C(e){P.subMaxLevel&&(e.parentNode.innerHTML+=y(t(F,P.subMaxLevel),"
                                                                      "))}function $(e){if($.dom=$.dom||document.querySelector("section.cover"),!e)return void $.dom.classList.remove("show");if($.dom.classList.add("show"),$.rendered)return g();var t=F.slice(),n=I(e),r=n.trim().match('

                                                                      ([^<]*?)

                                                                      $');if(F=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}z(".cover-main",n),$.rendered=!0,g()}function E(e){var t,n=e.loaded,r=e.total,a=e.step;if(!W.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),W.loading=i}a?(t=parseInt(W.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),W.loading.style.opacity=1,W.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(E.cacheTimeout),E.cacheTimeout=setTimeout(function(e){W.loading.style.opacity=0,W.loading.style.width="0%"},200))}var A=null,q=null;s.clear=function(){s.occurrences={}};var T=Object.prototype.hasOwnProperty,j=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                                                                      "+i(e.message+"",!0)+"
                                                                      ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                                                                      \n":"
                                                                      "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                                                                      "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof O&&(O.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/, +var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(q===e.hash&&!r(A))return A;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,A=t,q=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(e){return e.replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,i=document.body.scrollTop,o=0,c=n.length;oi){e||(e=u);break}e=u}if(e){var p=s[e.getAttribute("data-id")];if(p&&p!==l&&(l&&l.classList.remove("active"),p.classList.add("active"),l=p,!t&&!g.noSticky)){var d=0,h=l.offsetTop+l.clientHeight+40,f=l.offsetTop>=r.scrollTop&&h<=r.scrollTop+a,m=h-d=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(e){var t=e+'';return(i()?t+"
                                                                      ":"
                                                                      "+t)+'
                                                                      \n
                                                                      \n
                                                                      \n
                                                                      '}function b(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                                      \n
                                                                      \n
                                                                      \n
                                                                      '}function v(){return''}function y(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                                    • '+e.title+"
                                                                    • ",e.children&&(t+='
                                                                      • '+y(e.children)+"
                                                                      ")}),t):""}function k(e,t){return'

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

                                                                      "}function w(e){P=e;var t=new M.Renderer;t.heading=function(e,t){var n=s(e),r="";return P.router&&(r="#/"+a()),F.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=N.highlight(e,N.languages[t]||N.languages.markup);return'
                                                                      '+n.replace(/:/g,"__colon__")+"
                                                                      "},t.link=function(e,t,n){return P.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                                      "+e+"

                                                                      "},"function"==typeof P.markdown?(I.setOptions({renderer:t}),I=P.markdown.call(this,I)):I.setOptions(j({renderer:t},P.markdown));var n=I;I=function(e){return o(n(e))}}function x(e,t){var n=document.querySelector("nav")||document.createElement("nav");P.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(P.repo)+(P.coverpage?b():"")+m(P.sidebarToggle?v():""),document.body.insertBefore(n,document.body.children[0]),p("button.sidebar-toggle"),P.coverpage?!i()&&window.addEventListener("scroll",g):document.body.classList.add("sticky")}function L(e){if(z("article",e?I(e):"not found"),P.sidebar||P.loadSidebar||_(),e&&"undefined"!=typeof Vue){W.vm&&W.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0];W.vm=t?new Function("return "+t.innerText.trim())():new Vue({el:"main"}),W.vm&&W.vm.$nextTick(function(e){return l()}),t&&t.remove()}P.auto2top&&setTimeout(function(){return d(P.auto2top)},0)}function S(e){W.navbar&&W.navbar===e||(W.navbar=e,e&&z("nav",I(e)),u("nav"))}function _(e){var n;e?(n=I(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=P.sidebar?y(P.sidebar,"
                                                                        "):y(t(F,P.maxLevel),"
                                                                          "),n=(P.name?'

                                                                          '+P.name+"

                                                                          ":"")+n,z("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&C(r),F=[],l()}function C(e){P.subMaxLevel&&(e.parentNode.innerHTML+=y(t(F,P.subMaxLevel),"
                                                                            "))}function $(e){if($.dom=$.dom||document.querySelector("section.cover"),!e)return void $.dom.classList.remove("show");if($.dom.classList.add("show"),$.rendered)return g();var t=F.slice(),n=I(e),r=n.trim().match('

                                                                            ([^<]*?)

                                                                            $');if(F=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}z(".cover-main",n),$.rendered=!0,g()}function E(e){var t,n=e.loaded,r=e.total,a=e.step;if(!W.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),W.loading=i}a?(t=parseInt(W.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),W.loading.style.opacity=1,W.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(E.cacheTimeout),E.cacheTimeout=setTimeout(function(e){W.loading.style.opacity=0,W.loading.style.width="0%"},200))}var A=null,q=null;s.clear=function(){s.occurrences={}};var T=Object.prototype.hasOwnProperty,j=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                                                                            "+i(e.message+"",!0)+"
                                                                            ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                                                                            \n":"
                                                                            "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                                                                            "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof O&&(O.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,a=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(r=(t.className.match(s)||[,""])[1]),!r){var o=(a.match(/\.(\w+)$/)||[,""])[1];r=e[o]||o}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",a,!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))}()}),P={},I=M,F=[],W={},z=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,s.clear(),e},R=j({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,sidebar:"",sidebarToggle:!1,loadSidebar:null,loadNavbar:null,router:!1,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",nameLink:window.location.pathname},window.$docsify),B=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(B){for(var D in R){var H=B.getAttribute("data-"+n(D));R[D]=r(H)?R[D]:H||!0}R.loadSidebar===!0&&(R.loadSidebar="_sidebar.md"),R.loadNavbar===!0&&(R.loadNavbar="_navbar.md"),R.coverpage===!0&&(R.coverpage="_coverpage.md"),R.repo===!0&&(R.repo=""),R.name===!0&&(R.name=""),R.sidebar&&(R.sidebar=window[R.sidebar])}w(R);var G=null,Z=null,U=function(t){var n=R.basePath+a();if(G===n)return t();var r=G=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var i;i=n?/\/$/.test(n)?n+"README.md":n+".md":R.homepage||"README.md",R.coverpage&&i===R.homepage&&e(R.coverpage).then($),Z&&Z.abort&&Z.abort(),Z=e(i,"GET",E),Z.then(function(n){if(L(n),R.coverpage&&i!==R.homepage&&$(),R.loadSidebar){var a=function(e){_(e),t()};e(r+R.loadSidebar).then(a,function(t){return e(R.loadSidebar).then(a)})}else t()},function(e){return L(null)}),R.loadNavbar&&e(r+R.loadNavbar).then(S,function(t){return e(R.loadNavbar).then(S)})},V=function(){var e=document.querySelector(R.el)||document.body,t=e!==document.body,n=function(){U(function(e){c(),u("nav")})};x(e,t),n(),R.router&&(/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n))},J=V();return J}(); From 89f0b1fcbde97dd39a87d1b16fc283ecc6cf6524 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Fri, 27 Jan 2017 15:14:23 +0800 Subject: [PATCH 020/826] -> v1.10.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bef21dd..215c0b2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "1.10.3", + "version": "1.10.4", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From 3ec7c89bbb3f9562c56e1423d1f67801289bcd34 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 28 Jan 2017 11:11:58 +0800 Subject: [PATCH 021/826] fix initialize the Vue instance --- src/render.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/render.js b/src/render.js index 82f9445..e73c387 100644 --- a/src/render.js +++ b/src/render.js @@ -112,12 +112,13 @@ export function renderArticle (content) { document.body.querySelectorAll('article>script')) .filter(script => !/template/.test(script.type) )[0] + const code = script ? script.innerText.trim() : null - CACHE.vm = script - ? new Function(`return ${script.innerText.trim()}`)() + script && script.remove() + CACHE.vm = code + ? new Function(`return ${code}`)() : new Vue({ el: 'main' }) // eslint-disable-line CACHE.vm && CACHE.vm.$nextTick(_ => event.scrollActiveSidebar()) - script && script.remove() } if (OPTIONS.auto2top) setTimeout(() => event.scroll2Top(OPTIONS.auto2top), 0) } From a35a336d0023da6495dcae2d46c1d6242eb067b6 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 28 Jan 2017 11:12:22 +0800 Subject: [PATCH 022/826] bump 1.10.5 --- CHANGELOG.md | 4 ++++ docs/_coverpage.md | 2 +- lib/docsify.js | 7 ++++--- lib/docsify.min.js | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d09668..713d6f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.10.5 +### Bug fixes +- fix initialize the Vue instance + ## 1.10.4 ### Bug fixes - fix execute script diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 2fa8efe..39180a4 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 1.10.4 +# docsify 1.10.5 > A magical documentation site generator. diff --git a/lib/docsify.js b/lib/docsify.js index 0d2e66f..f0bfe7e 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -2603,12 +2603,13 @@ function renderArticle (content) { document.body.querySelectorAll('article>script')) .filter(function (script) { return !/template/.test(script.type); } )[0]; + var code = script ? script.innerText.trim() : null; - CACHE.vm = script - ? new Function(("return " + (script.innerText.trim())))() + script && script.remove(); + CACHE.vm = code + ? new Function(("return " + code))() : new Vue({ el: 'main' }); // eslint-disable-line CACHE.vm && CACHE.vm.$nextTick(function (_) { return scrollActiveSidebar(); }); - script && script.remove(); } if (OPTIONS$1.auto2top) { setTimeout(function () { return scroll2Top(OPTIONS$1.auto2top); }, 0); } } diff --git a/lib/docsify.min.js b/lib/docsify.min.js index f6a1422..1f21a57 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(q===e.hash&&!r(A))return A;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,A=t,q=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(e){return e.replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,i=document.body.scrollTop,o=0,c=n.length;oi){e||(e=u);break}e=u}if(e){var p=s[e.getAttribute("data-id")];if(p&&p!==l&&(l&&l.classList.remove("active"),p.classList.add("active"),l=p,!t&&!g.noSticky)){var d=0,h=l.offsetTop+l.clientHeight+40,f=l.offsetTop>=r.scrollTop&&h<=r.scrollTop+a,m=h-d=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(e){var t=e+'';return(i()?t+"
                                                                            ":"
                                                                            "+t)+'
                                                                            \n
                                                                            \n
                                                                            \n
                                                                            '}function b(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                                            \n
                                                                            \n
                                                                            \n
                                                                            '}function v(){return''}function y(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                                          • '+e.title+"
                                                                          • ",e.children&&(t+='
                                                                            • '+y(e.children)+"
                                                                            ")}),t):""}function k(e,t){return'

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

                                                                            "}function w(e){P=e;var t=new M.Renderer;t.heading=function(e,t){var n=s(e),r="";return P.router&&(r="#/"+a()),F.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=N.highlight(e,N.languages[t]||N.languages.markup);return'
                                                                            '+n.replace(/:/g,"__colon__")+"
                                                                            "},t.link=function(e,t,n){return P.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                                            "+e+"

                                                                            "},"function"==typeof P.markdown?(I.setOptions({renderer:t}),I=P.markdown.call(this,I)):I.setOptions(j({renderer:t},P.markdown));var n=I;I=function(e){return o(n(e))}}function x(e,t){var n=document.querySelector("nav")||document.createElement("nav");P.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(P.repo)+(P.coverpage?b():"")+m(P.sidebarToggle?v():""),document.body.insertBefore(n,document.body.children[0]),p("button.sidebar-toggle"),P.coverpage?!i()&&window.addEventListener("scroll",g):document.body.classList.add("sticky")}function L(e){if(z("article",e?I(e):"not found"),P.sidebar||P.loadSidebar||_(),e&&"undefined"!=typeof Vue){W.vm&&W.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0];W.vm=t?new Function("return "+t.innerText.trim())():new Vue({el:"main"}),W.vm&&W.vm.$nextTick(function(e){return l()}),t&&t.remove()}P.auto2top&&setTimeout(function(){return d(P.auto2top)},0)}function S(e){W.navbar&&W.navbar===e||(W.navbar=e,e&&z("nav",I(e)),u("nav"))}function _(e){var n;e?(n=I(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=P.sidebar?y(P.sidebar,"
                                                                              "):y(t(F,P.maxLevel),"
                                                                                "),n=(P.name?'

                                                                                '+P.name+"

                                                                                ":"")+n,z("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&C(r),F=[],l()}function C(e){P.subMaxLevel&&(e.parentNode.innerHTML+=y(t(F,P.subMaxLevel),"
                                                                                  "))}function $(e){if($.dom=$.dom||document.querySelector("section.cover"),!e)return void $.dom.classList.remove("show");if($.dom.classList.add("show"),$.rendered)return g();var t=F.slice(),n=I(e),r=n.trim().match('

                                                                                  ([^<]*?)

                                                                                  $');if(F=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}z(".cover-main",n),$.rendered=!0,g()}function E(e){var t,n=e.loaded,r=e.total,a=e.step;if(!W.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),W.loading=i}a?(t=parseInt(W.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),W.loading.style.opacity=1,W.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(E.cacheTimeout),E.cacheTimeout=setTimeout(function(e){W.loading.style.opacity=0,W.loading.style.width="0%"},200))}var A=null,q=null;s.clear=function(){s.occurrences={}};var T=Object.prototype.hasOwnProperty,j=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                                                                                  "+i(e.message+"",!0)+"
                                                                                  ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                                                                                  \n":"
                                                                                  "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                                                                                  "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof O&&(O.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/, +var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(q===e.hash&&!r(A))return A;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,A=t,q=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(e){return e.replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,i=document.body.scrollTop,o=0,c=n.length;oi){e||(e=u);break}e=u}if(e){var p=s[e.getAttribute("data-id")];if(p&&p!==l&&(l&&l.classList.remove("active"),p.classList.add("active"),l=p,!t&&!g.noSticky)){var d=0,h=l.offsetTop+l.clientHeight+40,f=l.offsetTop>=r.scrollTop&&h<=r.scrollTop+a,m=h-d=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(e){var t=e+'';return(i()?t+"
                                                                                  ":"
                                                                                  "+t)+'
                                                                                  \n
                                                                                  \n
                                                                                  \n
                                                                                  '}function b(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                                                  \n
                                                                                  \n
                                                                                  \n
                                                                                  '}function v(){return''}function y(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                                                • '+e.title+"
                                                                                • ",e.children&&(t+='
                                                                                  • '+y(e.children)+"
                                                                                  ")}),t):""}function k(e,t){return'

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

                                                                                  "}function w(e){P=e;var t=new M.Renderer;t.heading=function(e,t){var n=s(e),r="";return P.router&&(r="#/"+a()),F.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=N.highlight(e,N.languages[t]||N.languages.markup);return'
                                                                                  '+n.replace(/:/g,"__colon__")+"
                                                                                  "},t.link=function(e,t,n){return P.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                                                  "+e+"

                                                                                  "},"function"==typeof P.markdown?(I.setOptions({renderer:t}),I=P.markdown.call(this,I)):I.setOptions(j({renderer:t},P.markdown));var n=I;I=function(e){return o(n(e))}}function x(e,t){var n=document.querySelector("nav")||document.createElement("nav");P.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(P.repo)+(P.coverpage?b():"")+m(P.sidebarToggle?v():""),document.body.insertBefore(n,document.body.children[0]),p("button.sidebar-toggle"),P.coverpage?!i()&&window.addEventListener("scroll",g):document.body.classList.add("sticky")}function L(e){if(z("article",e?I(e):"not found"),P.sidebar||P.loadSidebar||_(),e&&"undefined"!=typeof Vue){W.vm&&W.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0],n=t?t.innerText.trim():null;t&&t.remove(),W.vm=n?new Function("return "+n)():new Vue({el:"main"}),W.vm&&W.vm.$nextTick(function(e){return l()})}P.auto2top&&setTimeout(function(){return d(P.auto2top)},0)}function S(e){W.navbar&&W.navbar===e||(W.navbar=e,e&&z("nav",I(e)),u("nav"))}function _(e){var n;e?(n=I(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=P.sidebar?y(P.sidebar,"
                                                                                    "):y(t(F,P.maxLevel),"
                                                                                      "),n=(P.name?'

                                                                                      '+P.name+"

                                                                                      ":"")+n,z("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&C(r),F=[],l()}function C(e){P.subMaxLevel&&(e.parentNode.innerHTML+=y(t(F,P.subMaxLevel),"
                                                                                        "))}function $(e){if($.dom=$.dom||document.querySelector("section.cover"),!e)return void $.dom.classList.remove("show");if($.dom.classList.add("show"),$.rendered)return g();var t=F.slice(),n=I(e),r=n.trim().match('

                                                                                        ([^<]*?)

                                                                                        $');if(F=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}z(".cover-main",n),$.rendered=!0,g()}function E(e){var t,n=e.loaded,r=e.total,a=e.step;if(!W.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),W.loading=i}a?(t=parseInt(W.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),W.loading.style.opacity=1,W.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(E.cacheTimeout),E.cacheTimeout=setTimeout(function(e){W.loading.style.opacity=0,W.loading.style.width="0%"},200))}var A=null,q=null;s.clear=function(){s.occurrences={}};var T=Object.prototype.hasOwnProperty,j=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                                                                                        "+i(e.message+"",!0)+"
                                                                                        ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                                                                                        \n":"
                                                                                        "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                                                                                        "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof O&&(O.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,a=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(r=(t.className.match(s)||[,""])[1]),!r){var o=(a.match(/\.(\w+)$/)||[,""])[1];r=e[o]||o}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",a,!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))}()}),P={},I=M,F=[],W={},z=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,s.clear(),e},R=j({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,sidebar:"",sidebarToggle:!1,loadSidebar:null,loadNavbar:null,router:!1,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",nameLink:window.location.pathname},window.$docsify),B=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(B){for(var D in R){var H=B.getAttribute("data-"+n(D));R[D]=r(H)?R[D]:H||!0}R.loadSidebar===!0&&(R.loadSidebar="_sidebar.md"),R.loadNavbar===!0&&(R.loadNavbar="_navbar.md"),R.coverpage===!0&&(R.coverpage="_coverpage.md"),R.repo===!0&&(R.repo=""),R.name===!0&&(R.name=""),R.sidebar&&(R.sidebar=window[R.sidebar])}w(R);var G=null,Z=null,U=function(t){var n=R.basePath+a();if(G===n)return t();var r=G=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var i;i=n?/\/$/.test(n)?n+"README.md":n+".md":R.homepage||"README.md",R.coverpage&&i===R.homepage&&e(R.coverpage).then($),Z&&Z.abort&&Z.abort(),Z=e(i,"GET",E),Z.then(function(n){if(L(n),R.coverpage&&i!==R.homepage&&$(),R.loadSidebar){var a=function(e){_(e),t()};e(r+R.loadSidebar).then(a,function(t){return e(R.loadSidebar).then(a)})}else t()},function(e){return L(null)}),R.loadNavbar&&e(r+R.loadNavbar).then(S,function(t){return e(R.loadNavbar).then(S)})},V=function(){var e=document.querySelector(R.el)||document.body,t=e!==document.body,n=function(){U(function(e){c(),u("nav")})};x(e,t),n(),R.router&&(/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n))},J=V();return J}(); From ae1ad735d5d614575e50f0ca5fde68dd789b245e Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 28 Jan 2017 11:12:26 +0800 Subject: [PATCH 023/826] -> v1.10.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 215c0b2..41e4fe6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "1.10.4", + "version": "1.10.5", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From 5cc9f0514c04805cf1d9ec324a634644ba28a145 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 4 Feb 2017 23:45:35 +0800 Subject: [PATCH 024/826] feat: customize the theme color --- .eslintrc | 3 +- CHANGELOG.md | 4 +++ build/build-css.js | 10 ++++++- docs/README.md | 13 +++++++++ docs/zh-cn.md | 14 ++++++++++ src/index.js | 4 +++ src/polyfill.js | 27 ++++++++++++++++++ src/render.js | 49 +++++++++++++++++---------------- src/themes/basic/_coverpage.css | 6 ++-- src/themes/basic/_layout.css | 14 +++++----- src/themes/buble.css | 4 +-- src/themes/vue.css | 10 +++---- src/tpl.js | 4 +++ 13 files changed, 120 insertions(+), 42 deletions(-) create mode 100644 src/polyfill.js diff --git a/.eslintrc b/.eslintrc index d5691ad..a88323e 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,7 @@ { "extends": ["vue"], "globals": { - "XMLHttpRequest": true + "XMLHttpRequest": true, + "__docsify__": true } } diff --git a/CHANGELOG.md b/CHANGELOG.md index 713d6f6..98aed14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.0 +### Features +- Customize the theme color + ## 1.10.5 ### Bug fixes - fix initialize the Vue instance diff --git a/build/build-css.js b/build/build-css.js index 0890c29..15af1d8 100644 --- a/build/build-css.js +++ b/build/build-css.js @@ -3,7 +3,15 @@ var cssnano = require('cssnano').process var resolve = require('path').resolve var postcss = require('postcss') -var processor = postcss([require('postcss-salad')]) +var processor = postcss([require('postcss-salad')({ + features: { + precss: { + properties: { + preserve: true + } + } + } +})]) var saveMin = function (file, content) { fs.writeFileSync(resolve(__dirname, '../lib/themes/', file), content) diff --git a/docs/README.md b/docs/README.md index e28164f..e989397 100644 --- a/docs/README.md +++ b/docs/README.md @@ -503,4 +503,17 @@ window.$docsify = { } ``` +### theme-color +Customize the theme color. + + +```html + +``` + +```js +window.$docsify = { + themeColor: '#3F51B5' +} +``` diff --git a/docs/zh-cn.md b/docs/zh-cn.md index da83dff..0e48ea7 100644 --- a/docs/zh-cn.md +++ b/docs/zh-cn.md @@ -511,3 +511,17 @@ window.$docsify = { } ``` +### themeColor + +自定义主题色。 + + +```html + +``` + +```js +window.$docsify = { + themeColor: '#3F51B5' +} +``` diff --git a/src/index.js b/src/index.js index 233a830..716d73a 100644 --- a/src/index.js +++ b/src/index.js @@ -17,6 +17,7 @@ const OPTIONS = merge({ basePath: '', auto2top: false, name: '', + themeColor: '', nameLink: window.location.pathname }, window.$docsify) const script = document.currentScript || [].slice.call(document.getElementsByTagName('script')).pop() @@ -35,6 +36,9 @@ if (script) { if (OPTIONS.sidebar) OPTIONS.sidebar = window[OPTIONS.sidebar] } +// utils +window.__docsify__ = OPTIONS + // load options render.init(OPTIONS) diff --git a/src/polyfill.js b/src/polyfill.js new file mode 100644 index 0000000..551499b --- /dev/null +++ b/src/polyfill.js @@ -0,0 +1,27 @@ +import { load } from './util' + +function replaceVar (block) { + block.innerHTML = block.innerHTML.replace(/var\(\s*--theme-color.*?\)/g, __docsify__.themeColor) +} + +export function cssVars () { + // variable support + if (window.CSS && window.CSS.supports && window.CSS.supports('(--foo: red)')) return + + const styleBlocks = document.querySelectorAll('style:not(.inserted),link') + + ;[].forEach.call(styleBlocks, block => { + if (block.nodeName === 'STYLE') { + replaceVar(block) + } else if (block.nodeName === 'LINK') { + load(block.getAttribute('href')) + .then(res => { + const style = document.createElement('style') + + style.innerHTML = res + document.head.appendChild(style) + replaceVar(style) + }) + } + }) +} diff --git a/src/render.js b/src/render.js index e73c387..5ac5fdf 100644 --- a/src/render.js +++ b/src/render.js @@ -2,9 +2,9 @@ import marked from 'marked' import Prism from 'prismjs' import * as tpl from './tpl' import * as event from './event' +import * as polyfill from './polyfill' import { genTree, getRoute, isMobile, slugify, merge, emojify } from './util' -let OPTIONS = {} let markdown = marked let toc = [] const CACHE = {} @@ -19,11 +19,8 @@ const renderTo = function (dom, content) { /** * init render - * @param {Object} options */ -export function init (options) { - OPTIONS = options - +export function init () { const renderer = new marked.Renderer() /** * render anchor tag @@ -33,7 +30,7 @@ export function init (options) { const slug = slugify(text) let route = '' - if (OPTIONS.router) { + if (__docsify__.router) { route = `#/${getRoute()}` } @@ -48,7 +45,7 @@ export function init (options) { return `
                                                                                        ${hl.replace(/:/g, '__colon__')}
                                                                                        ` } renderer.link = function (href, title, text) { - if (OPTIONS.router && !/:/.test(href)) { + if (__docsify__.router && !/:/.test(href)) { href = `#/${href}`.replace(/\/\//g, '/') } @@ -63,11 +60,11 @@ export function init (options) { return `

                                                                                        ${text}

                                                                                        ` } - if (typeof OPTIONS.markdown === 'function') { + if (typeof __docsify__.markdown === 'function') { markdown.setOptions({ renderer }) - markdown = OPTIONS.markdown.call(this, markdown) + markdown = __docsify__.markdown.call(this, markdown) } else { - markdown.setOptions(merge({ renderer }, OPTIONS.markdown)) + markdown.setOptions(merge({ renderer }, __docsify__.markdown)) } const md = markdown @@ -81,17 +78,23 @@ export function init (options) { export function renderApp (dom, replace) { const nav = document.querySelector('nav') || document.createElement('nav') - if (!OPTIONS.repo) nav.classList.add('no-badge') + if (!__docsify__.repo) nav.classList.add('no-badge') - dom[replace ? 'outerHTML' : 'innerHTML'] = tpl.corner(OPTIONS.repo) + - (OPTIONS.coverpage ? tpl.cover() : '') + - tpl.main(OPTIONS.sidebarToggle ? tpl.toggle() : '') + dom[replace ? 'outerHTML' : 'innerHTML'] = tpl.corner(__docsify__.repo) + + (__docsify__.coverpage ? tpl.cover() : '') + + tpl.main(__docsify__.sidebarToggle ? tpl.toggle() : '') document.body.insertBefore(nav, document.body.children[0]) + // theme color + if (__docsify__.themeColor) { + document.head.innerHTML += tpl.theme(__docsify__.themeColor) + polyfill.cssVars() + } + // bind toggle event.bindToggle('button.sidebar-toggle') // bind sticky effect - if (OPTIONS.coverpage) { + if (__docsify__.coverpage) { !isMobile() && window.addEventListener('scroll', event.sticky) } else { document.body.classList.add('sticky') @@ -103,7 +106,7 @@ export function renderApp (dom, replace) { */ export function renderArticle (content) { renderTo('article', content ? markdown(content) : 'not found') - if (!OPTIONS.sidebar && !OPTIONS.loadSidebar) renderSidebar() + if (!__docsify__.sidebar && !__docsify__.loadSidebar) renderSidebar() if (content && typeof Vue !== 'undefined') { CACHE.vm && CACHE.vm.$destroy() @@ -120,7 +123,7 @@ export function renderArticle (content) { : new Vue({ el: 'main' }) // eslint-disable-line CACHE.vm && CACHE.vm.$nextTick(_ => event.scrollActiveSidebar()) } - if (OPTIONS.auto2top) setTimeout(() => event.scroll2Top(OPTIONS.auto2top), 0) + if (__docsify__.auto2top) setTimeout(() => event.scroll2Top(__docsify__.auto2top), 0) } /** @@ -144,13 +147,13 @@ export function renderSidebar (content) { html = markdown(content) // find url tag html = html.match(/]*>([\s\S]+)<\/ul>/g)[0] - } else if (OPTIONS.sidebar) { - html = tpl.tree(OPTIONS.sidebar, '
                                                                                          ') + } else if (__docsify__.sidebar) { + html = tpl.tree(__docsify__.sidebar, '
                                                                                            ') } else { - html = tpl.tree(genTree(toc, OPTIONS.maxLevel), '
                                                                                              ') + html = tpl.tree(genTree(toc, __docsify__.maxLevel), '
                                                                                                ') } - html = (OPTIONS.name ? `

                                                                                                ${OPTIONS.name}

                                                                                                ` : '') + html + html = (__docsify__.name ? `

                                                                                                ${__docsify__.name}

                                                                                                ` : '') + html renderTo('aside.sidebar', html) const target = event.activeLink('aside.sidebar', true) if (target) renderSubSidebar(target) @@ -160,8 +163,8 @@ export function renderSidebar (content) { } export function renderSubSidebar (target) { - if (!OPTIONS.subMaxLevel) return - target.parentNode.innerHTML += tpl.tree(genTree(toc, OPTIONS.subMaxLevel), '
                                                                                                  ') + if (!__docsify__.subMaxLevel) return + target.parentNode.innerHTML += tpl.tree(genTree(toc, __docsify__.subMaxLevel), '
                                                                                                    ') } /** diff --git a/src/themes/basic/_coverpage.css b/src/themes/basic/_coverpage.css index 6503cb9..1435076 100644 --- a/src/themes/basic/_coverpage.css +++ b/src/themes/basic/_coverpage.css @@ -72,9 +72,9 @@ section.cover { .cover-main p:last-child a { border-radius: 2em; - border: 1px solid $color-primary; + border: 1px solid var(--theme-color, $color-primary); box-sizing: border-box; - color: $color-primary; + color: var(--theme-color, $color-primary); font-size: 1.05em; letter-spacing: 0.1em; padding: 0.75em 2em; @@ -85,7 +85,7 @@ section.cover { &:last-child { margin-right: 0; - background-color: $color-primary; + background-color: var(--theme-color, $color-primary); color: #fff; &:hover { diff --git a/src/themes/basic/_layout.css b/src/themes/basic/_layout.css index 3a711c5..ddc3f5b 100644 --- a/src/themes/basic/_layout.css +++ b/src/themes/basic/_layout.css @@ -13,7 +13,7 @@ } .progress { - background-color: $color-primary; + background-color: var(--theme-color, $color-primary); height: 2px; left: 0px; position: fixed; @@ -86,12 +86,12 @@ nav { transition: color .3s; &:hover { - color: $color-primary; + color: var(--theme-color, $color-primary); } &.active { - color: $color-primary; - border-bottom: 2px solid $color-primary; + color: var(--theme-color, $color-primary); + border-bottom: 2px solid var(--theme-color, $color-primary); } } @@ -103,7 +103,7 @@ nav { ul { border-radius: 2px; background-color: rgba($color-bg, .6); - border: 1px solid $color-primary; + border: 1px solid var(--theme-color, $color-primary); opacity: 0; overflow: hidden; padding: 0; @@ -160,7 +160,7 @@ nav { color: $color-bg; height: 80px; width: 80px; - fill: $color-primary; + fill: var(--theme-color, $color-primary); } } @@ -246,7 +246,7 @@ main { } span { - background-color: $color-primary; + background-color: var(--theme-color, $color-primary); display: block; size: 16px 2px; margin-bottom: 4px; diff --git a/src/themes/buble.css b/src/themes/buble.css index f19187d..3cb84d2 100644 --- a/src/themes/buble.css +++ b/src/themes/buble.css @@ -47,7 +47,7 @@ $sidebar-width: 16em; } .markdown-section a { - color: $color-primary; + color: var(--theme-color, $color-primary); font-weight: 400; } @@ -110,7 +110,7 @@ $sidebar-width: 16em; .markdown-section blockquote { color: #858585; - border-left: 4px solid $color-primary; + border-left: 4px solid var(--theme-color, $color-primary); margin: 2em 0; padding-left: 20px; } diff --git a/src/themes/vue.css b/src/themes/vue.css index 1c6039d..6bb47a5 100644 --- a/src/themes/vue.css +++ b/src/themes/vue.css @@ -38,7 +38,7 @@ body { } ul li.active>a { - color: $color-primary; + color: var(--theme-color, $color-primary); font-weight: 600; } } @@ -54,7 +54,7 @@ body { } .markdown-section a { - color: $color-primary; + color: var(--theme-color, $color-primary); font-weight: 600; } @@ -107,7 +107,7 @@ body { .markdown-section blockquote { color: #858585; - border-left: 4px solid $color-primary; + border-left: 4px solid var(--theme-color, $color-primary); margin: 2em 0; padding-left: 20px; } @@ -179,7 +179,7 @@ body { } .token.string { - color: $color-primary; + color: var(--theme-color, $color-primary); } .token.selector { @@ -201,7 +201,7 @@ body { .token.control, .token.directive, .token.unit { - color: $color-primary; + color: var(--theme-color, $color-primary); } .token.keyword { diff --git a/src/tpl.js b/src/tpl.js index db83258..0dbeb74 100644 --- a/src/tpl.js +++ b/src/tpl.js @@ -75,3 +75,7 @@ export function tree (toc, tpl = '') { export function helper (className, content) { return `

                                                                                                    ${content.slice(5).trim()}

                                                                                                    ` } + +export function theme (color) { + return `` +} From fef969f55d6ed86df6d422b30fee407c6ac1fcb0 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 5 Feb 2017 09:50:08 +0800 Subject: [PATCH 025/826] clean api --- CHANGELOG.md | 3 +++ README.md | 8 ++++-- dev.html | 4 +-- docs/README.md | 64 +++--------------------------------------------- docs/index.html | 4 +-- docs/zh-cn.md | 65 +++---------------------------------------------- src/index.js | 10 ++------ src/render.js | 13 +++------- src/tpl.js | 4 +-- 9 files changed, 26 insertions(+), 149 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98aed14..12e258c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ### Features - Customize the theme color +### Break change +- Remove `data-router`, `data-sidebar`, `data-sidebar-toggle` APIs + ## 1.10.5 ### Bug fixes - fix initialize the Vue instance diff --git a/README.md b/README.md index 0e1938c..b5d7e09 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ - Support emoji :laughing: ## Quick start -Create a `index.html` and using `hash router`. +Create a `index.html`. index.html @@ -39,7 +39,7 @@ index.html
                                                                                                    - + ``` @@ -47,6 +47,10 @@ index.html - UNPKG [https://unpkg.com/docsify/](https://unpkg.com/docsify/) - jsDelivr [http://www.jsdelivr.com/projects/docsify](http://www.jsdelivr.com/projects/docsify) +## Browser Support + +Modern browsers and Internet Explorer 9+. + ## Showcase These open-source projects are using docsify to generate their sites. Pull requests welcome : ) diff --git a/dev.html b/dev.html index d66b16d..8b2b27c 100644 --- a/dev.html +++ b/dev.html @@ -5,8 +5,8 @@ - +
                                                                                                    - + diff --git a/docs/README.md b/docs/README.md index e989397..aa14a37 100644 --- a/docs/README.md +++ b/docs/README.md @@ -20,7 +20,7 @@ Create a `index.html` file
                                                                                                    - + ``` @@ -191,7 +191,7 @@ We can write the Vue syntax directly in the markdown file, when the Vue library index.html ```html - + ``` ```markdown @@ -260,50 +260,6 @@ window.$docsify = { } ``` -### sidebar-toggle - -Sidebar with toggle - -```html - -``` - -```js -window.$docsify = { - sidebarToggle: true -} -``` - -### sidebar - -Custom sidebar. If it's set, the TOC will be disabled. Bind global variables on the `data-sidebar`. - -![image](https://cloud.githubusercontent.com/assets/7565692/20647425/de5ab1c2-b4ce-11e6-863a-135868f2f9b4.png) - -```html - - -``` - - -```js -window.$docsify = { - sidebar: 'sidebar' -} -``` - ### load-sidebar Load sidebar markdown file. If it is configured, load the current directory `_sidebar.md` by default. If the file doesn't exist, the sidebar will appear as a TOC. @@ -388,20 +344,6 @@ If you write a sub level list, it will generate a dropdown list. - [chinese](/zh-cn) ``` -### router - -Hash router. - -```html - -``` - -```js -window.$docsify = { - router: true -} -``` - ### auto2top @@ -423,7 +365,7 @@ window.$docsify = { ### homepage -`README.md` will be rendered as a homepage for your website in the docs folder, but sometimes we want to specify another file as a homepage, or even use the `README.md` in your repo. We can use (need `data-router`): +`README.md` will be rendered as a homepage for your website in the docs folder, but sometimes we want to specify another file as a homepage, or even use the `README.md` in your repo. ```html diff --git a/docs/index.html b/docs/index.html index fa7ac30..16adf82 100644 --- a/docs/index.html +++ b/docs/index.html @@ -18,10 +18,8 @@ + data-name="docsify"> diff --git a/docs/zh-cn.md b/docs/zh-cn.md index 0e48ea7..53fb7c0 100644 --- a/docs/zh-cn.md +++ b/docs/zh-cn.md @@ -25,7 +25,7 @@ mkdir docs && cd docs
                                                                                                    - + ``` @@ -201,7 +201,7 @@ window.$docsify = { index.html ```html - + ``` ```markdown @@ -271,51 +271,6 @@ window.$docsify = { } ``` -### sidebar-toggle - -Sidebar 开关按钮 - -```html - -``` - - -```js -window.$docsify = { - sidebarToggle: true -} -``` - -### sidebar - -设置后 TOC 功能将不可用,适合导航较多的文档,`data-sidebar` 传入全局变量名。 - -![image](https://cloud.githubusercontent.com/assets/7565692/20647425/de5ab1c2-b4ce-11e6-863a-135868f2f9b4.png) - -```html - - -``` - - -```js -window.$docsify = { - sidebar: 'sidebar' -} -``` - ### load-sidebar 读取侧边栏配置文件,如果配置,默认加载当前目录下的 `_sidebar.md`。如果文件不存在,会显示 TOC 作为侧边栏内容。如果你有二级目录,也应该放置一份配置文件。 @@ -400,20 +355,6 @@ window.$docsify = { ``` -### router - -开启 hash router 功能,同时多页面切换不会重新加载资源。资源路径会被替换成 `/#/` 的形式。 - -```html - -``` - -```js -window.$docsify = { - router: true -} -``` - ### auto2top 切换路由时自动跳转到页面顶部 @@ -431,7 +372,7 @@ window.$docsify = { ### homepage -默认情况下网站会将根目录下 `README.md` 作为首页渲染,但是有些时候我们想指定其他文件,甚至想直接将 repo 下的 README 作为首页。你可以这样做(需要设置 `data-router`): +默认情况下网站会将根目录下 `README.md` 作为首页渲染,但是有些时候我们想指定其他文件,甚至想直接将 repo 下的 README 作为首页。 ```html diff --git a/src/index.js b/src/index.js index 716d73a..e383175 100644 --- a/src/index.js +++ b/src/index.js @@ -7,11 +7,8 @@ const OPTIONS = merge({ repo: '', maxLevel: 6, subMaxLevel: 0, - sidebar: '', - sidebarToggle: false, loadSidebar: null, loadNavbar: null, - router: false, homepage: 'README.md', coverpage: '', basePath: '', @@ -33,7 +30,6 @@ if (script) { if (OPTIONS.coverpage === true) OPTIONS.coverpage = '_coverpage.md' if (OPTIONS.repo === true) OPTIONS.repo = '' if (OPTIONS.name === true) OPTIONS.name = '' - if (OPTIONS.sidebar) OPTIONS.sidebar = window[OPTIONS.sidebar] } // utils @@ -109,10 +105,8 @@ const Docsify = function () { // Render app render.renderApp(dom, replace) main() - if (OPTIONS.router) { - if (!/^#\//.test(window.location.hash)) window.location.hash = '#/' - window.addEventListener('hashchange', main) - } + if (!/^#\//.test(window.location.hash)) window.location.hash = '#/' + window.addEventListener('hashchange', main) } export default Docsify() diff --git a/src/render.js b/src/render.js index 5ac5fdf..36b8cf6 100644 --- a/src/render.js +++ b/src/render.js @@ -30,10 +30,7 @@ export function init () { const slug = slugify(text) let route = '' - if (__docsify__.router) { - route = `#/${getRoute()}` - } - + route = `#/${getRoute()}` toc.push({ level, slug: `${route}#${encodeURIComponent(slug)}`, title: text }) return `${text}` @@ -45,7 +42,7 @@ export function init () { return `
                                                                                                    ${hl.replace(/:/g, '__colon__')}
                                                                                                    ` } renderer.link = function (href, title, text) { - if (__docsify__.router && !/:/.test(href)) { + if (!/:/.test(href)) { href = `#/${href}`.replace(/\/\//g, '/') } @@ -82,7 +79,7 @@ export function renderApp (dom, replace) { dom[replace ? 'outerHTML' : 'innerHTML'] = tpl.corner(__docsify__.repo) + (__docsify__.coverpage ? tpl.cover() : '') + - tpl.main(__docsify__.sidebarToggle ? tpl.toggle() : '') + tpl.main() document.body.insertBefore(nav, document.body.children[0]) // theme color @@ -106,7 +103,7 @@ export function renderApp (dom, replace) { */ export function renderArticle (content) { renderTo('article', content ? markdown(content) : 'not found') - if (!__docsify__.sidebar && !__docsify__.loadSidebar) renderSidebar() + if (!__docsify__.loadSidebar) renderSidebar() if (content && typeof Vue !== 'undefined') { CACHE.vm && CACHE.vm.$destroy() @@ -147,8 +144,6 @@ export function renderSidebar (content) { html = markdown(content) // find url tag html = html.match(/]*>([\s\S]+)<\/ul>/g)[0] - } else if (__docsify__.sidebar) { - html = tpl.tree(__docsify__.sidebar, '
                                                                                                      ') } else { html = tpl.tree(genTree(toc, __docsify__.maxLevel), '
                                                                                                        ') } diff --git a/src/tpl.js b/src/tpl.js index 0dbeb74..3c8528f 100644 --- a/src/tpl.js +++ b/src/tpl.js @@ -22,8 +22,8 @@ export function corner (data) { /** * Render main content */ -export function main (tpl) { - const aside = `${tpl}` +export function main () { + const aside = `${toggle()}` return (isMobile() ? `${aside}
                                                                                                        ` : `
                                                                                                        ${aside}`) + `
                                                                                                        From f2f37eec465d5c20c28e5bc918ece3a6eea3acc3 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 5 Feb 2017 10:23:17 +0800 Subject: [PATCH 026/826] Update version number --- docs/_coverpage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 39180a4..79f91b8 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 1.10.5 +# docsify 2.0 > A magical documentation site generator. From d45e325d5420f9031435735640964151b995f7ab Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 5 Feb 2017 10:27:42 +0800 Subject: [PATCH 027/826] bump 2.0 --- lib/docsify.js | 95 +++++++++++++++++++++++++++----------------- lib/docsify.min.js | 4 +- lib/themes/buble.css | 2 +- lib/themes/pure.css | 2 +- lib/themes/vue.css | 2 +- 5 files changed, 64 insertions(+), 41 deletions(-) diff --git a/lib/docsify.js b/lib/docsify.js index f0bfe7e..8c6948d 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -2447,8 +2447,8 @@ function corner (data) { /** * Render main content */ -function main (tpl) { - var aside = tpl + ""; +function main () { + var aside = (toggle()) + ""; return (isMobile() ? (aside + "
                                                                                                        ") : ("
                                                                                                        " + aside)) + "
                                                                                                        \n
                                                                                                        \n
                                                                                                        \n
                                                                                                        " @@ -2493,7 +2493,34 @@ function helper (className, content) { return ("

                                                                                                        " + (content.slice(5).trim()) + "

                                                                                                        ") } -var OPTIONS$1 = {}; +function theme (color) { + return ("") +} + +function replaceVar (block) { + block.innerHTML = block.innerHTML.replace(/var\(\s*--theme-color.*?\)/g, __docsify__.themeColor); +} + +function cssVars () { + // variable support + if (window.CSS && window.CSS.supports && window.CSS.supports('(--foo: red)')) { return } + + var styleBlocks = document.querySelectorAll('style:not(.inserted),link');[].forEach.call(styleBlocks, function (block) { + if (block.nodeName === 'STYLE') { + replaceVar(block); + } else if (block.nodeName === 'LINK') { + load(block.getAttribute('href')) + .then(function (res) { + var style = document.createElement('style'); + + style.innerHTML = res; + document.head.appendChild(style); + replaceVar(style); + }); + } + }); +} + var markdown = marked; var toc = []; var CACHE = {}; @@ -2508,11 +2535,8 @@ var renderTo = function (dom, content) { /** * init render - * @param {Object} options */ -function init (options) { - OPTIONS$1 = options; - +function init () { var renderer = new marked.Renderer(); /** * render anchor tag @@ -2522,10 +2546,7 @@ function init (options) { var slug = slugify(text); var route = ''; - if (OPTIONS$1.router) { - route = "#/" + (getRoute()); - } - + route = "#/" + (getRoute()); toc.push({ level: level, slug: (route + "#" + (encodeURIComponent(slug))), title: text }); return ("" + text + "") @@ -2539,7 +2560,7 @@ function init (options) { return ("
                                                                                                        " + (hl.replace(/:/g, '__colon__')) + "
                                                                                                        ") }; renderer.link = function (href, title, text) { - if (OPTIONS$1.router && !/:/.test(href)) { + if (!/:/.test(href)) { href = ("#/" + href).replace(/\/\//g, '/'); } @@ -2554,11 +2575,11 @@ function init (options) { return ("

                                                                                                        " + text + "

                                                                                                        ") }; - if (typeof OPTIONS$1.markdown === 'function') { + if (typeof __docsify__.markdown === 'function') { markdown.setOptions({ renderer: renderer }); - markdown = OPTIONS$1.markdown.call(this, markdown); + markdown = __docsify__.markdown.call(this, markdown); } else { - markdown.setOptions(merge({ renderer: renderer }, OPTIONS$1.markdown)); + markdown.setOptions(merge({ renderer: renderer }, __docsify__.markdown)); } var md = markdown; @@ -2572,17 +2593,23 @@ function init (options) { function renderApp (dom, replace) { var nav = document.querySelector('nav') || document.createElement('nav'); - if (!OPTIONS$1.repo) { nav.classList.add('no-badge'); } + if (!__docsify__.repo) { nav.classList.add('no-badge'); } - dom[replace ? 'outerHTML' : 'innerHTML'] = corner(OPTIONS$1.repo) + - (OPTIONS$1.coverpage ? cover() : '') + - main(OPTIONS$1.sidebarToggle ? toggle() : ''); + dom[replace ? 'outerHTML' : 'innerHTML'] = corner(__docsify__.repo) + + (__docsify__.coverpage ? cover() : '') + + main(); document.body.insertBefore(nav, document.body.children[0]); + // theme color + if (__docsify__.themeColor) { + document.head.innerHTML += theme(__docsify__.themeColor); + cssVars(); + } + // bind toggle bindToggle('button.sidebar-toggle'); // bind sticky effect - if (OPTIONS$1.coverpage) { + if (__docsify__.coverpage) { !isMobile() && window.addEventListener('scroll', sticky); } else { document.body.classList.add('sticky'); @@ -2594,7 +2621,7 @@ function renderApp (dom, replace) { */ function renderArticle (content) { renderTo('article', content ? markdown(content) : 'not found'); - if (!OPTIONS$1.sidebar && !OPTIONS$1.loadSidebar) { renderSidebar(); } + if (!__docsify__.loadSidebar) { renderSidebar(); } if (content && typeof Vue !== 'undefined') { CACHE.vm && CACHE.vm.$destroy(); @@ -2611,7 +2638,7 @@ function renderArticle (content) { : new Vue({ el: 'main' }); // eslint-disable-line CACHE.vm && CACHE.vm.$nextTick(function (_) { return scrollActiveSidebar(); }); } - if (OPTIONS$1.auto2top) { setTimeout(function () { return scroll2Top(OPTIONS$1.auto2top); }, 0); } + if (__docsify__.auto2top) { setTimeout(function () { return scroll2Top(__docsify__.auto2top); }, 0); } } /** @@ -2635,13 +2662,11 @@ function renderSidebar (content) { html = markdown(content); // find url tag html = html.match(/]*>([\s\S]+)<\/ul>/g)[0]; - } else if (OPTIONS$1.sidebar) { - html = tree(OPTIONS$1.sidebar, '
                                                                                                          '); } else { - html = tree(genTree(toc, OPTIONS$1.maxLevel), '
                                                                                                            '); + html = tree(genTree(toc, __docsify__.maxLevel), '
                                                                                                              '); } - html = (OPTIONS$1.name ? ("

                                                                                                              " + (OPTIONS$1.name) + "

                                                                                                              ") : '') + html; + html = (__docsify__.name ? ("

                                                                                                              " + (__docsify__.name) + "

                                                                                                              ") : '') + html; renderTo('aside.sidebar', html); var target = activeLink('aside.sidebar', true); if (target) { renderSubSidebar(target); } @@ -2651,8 +2676,8 @@ function renderSidebar (content) { } function renderSubSidebar (target) { - if (!OPTIONS$1.subMaxLevel) { return } - target.parentNode.innerHTML += tree(genTree(toc, OPTIONS$1.subMaxLevel), '
                                                                                                                '); + if (!__docsify__.subMaxLevel) { return } + target.parentNode.innerHTML += tree(genTree(toc, __docsify__.subMaxLevel), '
                                                                                                                  '); } /** @@ -2735,16 +2760,14 @@ var OPTIONS = merge({ repo: '', maxLevel: 6, subMaxLevel: 0, - sidebar: '', - sidebarToggle: false, loadSidebar: null, loadNavbar: null, - router: false, homepage: 'README.md', coverpage: '', basePath: '', auto2top: false, name: '', + themeColor: '', nameLink: window.location.pathname }, window.$docsify); var script = document.currentScript || [].slice.call(document.getElementsByTagName('script')).pop(); @@ -2760,9 +2783,11 @@ if (script) { if (OPTIONS.coverpage === true) { OPTIONS.coverpage = '_coverpage.md'; } if (OPTIONS.repo === true) { OPTIONS.repo = ''; } if (OPTIONS.name === true) { OPTIONS.name = ''; } - if (OPTIONS.sidebar) { OPTIONS.sidebar = window[OPTIONS.sidebar]; } } +// utils +window.__docsify__ = OPTIONS; + // load options init(OPTIONS); @@ -2833,10 +2858,8 @@ var Docsify = function () { // Render app renderApp(dom, replace); main(); - if (OPTIONS.router) { - if (!/^#\//.test(window.location.hash)) { window.location.hash = '#/'; } - window.addEventListener('hashchange', main); - } + if (!/^#\//.test(window.location.hash)) { window.location.hash = '#/'; } + window.addEventListener('hashchange', main); }; var index = Docsify(); diff --git a/lib/docsify.min.js b/lib/docsify.min.js index 1f21a57..af05349 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(q===e.hash&&!r(A))return A;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,A=t,q=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(e){return e.replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,i=document.body.scrollTop,o=0,c=n.length;oi){e||(e=u);break}e=u}if(e){var p=s[e.getAttribute("data-id")];if(p&&p!==l&&(l&&l.classList.remove("active"),p.classList.add("active"),l=p,!t&&!g.noSticky)){var d=0,h=l.offsetTop+l.clientHeight+40,f=l.offsetTop>=r.scrollTop&&h<=r.scrollTop+a,m=h-d=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(e){var t=e+'';return(i()?t+"
                                                                                                                  ":"
                                                                                                                  "+t)+'
                                                                                                                  \n
                                                                                                                  \n
                                                                                                                  \n
                                                                                                                  '}function b(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                                                                                  \n
                                                                                                                  \n
                                                                                                                  \n
                                                                                                                  '}function v(){return''}function y(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                                                                                • '+e.title+"
                                                                                                                • ",e.children&&(t+='
                                                                                                                  • '+y(e.children)+"
                                                                                                                  ")}),t):""}function k(e,t){return'

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

                                                                                                                  "}function w(e){P=e;var t=new M.Renderer;t.heading=function(e,t){var n=s(e),r="";return P.router&&(r="#/"+a()),F.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=N.highlight(e,N.languages[t]||N.languages.markup);return'
                                                                                                                  '+n.replace(/:/g,"__colon__")+"
                                                                                                                  "},t.link=function(e,t,n){return P.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                                                                                  "+e+"

                                                                                                                  "},"function"==typeof P.markdown?(I.setOptions({renderer:t}),I=P.markdown.call(this,I)):I.setOptions(j({renderer:t},P.markdown));var n=I;I=function(e){return o(n(e))}}function x(e,t){var n=document.querySelector("nav")||document.createElement("nav");P.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(P.repo)+(P.coverpage?b():"")+m(P.sidebarToggle?v():""),document.body.insertBefore(n,document.body.children[0]),p("button.sidebar-toggle"),P.coverpage?!i()&&window.addEventListener("scroll",g):document.body.classList.add("sticky")}function L(e){if(z("article",e?I(e):"not found"),P.sidebar||P.loadSidebar||_(),e&&"undefined"!=typeof Vue){W.vm&&W.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0],n=t?t.innerText.trim():null;t&&t.remove(),W.vm=n?new Function("return "+n)():new Vue({el:"main"}),W.vm&&W.vm.$nextTick(function(e){return l()})}P.auto2top&&setTimeout(function(){return d(P.auto2top)},0)}function S(e){W.navbar&&W.navbar===e||(W.navbar=e,e&&z("nav",I(e)),u("nav"))}function _(e){var n;e?(n=I(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=P.sidebar?y(P.sidebar,"
                                                                                                                    "):y(t(F,P.maxLevel),"
                                                                                                                      "),n=(P.name?'

                                                                                                                      '+P.name+"

                                                                                                                      ":"")+n,z("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&C(r),F=[],l()}function C(e){P.subMaxLevel&&(e.parentNode.innerHTML+=y(t(F,P.subMaxLevel),"
                                                                                                                        "))}function $(e){if($.dom=$.dom||document.querySelector("section.cover"),!e)return void $.dom.classList.remove("show");if($.dom.classList.add("show"),$.rendered)return g();var t=F.slice(),n=I(e),r=n.trim().match('

                                                                                                                        ([^<]*?)

                                                                                                                        $');if(F=t.slice(),r){var a=document.querySelector("section.cover");"color"===r[2]?a.style.background=r[1]+(r[3]||""):(a.classList.add("has-mask"),a.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}z(".cover-main",n),$.rendered=!0,g()}function E(e){var t,n=e.loaded,r=e.total,a=e.step;if(!W.loading){var i=document.createElement("div");i.classList.add("progress"),document.body.appendChild(i),W.loading=i}a?(t=parseInt(W.loading.style.width,10)+a,t=t>80?80:t):t=Math.floor(n/r*100),W.loading.style.opacity=1,W.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(E.cacheTimeout),E.cacheTimeout=setTimeout(function(e){W.loading.style.opacity=0,W.loading.style.width="0%"},200))}var A=null,q=null;s.clear=function(){s.occurrences={}};var T=Object.prototype.hasOwnProperty,j=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function s(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 o(e,t){return e=e.source,t=t||"",function n(r,a){return r?(a=a.source||a,a=a.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,a),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,a=1;aAn error occured:

                                                                                                                        "+i(e.message+"",!0)+"
                                                                                                                        ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=o(p.item,"gm")(/bull/g,p.bullet)(),p.list=o(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=o(p.blockquote)("def",p.def)(),p._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",p.html=o(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=o(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=o(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,i,s,o,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((i=g.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&g.tokens.push({type:"space"})),i=g.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=g.rules.fences.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=g.rules.heading.exec(e))e=e.substring(i[0].length),g.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=g.rules.nptable.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(i,t,!0),g.tokens.push({type:"blockquote_end"});else if(i=g.rules.list.exec(e)){for(e=e.substring(i[0].length),s=i[2],g.tokens.push({type:"list_start",ordered:s.length>1}),i=i[0].match(g.rules.item),r=!1,d=i.length,u=0;u1&&o.length>1||(e=i.slice(u+1).join("\n")+e,u=d-1)),a=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),a||(a=r)),g.tokens.push({type:a?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(i=g.rules.html.exec(e))e=e.substring(i[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=g.rules.def.exec(e)))e=e.substring(i[0].length),g.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=g.rules.table.exec(e))){for(e=e.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[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*/,d.link=o(d.link)("inside",d._inside)("href",d._href)(),d.reflink=o(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:o(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:o(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:o(d.br)("{2,}","*")(),text:o(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var a=new n(t,r);return a.output(e)},n.prototype.output=function(e){for(var t,n,r,a,s=this,o="";e;)if(a=s.rules.escape.exec(e))e=e.substring(a[0].length),o+=a[1];else if(a=s.rules.autolink.exec(e))e=e.substring(a[0].length),"@"===a[2]?(n=":"===a[1].charAt(6)?s.mangle(a[1].substring(7)):s.mangle(a[1]),r=s.mangle("mailto:")+n):(n=i(a[1]),r=n),o+=s.renderer.link(r,null,n);else if(s.inLink||!(a=s.rules.url.exec(e))){if(a=s.rules.tag.exec(e))!s.inLink&&/^/i.test(a[0])&&(s.inLink=!1),e=e.substring(a[0].length),o+=s.options.sanitize?s.options.sanitizer?s.options.sanitizer(a[0]):i(a[0]):a[0];else if(a=s.rules.link.exec(e))e=e.substring(a[0].length),s.inLink=!0,o+=s.outputLink(a,{href:a[2],title:a[3]}),s.inLink=!1;else if((a=s.rules.reflink.exec(e))||(a=s.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),t=s.links[t.toLowerCase()],!t||!t.href){o+=a[0].charAt(0),e=a[0].substring(1)+e;continue}s.inLink=!0,o+=s.outputLink(a,t),s.inLink=!1}else if(a=s.rules.strong.exec(e))e=e.substring(a[0].length),o+=s.renderer.strong(s.output(a[2]||a[1]));else if(a=s.rules.em.exec(e))e=e.substring(a[0].length),o+=s.renderer.em(s.output(a[2]||a[1]));else if(a=s.rules.code.exec(e))e=e.substring(a[0].length),o+=s.renderer.codespan(i(a[2],!0));else if(a=s.rules.br.exec(e))e=e.substring(a[0].length),o+=s.renderer.br();else if(a=s.rules.del.exec(e))e=e.substring(a[0].length),o+=s.renderer.del(s.output(a[1]));else if(a=s.rules.text.exec(e))e=e.substring(a[0].length),o+=s.renderer.text(i(s.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(a[0].length),n=i(a[1]),r=n,o+=s.renderer.link(r,null,n);return o},n.prototype.outputLink=function(e,t){var n=i(t.href),r=t.title?i(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,i(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,a=0;a.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:i(e,!0))+"\n
                                                                                                                        \n":"
                                                                                                                        "+(n?e:i(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var a='
                                                                                                                        "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.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},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.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)},a.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,a,i,s="",o="";for(r="",t=0;te.length)break e;if(!(y instanceof a)){u.lastIndex=0;var k=u.exec(y),w=1;if(!k&&g&&b!=i.length-1){if(u.lastIndex=v,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=b,_=v,C=i.length;S=_&&(++b,v=_);if(i[b]instanceof a||i[S-1].greedy)continue;w=S-b,y=e.slice(v,_),k.index-=v}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,$=y.slice(0,x),E=y.slice(L),A=[b,w];$&&A.push($);var q=new a(o,p?r.tokenize(k,p):k,f,k,g);A.push(q),E&&A.push(E),Array.prototype.splice.apply(i,A)}}}}}return i},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 a,i=0;a=n[i++];)a(t)}}},a=r.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a};if(a.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var s="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}r.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code,s=n.immediateClose;t.postMessage(r.highlight(i,r.languages[a],a)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(r.filename=i.src,document.addEventListener&&!i.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),"undefined"!=typeof O&&(O.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,a=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(r=(t.className.match(s)||[,""])[1]),!r){var o=(a.match(/\.(\w+)$/)||[,""])[1];r=e[o]||o}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",a,!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))}()}),P={},I=M,F=[],W={},z=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,s.clear(),e},R=j({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,sidebar:"",sidebarToggle:!1,loadSidebar:null,loadNavbar:null,router:!1,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",nameLink:window.location.pathname},window.$docsify),B=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(B){for(var D in R){var H=B.getAttribute("data-"+n(D));R[D]=r(H)?R[D]:H||!0}R.loadSidebar===!0&&(R.loadSidebar="_sidebar.md"),R.loadNavbar===!0&&(R.loadNavbar="_navbar.md"),R.coverpage===!0&&(R.coverpage="_coverpage.md"),R.repo===!0&&(R.repo=""),R.name===!0&&(R.name=""),R.sidebar&&(R.sidebar=window[R.sidebar])}w(R);var G=null,Z=null,U=function(t){var n=R.basePath+a();if(G===n)return t();var r=G=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var i;i=n?/\/$/.test(n)?n+"README.md":n+".md":R.homepage||"README.md",R.coverpage&&i===R.homepage&&e(R.coverpage).then($),Z&&Z.abort&&Z.abort(),Z=e(i,"GET",E),Z.then(function(n){if(L(n),R.coverpage&&i!==R.homepage&&$(),R.loadSidebar){var a=function(e){_(e),t()};e(r+R.loadSidebar).then(a,function(t){return e(R.loadSidebar).then(a)})}else t()},function(e){return L(null)}),R.loadNavbar&&e(r+R.loadNavbar).then(S,function(t){return e(R.loadNavbar).then(S)})},V=function(){var e=document.querySelector(R.el)||document.body,t=e!==document.body,n=function(){U(function(e){c(),u("nav")})};x(e,t),n(),R.router&&(/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n))},J=V();return J}(); +var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var i=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(i)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var i=e.level||1,a=i-1;i>t||(r[a]?(r[a].children=r[a].children||[],r[a].children.push(e)):n.push(e),r[i]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function i(){var e=window.location;if(M===e.hash&&!r(j))return j;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,j=t,M=e.hash,t}function a(){return document.body.clientWidth<=600}function o(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(o.occurrences=o.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var i=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),a=o.occurrences[i];return o.occurrences.hasOwnProperty(i)?a++:a=0,o.occurrences[i]=a,a&&(i=i+"-"+a),i}function s(e){return e.replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,a=document.body.scrollTop,s=0,c=n.length;sa){e||(e=u);break}e=u}if(e){var p=o[e.getAttribute("data-id")];if(p&&p!==l&&(l&&l.classList.remove("active"),p.classList.add("active"),l=p,!t&&!h.noSticky)){var d=0,g=l.offsetTop+l.clientHeight+40,f=l.offsetTop>=r.scrollTop&&g<=r.scrollTop+i,m=g-d=e||h.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),h.noSticky=!1):(document.body.classList.remove("sticky"),h.noSticky=!0)}()}function g(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(){var e=b()+'';return(a()?e+"
                                                                                                                        ":"
                                                                                                                        "+e)+'
                                                                                                                        \n
                                                                                                                        \n
                                                                                                                        \n
                                                                                                                        '}function y(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                                                                                        \n
                                                                                                                        \n
                                                                                                                        \n
                                                                                                                        '}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                                                                                      • '+e.title+"
                                                                                                                      • ",e.children&&(t+='
                                                                                                                        • '+v(e.children)+"
                                                                                                                        ")}),t):""}function k(e,t){return'

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

                                                                                                                        "}function w(e){return""}function _(e){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,__docsify__.themeColor)}function x(){if(!(window.CSS&&window.CSS.supports&&window.CSS.supports("(--foo: red)"))){var t=document.querySelectorAll("style:not(.inserted),link");[].forEach.call(t,function(t){"STYLE"===t.nodeName?_(t):"LINK"===t.nodeName&&e(t.getAttribute("href")).then(function(e){var t=document.createElement("style");t.innerHTML=e,document.head.appendChild(t),_(t)})})}}function L(){var e=new I.Renderer;e.heading=function(e,t){var n=o(e),r="";return r="#/"+i(),z.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},e.code=function(e,t){void 0===t&&(t="");var n=F.highlight(e,F.languages[t]||F.languages.markup);return'
                                                                                                                        '+n.replace(/:/g,"__colon__")+"
                                                                                                                        "},e.link=function(e,t,n){return/:/.test(e)||(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},e.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                                                                                        "+e+"

                                                                                                                        "},"function"==typeof __docsify__.markdown?(W.setOptions({renderer:e}),W=__docsify__.markdown.call(this,W)):W.setOptions(O({renderer:e},__docsify__.markdown));var t=W;W=function(e){return s(t(e))}}function S(e,t){var n=document.querySelector("nav")||document.createElement("nav");__docsify__.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(__docsify__.repo)+(__docsify__.coverpage?y():"")+m(),document.body.insertBefore(n,document.body.children[0]),__docsify__.themeColor&&(document.head.innerHTML+=w(__docsify__.themeColor),x()),p("button.sidebar-toggle"),__docsify__.coverpage?!a()&&window.addEventListener("scroll",h):document.body.classList.add("sticky")}function C(e){if(R("article",e?W(e):"not found"),__docsify__.loadSidebar||E(),e&&"undefined"!=typeof Vue){H.vm&&H.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0],n=t?t.innerText.trim():null;t&&t.remove(),H.vm=n?new Function("return "+n)():new Vue({el:"main"}),H.vm&&H.vm.$nextTick(function(e){return l()})}__docsify__.auto2top&&setTimeout(function(){return d(__docsify__.auto2top)},0)}function $(e){H.navbar&&H.navbar===e||(H.navbar=e,e&&R("nav",W(e)),u("nav"))}function E(e){var n;e?(n=W(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=v(t(z,__docsify__.maxLevel),"
                                                                                                                          "),n=(__docsify__.name?'

                                                                                                                          '+__docsify__.name+"

                                                                                                                          ":"")+n,R("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&A(r),z=[],l()}function A(e){__docsify__.subMaxLevel&&(e.parentNode.innerHTML+=v(t(z,__docsify__.subMaxLevel),"
                                                                                                                            "))}function T(e){if(T.dom=T.dom||document.querySelector("section.cover"),!e)return void T.dom.classList.remove("show");if(T.dom.classList.add("show"),T.rendered)return h();var t=z.slice(),n=W(e),r=n.trim().match('

                                                                                                                            ([^<]*?)

                                                                                                                            $');if(z=t.slice(),r){var i=document.querySelector("section.cover");"color"===r[2]?i.style.background=r[1]+(r[3]||""):(i.classList.add("has-mask"),i.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}R(".cover-main",n),T.rendered=!0,h()}function q(e){var t,n=e.loaded,r=e.total,i=e.step;if(!H.loading){var a=document.createElement("div");a.classList.add("progress"),document.body.appendChild(a),H.loading=a}i?(t=parseInt(H.loading.style.width,10)+i,t=t>80?80:t):t=Math.floor(n/r*100),H.loading.style.opacity=1,H.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(q.cacheTimeout),q.cacheTimeout=setTimeout(function(e){H.loading.style.opacity=0,H.loading.style.width="0%"},200))}var j=null,M=null;o.clear=function(){o.occurrences={}};var N=Object.prototype.hasOwnProperty,O=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function o(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:

                                                                                                                            "+a(e.message+"",!0)+"
                                                                                                                            ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=s(p.item,"gm")(/bull/g,p.bullet)(),p.list=s(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=s(p.blockquote)("def",p.def)(),p._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",p.html=s(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=s(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=s(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,o,s,l,c,u,d,h=this,e=e.replace(/^ +$/gm,"");e;)if((a=h.rules.newline.exec(e))&&(e=e.substring(a[0].length),a[0].length>1&&h.tokens.push({type:"space"})),a=h.rules.code.exec(e))e=e.substring(a[0].length),a=a[0].replace(/^ {4}/gm,""),h.tokens.push({type:"code",text:h.options.pedantic?a:a.replace(/\n+$/,"")});else if(a=h.rules.fences.exec(e))e=e.substring(a[0].length),h.tokens.push({type:"code",lang:a[2],text:a[3]||""});else if(a=h.rules.heading.exec(e))e=e.substring(a[0].length),h.tokens.push({type:"heading",depth:a[1].length,text:a[2]});else if(t&&(a=h.rules.nptable.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),h.token(a,t,!0),h.tokens.push({type:"blockquote_end"});else if(a=h.rules.list.exec(e)){for(e=e.substring(a[0].length),o=a[2],h.tokens.push({type:"list_start",ordered:o.length>1}),a=a[0].match(h.rules.item),r=!1,d=a.length,u=0;u1&&s.length>1||(e=a.slice(u+1).join("\n")+e,u=d-1)),i=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),i||(i=r)),h.tokens.push({type:i?"loose_item_start":"list_item_start"}),h.token(l,!1,n),h.tokens.push({type:"list_item_end"});h.tokens.push({type:"list_end"})}else if(a=h.rules.html.exec(e))e=e.substring(a[0].length),h.tokens.push({type:h.options.sanitize?"paragraph":"html",pre:!h.options.sanitizer&&("pre"===a[1]||"script"===a[1]||"style"===a[1]),text:a[0]});else if(!n&&t&&(a=h.rules.def.exec(e)))e=e.substring(a[0].length),h.tokens.links[a[1].toLowerCase()]={href:a[2],title:a[3]};else if(t&&(a=h.rules.table.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[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*/,d.link=s(d.link)("inside",d._inside)("href",d._href)(),d.reflink=s(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:s(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:s(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:s(d.br)("{2,}","*")(),text:s(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var i=new n(t,r);return i.output(e)},n.prototype.output=function(e){for(var t,n,r,i,o=this,s="";e;)if(i=o.rules.escape.exec(e))e=e.substring(i[0].length),s+=i[1];else if(i=o.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=":"===i[1].charAt(6)?o.mangle(i[1].substring(7)):o.mangle(i[1]),r=o.mangle("mailto:")+n):(n=a(i[1]),r=n),s+=o.renderer.link(r,null,n);else if(o.inLink||!(i=o.rules.url.exec(e))){if(i=o.rules.tag.exec(e))!o.inLink&&/^/i.test(i[0])&&(o.inLink=!1),e=e.substring(i[0].length),s+=o.options.sanitize?o.options.sanitizer?o.options.sanitizer(i[0]):a(i[0]):i[0];else if(i=o.rules.link.exec(e))e=e.substring(i[0].length),o.inLink=!0,s+=o.outputLink(i,{href:i[2],title:i[3]}),o.inLink=!1;else if((i=o.rules.reflink.exec(e))||(i=o.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),t=o.links[t.toLowerCase()],!t||!t.href){s+=i[0].charAt(0),e=i[0].substring(1)+e;continue}o.inLink=!0,s+=o.outputLink(i,t),o.inLink=!1}else if(i=o.rules.strong.exec(e))e=e.substring(i[0].length),s+=o.renderer.strong(o.output(i[2]||i[1]));else if(i=o.rules.em.exec(e))e=e.substring(i[0].length),s+=o.renderer.em(o.output(i[2]||i[1]));else if(i=o.rules.code.exec(e))e=e.substring(i[0].length),s+=o.renderer.codespan(a(i[2],!0));else if(i=o.rules.br.exec(e))e=e.substring(i[0].length),s+=o.renderer.br();else if(i=o.rules.del.exec(e))e=e.substring(i[0].length),s+=o.renderer.del(o.output(i[1]));else if(i=o.rules.text.exec(e))e=e.substring(i[0].length),s+=o.renderer.text(a(o.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=a(i[1]),r=n,s+=o.renderer.link(r,null,n);return s},n.prototype.outputLink=function(e,t){var n=a(t.href),r=t.title?a(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,a(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:a(e,!0))+"\n
                                                                                                                            \n":"
                                                                                                                            "+(n?e:a(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(o(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){var r=new i(t,n);return r.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,a,o="",s="";for(r="",t=0;te.length)break e;if(!(v instanceof i)){u.lastIndex=0;var k=u.exec(v),w=1;if(!k&&h&&y!=a.length-1){if(u.lastIndex=b,k=u.exec(e),!k)break;for(var _=k.index+(d?k[1].length:0),x=k.index+k[0].length,L=y,S=b,C=a.length;L=S&&(++y,b=S);if(a[y]instanceof i||a[L-1].greedy)continue;w=L-y,v=e.slice(b,S),k.index-=b}if(k){d&&(g=k[1].length);var _=k.index+g,k=k[0].slice(g),x=_+k.length,$=v.slice(0,_),E=v.slice(x),A=[y,w];$&&A.push($);var T=new i(s,p?r.tokenize(k,p):k,f,k,h);A.push(T),E&&A.push(E),Array.prototype.splice.apply(a,A)}}}}}return a},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,a=0;i=n[a++];)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 a={type:e.type,content:i.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==a.type&&(a.attributes.spellcheck="true"),e.alias){var o="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(a.classes,o)}r.hooks.run("wrap",a);var s=Object.keys(a.attributes).map(function(e){return e+'="'+(a.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+(s?" "+s:"")+">"+a.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),i=n.language,a=n.code,o=n.immediateClose;t.postMessage(r.highlight(a,r.languages[i],i)),o&&t.close()},!1),t.Prism):t.Prism;var a=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return a&&(r.filename=a.src,document.addEventListener&&!a.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),"undefined"!=typeof P&&(P.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"),a=t,o=/\blang(?:uage)?-(?!\*)(\w+)\b/i;a&&!o.test(a.className);)a=a.parentNode;if(a&&(r=(t.className.match(o)||[,""])[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))}()}),W=I,z=[],H={},R=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,o.clear(),e},B=O({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,loadSidebar:null,loadNavbar:null,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",themeColor:"",nameLink:window.location.pathname},window.$docsify),D=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(D){for(var G in B){var Z=D.getAttribute("data-"+n(G));B[G]=r(Z)?B[G]:Z||!0}B.loadSidebar===!0&&(B.loadSidebar="_sidebar.md"),B.loadNavbar===!0&&(B.loadNavbar="_navbar.md"),B.coverpage===!0&&(B.coverpage="_coverpage.md"),B.repo===!0&&(B.repo=""),B.name===!0&&(B.name="")}window.__docsify__=B,L(B);var U=null,V=null,Y=function(t){var n=B.basePath+i();if(U===n)return t();var r=U=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var a;a=n?/\/$/.test(n)?n+"README.md":n+".md":B.homepage||"README.md",B.coverpage&&a===B.homepage&&e(B.coverpage).then(T),V&&V.abort&&V.abort(),V=e(a,"GET",q),V.then(function(n){if(C(n),B.coverpage&&a!==B.homepage&&T(),B.loadSidebar){var i=function(e){E(e),t()};e(r+B.loadSidebar).then(i,function(t){return e(B.loadSidebar).then(i)})}else t()},function(e){return C(null)}),B.loadNavbar&&e(r+B.loadNavbar).then($,function(t){return e(B.loadNavbar).then($)})},J=function(){var e=document.querySelector(B.el)||document.body,t=e!==document.body,n=function(){Y(function(e){c(),u("nav")})};S(e,t),n(),/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n)},X=J();return X}(); diff --git a/lib/themes/buble.css b/lib/themes/buble.css index cf25ca3..68e7c53 100644 --- a/lib/themes/buble.css +++ b/lib/themes/buble.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css?family=Inconsolata|Inconsolata-Bold");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#0074d9;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#0074d9}nav a.active{border-bottom:2px solid #0074d9}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #0074d9;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#0074d9}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:16em;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,116,217,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #0074d9;box-sizing:border-box;color:#0074d9;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Inconsolata|Inconsolata-Bold");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#0074d9;background-color:var(--theme-color,#0074d9);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#0074d9;color:var(--theme-color,#0074d9)}nav a.active{border-bottom:2px solid #0074d9;border-bottom:2px solid var(--theme-color,#0074d9)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #0074d9;border-width:1px;border-style:solid var(--theme-color,#0074d9);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#0074d9;fill:var(--theme-color,#0074d9)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:16em;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;background-color:var(--theme-color,#0074d9);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,116,217,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #0074d9;border-width:1px;border-style:solid var(--theme-color,#0074d9);box-sizing:border-box;color:#0074d9;color:var(--theme-color,#0074d9);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;background-color:var(--theme-color,#0074d9);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;color:var(--theme-color,#0074d9);font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;border-left:4px solid var(--theme-color,#0074d9);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file diff --git a/lib/themes/pure.css b/lib/themes/pure.css index 4f47c99..ad32b2d 100644 --- a/lib/themes/pure.css +++ b/lib/themes/pure.css @@ -1 +1 @@ -*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#000;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#000}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a:hover{color:#000}nav a.active{color:#000;border-bottom:2px solid #000}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #000;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#000}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#000;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,0,0,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}} \ No newline at end of file +*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#000;background-color:var(--theme-color,#000);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#000}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#000;color:var(--theme-color,#000)}nav a.active{border-bottom:2px solid #000;border-bottom:2px solid var(--theme-color,#000)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #000;border-width:1px;border-style:solid var(--theme-color,#000);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#000;fill:var(--theme-color,#000)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#000;background-color:var(--theme-color,#000);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,0,0,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}} \ No newline at end of file diff --git a/lib/themes/vue.css b/lib/themes/vue.css index dc0c433..7c2031c 100644 --- a/lib/themes/vue.css +++ b/lib/themes/vue.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#42b983;height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983}nav a.active{border-bottom:2px solid #42b983}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #42b983;opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(66,185,131,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #42b983;box-sizing:border-box;color:#42b983;font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#7f8c8d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#42b983;background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983;color:var(--theme-color,#42b983)}nav a.active{border-bottom:2px solid #42b983;border-bottom:2px solid var(--theme-color,#42b983)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #42b983;border-width:1px;border-style:solid var(--theme-color,#42b983);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983;fill:var(--theme-color,#42b983)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;background-color:var(--theme-color,#42b983);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(66,185,131,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #42b983;border-width:1px;border-style:solid var(--theme-color,#42b983);box-sizing:border-box;color:#42b983;color:var(--theme-color,#42b983);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#7f8c8d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;border-left:4px solid var(--theme-color,#42b983);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983;color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983;color:var(--theme-color,#42b983)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file From 4abcb02824831791a0a7e7be37a4ef29b9cc40ba Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 5 Feb 2017 10:27:48 +0800 Subject: [PATCH 028/826] -> v2.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 41e4fe6..797df16 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "1.10.5", + "version": "2.0.0", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From 1f12009a98158ead0b41f27a3084e1a5c63a9ee3 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 5 Feb 2017 13:47:03 +0800 Subject: [PATCH 029/826] fix border style. --- CHANGELOG.md | 4 ++++ src/themes/basic/_coverpage.css | 4 +++- src/themes/basic/_layout.css | 4 +++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12e258c..34161f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.1 +### Bug fixes +- border style. + ## 2.0.0 ### Features - Customize the theme color diff --git a/src/themes/basic/_coverpage.css b/src/themes/basic/_coverpage.css index 1435076..7e05f3a 100644 --- a/src/themes/basic/_coverpage.css +++ b/src/themes/basic/_coverpage.css @@ -72,7 +72,9 @@ section.cover { .cover-main p:last-child a { border-radius: 2em; - border: 1px solid var(--theme-color, $color-primary); + border-width: 1px; + border-style: solid; + border-width: var(--theme-color, $color-primary); box-sizing: border-box; color: var(--theme-color, $color-primary); font-size: 1.05em; diff --git a/src/themes/basic/_layout.css b/src/themes/basic/_layout.css index ddc3f5b..d325b81 100644 --- a/src/themes/basic/_layout.css +++ b/src/themes/basic/_layout.css @@ -103,7 +103,9 @@ nav { ul { border-radius: 2px; background-color: rgba($color-bg, .6); - border: 1px solid var(--theme-color, $color-primary); + border-width: 1px; + border-style: solid; + border-color: var(--theme-color, $color-primary); opacity: 0; overflow: hidden; padding: 0; From addb34d38a333f6ab0e29c482b239d44dc61863c Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 5 Feb 2017 13:47:32 +0800 Subject: [PATCH 030/826] bump: 2.0.1 --- docs/_coverpage.md | 2 +- lib/themes/buble.css | 2 +- lib/themes/pure.css | 2 +- lib/themes/vue.css | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 79f91b8..ee92e05 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 2.0 +# docsify 2.0.1 > A magical documentation site generator. diff --git a/lib/themes/buble.css b/lib/themes/buble.css index 68e7c53..96c0a33 100644 --- a/lib/themes/buble.css +++ b/lib/themes/buble.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css?family=Inconsolata|Inconsolata-Bold");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#0074d9;background-color:var(--theme-color,#0074d9);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#0074d9;color:var(--theme-color,#0074d9)}nav a.active{border-bottom:2px solid #0074d9;border-bottom:2px solid var(--theme-color,#0074d9)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #0074d9;border-width:1px;border-style:solid var(--theme-color,#0074d9);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#0074d9;fill:var(--theme-color,#0074d9)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:16em;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;background-color:var(--theme-color,#0074d9);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,116,217,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #0074d9;border-width:1px;border-style:solid var(--theme-color,#0074d9);box-sizing:border-box;color:#0074d9;color:var(--theme-color,#0074d9);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;background-color:var(--theme-color,#0074d9);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;color:var(--theme-color,#0074d9);font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;border-left:4px solid var(--theme-color,#0074d9);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Inconsolata|Inconsolata-Bold");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#0074d9;background-color:var(--theme-color,#0074d9);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#0074d9;color:var(--theme-color,#0074d9)}nav a.active{border-bottom:2px solid #0074d9;border-bottom:2px solid var(--theme-color,#0074d9)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border-color:#0074d9;border:1px solid var(--theme-color,#0074d9);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#0074d9;fill:var(--theme-color,#0074d9)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:16em;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;background-color:var(--theme-color,#0074d9);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,116,217,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border-width:1px;border-style:solid;border-width:#0074d9;border-width:var(--theme-color,#0074d9);box-sizing:border-box;color:#0074d9;color:var(--theme-color,#0074d9);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;background-color:var(--theme-color,#0074d9);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;color:var(--theme-color,#0074d9);font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;border-left:4px solid var(--theme-color,#0074d9);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file diff --git a/lib/themes/pure.css b/lib/themes/pure.css index ad32b2d..252a4d2 100644 --- a/lib/themes/pure.css +++ b/lib/themes/pure.css @@ -1 +1 @@ -*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#000;background-color:var(--theme-color,#000);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#000}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#000;color:var(--theme-color,#000)}nav a.active{border-bottom:2px solid #000;border-bottom:2px solid var(--theme-color,#000)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #000;border-width:1px;border-style:solid var(--theme-color,#000);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#000;fill:var(--theme-color,#000)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#000;background-color:var(--theme-color,#000);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,0,0,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}} \ No newline at end of file +*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#000;background-color:var(--theme-color,#000);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#000}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#000;color:var(--theme-color,#000)}nav a.active{border-bottom:2px solid #000;border-bottom:2px solid var(--theme-color,#000)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border-color:#000;border:1px solid var(--theme-color,#000);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#000;fill:var(--theme-color,#000)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#000;background-color:var(--theme-color,#000);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,0,0,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}} \ No newline at end of file diff --git a/lib/themes/vue.css b/lib/themes/vue.css index 7c2031c..b0ac4e2 100644 --- a/lib/themes/vue.css +++ b/lib/themes/vue.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#42b983;background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983;color:var(--theme-color,#42b983)}nav a.active{border-bottom:2px solid #42b983;border-bottom:2px solid var(--theme-color,#42b983)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border:1px solid #42b983;border-width:1px;border-style:solid var(--theme-color,#42b983);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983;fill:var(--theme-color,#42b983)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;background-color:var(--theme-color,#42b983);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(66,185,131,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border:1px solid #42b983;border-width:1px;border-style:solid var(--theme-color,#42b983);box-sizing:border-box;color:#42b983;color:var(--theme-color,#42b983);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#7f8c8d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;border-left:4px solid var(--theme-color,#42b983);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983;color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983;color:var(--theme-color,#42b983)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#42b983;background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983;color:var(--theme-color,#42b983)}nav a.active{border-bottom:2px solid #42b983;border-bottom:2px solid var(--theme-color,#42b983)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border-color:#42b983;border:1px solid var(--theme-color,#42b983);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983;fill:var(--theme-color,#42b983)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;background-color:var(--theme-color,#42b983);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(66,185,131,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border-width:1px;border-style:solid;border-width:#42b983;border-width:var(--theme-color,#42b983);box-sizing:border-box;color:#42b983;color:var(--theme-color,#42b983);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#7f8c8d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;border-left:4px solid var(--theme-color,#42b983);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983;color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983;color:var(--theme-color,#42b983)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file From 115c80b2f2aabe8da84273d27c2be61a89af2909 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 5 Feb 2017 13:50:36 +0800 Subject: [PATCH 031/826] -> v2.0.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 797df16..3598849 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "2.0.0", + "version": "2.0.1", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From 6e35f6481a59e5cbe82a971d7d1bc8eb0eac9d26 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 5 Feb 2017 13:53:36 +0800 Subject: [PATCH 032/826] docs: update api --- docs/README.md | 4 ++-- docs/zh-cn.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/README.md b/docs/README.md index aa14a37..4968428 100644 --- a/docs/README.md +++ b/docs/README.md @@ -381,7 +381,7 @@ window.$docsify = { ``` -### basePath +### base-path If your HTML entry file and the markdown files are in different directories, we can use: @@ -430,7 +430,7 @@ window.$docsify = { } ``` -### nameLink +### name-link Name link. The default value is `window.location.pathname`. diff --git a/docs/zh-cn.md b/docs/zh-cn.md index 53fb7c0..56f249b 100644 --- a/docs/zh-cn.md +++ b/docs/zh-cn.md @@ -387,7 +387,7 @@ window.$docsify = { } ``` -### basePath +### base-path 指定加载文档的路径,如果你的 HTML 入口文件和文档是放在不同地方,你可以设置: @@ -438,7 +438,7 @@ window.$docsify = { } ``` -### nameLink +### name-link 项目名链接,默认为 `window.location.pathname`。 @@ -452,7 +452,7 @@ window.$docsify = { } ``` -### themeColor +### theme-color 自定义主题色。 From 44708554f74b4a29059bc89baa6e001637b972c0 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 5 Feb 2017 14:48:57 +0800 Subject: [PATCH 033/826] fix: button style in cover page --- CHANGELOG.md | 5 +++++ src/themes/basic/_coverpage.css | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 34161f6..ef22f29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 2.0.2 + +### Bug fixes +- fix button style in cover page. + ## 2.0.1 ### Bug fixes - border style. diff --git a/src/themes/basic/_coverpage.css b/src/themes/basic/_coverpage.css index 7e05f3a..269bb23 100644 --- a/src/themes/basic/_coverpage.css +++ b/src/themes/basic/_coverpage.css @@ -73,8 +73,8 @@ section.cover { .cover-main p:last-child a { border-radius: 2em; border-width: 1px; - border-style: solid; - border-width: var(--theme-color, $color-primary); + border-style: solid; + border-color: var(--theme-color, $color-primary); box-sizing: border-box; color: var(--theme-color, $color-primary); font-size: 1.05em; From 72c34152d4f4d3a1ccb5bd09fe41dc3217a8503e Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 5 Feb 2017 14:50:04 +0800 Subject: [PATCH 034/826] bump: 2.0.2 --- docs/_coverpage.md | 2 +- lib/themes/buble.css | 2 +- lib/themes/vue.css | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/_coverpage.md b/docs/_coverpage.md index ee92e05..c2c1d69 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 2.0.1 +# docsify 2.0.2 > A magical documentation site generator. diff --git a/lib/themes/buble.css b/lib/themes/buble.css index 96c0a33..14c8771 100644 --- a/lib/themes/buble.css +++ b/lib/themes/buble.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css?family=Inconsolata|Inconsolata-Bold");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#0074d9;background-color:var(--theme-color,#0074d9);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#0074d9;color:var(--theme-color,#0074d9)}nav a.active{border-bottom:2px solid #0074d9;border-bottom:2px solid var(--theme-color,#0074d9)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border-color:#0074d9;border:1px solid var(--theme-color,#0074d9);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#0074d9;fill:var(--theme-color,#0074d9)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:16em;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;background-color:var(--theme-color,#0074d9);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,116,217,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border-width:1px;border-style:solid;border-width:#0074d9;border-width:var(--theme-color,#0074d9);box-sizing:border-box;color:#0074d9;color:var(--theme-color,#0074d9);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;background-color:var(--theme-color,#0074d9);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;color:var(--theme-color,#0074d9);font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;border-left:4px solid var(--theme-color,#0074d9);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Inconsolata|Inconsolata-Bold");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#0074d9;background-color:var(--theme-color,#0074d9);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#0074d9;color:var(--theme-color,#0074d9)}nav a.active{border-bottom:2px solid #0074d9;border-bottom:2px solid var(--theme-color,#0074d9)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border-color:#0074d9;border:1px solid var(--theme-color,#0074d9);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#0074d9;fill:var(--theme-color,#0074d9)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:16em;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;background-color:var(--theme-color,#0074d9);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,116,217,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border-color:#0074d9;border:1px solid var(--theme-color,#0074d9);box-sizing:border-box;color:#0074d9;color:var(--theme-color,#0074d9);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;background-color:var(--theme-color,#0074d9);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;color:var(--theme-color,#0074d9);font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;border-left:4px solid var(--theme-color,#0074d9);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file diff --git a/lib/themes/vue.css b/lib/themes/vue.css index b0ac4e2..a46bdec 100644 --- a/lib/themes/vue.css +++ b/lib/themes/vue.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#42b983;background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983;color:var(--theme-color,#42b983)}nav a.active{border-bottom:2px solid #42b983;border-bottom:2px solid var(--theme-color,#42b983)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border-color:#42b983;border:1px solid var(--theme-color,#42b983);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983;fill:var(--theme-color,#42b983)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;background-color:var(--theme-color,#42b983);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(66,185,131,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border-width:1px;border-style:solid;border-width:#42b983;border-width:var(--theme-color,#42b983);box-sizing:border-box;color:#42b983;color:var(--theme-color,#42b983);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#7f8c8d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;border-left:4px solid var(--theme-color,#42b983);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983;color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983;color:var(--theme-color,#42b983)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#42b983;background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983;color:var(--theme-color,#42b983)}nav a.active{border-bottom:2px solid #42b983;border-bottom:2px solid var(--theme-color,#42b983)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border-color:#42b983;border:1px solid var(--theme-color,#42b983);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983;fill:var(--theme-color,#42b983)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;background-color:var(--theme-color,#42b983);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(66,185,131,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border-color:#42b983;border:1px solid var(--theme-color,#42b983);box-sizing:border-box;color:#42b983;color:var(--theme-color,#42b983);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#7f8c8d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;border-left:4px solid var(--theme-color,#42b983);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983;color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983;color:var(--theme-color,#42b983)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file From 543cbbce8100cad979bc1f707c652dd1745ae59a Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 5 Feb 2017 14:50:09 +0800 Subject: [PATCH 035/826] -> v2.0.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3598849..eceebcd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "2.0.1", + "version": "2.0.2", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From cbaee21deddf4a568de3a408c74a380a383ef88a Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Tue, 7 Feb 2017 19:54:09 +0800 Subject: [PATCH 036/826] fix: css var polyfill --- CHANGELOG.md | 4 ++++ src/polyfill.js | 17 ++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef22f29..10c1715 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.3 +### Bug fixes +- fix: css var polyfill + ## 2.0.2 ### Bug fixes diff --git a/src/polyfill.js b/src/polyfill.js index 551499b..d2418a2 100644 --- a/src/polyfill.js +++ b/src/polyfill.js @@ -14,14 +14,17 @@ export function cssVars () { if (block.nodeName === 'STYLE') { replaceVar(block) } else if (block.nodeName === 'LINK') { - load(block.getAttribute('href')) - .then(res => { - const style = document.createElement('style') + const href = block.getAttribute('href') - style.innerHTML = res - document.head.appendChild(style) - replaceVar(style) - }) + if (/\.css$/.test(href)) return + + load(href).then(res => { + const style = document.createElement('style') + + style.innerHTML = res + document.head.appendChild(style) + replaceVar(style) + }) } }) } From 8c7e4d7866049db20871624140640e08dc5f55b7 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Tue, 7 Feb 2017 20:17:12 +0800 Subject: [PATCH 037/826] fix: rendering emojis --- CHANGELOG.md | 1 + src/render.js | 2 +- src/util.js | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10c1715..74b3022 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ## 2.0.3 ### Bug fixes +- fix: rendering emojis - fix: css var polyfill ## 2.0.2 diff --git a/src/render.js b/src/render.js index 36b8cf6..a01fc96 100644 --- a/src/render.js +++ b/src/render.js @@ -39,7 +39,7 @@ export function init () { renderer.code = function (code, lang = '') { const hl = Prism.highlight(code, Prism.languages[lang] || Prism.languages.markup) - return `
                                                                                                                            ${hl.replace(/:/g, '__colon__')}
                                                                                                                            ` + return `
                                                                                                                            ${hl}
                                                                                                                            ` } renderer.link = function (href, title, text) { if (!/:/.test(href)) { diff --git a/src/util.js b/src/util.js index c57bb42..d5b62ae 100644 --- a/src/util.js +++ b/src/util.js @@ -160,6 +160,7 @@ export const merge = Object.assign || function (to) { export function emojify (text) { return text + .replace(/<(pre|template)[^>]*?>([\s\S]+)<\/(pre|template)>/g, match => match.replace(/:/g, '__colon__')) .replace(/:(\w*?):/ig, '$1') .replace(/__colon__/g, ':') } From 8cd386ae4970c569e2b76a44e57e5066fc9c3db2 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Tue, 7 Feb 2017 20:17:54 +0800 Subject: [PATCH 038/826] fix: css var polyfill --- src/polyfill.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/polyfill.js b/src/polyfill.js index d2418a2..165fba2 100644 --- a/src/polyfill.js +++ b/src/polyfill.js @@ -16,7 +16,7 @@ export function cssVars () { } else if (block.nodeName === 'LINK') { const href = block.getAttribute('href') - if (/\.css$/.test(href)) return + if (!/\.css$/.test(href)) return load(href).then(res => { const style = document.createElement('style') From 7ba434e61d33eaf905736a9153fa4220d33f296f Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Tue, 7 Feb 2017 20:18:25 +0800 Subject: [PATCH 039/826] bump: 2.0.3 --- docs/_coverpage.md | 2 +- lib/docsify.js | 20 ++++++++++++-------- lib/docsify.min.js | 4 ++-- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/docs/_coverpage.md b/docs/_coverpage.md index c2c1d69..bc99caa 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 2.0.2 +# docsify 2.0.3 > A magical documentation site generator. diff --git a/lib/docsify.js b/lib/docsify.js index 8c6948d..5859940 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -170,6 +170,7 @@ var merge = Object.assign || function (to) { function emojify (text) { return text + .replace(/<(pre|template)[^>]*?>([\s\S]+)<\/(pre|template)>/g, function (match) { return match.replace(/:/g, '__colon__'); }) .replace(/:(\w*?):/ig, '$1') .replace(/__colon__/g, ':') } @@ -2509,14 +2510,17 @@ function cssVars () { if (block.nodeName === 'STYLE') { replaceVar(block); } else if (block.nodeName === 'LINK') { - load(block.getAttribute('href')) - .then(function (res) { - var style = document.createElement('style'); + var href = block.getAttribute('href'); - style.innerHTML = res; - document.head.appendChild(style); - replaceVar(style); - }); + if (!/\.css$/.test(href)) { return } + + load(href).then(function (res) { + var style = document.createElement('style'); + + style.innerHTML = res; + document.head.appendChild(style); + replaceVar(style); + }); } }); } @@ -2557,7 +2561,7 @@ function init () { var hl = prism.highlight(code, prism.languages[lang] || prism.languages.markup); - return ("
                                                                                                                            " + (hl.replace(/:/g, '__colon__')) + "
                                                                                                                            ") + return ("
                                                                                                                            " + hl + "
                                                                                                                            ") }; renderer.link = function (href, title, text) { if (!/:/.test(href)) { diff --git a/lib/docsify.min.js b/lib/docsify.min.js index af05349..70a30c1 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var i=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(i)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var i=e.level||1,a=i-1;i>t||(r[a]?(r[a].children=r[a].children||[],r[a].children.push(e)):n.push(e),r[i]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function i(){var e=window.location;if(M===e.hash&&!r(j))return j;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,j=t,M=e.hash,t}function a(){return document.body.clientWidth<=600}function o(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(o.occurrences=o.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var i=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),a=o.occurrences[i];return o.occurrences.hasOwnProperty(i)?a++:a=0,o.occurrences[i]=a,a&&(i=i+"-"+a),i}function s(e){return e.replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,a=document.body.scrollTop,s=0,c=n.length;sa){e||(e=u);break}e=u}if(e){var p=o[e.getAttribute("data-id")];if(p&&p!==l&&(l&&l.classList.remove("active"),p.classList.add("active"),l=p,!t&&!h.noSticky)){var d=0,g=l.offsetTop+l.clientHeight+40,f=l.offsetTop>=r.scrollTop&&g<=r.scrollTop+i,m=g-d=e||h.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),h.noSticky=!1):(document.body.classList.remove("sticky"),h.noSticky=!0)}()}function g(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n
                                                                                                                            \n \n '):""}function m(){var e=b()+'';return(a()?e+"
                                                                                                                            ":"
                                                                                                                            "+e)+'
                                                                                                                            \n
                                                                                                                            \n
                                                                                                                            \n
                                                                                                                            '}function y(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                                                                                            \n
                                                                                                                            \n
                                                                                                                            \n
                                                                                                                            '}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                                                                                          • '+e.title+"
                                                                                                                          • ",e.children&&(t+='
                                                                                                                            • '+v(e.children)+"
                                                                                                                            ")}),t):""}function k(e,t){return'

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

                                                                                                                            "}function w(e){return""}function _(e){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,__docsify__.themeColor)}function x(){if(!(window.CSS&&window.CSS.supports&&window.CSS.supports("(--foo: red)"))){var t=document.querySelectorAll("style:not(.inserted),link");[].forEach.call(t,function(t){"STYLE"===t.nodeName?_(t):"LINK"===t.nodeName&&e(t.getAttribute("href")).then(function(e){var t=document.createElement("style");t.innerHTML=e,document.head.appendChild(t),_(t)})})}}function L(){var e=new I.Renderer;e.heading=function(e,t){var n=o(e),r="";return r="#/"+i(),z.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},e.code=function(e,t){void 0===t&&(t="");var n=F.highlight(e,F.languages[t]||F.languages.markup);return'
                                                                                                                            '+n.replace(/:/g,"__colon__")+"
                                                                                                                            "},e.link=function(e,t,n){return/:/.test(e)||(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},e.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                                                                                            "+e+"

                                                                                                                            "},"function"==typeof __docsify__.markdown?(W.setOptions({renderer:e}),W=__docsify__.markdown.call(this,W)):W.setOptions(O({renderer:e},__docsify__.markdown));var t=W;W=function(e){return s(t(e))}}function S(e,t){var n=document.querySelector("nav")||document.createElement("nav");__docsify__.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(__docsify__.repo)+(__docsify__.coverpage?y():"")+m(),document.body.insertBefore(n,document.body.children[0]),__docsify__.themeColor&&(document.head.innerHTML+=w(__docsify__.themeColor),x()),p("button.sidebar-toggle"),__docsify__.coverpage?!a()&&window.addEventListener("scroll",h):document.body.classList.add("sticky")}function C(e){if(R("article",e?W(e):"not found"),__docsify__.loadSidebar||E(),e&&"undefined"!=typeof Vue){H.vm&&H.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0],n=t?t.innerText.trim():null;t&&t.remove(),H.vm=n?new Function("return "+n)():new Vue({el:"main"}),H.vm&&H.vm.$nextTick(function(e){return l()})}__docsify__.auto2top&&setTimeout(function(){return d(__docsify__.auto2top)},0)}function $(e){H.navbar&&H.navbar===e||(H.navbar=e,e&&R("nav",W(e)),u("nav"))}function E(e){var n;e?(n=W(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=v(t(z,__docsify__.maxLevel),"
                                                                                                                              "),n=(__docsify__.name?'

                                                                                                                              '+__docsify__.name+"

                                                                                                                              ":"")+n,R("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&A(r),z=[],l()}function A(e){__docsify__.subMaxLevel&&(e.parentNode.innerHTML+=v(t(z,__docsify__.subMaxLevel),"
                                                                                                                                "))}function T(e){if(T.dom=T.dom||document.querySelector("section.cover"),!e)return void T.dom.classList.remove("show");if(T.dom.classList.add("show"),T.rendered)return h();var t=z.slice(),n=W(e),r=n.trim().match('

                                                                                                                                ([^<]*?)

                                                                                                                                $');if(z=t.slice(),r){var i=document.querySelector("section.cover");"color"===r[2]?i.style.background=r[1]+(r[3]||""):(i.classList.add("has-mask"),i.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}R(".cover-main",n),T.rendered=!0,h()}function q(e){var t,n=e.loaded,r=e.total,i=e.step;if(!H.loading){var a=document.createElement("div");a.classList.add("progress"),document.body.appendChild(a),H.loading=a}i?(t=parseInt(H.loading.style.width,10)+i,t=t>80?80:t):t=Math.floor(n/r*100),H.loading.style.opacity=1,H.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(q.cacheTimeout),q.cacheTimeout=setTimeout(function(e){H.loading.style.opacity=0,H.loading.style.width="0%"},200))}var j=null,M=null;o.clear=function(){o.occurrences={}};var N=Object.prototype.hasOwnProperty,O=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function o(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:

                                                                                                                                "+a(e.message+"",!0)+"
                                                                                                                                ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=s(p.item,"gm")(/bull/g,p.bullet)(),p.list=s(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=s(p.blockquote)("def",p.def)(),p._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",p.html=s(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=s(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=s(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,o,s,l,c,u,d,h=this,e=e.replace(/^ +$/gm,"");e;)if((a=h.rules.newline.exec(e))&&(e=e.substring(a[0].length),a[0].length>1&&h.tokens.push({type:"space"})),a=h.rules.code.exec(e))e=e.substring(a[0].length),a=a[0].replace(/^ {4}/gm,""),h.tokens.push({type:"code",text:h.options.pedantic?a:a.replace(/\n+$/,"")});else if(a=h.rules.fences.exec(e))e=e.substring(a[0].length),h.tokens.push({type:"code",lang:a[2],text:a[3]||""});else if(a=h.rules.heading.exec(e))e=e.substring(a[0].length),h.tokens.push({type:"heading",depth:a[1].length,text:a[2]});else if(t&&(a=h.rules.nptable.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),h.token(a,t,!0),h.tokens.push({type:"blockquote_end"});else if(a=h.rules.list.exec(e)){for(e=e.substring(a[0].length),o=a[2],h.tokens.push({type:"list_start",ordered:o.length>1}),a=a[0].match(h.rules.item),r=!1,d=a.length,u=0;u1&&s.length>1||(e=a.slice(u+1).join("\n")+e,u=d-1)),i=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),i||(i=r)),h.tokens.push({type:i?"loose_item_start":"list_item_start"}),h.token(l,!1,n),h.tokens.push({type:"list_item_end"});h.tokens.push({type:"list_end"})}else if(a=h.rules.html.exec(e))e=e.substring(a[0].length),h.tokens.push({type:h.options.sanitize?"paragraph":"html",pre:!h.options.sanitizer&&("pre"===a[1]||"script"===a[1]||"style"===a[1]),text:a[0]});else if(!n&&t&&(a=h.rules.def.exec(e)))e=e.substring(a[0].length),h.tokens.links[a[1].toLowerCase()]={href:a[2],title:a[3]};else if(t&&(a=h.rules.table.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[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*/,d.link=s(d.link)("inside",d._inside)("href",d._href)(),d.reflink=s(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:s(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:s(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:s(d.br)("{2,}","*")(),text:s(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var i=new n(t,r);return i.output(e)},n.prototype.output=function(e){for(var t,n,r,i,o=this,s="";e;)if(i=o.rules.escape.exec(e))e=e.substring(i[0].length),s+=i[1];else if(i=o.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=":"===i[1].charAt(6)?o.mangle(i[1].substring(7)):o.mangle(i[1]),r=o.mangle("mailto:")+n):(n=a(i[1]),r=n),s+=o.renderer.link(r,null,n);else if(o.inLink||!(i=o.rules.url.exec(e))){if(i=o.rules.tag.exec(e))!o.inLink&&/^/i.test(i[0])&&(o.inLink=!1),e=e.substring(i[0].length),s+=o.options.sanitize?o.options.sanitizer?o.options.sanitizer(i[0]):a(i[0]):i[0];else if(i=o.rules.link.exec(e))e=e.substring(i[0].length),o.inLink=!0,s+=o.outputLink(i,{href:i[2],title:i[3]}),o.inLink=!1;else if((i=o.rules.reflink.exec(e))||(i=o.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),t=o.links[t.toLowerCase()],!t||!t.href){s+=i[0].charAt(0),e=i[0].substring(1)+e;continue}o.inLink=!0,s+=o.outputLink(i,t),o.inLink=!1}else if(i=o.rules.strong.exec(e))e=e.substring(i[0].length),s+=o.renderer.strong(o.output(i[2]||i[1]));else if(i=o.rules.em.exec(e))e=e.substring(i[0].length),s+=o.renderer.em(o.output(i[2]||i[1]));else if(i=o.rules.code.exec(e))e=e.substring(i[0].length),s+=o.renderer.codespan(a(i[2],!0));else if(i=o.rules.br.exec(e))e=e.substring(i[0].length),s+=o.renderer.br();else if(i=o.rules.del.exec(e))e=e.substring(i[0].length),s+=o.renderer.del(o.output(i[1]));else if(i=o.rules.text.exec(e))e=e.substring(i[0].length),s+=o.renderer.text(a(o.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=a(i[1]),r=n,s+=o.renderer.link(r,null,n);return s},n.prototype.outputLink=function(e,t){var n=a(t.href),r=t.title?a(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,a(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:a(e,!0))+"\n
                                                                                                                                \n":"
                                                                                                                                "+(n?e:a(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(o(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){var r=new i(t,n);return r.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,a,o="",s="";for(r="",t=0;te.length)break e;if(!(v instanceof i)){u.lastIndex=0;var k=u.exec(v),w=1;if(!k&&h&&y!=a.length-1){if(u.lastIndex=b,k=u.exec(e),!k)break;for(var _=k.index+(d?k[1].length:0),x=k.index+k[0].length,L=y,S=b,C=a.length;L=S&&(++y,b=S);if(a[y]instanceof i||a[L-1].greedy)continue;w=L-y,v=e.slice(b,S),k.index-=b}if(k){d&&(g=k[1].length);var _=k.index+g,k=k[0].slice(g),x=_+k.length,$=v.slice(0,_),E=v.slice(x),A=[y,w];$&&A.push($);var T=new i(s,p?r.tokenize(k,p):k,f,k,h);A.push(T),E&&A.push(E),Array.prototype.splice.apply(a,A)}}}}}return a},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,a=0;i=n[a++];)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 a={type:e.type,content:i.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==a.type&&(a.attributes.spellcheck="true"),e.alias){var o="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(a.classes,o)}r.hooks.run("wrap",a);var s=Object.keys(a.attributes).map(function(e){return e+'="'+(a.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+(s?" "+s:"")+">"+a.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),i=n.language,a=n.code,o=n.immediateClose;t.postMessage(r.highlight(a,r.languages[i],i)),o&&t.close()},!1),t.Prism):t.Prism;var a=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return a&&(r.filename=a.src,document.addEventListener&&!a.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),"undefined"!=typeof P&&(P.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"),a=t,o=/\blang(?:uage)?-(?!\*)(\w+)\b/i;a&&!o.test(a.className);)a=a.parentNode;if(a&&(r=(t.className.match(o)||[,""])[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))}()}),W=I,z=[],H={},R=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,o.clear(),e},B=O({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,loadSidebar:null,loadNavbar:null,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",themeColor:"",nameLink:window.location.pathname},window.$docsify),D=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(D){for(var G in B){var Z=D.getAttribute("data-"+n(G));B[G]=r(Z)?B[G]:Z||!0}B.loadSidebar===!0&&(B.loadSidebar="_sidebar.md"),B.loadNavbar===!0&&(B.loadNavbar="_navbar.md"),B.coverpage===!0&&(B.coverpage="_coverpage.md"),B.repo===!0&&(B.repo=""),B.name===!0&&(B.name="")}window.__docsify__=B,L(B);var U=null,V=null,Y=function(t){var n=B.basePath+i();if(U===n)return t();var r=U=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var a;a=n?/\/$/.test(n)?n+"README.md":n+".md":B.homepage||"README.md",B.coverpage&&a===B.homepage&&e(B.coverpage).then(T),V&&V.abort&&V.abort(),V=e(a,"GET",q),V.then(function(n){if(C(n),B.coverpage&&a!==B.homepage&&T(),B.loadSidebar){var i=function(e){E(e),t()};e(r+B.loadSidebar).then(i,function(t){return e(B.loadSidebar).then(i)})}else t()},function(e){return C(null)}),B.loadNavbar&&e(r+B.loadNavbar).then($,function(t){return e(B.loadNavbar).then($)})},J=function(){var e=document.querySelector(B.el)||document.body,t=e!==document.body,n=function(){Y(function(e){c(),u("nav")})};S(e,t),n(),/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n)},X=J();return X}(); +var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var i=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(i)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var i=e.level||1,a=i-1;i>t||(r[a]?(r[a].children=r[a].children||[],r[a].children.push(e)):n.push(e),r[i]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function i(){var e=window.location;if(M===e.hash&&!r(j))return j;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,j=t,M=e.hash,t}function a(){return document.body.clientWidth<=600}function o(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(o.occurrences=o.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var i=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),a=o.occurrences[i];return o.occurrences.hasOwnProperty(i)?a++:a=0,o.occurrences[i]=a,a&&(i=i+"-"+a),i}function s(e){return e.replace(/<(pre|template)[^>]*?>([\s\S]+)<\/(pre|template)>/g,function(e){return e.replace(/:/g,"__colon__")}).replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,a=document.body.scrollTop,s=0,c=n.length;sa){e||(e=u);break}e=u}if(e){var p=o[e.getAttribute("data-id")];if(p&&p!==l&&(l&&l.classList.remove("active"),p.classList.add("active"),l=p,!t&&!h.noSticky)){var d=0,g=l.offsetTop+l.clientHeight+40,f=l.offsetTop>=r.scrollTop&&g<=r.scrollTop+i,m=g-d=e||h.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),h.noSticky=!1):(document.body.classList.remove("sticky"),h.noSticky=!0)}()}function g(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(){var e=b()+'';return(a()?e+"
                                                                                                                                ":"
                                                                                                                                "+e)+'
                                                                                                                                \n
                                                                                                                                \n
                                                                                                                                \n
                                                                                                                                '}function y(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                                                                                                \n
                                                                                                                                \n
                                                                                                                                \n
                                                                                                                                '}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                                                                                              • '+e.title+"
                                                                                                                              • ",e.children&&(t+='
                                                                                                                                • '+v(e.children)+"
                                                                                                                                ")}),t):""}function k(e,t){return'

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

                                                                                                                                "}function w(e){return""}function _(e){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,__docsify__.themeColor)}function x(){if(!(window.CSS&&window.CSS.supports&&window.CSS.supports("(--foo: red)"))){var t=document.querySelectorAll("style:not(.inserted),link");[].forEach.call(t,function(t){if("STYLE"===t.nodeName)_(t);else if("LINK"===t.nodeName){var n=t.getAttribute("href");if(!/\.css$/.test(n))return;e(n).then(function(e){var t=document.createElement("style");t.innerHTML=e,document.head.appendChild(t),_(t)})}})}}function L(){var e=new I.Renderer;e.heading=function(e,t){var n=o(e),r="";return r="#/"+i(),z.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},e.code=function(e,t){void 0===t&&(t="");var n=F.highlight(e,F.languages[t]||F.languages.markup);return'
                                                                                                                                '+n+"
                                                                                                                                "},e.link=function(e,t,n){return/:/.test(e)||(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},e.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                                                                                                "+e+"

                                                                                                                                "},"function"==typeof __docsify__.markdown?(W.setOptions({renderer:e}),W=__docsify__.markdown.call(this,W)):W.setOptions(O({renderer:e},__docsify__.markdown));var t=W;W=function(e){return s(t(e))}}function S(e,t){var n=document.querySelector("nav")||document.createElement("nav");__docsify__.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(__docsify__.repo)+(__docsify__.coverpage?y():"")+m(),document.body.insertBefore(n,document.body.children[0]),__docsify__.themeColor&&(document.head.innerHTML+=w(__docsify__.themeColor),x()),p("button.sidebar-toggle"),__docsify__.coverpage?!a()&&window.addEventListener("scroll",h):document.body.classList.add("sticky")}function C(e){if(R("article",e?W(e):"not found"),__docsify__.loadSidebar||E(),e&&"undefined"!=typeof Vue){H.vm&&H.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0],n=t?t.innerText.trim():null;t&&t.remove(),H.vm=n?new Function("return "+n)():new Vue({el:"main"}),H.vm&&H.vm.$nextTick(function(e){return l()})}__docsify__.auto2top&&setTimeout(function(){return d(__docsify__.auto2top)},0)}function $(e){H.navbar&&H.navbar===e||(H.navbar=e,e&&R("nav",W(e)),u("nav"))}function E(e){var n;e?(n=W(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=v(t(z,__docsify__.maxLevel),"
                                                                                                                                  "),n=(__docsify__.name?'

                                                                                                                                  '+__docsify__.name+"

                                                                                                                                  ":"")+n,R("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&A(r),z=[],l()}function A(e){__docsify__.subMaxLevel&&(e.parentNode.innerHTML+=v(t(z,__docsify__.subMaxLevel),"
                                                                                                                                    "))}function T(e){if(T.dom=T.dom||document.querySelector("section.cover"),!e)return void T.dom.classList.remove("show");if(T.dom.classList.add("show"),T.rendered)return h();var t=z.slice(),n=W(e),r=n.trim().match('

                                                                                                                                    ([^<]*?)

                                                                                                                                    $');if(z=t.slice(),r){var i=document.querySelector("section.cover");"color"===r[2]?i.style.background=r[1]+(r[3]||""):(i.classList.add("has-mask"),i.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}R(".cover-main",n),T.rendered=!0,h()}function q(e){var t,n=e.loaded,r=e.total,i=e.step;if(!H.loading){var a=document.createElement("div");a.classList.add("progress"),document.body.appendChild(a),H.loading=a}i?(t=parseInt(H.loading.style.width,10)+i,t=t>80?80:t):t=Math.floor(n/r*100),H.loading.style.opacity=1,H.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(q.cacheTimeout),q.cacheTimeout=setTimeout(function(e){H.loading.style.opacity=0,H.loading.style.width="0%"},200))}var j=null,M=null;o.clear=function(){o.occurrences={}};var N=Object.prototype.hasOwnProperty,O=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function o(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:

                                                                                                                                    "+a(e.message+"",!0)+"
                                                                                                                                    ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=s(p.item,"gm")(/bull/g,p.bullet)(),p.list=s(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=s(p.blockquote)("def",p.def)(),p._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",p.html=s(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=s(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=s(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,o,s,l,c,u,d,h=this,e=e.replace(/^ +$/gm,"");e;)if((a=h.rules.newline.exec(e))&&(e=e.substring(a[0].length),a[0].length>1&&h.tokens.push({type:"space"})),a=h.rules.code.exec(e))e=e.substring(a[0].length),a=a[0].replace(/^ {4}/gm,""),h.tokens.push({type:"code",text:h.options.pedantic?a:a.replace(/\n+$/,"")});else if(a=h.rules.fences.exec(e))e=e.substring(a[0].length),h.tokens.push({type:"code",lang:a[2],text:a[3]||""});else if(a=h.rules.heading.exec(e))e=e.substring(a[0].length),h.tokens.push({type:"heading",depth:a[1].length,text:a[2]});else if(t&&(a=h.rules.nptable.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),h.token(a,t,!0),h.tokens.push({type:"blockquote_end"});else if(a=h.rules.list.exec(e)){for(e=e.substring(a[0].length),o=a[2],h.tokens.push({type:"list_start",ordered:o.length>1}),a=a[0].match(h.rules.item),r=!1,d=a.length,u=0;u1&&s.length>1||(e=a.slice(u+1).join("\n")+e,u=d-1)),i=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),i||(i=r)),h.tokens.push({type:i?"loose_item_start":"list_item_start"}),h.token(l,!1,n),h.tokens.push({type:"list_item_end"});h.tokens.push({type:"list_end"})}else if(a=h.rules.html.exec(e))e=e.substring(a[0].length),h.tokens.push({type:h.options.sanitize?"paragraph":"html",pre:!h.options.sanitizer&&("pre"===a[1]||"script"===a[1]||"style"===a[1]),text:a[0]});else if(!n&&t&&(a=h.rules.def.exec(e)))e=e.substring(a[0].length),h.tokens.links[a[1].toLowerCase()]={href:a[2],title:a[3]};else if(t&&(a=h.rules.table.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[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*/,d.link=s(d.link)("inside",d._inside)("href",d._href)(),d.reflink=s(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:s(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:s(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:s(d.br)("{2,}","*")(),text:s(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var i=new n(t,r);return i.output(e)},n.prototype.output=function(e){for(var t,n,r,i,o=this,s="";e;)if(i=o.rules.escape.exec(e))e=e.substring(i[0].length),s+=i[1];else if(i=o.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=":"===i[1].charAt(6)?o.mangle(i[1].substring(7)):o.mangle(i[1]),r=o.mangle("mailto:")+n):(n=a(i[1]),r=n),s+=o.renderer.link(r,null,n);else if(o.inLink||!(i=o.rules.url.exec(e))){if(i=o.rules.tag.exec(e))!o.inLink&&/^/i.test(i[0])&&(o.inLink=!1),e=e.substring(i[0].length),s+=o.options.sanitize?o.options.sanitizer?o.options.sanitizer(i[0]):a(i[0]):i[0];else if(i=o.rules.link.exec(e))e=e.substring(i[0].length),o.inLink=!0,s+=o.outputLink(i,{href:i[2],title:i[3]}),o.inLink=!1;else if((i=o.rules.reflink.exec(e))||(i=o.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),t=o.links[t.toLowerCase()],!t||!t.href){s+=i[0].charAt(0),e=i[0].substring(1)+e;continue}o.inLink=!0,s+=o.outputLink(i,t),o.inLink=!1}else if(i=o.rules.strong.exec(e))e=e.substring(i[0].length),s+=o.renderer.strong(o.output(i[2]||i[1]));else if(i=o.rules.em.exec(e))e=e.substring(i[0].length),s+=o.renderer.em(o.output(i[2]||i[1]));else if(i=o.rules.code.exec(e))e=e.substring(i[0].length),s+=o.renderer.codespan(a(i[2],!0));else if(i=o.rules.br.exec(e))e=e.substring(i[0].length),s+=o.renderer.br();else if(i=o.rules.del.exec(e))e=e.substring(i[0].length),s+=o.renderer.del(o.output(i[1]));else if(i=o.rules.text.exec(e))e=e.substring(i[0].length),s+=o.renderer.text(a(o.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=a(i[1]),r=n,s+=o.renderer.link(r,null,n);return s},n.prototype.outputLink=function(e,t){var n=a(t.href),r=t.title?a(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,a(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:a(e,!0))+"\n
                                                                                                                                    \n":"
                                                                                                                                    "+(n?e:a(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(o(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){var r=new i(t,n);return r.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,a,o="",s="";for(r="",t=0;te.length)break e;if(!(v instanceof i)){u.lastIndex=0;var k=u.exec(v),w=1;if(!k&&h&&y!=a.length-1){if(u.lastIndex=b,k=u.exec(e),!k)break;for(var _=k.index+(d?k[1].length:0),x=k.index+k[0].length,L=y,S=b,C=a.length;L=S&&(++y,b=S);if(a[y]instanceof i||a[L-1].greedy)continue;w=L-y,v=e.slice(b,S),k.index-=b}if(k){d&&(g=k[1].length);var _=k.index+g,k=k[0].slice(g),x=_+k.length,$=v.slice(0,_),E=v.slice(x),A=[y,w];$&&A.push($);var T=new i(s,p?r.tokenize(k,p):k,f,k,h);A.push(T),E&&A.push(E),Array.prototype.splice.apply(a,A)}}}}}return a},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,a=0;i=n[a++];)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 a={type:e.type,content:i.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==a.type&&(a.attributes.spellcheck="true"),e.alias){var o="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(a.classes,o)}r.hooks.run("wrap",a);var s=Object.keys(a.attributes).map(function(e){return e+'="'+(a.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+(s?" "+s:"")+">"+a.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),i=n.language,a=n.code,o=n.immediateClose;t.postMessage(r.highlight(a,r.languages[i],i)),o&&t.close()},!1),t.Prism):t.Prism;var a=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return a&&(r.filename=a.src,document.addEventListener&&!a.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),"undefined"!=typeof P&&(P.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"),a=t,o=/\blang(?:uage)?-(?!\*)(\w+)\b/i;a&&!o.test(a.className);)a=a.parentNode;if(a&&(r=(t.className.match(o)||[,""])[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))}()}),W=I,z=[],H={},R=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,o.clear(),e},B=O({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,loadSidebar:null,loadNavbar:null,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",themeColor:"",nameLink:window.location.pathname},window.$docsify),D=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(D){for(var G in B){var Z=D.getAttribute("data-"+n(G));B[G]=r(Z)?B[G]:Z||!0}B.loadSidebar===!0&&(B.loadSidebar="_sidebar.md"),B.loadNavbar===!0&&(B.loadNavbar="_navbar.md"),B.coverpage===!0&&(B.coverpage="_coverpage.md"),B.repo===!0&&(B.repo=""),B.name===!0&&(B.name="")}window.__docsify__=B,L(B);var U=null,V=null,Y=function(t){var n=B.basePath+i();if(U===n)return t();var r=U=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var a;a=n?/\/$/.test(n)?n+"README.md":n+".md":B.homepage||"README.md",B.coverpage&&a===B.homepage&&e(B.coverpage).then(T),V&&V.abort&&V.abort(),V=e(a,"GET",q),V.then(function(n){if(C(n),B.coverpage&&a!==B.homepage&&T(),B.loadSidebar){var i=function(e){E(e),t()};e(r+B.loadSidebar).then(i,function(t){return e(B.loadSidebar).then(i)})}else t()},function(e){return C(null)}),B.loadNavbar&&e(r+B.loadNavbar).then($,function(t){return e(B.loadNavbar).then($)})},J=function(){var e=document.querySelector(B.el)||document.body,t=e!==document.body,n=function(){Y(function(e){c(),u("nav")})};S(e,t),n(),/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n)},X=J();return X}(); From 168d8475d5e317601e505d7aba67b708e2e89388 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Tue, 7 Feb 2017 20:18:28 +0800 Subject: [PATCH 040/826] -> v2.0.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index eceebcd..fe0b279 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "2.0.2", + "version": "2.0.3", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From 12e24790142cfa9792700d3fc89abe4cf92205e7 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Wed, 8 Feb 2017 22:00:44 +0800 Subject: [PATCH 041/826] fix: render name --- src/event.js | 4 ++-- src/index.js | 31 ++++++++++++++++++------------- src/polyfill.js | 2 +- src/render.js | 42 +++++++++++++++++++++++++----------------- src/tpl.js | 2 +- 5 files changed, 47 insertions(+), 34 deletions(-) diff --git a/src/event.js b/src/event.js index 23a7467..6fb35cf 100644 --- a/src/event.js +++ b/src/event.js @@ -9,7 +9,7 @@ export function scrollActiveSidebar () { let hoveredOverSidebar = false const anchors = document.querySelectorAll('.anchor') - const sidebar = document.querySelector('aside.sidebar') + const sidebar = document.querySelector('.sidebar>div') const sidebarHeight = sidebar.clientHeight const nav = {} @@ -126,7 +126,7 @@ export function bindToggle (dom) { dom.addEventListener('click', () => body.classList.toggle('close')) if (isMobile()) { - const sidebar = document.querySelector('aside.sidebar') + const sidebar = document.querySelector('.sidebar div') sidebar.addEventListener('click', () => { body.classList.toggle('close') setTimeout(() => activeLink(sidebar, true), 0) diff --git a/src/index.js b/src/index.js index e383175..ce0338a 100644 --- a/src/index.js +++ b/src/index.js @@ -1,8 +1,8 @@ -import { load, camel2kebab, isNil, getRoute, merge } from './util' +import * as utils from './util' import { scrollIntoView, activeLink } from './event' import * as render from './render' -const OPTIONS = merge({ +const OPTIONS = utils.merge({ el: '#app', repo: '', maxLevel: 6, @@ -22,8 +22,8 @@ const script = document.currentScript || [].slice.call(document.getElementsByTag // load configuration for script attribute if (script) { for (const prop in OPTIONS) { - const val = script.getAttribute('data-' + camel2kebab(prop)) - OPTIONS[prop] = isNil(val) ? OPTIONS[prop] : (val || true) + const val = script.getAttribute('data-' + utils.camel2kebab(prop)) + OPTIONS[prop] = utils.isNil(val) ? OPTIONS[prop] : (val || true) } if (OPTIONS.loadSidebar === true) OPTIONS.loadSidebar = '_sidebar.md' if (OPTIONS.loadNavbar === true) OPTIONS.loadNavbar = '_navbar.md' @@ -33,16 +33,20 @@ if (script) { } // utils -window.__docsify__ = OPTIONS +window.$docsify = OPTIONS +window.Docsify = { + installed: true, + utils: utils.merge({}, utils) +} // load options -render.init(OPTIONS) +render.init() let cacheRoute = null let cacheXhr = null const mainRender = function (cb) { - const route = OPTIONS.basePath + getRoute() + const route = OPTIONS.basePath + utils.getRoute() if (cacheRoute === route) return cb() let basePath = cacheRoute = route @@ -64,12 +68,12 @@ const mainRender = function (cb) { // Render Cover page if (OPTIONS.coverpage && page === OPTIONS.homepage) { - load(OPTIONS.coverpage).then(render.renderCover) + utils.load(OPTIONS.coverpage).then(render.renderCover) } cacheXhr && cacheXhr.abort && cacheXhr.abort() // Render markdown file - cacheXhr = load(page, 'GET', render.renderLoading) + cacheXhr = utils.load(page, 'GET', render.renderLoading) cacheXhr.then(result => { render.renderArticle(result) // clear cover @@ -78,8 +82,8 @@ const mainRender = function (cb) { if (OPTIONS.loadSidebar) { const renderSidebar = result => { render.renderSidebar(result); cb() } - load(basePath + OPTIONS.loadSidebar).then(renderSidebar, - _ => load(OPTIONS.loadSidebar).then(renderSidebar)) + utils.load(basePath + OPTIONS.loadSidebar).then(renderSidebar, + _ => utils.load(OPTIONS.loadSidebar).then(renderSidebar)) } else { cb() } @@ -87,8 +91,8 @@ const mainRender = function (cb) { // Render navbar if (OPTIONS.loadNavbar) { - load(basePath + OPTIONS.loadNavbar).then(render.renderNavbar, - _ => load(OPTIONS.loadNavbar).then(render.renderNavbar)) + utils.load(basePath + OPTIONS.loadNavbar).then(render.renderNavbar, + _ => utils.load(OPTIONS.loadNavbar).then(render.renderNavbar)) } } @@ -99,6 +103,7 @@ const Docsify = function () { mainRender(_ => { scrollIntoView() activeLink('nav') + ;[].concat(window.$docsify.plugins).forEach(fn => fn && fn()) }) } diff --git a/src/polyfill.js b/src/polyfill.js index 165fba2..f3a032b 100644 --- a/src/polyfill.js +++ b/src/polyfill.js @@ -1,7 +1,7 @@ import { load } from './util' function replaceVar (block) { - block.innerHTML = block.innerHTML.replace(/var\(\s*--theme-color.*?\)/g, __docsify__.themeColor) + block.innerHTML = block.innerHTML.replace(/var\(\s*--theme-color.*?\)/g, $docsify.themeColor) } export function cssVars () { diff --git a/src/render.js b/src/render.js index a01fc96..3decfaf 100644 --- a/src/render.js +++ b/src/render.js @@ -57,16 +57,18 @@ export function init () { return `

                                                                                                                                    ${text}

                                                                                                                                    ` } - if (typeof __docsify__.markdown === 'function') { + if (typeof $docsify.markdown === 'function') { markdown.setOptions({ renderer }) - markdown = __docsify__.markdown.call(this, markdown) + markdown = $docsify.markdown.call(this, markdown) } else { - markdown.setOptions(merge({ renderer }, __docsify__.markdown)) + markdown.setOptions(merge({ renderer }, $docsify.markdown)) } const md = markdown markdown = text => emojify(md(text)) + + window.Docsify.utils.marked = markdown } /** @@ -75,23 +77,29 @@ export function init () { export function renderApp (dom, replace) { const nav = document.querySelector('nav') || document.createElement('nav') - if (!__docsify__.repo) nav.classList.add('no-badge') + if (!$docsify.repo) nav.classList.add('no-badge') - dom[replace ? 'outerHTML' : 'innerHTML'] = tpl.corner(__docsify__.repo) + - (__docsify__.coverpage ? tpl.cover() : '') + + dom[replace ? 'outerHTML' : 'innerHTML'] = tpl.corner($docsify.repo) + + ($docsify.coverpage ? tpl.cover() : '') + tpl.main() document.body.insertBefore(nav, document.body.children[0]) // theme color - if (__docsify__.themeColor) { - document.head.innerHTML += tpl.theme(__docsify__.themeColor) + if ($docsify.themeColor) { + document.head.innerHTML += tpl.theme($docsify.themeColor) polyfill.cssVars() } + // render name + if ($docsify.name) { + const aside = document.querySelector('.sidebar') + aside.innerHTML = `

                                                                                                                                    ${$docsify.name}

                                                                                                                                    ` + aside.innerHTML + } + // bind toggle event.bindToggle('button.sidebar-toggle') // bind sticky effect - if (__docsify__.coverpage) { + if ($docsify.coverpage) { !isMobile() && window.addEventListener('scroll', event.sticky) } else { document.body.classList.add('sticky') @@ -103,7 +111,7 @@ export function renderApp (dom, replace) { */ export function renderArticle (content) { renderTo('article', content ? markdown(content) : 'not found') - if (!__docsify__.loadSidebar) renderSidebar() + if (!$docsify.loadSidebar) renderSidebar() if (content && typeof Vue !== 'undefined') { CACHE.vm && CACHE.vm.$destroy() @@ -120,7 +128,7 @@ export function renderArticle (content) { : new Vue({ el: 'main' }) // eslint-disable-line CACHE.vm && CACHE.vm.$nextTick(_ => event.scrollActiveSidebar()) } - if (__docsify__.auto2top) setTimeout(() => event.scroll2Top(__docsify__.auto2top), 0) + if ($docsify.auto2top) setTimeout(() => event.scroll2Top($docsify.auto2top), 0) } /** @@ -145,12 +153,12 @@ export function renderSidebar (content) { // find url tag html = html.match(/]*>([\s\S]+)<\/ul>/g)[0] } else { - html = tpl.tree(genTree(toc, __docsify__.maxLevel), '
                                                                                                                                      ') + html = tpl.tree(genTree(toc, $docsify.maxLevel), '
                                                                                                                                        ') } - html = (__docsify__.name ? `

                                                                                                                                        ${__docsify__.name}

                                                                                                                                        ` : '') + html - renderTo('aside.sidebar', html) - const target = event.activeLink('aside.sidebar', true) + console.log(html) + renderTo('.sidebar>div', html) + const target = event.activeLink('.sidebar>div', true) if (target) renderSubSidebar(target) toc = [] @@ -158,8 +166,8 @@ export function renderSidebar (content) { } export function renderSubSidebar (target) { - if (!__docsify__.subMaxLevel) return - target.parentNode.innerHTML += tpl.tree(genTree(toc, __docsify__.subMaxLevel), '
                                                                                                                                          ') + if (!$docsify.subMaxLevel) return + target.parentNode.innerHTML += tpl.tree(genTree(toc, $docsify.subMaxLevel), '
                                                                                                                                            ') } /** diff --git a/src/tpl.js b/src/tpl.js index 3c8528f..f946490 100644 --- a/src/tpl.js +++ b/src/tpl.js @@ -23,7 +23,7 @@ export function corner (data) { * Render main content */ export function main () { - const aside = `${toggle()}` + const aside = `${toggle()}` return (isMobile() ? `${aside}
                                                                                                                                            ` : `
                                                                                                                                            ${aside}`) + `
                                                                                                                                            From eb5ff3e987f0275f6e2ddcedfa57768f2976eae1 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Thu, 9 Feb 2017 00:19:10 +0800 Subject: [PATCH 042/826] feat: add search, close #43 --- .eslintrc | 6 +- build/build-css.js | 3 +- build/build.js | 16 +- dev.html | 19 +- package.json | 3 +- src/event.js | 2 +- src/plugins/search.js | 332 +++++++++++++++++++++++++++++++++++ src/render.js | 19 +- src/themes/basic/_layout.css | 9 + src/tpl.js | 2 +- 10 files changed, 395 insertions(+), 16 deletions(-) create mode 100644 src/plugins/search.js diff --git a/.eslintrc b/.eslintrc index a88323e..527ed9b 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,7 +1,9 @@ { "extends": ["vue"], + "env": { + "browser": true + }, "globals": { - "XMLHttpRequest": true, - "__docsify__": true + "$docsify": true } } diff --git a/build/build-css.js b/build/build-css.js index 15af1d8..40672e0 100644 --- a/build/build-css.js +++ b/build/build-css.js @@ -2,6 +2,7 @@ var fs = require('fs') var cssnano = require('cssnano').process var resolve = require('path').resolve var postcss = require('postcss') +var isProd = process.argv[process.argv.length - 1] !== '--dev' var processor = postcss([require('postcss-salad')({ features: { @@ -34,7 +35,7 @@ list.forEach(function (file) { .then(function (result) { save(file, result.css) console.log('salad - ' + file) - cssnano(loadLib(file)) + isProd && cssnano(loadLib(file)) .then(function (result) { saveMin(file, result.css) console.log('cssnao - ' + file) diff --git a/build/build.js b/build/build.js index f8a6922..62314e5 100644 --- a/build/build.js +++ b/build/build.js @@ -3,6 +3,7 @@ var buble = require('rollup-plugin-buble') var commonjs = require('rollup-plugin-commonjs') var nodeResolve = require('rollup-plugin-node-resolve') var uglify = require('rollup-plugin-uglify') +var isProd = process.argv[process.argv.length - 1] !== '--dev' var build = function (opts) { rollup @@ -16,7 +17,7 @@ var build = function (opts) { console.log(dest) bundle.write({ format: 'iife', - moduleName: opts.moduleName || 'Docsify', + moduleName: opts.moduleName || 'D', dest: dest }) }) @@ -30,8 +31,19 @@ build({ output: 'docsify.js', plugins: [commonjs(), nodeResolve()] }) -build({ +isProd && build({ entry: 'index.js', output: 'docsify.min.js', plugins: [commonjs(), nodeResolve(), uglify()] }) +build({ + entry: 'plugins/search.js', + output: 'plugins/search.js', + moduleName: 'D.Search' +}) +isProd && build({ + entry: 'plugins/search.js', + output: 'plugins/search.min.js', + moduleName: 'D.Search', + plugins: [uglify()] +}) diff --git a/dev.html b/dev.html index 8b2b27c..11faff7 100644 --- a/dev.html +++ b/dev.html @@ -6,7 +6,24 @@ +
                                                                                                                                            - + + + diff --git a/package.json b/package.json index fe0b279..a22a0bc 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ ], "scripts": { "build": "rm -rf lib themes && node build/build.js && mkdir lib/themes && mkdir themes && node build/build-css.js", - "dev": "node app.js & nodemon -w src -e js,css --exec 'npm run build'", + "dev:build": "rm -rf lib themes && mkdir themes && node build/build.js --dev && node build/build-css.js --dev", + "dev": "node app.js & nodemon -w src -e js,css --exec 'npm run dev:build'", "test": "eslint src test" }, "repository": { diff --git a/src/event.js b/src/event.js index 6fb35cf..f9dca01 100644 --- a/src/event.js +++ b/src/event.js @@ -9,7 +9,7 @@ export function scrollActiveSidebar () { let hoveredOverSidebar = false const anchors = document.querySelectorAll('.anchor') - const sidebar = document.querySelector('.sidebar>div') + const sidebar = document.querySelector('.sidebar') const sidebarHeight = sidebar.clientHeight const nav = {} diff --git a/src/plugins/search.js b/src/plugins/search.js new file mode 100644 index 0000000..569bdd5 --- /dev/null +++ b/src/plugins/search.js @@ -0,0 +1,332 @@ +let INDEXS = {} +const CONFIG = { + placeholder: 'Type to search', + paths: 'auto', + maxAge: 86400000 // 1 day +} + +const isObj = function (obj) { + return Object.prototype.toString.call(obj) === '[object Object]' +} + +const escapeHtml = function (string) { + const entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/' + } + + return String(string).replace(/[&<>"'\/]/g, s => entityMap[s]) +} + +/** + * find all filepath from A tag + */ +const getAllPaths = function () { + const paths = [] + + ;[].slice.call(document.querySelectorAll('a')) + .map(node => { + const href = node.href + if (/#\/[^#]*?$/.test(href)) { + const path = href.replace(/^[^#]+#/, '') + + if (paths.indexOf(path) <= 0) paths.push(path) + } + }) + + return paths +} + +/** + * return file path + */ +const genFilePath = function (path) { + const basePath = window.$docsify.basePath + let filePath = /\/$/.test(path) ? `${path}README.md` : `${path}.md` + + filePath = basePath + filePath + + return filePath.replace(/\/\//g, '/') +} + +/** + * generate index + */ +const genIndex = function (path, content = '') { + // INDEXS[path] = {} + let slug + + content + // remove PRE and TEMPLATE tag + .replace(/]*?>[\s\S]+?<\/template>/g, '') + // find all html tag + .replace(/<(\w+)([^>]*?)>([\s\S]+?)<\//g, (match, tag, attr, html) => { + // remove all html tag + const text = html.replace(/<[^>]+>/g, '') + + // tag is headline + if (/^h\d$/.test(tag)) { + //

                                                                                                                                            + const id = attr.match(/id="(\S+)"/)[1] + + slug = `#/${path}#${id}`.replace(/\/\//, '/') + INDEXS[slug] = { slug, title: text, body: '' } + } else { + // other html tag + if (!INDEXS[slug]) { + INDEXS[slug] = {} + } else { + if (INDEXS[slug].body && INDEXS[slug].body.length) { + INDEXS[slug].body += '\n' + text + } else { + INDEXS[slug].body = text + } + } + } + }) +} + +/** + * component + */ +class SearchComponent { + constructor () { + if (this.rendered) return + + this.style() + + const el = document.createElement('div') + const aside = document.querySelector('aside') + + el.classList.add('search') + aside.insertBefore(el, aside.children[0]) + this.render(el) + this.rendered = true + this.bindEvent() + } + + style () { + const code = ` + .sidebar { + padding-top: 0; + } + + .search { + margin-bottom: 20px; + padding: 6px; + border-bottom: 1px solid #eee; + } + + .search .results-panel { + display: none; + } + + .search .results-panel.show { + display: block; + } + + .search input { + outline: none; + border: none; + width: 100%; + padding: 7px; + line-height: 22px; + font-size: 14px; + } + + .search h2 { + font-size: 17px; + margin: 10px 0; + } + + .search a { + text-decoration: none; + color: inherit; + } + + .search .matching-post { + border-bottom: 1px solid #eee; + } + + .search .matching-post:last-child { + border-bottom: 0; + } + + .search p { + font-size: 14px; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + } + + .search p.empty { + text-align: center; + } + ` + const style = document.createElement('style') + + style.innerHTML = code + document.head.appendChild(style) + } + + render (dom) { + dom.innerHTML = `
                                                                                                                                            ` + } + + bindEvent () { + const input = document.querySelector('.search input') + const panel = document.querySelector('.results-panel') + + input.addEventListener('input', e => { + const target = e.target + + if (target.value.trim() !== '') { + const matchingPosts = this.search(target.value) + let html = '' + + matchingPosts.forEach(function (post, index) { + html += ` +
                                                                                                                                            +

                                                                                                                                            ${post.title}

                                                                                                                                            +

                                                                                                                                            ${post.content}

                                                                                                                                            +
                                                                                                                                            + ` + }) + if (panel.classList.contains('results-panel')) { + panel.classList.add('show') + panel.innerHTML = html || '

                                                                                                                                            No Results!

                                                                                                                                            ' + } + } else { + if (panel.classList.contains('results-panel')) { + panel.classList.remove('show') + panel.innerHTML = '' + } + } + }) + } + + // From [weex website] https://weex-project.io/js/common.js + search (keywords) { + const matchingResults = [] + const data = Object.keys(INDEXS).map(key => INDEXS[key]) + + keywords = keywords.trim().split(/[\s\-\,\\/]+/) + + for (let i = 0; i < data.length; i++) { + const post = data[i] + let isMatch = false + let matchingNum = 0 + let resultStr = '' + const postTitle = post.title && post.title.trim() + const postContent = post.body && post.body.trim() + const postUrl = post.slug || '' + const postType = post.pagetitle + + if (postTitle !== '' && postContent !== '') { + keywords.forEach((keyword, i) => { + const regEx = new RegExp(keyword, 'gi') + let indexTitle = -1 + let indexContent = -1 + + indexTitle = postTitle.search(regEx) + indexContent = postContent.search(regEx) + + if (indexTitle < 0 && indexContent < 0) { + isMatch = false + } else { + isMatch = true + matchingNum++ + if (indexContent < 0) indexContent = 0 + + let start = 0 + let end = 0 + + start = indexContent < 11 ? 0 : indexContent - 10 + end = start === 0 ? 70 : indexContent + keyword.length + 60 + + if (end > postContent.length) end = postContent.length + + const matchContent = '...' + + postContent + .substring(start, end) + .replace(regEx, `${keyword}`) + + '...' + + resultStr += matchContent + } + }) + + if (isMatch) { + const matchingPost = { + title: escapeHtml(postTitle), + content: resultStr, + url: postUrl, + type: postType, + matchingNum: matchingNum + } + + matchingResults.push(matchingPost) + } + } + } + + return matchingResults + } +} + +// TODO 如果不存在就重新加载 +const searchPlugin = function () { + if (localStorage.getItem('docsify.search.expires') > Date.now()) { + INDEXS = JSON.parse(localStorage.getItem('docsify.search.index')) + return + } + + const paths = CONFIG.paths === 'auto' ? getAllPaths() : CONFIG.paths + const len = paths.length + const { load, marked, slugify } = window.Docsify.utils + let count = 0 + const done = () => { + localStorage.setItem('docsify.search.expires', Date.now() + CONFIG.maxAge) + localStorage.setItem('docsify.search.index', JSON.stringify(INDEXS)) + } + + paths.forEach(path => { + load(genFilePath(path)).then(content => { + genIndex(path, marked(content)) + slugify.clear() + count++ + + if (len === count) done() + }) + }) +} + +const install = function () { + if (!window.Docsify || !window.Docsify.installed) { + console.error('[Docsify] Please load docsify.js first.') + return + } + + window.$docsify.plugins = [].concat(window.$docsify.plugins, searchPlugin) + + const userConfig = window.$docsify.search + const isNil = window.Docsify.utils.isNil + + if (Array.isArray(userConfig)) { + CONFIG.paths = userConfig + } else if (isObj(userConfig)) { + CONFIG.paths = Array.isArray(userConfig.paths) ? userConfig.paths : 'auto' + CONFIG.maxAge = isNil(userConfig.maxAge) ? CONFIG.maxAge : userConfig.maxAge + CONFIG.placeholder = userConfig.placeholder || CONFIG.placeholder + } + + new SearchComponent() +} + +export default install() diff --git a/src/render.js b/src/render.js index 3decfaf..f233580 100644 --- a/src/render.js +++ b/src/render.js @@ -68,7 +68,11 @@ export function init () { markdown = text => emojify(md(text)) - window.Docsify.utils.marked = markdown + window.Docsify.utils.marked = text => { + const result = markdown(text) + toc = [] + return result + } } /** @@ -76,17 +80,19 @@ export function init () { */ export function renderApp (dom, replace) { const nav = document.querySelector('nav') || document.createElement('nav') + const body = document.body + const head = document.head if (!$docsify.repo) nav.classList.add('no-badge') dom[replace ? 'outerHTML' : 'innerHTML'] = tpl.corner($docsify.repo) + ($docsify.coverpage ? tpl.cover() : '') + tpl.main() - document.body.insertBefore(nav, document.body.children[0]) + body.insertBefore(nav, body.children[0]) // theme color if ($docsify.themeColor) { - document.head.innerHTML += tpl.theme($docsify.themeColor) + head.innerHTML += tpl.theme($docsify.themeColor) polyfill.cssVars() } @@ -102,7 +108,7 @@ export function renderApp (dom, replace) { if ($docsify.coverpage) { !isMobile() && window.addEventListener('scroll', event.sticky) } else { - document.body.classList.add('sticky') + body.classList.add('sticky') } } @@ -156,9 +162,8 @@ export function renderSidebar (content) { html = tpl.tree(genTree(toc, $docsify.maxLevel), '
                                                                                                                                              ') } - console.log(html) - renderTo('.sidebar>div', html) - const target = event.activeLink('.sidebar>div', true) + renderTo('.sidebar-nav', html) + const target = event.activeLink('.sidebar-nav', true) if (target) renderSubSidebar(target) toc = [] diff --git a/src/themes/basic/_layout.css b/src/themes/basic/_layout.css index d325b81..2ded9c3 100644 --- a/src/themes/basic/_layout.css +++ b/src/themes/basic/_layout.css @@ -24,6 +24,15 @@ z-index: 999999; } +.search a:hover { + color: var(--theme-color, $color-primary); +} + +.search .search-keyword { + color: var(--theme-color, $color-primary); + font-style: normal; +} + html, body { height: 100%; } diff --git a/src/tpl.js b/src/tpl.js index f946490..6655129 100644 --- a/src/tpl.js +++ b/src/tpl.js @@ -23,7 +23,7 @@ export function corner (data) { * Render main content */ export function main () { - const aside = `${toggle()}` + const aside = `${toggle()}` return (isMobile() ? `${aside}
                                                                                                                                              ` : `
                                                                                                                                              ${aside}`) + `
                                                                                                                                              From e1da2f8a84fcf017137e7c2a310311fca4a62369 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Thu, 9 Feb 2017 20:57:58 +0800 Subject: [PATCH 043/826] docs(README): add search --- CHANGELOG.md | 8 ++++++++ docs/README.md | 36 ++++++++++++++++++++++++++++++++++++ docs/zh-cn.md | 35 +++++++++++++++++++++++++++++++++++ src/event.js | 2 +- src/index.js | 1 + src/plugins/search.js | 30 ++++++++++++++++-------------- src/render.js | 2 +- src/util.js | 2 +- 8 files changed, 99 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 74b3022..bac93c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## 2.1.0 +### Features +- Add search plugin +```html + + +``` + ## 2.0.3 ### Bug fixes - fix: rendering emojis diff --git a/docs/README.md b/docs/README.md index 4968428..53d2ecd 100644 --- a/docs/README.md +++ b/docs/README.md @@ -459,3 +459,39 @@ window.$docsify = { themeColor: '#3F51B5' } ``` + +## Plugins + +### Full Text Search + +If a document can have a search, can enhance some user experience. The introduction of search plugin is easy. such as + + +```html + + +``` + +By default, the hyperlink on the current page is recognized and the content is saved in `localStorage`. You can also specify the path to the files. + +!> Configure the content before the plugin is installed. + +```js +window.$docsify = { + search: 'auto', // default + + search : [ + '/', // => /README.md + '/guide', // => /guide.md + '/get-started', // => /get-started.md + '/zh-cn/', // => /zh-cn/README.md + ], + + // Full configuration + search: { + maxAge: 86400000, // Expiration time, the default one day + paths: [], // or 'auto' + placeholder: 'Type to search' + } +} +``` diff --git a/docs/zh-cn.md b/docs/zh-cn.md index 56f249b..fc11530 100644 --- a/docs/zh-cn.md +++ b/docs/zh-cn.md @@ -466,3 +466,38 @@ window.$docsify = { themeColor: '#3F51B5' } ``` + +## Plugins + +### 全文检索 - search + +一份文档如果能有搜索功能会提升一些用户体验,加载搜索插件也很简单,直接引入就自动安装并启用。默认情况下会自动分析当前页面上的超链接,获取内容后建立索引并存储在 localStorage 里,默认过期时间为一天,当然这是可配置的。 + +自动识别的方式不一定能识别完整或者如果你想指定某些文件可索引,你可以自己指定文件的路径。 + +```html + + +``` + +!> 配置要在 docsify 引入之前 + +```js +window.$docsify = { + search: 'auto', // default + + search : [ + '/', // => /README.md + '/guide', // => /guide.md + '/get-started', // => /get-started.md + '/zh-cn/', // => /zh-cn/README.md + ], + + // Full configuration + search: { + maxAge: 86400000, // Expiration time, the default one day + paths: [], // or 'auto' + placeholder: 'Type to search' + } +} +``` diff --git a/src/event.js b/src/event.js index f9dca01..64585bd 100644 --- a/src/event.js +++ b/src/event.js @@ -126,7 +126,7 @@ export function bindToggle (dom) { dom.addEventListener('click', () => body.classList.toggle('close')) if (isMobile()) { - const sidebar = document.querySelector('.sidebar div') + const sidebar = document.querySelector('.sidebar') sidebar.addEventListener('click', () => { body.classList.toggle('close') setTimeout(() => activeLink(sidebar, true), 0) diff --git a/src/index.js b/src/index.js index ce0338a..19a3651 100644 --- a/src/index.js +++ b/src/index.js @@ -58,6 +58,7 @@ const mainRender = function (cb) { } let page + if (!route) { page = OPTIONS.homepage || 'README.md' } else if (/\/$/.test(route)) { diff --git a/src/plugins/search.js b/src/plugins/search.js index 569bdd5..0bbf740 100644 --- a/src/plugins/search.js +++ b/src/plugins/search.js @@ -50,14 +50,14 @@ const genFilePath = function (path) { filePath = basePath + filePath - return filePath.replace(/\/\//g, '/') + return filePath.replace(/\/+/g, '/') } /** * generate index */ const genIndex = function (path, content = '') { - // INDEXS[path] = {} + INDEXS[path] = { slug: '', title: '', body: '' } let slug content @@ -73,7 +73,7 @@ const genIndex = function (path, content = '') { //

                                                                                                                                              const id = attr.match(/id="(\S+)"/)[1] - slug = `#/${path}#${id}`.replace(/\/\//, '/') + slug = `#/${path}#${id}`.replace(/\/+/, '/') INDEXS[slug] = { slug, title: text, body: '' } } else { // other html tag @@ -221,12 +221,10 @@ class SearchComponent { for (let i = 0; i < data.length; i++) { const post = data[i] let isMatch = false - let matchingNum = 0 let resultStr = '' const postTitle = post.title && post.title.trim() const postContent = post.body && post.body.trim() const postUrl = post.slug || '' - const postType = post.pagetitle if (postTitle !== '' && postContent !== '') { keywords.forEach((keyword, i) => { @@ -241,7 +239,6 @@ class SearchComponent { isMatch = false } else { isMatch = true - matchingNum++ if (indexContent < 0) indexContent = 0 let start = 0 @@ -266,9 +263,7 @@ class SearchComponent { const matchingPost = { title: escapeHtml(postTitle), content: resultStr, - url: postUrl, - type: postType, - matchingNum: matchingNum + url: postUrl } matchingResults.push(matchingPost) @@ -280,23 +275,30 @@ class SearchComponent { } } -// TODO 如果不存在就重新加载 const searchPlugin = function () { - if (localStorage.getItem('docsify.search.expires') > Date.now()) { - INDEXS = JSON.parse(localStorage.getItem('docsify.search.index')) + const isAuto = CONFIG.paths === 'auto' + const isExpired = localStorage.getItem('docsify.search.expires') < Date.now() + + INDEXS = JSON.parse(localStorage.getItem('docsify.search.index')) + + if (isExpired) { + INDEXS = {} + } else if (!isAuto) { return } - const paths = CONFIG.paths === 'auto' ? getAllPaths() : CONFIG.paths + let count = 0 + const paths = isAuto ? getAllPaths() : CONFIG.paths const len = paths.length const { load, marked, slugify } = window.Docsify.utils - let count = 0 const done = () => { localStorage.setItem('docsify.search.expires', Date.now() + CONFIG.maxAge) localStorage.setItem('docsify.search.index', JSON.stringify(INDEXS)) } paths.forEach(path => { + if (INDEXS[path]) return count++ + load(genFilePath(path)).then(content => { genIndex(path, marked(content)) slugify.clear() diff --git a/src/render.js b/src/render.js index f233580..d8df500 100644 --- a/src/render.js +++ b/src/render.js @@ -43,7 +43,7 @@ export function init () { } renderer.link = function (href, title, text) { if (!/:/.test(href)) { - href = `#/${href}`.replace(/\/\//g, '/') + href = `#/${href}`.replace(/\/+/g, '/') } return `${text}` diff --git a/src/util.js b/src/util.js index d5b62ae..7ea4f49 100644 --- a/src/util.js +++ b/src/util.js @@ -89,7 +89,7 @@ export function getRoute () { const loc = window.location if (cacheHash === loc.hash && !isNil(cacheRoute)) return cacheRoute - let route = loc.hash.match(/^#\/([^#]+)/) + let route = loc.hash.replace(/%23/g, '#').match(/^#\/([^#]+)/) if (route && route.length === 2) { route = route[1] From fc140ef957565c4fc5f49d1873a77d0ee8f0abbd Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Thu, 9 Feb 2017 21:16:35 +0800 Subject: [PATCH 044/826] fix(vue.css): update sidebar style --- docs/zh-cn.md | 2 +- src/themes/basic/_layout.css | 17 +++++++++++++++++ src/themes/vue.css | 3 ++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/docs/zh-cn.md b/docs/zh-cn.md index fc11530..0b19395 100644 --- a/docs/zh-cn.md +++ b/docs/zh-cn.md @@ -471,7 +471,7 @@ window.$docsify = { ### 全文检索 - search -一份文档如果能有搜索功能会提升一些用户体验,加载搜索插件也很简单,直接引入就自动安装并启用。默认情况下会自动分析当前页面上的超链接,获取内容后建立索引并存储在 localStorage 里,默认过期时间为一天,当然这是可配置的。 +一份文档如果能有搜索功能会提升一些用户体验,加载搜索插件也很简单,直接引入就自动安装并启用。默认情况下会自动分析当前页面上的超链接,获取内容后建立索引并存储在 `localStorage` 里,默认过期时间为一天,当然这是可配置的。 自动识别的方式不一定能识别完整或者如果你想指定某些文件可索引,你可以自己指定文件的路径。 diff --git a/src/themes/basic/_layout.css b/src/themes/basic/_layout.css index 2ded9c3..680c42f 100644 --- a/src/themes/basic/_layout.css +++ b/src/themes/basic/_layout.css @@ -235,6 +235,23 @@ main { ul li ul { padding-left: 20px; } + + &::-webkit-scrollbar { + width: 4px; + } + + &::-webkit-scrollbar-thumb { + background: transparent; + border-radius: 4px; + } + + &:hover::-webkit-scrollbar-thumb { + background: rgba(136, 136, 136, 0.4); + } + + &:hover::-webkit-scrollbar-track { + background: rgba(136, 136, 136, 0.1); + } } /* sidebar toggle */ diff --git a/src/themes/vue.css b/src/themes/vue.css index 6bb47a5..89a50c5 100644 --- a/src/themes/vue.css +++ b/src/themes/vue.css @@ -22,11 +22,12 @@ body { } ul li a { - color: #7f8c8d; + color: #505d6b; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; text-decoration: none; + font-size: 14px; &:hover { text-decoration: underline; From 0ca1ece188476705d40562a9609e06b921658e6a Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Thu, 9 Feb 2017 21:23:09 +0800 Subject: [PATCH 045/826] docs(README): fix typo --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 53d2ecd..8a1eb9e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -464,7 +464,7 @@ window.$docsify = { ### Full Text Search -If a document can have a search, can enhance some user experience. The introduction of search plugin is easy. such as +If a document can have a search, can enhance some user experience. Installing the search plugin is easy. Such as ```html From dc35b051d3e339c5f154f676891957749ac8a07e Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Thu, 9 Feb 2017 21:26:49 +0800 Subject: [PATCH 046/826] bump: 2.1.0 --- CHANGELOG.md | 3 + docs/_coverpage.md | 2 +- docs/index.html | 1 + lib/docsify.js | 91 ++++++++---- lib/docsify.min.js | 4 +- lib/plugins/search.js | 284 ++++++++++++++++++++++++++++++++++++++ lib/plugins/search.min.js | 1 + lib/themes/buble.css | 2 +- lib/themes/pure.css | 2 +- lib/themes/vue.css | 2 +- 10 files changed, 357 insertions(+), 35 deletions(-) create mode 100644 lib/plugins/search.js create mode 100644 lib/plugins/search.min.js diff --git a/CHANGELOG.md b/CHANGELOG.md index bac93c3..a44a139 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ ``` +### Bug fixes +- fix sidebar style + ## 2.0.3 ### Bug fixes - fix: rendering emojis diff --git a/docs/_coverpage.md b/docs/_coverpage.md index bc99caa..42151ed 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 2.0.3 +# docsify 2.1.0 > A magical documentation site generator. diff --git a/docs/index.html b/docs/index.html index 16adf82..56af51f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -20,6 +20,7 @@ data-max-level="4" data-coverpage data-name="docsify"> + diff --git a/lib/docsify.js b/lib/docsify.js index 5859940..de4fbb9 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -1,4 +1,4 @@ -var Docsify = (function () { +var D = (function () { 'use strict'; /** @@ -97,7 +97,7 @@ function getRoute () { var loc = window.location; if (cacheHash === loc.hash && !isNil(cacheRoute$1)) { return cacheRoute$1 } - var route = loc.hash.match(/^#\/([^#]+)/); + var route = loc.hash.replace(/%23/g, '#').match(/^#\/([^#]+)/); if (route && route.length === 2) { route = route[1]; @@ -175,6 +175,20 @@ function emojify (text) { .replace(/__colon__/g, ':') } + + +var utils = Object.freeze({ + load: load, + genTree: genTree, + camel2kebab: camel2kebab, + isNil: isNil, + getRoute: getRoute, + isMobile: isMobile, + slugify: slugify, + merge: merge, + emojify: emojify +}); + /** * Active sidebar when scroll * @link https://buble.surge.sh/ @@ -184,7 +198,7 @@ function scrollActiveSidebar () { var hoveredOverSidebar = false; var anchors = document.querySelectorAll('.anchor'); - var sidebar = document.querySelector('aside.sidebar'); + var sidebar = document.querySelector('.sidebar'); var sidebarHeight = sidebar.clientHeight; var nav = {}; @@ -299,7 +313,7 @@ function bindToggle (dom) { dom.addEventListener('click', function () { return body.classList.toggle('close'); }); if (isMobile()) { - var sidebar = document.querySelector('aside.sidebar'); + var sidebar = document.querySelector('.sidebar'); sidebar.addEventListener('click', function () { body.classList.toggle('close'); setTimeout(function () { return activeLink(sidebar, true); }, 0); @@ -2449,7 +2463,7 @@ function corner (data) { * Render main content */ function main () { - var aside = (toggle()) + ""; + var aside = (toggle()) + ""; return (isMobile() ? (aside + "
                                                                                                                                              ") : ("
                                                                                                                                              " + aside)) + "
                                                                                                                                              \n
                                                                                                                                              \n
                                                                                                                                              \n
                                                                                                                                              " @@ -2499,7 +2513,7 @@ function theme (color) { } function replaceVar (block) { - block.innerHTML = block.innerHTML.replace(/var\(\s*--theme-color.*?\)/g, __docsify__.themeColor); + block.innerHTML = block.innerHTML.replace(/var\(\s*--theme-color.*?\)/g, $docsify.themeColor); } function cssVars () { @@ -2565,7 +2579,7 @@ function init () { }; renderer.link = function (href, title, text) { if (!/:/.test(href)) { - href = ("#/" + href).replace(/\/\//g, '/'); + href = ("#/" + href).replace(/\/+/g, '/'); } return ("" + text + "") @@ -2579,16 +2593,22 @@ function init () { return ("

                                                                                                                                              " + text + "

                                                                                                                                              ") }; - if (typeof __docsify__.markdown === 'function') { + if (typeof $docsify.markdown === 'function') { markdown.setOptions({ renderer: renderer }); - markdown = __docsify__.markdown.call(this, markdown); + markdown = $docsify.markdown.call(this, markdown); } else { - markdown.setOptions(merge({ renderer: renderer }, __docsify__.markdown)); + markdown.setOptions(merge({ renderer: renderer }, $docsify.markdown)); } var md = markdown; markdown = function (text) { return emojify(md(text)); }; + + window.Docsify.utils.marked = function (text) { + var result = markdown(text); + toc = []; + return result + }; } /** @@ -2596,27 +2616,35 @@ function init () { */ function renderApp (dom, replace) { var nav = document.querySelector('nav') || document.createElement('nav'); + var body = document.body; + var head = document.head; - if (!__docsify__.repo) { nav.classList.add('no-badge'); } + if (!$docsify.repo) { nav.classList.add('no-badge'); } - dom[replace ? 'outerHTML' : 'innerHTML'] = corner(__docsify__.repo) + - (__docsify__.coverpage ? cover() : '') + + dom[replace ? 'outerHTML' : 'innerHTML'] = corner($docsify.repo) + + ($docsify.coverpage ? cover() : '') + main(); - document.body.insertBefore(nav, document.body.children[0]); + body.insertBefore(nav, body.children[0]); // theme color - if (__docsify__.themeColor) { - document.head.innerHTML += theme(__docsify__.themeColor); + if ($docsify.themeColor) { + head.innerHTML += theme($docsify.themeColor); cssVars(); } + // render name + if ($docsify.name) { + var aside = document.querySelector('.sidebar'); + aside.innerHTML = "

                                                                                                                                              " + ($docsify.name) + "

                                                                                                                                              " + aside.innerHTML; + } + // bind toggle bindToggle('button.sidebar-toggle'); // bind sticky effect - if (__docsify__.coverpage) { + if ($docsify.coverpage) { !isMobile() && window.addEventListener('scroll', sticky); } else { - document.body.classList.add('sticky'); + body.classList.add('sticky'); } } @@ -2625,7 +2653,7 @@ function renderApp (dom, replace) { */ function renderArticle (content) { renderTo('article', content ? markdown(content) : 'not found'); - if (!__docsify__.loadSidebar) { renderSidebar(); } + if (!$docsify.loadSidebar) { renderSidebar(); } if (content && typeof Vue !== 'undefined') { CACHE.vm && CACHE.vm.$destroy(); @@ -2642,7 +2670,7 @@ function renderArticle (content) { : new Vue({ el: 'main' }); // eslint-disable-line CACHE.vm && CACHE.vm.$nextTick(function (_) { return scrollActiveSidebar(); }); } - if (__docsify__.auto2top) { setTimeout(function () { return scroll2Top(__docsify__.auto2top); }, 0); } + if ($docsify.auto2top) { setTimeout(function () { return scroll2Top($docsify.auto2top); }, 0); } } /** @@ -2667,12 +2695,11 @@ function renderSidebar (content) { // find url tag html = html.match(/]*>([\s\S]+)<\/ul>/g)[0]; } else { - html = tree(genTree(toc, __docsify__.maxLevel), '
                                                                                                                                                '); + html = tree(genTree(toc, $docsify.maxLevel), '
                                                                                                                                                  '); } - html = (__docsify__.name ? ("

                                                                                                                                                  " + (__docsify__.name) + "

                                                                                                                                                  ") : '') + html; - renderTo('aside.sidebar', html); - var target = activeLink('aside.sidebar', true); + renderTo('.sidebar-nav', html); + var target = activeLink('.sidebar-nav', true); if (target) { renderSubSidebar(target); } toc = []; @@ -2680,8 +2707,8 @@ function renderSidebar (content) { } function renderSubSidebar (target) { - if (!__docsify__.subMaxLevel) { return } - target.parentNode.innerHTML += tree(genTree(toc, __docsify__.subMaxLevel), '
                                                                                                                                                    '); + if (!$docsify.subMaxLevel) { return } + target.parentNode.innerHTML += tree(genTree(toc, $docsify.subMaxLevel), '
                                                                                                                                                      '); } /** @@ -2790,10 +2817,14 @@ if (script) { } // utils -window.__docsify__ = OPTIONS; +window.$docsify = OPTIONS; +window.Docsify = { + installed: true, + utils: merge({}, utils) +}; // load options -init(OPTIONS); +init(); var cacheRoute = null; var cacheXhr = null; @@ -2811,6 +2842,7 @@ var mainRender = function (cb) { } var page; + if (!route) { page = OPTIONS.homepage || 'README.md'; } else if (/\/$/.test(route)) { @@ -2855,7 +2887,8 @@ var Docsify = function () { var main = function () { mainRender(function (_) { scrollIntoView(); - activeLink('nav'); + activeLink('nav') + ;[].concat(window.$docsify.plugins).forEach(function (fn) { return fn && fn(); }); }); }; diff --git a/lib/docsify.min.js b/lib/docsify.min.js index 70a30c1..af15fe4 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var i=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(i)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var i=e.level||1,a=i-1;i>t||(r[a]?(r[a].children=r[a].children||[],r[a].children.push(e)):n.push(e),r[i]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function i(){var e=window.location;if(M===e.hash&&!r(j))return j;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,j=t,M=e.hash,t}function a(){return document.body.clientWidth<=600}function o(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(o.occurrences=o.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var i=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),a=o.occurrences[i];return o.occurrences.hasOwnProperty(i)?a++:a=0,o.occurrences[i]=a,a&&(i=i+"-"+a),i}function s(e){return e.replace(/<(pre|template)[^>]*?>([\s\S]+)<\/(pre|template)>/g,function(e){return e.replace(/:/g,"__colon__")}).replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,a=document.body.scrollTop,s=0,c=n.length;sa){e||(e=u);break}e=u}if(e){var p=o[e.getAttribute("data-id")];if(p&&p!==l&&(l&&l.classList.remove("active"),p.classList.add("active"),l=p,!t&&!h.noSticky)){var d=0,g=l.offsetTop+l.clientHeight+40,f=l.offsetTop>=r.scrollTop&&g<=r.scrollTop+i,m=g-d=e||h.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),h.noSticky=!1):(document.body.classList.remove("sticky"),h.noSticky=!0)}()}function g(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(){var e=b()+'';return(a()?e+"
                                                                                                                                                      ":"
                                                                                                                                                      "+e)+'
                                                                                                                                                      \n
                                                                                                                                                      \n
                                                                                                                                                      \n
                                                                                                                                                      '}function y(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                                                                                                                      \n
                                                                                                                                                      \n
                                                                                                                                                      \n
                                                                                                                                                      '}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                                                                                                                    • '+e.title+"
                                                                                                                                                    • ",e.children&&(t+='
                                                                                                                                                      • '+v(e.children)+"
                                                                                                                                                      ")}),t):""}function k(e,t){return'

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

                                                                                                                                                      "}function w(e){return""}function _(e){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,__docsify__.themeColor)}function x(){if(!(window.CSS&&window.CSS.supports&&window.CSS.supports("(--foo: red)"))){var t=document.querySelectorAll("style:not(.inserted),link");[].forEach.call(t,function(t){if("STYLE"===t.nodeName)_(t);else if("LINK"===t.nodeName){var n=t.getAttribute("href");if(!/\.css$/.test(n))return;e(n).then(function(e){var t=document.createElement("style");t.innerHTML=e,document.head.appendChild(t),_(t)})}})}}function L(){var e=new I.Renderer;e.heading=function(e,t){var n=o(e),r="";return r="#/"+i(),z.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},e.code=function(e,t){void 0===t&&(t="");var n=F.highlight(e,F.languages[t]||F.languages.markup);return'
                                                                                                                                                      '+n+"
                                                                                                                                                      "},e.link=function(e,t,n){return/:/.test(e)||(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},e.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                                                                                                                      "+e+"

                                                                                                                                                      "},"function"==typeof __docsify__.markdown?(W.setOptions({renderer:e}),W=__docsify__.markdown.call(this,W)):W.setOptions(O({renderer:e},__docsify__.markdown));var t=W;W=function(e){return s(t(e))}}function S(e,t){var n=document.querySelector("nav")||document.createElement("nav");__docsify__.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f(__docsify__.repo)+(__docsify__.coverpage?y():"")+m(),document.body.insertBefore(n,document.body.children[0]),__docsify__.themeColor&&(document.head.innerHTML+=w(__docsify__.themeColor),x()),p("button.sidebar-toggle"),__docsify__.coverpage?!a()&&window.addEventListener("scroll",h):document.body.classList.add("sticky")}function C(e){if(R("article",e?W(e):"not found"),__docsify__.loadSidebar||E(),e&&"undefined"!=typeof Vue){H.vm&&H.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0],n=t?t.innerText.trim():null;t&&t.remove(),H.vm=n?new Function("return "+n)():new Vue({el:"main"}),H.vm&&H.vm.$nextTick(function(e){return l()})}__docsify__.auto2top&&setTimeout(function(){return d(__docsify__.auto2top)},0)}function $(e){H.navbar&&H.navbar===e||(H.navbar=e,e&&R("nav",W(e)),u("nav"))}function E(e){var n;e?(n=W(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=v(t(z,__docsify__.maxLevel),"
                                                                                                                                                        "),n=(__docsify__.name?'

                                                                                                                                                        '+__docsify__.name+"

                                                                                                                                                        ":"")+n,R("aside.sidebar",n);var r=u("aside.sidebar",!0);r&&A(r),z=[],l()}function A(e){__docsify__.subMaxLevel&&(e.parentNode.innerHTML+=v(t(z,__docsify__.subMaxLevel),"
                                                                                                                                                          "))}function T(e){if(T.dom=T.dom||document.querySelector("section.cover"),!e)return void T.dom.classList.remove("show");if(T.dom.classList.add("show"),T.rendered)return h();var t=z.slice(),n=W(e),r=n.trim().match('

                                                                                                                                                          ([^<]*?)

                                                                                                                                                          $');if(z=t.slice(),r){var i=document.querySelector("section.cover");"color"===r[2]?i.style.background=r[1]+(r[3]||""):(i.classList.add("has-mask"),i.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}R(".cover-main",n),T.rendered=!0,h()}function q(e){var t,n=e.loaded,r=e.total,i=e.step;if(!H.loading){var a=document.createElement("div");a.classList.add("progress"),document.body.appendChild(a),H.loading=a}i?(t=parseInt(H.loading.style.width,10)+i,t=t>80?80:t):t=Math.floor(n/r*100),H.loading.style.opacity=1,H.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(q.cacheTimeout),q.cacheTimeout=setTimeout(function(e){H.loading.style.opacity=0,H.loading.style.width="0%"},200))}var j=null,M=null;o.clear=function(){o.occurrences={}};var N=Object.prototype.hasOwnProperty,O=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function o(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:

                                                                                                                                                          "+a(e.message+"",!0)+"
                                                                                                                                                          ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=s(p.item,"gm")(/bull/g,p.bullet)(),p.list=s(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=s(p.blockquote)("def",p.def)(),p._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",p.html=s(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=s(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=s(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,o,s,l,c,u,d,h=this,e=e.replace(/^ +$/gm,"");e;)if((a=h.rules.newline.exec(e))&&(e=e.substring(a[0].length),a[0].length>1&&h.tokens.push({type:"space"})),a=h.rules.code.exec(e))e=e.substring(a[0].length),a=a[0].replace(/^ {4}/gm,""),h.tokens.push({type:"code",text:h.options.pedantic?a:a.replace(/\n+$/,"")});else if(a=h.rules.fences.exec(e))e=e.substring(a[0].length),h.tokens.push({type:"code",lang:a[2],text:a[3]||""});else if(a=h.rules.heading.exec(e))e=e.substring(a[0].length),h.tokens.push({type:"heading",depth:a[1].length,text:a[2]});else if(t&&(a=h.rules.nptable.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),h.token(a,t,!0),h.tokens.push({type:"blockquote_end"});else if(a=h.rules.list.exec(e)){for(e=e.substring(a[0].length),o=a[2],h.tokens.push({type:"list_start",ordered:o.length>1}),a=a[0].match(h.rules.item),r=!1,d=a.length,u=0;u1&&s.length>1||(e=a.slice(u+1).join("\n")+e,u=d-1)),i=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),i||(i=r)),h.tokens.push({type:i?"loose_item_start":"list_item_start"}),h.token(l,!1,n),h.tokens.push({type:"list_item_end"});h.tokens.push({type:"list_end"})}else if(a=h.rules.html.exec(e))e=e.substring(a[0].length),h.tokens.push({type:h.options.sanitize?"paragraph":"html",pre:!h.options.sanitizer&&("pre"===a[1]||"script"===a[1]||"style"===a[1]),text:a[0]});else if(!n&&t&&(a=h.rules.def.exec(e)))e=e.substring(a[0].length),h.tokens.links[a[1].toLowerCase()]={href:a[2],title:a[3]};else if(t&&(a=h.rules.table.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[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*/,d.link=s(d.link)("inside",d._inside)("href",d._href)(),d.reflink=s(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:s(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:s(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:s(d.br)("{2,}","*")(),text:s(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var i=new n(t,r);return i.output(e)},n.prototype.output=function(e){for(var t,n,r,i,o=this,s="";e;)if(i=o.rules.escape.exec(e))e=e.substring(i[0].length),s+=i[1];else if(i=o.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=":"===i[1].charAt(6)?o.mangle(i[1].substring(7)):o.mangle(i[1]),r=o.mangle("mailto:")+n):(n=a(i[1]),r=n),s+=o.renderer.link(r,null,n);else if(o.inLink||!(i=o.rules.url.exec(e))){if(i=o.rules.tag.exec(e))!o.inLink&&/^/i.test(i[0])&&(o.inLink=!1),e=e.substring(i[0].length),s+=o.options.sanitize?o.options.sanitizer?o.options.sanitizer(i[0]):a(i[0]):i[0];else if(i=o.rules.link.exec(e))e=e.substring(i[0].length),o.inLink=!0,s+=o.outputLink(i,{href:i[2],title:i[3]}),o.inLink=!1;else if((i=o.rules.reflink.exec(e))||(i=o.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),t=o.links[t.toLowerCase()],!t||!t.href){s+=i[0].charAt(0),e=i[0].substring(1)+e;continue}o.inLink=!0,s+=o.outputLink(i,t),o.inLink=!1}else if(i=o.rules.strong.exec(e))e=e.substring(i[0].length),s+=o.renderer.strong(o.output(i[2]||i[1]));else if(i=o.rules.em.exec(e))e=e.substring(i[0].length),s+=o.renderer.em(o.output(i[2]||i[1]));else if(i=o.rules.code.exec(e))e=e.substring(i[0].length),s+=o.renderer.codespan(a(i[2],!0));else if(i=o.rules.br.exec(e))e=e.substring(i[0].length),s+=o.renderer.br();else if(i=o.rules.del.exec(e))e=e.substring(i[0].length),s+=o.renderer.del(o.output(i[1]));else if(i=o.rules.text.exec(e))e=e.substring(i[0].length),s+=o.renderer.text(a(o.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=a(i[1]),r=n,s+=o.renderer.link(r,null,n);return s},n.prototype.outputLink=function(e,t){var n=a(t.href),r=t.title?a(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,a(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:a(e,!0))+"\n
                                                                                                                                                          \n":"
                                                                                                                                                          "+(n?e:a(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(o(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){var r=new i(t,n);return r.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,a,o="",s="";for(r="",t=0;te.length)break e;if(!(v instanceof i)){u.lastIndex=0;var k=u.exec(v),w=1;if(!k&&h&&y!=a.length-1){if(u.lastIndex=b,k=u.exec(e),!k)break;for(var _=k.index+(d?k[1].length:0),x=k.index+k[0].length,L=y,S=b,C=a.length;L=S&&(++y,b=S);if(a[y]instanceof i||a[L-1].greedy)continue;w=L-y,v=e.slice(b,S),k.index-=b}if(k){d&&(g=k[1].length);var _=k.index+g,k=k[0].slice(g),x=_+k.length,$=v.slice(0,_),E=v.slice(x),A=[y,w];$&&A.push($);var T=new i(s,p?r.tokenize(k,p):k,f,k,h);A.push(T),E&&A.push(E),Array.prototype.splice.apply(a,A)}}}}}return a},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,a=0;i=n[a++];)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 a={type:e.type,content:i.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==a.type&&(a.attributes.spellcheck="true"),e.alias){var o="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(a.classes,o)}r.hooks.run("wrap",a);var s=Object.keys(a.attributes).map(function(e){return e+'="'+(a.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+(s?" "+s:"")+">"+a.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),i=n.language,a=n.code,o=n.immediateClose;t.postMessage(r.highlight(a,r.languages[i],i)),o&&t.close()},!1),t.Prism):t.Prism;var a=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return a&&(r.filename=a.src,document.addEventListener&&!a.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),"undefined"!=typeof P&&(P.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"),a=t,o=/\blang(?:uage)?-(?!\*)(\w+)\b/i;a&&!o.test(a.className);)a=a.parentNode;if(a&&(r=(t.className.match(o)||[,""])[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))}()}),W=I,z=[],H={},R=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,o.clear(),e},B=O({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,loadSidebar:null,loadNavbar:null,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",themeColor:"",nameLink:window.location.pathname},window.$docsify),D=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(D){for(var G in B){var Z=D.getAttribute("data-"+n(G));B[G]=r(Z)?B[G]:Z||!0}B.loadSidebar===!0&&(B.loadSidebar="_sidebar.md"),B.loadNavbar===!0&&(B.loadNavbar="_navbar.md"),B.coverpage===!0&&(B.coverpage="_coverpage.md"),B.repo===!0&&(B.repo=""),B.name===!0&&(B.name="")}window.__docsify__=B,L(B);var U=null,V=null,Y=function(t){var n=B.basePath+i();if(U===n)return t();var r=U=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var a;a=n?/\/$/.test(n)?n+"README.md":n+".md":B.homepage||"README.md",B.coverpage&&a===B.homepage&&e(B.coverpage).then(T),V&&V.abort&&V.abort(),V=e(a,"GET",q),V.then(function(n){if(C(n),B.coverpage&&a!==B.homepage&&T(),B.loadSidebar){var i=function(e){E(e),t()};e(r+B.loadSidebar).then(i,function(t){return e(B.loadSidebar).then(i)})}else t()},function(e){return C(null)}),B.loadNavbar&&e(r+B.loadNavbar).then($,function(t){return e(B.loadNavbar).then($)})},J=function(){var e=document.querySelector(B.el)||document.body,t=e!==document.body,n=function(){Y(function(e){c(),u("nav")})};S(e,t),n(),/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n)},X=J();return X}(); +var D=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var i=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(i)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var i=e.level||1,a=i-1;i>t||(r[a]?(r[a].children=r[a].children||[],r[a].children.push(e)):n.push(e),r[i]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function i(){var e=window.location;if(M===e.hash&&!r(j))return j;var t=e.hash.replace(/%23/g,"#").match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,j=t,M=e.hash,t}function a(){return document.body.clientWidth<=600}function o(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(o.occurrences=o.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var i=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),a=o.occurrences[i];return o.occurrences.hasOwnProperty(i)?a++:a=0,o.occurrences[i]=a,a&&(i=i+"-"+a),i}function s(e){return e.replace(/<(pre|template)[^>]*?>([\s\S]+)<\/(pre|template)>/g,function(e){return e.replace(/:/g,"__colon__")}).replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,a=document.body.scrollTop,s=0,c=n.length;sa){e||(e=u);break}e=u}if(e){var p=o[e.getAttribute("data-id")];if(p&&p!==l&&(l&&l.classList.remove("active"),p.classList.add("active"),l=p,!t&&!g.noSticky)){var d=0,h=l.offsetTop+l.clientHeight+40,f=l.offsetTop>=r.scrollTop&&h<=r.scrollTop+i,m=h-d=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(){var e=b()+'';return(a()?e+"
                                                                                                                                                          ":"
                                                                                                                                                          "+e)+'
                                                                                                                                                          \n
                                                                                                                                                          \n
                                                                                                                                                          \n
                                                                                                                                                          '}function y(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                                                                                                                          \n
                                                                                                                                                          \n
                                                                                                                                                          \n
                                                                                                                                                          '}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                                                                                                                        • '+e.title+"
                                                                                                                                                        • ",e.children&&(t+='
                                                                                                                                                          • '+v(e.children)+"
                                                                                                                                                          ")}),t):""}function k(e,t){return'

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

                                                                                                                                                          "}function w(e){return""}function x(e){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,$docsify.themeColor)}function L(){if(!(window.CSS&&window.CSS.supports&&window.CSS.supports("(--foo: red)"))){var t=document.querySelectorAll("style:not(.inserted),link");[].forEach.call(t,function(t){if("STYLE"===t.nodeName)x(t);else if("LINK"===t.nodeName){var n=t.getAttribute("href");if(!/\.css$/.test(n))return;e(n).then(function(e){var t=document.createElement("style");t.innerHTML=e,document.head.appendChild(t),x(t)})}})}}function S(){var e=new F.Renderer;e.heading=function(e,t){var n=o(e),r="";return r="#/"+i(),H.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},e.code=function(e,t){void 0===t&&(t="");var n=W.highlight(e,W.languages[t]||W.languages.markup);return'
                                                                                                                                                          '+n+"
                                                                                                                                                          "},e.link=function(e,t,n){return/:/.test(e)||(e=("#/"+e).replace(/\/+/g,"/")),''+n+""},e.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                                                                                                                          "+e+"

                                                                                                                                                          "},"function"==typeof $docsify.markdown?(z.setOptions({renderer:e}),z=$docsify.markdown.call(this,z)):z.setOptions(O({renderer:e},$docsify.markdown));var t=z;z=function(e){return s(t(e))},window.Docsify.utils.marked=function(e){var t=z(e);return H=[],t}}function $(e,t){var n=document.querySelector("nav")||document.createElement("nav"),r=document.body,i=document.head;if($docsify.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f($docsify.repo)+($docsify.coverpage?y():"")+m(),r.insertBefore(n,r.children[0]),$docsify.themeColor&&(i.innerHTML+=w($docsify.themeColor),L()),$docsify.name){var o=document.querySelector(".sidebar");o.innerHTML='

                                                                                                                                                          '+$docsify.name+"

                                                                                                                                                          "+o.innerHTML}p("button.sidebar-toggle"),$docsify.coverpage?!a()&&window.addEventListener("scroll",g):r.classList.add("sticky")}function _(e){if(D("article",e?z(e):"not found"),$docsify.loadSidebar||E(),e&&"undefined"!=typeof Vue){R.vm&&R.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0],n=t?t.innerText.trim():null;t&&t.remove(),R.vm=n?new Function("return "+n)():new Vue({el:"main"}),R.vm&&R.vm.$nextTick(function(e){return l()})}$docsify.auto2top&&setTimeout(function(){return d($docsify.auto2top)},0)}function C(e){R.navbar&&R.navbar===e||(R.navbar=e,e&&D("nav",z(e)),u("nav"))}function E(e){var n;e?(n=z(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=v(t(H,$docsify.maxLevel),"
                                                                                                                                                            "),D(".sidebar-nav",n);var r=u(".sidebar-nav",!0);r&&A(r),H=[],l()}function A(e){$docsify.subMaxLevel&&(e.parentNode.innerHTML+=v(t(H,$docsify.subMaxLevel),"
                                                                                                                                                              "))}function T(e){if(T.dom=T.dom||document.querySelector("section.cover"),!e)return void T.dom.classList.remove("show");if(T.dom.classList.add("show"),T.rendered)return g();var t=H.slice(),n=z(e),r=n.trim().match('

                                                                                                                                                              ([^<]*?)

                                                                                                                                                              $');if(H=t.slice(),r){var i=document.querySelector("section.cover");"color"===r[2]?i.style.background=r[1]+(r[3]||""):(i.classList.add("has-mask"),i.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}D(".cover-main",n),T.rendered=!0,g()}function q(e){var t,n=e.loaded,r=e.total,i=e.step;if(!R.loading){var a=document.createElement("div");a.classList.add("progress"),document.body.appendChild(a),R.loading=a}i?(t=parseInt(R.loading.style.width,10)+i,t=t>80?80:t):t=Math.floor(n/r*100),R.loading.style.opacity=1,R.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(q.cacheTimeout),q.cacheTimeout=setTimeout(function(e){R.loading.style.opacity=0,R.loading.style.width="0%"},200))}var j=null,M=null;o.clear=function(){o.occurrences={}};var N=Object.prototype.hasOwnProperty,O=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function o(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:

                                                                                                                                                              "+a(e.message+"",!0)+"
                                                                                                                                                              ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=s(p.item,"gm")(/bull/g,p.bullet)(),p.list=s(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=s(p.blockquote)("def",p.def)(),p._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",p.html=s(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=s(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=s(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,o,s,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((a=g.rules.newline.exec(e))&&(e=e.substring(a[0].length),a[0].length>1&&g.tokens.push({type:"space"})),a=g.rules.code.exec(e))e=e.substring(a[0].length),a=a[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?a:a.replace(/\n+$/,"")});else if(a=g.rules.fences.exec(e))e=e.substring(a[0].length),g.tokens.push({type:"code",lang:a[2],text:a[3]||""});else if(a=g.rules.heading.exec(e))e=e.substring(a[0].length),g.tokens.push({type:"heading",depth:a[1].length,text:a[2]});else if(t&&(a=g.rules.nptable.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(a,t,!0),g.tokens.push({type:"blockquote_end"});else if(a=g.rules.list.exec(e)){for(e=e.substring(a[0].length),o=a[2],g.tokens.push({type:"list_start",ordered:o.length>1}),a=a[0].match(g.rules.item),r=!1,d=a.length,u=0;u1&&s.length>1||(e=a.slice(u+1).join("\n")+e,u=d-1)),i=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),i||(i=r)),g.tokens.push({type:i?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(a=g.rules.html.exec(e))e=e.substring(a[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===a[1]||"script"===a[1]||"style"===a[1]),text:a[0]});else if(!n&&t&&(a=g.rules.def.exec(e)))e=e.substring(a[0].length),g.tokens.links[a[1].toLowerCase()]={href:a[2],title:a[3]};else if(t&&(a=g.rules.table.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[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*/,d.link=s(d.link)("inside",d._inside)("href",d._href)(),d.reflink=s(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:s(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:s(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:s(d.br)("{2,}","*")(),text:s(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var i=new n(t,r);return i.output(e)},n.prototype.output=function(e){for(var t,n,r,i,o=this,s="";e;)if(i=o.rules.escape.exec(e))e=e.substring(i[0].length),s+=i[1];else if(i=o.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=":"===i[1].charAt(6)?o.mangle(i[1].substring(7)):o.mangle(i[1]),r=o.mangle("mailto:")+n):(n=a(i[1]),r=n),s+=o.renderer.link(r,null,n);else if(o.inLink||!(i=o.rules.url.exec(e))){if(i=o.rules.tag.exec(e))!o.inLink&&/^/i.test(i[0])&&(o.inLink=!1),e=e.substring(i[0].length),s+=o.options.sanitize?o.options.sanitizer?o.options.sanitizer(i[0]):a(i[0]):i[0];else if(i=o.rules.link.exec(e))e=e.substring(i[0].length),o.inLink=!0,s+=o.outputLink(i,{href:i[2],title:i[3]}),o.inLink=!1;else if((i=o.rules.reflink.exec(e))||(i=o.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),t=o.links[t.toLowerCase()],!t||!t.href){s+=i[0].charAt(0),e=i[0].substring(1)+e;continue}o.inLink=!0,s+=o.outputLink(i,t),o.inLink=!1}else if(i=o.rules.strong.exec(e))e=e.substring(i[0].length),s+=o.renderer.strong(o.output(i[2]||i[1]));else if(i=o.rules.em.exec(e))e=e.substring(i[0].length),s+=o.renderer.em(o.output(i[2]||i[1]));else if(i=o.rules.code.exec(e))e=e.substring(i[0].length),s+=o.renderer.codespan(a(i[2],!0));else if(i=o.rules.br.exec(e))e=e.substring(i[0].length),s+=o.renderer.br();else if(i=o.rules.del.exec(e))e=e.substring(i[0].length),s+=o.renderer.del(o.output(i[1]));else if(i=o.rules.text.exec(e))e=e.substring(i[0].length),s+=o.renderer.text(a(o.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=a(i[1]),r=n,s+=o.renderer.link(r,null,n);return s},n.prototype.outputLink=function(e,t){var n=a(t.href),r=t.title?a(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,a(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:a(e,!0))+"\n
                                                                                                                                                              \n":"
                                                                                                                                                              "+(n?e:a(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(o(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){var r=new i(t,n);return r.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,a,o="",s="";for(r="",t=0;te.length)break e;if(!(v instanceof i)){u.lastIndex=0;var k=u.exec(v),w=1;if(!k&&g&&y!=a.length-1){if(u.lastIndex=b,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=y,$=b,_=a.length;S<_&&$=$&&(++y,b=$);if(a[y]instanceof i||a[S-1].greedy)continue;w=S-y,v=e.slice(b,$),k.index-=b}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,C=v.slice(0,x),E=v.slice(L),A=[y,w];C&&A.push(C);var T=new i(s,p?r.tokenize(k,p):k,f,k,g);A.push(T),E&&A.push(E),Array.prototype.splice.apply(a,A)}}}}}return a},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,a=0;i=n[a++];)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 a={type:e.type,content:i.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==a.type&&(a.attributes.spellcheck="true"),e.alias){var o="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(a.classes,o)}r.hooks.run("wrap",a);var s=Object.keys(a.attributes).map(function(e){return e+'="'+(a.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+(s?" "+s:"")+">"+a.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),i=n.language,a=n.code,o=n.immediateClose;t.postMessage(r.highlight(a,r.languages[i],i)),o&&t.close()},!1),t.Prism):t.Prism;var a=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return a&&(r.filename=a.src,document.addEventListener&&!a.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),"undefined"!=typeof I&&(I.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"),a=t,o=/\blang(?:uage)?-(?!\*)(\w+)\b/i;a&&!o.test(a.className);)a=a.parentNode;if(a&&(r=(t.className.match(o)||[,""])[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))}()}),z=F,H=[],R={},D=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,o.clear(),e},B=O({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,loadSidebar:null,loadNavbar:null,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",themeColor:"",nameLink:window.location.pathname},window.$docsify),G=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(G){for(var Z in B){var U=G.getAttribute("data-"+n(Z));B[Z]=r(U)?B[Z]:U||!0}B.loadSidebar===!0&&(B.loadSidebar="_sidebar.md"),B.loadNavbar===!0&&(B.loadNavbar="_navbar.md"),B.coverpage===!0&&(B.coverpage="_coverpage.md"),B.repo===!0&&(B.repo=""),B.name===!0&&(B.name="")}window.$docsify=B,window.Docsify={installed:!0,utils:O({},P)},S();var V=null,Y=null,J=function(t){var n=B.basePath+i();if(V===n)return t();var r=V=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var a;a=n?/\/$/.test(n)?n+"README.md":n+".md":B.homepage||"README.md",B.coverpage&&a===B.homepage&&e(B.coverpage).then(T),Y&&Y.abort&&Y.abort(),Y=e(a,"GET",q),Y.then(function(n){if(_(n),B.coverpage&&a!==B.homepage&&T(),B.loadSidebar){var i=function(e){E(e),t()};e(r+B.loadSidebar).then(i,function(t){return e(B.loadSidebar).then(i)})}else t()},function(e){return _(null)}),B.loadNavbar&&e(r+B.loadNavbar).then(C,function(t){return e(B.loadNavbar).then(C)})},X=function(){var e=document.querySelector(B.el)||document.body,t=e!==document.body,n=function(){J(function(e){c(),u("nav"),[].concat(window.$docsify.plugins).forEach(function(e){return e&&e()})})};$(e,t),n(),/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n)},K=X();return K}(); diff --git a/lib/plugins/search.js b/lib/plugins/search.js new file mode 100644 index 0000000..aa6823f --- /dev/null +++ b/lib/plugins/search.js @@ -0,0 +1,284 @@ +this.D = this.D || {}; +this.D.Search = (function () { +'use strict'; + +var INDEXS = {}; +var CONFIG = { + placeholder: 'Type to search', + paths: 'auto', + maxAge: 86400000 // 1 day +}; + +var isObj = function (obj) { + return Object.prototype.toString.call(obj) === '[object Object]' +}; + +var escapeHtml = function (string) { + var entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/' + }; + + return String(string).replace(/[&<>"'\/]/g, function (s) { return entityMap[s]; }) +}; + +/** + * find all filepath from A tag + */ +var getAllPaths = function () { + var paths = [];[].slice.call(document.querySelectorAll('a')) + .map(function (node) { + var href = node.href; + if (/#\/[^#]*?$/.test(href)) { + var path = href.replace(/^[^#]+#/, ''); + + if (paths.indexOf(path) <= 0) { paths.push(path); } + } + }); + + return paths +}; + +/** + * return file path + */ +var genFilePath = function (path) { + var basePath = window.$docsify.basePath; + var filePath = /\/$/.test(path) ? (path + "README.md") : (path + ".md"); + + filePath = basePath + filePath; + + return filePath.replace(/\/+/g, '/') +}; + +/** + * generate index + */ +var genIndex = function (path, content) { + if ( content === void 0 ) content = ''; + + INDEXS[path] = { slug: '', title: '', body: '' }; + var slug; + + content + // remove PRE and TEMPLATE tag + .replace(/]*?>[\s\S]+?<\/template>/g, '') + // find all html tag + .replace(/<(\w+)([^>]*?)>([\s\S]+?)<\//g, function (match, tag, attr, html) { + // remove all html tag + var text = html.replace(/<[^>]+>/g, ''); + + // tag is headline + if (/^h\d$/.test(tag)) { + //

                                                                                                                                                              + var id = attr.match(/id="(\S+)"/)[1]; + + slug = ("#/" + path + "#" + id).replace(/\/+/, '/'); + INDEXS[slug] = { slug: slug, title: text, body: '' }; + } else { + // other html tag + if (!INDEXS[slug]) { + INDEXS[slug] = {}; + } else { + if (INDEXS[slug].body && INDEXS[slug].body.length) { + INDEXS[slug].body += '\n' + text; + } else { + INDEXS[slug].body = text; + } + } + } + }); +}; + +/** + * component + */ +var SearchComponent = function SearchComponent () { + if (this.rendered) { return } + + this.style(); + + var el = document.createElement('div'); + var aside = document.querySelector('aside'); + + el.classList.add('search'); + aside.insertBefore(el, aside.children[0]); + this.render(el); + this.rendered = true; + this.bindEvent(); +}; + +SearchComponent.prototype.style = function style () { + var code = "\n .sidebar {\n padding-top: 0;\n }\n\n .search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n }\n\n .search .results-panel {\n display: none;\n }\n\n .search .results-panel.show {\n display: block;\n }\n\n .search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 7px;\n line-height: 22px;\n font-size: 14px;\n }\n\n .search h2 {\n font-size: 17px;\n margin: 10px 0;\n }\n\n .search a {\n text-decoration: none;\n color: inherit;\n }\n\n .search .matching-post {\n border-bottom: 1px solid #eee;\n }\n\n .search .matching-post:last-child {\n border-bottom: 0;\n }\n\n .search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .search p.empty {\n text-align: center;\n }\n "; + var style = document.createElement('style'); + + style.innerHTML = code; + document.head.appendChild(style); +}; + +SearchComponent.prototype.render = function render (dom) { + dom.innerHTML = "
                                                                                                                                                              "; +}; + +SearchComponent.prototype.bindEvent = function bindEvent () { + var this$1 = this; + + var input = document.querySelector('.search input'); + var panel = document.querySelector('.results-panel'); + + input.addEventListener('input', function (e) { + var target = e.target; + + if (target.value.trim() !== '') { + var matchingPosts = this$1.search(target.value); + var html = ''; + + matchingPosts.forEach(function (post, index) { + html += "\n
                                                                                                                                                              \n

                                                                                                                                                              " + (post.title) + "

                                                                                                                                                              \n

                                                                                                                                                              " + (post.content) + "

                                                                                                                                                              \n
                                                                                                                                                              \n "; + }); + if (panel.classList.contains('results-panel')) { + panel.classList.add('show'); + panel.innerHTML = html || '

                                                                                                                                                              No Results!

                                                                                                                                                              '; + } + } else { + if (panel.classList.contains('results-panel')) { + panel.classList.remove('show'); + panel.innerHTML = ''; + } + } + }); +}; + +// From [weex website] https://weex-project.io/js/common.js +SearchComponent.prototype.search = function search (keywords) { + var matchingResults = []; + var data = Object.keys(INDEXS).map(function (key) { return INDEXS[key]; }); + + keywords = keywords.trim().split(/[\s\-\,\\/]+/); + + var loop = function ( i ) { + var post = data[i]; + var isMatch = false; + var resultStr = ''; + var postTitle = post.title && post.title.trim(); + var postContent = post.body && post.body.trim(); + var postUrl = post.slug || ''; + + if (postTitle !== '' && postContent !== '') { + keywords.forEach(function (keyword, i) { + var regEx = new RegExp(keyword, 'gi'); + var indexTitle = -1; + var indexContent = -1; + + indexTitle = postTitle.search(regEx); + indexContent = postContent.search(regEx); + + if (indexTitle < 0 && indexContent < 0) { + isMatch = false; + } else { + isMatch = true; + if (indexContent < 0) { indexContent = 0; } + + var start = 0; + var end = 0; + + start = indexContent < 11 ? 0 : indexContent - 10; + end = start === 0 ? 70 : indexContent + keyword.length + 60; + + if (end > postContent.length) { end = postContent.length; } + + var matchContent = '...' + + postContent + .substring(start, end) + .replace(regEx, ("" + keyword + "")) + + '...'; + + resultStr += matchContent; + } + }); + + if (isMatch) { + var matchingPost = { + title: escapeHtml(postTitle), + content: resultStr, + url: postUrl + }; + + matchingResults.push(matchingPost); + } + } + }; + + for (var i = 0; i < data.length; i++) loop( i ); + + return matchingResults +}; + +var searchPlugin = function () { + var isAuto = CONFIG.paths === 'auto'; + var isExpired = localStorage.getItem('docsify.search.expires') < Date.now(); + + INDEXS = JSON.parse(localStorage.getItem('docsify.search.index')); + + if (isExpired) { + INDEXS = {}; + } else if (!isAuto) { + return + } + + var count = 0; + var paths = isAuto ? getAllPaths() : CONFIG.paths; + var len = paths.length; + var ref = window.Docsify.utils; + var load = ref.load; + var marked = ref.marked; + var slugify = ref.slugify; + var done = function () { + localStorage.setItem('docsify.search.expires', Date.now() + CONFIG.maxAge); + localStorage.setItem('docsify.search.index', JSON.stringify(INDEXS)); + }; + + paths.forEach(function (path) { + if (INDEXS[path]) { return count++ } + + load(genFilePath(path)).then(function (content) { + genIndex(path, marked(content)); + slugify.clear(); + count++; + + if (len === count) { done(); } + }); + }); +}; + +var install = function () { + if (!window.Docsify || !window.Docsify.installed) { + console.error('[Docsify] Please load docsify.js first.'); + return + } + + window.$docsify.plugins = [].concat(window.$docsify.plugins, searchPlugin); + + var userConfig = window.$docsify.search; + var isNil = window.Docsify.utils.isNil; + + if (Array.isArray(userConfig)) { + CONFIG.paths = userConfig; + } else if (isObj(userConfig)) { + CONFIG.paths = Array.isArray(userConfig.paths) ? userConfig.paths : 'auto'; + CONFIG.maxAge = isNil(userConfig.maxAge) ? CONFIG.maxAge : userConfig.maxAge; + CONFIG.placeholder = userConfig.placeholder || CONFIG.placeholder; + } + + new SearchComponent(); +}; + +var search = install(); + +return search; + +}()); diff --git a/lib/plugins/search.min.js b/lib/plugins/search.min.js new file mode 100644 index 0000000..32f47cf --- /dev/null +++ b/lib/plugins/search.min.js @@ -0,0 +1 @@ +this.D=this.D||{},this.D.Search=function(){"use strict";var e={},n={placeholder:"Type to search",paths:"auto",maxAge:864e5},t=function(e){return"[object Object]"===Object.prototype.toString.call(e)},r=function(e){var n={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(e).replace(/[&<>"'\/]/g,function(e){return n[e]})},i=function(){var e=[];return[].slice.call(document.querySelectorAll("a")).map(function(n){var t=n.href;if(/#\/[^#]*?$/.test(t)){var r=t.replace(/^[^#]+#/,"");e.indexOf(r)<=0&&e.push(r)}}),e},a=function(e){var n=window.$docsify.basePath,t=/\/$/.test(e)?e+"README.md":e+".md";return t=n+t,t.replace(/\/+/g,"/")},o=function(n,t){void 0===t&&(t=""),e[n]={slug:"",title:"",body:""};var r;t.replace(/]*?>[\s\S]+?<\/template>/g,"").replace(/<(\w+)([^>]*?)>([\s\S]+?)<\//g,function(t,i,a,o){var s=o.replace(/<[^>]+>/g,"");if(/^h\d$/.test(i)){var c=a.match(/id="(\S+)"/)[1];r=("#/"+n+"#"+c).replace(/\/+/,"/"),e[r]={slug:r,title:s,body:""}}else e[r]?e[r].body&&e[r].body.length?e[r].body+="\n"+s:e[r].body=s:e[r]={}})},s=function(){if(!this.rendered){this.style();var e=document.createElement("div"),n=document.querySelector("aside");e.classList.add("search"),n.insertBefore(e,n.children[0]),this.render(e),this.rendered=!0,this.bindEvent()}};s.prototype.style=function e(){var n="\n .sidebar {\n padding-top: 0;\n }\n\n .search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n }\n\n .search .results-panel {\n display: none;\n }\n\n .search .results-panel.show {\n display: block;\n }\n\n .search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 7px;\n line-height: 22px;\n font-size: 14px;\n }\n\n .search h2 {\n font-size: 17px;\n margin: 10px 0;\n }\n\n .search a {\n text-decoration: none;\n color: inherit;\n }\n\n .search .matching-post {\n border-bottom: 1px solid #eee;\n }\n\n .search .matching-post:last-child {\n border-bottom: 0;\n }\n\n .search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .search p.empty {\n text-align: center;\n }\n ",e=document.createElement("style");e.innerHTML=n,document.head.appendChild(e)},s.prototype.render=function(e){e.innerHTML='
                                                                                                                                                              '},s.prototype.bindEvent=function(){var e=this,n=document.querySelector(".search input"),t=document.querySelector(".results-panel");n.addEventListener("input",function(n){var r=n.target;if(""!==r.value.trim()){var i=e.search(r.value),a="";i.forEach(function(e,n){a+='\n
                                                                                                                                                              \n

                                                                                                                                                              '+e.title+"

                                                                                                                                                              \n

                                                                                                                                                              "+e.content+"

                                                                                                                                                              \n
                                                                                                                                                              \n "}),t.classList.contains("results-panel")&&(t.classList.add("show"),t.innerHTML=a||'

                                                                                                                                                              No Results!

                                                                                                                                                              ')}else t.classList.contains("results-panel")&&(t.classList.remove("show"),t.innerHTML="")})},s.prototype.search=function(n){var t=[],i=Object.keys(e).map(function(n){return e[n]});n=n.trim().split(/[\s\-\,\\\/]+/);for(var a=function(e){var a=i[e],o=!1,s="",c=a.title&&a.title.trim(),l=a.body&&a.body.trim(),d=a.slug||"";if(""!==c&&""!==l&&(n.forEach(function(e,n){var t=new RegExp(e,"gi"),r=-1,i=-1;if(r=c.search(t),i=l.search(t),r<0&&i<0)o=!1;else{o=!0,i<0&&(i=0);var a=0,d=0;a=i<11?0:i-10,d=0===a?70:i+e.length+60,d>l.length&&(d=l.length);var p="..."+l.substring(a,d).replace(t,''+e+"")+"...";s+=p}}),o)){var p={title:r(c),content:s,url:d};t.push(p)}},o=0;oh1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;background-color:var(--theme-color,#0074d9);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,116,217,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border-color:#0074d9;border:1px solid var(--theme-color,#0074d9);box-sizing:border-box;color:#0074d9;color:var(--theme-color,#0074d9);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;background-color:var(--theme-color,#0074d9);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;color:var(--theme-color,#0074d9);font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;border-left:4px solid var(--theme-color,#0074d9);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Inconsolata|Inconsolata-Bold");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#0074d9;background-color:var(--theme-color,#0074d9);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}.search .search-keyword,.search a:hover{color:#0074d9;color:var(--theme-color,#0074d9)}.search .search-keyword{font-style:normal}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#0074d9;color:var(--theme-color,#0074d9)}nav a.active{border-bottom:2px solid #0074d9;border-bottom:2px solid var(--theme-color,#0074d9)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border-color:#0074d9;border:1px solid var(--theme-color,#0074d9);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#0074d9;fill:var(--theme-color,#0074d9)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:16em;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53%,.1)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:calc(16em - 16px);padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#0074d9;background-color:var(--theme-color,#0074d9);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:16em;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,116,217,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-16em);transform:translateX(-16em)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16em;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .sidebar-toggle{width:calc(16em - 16px);background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(16em);transform:translateX(16em)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border-color:#0074d9;border:1px solid var(--theme-color,#0074d9);box-sizing:border-box;color:#0074d9;color:var(--theme-color,#0074d9);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#0074d9;background-color:var(--theme-color,#0074d9);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;padding:.2em 0 .2em 1em;margin:0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:400;color:#333}.markdown-section a{color:#0074d9;color:var(--theme-color,#0074d9);font-weight:400}.markdown-section ol,.markdown-section p,.markdown-section ul{word-spacing:.05em;line-height:1.6em;margin:0 0 1em}.markdown-section h1{margin:0 0 1em;font-size:2em;font-weight:500}.markdown-section h2{padding:16px 0 0;padding:1rem 0 0;margin:0 0 16px;margin:0 0 1rem;font-size:1.8em;font-weight:400}.markdown-section h3{margin:52px 0 1.2em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section li{margin:0;line-height:1.5}.markdown-section blockquote{color:#858585;border-left:4px solid #0074d9;border-left:4px solid var(--theme-color,#0074d9);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{padding:.2em .4em;border-radius:3px;white-space:pre}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;padding:8px;margin:0 0 1em;padding:0 10px 12px 0;font-size:16px;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{display:block;font-family:Inconsolata;overflow:inherit;max-width:inherit;position:relative;background-color:#f8f8f8;padding:20px .8em;line-height:1.1em;border-radius:2px}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial} \ No newline at end of file diff --git a/lib/themes/pure.css b/lib/themes/pure.css index 252a4d2..d93c765 100644 --- a/lib/themes/pure.css +++ b/lib/themes/pure.css @@ -1 +1 @@ -*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#000;background-color:var(--theme-color,#000);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#000}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#000;color:var(--theme-color,#000)}nav a.active{border-bottom:2px solid #000;border-bottom:2px solid var(--theme-color,#000)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border-color:#000;border:1px solid var(--theme-color,#000);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#000;fill:var(--theme-color,#000)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#000;background-color:var(--theme-color,#000);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,0,0,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}} \ No newline at end of file +*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#000;background-color:var(--theme-color,#000);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}.search .search-keyword,.search a:hover{color:#000;color:var(--theme-color,#000)}.search .search-keyword{font-style:normal}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#000}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#000;color:var(--theme-color,#000)}nav a.active{border-bottom:2px solid #000;border-bottom:2px solid var(--theme-color,#000)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border-color:#000;border:1px solid var(--theme-color,#000);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#000;fill:var(--theme-color,#000)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53%,.1)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#000;background-color:var(--theme-color,#000);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(0,0,0,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}} \ No newline at end of file diff --git a/lib/themes/vue.css b/lib/themes/vue.css index a46bdec..0f2377c 100644 --- a/lib/themes/vue.css +++ b/lib/themes/vue.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#42b983;background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983;color:var(--theme-color,#42b983)}nav a.active{border-bottom:2px solid #42b983;border-bottom:2px solid var(--theme-color,#42b983)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border-color:#42b983;border:1px solid var(--theme-color,#42b983);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983;fill:var(--theme-color,#42b983)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;background-color:var(--theme-color,#42b983);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(66,185,131,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border-color:#42b983;border:1px solid var(--theme-color,#42b983);box-sizing:border-box;color:#42b983;color:var(--theme-color,#42b983);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#7f8c8d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;border-left:4px solid var(--theme-color,#42b983);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983;color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983;color:var(--theme-color,#42b983)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file +@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#42b983;background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;-webkit-transition:width .2s,opacity .4s;transition:width .2s,opacity .4s;width:0;z-index:5}.search .search-keyword,.search a:hover{color:#42b983;color:var(--theme-color,#42b983)}.search .search-keyword{font-style:normal}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden;color:#34495e}img{max-width:100%}kbd{display:inline-block;padding:3px 5px;margin-bottom:3px;font-size:12px!important;line-height:12px;vertical-align:middle;border:1px solid #ccc;border-radius:3px}nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav p{margin:0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{margin:0 1em;padding:5px 0;font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#42b983;color:var(--theme-color,#42b983)}nav a.active{border-bottom:2px solid #42b983;border-bottom:2px solid var(--theme-color,#42b983)}nav li{position:relative;display:inline-block}nav li ul{border-radius:2px;background-color:hsla(0,0%,100%,.6);border-color:#42b983;border:1px solid var(--theme-color,#42b983);opacity:0;overflow:hidden;padding:0;position:absolute;right:1em;top:26px;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,-webkit-transform .2s ease;transition:opacity .4s ease-out,transform .2s ease;transition:opacity .4s ease-out,transform .2s ease,-webkit-transform .2s ease;-webkit-transition-delay:.3s;transition-delay:.3s}nav li ul li{display:block;font-size:14px;margin:0;padding:4px 10px;white-space:nowrap}nav li ul a{display:block;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,-webkit-transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out;transition:opacity .4s ease,transform .2s ease-out,-webkit-transform .2s ease-out;-webkit-transition-delay:0;transition-delay:0}nav.no-badge{margin-right:25px}.github-corner{position:fixed;top:0;right:0;z-index:1;text-decoration:none;border-bottom:0}.github-corner svg{color:#fff;height:80px;width:80px;fill:#42b983;fill:var(--theme-color,#42b983)}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;width:100vw;height:100%;position:relative}.anchor{text-decoration:none;-webkit-transition:all .3s;transition:all .3s;display:inline-block}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{overflow-y:auto;padding:40px 0;top:0;bottom:0;left:0;position:absolute;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3;border-right:1px solid rgba(0,0,0,.07)}.sidebar>h1{text-align:center;margin:0 auto 1em;font-size:1.5em;font-weight:300}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar ul{margin:0;padding:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{display:block;border-bottom:none}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53%,.1)}.sidebar-toggle{background-color:transparent;border:0;bottom:0;left:0;position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;width:30px;z-index:4;outline:none;width:284px;padding:10px;background-color:hsla(0,0%,100%,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;background-color:var(--theme-color,#42b983);display:block;width:16px;height:2px;margin-bottom:4px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{top:0;right:0;bottom:0;left:300px;position:absolute;padding-top:20px;-webkit-transition:left .25s ease;transition:left .25s ease}.markdown-section{position:relative;margin:0 auto;max-width:800px;padding:20px 15px 40px}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;margin:2em 0;border-bottom:1px solid #eee}.markdown-section table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{padding:6px 13px;border:1px solid #ddd}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{padding:12px 24px 12px 30px;margin:2em 0;border-left:4px solid #f66;position:relative;border-bottom-right-radius:2px;border-top-right-radius:2px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#fff;content:"!";width:20px;height:20px;border-radius:100%;text-align:center;line-height:20px;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px}.markdown-section p.warn{padding:1em;background:rgba(66,185,131,.1);border-radius:2px}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media (max-width:600px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}nav{margin-top:16px}nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.github-corner,nav{-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{width:auto;background-color:transparent}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{width:284px;background-color:hsla(0,0%,100%,.8);-webkit-transition:background-color 1s;transition:background-color 1s}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .github-corner,body.close nav{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:-20px 16px 0;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{margin:1em 0;line-height:24px;line-height:1.5rem}section.cover h1{text-align:center;font-size:40px;font-size:2.5rem;position:relative;margin:10px 0 40px;margin:.625rem 0 2.5rem;font-weight:300;color:inherit}section.cover h1 a{display:block}section.cover h1 small{position:absolute;bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem}section.cover blockquote{text-align:center;font-size:24px;font-size:1.5rem}section.cover ul{max-width:500px;list-style-type:none;margin:1em auto;padding:0;line-height:1.8}section.cover .cover-main p:last-child a{border-radius:2em;border-color:#42b983;border:1px solid var(--theme-color,#42b983);box-sizing:border-box;color:#42b983;color:var(--theme-color,#42b983);font-size:1.05em;letter-spacing:.1em;padding:.75em 2em;text-decoration:none;-webkit-transition:all .15s ease;transition:all .15s ease;margin-right:1em;display:inline-block}section.cover .cover-main p:last-child a:last-child{margin-right:0;background-color:#42b983;background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main p:last-child a:last-child:hover{opacity:.8;color:inherit}section.cover .cover-main p:last-child a:hover{color:inherit}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{position:absolute;width:100%;height:100%;background-color:#fff;opacity:.8}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#505d6b;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none;font-size:14px}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{font-weight:600;color:#2c3e50}.markdown-section a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1{margin:0 0 1em;font-size:2em}.markdown-section h2{font-size:1.75em;margin:45px 0 .8em}.markdown-section h3{margin:40px 0 .6em;font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6em;word-spacing:.05em}.markdown-section ol,.markdown-section ul{padding-left:1.5em}.markdown-section blockquote{color:#858585;border-left:4px solid #42b983;border-left:4px solid var(--theme-color,#42b983);margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:nowrap;font-size:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#f8f8f8}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5em;margin:1.2em 0;padding:0 1.4em;position:relative;overflow:auto;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983;color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983;color:var(--theme-color,#42b983)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8em;line-height:inherit;margin:0 2px;overflow:inherit;padding:2.2em 5px;white-space:inherit;max-width:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05em}code .token{min-height:1.5em;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}pre:after{color:#ccc;content:attr(data-lang);font-size:.6em;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file From 9605c18fff655cd9f3ed3f396c87a65f03ad2bb5 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Thu, 9 Feb 2017 21:26:57 +0800 Subject: [PATCH 047/826] -> v2.1.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a22a0bc..3aa05ca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "2.0.3", + "version": "2.1.0", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From ac61bb0e75d72e6ecd1b0b7be9f4506cc6f7354a Mon Sep 17 00:00:00 2001 From: "cinwell.li" Date: Thu, 9 Feb 2017 22:16:15 +0800 Subject: [PATCH 048/826] feat(plugins): add Google Analytics plugin (#66) --- CHANGELOG.md | 5 +++++ README.md | 3 +-- build/build.js | 11 +++++++++++ docs/README.md | 19 ++++++++++++++++++- docs/zh-cn.md | 17 +++++++++++++++++ src/index.js | 3 ++- src/plugins/ga.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 src/plugins/ga.js diff --git a/CHANGELOG.md b/CHANGELOG.md index a44a139..a2545db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 2.2.0 + +### Features +- Add `Google Analytics` plugin. + ## 2.1.0 ### Features - Add search plugin diff --git a/README.md b/README.md index b5d7e09..a1f1261 100644 --- a/README.md +++ b/README.md @@ -76,13 +76,12 @@ These open-source projects are using docsify to generate their sites. Pull reque ## Development -### prepare ```bash npm i && npm run dev open http://localhost:3000 ``` -### More Language Highlight +## More Language Highlight ```html diff --git a/build/build.js b/build/build.js index 62314e5..cbeefc9 100644 --- a/build/build.js +++ b/build/build.js @@ -47,3 +47,14 @@ isProd && build({ moduleName: 'D.Search', plugins: [uglify()] }) +build({ + entry: 'plugins/ga.js', + output: 'plugins/ga.js', + moduleName: 'D.GA' +}) +isProd && build({ + entry: 'plugins/ga.js', + output: 'plugins/ga.min.js', + moduleName: 'D.GA', + plugins: [uglify()] +}) diff --git a/docs/README.md b/docs/README.md index 8a1eb9e..5be7884 100644 --- a/docs/README.md +++ b/docs/README.md @@ -468,7 +468,7 @@ If a document can have a search, can enhance some user experience. Installing th ```html - + ``` @@ -495,3 +495,20 @@ window.$docsify = { } } ``` + +### Google Analytics + +Install the plugin and configure the track id. + +```html + + +``` + +or + +```js +window.$docsify = { + ga: 'UA-XXXXX-Y' +} +``` diff --git a/docs/zh-cn.md b/docs/zh-cn.md index 0b19395..0a14058 100644 --- a/docs/zh-cn.md +++ b/docs/zh-cn.md @@ -501,3 +501,20 @@ window.$docsify = { } } ``` + +### Google Analytics + +安装插件并且配置 track id。 + +```html + + +``` + +或者 + +```js +window.$docsify = { + ga: 'UA-XXXXX-Y' +} +``` diff --git a/src/index.js b/src/index.js index 19a3651..3604f3f 100644 --- a/src/index.js +++ b/src/index.js @@ -15,7 +15,8 @@ const OPTIONS = utils.merge({ auto2top: false, name: '', themeColor: '', - nameLink: window.location.pathname + nameLink: window.location.pathname, + ga: '' }, window.$docsify) const script = document.currentScript || [].slice.call(document.getElementsByTagName('script')).pop() diff --git a/src/plugins/ga.js b/src/plugins/ga.js new file mode 100644 index 0000000..5200240 --- /dev/null +++ b/src/plugins/ga.js @@ -0,0 +1,42 @@ +// From https://github.com/egoist/vue-ga/blob/master/src/index.js + +function appendScript () { + const script = document.createElement('script') + script.async = true + script.src = 'https://www.google-analytics.com/analytics.js' + document.body.appendChild(script) +} + +function init (id) { + if (!window.ga) { + appendScript() + window.ga = window.ga || function () { + (window.ga.q = window.ga.q || []).push(arguments) + } + window.ga.l = Number(new Date()) + window.ga('create', id, 'auto') + } +} + +function collect () { + init(window.$docsify.ga) + window.ga('set', 'page', location.href) + window.ga('send', 'pageview') +} + +const install = function () { + if (!window.Docsify || !window.Docsify.installed) { + console.error('[Docsify] Please load docsify.js first.') + return + } + + if (!window.$docsify.ga) { + console.error('[Docsify] ga is required.') + return + } + + collect() + window.$docsify.plugins = [].concat(window.$docsify.plugins, collect) +} + +export default install() From a4bd5fd295106995b34f3d34c8aae046bc4b513b Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Thu, 9 Feb 2017 22:17:23 +0800 Subject: [PATCH 049/826] bump: 2.2.0 --- docs/_coverpage.md | 2 +- lib/docsify.js | 3 ++- lib/docsify.min.js | 2 +- lib/plugins/ga.js | 50 +++++++++++++++++++++++++++++++++++++++++++ lib/plugins/ga.min.js | 1 + 5 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 lib/plugins/ga.js create mode 100644 lib/plugins/ga.min.js diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 42151ed..03edc5c 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 2.1.0 +# docsify 2.2.0 > A magical documentation site generator. diff --git a/lib/docsify.js b/lib/docsify.js index de4fbb9..26f8a1d 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -2799,7 +2799,8 @@ var OPTIONS = merge({ auto2top: false, name: '', themeColor: '', - nameLink: window.location.pathname + nameLink: window.location.pathname, + ga: '' }, window.$docsify); var script = document.currentScript || [].slice.call(document.getElementsByTagName('script')).pop(); diff --git a/lib/docsify.min.js b/lib/docsify.min.js index af15fe4..d11e9ee 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ var D=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var i=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(i)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var i=e.level||1,a=i-1;i>t||(r[a]?(r[a].children=r[a].children||[],r[a].children.push(e)):n.push(e),r[i]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function i(){var e=window.location;if(M===e.hash&&!r(j))return j;var t=e.hash.replace(/%23/g,"#").match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,j=t,M=e.hash,t}function a(){return document.body.clientWidth<=600}function o(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(o.occurrences=o.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var i=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),a=o.occurrences[i];return o.occurrences.hasOwnProperty(i)?a++:a=0,o.occurrences[i]=a,a&&(i=i+"-"+a),i}function s(e){return e.replace(/<(pre|template)[^>]*?>([\s\S]+)<\/(pre|template)>/g,function(e){return e.replace(/:/g,"__colon__")}).replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,a=document.body.scrollTop,s=0,c=n.length;sa){e||(e=u);break}e=u}if(e){var p=o[e.getAttribute("data-id")];if(p&&p!==l&&(l&&l.classList.remove("active"),p.classList.add("active"),l=p,!t&&!g.noSticky)){var d=0,h=l.offsetTop+l.clientHeight+40,f=l.offsetTop>=r.scrollTop&&h<=r.scrollTop+i,m=h-d=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(){var e=b()+'';return(a()?e+"
                                                                                                                                                              ":"
                                                                                                                                                              "+e)+'
                                                                                                                                                              \n
                                                                                                                                                              \n
                                                                                                                                                              \n
                                                                                                                                                              '}function y(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                                                                                                                              \n
                                                                                                                                                              \n
                                                                                                                                                              \n
                                                                                                                                                              '}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                                                                                                                            • '+e.title+"
                                                                                                                                                            • ",e.children&&(t+='
                                                                                                                                                              • '+v(e.children)+"
                                                                                                                                                              ")}),t):""}function k(e,t){return'

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

                                                                                                                                                              "}function w(e){return""}function x(e){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,$docsify.themeColor)}function L(){if(!(window.CSS&&window.CSS.supports&&window.CSS.supports("(--foo: red)"))){var t=document.querySelectorAll("style:not(.inserted),link");[].forEach.call(t,function(t){if("STYLE"===t.nodeName)x(t);else if("LINK"===t.nodeName){var n=t.getAttribute("href");if(!/\.css$/.test(n))return;e(n).then(function(e){var t=document.createElement("style");t.innerHTML=e,document.head.appendChild(t),x(t)})}})}}function S(){var e=new F.Renderer;e.heading=function(e,t){var n=o(e),r="";return r="#/"+i(),H.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},e.code=function(e,t){void 0===t&&(t="");var n=W.highlight(e,W.languages[t]||W.languages.markup);return'
                                                                                                                                                              '+n+"
                                                                                                                                                              "},e.link=function(e,t,n){return/:/.test(e)||(e=("#/"+e).replace(/\/+/g,"/")),''+n+""},e.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                                                                                                                              "+e+"

                                                                                                                                                              "},"function"==typeof $docsify.markdown?(z.setOptions({renderer:e}),z=$docsify.markdown.call(this,z)):z.setOptions(O({renderer:e},$docsify.markdown));var t=z;z=function(e){return s(t(e))},window.Docsify.utils.marked=function(e){var t=z(e);return H=[],t}}function $(e,t){var n=document.querySelector("nav")||document.createElement("nav"),r=document.body,i=document.head;if($docsify.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f($docsify.repo)+($docsify.coverpage?y():"")+m(),r.insertBefore(n,r.children[0]),$docsify.themeColor&&(i.innerHTML+=w($docsify.themeColor),L()),$docsify.name){var o=document.querySelector(".sidebar");o.innerHTML='

                                                                                                                                                              '+$docsify.name+"

                                                                                                                                                              "+o.innerHTML}p("button.sidebar-toggle"),$docsify.coverpage?!a()&&window.addEventListener("scroll",g):r.classList.add("sticky")}function _(e){if(D("article",e?z(e):"not found"),$docsify.loadSidebar||E(),e&&"undefined"!=typeof Vue){R.vm&&R.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0],n=t?t.innerText.trim():null;t&&t.remove(),R.vm=n?new Function("return "+n)():new Vue({el:"main"}),R.vm&&R.vm.$nextTick(function(e){return l()})}$docsify.auto2top&&setTimeout(function(){return d($docsify.auto2top)},0)}function C(e){R.navbar&&R.navbar===e||(R.navbar=e,e&&D("nav",z(e)),u("nav"))}function E(e){var n;e?(n=z(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=v(t(H,$docsify.maxLevel),"
                                                                                                                                                                "),D(".sidebar-nav",n);var r=u(".sidebar-nav",!0);r&&A(r),H=[],l()}function A(e){$docsify.subMaxLevel&&(e.parentNode.innerHTML+=v(t(H,$docsify.subMaxLevel),"
                                                                                                                                                                  "))}function T(e){if(T.dom=T.dom||document.querySelector("section.cover"),!e)return void T.dom.classList.remove("show");if(T.dom.classList.add("show"),T.rendered)return g();var t=H.slice(),n=z(e),r=n.trim().match('

                                                                                                                                                                  ([^<]*?)

                                                                                                                                                                  $');if(H=t.slice(),r){var i=document.querySelector("section.cover");"color"===r[2]?i.style.background=r[1]+(r[3]||""):(i.classList.add("has-mask"),i.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}D(".cover-main",n),T.rendered=!0,g()}function q(e){var t,n=e.loaded,r=e.total,i=e.step;if(!R.loading){var a=document.createElement("div");a.classList.add("progress"),document.body.appendChild(a),R.loading=a}i?(t=parseInt(R.loading.style.width,10)+i,t=t>80?80:t):t=Math.floor(n/r*100),R.loading.style.opacity=1,R.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(q.cacheTimeout),q.cacheTimeout=setTimeout(function(e){R.loading.style.opacity=0,R.loading.style.width="0%"},200))}var j=null,M=null;o.clear=function(){o.occurrences={}};var N=Object.prototype.hasOwnProperty,O=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function o(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:

                                                                                                                                                                  "+a(e.message+"",!0)+"
                                                                                                                                                                  ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=s(p.item,"gm")(/bull/g,p.bullet)(),p.list=s(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=s(p.blockquote)("def",p.def)(),p._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",p.html=s(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=s(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=s(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,o,s,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((a=g.rules.newline.exec(e))&&(e=e.substring(a[0].length),a[0].length>1&&g.tokens.push({type:"space"})),a=g.rules.code.exec(e))e=e.substring(a[0].length),a=a[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?a:a.replace(/\n+$/,"")});else if(a=g.rules.fences.exec(e))e=e.substring(a[0].length),g.tokens.push({type:"code",lang:a[2],text:a[3]||""});else if(a=g.rules.heading.exec(e))e=e.substring(a[0].length),g.tokens.push({type:"heading",depth:a[1].length,text:a[2]});else if(t&&(a=g.rules.nptable.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(a,t,!0),g.tokens.push({type:"blockquote_end"});else if(a=g.rules.list.exec(e)){for(e=e.substring(a[0].length),o=a[2],g.tokens.push({type:"list_start",ordered:o.length>1}),a=a[0].match(g.rules.item),r=!1,d=a.length,u=0;u1&&s.length>1||(e=a.slice(u+1).join("\n")+e,u=d-1)),i=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),i||(i=r)),g.tokens.push({type:i?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(a=g.rules.html.exec(e))e=e.substring(a[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===a[1]||"script"===a[1]||"style"===a[1]),text:a[0]});else if(!n&&t&&(a=g.rules.def.exec(e)))e=e.substring(a[0].length),g.tokens.links[a[1].toLowerCase()]={href:a[2],title:a[3]};else if(t&&(a=g.rules.table.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[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*/,d.link=s(d.link)("inside",d._inside)("href",d._href)(),d.reflink=s(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:s(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:s(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:s(d.br)("{2,}","*")(),text:s(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var i=new n(t,r);return i.output(e)},n.prototype.output=function(e){for(var t,n,r,i,o=this,s="";e;)if(i=o.rules.escape.exec(e))e=e.substring(i[0].length),s+=i[1];else if(i=o.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=":"===i[1].charAt(6)?o.mangle(i[1].substring(7)):o.mangle(i[1]),r=o.mangle("mailto:")+n):(n=a(i[1]),r=n),s+=o.renderer.link(r,null,n);else if(o.inLink||!(i=o.rules.url.exec(e))){if(i=o.rules.tag.exec(e))!o.inLink&&/^/i.test(i[0])&&(o.inLink=!1),e=e.substring(i[0].length),s+=o.options.sanitize?o.options.sanitizer?o.options.sanitizer(i[0]):a(i[0]):i[0];else if(i=o.rules.link.exec(e))e=e.substring(i[0].length),o.inLink=!0,s+=o.outputLink(i,{href:i[2],title:i[3]}),o.inLink=!1;else if((i=o.rules.reflink.exec(e))||(i=o.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),t=o.links[t.toLowerCase()],!t||!t.href){s+=i[0].charAt(0),e=i[0].substring(1)+e;continue}o.inLink=!0,s+=o.outputLink(i,t),o.inLink=!1}else if(i=o.rules.strong.exec(e))e=e.substring(i[0].length),s+=o.renderer.strong(o.output(i[2]||i[1]));else if(i=o.rules.em.exec(e))e=e.substring(i[0].length),s+=o.renderer.em(o.output(i[2]||i[1]));else if(i=o.rules.code.exec(e))e=e.substring(i[0].length),s+=o.renderer.codespan(a(i[2],!0));else if(i=o.rules.br.exec(e))e=e.substring(i[0].length),s+=o.renderer.br();else if(i=o.rules.del.exec(e))e=e.substring(i[0].length),s+=o.renderer.del(o.output(i[1]));else if(i=o.rules.text.exec(e))e=e.substring(i[0].length),s+=o.renderer.text(a(o.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=a(i[1]),r=n,s+=o.renderer.link(r,null,n);return s},n.prototype.outputLink=function(e,t){var n=a(t.href),r=t.title?a(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,a(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:a(e,!0))+"\n
                                                                                                                                                                  \n":"
                                                                                                                                                                  "+(n?e:a(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(o(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){var r=new i(t,n);return r.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,a,o="",s="";for(r="",t=0;te.length)break e;if(!(v instanceof i)){u.lastIndex=0;var k=u.exec(v),w=1;if(!k&&g&&y!=a.length-1){if(u.lastIndex=b,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=y,$=b,_=a.length;S<_&&$=$&&(++y,b=$);if(a[y]instanceof i||a[S-1].greedy)continue;w=S-y,v=e.slice(b,$),k.index-=b}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,C=v.slice(0,x),E=v.slice(L),A=[y,w];C&&A.push(C);var T=new i(s,p?r.tokenize(k,p):k,f,k,g);A.push(T),E&&A.push(E),Array.prototype.splice.apply(a,A)}}}}}return a},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,a=0;i=n[a++];)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 a={type:e.type,content:i.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==a.type&&(a.attributes.spellcheck="true"),e.alias){var o="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(a.classes,o)}r.hooks.run("wrap",a);var s=Object.keys(a.attributes).map(function(e){return e+'="'+(a.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+(s?" "+s:"")+">"+a.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),i=n.language,a=n.code,o=n.immediateClose;t.postMessage(r.highlight(a,r.languages[i],i)),o&&t.close()},!1),t.Prism):t.Prism;var a=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return a&&(r.filename=a.src,document.addEventListener&&!a.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),"undefined"!=typeof I&&(I.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"),a=t,o=/\blang(?:uage)?-(?!\*)(\w+)\b/i;a&&!o.test(a.className);)a=a.parentNode;if(a&&(r=(t.className.match(o)||[,""])[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))}()}),z=F,H=[],R={},D=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,o.clear(),e},B=O({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,loadSidebar:null,loadNavbar:null,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",themeColor:"",nameLink:window.location.pathname},window.$docsify),G=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(G){for(var Z in B){var U=G.getAttribute("data-"+n(Z));B[Z]=r(U)?B[Z]:U||!0}B.loadSidebar===!0&&(B.loadSidebar="_sidebar.md"),B.loadNavbar===!0&&(B.loadNavbar="_navbar.md"),B.coverpage===!0&&(B.coverpage="_coverpage.md"),B.repo===!0&&(B.repo=""),B.name===!0&&(B.name="")}window.$docsify=B,window.Docsify={installed:!0,utils:O({},P)},S();var V=null,Y=null,J=function(t){var n=B.basePath+i();if(V===n)return t();var r=V=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var a;a=n?/\/$/.test(n)?n+"README.md":n+".md":B.homepage||"README.md",B.coverpage&&a===B.homepage&&e(B.coverpage).then(T),Y&&Y.abort&&Y.abort(),Y=e(a,"GET",q),Y.then(function(n){if(_(n),B.coverpage&&a!==B.homepage&&T(),B.loadSidebar){var i=function(e){E(e),t()};e(r+B.loadSidebar).then(i,function(t){return e(B.loadSidebar).then(i)})}else t()},function(e){return _(null)}),B.loadNavbar&&e(r+B.loadNavbar).then(C,function(t){return e(B.loadNavbar).then(C)})},X=function(){var e=document.querySelector(B.el)||document.body,t=e!==document.body,n=function(){J(function(e){c(),u("nav"),[].concat(window.$docsify.plugins).forEach(function(e){return e&&e()})})};$(e,t),n(),/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n)},K=X();return K}(); +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"),a=t,o=/\blang(?:uage)?-(?!\*)(\w+)\b/i;a&&!o.test(a.className);)a=a.parentNode;if(a&&(r=(t.className.match(o)||[,""])[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))}()}),z=F,H=[],R={},D=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,o.clear(),e},B=O({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,loadSidebar:null,loadNavbar:null,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",themeColor:"",nameLink:window.location.pathname,ga:""},window.$docsify),G=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(G){for(var Z in B){var U=G.getAttribute("data-"+n(Z));B[Z]=r(U)?B[Z]:U||!0}B.loadSidebar===!0&&(B.loadSidebar="_sidebar.md"),B.loadNavbar===!0&&(B.loadNavbar="_navbar.md"),B.coverpage===!0&&(B.coverpage="_coverpage.md"),B.repo===!0&&(B.repo=""),B.name===!0&&(B.name="")}window.$docsify=B,window.Docsify={installed:!0,utils:O({},P)},S();var V=null,Y=null,J=function(t){var n=B.basePath+i();if(V===n)return t();var r=V=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var a;a=n?/\/$/.test(n)?n+"README.md":n+".md":B.homepage||"README.md",B.coverpage&&a===B.homepage&&e(B.coverpage).then(T),Y&&Y.abort&&Y.abort(),Y=e(a,"GET",q),Y.then(function(n){if(_(n),B.coverpage&&a!==B.homepage&&T(),B.loadSidebar){var i=function(e){E(e),t()};e(r+B.loadSidebar).then(i,function(t){return e(B.loadSidebar).then(i)})}else t()},function(e){return _(null)}),B.loadNavbar&&e(r+B.loadNavbar).then(C,function(t){return e(B.loadNavbar).then(C)})},X=function(){var e=document.querySelector(B.el)||document.body,t=e!==document.body,n=function(){J(function(e){c(),u("nav"),[].concat(window.$docsify.plugins).forEach(function(e){return e&&e()})})};$(e,t),n(),/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n)},K=X();return K}(); diff --git a/lib/plugins/ga.js b/lib/plugins/ga.js new file mode 100644 index 0000000..61ddb0f --- /dev/null +++ b/lib/plugins/ga.js @@ -0,0 +1,50 @@ +this.D = this.D || {}; +this.D.GA = (function () { +'use strict'; + +// From https://github.com/egoist/vue-ga/blob/master/src/index.js + +function appendScript () { + var script = document.createElement('script'); + script.async = true; + script.src = 'https://www.google-analytics.com/analytics.js'; + document.body.appendChild(script); +} + +function init (id) { + if (!window.ga) { + appendScript(); + window.ga = window.ga || function () { + (window.ga.q = window.ga.q || []).push(arguments); + }; + window.ga.l = Number(new Date()); + window.ga('create', id, 'auto'); + } +} + +function collect () { + init(window.$docsify.ga); + window.ga('set', 'page', location.href); + window.ga('send', 'pageview'); +} + +var install = function () { + if (!window.Docsify || !window.Docsify.installed) { + console.error('[Docsify] Please load docsify.js first.'); + return + } + + if (!window.$docsify.ga) { + console.error('[Docsify] ga is required.'); + return + } + + collect(); + window.$docsify.plugins = [].concat(window.$docsify.plugins, collect); +}; + +var ga = install(); + +return ga; + +}()); diff --git a/lib/plugins/ga.min.js b/lib/plugins/ga.min.js new file mode 100644 index 0000000..d20c683 --- /dev/null +++ b/lib/plugins/ga.min.js @@ -0,0 +1 @@ +this.D=this.D||{},this.D.GA=function(){"use strict";function o(){var o=document.createElement("script");o.async=!0,o.src="https://www.google-analytics.com/analytics.js",document.body.appendChild(o)}function i(i){window.ga||(o(),window.ga=window.ga||function(){(window.ga.q=window.ga.q||[]).push(arguments)},window.ga.l=Number(new Date),window.ga("create",i,"auto"))}function n(){i(window.$docsify.ga),window.ga("set","page",location.href),window.ga("send","pageview")}var w=function(){return window.Docsify&&window.Docsify.installed?window.$docsify.ga?(n(),void(window.$docsify.plugins=[].concat(window.$docsify.plugins,n))):void console.error("[Docsify] ga is required."):void console.error("[Docsify] Please load docsify.js first.")},s=w();return s}(); From 5b25e7daca7ca3f8e0327618fe62bef77f6d5f57 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Thu, 9 Feb 2017 22:17:29 +0800 Subject: [PATCH 050/826] -> v2.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3aa05ca..54e397d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "2.1.0", + "version": "2.2.0", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From 55323a38b82223558a01458e70933768e6f2194e Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Thu, 9 Feb 2017 22:18:55 +0800 Subject: [PATCH 051/826] docs(changelog): update --- CHANGELOG.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2545db..75ad83a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,12 +2,15 @@ ### Features - Add `Google Analytics` plugin. - +```html + + +``` ## 2.1.0 ### Features - Add search plugin ```html - + ``` From be6a97af921d5e1f91a550f4c1a899c2c09c53e9 Mon Sep 17 00:00:00 2001 From: "D.Yang" Date: Fri, 10 Feb 2017 02:56:05 -0600 Subject: [PATCH 052/826] add showcase of Mybatis-Plus (#69) add a showcase --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a1f1261..66cf9cd 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ These open-source projects are using docsify to generate their sites. Pull reque - [Samaritan](http://samaritan.stockdb.org) - An Algorithmic Trading Framework for Digital Currency. - [Vudash](http://vudash.github.io/vudash/) - Powerful, Flexible, Open Source dashboards for anything - [Trilogy](http://trilogy.js.org) - No-hassle SQLite with a Promise-based, document store style API. +- [Mybatis-Plus](http://mp.baomidou.com/) - An enhanced toolkit of Mybatis to simplify development ## Similar projects - [docute](https://github.com/egoist/docute) - 📜 Effortlessly documentation done right From 3941304fda681dfee1df03577dec8b829ac270ad Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 11 Feb 2017 09:16:37 +0800 Subject: [PATCH 053/826] fix(search): not work in mobile --- src/plugins/search.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/search.js b/src/plugins/search.js index 0bbf740..3e9a5ee 100644 --- a/src/plugins/search.js +++ b/src/plugins/search.js @@ -180,9 +180,11 @@ class SearchComponent { } bindEvent () { - const input = document.querySelector('.search input') - const panel = document.querySelector('.results-panel') + const search = document.querySelector('.search') + const input = search.querySelector('.search input') + const panel = search.querySelector('.results-panel') + search.addEventListener('click', e => e.target.tagName !== 'A' && e.stopPropagation()) input.addEventListener('input', e => { const target = e.target From 50f5fc2b224859c413b372a0ae63a8dc917dd082 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 11 Feb 2017 09:22:39 +0800 Subject: [PATCH 054/826] fix(event): scroll active sidebar --- src/event.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/event.js b/src/event.js index 64585bd..72130cc 100644 --- a/src/event.js +++ b/src/event.js @@ -10,6 +10,7 @@ export function scrollActiveSidebar () { let hoveredOverSidebar = false const anchors = document.querySelectorAll('.anchor') const sidebar = document.querySelector('.sidebar') + const sidebarContainer = sidebar.querySelector('.sidebar-nav') const sidebarHeight = sidebar.clientHeight const nav = {} @@ -57,12 +58,12 @@ export function scrollActiveSidebar () { const currentPageOffset = 0 const currentActiveOffset = active.offsetTop + active.clientHeight + 40 const currentActiveIsInView = ( - active.offsetTop >= sidebar.scrollTop && - currentActiveOffset <= sidebar.scrollTop + sidebarHeight + active.offsetTop >= sidebarContainer.scrollTop && + currentActiveOffset <= sidebarContainer.scrollTop + sidebarHeight ) const linkNotFurtherThanSidebarHeight = currentActiveOffset - currentPageOffset < sidebarHeight const newScrollTop = currentActiveIsInView - ? sidebar.scrollTop + ? sidebarContainer.scrollTop : linkNotFurtherThanSidebarHeight ? currentPageOffset : currentActiveOffset - sidebarHeight From 9d3cc89aa93c025fac224ec7c868693592f2c4f7 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 11 Feb 2017 09:34:46 +0800 Subject: [PATCH 055/826] fix(search): crash when not content, fixed #68 --- src/plugins/search.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/search.js b/src/plugins/search.js index 3e9a5ee..17aff34 100644 --- a/src/plugins/search.js +++ b/src/plugins/search.js @@ -76,6 +76,7 @@ const genIndex = function (path, content = '') { slug = `#/${path}#${id}`.replace(/\/+/, '/') INDEXS[slug] = { slug, title: text, body: '' } } else { + if (!slug) return // other html tag if (!INDEXS[slug]) { INDEXS[slug] = {} From 41e4cb1b041a1393b0b51012e36747a39ab18f72 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 11 Feb 2017 09:39:10 +0800 Subject: [PATCH 056/826] bump: 2.2.1 --- CHANGELOG.md | 9 +++++++++ docs/_coverpage.md | 2 +- lib/docsify.js | 7 ++++--- lib/docsify.min.js | 4 ++-- lib/plugins/search.js | 7 +++++-- lib/plugins/search.min.js | 2 +- 6 files changed, 22 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 75ad83a..ac7f16a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## 2.2.1 + +> 2017-02-11 + +### Bug fixes +- fix(search): crash when not content, fixed #68 +- fix(event): scroll active sidebar +- fix(search): not work in mobile + ## 2.2.0 ### Features diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 03edc5c..4733650 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 2.2.0 +# docsify 2.2.1 > A magical documentation site generator. diff --git a/lib/docsify.js b/lib/docsify.js index 26f8a1d..74e094e 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -199,6 +199,7 @@ function scrollActiveSidebar () { var hoveredOverSidebar = false; var anchors = document.querySelectorAll('.anchor'); var sidebar = document.querySelector('.sidebar'); + var sidebarContainer = sidebar.querySelector('.sidebar-nav'); var sidebarHeight = sidebar.clientHeight; var nav = {}; @@ -246,12 +247,12 @@ function scrollActiveSidebar () { var currentPageOffset = 0; var currentActiveOffset = active.offsetTop + active.clientHeight + 40; var currentActiveIsInView = ( - active.offsetTop >= sidebar.scrollTop && - currentActiveOffset <= sidebar.scrollTop + sidebarHeight + active.offsetTop >= sidebarContainer.scrollTop && + currentActiveOffset <= sidebarContainer.scrollTop + sidebarHeight ); var linkNotFurtherThanSidebarHeight = currentActiveOffset - currentPageOffset < sidebarHeight; var newScrollTop = currentActiveIsInView - ? sidebar.scrollTop + ? sidebarContainer.scrollTop : linkNotFurtherThanSidebarHeight ? currentPageOffset : currentActiveOffset - sidebarHeight; diff --git a/lib/docsify.min.js b/lib/docsify.min.js index d11e9ee..429ec90 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -var D=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var i=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(i)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var i=e.level||1,a=i-1;i>t||(r[a]?(r[a].children=r[a].children||[],r[a].children.push(e)):n.push(e),r[i]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function i(){var e=window.location;if(M===e.hash&&!r(j))return j;var t=e.hash.replace(/%23/g,"#").match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,j=t,M=e.hash,t}function a(){return document.body.clientWidth<=600}function o(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(o.occurrences=o.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var i=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),a=o.occurrences[i];return o.occurrences.hasOwnProperty(i)?a++:a=0,o.occurrences[i]=a,a&&(i=i+"-"+a),i}function s(e){return e.replace(/<(pre|template)[^>]*?>([\s\S]+)<\/(pre|template)>/g,function(e){return e.replace(/:/g,"__colon__")}).replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,a=document.body.scrollTop,s=0,c=n.length;sa){e||(e=u);break}e=u}if(e){var p=o[e.getAttribute("data-id")];if(p&&p!==l&&(l&&l.classList.remove("active"),p.classList.add("active"),l=p,!t&&!g.noSticky)){var d=0,h=l.offsetTop+l.clientHeight+40,f=l.offsetTop>=r.scrollTop&&h<=r.scrollTop+i,m=h-d=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(){var e=b()+'';return(a()?e+"
                                                                                                                                                                  ":"
                                                                                                                                                                  "+e)+'
                                                                                                                                                                  \n
                                                                                                                                                                  \n
                                                                                                                                                                  \n
                                                                                                                                                                  '}function y(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                                                                                                                                  \n
                                                                                                                                                                  \n
                                                                                                                                                                  \n
                                                                                                                                                                  '}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                                                                                                                                • '+e.title+"
                                                                                                                                                                • ",e.children&&(t+='
                                                                                                                                                                  • '+v(e.children)+"
                                                                                                                                                                  ")}),t):""}function k(e,t){return'

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

                                                                                                                                                                  "}function w(e){return""}function x(e){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,$docsify.themeColor)}function L(){if(!(window.CSS&&window.CSS.supports&&window.CSS.supports("(--foo: red)"))){var t=document.querySelectorAll("style:not(.inserted),link");[].forEach.call(t,function(t){if("STYLE"===t.nodeName)x(t);else if("LINK"===t.nodeName){var n=t.getAttribute("href");if(!/\.css$/.test(n))return;e(n).then(function(e){var t=document.createElement("style");t.innerHTML=e,document.head.appendChild(t),x(t)})}})}}function S(){var e=new F.Renderer;e.heading=function(e,t){var n=o(e),r="";return r="#/"+i(),H.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},e.code=function(e,t){void 0===t&&(t="");var n=W.highlight(e,W.languages[t]||W.languages.markup);return'
                                                                                                                                                                  '+n+"
                                                                                                                                                                  "},e.link=function(e,t,n){return/:/.test(e)||(e=("#/"+e).replace(/\/+/g,"/")),''+n+""},e.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                                                                                                                                  "+e+"

                                                                                                                                                                  "},"function"==typeof $docsify.markdown?(z.setOptions({renderer:e}),z=$docsify.markdown.call(this,z)):z.setOptions(O({renderer:e},$docsify.markdown));var t=z;z=function(e){return s(t(e))},window.Docsify.utils.marked=function(e){var t=z(e);return H=[],t}}function $(e,t){var n=document.querySelector("nav")||document.createElement("nav"),r=document.body,i=document.head;if($docsify.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f($docsify.repo)+($docsify.coverpage?y():"")+m(),r.insertBefore(n,r.children[0]),$docsify.themeColor&&(i.innerHTML+=w($docsify.themeColor),L()),$docsify.name){var o=document.querySelector(".sidebar");o.innerHTML='

                                                                                                                                                                  '+$docsify.name+"

                                                                                                                                                                  "+o.innerHTML}p("button.sidebar-toggle"),$docsify.coverpage?!a()&&window.addEventListener("scroll",g):r.classList.add("sticky")}function _(e){if(D("article",e?z(e):"not found"),$docsify.loadSidebar||E(),e&&"undefined"!=typeof Vue){R.vm&&R.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0],n=t?t.innerText.trim():null;t&&t.remove(),R.vm=n?new Function("return "+n)():new Vue({el:"main"}),R.vm&&R.vm.$nextTick(function(e){return l()})}$docsify.auto2top&&setTimeout(function(){return d($docsify.auto2top)},0)}function C(e){R.navbar&&R.navbar===e||(R.navbar=e,e&&D("nav",z(e)),u("nav"))}function E(e){var n;e?(n=z(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=v(t(H,$docsify.maxLevel),"
                                                                                                                                                                    "),D(".sidebar-nav",n);var r=u(".sidebar-nav",!0);r&&A(r),H=[],l()}function A(e){$docsify.subMaxLevel&&(e.parentNode.innerHTML+=v(t(H,$docsify.subMaxLevel),"
                                                                                                                                                                      "))}function T(e){if(T.dom=T.dom||document.querySelector("section.cover"),!e)return void T.dom.classList.remove("show");if(T.dom.classList.add("show"),T.rendered)return g();var t=H.slice(),n=z(e),r=n.trim().match('

                                                                                                                                                                      ([^<]*?)

                                                                                                                                                                      $');if(H=t.slice(),r){var i=document.querySelector("section.cover");"color"===r[2]?i.style.background=r[1]+(r[3]||""):(i.classList.add("has-mask"),i.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}D(".cover-main",n),T.rendered=!0,g()}function q(e){var t,n=e.loaded,r=e.total,i=e.step;if(!R.loading){var a=document.createElement("div");a.classList.add("progress"),document.body.appendChild(a),R.loading=a}i?(t=parseInt(R.loading.style.width,10)+i,t=t>80?80:t):t=Math.floor(n/r*100),R.loading.style.opacity=1,R.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(q.cacheTimeout),q.cacheTimeout=setTimeout(function(e){R.loading.style.opacity=0,R.loading.style.width="0%"},200))}var j=null,M=null;o.clear=function(){o.occurrences={}};var N=Object.prototype.hasOwnProperty,O=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function o(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:

                                                                                                                                                                      "+a(e.message+"",!0)+"
                                                                                                                                                                      ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=s(p.item,"gm")(/bull/g,p.bullet)(),p.list=s(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=s(p.blockquote)("def",p.def)(),p._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",p.html=s(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=s(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=s(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,o,s,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((a=g.rules.newline.exec(e))&&(e=e.substring(a[0].length),a[0].length>1&&g.tokens.push({type:"space"})),a=g.rules.code.exec(e))e=e.substring(a[0].length),a=a[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?a:a.replace(/\n+$/,"")});else if(a=g.rules.fences.exec(e))e=e.substring(a[0].length),g.tokens.push({type:"code",lang:a[2],text:a[3]||""});else if(a=g.rules.heading.exec(e))e=e.substring(a[0].length),g.tokens.push({type:"heading",depth:a[1].length,text:a[2]});else if(t&&(a=g.rules.nptable.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(a,t,!0),g.tokens.push({type:"blockquote_end"});else if(a=g.rules.list.exec(e)){for(e=e.substring(a[0].length),o=a[2],g.tokens.push({type:"list_start",ordered:o.length>1}),a=a[0].match(g.rules.item),r=!1,d=a.length,u=0;u1&&s.length>1||(e=a.slice(u+1).join("\n")+e,u=d-1)),i=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),i||(i=r)),g.tokens.push({type:i?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(a=g.rules.html.exec(e))e=e.substring(a[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===a[1]||"script"===a[1]||"style"===a[1]),text:a[0]});else if(!n&&t&&(a=g.rules.def.exec(e)))e=e.substring(a[0].length),g.tokens.links[a[1].toLowerCase()]={href:a[2],title:a[3]};else if(t&&(a=g.rules.table.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[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*/,d.link=s(d.link)("inside",d._inside)("href",d._href)(),d.reflink=s(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:s(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:s(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:s(d.br)("{2,}","*")(),text:s(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var i=new n(t,r);return i.output(e)},n.prototype.output=function(e){for(var t,n,r,i,o=this,s="";e;)if(i=o.rules.escape.exec(e))e=e.substring(i[0].length),s+=i[1];else if(i=o.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=":"===i[1].charAt(6)?o.mangle(i[1].substring(7)):o.mangle(i[1]),r=o.mangle("mailto:")+n):(n=a(i[1]),r=n),s+=o.renderer.link(r,null,n);else if(o.inLink||!(i=o.rules.url.exec(e))){if(i=o.rules.tag.exec(e))!o.inLink&&/^/i.test(i[0])&&(o.inLink=!1),e=e.substring(i[0].length),s+=o.options.sanitize?o.options.sanitizer?o.options.sanitizer(i[0]):a(i[0]):i[0];else if(i=o.rules.link.exec(e))e=e.substring(i[0].length),o.inLink=!0,s+=o.outputLink(i,{href:i[2],title:i[3]}),o.inLink=!1;else if((i=o.rules.reflink.exec(e))||(i=o.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),t=o.links[t.toLowerCase()],!t||!t.href){s+=i[0].charAt(0),e=i[0].substring(1)+e;continue}o.inLink=!0,s+=o.outputLink(i,t),o.inLink=!1}else if(i=o.rules.strong.exec(e))e=e.substring(i[0].length),s+=o.renderer.strong(o.output(i[2]||i[1]));else if(i=o.rules.em.exec(e))e=e.substring(i[0].length),s+=o.renderer.em(o.output(i[2]||i[1]));else if(i=o.rules.code.exec(e))e=e.substring(i[0].length),s+=o.renderer.codespan(a(i[2],!0));else if(i=o.rules.br.exec(e))e=e.substring(i[0].length),s+=o.renderer.br();else if(i=o.rules.del.exec(e))e=e.substring(i[0].length),s+=o.renderer.del(o.output(i[1]));else if(i=o.rules.text.exec(e))e=e.substring(i[0].length),s+=o.renderer.text(a(o.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=a(i[1]),r=n,s+=o.renderer.link(r,null,n);return s},n.prototype.outputLink=function(e,t){var n=a(t.href),r=t.title?a(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,a(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:a(e,!0))+"\n
                                                                                                                                                                      \n":"
                                                                                                                                                                      "+(n?e:a(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(o(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){var r=new i(t,n);return r.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,a,o="",s="";for(r="",t=0;te.length)break e;if(!(v instanceof i)){u.lastIndex=0;var k=u.exec(v),w=1;if(!k&&g&&y!=a.length-1){if(u.lastIndex=b,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=y,$=b,_=a.length;S<_&&$=$&&(++y,b=$);if(a[y]instanceof i||a[S-1].greedy)continue;w=S-y,v=e.slice(b,$),k.index-=b}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,C=v.slice(0,x),E=v.slice(L),A=[y,w];C&&A.push(C);var T=new i(s,p?r.tokenize(k,p):k,f,k,g);A.push(T),E&&A.push(E),Array.prototype.splice.apply(a,A)}}}}}return a},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,a=0;i=n[a++];)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 a={type:e.type,content:i.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==a.type&&(a.attributes.spellcheck="true"),e.alias){var o="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(a.classes,o)}r.hooks.run("wrap",a);var s=Object.keys(a.attributes).map(function(e){return e+'="'+(a.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+(s?" "+s:"")+">"+a.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),i=n.language,a=n.code,o=n.immediateClose;t.postMessage(r.highlight(a,r.languages[i],i)),o&&t.close()},!1),t.Prism):t.Prism;var a=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return a&&(r.filename=a.src,document.addEventListener&&!a.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),"undefined"!=typeof I&&(I.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"),a=t,o=/\blang(?:uage)?-(?!\*)(\w+)\b/i;a&&!o.test(a.className);)a=a.parentNode;if(a&&(r=(t.className.match(o)||[,""])[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))}()}),z=F,H=[],R={},D=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,o.clear(),e},B=O({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,loadSidebar:null,loadNavbar:null,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",themeColor:"",nameLink:window.location.pathname,ga:""},window.$docsify),G=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(G){for(var Z in B){var U=G.getAttribute("data-"+n(Z));B[Z]=r(U)?B[Z]:U||!0}B.loadSidebar===!0&&(B.loadSidebar="_sidebar.md"),B.loadNavbar===!0&&(B.loadNavbar="_navbar.md"),B.coverpage===!0&&(B.coverpage="_coverpage.md"),B.repo===!0&&(B.repo=""),B.name===!0&&(B.name="")}window.$docsify=B,window.Docsify={installed:!0,utils:O({},P)},S();var V=null,Y=null,J=function(t){var n=B.basePath+i();if(V===n)return t();var r=V=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var a;a=n?/\/$/.test(n)?n+"README.md":n+".md":B.homepage||"README.md",B.coverpage&&a===B.homepage&&e(B.coverpage).then(T),Y&&Y.abort&&Y.abort(),Y=e(a,"GET",q),Y.then(function(n){if(_(n),B.coverpage&&a!==B.homepage&&T(),B.loadSidebar){var i=function(e){E(e),t()};e(r+B.loadSidebar).then(i,function(t){return e(B.loadSidebar).then(i)})}else t()},function(e){return _(null)}),B.loadNavbar&&e(r+B.loadNavbar).then(C,function(t){return e(B.loadNavbar).then(C)})},X=function(){var e=document.querySelector(B.el)||document.body,t=e!==document.body,n=function(){J(function(e){c(),u("nav"),[].concat(window.$docsify.plugins).forEach(function(e){return e&&e()})})};$(e,t),n(),/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n)},K=X();return K}(); +var D=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var i=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(i)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var i=e.level||1,a=i-1;i>t||(r[a]?(r[a].children=r[a].children||[],r[a].children.push(e)):n.push(e),r[i]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function i(){var e=window.location;if(M===e.hash&&!r(j))return j;var t=e.hash.replace(/%23/g,"#").match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,j=t,M=e.hash,t}function a(){return document.body.clientWidth<=600}function o(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(o.occurrences=o.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var i=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),a=o.occurrences[i];return o.occurrences.hasOwnProperty(i)?a++:a=0,o.occurrences[i]=a,a&&(i=i+"-"+a),i}function s(e){return e.replace(/<(pre|template)[^>]*?>([\s\S]+)<\/(pre|template)>/g,function(e){return e.replace(/:/g,"__colon__")}).replace(/:(\w*?):/gi,'$1').replace(/__colon__/g,":")}function l(){function e(){for(var e,a=document.body.scrollTop,l=0,u=n.length;la){e||(e=p);break}e=p}if(e){var d=s[e.getAttribute("data-id")];if(d&&d!==c&&(c&&c.classList.remove("active"),d.classList.add("active"),c=d,!t&&!g.noSticky)){var h=0,f=c.offsetTop+c.clientHeight+40,m=c.offsetTop>=i.scrollTop&&f<=i.scrollTop+o,y=f-h=e||g.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),g.noSticky=!1):(document.body.classList.remove("sticky"),g.noSticky=!0)}()}function h(e,t){return t={exports:{}},e(t,t.exports),t.exports}function f(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function m(){var e=b()+'';return(a()?e+"
                                                                                                                                                                      ":"
                                                                                                                                                                      "+e)+'
                                                                                                                                                                      \n
                                                                                                                                                                      \n
                                                                                                                                                                      \n
                                                                                                                                                                      '}function y(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
                                                                                                                                                                      \n
                                                                                                                                                                      \n
                                                                                                                                                                      \n
                                                                                                                                                                      '}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
                                                                                                                                                                    • '+e.title+"
                                                                                                                                                                    • ",e.children&&(t+='
                                                                                                                                                                      • '+v(e.children)+"
                                                                                                                                                                      ")}),t):""}function k(e,t){return'

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

                                                                                                                                                                      "}function w(e){return""}function x(e){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,$docsify.themeColor)}function L(){if(!(window.CSS&&window.CSS.supports&&window.CSS.supports("(--foo: red)"))){var t=document.querySelectorAll("style:not(.inserted),link");[].forEach.call(t,function(t){if("STYLE"===t.nodeName)x(t);else if("LINK"===t.nodeName){var n=t.getAttribute("href");if(!/\.css$/.test(n))return;e(n).then(function(e){var t=document.createElement("style");t.innerHTML=e,document.head.appendChild(t),x(t)})}})}}function S(){var e=new F.Renderer;e.heading=function(e,t){var n=o(e),r="";return r="#/"+i(),H.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},e.code=function(e,t){void 0===t&&(t="");var n=W.highlight(e,W.languages[t]||W.languages.markup);return'
                                                                                                                                                                      '+n+"
                                                                                                                                                                      "},e.link=function(e,t,n){return/:/.test(e)||(e=("#/"+e).replace(/\/+/g,"/")),''+n+""},e.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

                                                                                                                                                                      "+e+"

                                                                                                                                                                      "},"function"==typeof $docsify.markdown?(z.setOptions({renderer:e}),z=$docsify.markdown.call(this,z)):z.setOptions(O({renderer:e},$docsify.markdown));var t=z;z=function(e){return s(t(e))},window.Docsify.utils.marked=function(e){var t=z(e);return H=[],t}}function $(e,t){var n=document.querySelector("nav")||document.createElement("nav"),r=document.body,i=document.head;if($docsify.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=f($docsify.repo)+($docsify.coverpage?y():"")+m(),r.insertBefore(n,r.children[0]),$docsify.themeColor&&(i.innerHTML+=w($docsify.themeColor),L()),$docsify.name){var o=document.querySelector(".sidebar");o.innerHTML='

                                                                                                                                                                      '+$docsify.name+"

                                                                                                                                                                      "+o.innerHTML}p("button.sidebar-toggle"),$docsify.coverpage?!a()&&window.addEventListener("scroll",g):r.classList.add("sticky")}function _(e){if(D("article",e?z(e):"not found"),$docsify.loadSidebar||E(),e&&"undefined"!=typeof Vue){R.vm&&R.vm.$destroy();var t=[].slice.call(document.body.querySelectorAll("article>script")).filter(function(e){return!/template/.test(e.type)})[0],n=t?t.innerText.trim():null;t&&t.remove(),R.vm=n?new Function("return "+n)():new Vue({el:"main"}),R.vm&&R.vm.$nextTick(function(e){return l()})}$docsify.auto2top&&setTimeout(function(){return d($docsify.auto2top)},0)}function C(e){R.navbar&&R.navbar===e||(R.navbar=e,e&&D("nav",z(e)),u("nav"))}function E(e){var n;e?(n=z(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=v(t(H,$docsify.maxLevel),"
                                                                                                                                                                        "),D(".sidebar-nav",n);var r=u(".sidebar-nav",!0);r&&A(r),H=[],l()}function A(e){$docsify.subMaxLevel&&(e.parentNode.innerHTML+=v(t(H,$docsify.subMaxLevel),"
                                                                                                                                                                          "))}function T(e){if(T.dom=T.dom||document.querySelector("section.cover"),!e)return void T.dom.classList.remove("show");if(T.dom.classList.add("show"),T.rendered)return g();var t=H.slice(),n=z(e),r=n.trim().match('

                                                                                                                                                                          ([^<]*?)

                                                                                                                                                                          $');if(H=t.slice(),r){var i=document.querySelector("section.cover");"color"===r[2]?i.style.background=r[1]+(r[3]||""):(i.classList.add("has-mask"),i.style.backgroundImage="url("+r[1]+")"),n=n.replace(r[0],"")}D(".cover-main",n),T.rendered=!0,g()}function q(e){var t,n=e.loaded,r=e.total,i=e.step;if(!R.loading){var a=document.createElement("div");a.classList.add("progress"),document.body.appendChild(a),R.loading=a}i?(t=parseInt(R.loading.style.width,10)+i,t=t>80?80:t):t=Math.floor(n/r*100),R.loading.style.opacity=1,R.loading.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(q.cacheTimeout),q.cacheTimeout=setTimeout(function(e){R.loading.style.opacity=0,R.loading.style.width="0%"},200))}var j=null,M=null;o.clear=function(){o.occurrences={}};var N=Object.prototype.hasOwnProperty,O=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function o(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:

                                                                                                                                                                          "+a(e.message+"",!0)+"
                                                                                                                                                                          ";throw e}}var p={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]+/};p.bullet=/(?:[*+-]|\d+\.)/,p.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,p.item=s(p.item,"gm")(/bull/g,p.bullet)(),p.list=s(p.list)(/bull/g,p.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+p.def.source+")")(),p.blockquote=s(p.blockquote)("def",p.def)(),p._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",p.html=s(p.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,p._tag)(),p.paragraph=s(p.paragraph)("hr",p.hr)("heading",p.heading)("lheading",p.lheading)("blockquote",p.blockquote)("tag","<"+p._tag)("def",p.def)(),p.normal=c({},p),p.gfm=c({},p.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),p.gfm.paragraph=s(p.paragraph)("(?!","(?!"+p.gfm.fences.source.replace("\\1","\\2")+"|"+p.list.source.replace("\\1","\\3")+"|")(),p.tables=c({},p.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=p,t.lex=function(e,n){var r=new t(n);return r.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,a,o,s,l,c,u,d,g=this,e=e.replace(/^ +$/gm,"");e;)if((a=g.rules.newline.exec(e))&&(e=e.substring(a[0].length),a[0].length>1&&g.tokens.push({type:"space"})),a=g.rules.code.exec(e))e=e.substring(a[0].length),a=a[0].replace(/^ {4}/gm,""),g.tokens.push({type:"code",text:g.options.pedantic?a:a.replace(/\n+$/,"")});else if(a=g.rules.fences.exec(e))e=e.substring(a[0].length),g.tokens.push({type:"code",lang:a[2],text:a[3]||""});else if(a=g.rules.heading.exec(e))e=e.substring(a[0].length),g.tokens.push({type:"heading",depth:a[1].length,text:a[2]});else if(t&&(a=g.rules.nptable.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),g.token(a,t,!0),g.tokens.push({type:"blockquote_end"});else if(a=g.rules.list.exec(e)){for(e=e.substring(a[0].length),o=a[2],g.tokens.push({type:"list_start",ordered:o.length>1}),a=a[0].match(g.rules.item),r=!1,d=a.length,u=0;u1&&s.length>1||(e=a.slice(u+1).join("\n")+e,u=d-1)),i=r||/\n\n(?!\s*$)/.test(l),u!==d-1&&(r="\n"===l.charAt(l.length-1),i||(i=r)),g.tokens.push({type:i?"loose_item_start":"list_item_start"}),g.token(l,!1,n),g.tokens.push({type:"list_item_end"});g.tokens.push({type:"list_end"})}else if(a=g.rules.html.exec(e))e=e.substring(a[0].length),g.tokens.push({type:g.options.sanitize?"paragraph":"html",pre:!g.options.sanitizer&&("pre"===a[1]||"script"===a[1]||"style"===a[1]),text:a[0]});else if(!n&&t&&(a=g.rules.def.exec(e)))e=e.substring(a[0].length),g.tokens.links[a[1].toLowerCase()]={href:a[2],title:a[3]};else if(t&&(a=g.rules.table.exec(e))){for(e=e.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[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*/,d.link=s(d.link)("inside",d._inside)("href",d._href)(),d.reflink=s(d.reflink)("inside",d._inside)(),d.normal=c({},d),d.pedantic=c({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=c({},d.normal,{escape:s(d.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:s(d.text)("]|","~]|")("|","|https?://|")()}),d.breaks=c({},d.gfm,{br:s(d.br)("{2,}","*")(),text:s(d.gfm.text)("{2,}","*")()}),n.rules=d,n.output=function(e,t,r){var i=new n(t,r);return i.output(e)},n.prototype.output=function(e){for(var t,n,r,i,o=this,s="";e;)if(i=o.rules.escape.exec(e))e=e.substring(i[0].length),s+=i[1];else if(i=o.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=":"===i[1].charAt(6)?o.mangle(i[1].substring(7)):o.mangle(i[1]),r=o.mangle("mailto:")+n):(n=a(i[1]),r=n),s+=o.renderer.link(r,null,n);else if(o.inLink||!(i=o.rules.url.exec(e))){if(i=o.rules.tag.exec(e))!o.inLink&&/^/i.test(i[0])&&(o.inLink=!1),e=e.substring(i[0].length),s+=o.options.sanitize?o.options.sanitizer?o.options.sanitizer(i[0]):a(i[0]):i[0];else if(i=o.rules.link.exec(e))e=e.substring(i[0].length),o.inLink=!0,s+=o.outputLink(i,{href:i[2],title:i[3]}),o.inLink=!1;else if((i=o.rules.reflink.exec(e))||(i=o.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),t=o.links[t.toLowerCase()],!t||!t.href){s+=i[0].charAt(0),e=i[0].substring(1)+e;continue}o.inLink=!0,s+=o.outputLink(i,t),o.inLink=!1}else if(i=o.rules.strong.exec(e))e=e.substring(i[0].length),s+=o.renderer.strong(o.output(i[2]||i[1]));else if(i=o.rules.em.exec(e))e=e.substring(i[0].length),s+=o.renderer.em(o.output(i[2]||i[1]));else if(i=o.rules.code.exec(e))e=e.substring(i[0].length),s+=o.renderer.codespan(a(i[2],!0));else if(i=o.rules.br.exec(e))e=e.substring(i[0].length),s+=o.renderer.br();else if(i=o.rules.del.exec(e))e=e.substring(i[0].length),s+=o.renderer.del(o.output(i[1]));else if(i=o.rules.text.exec(e))e=e.substring(i[0].length),s+=o.renderer.text(a(o.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=a(i[1]),r=n,s+=o.renderer.link(r,null,n);return s},n.prototype.outputLink=function(e,t){var n=a(t.href),r=t.title?a(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,a(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:a(e,!0))+"\n
                                                                                                                                                                          \n":"
                                                                                                                                                                          "+(n?e:a(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",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+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(o(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){var r=new i(t,n);return r.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,a,o="",s="";for(r="",t=0;te.length)break e;if(!(v instanceof i)){u.lastIndex=0;var k=u.exec(v),w=1;if(!k&&g&&y!=a.length-1){if(u.lastIndex=b,k=u.exec(e),!k)break;for(var x=k.index+(d?k[1].length:0),L=k.index+k[0].length,S=y,$=b,_=a.length;S<_&&$=$&&(++y,b=$);if(a[y]instanceof i||a[S-1].greedy)continue;w=S-y,v=e.slice(b,$),k.index-=b}if(k){d&&(h=k[1].length);var x=k.index+h,k=k[0].slice(h),L=x+k.length,C=v.slice(0,x),E=v.slice(L),A=[y,w];C&&A.push(C);var T=new i(s,p?r.tokenize(k,p):k,f,k,g);A.push(T),E&&A.push(E),Array.prototype.splice.apply(a,A)}}}}}return a},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,a=0;i=n[a++];)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 a={type:e.type,content:i.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==a.type&&(a.attributes.spellcheck="true"),e.alias){var o="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(a.classes,o)}r.hooks.run("wrap",a);var s=Object.keys(a.attributes).map(function(e){return e+'="'+(a.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+(s?" "+s:"")+">"+a.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),i=n.language,a=n.code,o=n.immediateClose;t.postMessage(r.highlight(a,r.languages[i],i)),o&&t.close()},!1),t.Prism):t.Prism;var a=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return a&&(r.filename=a.src,document.addEventListener&&!a.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),"undefined"!=typeof I&&(I.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"),a=t,o=/\blang(?:uage)?-(?!\*)(\w+)\b/i;a&&!o.test(a.className);)a=a.parentNode;if(a&&(r=(t.className.match(o)||[,""])[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))}()}),z=F,H=[],R={},D=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,o.clear(),e},B=O({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,loadSidebar:null,loadNavbar:null,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",themeColor:"",nameLink:window.location.pathname,ga:""},window.$docsify),G=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(G){for(var Z in B){var U=G.getAttribute("data-"+n(Z));B[Z]=r(U)?B[Z]:U||!0}B.loadSidebar===!0&&(B.loadSidebar="_sidebar.md"),B.loadNavbar===!0&&(B.loadNavbar="_navbar.md"),B.coverpage===!0&&(B.coverpage="_coverpage.md"),B.repo===!0&&(B.repo=""),B.name===!0&&(B.name="")}window.$docsify=B,window.Docsify={installed:!0,utils:O({},P)},S();var V=null,Y=null,J=function(t){var n=B.basePath+i();if(V===n)return t();var r=V=n;/\//.test(r)?r&&!/\/$/.test(r)&&(r=r.match(/(\S*\/)[^\/]+$/)[1]):r="";var a;a=n?/\/$/.test(n)?n+"README.md":n+".md":B.homepage||"README.md",B.coverpage&&a===B.homepage&&e(B.coverpage).then(T),Y&&Y.abort&&Y.abort(),Y=e(a,"GET",q),Y.then(function(n){if(_(n),B.coverpage&&a!==B.homepage&&T(),B.loadSidebar){var i=function(e){E(e),t()};e(r+B.loadSidebar).then(i,function(t){return e(B.loadSidebar).then(i)})}else t()},function(e){return _(null)}),B.loadNavbar&&e(r+B.loadNavbar).then(C,function(t){return e(B.loadNavbar).then(C)})},X=function(){var e=document.querySelector(B.el)||document.body,t=e!==document.body,n=function(){J(function(e){c(),u("nav"),[].concat(window.$docsify.plugins).forEach(function(e){return e&&e()})})};$(e,t),n(),/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",n)},K=X();return K}(); diff --git a/lib/plugins/search.js b/lib/plugins/search.js index aa6823f..4beb670 100644 --- a/lib/plugins/search.js +++ b/lib/plugins/search.js @@ -80,6 +80,7 @@ var genIndex = function (path, content) { slug = ("#/" + path + "#" + id).replace(/\/+/, '/'); INDEXS[slug] = { slug: slug, title: text, body: '' }; } else { + if (!slug) { return } // other html tag if (!INDEXS[slug]) { INDEXS[slug] = {}; @@ -127,9 +128,11 @@ SearchComponent.prototype.render = function render (dom) { SearchComponent.prototype.bindEvent = function bindEvent () { var this$1 = this; - var input = document.querySelector('.search input'); - var panel = document.querySelector('.results-panel'); + var search = document.querySelector('.search'); + var input = search.querySelector('.search input'); + var panel = search.querySelector('.results-panel'); + search.addEventListener('click', function (e) { return e.target.tagName !== 'A' && e.stopPropagation(); }); input.addEventListener('input', function (e) { var target = e.target; diff --git a/lib/plugins/search.min.js b/lib/plugins/search.min.js index 32f47cf..ce4ad75 100644 --- a/lib/plugins/search.min.js +++ b/lib/plugins/search.min.js @@ -1 +1 @@ -this.D=this.D||{},this.D.Search=function(){"use strict";var e={},n={placeholder:"Type to search",paths:"auto",maxAge:864e5},t=function(e){return"[object Object]"===Object.prototype.toString.call(e)},r=function(e){var n={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(e).replace(/[&<>"'\/]/g,function(e){return n[e]})},i=function(){var e=[];return[].slice.call(document.querySelectorAll("a")).map(function(n){var t=n.href;if(/#\/[^#]*?$/.test(t)){var r=t.replace(/^[^#]+#/,"");e.indexOf(r)<=0&&e.push(r)}}),e},a=function(e){var n=window.$docsify.basePath,t=/\/$/.test(e)?e+"README.md":e+".md";return t=n+t,t.replace(/\/+/g,"/")},o=function(n,t){void 0===t&&(t=""),e[n]={slug:"",title:"",body:""};var r;t.replace(/]*?>[\s\S]+?<\/template>/g,"").replace(/<(\w+)([^>]*?)>([\s\S]+?)<\//g,function(t,i,a,o){var s=o.replace(/<[^>]+>/g,"");if(/^h\d$/.test(i)){var c=a.match(/id="(\S+)"/)[1];r=("#/"+n+"#"+c).replace(/\/+/,"/"),e[r]={slug:r,title:s,body:""}}else e[r]?e[r].body&&e[r].body.length?e[r].body+="\n"+s:e[r].body=s:e[r]={}})},s=function(){if(!this.rendered){this.style();var e=document.createElement("div"),n=document.querySelector("aside");e.classList.add("search"),n.insertBefore(e,n.children[0]),this.render(e),this.rendered=!0,this.bindEvent()}};s.prototype.style=function e(){var n="\n .sidebar {\n padding-top: 0;\n }\n\n .search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n }\n\n .search .results-panel {\n display: none;\n }\n\n .search .results-panel.show {\n display: block;\n }\n\n .search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 7px;\n line-height: 22px;\n font-size: 14px;\n }\n\n .search h2 {\n font-size: 17px;\n margin: 10px 0;\n }\n\n .search a {\n text-decoration: none;\n color: inherit;\n }\n\n .search .matching-post {\n border-bottom: 1px solid #eee;\n }\n\n .search .matching-post:last-child {\n border-bottom: 0;\n }\n\n .search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .search p.empty {\n text-align: center;\n }\n ",e=document.createElement("style");e.innerHTML=n,document.head.appendChild(e)},s.prototype.render=function(e){e.innerHTML='
                                                                                                                                                                          '},s.prototype.bindEvent=function(){var e=this,n=document.querySelector(".search input"),t=document.querySelector(".results-panel");n.addEventListener("input",function(n){var r=n.target;if(""!==r.value.trim()){var i=e.search(r.value),a="";i.forEach(function(e,n){a+='\n
                                                                                                                                                                          \n

                                                                                                                                                                          '+e.title+"

                                                                                                                                                                          \n

                                                                                                                                                                          "+e.content+"

                                                                                                                                                                          \n
                                                                                                                                                                          \n "}),t.classList.contains("results-panel")&&(t.classList.add("show"),t.innerHTML=a||'

                                                                                                                                                                          No Results!

                                                                                                                                                                          ')}else t.classList.contains("results-panel")&&(t.classList.remove("show"),t.innerHTML="")})},s.prototype.search=function(n){var t=[],i=Object.keys(e).map(function(n){return e[n]});n=n.trim().split(/[\s\-\,\\\/]+/);for(var a=function(e){var a=i[e],o=!1,s="",c=a.title&&a.title.trim(),l=a.body&&a.body.trim(),d=a.slug||"";if(""!==c&&""!==l&&(n.forEach(function(e,n){var t=new RegExp(e,"gi"),r=-1,i=-1;if(r=c.search(t),i=l.search(t),r<0&&i<0)o=!1;else{o=!0,i<0&&(i=0);var a=0,d=0;a=i<11?0:i-10,d=0===a?70:i+e.length+60,d>l.length&&(d=l.length);var p="..."+l.substring(a,d).replace(t,''+e+"")+"...";s+=p}}),o)){var p={title:r(c),content:s,url:d};t.push(p)}},o=0;o":">",'"':""","'":"'","/":"/"};return String(e).replace(/[&<>"'\/]/g,function(e){return n[e]})},a=function(){var e=[];return[].slice.call(document.querySelectorAll("a")).map(function(n){var t=n.href;if(/#\/[^#]*?$/.test(t)){var r=t.replace(/^[^#]+#/,"");e.indexOf(r)<=0&&e.push(r)}}),e},i=function(e){var n=window.$docsify.basePath,t=/\/$/.test(e)?e+"README.md":e+".md";return t=n+t,t.replace(/\/+/g,"/")},o=function(n,t){void 0===t&&(t=""),e[n]={slug:"",title:"",body:""};var r;t.replace(/]*?>[\s\S]+?<\/template>/g,"").replace(/<(\w+)([^>]*?)>([\s\S]+?)<\//g,function(t,a,i,o){var s=o.replace(/<[^>]+>/g,"");if(/^h\d$/.test(a)){var c=i.match(/id="(\S+)"/)[1];r=("#/"+n+"#"+c).replace(/\/+/,"/"),e[r]={slug:r,title:s,body:""}}else{if(!r)return;e[r]?e[r].body&&e[r].body.length?e[r].body+="\n"+s:e[r].body=s:e[r]={}}})},s=function(){if(!this.rendered){this.style();var e=document.createElement("div"),n=document.querySelector("aside");e.classList.add("search"),n.insertBefore(e,n.children[0]),this.render(e),this.rendered=!0,this.bindEvent()}};s.prototype.style=function e(){var n="\n .sidebar {\n padding-top: 0;\n }\n\n .search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n }\n\n .search .results-panel {\n display: none;\n }\n\n .search .results-panel.show {\n display: block;\n }\n\n .search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 7px;\n line-height: 22px;\n font-size: 14px;\n }\n\n .search h2 {\n font-size: 17px;\n margin: 10px 0;\n }\n\n .search a {\n text-decoration: none;\n color: inherit;\n }\n\n .search .matching-post {\n border-bottom: 1px solid #eee;\n }\n\n .search .matching-post:last-child {\n border-bottom: 0;\n }\n\n .search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .search p.empty {\n text-align: center;\n }\n ",e=document.createElement("style");e.innerHTML=n,document.head.appendChild(e)},s.prototype.render=function(e){e.innerHTML='
                                                                                                                                                                          '},s.prototype.bindEvent=function(){var e=this,n=document.querySelector(".search"),t=n.querySelector(".search input"),r=n.querySelector(".results-panel");n.addEventListener("click",function(e){return"A"!==e.target.tagName&&e.stopPropagation()}),t.addEventListener("input",function(n){var t=n.target;if(""!==t.value.trim()){var a=e.search(t.value),i="";a.forEach(function(e,n){i+='\n
                                                                                                                                                                          \n

                                                                                                                                                                          '+e.title+"

                                                                                                                                                                          \n

                                                                                                                                                                          "+e.content+"

                                                                                                                                                                          \n
                                                                                                                                                                          \n "}),r.classList.contains("results-panel")&&(r.classList.add("show"),r.innerHTML=i||'

                                                                                                                                                                          No Results!

                                                                                                                                                                          ')}else r.classList.contains("results-panel")&&(r.classList.remove("show"),r.innerHTML="")})},s.prototype.search=function(n){var t=[],a=Object.keys(e).map(function(n){return e[n]});n=n.trim().split(/[\s\-\,\\\/]+/);for(var i=function(e){var i=a[e],o=!1,s="",c=i.title&&i.title.trim(),l=i.body&&i.body.trim(),d=i.slug||"";if(""!==c&&""!==l&&(n.forEach(function(e,n){var t=new RegExp(e,"gi"),r=-1,a=-1;if(r=c.search(t),a=l.search(t),r<0&&a<0)o=!1;else{o=!0,a<0&&(a=0);var i=0,d=0;i=a<11?0:a-10,d=0===i?70:a+e.length+60,d>l.length&&(d=l.length);var p="..."+l.substring(i,d).replace(t,''+e+"")+"...";s+=p}}),o)){var p={title:r(c),content:s,url:d};t.push(p)}},o=0;o Date: Sat, 11 Feb 2017 09:39:44 +0800 Subject: [PATCH 057/826] -> v2.2.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 54e397d..6df0ac6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docsify", - "version": "2.2.0", + "version": "2.2.1", "description": "A magical documentation generator.", "main": "lib/docsify.js", "files": [ From 24412cdaf0dbe241aeab0bb97d0847b8245a5aca Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 11 Feb 2017 10:17:05 +0800 Subject: [PATCH 058/826] feat(src): add alias feature --- CHANGELOG.md | 1 + dev.html | 6 +++++- docs/index.html | 8 ++++++++ src/index.js | 12 +++++++++--- src/plugins/search.js | 14 +++++++++++--- 5 files changed, 34 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac7f16a..8a3ac6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ ``` + ## 2.1.0 ### Features - Add search plugin diff --git a/dev.html b/dev.html index 11faff7..f1c9abb 100644 --- a/dev.html +++ b/dev.html @@ -7,13 +7,17 @@
                                                                                                                                                                          ``` -## 2.1.0 -### Features +### 2.1.0 +#### Features - Add search plugin ```html ``` -### Bug fixes +#### Bug fixes - fix sidebar style -## 2.0.3 -### Bug fixes +### 2.0.3 +#### Bug fixes - fix: rendering emojis - fix: css var polyfill -## 2.0.2 +### 2.0.2 -### Bug fixes +#### Bug fixes - fix button style in cover page. -## 2.0.1 -### Bug fixes +### 2.0.1 +#### Bug fixes - border style. -## 2.0.0 -### Features +### 2.0.0 +#### Features - Customize the theme color -### Break change +#### Break change - Remove `data-router`, `data-sidebar`, `data-sidebar-toggle` APIs - -## 1.10.5 -### Bug fixes -- fix initialize the Vue instance - -## 1.10.4 -### Bug fixes -- fix execute script - -## 1.10.3 -### Bug fixes -- compatible vuep QingWei-Li/vuep/issues/2 -- fix sidebar scroll, fixed #63 - -## 1.10.2 -### Bug fixes -- Fix render emojis again - -## 1.10.1 -### Bug fixes -- Fix render emojis - -## 1.10.0 -### Features -- Support emoji :laughing: - -## 1.9.0 - -### Bug fixes -- Destroys the vue instance when the route is changed - -### Features -- Add `!>` and `?>` doc helper. - -### Break change -- Remove `!` doc helper. - -## 1.8.0 -### Bug fixes -- Using `v-pre` skip compilation. - -### Features -- Execute script when vue exists. - -## 1.7.4 -### Bug fixes -- Fix bugs caused by the previous version - -## 1.7.3 -### Bug fixes -- Add `hr` style -- Fixed option is an empty string - -## 1.7.2 -### Bug fixes -- Fix sidebar click event in mobile browser. - -## 1.7.1 -### Bug fixes -- Fix sidebar style in mobile browser. - -## 1.7.0 - -### Bug fixes -- Fixed custom cover background, fixed #52 -- Fixed sticky sidebar - -## Features -- Add `name` and `nameLink` - -## 1.6.1 -### Bug fixes -- Fixed sidebar bug when the coverpage exist - -## 1.6.0 -### Features -- Improve sidebar performance. The active item is automatically scrolled in the visible view. -- New doc helper: `! `. e.g. `! content` will be rendered as `

                                                                                                                                                                          content

                                                                                                                                                                          ` - -## 1.5.2 -### Bug fixes -- Fixed number at the beginning of the slug - -## 1.5.1 -### Bug fixes -- Remove HTML tag when handling slug - -## 1.5.0 - -### Bug fixes -- Fix slugify. -- Fix nav highlight. - -### Features -- Initialize the configuration by `window.$docsify`. -- Markdown parser is configurable. - -## 1.4.3 -### Bug fixes -- Tweak style. - -## 1.4.2 - -### Bug fixes -- Fix toggle button style. -- Support `mailto`, `tel`, etc. href type -- Fix scroll to top. - - -## 1.4.1 -### Bug fixes -- Fix generate slug. - -## 1.4.0 Happly new year 🎉 -### Features -- Display TOC in the custom sidebar, `data-sub-max-level`. -- Custom background in coverpage. - -### Bug fixes -- Fix scroll highlight when Vue exist. - -## 1.3.5 -### Bug fixes -- Fix vue - -## 1.3.4 -### Bug fixes - -- Supports [vuep](https://github.com/QingWei-Li/vuep) - -## 1.3.3 -### Bug fixes -- Fixed cover rendering timing - -## 1.3.2 - -### Bug fixes -- Fixed render link - -## 1.3.1 - -### Bug fixes -- Fixed cover page style -- Generate the correct link when rendering the article - -## 1.3.0 -### Features -- Add cover page -- add `` style -- headling can be cliked - -### Bug fixes -- sidebar highlight - - -### break change -- Navbar no longer fixed at the top - -## 1.2.0 -### Features -- custom basePath -- custom homepage - -## 1.1.7 -### Bug fixes -- Optimize progress bar - -## 1.1.6 -### Features -- Add logo 😂 - -### Bug fixes -- Remove table background color -- Fixed highlight sidebar using chinese ids - -## 1.1.5 -### Features -- Add table style - -### Bug fixes -- Not fixed position of hte navbar in the mobile browser -- Correct calculation of whether the mobile browser - -## 1.1.4 -### Bug fixes -- Fixed chinese auchor link - -## 1.1.3 -### Bug fixes -- Optimize progress bar again - -## 1.1.2 -### Bug fixes -- fix failed `auto2top` in mobile - - -## 1.1.1 -### Bug fixes -- Optimize progress bar - -## 1.1.0 -## Features -- Add progress bar -- Add `auto2top` option for hash router - -## 1.0.3 -### Bug fixes -- Fix cache - -## 1.0.2 -### Bug fixes -- Fix binding events bug, fixed #24 -- Fix regular expression, fixed #23 - -## 1.0.1 -### Bug fixes -- `img` style - -## 1.0.0 -## Features -- Support hash router - -### Bug fixes -- Improved scrolling on mobile - -## 0.7.0 -### Breaking change -- `themes/` was removed, only exists in the npm package. - -### Bug fixes -- Fix style. -- Fix sidebar animation again. - -## 0.6.1 -### Bug fixes -- In the mobile, it should collapse the sidebar when toggle is clicked. -- Fix the dropdown list style. -- Fix sidebar animation. - -## 0.6.0 -### Features -- Navbar support dropdown list, #6 -- Sidebar with toggle - -### Bug fixes -- Fix ineffective option, fixed #10 - -## 0.5.0 -### Features -- Custom sidebars and navbars by markdown file - -## 0.4.2 -### Bug fixes -- Correct catch ajax error - -## 0.4.1 -### Bug fixes -- catch ajax error - -## 0.4.0 -### Features -- Custom sidebar - -### Bug fixes -- Fix undefined language - -## 0.3.1 -### Bug fixes -- Strip HTML tag when rendering the headings - -## 0.3.0 -### Features -- Add minified css files -- Add max level option -- Add pure.css - -## 0.2.1 -### Bug fixes -- Fix vue.css - -## 0.2.0 -### Bug fixes -- Fix route -- Remove dynamic title - -## 0.1.0 -### Features -- Add buble.css \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md new file mode 100644 index 0000000..d3cc3e3 --- /dev/null +++ b/HISTORY.md @@ -0,0 +1,287 @@ +### 1.10.5 +#### Bug fixes +- fix initialize the Vue instance + +### 1.10.4 +#### Bug fixes +- fix execute script + +### 1.10.3 +#### Bug fixes +- compatible vuep QingWei-Li/vuep/issues/2 +- fix sidebar scroll, fixed #63 + +### 1.10.2 +#### Bug fixes +- Fix render emojis again + +### 1.10.1 +#### Bug fixes +- Fix render emojis + +### 1.10.0 +#### Features +- Support emoji :laughing: + +### 1.9.0 + +#### Bug fixes +- Destroys the vue instance when the route is changed + +#### Features +- Add `!>` and `?>` doc helper. + +#### Break change +- Remove `!` doc helper. + +### 1.8.0 +#### Bug fixes +- Using `v-pre` skip compilation. + +### Features +- Execute script when vue exists. + +### 1.7.4 +#### Bug fixes +- Fix bugs caused by the previous version + +### 1.7.3 +#### Bug fixes +- Add `hr` style +- Fixed option is an empty string + +### 1.7.2 +#### Bug fixes +- Fix sidebar click event in mobile browser. + +### 1.7.1 +#### Bug fixes +- Fix sidebar style in mobile browser. + +### 1.7.0 + +#### Bug fixes +- Fixed custom cover background, fixed #52 +- Fixed sticky sidebar + +### Features +- Add `name` and `nameLink` + +### 1.6.1 +#### Bug fixes +- Fixed sidebar bug when the coverpage exist + +### 1.6.0 +#### Features +- Improve sidebar performance. The active item is automatically scrolled in the visible view. +- New doc helper: `! `. e.g. `! content` will be rendered as `

                                                                                                                                                                          content

                                                                                                                                                                          ` + +### 1.5.2 +#### Bug fixes +- Fixed number at the beginning of the slug + +### 1.5.1 +#### Bug fixes +- Remove HTML tag when handling slug + +### 1.5.0 + +#### Bug fixes +- Fix slugify. +- Fix nav highlight. + +#### Features +- Initialize the configuration by `window.$docsify`. +- Markdown parser is configurable. + +### 1.4.3 +#### Bug fixes +- Tweak style. + +### 1.4.2 + +#### Bug fixes +- Fix toggle button style. +- Support `mailto`, `tel`, etc. href type +- Fix scroll to top. + + +### 1.4.1 +#### Bug fixes +- Fix generate slug. + +### 1.4.0 Happly new year 🎉 +#### Features +- Display TOC in the custom sidebar, `data-sub-max-level`. +- Custom background in coverpage. + +#### Bug fixes +- Fix scroll highlight when Vue exist. + +### 1.3.5 +#### Bug fixes +- Fix vue + +### 1.3.4 +#### Bug fixes + +- Supports [vuep](https://github.com/QingWei-Li/vuep) + +### 1.3.3 +#### Bug fixes +- Fixed cover rendering timing + +### 1.3.2 + +#### Bug fixes +- Fixed render link + +### 1.3.1 + +#### Bug fixes +- Fixed cover page style +- Generate the correct link when rendering the article + +### 1.3.0 +#### Features +- Add cover page +- add `` style +- headling can be cliked + +#### Bug fixes +- sidebar highlight + + +#### break change +- Navbar no longer fixed at the top + +### 1.2.0 +#### Features +- custom basePath +- custom homepage + +### 1.1.7 +#### Bug fixes +- Optimize progress bar + +### 1.1.6 +#### Features +- Add logo 😂 + +#### Bug fixes +- Remove table background color +- Fixed highlight sidebar using chinese ids + +### 1.1.5 +#### Features +- Add table style + +#### Bug fixes +- Not fixed position of hte navbar in the mobile browser +- Correct calculation of whether the mobile browser + +### 1.1.4 +#### Bug fixes +- Fixed chinese auchor link + +### 1.1.3 +#### Bug fixes +- Optimize progress bar again + +### 1.1.2 +#### Bug fixes +- fix failed `auto2top` in mobile + + +### 1.1.1 +#### Bug fixes +- Optimize progress bar + +### 1.1.0 +#### Features +- Add progress bar +- Add `auto2top` option for hash router + +### 1.0.3 +#### Bug fixes +- Fix cache + +### 1.0.2 +#### Bug fixes +- Fix binding events bug, fixed #24 +- Fix regular expression, fixed #23 + +### 1.0.1 +#### Bug fixes +- `img` style + +### 1.0.0 +#### Features +- Support hash router + +#### Bug fixes +- Improved scrolling on mobile + +### 0.7.0 +#### Breaking change +- `themes/` was removed, only exists in the npm package. + +#### Bug fixes +- Fix style. +- Fix sidebar animation again. + +### 0.6.1 +#### Bug fixes +- In the mobile, it should collapse the sidebar when toggle is clicked. +- Fix the dropdown list style. +- Fix sidebar animation. + +### 0.6.0 +#### Features +- Navbar support dropdown list, #6 +- Sidebar with toggle + +#### Bug fixes +- Fix ineffective option, fixed #10 + +### 0.5.0 +#### Features +- Custom sidebars and navbars by markdown file + +### 0.4.2 +#### Bug fixes +- Correct catch ajax error + +### 0.4.1 +#### Bug fixes +- catch ajax error + +### 0.4.0 +#### Features +- Custom sidebar + +#### Bug fixes +- Fix undefined language + +### 0.3.1 +#### Bug fixes +- Strip HTML tag when rendering the headings + +### 0.3.0 +#### Features +- Add minified css files +- Add max level option +- Add pure.css + +### 0.2.1 +#### Bug fixes +- Fix vue.css + +### 0.2.0 +#### Bug fixes +- Fix route +- Remove dynamic title + +### 0.1.0 +#### Features +- Add buble.css \ No newline at end of file diff --git a/README.md b/README.md index 66cf9cd..e813c9f 100644 --- a/README.md +++ b/README.md @@ -82,14 +82,5 @@ npm i && npm run dev open http://localhost:3000 ``` -## More Language Highlight - -```html - - - -``` - ## License MIT - diff --git a/dev.html b/dev.html index f1c9abb..5fb55eb 100644 --- a/dev.html +++ b/dev.html @@ -2,21 +2,22 @@ + docsify
                                                                                                                                                                          - diff --git a/docs/_images/deploy-github-pages.png b/docs/_images/deploy-github-pages.png new file mode 100644 index 0000000000000000000000000000000000000000..278e40b336193a72179f953df3c6508c6fdf08d9 GIT binary patch literal 84069 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 YE@{#P%=FZ>Zva1!RkW1L6fFb)2fhv#m;e9( literal 0 HcmV?d00001 diff --git a/docs/_images/zh-cn/nested-navbar.png b/docs/_images/zh-cn/nested-navbar.png new file mode 100644 index 0000000000000000000000000000000000000000..3f4aa27f1f25ed8d0f95abe2d89c4c08c5f0dceb GIT binary patch literal 38681 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 - docsify - A magical documentation site generator. - + docsify + + @@ -11,24 +12,27 @@
                                                                                                                                                                          - + + diff --git a/docs/zh-cn/README.md b/docs/zh-cn/README.md new file mode 100644 index 0000000..0d93c1b --- /dev/null +++ b/docs/zh-cn/README.md @@ -0,0 +1,26 @@ +## docsify + +> 一个神奇的文档网站生成工具 + +## 是什么 + +docsify 是一个动态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 `.md` 转成 `.html` 文件,所有转换工作都是在运行时进行。 + +这将非常实用,如果你只是需要快速的写一个小型的文档,或者不想因为生成的一堆 `.html` 文件“污染” commit 记录,只需要创建一个 `index.html` 就可以开始写文档而且直接部署。 + +可以查看[快速开始](zh-cn/quickstart)一章了解详情。 + +## 特性 +- 无需构建,写完 markdown 直接发布 +- 容易使用并且轻量 (~13Kb gzipped) +- 智能的全文检索 +- 提供多套主题 +- 丰富的 API + +## 例子 + +可以查看 [Showcase](https://github.com/QingWei-Li/docsify/#showcase) 来了解使用 docsify 的文档项目。 + +## 支持 + +有任何使用上的问题或者 Bug 欢迎提 [Issues](https://github.com/QingWei-Li/docsify/issues/),祝你使用愉快! diff --git a/docs/zh-cn/_sidebar.md b/docs/zh-cn/_sidebar.md new file mode 100644 index 0000000..d2aa0bf --- /dev/null +++ b/docs/zh-cn/_sidebar.md @@ -0,0 +1,20 @@ +- 基础 + - [快速开始](zh-cn/quickstart) + - [多页文档](zh-cn/more-pages) + - [嵌套导航栏](zh-cn/custom-navbar) + - [封面](zh-cn/cover) + +- 配置 + - [配置项](zh-cn/configuration) + - [主题](zh-cn/themes) + - [使用插件](zh-cn/plugins) + - [Markdown 配置](zh-cn/markdown) + - [代码高亮](zh-cn/language-highlight) + +- 指南 + - [部署](zh-cn/deploy) + - [文档助手](zh-cn/helpers) + - [兼容 Vue](zh-cn/vue) + - [CDN](zh-cn/cdn) + +- [Changelog](zh-cn/changelog) \ No newline at end of file diff --git a/docs/zh-cn/cdn.md b/docs/zh-cn/cdn.md new file mode 100644 index 0000000..3e77669 --- /dev/null +++ b/docs/zh-cn/cdn.md @@ -0,0 +1,48 @@ +# CDN + +推荐使用 [UNPKG](//unpkg.com) —— 能及时获取到最新版。 + +## 获取最新版本 + +根据 UNPKG 的规则,不指定特定版本号时将引入最新版。 + +```html + + + + + +``` + +## 获取指定版本 + +如果你担心频繁地版本更新又可能引入未知 Bug,你也可以使用具体的版本。规则是 `//unpkg.com/docsify/VERSION/` + +```html + + + + + +``` + +!> 指定 *VERSION* 为 `latest` 可以强制每次都请求最新版本。 + +## 压缩版 + +CSS 的压缩文件位于 `/lib/themes/` 目录下 + +```html + +``` + +JS 的压缩文件是原有文件路径的基础上加 `.min`后缀 + +```html + +``` + +## 其他 CDN + +[jsDelivr](http://www.jsdelivr.com/projects/docsify) 也是可用的,具体用法参考其文档。 + diff --git a/docs/zh-cn/configuration.md b/docs/zh-cn/configuration.md new file mode 100644 index 0000000..930792e --- /dev/null +++ b/docs/zh-cn/configuration.md @@ -0,0 +1,36 @@ +# 配置项 + +> TODO + +## el + +## repo + +## max-level + +## load-navbar + +## load-sidebar + +## sub-max-level + + +## load-navbar + +## auto2top + + +## homepage + + +## base-path + +## coverpage + +## name + +## name-link + +## theme-color + +## alias diff --git a/docs/zh-cn/cover.md b/docs/zh-cn/cover.md new file mode 100644 index 0000000..8d8da07 --- /dev/null +++ b/docs/zh-cn/cover.md @@ -0,0 +1,3 @@ +# 封面 + +> TODO \ No newline at end of file diff --git a/docs/zh-cn/custom-navbar.md b/docs/zh-cn/custom-navbar.md new file mode 100644 index 0000000..74bc20a --- /dev/null +++ b/docs/zh-cn/custom-navbar.md @@ -0,0 +1,60 @@ +# 自定义导航栏 + +> TODO + +*index.html* + +```html + + +
                                                                                                                                                                          + +``` + + + +## 配置文件 + +*index.html* + + +```html + + +``` + +*_navbar.md* + +```markdown +- [En](/) +- [中文](/zh-cn/) +``` + +## 嵌套 + +*_navbar.md* + + +```markdown +- 基础 + - [快速开始](zh-cn/quickstart) + - [多页文档](zh-cn/more-pages) + - [嵌套导航栏](zh-cn/custom-navbar) + - [封面](zh-cn/cover) + +- 配置 + - [配置项](zh-cn/configuration) + - [主题](zh-cn/themes) + - [使用插件](zh-cn/plugins) + - [Markdown 配置](zh-cn/markdown) + - [代码高亮](zh-cn/language-highlight) +``` + +![嵌套导航栏](_images/zh-cn/nested-navbar.png "嵌套导航栏") diff --git a/docs/zh-cn/deploy.md b/docs/zh-cn/deploy.md new file mode 100644 index 0000000..3e33d5e --- /dev/null +++ b/docs/zh-cn/deploy.md @@ -0,0 +1,34 @@ +# 部署 + +和 GitBook 生成的文档一样,我们可以直接把文档网站部署到 GitHub Pages 或者 VPS 上。 + +## 部署 GitHub Pages + +GitHub Pages 支持从三个地方读取文件 +- `docs/` 目录 +- master 分支 +- gh-pages 分支 + +我们推荐直接将文档放在 `docs/` 目录下,在设置页面开启 **GitHub Pages** 功能并选择 `master branch /docs folder` 选项。 + +![github pages](_images/deploy-github-pages.png) + +!> 你可以将文档放在根目录下,然后选择 **master 分支** 作为文档目录。 + +## 部署 VPS + +和部署所有静态网站一样,将服务器的访问根目录设定为 `index.html` 文件。 + +例如 nginx 的配置 + +```nginx +server { + listen 80; + server_name your.domain.com; + + location / { + alias /path/to/dir/of/docs; + index index.html; + } +} +``` diff --git a/docs/zh-cn/helpers.md b/docs/zh-cn/helpers.md new file mode 100644 index 0000000..fca6c59 --- /dev/null +++ b/docs/zh-cn/helpers.md @@ -0,0 +1,26 @@ +# 文档助手 + +docsify 扩展了一些 Markdown 语法,可以让你的文档更易读。 + + +## 强调内容 + +适合显示重要的提示信息,语法为 `!> 内容`。 + +```markdown +!> 一段重要的内容,可以和其他 **Markdown** 语法混用。 +``` + +!> 一段重要的内容,可以和其他 **Markdown** 语法混用。 + + +## 普通提示 + +不重要的提示信息,比如写 TODO 或者参考内容等。 + +```markdown +?> *TODO* 完善示例 +``` + +?> *TODO* 完善示例 + diff --git a/docs/zh-cn/language-highlight.md b/docs/zh-cn/language-highlight.md new file mode 100644 index 0000000..bb7029c --- /dev/null +++ b/docs/zh-cn/language-highlight.md @@ -0,0 +1,11 @@ +# 代码高亮 + +内置的代码高亮工具是 [Prism](https://github.com/PrismJS/prism),默认支持 CSS、JavaScript 和 HTML。如果你需要高亮其语言——例如 PHP——你可以手动引入代码高亮插件。 + +```html + + + +``` + +其他的语言高亮插件可以查看[Prims 仓库](https://github.com/PrismJS/prism/tree/gh-pages/components)。 \ No newline at end of file diff --git a/docs/zh-cn/markdown.md b/docs/zh-cn/markdown.md new file mode 100644 index 0000000..51fe044 --- /dev/null +++ b/docs/zh-cn/markdown.md @@ -0,0 +1,26 @@ +# Markdown 配置 + +内置的 Markdown 解析插件是 [marked](https://github.com/chjj/marked),你可以修改它的配置。 + +```js +window.$docsify = { + markdown: { + smartypants: true + // ... + } +} +``` + +?> 完整配置参数参考 [marked 文档](https://github.com/chjj/marked#options-1) + +当然你也可以完全定制 markdown 解析规则。 + +```js +window.$docsify = { + markdown: function(marked) { + // ... + + return marked + } +} +``` \ No newline at end of file diff --git a/docs/zh-cn/more-pages.md b/docs/zh-cn/more-pages.md new file mode 100644 index 0000000..0fcbaa6 --- /dev/null +++ b/docs/zh-cn/more-pages.md @@ -0,0 +1,62 @@ +# 多页文档 + +如果你的文档需要创建多个页面,或者需要提供多语言的文档。在 docsify 里也能很容易的实现。例如创建一个 `guide.md` 文件,那么对应的路由就是 `/#/guide`。 + +一个简单的例子: + +```text +-| docs/ + -| README.md + -| guide.md + -| zh-cn/ + -| README.md + -| guide.md +``` + +那么对应的访问页面将是 + +```text +docs/README.md => http://domain.com +docs/guide.md => http://domain.com/guide +docs/zh-cn/README.md => http://domain.com/zh-cn/ +docs/zh-cn/guide.md => http://domain.com/zh-cn/guide +``` + +## 定制侧边栏 + +默认情况下,侧边栏会根据当前文档的目录生成。你可以定制成文档链接,效果如当前的文档的侧边栏。 + +首先配置 docsify 的 `loadSidebar` 选项,具体配置规则见[配置项#load-sidebar](zh-cn/configuration#load-sidebar)一章。 + +```html + + +``` + +接着创建 `_sidebar.md` 文件,内容如下 + +```markdown +- [首页](zh-cn/) +- [指南](zh-cn/guide) +``` + +!> 需要在文档更目录创建 `.nojekyll` 命名的空文件,阻止 GitHub Pages 忽略命名是下划线开头的文件。 + + +## 显示目录 + +自定义侧边栏同时也可以开启目录功能。设置 `subMaxLevel` 配置项,具体介绍见 [配置项#sub-max-level](zh-cn/configuration#sub-max-level)。 + +```html + + +``` diff --git a/docs/zh-cn/plugins.md b/docs/zh-cn/plugins.md new file mode 100644 index 0000000..d2098ef --- /dev/null +++ b/docs/zh-cn/plugins.md @@ -0,0 +1,102 @@ +# 使用插件 + +## 内置插件 + +### 全文检索 - Search + +全文检索插件会根据当前页面上的超链接获取文档内容,在 `localStorage` 内建立文档索引。默认过期时间为一天,当然你可以自己指定需要缓存的文件列表或者配置过期时间。 + + +```html + + + +``` + +### 谷歌统计 - Google Analytics + +需要配置 track id 才能使用。 + +```html + + + +``` + +## 自定义插件 + +docsify 提供了一套插件注册机制,其中提供的钩子(hook)支持处理异步逻辑,可以很方便的扩展功能。 + +#### 完整功能 + +```js +window.$docsify = { + plugins: [ + function (hook) { + hook.init(function() { + // 初始化时调用,只调用一次 + }) + hook.beforeEach(function(content) { + // 每次开始解析 markdown 内容时调用 + // ... + return content + }) + hook.afterEach(function(html, next) { + // 解析成 html 后调用。beforeEach 和 afterEach 支持处理异步逻辑 + // ... + // 处理完成后调用 next(html) 返回结果 + next(html) + }) + hook.ready(function() { + // docsify 初始化完成后调用,只调用一次 + }) + } + ] +} +``` + +#### 例子 + +给每个页面的末尾加上 `footer` + +```js +window.$docsify = { + plugins: [ + function (hook) { + var footer = [ + '
                                                                                                                                                                          ', + '' + ].join('') + + hook.afterEach(function (html) { + return html + footer + }) + } + ] +} +``` diff --git a/docs/zh-cn/quickstart.md b/docs/zh-cn/quickstart.md new file mode 100644 index 0000000..442c626 --- /dev/null +++ b/docs/zh-cn/quickstart.md @@ -0,0 +1,59 @@ +# 快速开始 + +推荐安装 `docsify-cli` 工具,可以方便创建及本地预览文档网站。 + +```bash +npm i docsify-cli -g +``` + +## 初始化项目 + +如果你想在项目的 `./docs` 目录里写文档,直接通过 `init` 初始化项目。 + +```bash +docsify init ./docs +``` + +## 开始写文档 + +初始化成功后,可以看到 `./docs` 目录下创建的几个文件 + +- `index.html` 入口文件 +- `README.md` 会做为主页内容渲染 +- `.nojekyll` 用于阻止 GitHub Pages 会忽略掉下划线开头的文件 + +直接编辑 `docs/README.md` 就能更新网站内容,当然你可以[写多个页面](zh-cn/more-pages)。 + +## 本地预览网站 + +运行一个本地服务器通过 `docsify serve` 可以方便的预览效果,而且提供 LiveReload 功能,可以让实时的预览。默认访问 http://localhost:3000 。 + +```bash +docsify serve docs +``` + +?> 更多命令行工具用法,参考 [docsify-cli 文档](https://github.com/QingWei-Li/docsify-cli)。 + +## 手动初始化 + +如果你不喜欢 npm 安装工具,或者不需要本地预览文档功能,我们其实只需要直接创建一个 `index.html` 文件。 + +```html + + + + + + + +
                                                                                                                                                                          + + + +``` + +如果你设备里安装 Python 的话,也可以很轻易的启动一个静态服务器。 + +```bash +cd docs && python -m SimpleHTTPServer 3000 +``` diff --git a/docs/zh-cn/themes.md b/docs/zh-cn/themes.md new file mode 100644 index 0000000..34ff2e4 --- /dev/null +++ b/docs/zh-cn/themes.md @@ -0,0 +1,12 @@ +# 主题 + +目前提供两套主题可供选择,模仿 [vue](//vuejs.org) 和 [buble](//buble.surge.sh) 官网订制的主题样式。引入其中之一即可。 + +```html + + +``` + +!> CSS 的压缩文件位于 `/lib/themes/` + +如果你有其他想法或者想开发别的主题,欢迎提 PR。 \ No newline at end of file diff --git a/docs/zh-cn/vue.md b/docs/zh-cn/vue.md new file mode 100644 index 0000000..d603db1 --- /dev/null +++ b/docs/zh-cn/vue.md @@ -0,0 +1,86 @@ +# 兼容 Vue + +Docsify 的一大特色是可以配合 Vue 一起使用。你可以直接在 Markdown 文件里写 Vue 代码,它将被执行。我们可以用它写一些 Vue 的 Demo 或者示例代码。 + + +## 基础用法 + +用法很简单,首先在 `index.html` 里引入 Vue 脚本。 + +```html + + +``` + +接着就可以直接在 Markdown 里写 Vue 了。默认会自动执行 `new Vue({ el: 'main' })` 脚本。 + +*README.md* + +```markdown +# Vue 介绍 + +`v-for` 的用法 + +```html +
                                                                                                                                                                            +
                                                                                                                                                                          • {{ i }}
                                                                                                                                                                          • +
                                                                                                                                                                          +`` + +
                                                                                                                                                                            +
                                                                                                                                                                          • {{ i }}
                                                                                                                                                                          • +
                                                                                                                                                                          +``` + +当然你也可以手动初始化 Vue,这样你可以自定义一些配置。 + +*README.md* + +```markdown +# Vue 的基本用法 + +
                                                                                                                                                                          hello {{ msg }}
                                                                                                                                                                          + +``` + +!> 一个 Markdown 文件里只有第一个 `script` 标签内的内容会被执行。 + +## 搭配 Vuep 写 Playground + +[Vuep](https://github.com/QingWei-Li/vuep) 是一个提供在线编辑和预览效果的 Vue 组件,搭配 docsify 可以直接在文档里写 Vue 的示例代码,支持 Vue component spec 和 JSX。 + +*index.html* + +```html + + + +``` + +*README.md* +```markdown +# Vuep 使用 + + + + + +``` + +?> 具体效果参考 [Vuep 文档](https://qingwei-li.github.io/vuep/)。 From f89d43ef52d68e49cab04a4c771a88aeefc391e9 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 12 Feb 2017 16:30:45 +0800 Subject: [PATCH 070/826] docs(readme): add donate --- README.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/README.md b/README.md index e813c9f..fc5df49 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@

                                                                                                                                                                          Travis Status npm - code style + donate

                                                                                                                                                                          ## Links @@ -43,10 +43,6 @@ index.html ``` -## CDN -- UNPKG [https://unpkg.com/docsify/](https://unpkg.com/docsify/) -- jsDelivr [http://www.jsdelivr.com/projects/docsify](http://www.jsdelivr.com/projects/docsify) - ## Browser Support Modern browsers and Internet Explorer 9+. @@ -54,7 +50,6 @@ Modern browsers and Internet Explorer 9+. ## Showcase These open-source projects are using docsify to generate their sites. Pull requests welcome : ) -- [docsify](https://docsify.js.org) - A magical documentation site generator. - [Snipaste](https://docs.snipaste.com/) - A new way to boost your productivity. - [puck](https://puck.zz173.com/) - A small & magical php framework. - [Samaritan](http://samaritan.stockdb.org) - An Algorithmic Trading Framework for Digital Currency. From 772972ce60ebda5e7d24d0d009c67f42dbebd084 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 12 Feb 2017 20:12:36 +0800 Subject: [PATCH 071/826] docs(zh-cn): finish chinese documents --- dev.html | 4 +- docs/index.html | 6 +- docs/zh-cn/README.md | 9 +- docs/zh-cn/_sidebar.md | 2 +- docs/zh-cn/cdn.md | 6 +- docs/zh-cn/configuration.md | 212 ++++++++++++++++++++++++++++++- docs/zh-cn/cover.md | 54 +++++++- docs/zh-cn/custom-navbar.md | 11 +- docs/zh-cn/deploy.md | 2 +- docs/zh-cn/helpers.md | 2 +- docs/zh-cn/language-highlight.md | 2 +- docs/zh-cn/markdown.md | 4 +- docs/zh-cn/more-pages.md | 12 +- docs/zh-cn/plugins.md | 13 +- docs/zh-cn/quickstart.md | 8 +- docs/zh-cn/themes.md | 4 +- 16 files changed, 316 insertions(+), 35 deletions(-) diff --git a/dev.html b/dev.html index 5fb55eb..54becd0 100644 --- a/dev.html +++ b/dev.html @@ -16,8 +16,8 @@ diff --git a/docs/zh-cn/README.md b/docs/zh-cn/README.md index 0d93c1b..4aa91ca 100644 --- a/docs/zh-cn/README.md +++ b/docs/zh-cn/README.md @@ -6,21 +6,22 @@ docsify 是一个动态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 `.md` 转成 `.html` 文件,所有转换工作都是在运行时进行。 -这将非常实用,如果你只是需要快速的写一个小型的文档,或者不想因为生成的一堆 `.html` 文件“污染” commit 记录,只需要创建一个 `index.html` 就可以开始写文档而且直接部署。 +这将非常实用,如果只是需要快速的写一个小型的文档,或者不想因为生成的一堆 `.html` 文件“污染” commit 记录,只需要创建一个 `index.html` 就可以开始写文档而且直接[部署在 GitHub Pages](zh-cn/deploy)。 可以查看[快速开始](zh-cn/quickstart)一章了解详情。 ## 特性 -- 无需构建,写完 markdown 直接发布 +- 无需构建,写完文档直接发布 - 容易使用并且轻量 (~13Kb gzipped) - 智能的全文检索 - 提供多套主题 - 丰富的 API +- 兼容 IE9+ ## 例子 可以查看 [Showcase](https://github.com/QingWei-Li/docsify/#showcase) 来了解使用 docsify 的文档项目。 -## 支持 +## 捐赠 -有任何使用上的问题或者 Bug 欢迎提 [Issues](https://github.com/QingWei-Li/docsify/issues/),祝你使用愉快! +如果你觉得 docsify 对你有帮助,或者想对我的工作一点资瓷,欢迎给我[捐赠](https://github.com/QingWei-Li/donate)。 \ No newline at end of file diff --git a/docs/zh-cn/_sidebar.md b/docs/zh-cn/_sidebar.md index d2aa0bf..7253e90 100644 --- a/docs/zh-cn/_sidebar.md +++ b/docs/zh-cn/_sidebar.md @@ -1,7 +1,7 @@ - 基础 - [快速开始](zh-cn/quickstart) - [多页文档](zh-cn/more-pages) - - [嵌套导航栏](zh-cn/custom-navbar) + - [定制导航栏](zh-cn/custom-navbar) - [封面](zh-cn/cover) - 配置 diff --git a/docs/zh-cn/cdn.md b/docs/zh-cn/cdn.md index 3e77669..f585793 100644 --- a/docs/zh-cn/cdn.md +++ b/docs/zh-cn/cdn.md @@ -16,14 +16,14 @@ ## 获取指定版本 -如果你担心频繁地版本更新又可能引入未知 Bug,你也可以使用具体的版本。规则是 `//unpkg.com/docsify/VERSION/` +如果担心频繁地版本更新又可能引入未知 Bug,我们也可以使用具体的版本。规则是 `//unpkg.com/docsify@VERSION/` ```html - + - + ``` !> 指定 *VERSION* 为 `latest` 可以强制每次都请求最新版本。 diff --git a/docs/zh-cn/configuration.md b/docs/zh-cn/configuration.md index 930792e..9dece41 100644 --- a/docs/zh-cn/configuration.md +++ b/docs/zh-cn/configuration.md @@ -1,36 +1,244 @@ # 配置项 -> TODO +docsify 有两种配置参数的方式。一种是配置 `window.$docsify` 对象,另一种是给 `script` 标签添加 `data-*` 属性。 + +```html + + + + + +``` + +两种方式可以共存,推荐第一种做法——直接配置 `window.$docsify` 对象——这会让你的配置更加清晰,同时也可以方便的将配置单独写到另一个文件里。 + +!> 通过 `window.$docsify` 配置属性,需要将属性改成驼峰命名法。通过 `data-*` 属性配置,保持短横线的命名规则。 + ## el +- 类型:`String` +- 默认值:`#app` + +docsify 初始化的挂载元素,可以是一个 CSS 选择器,默认为 `#app` 如果不存在就直接绑定在 `body` 上。 + +```js +window.$docsify = { + el: '#app' +} +``` + ## repo +- 类型:`String` +- 默认值: `null` + +配置仓库地址或者 `username/repo` 的字符串,会在页面右上角渲染一个 [GitHub Corner](http://tholman.com/github-corners/) 挂件。 + +```js +window.$docsify = { + repo: 'QingWei-Li/docsify', + // or + repo: 'https://github.com/QingWei-Li/docsify/' +} +``` + + ## max-level +- 类型:`Number` +- 默认值: `6` + +默认情况下会抓取文档中所有标题渲染成目录,可配置最大支持渲染的标题层级。 + + +```js +window.$docsify = { + maxLevel: 4 +} +``` + ## load-navbar +- 类型:`Boolean|String` +- 默认值: `false` + +加载自定义导航栏,参考[定制导航栏](zh-cn/custom-navbar) 了解用法。设置为 `true` 后会加载 `_navbar.md` 文件,也可以自定义加载的文件名。 + +```js +window.$docsify = { + // 加载 _navbar.md + loadNavbar: true, + + // 加载 nav.md + loadNavbar: 'nav.md' +} +``` + ## load-sidebar +- 类型:`Boolean|String` +- 默认值: `false` + +加载自定义侧边栏,参考[多页文档](zh-cn/more-pages)。设置为 `true` 后会加载 `_sidebar.md` 文件,也可以自定义加载的文件名。 + +```js +window.$docsify = { + // 加载 _sidebar.md + loadSidebar: true, + + // 加载 summary.md + loadSidebar: 'summary.md' +} +``` + ## sub-max-level +- 类型:`Number` +- 默认值: `0` + +自定义侧边栏后默认不会再生成目录,你也可以通过设置生成目录的最大层级开启这个功能, + + +```js +window.$docsify = { + subMaxLevel: 3 +} +``` -## load-navbar ## auto2top +- 类型:`Boolean` +- 默认值: `false` + +切换页面后是否自动跳转到页面顶部。 + +```js +window.$docsify = { + auto2top: true +} +``` + ## homepage +- 类型:`String` +- 默认值: `README.md` + +设置首页文件加载路径。适合不想将 `README.md` 作为入口文件渲染,或者是文档在仓库根目录的情况使用。 + +```js +window.$docsify = { + // 入口文件改为 /home.md + homepage: 'home.md', + + // 文档和仓库根目录下的 README.md 内容一致 + homepage: 'https://raw.githubusercontent.com/QingWei-Li/docsify/master/README.md' +} +``` ## base-path +- 类型:`String` + +文档加载的根路径,可以是二级路径或者是其他域名的路径。 + +```js +window.$docsify = { + basePath: '/path/', + + // 直接渲染其他域名的文档 + basePath: 'https://docsify.js.org/', + + // 甚至直接渲染其他仓库下的内容 + basePath: 'https://raw.githubusercontent.com/ryanmcdermott/clean-code-javascript/master/' +} +``` + + ## coverpage +- 类型:`Boolean|String` +- 默认值: `false` + +启用[封面页](/zh-cn/cover)。开启后是加载 `_coverpage.md` 文件,也可以自定义文件名。 + +```js +window.$docsify = { + coverpage: true, + + // 自定义文件名 + coverpage: 'cover.md' +} +``` + ## name +- 类型:`String` + + +文档标题,会显示在侧边栏顶部。 + +```js +window.$docsify = { + name: 'docsify' +} +``` + ## name-link +- 类型:`String` +- 默认值:`window.location.pathname` + +点击文档标题后跳转的链接地址。 + +```js +window.$docsify = { + nameLink: '/' +} +``` + +## markdown + +- 类型: `Function` + +参考 [Markdown 配置](/zh-cn/markdown)。 + ## theme-color +- 类型:`String` + +替换默认的主题配置。利用 CSS3 支持变量的特性,对于老的浏览器有 polyfill 处理。 + +```js +window.$docsify = { + themeColor: '#3F51B5' +} +``` + ## alias + +定义路由别名,可以更自由的定义路由规则。 + + +```js +window.$docsify = { + alias: { + '/zh-cn/changelog': '/changelog', + '/changelog': 'https://raw.githubusercontent.com/QingWei-Li/docsify/master/CHANGELOG' + } +} +``` + diff --git a/docs/zh-cn/cover.md b/docs/zh-cn/cover.md index 8d8da07..cd6a566 100644 --- a/docs/zh-cn/cover.md +++ b/docs/zh-cn/cover.md @@ -1,3 +1,55 @@ # 封面 -> TODO \ No newline at end of file +一个有封面的文档网站会给用户留下好的印象,通过设置 `coverpage` 参数,可以开启渲染封面的功能。具体用法见见[配置项#coverpage](zh-cn/configuration#coverpage)。 + +## 基本用法 + +封面的生成同样是从 markdown 文件渲染来的。开启渲染封面功能后在文档根目录创建 `_coverpage.md` 文件。 + +```html + + +``` + +*_coverpage.md* + +```markdown +![logo](_media/icon.svg) + +# docsify + +> A magical documentation site generator. + +- Simple and lightweight (~12kb gzipped) +- Multiple themes +- Not build static html files + + +[GitHub](https://github.com/QingWei-Li/docsify/) +[Get Started](#quick-start) +``` + +渲染效果如本文档。 + +!> 一份文档只会在根目录下加载封面,其他页面或者二级目录下都不会加载。 + +## 自定义背景 + +目前的背景是随机生成的渐变色,我们自定义背景色或者背景图。在文档末尾用添加图片的 Markdown 语法设置背景。 + +```markdown +# docsify + +[GitHub](https://github.com/QingWei-Li/docsify/) +[Get Started](#quick-start) + + +![](_media/bg.png) + +![color](#f0f0f0) +``` + diff --git a/docs/zh-cn/custom-navbar.md b/docs/zh-cn/custom-navbar.md index 74bc20a..4eefeda 100644 --- a/docs/zh-cn/custom-navbar.md +++ b/docs/zh-cn/custom-navbar.md @@ -1,6 +1,6 @@ # 自定义导航栏 -> TODO +我们可以直接在 HTML 里定义导航栏,要注意链接要以 `#/` 开头。 *index.html* @@ -15,9 +15,10 @@ ``` - ## 配置文件 +如果不想手工写导航栏组件,或者需要根据不同目录加载不同的导航栏,那我们可以通过 Markdown 文件来配置。首先配置 `loadNavbar`,默认加载的文件为 `_navbar.md`。具体配置规则见[配置项#load-navbar](zh-cn/configuration#load-navbar)一节。 + *index.html* @@ -37,8 +38,12 @@ - [中文](/zh-cn/) ``` +`_navbar.md` 加载逻辑和 `sidebar` 文件一致,从每层目录下获取。例如当前路由为 `/zh-cn/custom-navbar` 那么是从 `/zh-cn/_navbar.md` 获取导航栏。 + ## 嵌套 +如果导航内容过多,可以写成嵌套的列表,会被渲染成下拉列表的形式。 + *_navbar.md* @@ -57,4 +62,6 @@ - [代码高亮](zh-cn/language-highlight) ``` +效果图 + ![嵌套导航栏](_images/zh-cn/nested-navbar.png "嵌套导航栏") diff --git a/docs/zh-cn/deploy.md b/docs/zh-cn/deploy.md index 3e33d5e..2635c56 100644 --- a/docs/zh-cn/deploy.md +++ b/docs/zh-cn/deploy.md @@ -13,7 +13,7 @@ GitHub Pages 支持从三个地方读取文件 ![github pages](_images/deploy-github-pages.png) -!> 你可以将文档放在根目录下,然后选择 **master 分支** 作为文档目录。 +!> 可以将文档放在根目录下,然后选择 **master 分支** 作为文档目录。 ## 部署 VPS diff --git a/docs/zh-cn/helpers.md b/docs/zh-cn/helpers.md index fca6c59..1b1da3c 100644 --- a/docs/zh-cn/helpers.md +++ b/docs/zh-cn/helpers.md @@ -1,6 +1,6 @@ # 文档助手 -docsify 扩展了一些 Markdown 语法,可以让你的文档更易读。 +docsify 扩展了一些 Markdown 语法,可以让文档更易读。 ## 强调内容 diff --git a/docs/zh-cn/language-highlight.md b/docs/zh-cn/language-highlight.md index bb7029c..4e5ba47 100644 --- a/docs/zh-cn/language-highlight.md +++ b/docs/zh-cn/language-highlight.md @@ -1,6 +1,6 @@ # 代码高亮 -内置的代码高亮工具是 [Prism](https://github.com/PrismJS/prism),默认支持 CSS、JavaScript 和 HTML。如果你需要高亮其语言——例如 PHP——你可以手动引入代码高亮插件。 +内置的代码高亮工具是 [Prism](https://github.com/PrismJS/prism),默认支持 CSS、JavaScript 和 HTML。如果需要高亮其语言——例如 PHP——可以手动引入代码高亮插件。 ```html diff --git a/docs/zh-cn/markdown.md b/docs/zh-cn/markdown.md index 51fe044..579822f 100644 --- a/docs/zh-cn/markdown.md +++ b/docs/zh-cn/markdown.md @@ -1,6 +1,6 @@ # Markdown 配置 -内置的 Markdown 解析插件是 [marked](https://github.com/chjj/marked),你可以修改它的配置。 +内置的 Markdown 解析插件是 [marked](https://github.com/chjj/marked),可以修改它的配置。 ```js window.$docsify = { @@ -13,7 +13,7 @@ window.$docsify = { ?> 完整配置参数参考 [marked 文档](https://github.com/chjj/marked#options-1) -当然你也可以完全定制 markdown 解析规则。 +当然也可以完全定制 Markdown 解析规则。 ```js window.$docsify = { diff --git a/docs/zh-cn/more-pages.md b/docs/zh-cn/more-pages.md index 0fcbaa6..5c558e0 100644 --- a/docs/zh-cn/more-pages.md +++ b/docs/zh-cn/more-pages.md @@ -1,6 +1,6 @@ # 多页文档 -如果你的文档需要创建多个页面,或者需要提供多语言的文档。在 docsify 里也能很容易的实现。例如创建一个 `guide.md` 文件,那么对应的路由就是 `/#/guide`。 +如果需要创建多个页面,或者需要提供多语言的文档。在 docsify 里也能很容易的实现。例如创建一个 `guide.md` 文件,那么对应的路由就是 `/#/guide`。 一个简单的例子: @@ -24,9 +24,9 @@ docs/zh-cn/guide.md => http://domain.com/zh-cn/guide ## 定制侧边栏 -默认情况下,侧边栏会根据当前文档的目录生成。你可以定制成文档链接,效果如当前的文档的侧边栏。 +默认情况下,侧边栏会根据当前文档的标题生成目录。也可以设置文档链接,通过 Markdown 文件生成,效果如当前的文档的侧边栏。 -首先配置 docsify 的 `loadSidebar` 选项,具体配置规则见[配置项#load-sidebar](zh-cn/configuration#load-sidebar)一章。 +首先配置 docsify 的 `loadSidebar` 选项,具体配置规则见[配置项#load-sidebar](zh-cn/configuration#load-sidebar)一节。 ```html ``` + + diff --git a/docs/zh-cn/plugins.md b/docs/zh-cn/plugins.md index d2098ef..c230d49 100644 --- a/docs/zh-cn/plugins.md +++ b/docs/zh-cn/plugins.md @@ -4,7 +4,7 @@ ### 全文检索 - Search -全文检索插件会根据当前页面上的超链接获取文档内容,在 `localStorage` 内建立文档索引。默认过期时间为一天,当然你可以自己指定需要缓存的文件列表或者配置过期时间。 +全文检索插件会根据当前页面上的超链接获取文档内容,在 `localStorage` 内建立文档索引。默认过期时间为一天,当然我们可以自己指定需要缓存的文件列表或者配置过期时间。 ```html @@ -45,6 +45,13 @@ ``` +也可以通过 `data-ga` 配置 id。 + +```html + + +``` + ## 自定义插件 docsify 提供了一套插件注册机制,其中提供的钩子(hook)支持处理异步逻辑,可以很方便的扩展功能。 @@ -59,7 +66,7 @@ window.$docsify = { // 初始化时调用,只调用一次 }) hook.beforeEach(function(content) { - // 每次开始解析 markdown 内容时调用 + // 每次开始解析 Markdown 内容时调用 // ... return content }) @@ -77,6 +84,8 @@ window.$docsify = { } ``` +!> 如果需要用 docsify 的内部方法,可以通过 `window.Docsify.utils` 获取。 + #### 例子 给每个页面的末尾加上 `footer` diff --git a/docs/zh-cn/quickstart.md b/docs/zh-cn/quickstart.md index 442c626..61c84a3 100644 --- a/docs/zh-cn/quickstart.md +++ b/docs/zh-cn/quickstart.md @@ -8,7 +8,7 @@ npm i docsify-cli -g ## 初始化项目 -如果你想在项目的 `./docs` 目录里写文档,直接通过 `init` 初始化项目。 +如果想在项目的 `./docs` 目录里写文档,直接通过 `init` 初始化项目。 ```bash docsify init ./docs @@ -22,7 +22,7 @@ docsify init ./docs - `README.md` 会做为主页内容渲染 - `.nojekyll` 用于阻止 GitHub Pages 会忽略掉下划线开头的文件 -直接编辑 `docs/README.md` 就能更新网站内容,当然你可以[写多个页面](zh-cn/more-pages)。 +直接编辑 `docs/README.md` 就能更新网站内容,当然也可以[写多个页面](zh-cn/more-pages)。 ## 本地预览网站 @@ -36,7 +36,7 @@ docsify serve docs ## 手动初始化 -如果你不喜欢 npm 安装工具,或者不需要本地预览文档功能,我们其实只需要直接创建一个 `index.html` 文件。 +如果不喜欢 npm 安装工具,或者不需要本地预览文档功能,我们其实只需要直接创建一个 `index.html` 文件。 ```html @@ -52,7 +52,7 @@ docsify serve docs ``` -如果你设备里安装 Python 的话,也可以很轻易的启动一个静态服务器。 +如果系统里安装 Python 的话,也可以很轻易的启动一个静态服务器。 ```bash cd docs && python -m SimpleHTTPServer 3000 diff --git a/docs/zh-cn/themes.md b/docs/zh-cn/themes.md index 34ff2e4..754a091 100644 --- a/docs/zh-cn/themes.md +++ b/docs/zh-cn/themes.md @@ -1,6 +1,6 @@ # 主题 -目前提供两套主题可供选择,模仿 [vue](//vuejs.org) 和 [buble](//buble.surge.sh) 官网订制的主题样式。引入其中之一即可。 +目前提供两套主题可供选择,模仿 [vue](//vuejs.org) 和 [buble](//buble.surge.sh) 官网订制的主题样式,引入其中之一即可。 ```html @@ -9,4 +9,4 @@ !> CSS 的压缩文件位于 `/lib/themes/` -如果你有其他想法或者想开发别的主题,欢迎提 PR。 \ No newline at end of file +如果你有其他想法或者想开发别的主题,欢迎提 [PR](https://github.com/QingWei-Li/docsify/pulls)。 \ No newline at end of file From ce99a04f2e8e95c694424fe45fb969b02192b75b Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 12 Feb 2017 21:53:38 +0800 Subject: [PATCH 072/826] fix(src): get alias --- src/index.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 3065d18..c6392cd 100644 --- a/src/index.js +++ b/src/index.js @@ -50,6 +50,16 @@ render.init() let cacheRoute = null let cacheXhr = null +const getAlias = function (route) { + route = route.replace(/\/+/, '/') + + if (OPTIONS.alias[route]) { + return getAlias(OPTIONS.alias[route]) + } else { + return route + } +} + const mainRender = function (cb) { let page let route = utils.getRoute() @@ -65,7 +75,7 @@ const mainRender = function (cb) { // replace route if (OPTIONS.alias && OPTIONS.alias['/' + route]) { - route = OPTIONS.alias['/' + route] + route = getAlias('/' + route) } else { route = OPTIONS.basePath + route } From 784173e4c874ce6ff39f718d30625a268024f4d5 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 12 Feb 2017 22:04:29 +0800 Subject: [PATCH 073/826] fix(src): get alias --- src/index.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/index.js b/src/index.js index c6392cd..066d094 100644 --- a/src/index.js +++ b/src/index.js @@ -51,8 +51,6 @@ let cacheRoute = null let cacheXhr = null const getAlias = function (route) { - route = route.replace(/\/+/, '/') - if (OPTIONS.alias[route]) { return getAlias(OPTIONS.alias[route]) } else { @@ -74,10 +72,11 @@ const mainRender = function (cb) { } // replace route - if (OPTIONS.alias && OPTIONS.alias['/' + route]) { - route = getAlias('/' + route) + route = '/' + route + if (OPTIONS.alias && OPTIONS.alias[route]) { + route = getAlias(route) } else { - route = OPTIONS.basePath + route + route = (OPTIONS.basePath + route).replace(/\/+/, '/') } if (!route) { From 68c70509d13ea648eea156df9f7a354d63104ce4 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 12 Feb 2017 22:22:33 +0800 Subject: [PATCH 074/826] docs(en) init english documents --- CHANGELOG.md | 7 +- docs/_sidebar.md | 2 +- docs/cdn.md | 0 docs/configuration.md | 0 docs/cover.md | 0 docs/custom-navbar.md | 0 docs/deploy.md | 0 docs/helpers.md | 0 docs/language-highlight.md | 0 docs/markdown.md | 0 docs/more-pages.md | 0 docs/plugins.md | 0 docs/quickstart.md | 3 + docs/themes.md | 0 docs/vue.md | 0 docs/zh-cn.md | 532 ------------------------------------- docs/zh-cn/README.md | 2 +- docs/zh-cn/_sidebar.md | 2 +- 18 files changed, 10 insertions(+), 538 deletions(-) create mode 100644 docs/cdn.md create mode 100644 docs/configuration.md create mode 100644 docs/cover.md create mode 100644 docs/custom-navbar.md create mode 100644 docs/deploy.md create mode 100644 docs/helpers.md create mode 100644 docs/language-highlight.md create mode 100644 docs/markdown.md create mode 100644 docs/more-pages.md create mode 100644 docs/plugins.md create mode 100644 docs/quickstart.md create mode 100644 docs/themes.md create mode 100644 docs/vue.md delete mode 100644 docs/zh-cn.md diff --git a/CHANGELOG.md b/CHANGELOG.md index e1f839e..9a2915e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,13 +5,14 @@ #### Features - feat(src): add alias feature -- update all docs -- dynamic title +- update all documents +- feat(src): dynamic title +- feat(hook): support custom plugin #### Bug fixes - fix(event): `auto2top` has no effect on a FF mobile browser, fixed #67 - fix: sidebar style - +- fix(render): fix render link ### 2.2.1 diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 1c87b24..44f33bc 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -1,4 +1,4 @@ -- Basic +- Get started - [Quick start](/quickstart) - [Writing more pages](/more-pages) - [Custom nav](/custom-navbar) diff --git a/docs/cdn.md b/docs/cdn.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/configuration.md b/docs/configuration.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/cover.md b/docs/cover.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/custom-navbar.md b/docs/custom-navbar.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/deploy.md b/docs/deploy.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/helpers.md b/docs/helpers.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/language-highlight.md b/docs/language-highlight.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/markdown.md b/docs/markdown.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/more-pages.md b/docs/more-pages.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/plugins.md b/docs/plugins.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/quickstart.md b/docs/quickstart.md new file mode 100644 index 0000000..5297e73 --- /dev/null +++ b/docs/quickstart.md @@ -0,0 +1,3 @@ +# Quick start + +Remme \ No newline at end of file diff --git a/docs/themes.md b/docs/themes.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/vue.md b/docs/vue.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/zh-cn.md b/docs/zh-cn.md deleted file mode 100644 index d6481e1..0000000 --- a/docs/zh-cn.md +++ /dev/null @@ -1,532 +0,0 @@ - -## 特性 -- 无需构建,写完 markdown 直接发布 -- 支持自定义主题 -- 容易使用并且轻量 (~12kb gzipped) - -## 快速上手 - -### 创建项目 -新建一个空项目,接着创建一个 `docs` 目录并进入到 docs 目录下 -```bash -mkdir my-project && cd my-project -mkdir docs && cd docs -``` - -### 创建入口文件 -创建一个 `index.html` 文件,内容为 -```html - - - - - - - -
                                                                                                                                                                          - - - -``` - -新建 `README.md` 文件,作为主页面 - -``` -# Title - -## balabala -``` - -### 部署! -将项目 `push` 到 GitHub 仓库后到设置页面开启 **GitHub Pages** 功能,选择 `docs/` 选项 -![image](https://cloud.githubusercontent.com/assets/7565692/20639058/e65e6d22-b3f3-11e6-9b8b-6309c89826f2.png) - -## 命令行工具 - -方便快速创建文档目录,会读取项目的 `package.json` 里的选项作为 docsify 的配置,支持本地预览。 - -### 安装 -```bash -npm i docsify-cli -g -``` - -### 初始化文档 - -默认初始化在当前目录,推荐将文档放在 `docs` 目录下 -```bash -docsify init docs -``` - -### 启动本地服务 -启动一个 server 方便预览,打开 http://localhost:3000 -```bash -docsify serve docs -``` - -更多选项参考 [docsify-cli](https://github.com/QingWei-Li/docsify-cli) - - -## 更多功能 - -### 主题 -目前提供 vue.css 和 buble.css,直接修改 `index.html` 里的 cdn 地址即可 -```html - - -``` - -压缩版 - -```html - - -``` - -### 多页面 -`README.md` 作为主页面,如果需要其他页面,直接在文档目录下创建对应的 `*.md` 文件,例如创建一个 `guide.md` 那么对应的路由就是 `/#/guide`。 - -### 导航 -导航需要自己写在 `index.html` 文件里,效果参考本文档 - -```html - -``` - - - -### CDN -- UNPKG [https://unpkg.com/docsify/](https://unpkg.com/docsify/) -- jsDelivr [http://www.jsdelivr.com/projects/docsify](http://www.jsdelivr.com/projects/docsify) - -### 封面 - -只需要写几行简单的 markdown 就可以拥有一页精致的封面,通过添加 `data-coverpage` 属性,并创建 `_coverpage.md`,按照下面的格式书写即可。 - -```markdown -![logo](_media/icon.svg) - -# docsify 1.2.0 - -> A magical documentation site generator. - -- Simple and lightweight (~12kb gzipped) -- Multiple themes -- Not build static html files - - -[GitHub](https://github.com/QingWei-Li/docsify/) -[Get Started](#quick-start) -``` - - -#### 自定义封面背景 -默认的背景是随机生成的,你可以自定义背景色或者背景图片。只需要在文档末尾用添加图片的 Markdown 语法 - -```markdown -# docsify 1.2.0 - -> xxx - -[GitHub](https://github.com/QingWei-Li/docsify/) -[Get Started](#quick-start) - - -![](_media/bg.png) - -![color](#f0f0f0) -``` - -### 自定义 Markdown parser - -默认使用 [marked](https://github.com/chjj/marked) 处理 markdown 部分,你可以修改默认配置 - -```js -window.$docsify = { - markdown: { - smartypants: true - } -} -``` - -甚至可以完全定制化 - -```js -window.$docsify = { - markdown: function(marked) { - // ... - - return marked - } -} -``` - -### 文档助手 -#### 内置「提示」语法 - -`!>`后面接内容,会渲染成带 tip 类名的段落。 - -```markdown -!> 提示信息,**支持其他 markdown 语法** -``` - -将被渲染成 - -```html -

                                                                                                                                                                          提示信息支持其他 markdown 语法

                                                                                                                                                                          -``` - -效果 - -!> 适合显示醒目的内容 - -#### 内置「警示」语法 - -`?>`后面接内容,会渲染成带 warn 类名的段落。 - -```markdown -?> 警示内容样式 -``` - -效果 - -?> 警示内容样式 - -### 结合 Vue - -`index.html` 内引入 Vue 后,可以在文档里直接写 Vue 语法。默认会自己初始化一个 Vue 示例,当然我们也可以手动初始化一个实例。 - -index.html -```html - - -``` - -```markdown -
                                                                                                                                                                            -
                                                                                                                                                                          • {{ i }}
                                                                                                                                                                          • -
                                                                                                                                                                          -``` - -手动初始化示例 - -```markdown -
                                                                                                                                                                          - -

                                                                                                                                                                          Hello, {{ msg }}

                                                                                                                                                                          -
                                                                                                                                                                          - - -``` - -## 配置参数 - -你可以通过在标签上添加属性的方式,或者给 `window.$docsify` 传配置信息。 - -### repo -参考本文档的右上角的 GitHub 图标,如果要开启的话,将 `index.html` 里的 script 改成 - -```html - -``` - - -```js -window.$docsify = { - repo: 'your/repo' -} -``` - -### max-level -目录最大展开层级,默认值为 6 - -```html - -``` - - -```js -window.$docsify = { - maxLevel: 6 -} -``` - -### el -替换节点元素,默认为 `#app` -```html - -``` - - -```js -window.$docsify = { - el: '#app' -} -``` - -### load-sidebar - -读取侧边栏配置文件,如果配置,默认加载当前目录下的 `_sidebar.md`。如果文件不存在,会显示 TOC 作为侧边栏内容。如果你有二级目录,也应该放置一份配置文件。 -**如果用 `_` 开头作为文件名,你应该在文档目录下添加 `.nojekyll`,阻止 GitHub Pages 忽略下划线开头的文件。** - -```html - -``` - - -你可以指定侧边栏文件名 - -```html - -``` - -```js -window.$docsify = { - loadSidebar: '_sidebar.md' -} -``` - -`_sidebar.md` 的内容可以是这样的 - -```markdown -- [Home](/) -- [Installation](/installation) -- Essentials - - [Getting Started](/getting-started) - - [Dynamic Route Matching](/dynamic-matching) - - [Nested Routes](/nested-routes) -``` - -### sub-max-level - -显示 TOC 在自定义的侧边栏里,默认最大显示 0 层。 - - -```html - -``` - -```js -window.$docsify = { - maxSubLevel: 4 -} -``` - -### load-navbar - -读取导航配置文件,如果配置,默认加载当前目录下的 `_navbar.md`。如果文件不存在,会显示 html 里定义的导航栏。 - -```html - -``` - -你可以指定导航栏文件名 - -```html - -``` - -```js -window.$docsify = { - loadNavbar: '_navbar.md' -} -``` - -`_navbar.md` 的内容可以是这样 - -```markdown -- [en](/) -- [中文](/zh-cn) -``` - -当然也支持二级列表,将生成一个下拉列表 -```markdown -- [download](/download) -- language - - [en](/) - - [中文](/zh-cn) -``` - - -### auto2top - -切换路由时自动跳转到页面顶部 - - -```html - -``` - -```js -window.$docsify = { - auto2top: true -} -``` - -### homepage - -默认情况下网站会将根目录下 `README.md` 作为首页渲染,但是有些时候我们想指定其他文件,甚至想直接将 repo 下的 README 作为首页。 - - -```html - - - -``` - -```js -window.$docsify = { - homepage: true -} -``` - -### base-path - -指定加载文档的路径,如果你的 HTML 入口文件和文档是放在不同地方,你可以设置: - -```html - - - - -``` - - -```js -window.$docsify = { - basePath: '/base/' -} -``` - -### coverpage - -生成封面,参考 [#封面](/zh-cn#封面). - -```html - - - - -``` - - -```js -window.$docsify = { - coverpage: true -} -``` - - -### name - -项目名,将显示在侧边栏。 - -```html - -``` - -```js -window.$docsify = { - name: 'docsify' -} -``` - -### name-link - -项目名链接,默认为 `window.location.pathname`。 - -```html - -``` - -```js -window.$docsify = { - nameLink: '/' -} -``` - -### theme-color - -自定义主题色。 - - -```html - -``` - -```js -window.$docsify = { - themeColor: '#3F51B5' -} -``` - -### alias - -设置别名方便自定义路由或者引入其他文件。 - -```js -window.$docsify = { - alias: { - '/changelog': 'https://raw.githubusercontent.com/QingWei-Li/docsify/master/CHANGELOG' - } -} -``` - -## Plugins - -### 全文检索 - search - -一份文档如果能有搜索功能会提升一些用户体验,加载搜索插件也很简单,直接引入就自动安装并启用。默认情况下会自动分析当前页面上的超链接,获取内容后建立索引并存储在 `localStorage` 里,默认过期时间为一天,当然这是可配置的。 - -自动识别的方式不一定能识别完整或者如果你想指定某些文件可索引,你可以自己指定文件的路径。 - -```html - - -``` - -!> 配置要在 docsify 引入之前 - -```js -window.$docsify = { - search: 'auto', // default - - search : [ - '/', // => /README.md - '/guide', // => /guide.md - '/get-started', // => /get-started.md - '/zh-cn/', // => /zh-cn/README.md - ], - - // Full configuration - search: { - maxAge: 86400000, // Expiration time, the default one day - paths: [], // or 'auto' - placeholder: 'Type to search' - } -} -``` - -### Google Analytics - -安装插件并且配置 track id。 - -```html - - -``` - -或者 - -```js -window.$docsify = { - ga: 'UA-XXXXX-Y' -} -``` diff --git a/docs/zh-cn/README.md b/docs/zh-cn/README.md index 4aa91ca..27d2647 100644 --- a/docs/zh-cn/README.md +++ b/docs/zh-cn/README.md @@ -24,4 +24,4 @@ docsify 是一个动态生成文档网站的工具。不同于 GitBook、Hexo ## 捐赠 -如果你觉得 docsify 对你有帮助,或者想对我的工作一点资瓷,欢迎给我[捐赠](https://github.com/QingWei-Li/donate)。 \ No newline at end of file +如果你觉得 docsify 对你有帮助,或者想对我微小的工作一些资瓷,欢迎给我[捐赠](https://github.com/QingWei-Li/donate)。 \ No newline at end of file diff --git a/docs/zh-cn/_sidebar.md b/docs/zh-cn/_sidebar.md index 7253e90..e911c38 100644 --- a/docs/zh-cn/_sidebar.md +++ b/docs/zh-cn/_sidebar.md @@ -1,4 +1,4 @@ -- 基础 +- 入门 - [快速开始](zh-cn/quickstart) - [多页文档](zh-cn/more-pages) - [定制导航栏](zh-cn/custom-navbar) From d98430cdb63e63ccaf74faf4ed8771b502a74317 Mon Sep 17 00:00:00 2001 From: lirilsu Date: Mon, 13 Feb 2017 19:59:29 +0800 Subject: [PATCH 075/826] Add dark theme --- src/themes/dark.css | 299 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 299 insertions(+) create mode 100644 src/themes/dark.css diff --git a/src/themes/dark.css b/src/themes/dark.css new file mode 100644 index 0000000..2a69641 --- /dev/null +++ b/src/themes/dark.css @@ -0,0 +1,299 @@ +@import url('https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600'); + +$color-primary: #ea6f5a; +$color-bg: #3f3f3f; +$color-text: #c8c8c8; +$sidebar-width: 300px; + +@import "basic/layout"; +@import "basic/coverpage"; + +body { + background-color: $color-bg; +} + +/* sidebar */ +.sidebar { + color: #c8c8c8; + background-color: $color-bg; + + li { + margin: 6px 15px; + } + + ul li a { + color: #c8c8c8; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + text-decoration: none; + font-size: 14px; + + &:hover { + text-decoration: underline; + } + } + + ul li ul { + padding: 0; + } + + ul li.active>a { + color: var(--theme-color, $color-primary); + font-weight: 600; + } +} + +/* markdown content found on pages */ +.markdown-section h1, +.markdown-section h2, +.markdown-section h3, +.markdown-section h4, +.markdown-section strong { + font-weight: 600; + color: #2c3e50; +} + +.markdown-section a { + color: var(--theme-color, $color-primary); + font-weight: 600; +} + +.markdown-section h1 { + margin: 0 0 1em; + font-size: 2em; +} + +.markdown-section h2 { + font-size: 1.75em; + margin: 45px 0 0.8em; +} + +.markdown-section h3 { + margin: 40px 0 .6em; + font-size: 1.5em; +} + +.markdown-section h4 { + font-size: 1.25em; +} + +.markdown-section h5 { + font-size: 1em; +} + +.markdown-section h6 { + font-size: 1em; + color: #777; +} + +.markdown-section figure, +.markdown-section p, +.markdown-section ul, +.markdown-section ol { + margin: 1.2em 0; +} + +.markdown-section p, +.markdown-section ul, +.markdown-section ol { + line-height: 1.6em; + word-spacing: 0.05em; +} + +.markdown-section ul, +.markdown-section ol { + padding-left: 1.5em; +} + +.markdown-section blockquote { + color: #858585; + border-left: 4px solid var(--theme-color, $color-primary); + margin: 2em 0; + padding-left: 20px; +} + +.markdown-section blockquote p { + font-weight: 600; + margin-left: 0; +} + +.markdown-section iframe { + margin: 1em 0; +} + +.markdown-section em { + color: #7f8c8d; +} + +.markdown-section code { + border-radius: 2px; + color: #657b83; + margin: 0 2px; + padding: 3px 5px; + white-space: nowrap; + font-size: 0.8em; + font-family: 'Roboto Mono', Monaco, courier, monospace; + background-color: #282828; +} + +.markdown-section pre { + -moz-osx-font-smoothing: initial; + -webkit-font-smoothing: initial; + background-color: #282828; + font-family: 'Roboto Mono', Monaco, courier, monospace; + line-height: 1.5em; + margin: 1.2em 0; + padding: 0 1.4em; + position: relative; + overflow: auto; + word-wrap: normal; +} + +/* code highlight */ +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #8e908c; +} + +.token.namespace { + opacity: .7; +} + +.token.boolean, +.token.number { + color: #c76b29; +} + +.token.punctuation { + color: #525252; +} + +.token.property { + color: #c08b30; +} + +.token.tag { + color: #2973b7; +} + +.token.string { + color: var(--theme-color, $color-primary); +} + +.token.selector { + color: #6679cc; +} + +.token.attr-name { + color: #2973b7; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #22a2c9; +} + +.token.attr-value, +.token.control, +.token.directive, +.token.unit { + color: var(--theme-color, $color-primary); +} + +.token.keyword { + color: #e96900; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #22a2c9; +} + +.token.placeholder, +.token.variable { + color: #3d8fd1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #202746; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #c94922; +} + +.token.entity { + cursor: help; +} + +.markdown-section pre>code { + -moz-osx-font-smoothing: initial; + -webkit-font-smoothing: initial; + background-color: #282828; + border-radius: 2px; + color: #657b83; + display: block; + font-family: 'Roboto Mono', Monaco, courier, monospace; + font-size: 0.8em; + line-height: inherit; + margin: 0 2px; + overflow: inherit; + padding: 2.2em 5px; + white-space: inherit; + max-width: inherit; +} + +.markdown-section code::after, .markdown-section code::before { + letter-spacing: 0.05em; +} + +code .token { + min-height: 1.5em; + -webkit-font-smoothing: initial; + -moz-osx-font-smoothing: initial; +} + +pre::after { + color: #ccc; + content: attr(data-lang); + font-size: 0.6em; + font-weight: 600; + height: 15px; + line-height: 15px; + padding: 5px 10px 0; + position: absolute; + right: 0; + text-align: right; + top: 0; +} + +.markdown-section p.tip { + background-color: #282828; + color: #657b83; +} + +input[type="search"] { + border-color: #4f4f4f; + background: #4f4f4f; + color: #c8c8c8; +} From 7c6ab54ba7b9701daa73eb929dce7c8e7b049eca Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Mon, 13 Feb 2017 22:43:58 +0800 Subject: [PATCH 076/826] docs(en) finish --- CHANGELOG.md | 5 +- README.md | 8 +- docs/README.md | 535 +-------------------------- docs/_coverpage.md | 1 - docs/_images/nested-navbar.png | Bin 0 -> 82965 bytes docs/_images/zh-cn/nested-navbar.png | Bin 38681 -> 70584 bytes docs/_sidebar.md | 4 +- docs/cdn.md | 42 +++ docs/configuration.md | 256 +++++++++++++ docs/cover.md | 57 +++ docs/custom-navbar.md | 66 ++++ docs/deploy.md | 33 ++ docs/helpers.md | 26 ++ docs/language-highlight.md | 13 + docs/markdown.md | 26 ++ docs/more-pages.md | 66 ++++ docs/plugins.md | 119 ++++++ docs/quickstart.md | 62 +++- docs/themes.md | 14 + docs/vue.md | 89 +++++ docs/zh-cn/README.md | 6 +- docs/zh-cn/cdn.md | 2 +- docs/zh-cn/configuration.md | 19 +- docs/zh-cn/cover.md | 11 +- docs/zh-cn/custom-navbar.md | 4 +- docs/zh-cn/deploy.md | 6 +- docs/zh-cn/helpers.md | 2 +- docs/zh-cn/language-highlight.md | 2 +- docs/zh-cn/markdown.md | 4 +- docs/zh-cn/more-pages.md | 6 +- docs/zh-cn/plugins.md | 9 +- docs/zh-cn/quickstart.md | 4 +- docs/zh-cn/themes.md | 3 +- docs/zh-cn/vue.md | 7 +- 34 files changed, 949 insertions(+), 558 deletions(-) create mode 100644 docs/_images/nested-navbar.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a2915e..0365bbf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,14 @@ ### 2.3.0 -> 2017-02-12 +> 2017-02-13 #### Features - feat(src): add alias feature -- update all documents +- docs: update all documents - feat(src): dynamic title - feat(hook): support custom plugin +- feat(themes): add dark theme #### Bug fixes - fix(event): `auto2top` has no effect on a FF mobile browser, fixed #67 diff --git a/README.md b/README.md index fc5df49..88937d1 100644 --- a/README.md +++ b/README.md @@ -19,10 +19,12 @@ - [CLI](https://github.com/QingWei-Li/docsify-cli) ## Features -- Simple and lightweight (~13kB gzipped) -- Multiple themes - Not build static html files -- Support emoji :laughing: +- Simple and lightweight (~13kB gzipped) +- Smart full-text search plugin +- Multiple themes +- Useful plugin API +- Compatible with IE9+ ## Quick start Create a `index.html`. diff --git a/docs/README.md b/docs/README.md index efd805b..31602ab 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,526 +1,27 @@ -## Quick Start - -### Create a project -First create a project, then create a `docs` folder -```bash -mkdir my-project && cd my-project -mkdir docs && cd docs -``` - -### Create entry file -Create a `index.html` file - -```html - - - - - - - -
                                                                                                                                                                          - - - -``` - -Create `README.md` as the main page - -```markdown -# Title - -## blabla -``` - -### Deploy! -Push code and activate **GitHub Pages** via your repo's settings -![image](https://cloud.githubusercontent.com/assets/7565692/20639058/e65e6d22-b3f3-11e6-9b8b-6309c89826f2.png) - -## CLI - -Easy to setup and preview a docs. - -### Install -```bash -npm i docsify-cli -g -``` - -### Setup - -Setup a boilerplate docs -```bash -docsify init docs -``` - -### Preview -Preview and serve your docs using -```bash -docsify serve docs -``` - -Read more [docsify-cli](https://github.com/QingWei-Li/docsify-cli) - - - -## More - -### Themes -Currently available `vue.css` and `buble.css` -```html - - -``` - -Minified files - -```html - - -``` - -### Multiple pages -If you need other pages, directly create the markdown file, such as `guide.md` is `/#/guide`. - -### Navbar -Code in `index.html` - -```html - -``` - -### CDN -- UNPKG [https://unpkg.com/docsify/](https://unpkg.com/docsify/) -- jsDelivr [http://www.jsdelivr.com/projects/docsify](http://www.jsdelivr.com/projects/docsify) - - -### Cover Page - -Generate a cover page with markdown. Create a `_coverpage.md` and set `data-coverpage` in the script tag. - -```markdown -![logo](_media/icon.svg) - -# docsify 1.2.0 +## docsify > A magical documentation site generator. -- Simple and lightweight (~12kb gzipped) -- Multiple themes +## What is it + +docsify generates your documentation website on the fly. Unlike GitBook, it does not generate static html files. It smartly loads and parses your Markdown files and displays them in website. All you need to do is create an `index.html` to start and [deploy it on GitHub Pages](/deploy). + +See the [Quick start](/quickstart) for more details. + +## Features + - Not build static html files +- Simple and lightweight (~13kB gzipped) +- Smart full-text search plugin +- Multiple themes +- Useful plugin API +- Compatible with IE9+ +## Examples -[GitHub](https://github.com/QingWei-Li/docsify/) -[Get Started](#quick-start) -``` +Check out the [Showcase](https://github.com/QingWei-Li/docsify/#showcase) to see use the docsify generated website. -#### Custom background -Currently the background of the cover page is generated randomly. We can customize the background color, or add a background image. +## Donate -```markdown -# docsify 1.2.0 +If you think docsify is helpful to you or that my work is valuable. I am happy if you can help me [buy a cup of coffee](https://github.com/QingWei-Li/donate). :heart: -> xxx - -[GitHub](https://github.com/QingWei-Li/docsify/) -[Get Started](#quick-start) - - -![](_media/bg.png) - -![color](#f0f0f0) -``` - -### Markdown parser - -Docsify uses [marked](https://github.com/chjj/marked) to parse markdown. We can configure it - -```js -window.$docsify = { - markdown: { - smartypants: true - } -} -``` - -And it can even be customized - -```js -window.$docsify = { - markdown: function(marked) { - // ... - - return marked - } -} -``` - -### Doc Helpers -#### p.tip - -`!> ` add your content will rendered as `

                                                                                                                                                                          content

                                                                                                                                                                          ` - -```markdown -!> Important **information** -``` - -It will be rendered - -```html -

                                                                                                                                                                          Important information

                                                                                                                                                                          -``` - -e.g. - -!> Important **information** - - -#### p.warn - -```markdown -?> todo info -``` - -?> todo info - -### Combining Vue -We can write the Vue syntax directly in the markdown file, when the Vue library is loaded into `index.html`. Default will automatically initialize a Vue instance, of course, we can also manually. - -index.html -```html - - -``` - -```markdown -
                                                                                                                                                                            -
                                                                                                                                                                          • {{ i }}
                                                                                                                                                                          • -
                                                                                                                                                                          -``` - -Manual initialization - -```markdown -
                                                                                                                                                                          - -

                                                                                                                                                                          Hello, {{ msg }}

                                                                                                                                                                          -
                                                                                                                                                                          - - -``` - -## Options - -You can add configurations in the script tag attributes or with `window.$docsify`. - -### repo -Display the [GitHub Corner](http://tholman.com/github-corners/) widget. - -```html - -``` - - -```js -window.$docsify = { - repo: 'your/repo' -} -``` - -### max-level -TOC level. - -```html - -``` - -```js -window.$docsify = { - maxLevel: 6 -} -``` - -### el -Root element. - -```html - -``` - -```js -window.$docsify = { - el: '#app' -} -``` - -### load-sidebar - -Load sidebar markdown file. If it is configured, load the current directory `_sidebar.md` by default. If the file doesn't exist, the sidebar will appear as a TOC. -** you should add `.nojekyll` into docs folder to prevent GitHub Pages from ignoring the `_sidebar.md`** - -```html - -``` - -You can specify a file: - -```html - -``` - -```js -window.$docsify = { - loadSidebar: '_sidebar.md' -} -``` - -The contents of the file can be: - -```markdown -- [Home](/) -- [Installation](/installation) -- Essentials - - [Getting Started](/getting-started) - - [Dynamic Route Matching](/dynamic-matching) - - [Nested Routes](/nested-routes) -``` - -### sub-max-level - -Display TOC in the custom sidebar. The default value is 0. - - -```html - -``` - - -```js -window.$docsify = { - maxSubLevel: 4 -} -``` - -### load-navbar - -Load navbar markdown file. If it is configured, load the current directory `_navbar.md` by default. - -```html - -``` - -You can specify a file: - -```html - -``` - -```js -window.$docsify = { - loadNavbar: '_navbar.md' -} -``` - -The contents of the file can be: - -```markdown -- [en](/) -- [chinese](/zh-cn) -``` - -If you write a sub level list, it will generate a dropdown list. - -```markdown -- [download](/download) -- language - - [en](/) - - [chinese](/zh-cn) -``` - - -### auto2top - -Scroll to the top on changing hash. - - -```html - - - -``` - -```js -window.$docsify = { - auto2top: true, - // auto2top: 50 -} -``` - -### homepage - -`README.md` will be rendered as a homepage for your website in the docs folder, but sometimes we want to specify another file as a homepage, or even use the `README.md` in your repo. - -```html - - - -``` - - -```js -window.$docsify = { - homepage: true -} -``` - - -### base-path - -If your HTML entry file and the markdown files are in different directories, we can use: - -```html - - - - -``` - - -```js -window.$docsify = { - basePath: '/base/' -} -``` - - -### coverpage - -Generate cover page. - -```html - - - -``` - -```js -window.$docsify = { - coverpage: true -} -``` - -### name - -Project name. It is displayed in the sidebar. - -```html - -``` - -```js -window.$docsify = { - name: 'docsify' -} -``` - -### name-link - -Name link. The default value is `window.location.pathname`. - - -```html - -``` - -```js -window.$docsify = { - nameLink: '/' -} -``` - -### theme-color - -Customize the theme color. - - -```html - -``` - -```js -window.$docsify = { - themeColor: '#3F51B5' -} -``` - -### alias - -Create aliases to certain other pages more easily. - -```js -window.$docsify = { - alias: { - '/changelog': 'https://raw.githubusercontent.com/QingWei-Li/docsify/master/CHANGELOG' - } -} -``` - -## Plugins - -### Full Text Search - -If a document can have a search, can enhance some user experience. Installing the search plugin is easy. Such as - - -```html - - -``` - -By default, the hyperlink on the current page is recognized and the content is saved in `localStorage`. You can also specify the path to the files. - -!> Configure the content before the plugin is installed. - -```js -window.$docsify = { - search: 'auto', // default - - search : [ - '/', // => /README.md - '/guide', // => /guide.md - '/get-started', // => /get-started.md - '/zh-cn/', // => /zh-cn/README.md - ], - - // Full configuration - search: { - maxAge: 86400000, // Expiration time, the default one day - paths: [], // or 'auto' - placeholder: 'Type to search' - } -} -``` - -### Google Analytics - -Install the plugin and configure the track id. - -```html - - -``` - -or - -```js -window.$docsify = { - ga: 'UA-XXXXX-Y' -} -``` diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 4733650..0a84e86 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -6,7 +6,6 @@ - Simple and lightweight (~13kB gzipped) - Not build static html files -- Support emoji :laughing: - Multiple themes diff --git a/docs/_images/nested-navbar.png b/docs/_images/nested-navbar.png new file mode 100644 index 0000000000000000000000000000000000000000..25f23418ea0a37a7b72b341eb33f894b5cb52cfe GIT binary patch literal 82965 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ǧlZH8N@S^ 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 literal 38681 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 + + + + +``` + +## Specific version + + +```html + + + + + +``` + +## Compressed file + + +```html + + + + + +``` + +## Other CDN + +[jsDelivr](http://www.jsdelivr.com/projects/docsify) is available. + diff --git a/docs/configuration.md b/docs/configuration.md index e69de29..5af2515 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -0,0 +1,256 @@ +# Configuration + +docsify supports two ways to configure. You can configure the `window.$docsify` or write configuration on the script tag via `data-*` attributes. + +```html + + + + + +``` + +Both ways are compatible. However, the first way is recommended. It is clear and can be configured in a separate file. + +!> In `window.$docsfiy`, the options should be written by camelCase. + +## el + +- Type: `String` +- Default: `#app` + +The DOM element to be mounted on initialization. It can be a CSS selector string or an actual HTMLElement. + +```js +window.$docsify = { + el: '#app' +} +``` + +## repo + +- Type: `String` +- Default: `null` + +Configure the repository url or a string of `username/repo` can add the [GitHub Corner](http://tholman.com/github-corners/) widget in the top right corner of the site. + +```js +window.$docsify = { + repo: 'QingWei-Li/docsify', + // or + repo: 'https://github.com/QingWei-Li/docsify/' +} +``` + + +## max-level + +- Type: `Number` +- Default: `6` + +Maximum Table of content level. + +```js +window.$docsify = { + maxLevel: 4 +} +``` + +## load-navbar + +- Type: `Boolean|String` +- Default: `false` + +Load navbar from Markdown file. If **true** it will be loaded from `_navbar.md`. + +```js +window.$docsify = { + // load from _navbar.md + loadNavbar: true, + + // load from nav.md + loadNavbar: 'nav.md' +} +``` + +## load-sidebar + +- Type: `Boolean|String` +- Default: `false` + + +Load sidebar from Markdown file. If **true** it will be loaded from `_sidebar.md`. + +```js +window.$docsify = { + // load from _sidebar.md + loadSidebar: true, + + // load from summary.md + loadSidebar: 'summary.md' +} +``` + +## sub-max-level + +- Type: `Number` +- Default: `0` + +Add TOC in custom sidebar. + +```js +window.$docsify = { + subMaxLevel: 3 +} +``` + + +## auto2top + +- Type: `Boolean` +- Default: `false` + + +Scrolls to the top of the screen when the route is changed. + +```js +window.$docsify = { + auto2top: true +} +``` + + +## homepage + +- Type: `String` +- Default: `README.md` + + +`README.md` in your docs folder will be treated as homepage for your website, but sometimes you may need to serve another file as your homepage. + +```js +window.$docsify = { + // Change to /home.md + homepage: 'home.md', + + // Or use the readme in your repo + homepage: 'https://raw.githubusercontent.com/QingWei-Li/docsify/master/README.md' +} +``` + +## base-path + +- Type: `String` + +Base path of the website. You can set it to another directory or another domain name. + +```js +window.$docsify = { + basePath: '/path/', + + // Load the files from another site + basePath: 'https://docsify.js.org/', + + // Even can load files from other repo + basePath: 'https://raw.githubusercontent.com/ryanmcdermott/clean-code-javascript/master/' +} +``` + + +## coverpage + +- Type: `Boolean|String` +- Default: `false` + +Activate the [cover feature](/cover). If ture, it will load from `_coverpage.md`. + +```js +window.$docsify = { + coverpage: true, + + // Custom file name + coverpage: 'cover.md' +} +``` + +## name + +- Type: `String` + + +Website name appears in the sidebar. + +```js +window.$docsify = { + name: 'docsify' +} +``` + +## name-link + +- Type: `String` +- Default: `window.location.pathname` + +The name of the link. + +```js +window.$docsify = { + nameLink: '/' +} +``` + +## markdown + +- Type: `Function` + +See [Markdown configuration](/markdown). + + +```js +window.$docsify = { + markdown: function (marked, renderer) { + // ... + return marked + } +} +``` + +## theme-color + +- Type: `String` + +Customize the theme color. +Use [CSS3 variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables) feature and polyfill in old browser. + +```js +window.$docsify = { + themeColor: '#3F51B5' +} +``` + +## alias + +- Type: `Object` + + +Set the route alias. You can freely manage routing rules. + +```js +window.$docsify = { + alias: { + '/zh-cn/changelog': '/changelog', + '/changelog': 'https://raw.githubusercontent.com/QingWei-Li/docsify/master/CHANGELOG' + } +} +``` diff --git a/docs/cover.md b/docs/cover.md index e69de29..7054a06 100644 --- a/docs/cover.md +++ b/docs/cover.md @@ -0,0 +1,57 @@ +# Cover + +Activate the cover feature by setting `coverpage`. The detail in [Configuration#coverpage](zh-cn/configuration#coverpage). + +## Basic usage + +Set `coverpage` to **true**, and create a `_coverpage.md`. You can see the effect in current website. + + +*index.html* + +```html + + +``` + +*_coverpage.md* + +```markdown +![logo](_media/icon.svg) + +# docsify + +> A magical documentation site generator. + +- Simple and lightweight (~12kb gzipped) +- Multiple themes +- Not build static html files + + +[GitHub](https://github.com/QingWei-Li/docsify/) +[Get Started](#quick-start) +``` + +!> A document site can have only one cover page. + +## Custom background + +The background color is generated randomly by default. You can customize the background color or image. + +*_coverpage.md* + +```markdown +# docsify + +[GitHub](https://github.com/QingWei-Li/docsify/) +[Get Started](#quick-start) + + +![](_media/bg.png) + +![color](#f0f0f0) +``` diff --git a/docs/custom-navbar.md b/docs/custom-navbar.md index e69de29..cc78741 100644 --- a/docs/custom-navbar.md +++ b/docs/custom-navbar.md @@ -0,0 +1,66 @@ +# Custom navbar + +You can create navbar in HTML file. But note that the link begins with `#/`. + +*index.html* + +```html + + +
                                                                                                                                                                          + +``` + +## Writing by Markdown + +You can custom navbar by Markdown file. Set the `loadNavbar` to **true** and create a `_navbar.md`. The detail in [Configuration#load-navbar](configuration#load-navbar). + +*index.html* + + +```html + + +``` + +*_navbar.md* + + +```markdown +- [En](/) +- [chinese](/zh-cn/) +``` + +`_navbar.md` is loaded from each level directory. If this directory doesn't have `_navbar.md`, it will fallback to parent directory. For example, the current path is `/guide/quick-start`, the `_navbar.md` will be loaded from `/guide/_navbar.md`. + +## Nesting + +You can create sub-lists by indenting items that are under a certain parent. + +```markdown +- Getting started + - [Quick start](/quickstart) + - [Writing more pages](/more-pages) + - [Custom navbar](/custom-navbar) + - [Cover page](/cover) + +- Configuration + - [Configuration](/configuration) + - [Themes](/themes) + - [Using plugins](/plugins) + - [Markdown configuration](/markdown) + - [Lanuage highlight](/language-highlight) +``` + +Example. + +![Nesting navbar](_images/nested-navbar.png "Nesting navbar") + + diff --git a/docs/deploy.md b/docs/deploy.md index e69de29..ed25b02 100644 --- a/docs/deploy.md +++ b/docs/deploy.md @@ -0,0 +1,33 @@ +# Deploy + +As as GitBook, you can deploy files to GitHub Pages or VPS. + +## GitHub Pages + +There're three places to populate your docs + +- `docs/` folder +- master branch +- gh-pages branch + +You can save your files in `./docs` and setting `master branch /docs folder`. + +![github pages](_images/deploy-github-pages.png) + +!> You can also save files in the root directory and select `master branch`. + +## VPS + +Try following nginx config. + +```nginx +server { + listen 80; + server_name your.domain.com; + + location / { + alias /path/to/dir/of/docs; + index index.html; + } +} +``` diff --git a/docs/helpers.md b/docs/helpers.md index e69de29..85a7035 100644 --- a/docs/helpers.md +++ b/docs/helpers.md @@ -0,0 +1,26 @@ +# Doc helper + +docsify extends Markdown syntax to make your documents more readable. + +## important content + +Suitable for displaying important information. + +```markdown +!> **Time** is money, my friend! +``` + +!> **Time** is money, my friend! + + +## General tips + +General tips. + + +```markdown +?> *TODO* unit test +``` + +?> *TODO* unit test + diff --git a/docs/language-highlight.md b/docs/language-highlight.md index e69de29..22a5700 100644 --- a/docs/language-highlight.md +++ b/docs/language-highlight.md @@ -0,0 +1,13 @@ +# language highlight + + +The code language highlight tool is [Prism](https://github.com/PrismJS/prism). Only supports CSS, JavaScipt and HTML by default. You can load its component to highlight the language you need. + + +```html + + + +``` + +?> See fully supported highlight component [files list](https://github.com/PrismJS/prism/tree/gh-pages/components). diff --git a/docs/markdown.md b/docs/markdown.md index e69de29..d384365 100644 --- a/docs/markdown.md +++ b/docs/markdown.md @@ -0,0 +1,26 @@ +# Markdown configuration + +The Markdown parser is [marked](https://github.com/chjj/marked). You can customize how docsify renders your Markdown content to HTML. + +```js +window.$docsify = { + markdown: { + smartypants: true + // ... + } +} +``` + +?> Configuration Options Reference [marked documentation](https://github.com/chjj/marked#options-1) + +Even you can completely customize the parsing rules. + +```js +window.$docsify = { + markdown: function(marked, renderer) { + // ... + + return marked + } +} +``` diff --git a/docs/more-pages.md b/docs/more-pages.md index e69de29..9ac0be5 100644 --- a/docs/more-pages.md +++ b/docs/more-pages.md @@ -0,0 +1,66 @@ +# More pages + +If you need more pages multi-level routing site. It is easy to achieve in docsify. A simple example: If you create a `guide.md`, then get the route is `/#/guide`. + +For example, the directory structure is as follows: + + +```text +-| docs/ + -| README.md + -| guide.md + -| zh-cn/ + -| README.md + -| guide.md +``` + +Matching routes + + +```text +docs/README.md => http://domain.com +docs/guide.md => http://domain.com/guide +docs/zh-cn/README.md => http://domain.com/zh-cn/ +docs/zh-cn/guide.md => http://domain.com/zh-cn/guide +``` + +## Custom sidebar + +By default, the TOC in sidebar is automatically generated based on Markdown file. You can create a Table of Contents page to list down pages in your site. + +First, you need to set `loadSidebar` to **true**. The detail in [Configuration#load-sidebar](configuration#load-sidebar). + +```html + + +``` + +Create the `_sidebar.md` + +```markdown +- [Home](/) +- [Guide](/guide) +``` + +!> Need create a `.nojekyll` in `./docs` to prevent GitHub Pages from ignoring files that begin with an underscore. + +`_sidebar.md` is loaded from each level directory. If this directory doesn't have `_sidebar.md`, it will fallback to parent directory. For example, the current path is `/guide/quick-start`, the `_sidebar.md` will be loaded from `/guide/_sidebar.md`. + +## Table of Contents + +Custom sidebar can also be automatically generate TOC by setting `subMaxLevel`. The detail in [Configuration#sub-max-level](configuration#sub-max-level). + +```html + + +``` + diff --git a/docs/plugins.md b/docs/plugins.md index e69de29..402588f 100644 --- a/docs/plugins.md +++ b/docs/plugins.md @@ -0,0 +1,119 @@ +# Using plugins + +## List of Plugins + +### Full text search + +By default, the hyperlink on the current page is recognized and the content is saved in `localStorage`. You can also specify the path to the files. + + +```html + + + +``` + + +### Google Analytics + +Install the plugin and configure the track id. + +```html + + + +``` + +Configure by `data-ga`. + + +```html + + +``` + + +## Write a plugin + +A plugin is simply a function that takes `hook` as arguments. +The hook supports handling asynchronous tasks. + +#### Full configuration + +```js +window.$docsify = { + plugins: [ + function (hook) { + hook.init(function() { + // Called when the script starts running, only trigger once. + }) + + hook.beforeEach(function(content) { + // Invoked each time before parsing the Markdown file. + // ... + return content + }) + + hook.afterEach(function(html, next) { + // Invoked each time after the Markdown file is parsed. + // beforeEach and afterEach support asynchronous。 + // ... + // call `next(html)` when task is done. + next(html) + }) + + hook.ready(function() { + // Called after initialization is complete. Only trigger once. + }) + } + ] +} +``` + +!> You can get internal methods through `window.Docsify.utils`. + +#### Example + +Add footer component in each pages. + +```js +window.$docsify = { + plugins: [ + function (hook) { + var footer = [ + '
                                                                                                                                                                          ', + '' + ].join('') + + hook.afterEach(function (html) { + return html + footer + }) + } + ] +} +``` diff --git a/docs/quickstart.md b/docs/quickstart.md index 5297e73..0628e70 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -1,3 +1,63 @@ # Quick start -Remme \ No newline at end of file +Recommended install `docsify-cli` globally, which can help us to initialize and preview the website locally. + +```bash +npm i docsify-cli -g +``` + +## initialize + +If you want to write the documentation in `./docs` directory, you can use the `init` command. + +```bash +docsify init ./docs +``` + +## Writing content + +After the init is complete, you can see the file list in the docs directory. + + +- `index.html` as the entry file +- `README.md` as the home page +- `.nojekyll` can prevent GitHub Pages from ignoring files that begin with an underscore + +You can easily update the documentation in `docs/README.md`, of course you can add [more pages](more-pages). + +## Preview your site + +Run the local server via `docsify serve`. You can preview your site in browser via http://localhost:3000. + + +```bash +docsify serve docs +``` + +?> More usages of reference [docsify-cli documentation](https://github.com/QingWei-Li/docsify-cli). + +## Manually + +If you don't like npm or feel the trouble to install the tool. What we need is an `index.html`. + +*index.html* + +```html + + + + + + + +
                                                                                                                                                                          + + + +``` + +If your system has Python, you can easily to run a static server to preview your site. + +```bash +cd docs && python -m SimpleHTTPServer 3000 +``` diff --git a/docs/themes.md b/docs/themes.md index e69de29..67b9a5d 100644 --- a/docs/themes.md +++ b/docs/themes.md @@ -0,0 +1,14 @@ +# Themes + +There are currently three themes available. Copy [Vue](//vuejs.org) and [buble](//buble.surge.sh) website custom theme and [@liril-net](https://github.com/liril-net) contribution to the theme of the black style. + + +```html + + + +``` + +!> This compressed files in `/lib/themes/`. + +If you have any ideas or would like to develop new theme, welcome submit [PR](https://github.com/QingWei-Li/docsify/pulls). diff --git a/docs/vue.md b/docs/vue.md index e69de29..40b98fd 100644 --- a/docs/vue.md +++ b/docs/vue.md @@ -0,0 +1,89 @@ +# Compatible with Vue + +You can write Vue components directly in the Markdown file, and it will be parsed. +You can use this feature to write vue demo and documentation together. + +## Basic usage + +Load the Vue in `index.html`. + +```html + + +``` + +Then you can immediately write Vue code at Markdown file. +`new Vue({ el: 'main' })` script is executed by default to create instance. + +*README.md* + +```markdown +# Vue guide + +`v-for` usage. + +```html +
                                                                                                                                                                            +
                                                                                                                                                                          • {{ i }}
                                                                                                                                                                          • +
                                                                                                                                                                          +`` + +
                                                                                                                                                                            +
                                                                                                                                                                          • {{ i }}
                                                                                                                                                                          • +
                                                                                                                                                                          +``` + +You can manually initialize a Vue instance. + +*README.md* + +```markdown +# Vue demo + +
                                                                                                                                                                          hello {{ msg }}
                                                                                                                                                                          + + +``` + +!> In a Markdown file, only the script within the first script tag is executed. + +## Combine Vuep to write playground + +[Vuep](https://github.com/QingWei-Li/vuep) is a component for rendering Vue components with live editor and preview. Supports Vue component spec and JSX. + +*index.html* + +```html + + + +``` + +*README.md* +```markdown +# Vuep + + + + + +``` + +?> Example Refer to the vuep [documentation](https://qingwei-li.github.io/vuep/). + diff --git a/docs/zh-cn/README.md b/docs/zh-cn/README.md index 27d2647..00035eb 100644 --- a/docs/zh-cn/README.md +++ b/docs/zh-cn/README.md @@ -6,9 +6,9 @@ docsify 是一个动态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 `.md` 转成 `.html` 文件,所有转换工作都是在运行时进行。 -这将非常实用,如果只是需要快速的写一个小型的文档,或者不想因为生成的一堆 `.html` 文件“污染” commit 记录,只需要创建一个 `index.html` 就可以开始写文档而且直接[部署在 GitHub Pages](zh-cn/deploy)。 +这将非常实用,如果只是需要快速的搭建一个小型的文档网站,或者不想因为生成的一堆 `.html` 文件“污染” commit 记录,只需要创建一个 `index.html` 就可以开始写文档而且直接[部署在 GitHub Pages](zh-cn/deploy)。 -可以查看[快速开始](zh-cn/quickstart)一章了解详情。 +查看[快速开始](zh-cn/quickstart)了解详情。 ## 特性 - 无需构建,写完文档直接发布 @@ -24,4 +24,4 @@ docsify 是一个动态生成文档网站的工具。不同于 GitBook、Hexo ## 捐赠 -如果你觉得 docsify 对你有帮助,或者想对我微小的工作一些资瓷,欢迎给我[捐赠](https://github.com/QingWei-Li/donate)。 \ No newline at end of file +如果你觉得 docsify 对你有帮助,或者想对我微小的工作一点资瓷,欢迎给我[捐赠](https://github.com/QingWei-Li/donate)。 diff --git a/docs/zh-cn/cdn.md b/docs/zh-cn/cdn.md index f585793..b9697f5 100644 --- a/docs/zh-cn/cdn.md +++ b/docs/zh-cn/cdn.md @@ -1,6 +1,6 @@ # CDN -推荐使用 [UNPKG](//unpkg.com) —— 能及时获取到最新版。 +推荐使用 [unpkg](//unpkg.com) —— 能及时获取到最新版。 ## 获取最新版本 diff --git a/docs/zh-cn/configuration.md b/docs/zh-cn/configuration.md index 9dece41..c79db81 100644 --- a/docs/zh-cn/configuration.md +++ b/docs/zh-cn/configuration.md @@ -1,6 +1,6 @@ # 配置项 -docsify 有两种配置参数的方式。一种是配置 `window.$docsify` 对象,另一种是给 `script` 标签添加 `data-*` 属性。 +docsify 有两种配置参数的方式。一种是配置在 `window.$docsify` 里,另一种是给 `script` 标签添加 `data-*` 属性。 ```html @@ -137,7 +137,7 @@ window.$docsify = { - 类型:`String` - 默认值: `README.md` -设置首页文件加载路径。适合不想将 `README.md` 作为入口文件渲染,或者是文档在仓库根目录的情况使用。 +设置首页文件加载路径。适合不想将 `README.md` 作为入口文件渲染,或者是文档存放在其他位置的情况使用。 ```js window.$docsify = { @@ -162,7 +162,7 @@ window.$docsify = { // 直接渲染其他域名的文档 basePath: 'https://docsify.js.org/', - // 甚至直接渲染其他仓库下的内容 + // 甚至直接渲染其他仓库 readme basePath: 'https://raw.githubusercontent.com/ryanmcdermott/clean-code-javascript/master/' } ``` @@ -216,11 +216,20 @@ window.$docsify = { 参考 [Markdown 配置](/zh-cn/markdown)。 +```js +window.$docsify = { + markdown: function (marked, renderer) { + // ... + return marked + } +} +``` + ## theme-color - 类型:`String` -替换默认的主题配置。利用 CSS3 支持变量的特性,对于老的浏览器有 polyfill 处理。 +替换主题色。利用 [CSS3 支持变量]((https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables)的特性,对于老的浏览器有 polyfill 处理。 ```js window.$docsify = { @@ -230,6 +239,8 @@ window.$docsify = { ## alias +- 类型:`Object` + 定义路由别名,可以更自由的定义路由规则。 diff --git a/docs/zh-cn/cover.md b/docs/zh-cn/cover.md index cd6a566..01efe71 100644 --- a/docs/zh-cn/cover.md +++ b/docs/zh-cn/cover.md @@ -1,10 +1,12 @@ # 封面 -一个有封面的文档网站会给用户留下好的印象,通过设置 `coverpage` 参数,可以开启渲染封面的功能。具体用法见见[配置项#coverpage](zh-cn/configuration#coverpage)。 +通过设置 `coverpage` 参数,可以开启渲染封面的功能。具体用法见[配置项#coverpage](zh-cn/configuration#coverpage)。 ## 基本用法 -封面的生成同样是从 markdown 文件渲染来的。开启渲染封面功能后在文档根目录创建 `_coverpage.md` 文件。 +封面的生成同样是从 markdown 文件渲染来的。开启渲染封面功能后在文档根目录创建 `_coverpage.md` 文件。渲染效果如本文档。 + +*index.html* ```html ``` -其他的语言高亮插件可以查看[Prims 仓库](https://github.com/PrismJS/prism/tree/gh-pages/components)。 \ No newline at end of file +?> 其他的语言高亮插件可以查看[Prims 仓库](https://github.com/PrismJS/prism/tree/gh-pages/components)。 \ No newline at end of file diff --git a/docs/zh-cn/markdown.md b/docs/zh-cn/markdown.md index 579822f..d134e1f 100644 --- a/docs/zh-cn/markdown.md +++ b/docs/zh-cn/markdown.md @@ -1,6 +1,6 @@ # Markdown 配置 -内置的 Markdown 解析插件是 [marked](https://github.com/chjj/marked),可以修改它的配置。 +内置的 Markdown 解析器是 [marked](https://github.com/chjj/marked),可以修改它的配置。 ```js window.$docsify = { @@ -17,7 +17,7 @@ window.$docsify = { ```js window.$docsify = { - markdown: function(marked) { + markdown: function(marked, renderer) { // ... return marked diff --git a/docs/zh-cn/more-pages.md b/docs/zh-cn/more-pages.md index 5c558e0..455b203 100644 --- a/docs/zh-cn/more-pages.md +++ b/docs/zh-cn/more-pages.md @@ -1,8 +1,8 @@ # 多页文档 -如果需要创建多个页面,或者需要提供多语言的文档。在 docsify 里也能很容易的实现。例如创建一个 `guide.md` 文件,那么对应的路由就是 `/#/guide`。 +如果需要创建多个页面,或者需要多级路由的网站,在 docsify 里也能很容易的实现。例如创建一个 `guide.md` 文件,那么对应的路由就是 `/#/guide`。 -一个简单的例子: +假设你的目录结构如下: ```text -| docs/ @@ -26,7 +26,7 @@ docs/zh-cn/guide.md => http://domain.com/zh-cn/guide 默认情况下,侧边栏会根据当前文档的标题生成目录。也可以设置文档链接,通过 Markdown 文件生成,效果如当前的文档的侧边栏。 -首先配置 docsify 的 `loadSidebar` 选项,具体配置规则见[配置项#load-sidebar](zh-cn/configuration#load-sidebar)一节。 +首先配置 `loadSidebar` 选项,具体配置规则见[配置项#load-sidebar](zh-cn/configuration#load-sidebar)。 ```html ``` -接着就可以直接在 Markdown 里写 Vue 了。默认会自动执行 `new Vue({ el: 'main' })` 脚本。 +接着就可以愉快地在 Markdown 里写 Vue 了。默认会执行 `new Vue({ el: 'main' })` 创建示例。 *README.md* @@ -40,6 +40,7 @@ Docsify 的一大特色是可以配合 Vue 一起使用。你可以直接在 Mar # Vue 的基本用法
                                                                                                                                                                          hello {{ msg }}
                                                                                                                                                                          + diff --git a/docs/zh-cn/_sidebar.md b/docs/zh-cn/_sidebar.md index e911c38..952a6fd 100644 --- a/docs/zh-cn/_sidebar.md +++ b/docs/zh-cn/_sidebar.md @@ -4,7 +4,7 @@ - [定制导航栏](zh-cn/custom-navbar) - [封面](zh-cn/cover) -- 配置 +- 定制化 - [配置项](zh-cn/configuration) - [主题](zh-cn/themes) - [使用插件](zh-cn/plugins) diff --git a/docs/zh-cn/vue.md b/docs/zh-cn/vue.md index 37dd807..3c811c4 100644 --- a/docs/zh-cn/vue.md +++ b/docs/zh-cn/vue.md @@ -12,7 +12,7 @@ ``` -接着就可以愉快地在 Markdown 里写 Vue 了。默认会执行 `new Vue({ el: 'main' })` 创建示例。 +接着就可以愉快地在 Markdown 里写 Vue 了。默认会执行 `new Vue({ el: '#main' })` 创建示例。 *README.md* @@ -43,7 +43,7 @@ diff --git a/src/core/render/index.js b/src/core/render/index.js index 5fcaf1d..4a744bd 100644 --- a/src/core/render/index.js +++ b/src/core/render/index.js @@ -28,9 +28,9 @@ function renderMain (html) { // execute script this.config.executeScript && executeScript() - if (!this.config.executeScript - && typeof window.Vue !== 'undefined' - && !executeScript()) { + if (!this.config.executeScript && + typeof window.Vue !== 'undefined' && + !executeScript()) { window.__EXECUTE_RESULT__ = new window.Vue().$mount('#main') } From b7768b1b3c1a9914427c7219351ae1d8c60650a5 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 18 Feb 2017 21:59:19 +0800 Subject: [PATCH 104/826] feat(render): add auto header --- src/core/config.js | 1 + src/core/event/sidebar.js | 44 +++++++++++++++++++++++-------------- src/core/render/compiler.js | 5 +---- src/core/render/index.js | 16 +++++++++++--- src/core/route/hash.js | 4 ++-- src/core/util/dom.js | 6 ++++- 6 files changed, 50 insertions(+), 26 deletions(-) diff --git a/src/core/config.js b/src/core/config.js index a1bf9bb..230348a 100644 --- a/src/core/config.js +++ b/src/core/config.js @@ -14,6 +14,7 @@ const config = merge({ name: '', themeColor: '', nameLink: window.location.pathname, + autoHeader: false, ga: '' }, window.$docsify) diff --git a/src/core/event/sidebar.js b/src/core/event/sidebar.js index aa4475b..9bb1d07 100644 --- a/src/core/event/sidebar.js +++ b/src/core/event/sidebar.js @@ -1,43 +1,51 @@ import { isMobile } from '../util/env' -import { getNode, on, body, findAll, toggleClass } from '../util/dom' +import * as dom from '../util/dom' import { getHash } from '../route/hash' +const title = dom.$.title /** * Toggle button */ export function btn (el) { - const toggle = () => body.classList.toggle('close') + const toggle = () => dom.body.classList.toggle('close') - el = getNode(el) - on(el, 'click', toggle) + el = dom.getNode(el) + dom.on(el, 'click', toggle) if (isMobile) { - const sidebar = getNode('.sidebar') + const sidebar = dom.getNode('.sidebar') - on(sidebar, 'click', () => { + dom.on(sidebar, 'click', () => { toggle() - setTimeout(() => getAndActive(true), 0) + setTimeout(() => getAndActive(sidebar, true, true), 0) }) } } export function sticky () { - const cover = getNode('section.cover') + const cover = dom.getNode('section.cover') if (!cover) return const coverHeight = cover.getBoundingClientRect().height if (window.pageYOffset >= coverHeight || cover.classList.contains('hidden')) { - toggleClass(body, 'add', 'sticky') + dom.toggleClass(dom.body, 'add', 'sticky') } else { - toggleClass(body, 'remove', 'sticky') + dom.toggleClass(dom.body, 'remove', 'sticky') } } -export function getAndActive (el, isParent) { - const dom = getNode(el) - const links = findAll(dom, 'a') - const hash = '#' + getHash() +/** + * Get and active link + * @param {string|element} el + * @param {Boolean} isParent acitve parent + * @param {Boolean} autoTitle auto set title + * @return {element} + */ +export function getAndActive (el, isParent, autoTitle) { + el = dom.getNode(el) + const links = dom.findAll(el, 'a') + const hash = '#' + getHash() let target links @@ -48,11 +56,15 @@ export function getAndActive (el, isParent) { if (hash.indexOf(href) === 0 && !target) { target = a - toggleClass(node, 'add', 'active') + dom.toggleClass(node, 'add', 'active') } else { - toggleClass(node, 'remove', 'active') + dom.toggleClass(node, 'remove', 'active') } }) + if (autoTitle) { + dom.$.title = target ? `${target.innerText} - ${title}` : title + } + return target } diff --git a/src/core/render/compiler.js b/src/core/render/compiler.js index c4abe6a..92d27ba 100644 --- a/src/core/render/compiler.js +++ b/src/core/render/compiler.js @@ -67,10 +67,7 @@ renderer.code = function (code, lang = '') { return `
                                                                                                                                                                          ${hl}
                                                                                                                                                                          ` } renderer.link = function (href, title, text) { - if (!/:|(\/{2})/.test(href)) { - href = toURL(href) - } - return `${text}` + return `${text}` } renderer.paragraph = function (text) { if (/^!>/.test(text)) { diff --git a/src/core/render/index.js b/src/core/render/index.js index 4a744bd..746fdf7 100644 --- a/src/core/render/index.js +++ b/src/core/render/index.js @@ -46,12 +46,22 @@ export function renderMixin (proto) { } proto._renderSidebar = function (text) { - const { maxLevel, subMaxLevel } = this.config + const { maxLevel, subMaxLevel, autoHeader } = this.config this._renderTo('.sidebar-nav', sidebar(text, maxLevel)) - subSidebar(getAndActive('.sidebar-nav', true), subMaxLevel) + const active = getAndActive('.sidebar-nav', true, true) + subSidebar(active, subMaxLevel) // bind event scrollActiveSidebar() + + if (autoHeader && active) { + const main = dom.getNode('#main') + if (main.children[0].tagName !== 'H1') { + const h1 = dom.create('h1') + h1.innerText = active.innerText + dom.before(main, h1) + } + } } proto._renderNav = function (text) { @@ -128,7 +138,7 @@ export function initRender (vm) { // Render main app vm._renderTo(el, html, true) // Add nav - dom.body.insertBefore(navEl, dom.body.children[0]) + dom.before(dom.body, navEl) if (config.themeColor) { dom.$.head += tpl.theme(config.themeColor) diff --git a/src/core/route/hash.js b/src/core/route/hash.js index 0ca7880..60e0164 100644 --- a/src/core/route/hash.js +++ b/src/core/route/hash.js @@ -1,5 +1,5 @@ import { merge, cached } from '../util/core' -import { parseQuery, stringifyQuery } from './util' +import { parseQuery, stringifyQuery, cleanPath } from './util' function replaceHash (path) { const i = window.location.href.indexOf('#') @@ -70,5 +70,5 @@ export function toURL (path, params) { route.query = merge({}, route.query, params) path = route.path + stringifyQuery(route.query) - return '#' + path + return cleanPath('#/' + path) } diff --git a/src/core/util/dom.js b/src/core/util/dom.js index 06016a5..bbd3601 100644 --- a/src/core/util/dom.js +++ b/src/core/util/dom.js @@ -52,6 +52,10 @@ export function appendTo (target, el) { return target.appendChild(el) } +export function before (target, el) { + return target.insertBefore(el, target.children[0]) +} + export function on (el, type, handler) { isFn(type) ? window.addEventListener(el, type) @@ -72,5 +76,5 @@ export const off = function on (el, type, handler) { * toggleClass(el, 'add', 'active') => el.classList.add('active') */ export function toggleClass (el, type, val) { - el.classList[val ? type : 'toggle'](val || type) + el && el.classList[val ? type : 'toggle'](val || type) } From c108645e3483065639e6cb4a59d843a3fc523e0f Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 18 Feb 2017 22:12:17 +0800 Subject: [PATCH 105/826] docs: add autoHeader --- docs/configuration.md | 13 +++++++++++++ docs/zh-cn/configuration.md | 14 +++++++++++++- docs/zh-cn/quickstart.md | 1 - 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 5af2515..487df25 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -254,3 +254,16 @@ window.$docsify = { } } ``` + +## auto-header + +- type: `Boolean` + +If `loadSidebar` and `autoHeader` are both enabled, for each link in _sidebar.md, prepend a header to the page before converting it to html. [#78](https://github.com/QingWei-Li/docsify/issues/78) + +```js +window.$docsify = { + loadSidebar: true, + autoHeader: true +} +``` diff --git a/docs/zh-cn/configuration.md b/docs/zh-cn/configuration.md index 23c96d4..8ab8157 100644 --- a/docs/zh-cn/configuration.md +++ b/docs/zh-cn/configuration.md @@ -229,7 +229,7 @@ window.$docsify = { - 类型:`String` -替换主题色。利用 [CSS3 支持变量]((https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables)的特性,对于老的浏览器有 polyfill 处理。 +替换主题色。利用 [CSS3 支持变量](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables)的特性,对于老的浏览器有 polyfill 处理。 ```js window.$docsify = { @@ -253,3 +253,15 @@ window.$docsify = { } ``` +## auto-header + +- 类型:`Boolean` + +同时设置 `loadSidebar` 和 `autoHeader` 后,可以根据 `_sidebar.md` 的内容自动为每个页面增加标题。[#78](https://github.com/QingWei-Li/docsify/issues/78) + +```js +window.$docsify = { + loadSidebar: true, + autoHeader: true +} +``` diff --git a/docs/zh-cn/quickstart.md b/docs/zh-cn/quickstart.md index c4ebc28..8ae891f 100644 --- a/docs/zh-cn/quickstart.md +++ b/docs/zh-cn/quickstart.md @@ -1,4 +1,3 @@ -# 快速开始 推荐安装 `docsify-cli` 工具,可以方便创建及本地预览文档网站。 From c7e09c34a719180d9a752d9fa44835a5de37dc3d Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 18 Feb 2017 22:13:03 +0800 Subject: [PATCH 106/826] fix(compiler): link --- src/core/render/compiler.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/core/render/compiler.js b/src/core/render/compiler.js index 92d27ba..70e8991 100644 --- a/src/core/render/compiler.js +++ b/src/core/render/compiler.js @@ -67,7 +67,13 @@ renderer.code = function (code, lang = '') { return `
                                                                                                                                                                          ${hl}
                                                                                                                                                                          ` } renderer.link = function (href, title, text) { - return `${text}` + let blank = '' + if (!/:|(\/{2})/.test(href)) { + href = toURL(href) + } else { + blank = ' target="_blank"' + } + return `${text}` } renderer.paragraph = function (text) { if (/^!>/.test(text)) { From 4b643864652bd34d8b69c08c2e9f14e44d798450 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 18 Feb 2017 22:13:45 +0800 Subject: [PATCH 107/826] docs: move changelog to history --- CHANGELOG.md | 97 -------------------------------------------------- HISTORY.md | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+), 97 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 76f6013..e69de29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,97 +0,0 @@ -### 2.4.3 - -> 2017-02-15 - -#### Bug fixes -* fix emoji replacing error (#76) - -### 2.4.2 - -> 2017-02-14 - -#### Bug fixes -- fix(index): load file path error - - -### 2.4.1 - -> 2017-02-13 - -#### Bug fixes -- fix(index): cover page - -### 2.4.0 - -> 2017-02-13 - -#### Features - -- feat(hook): add `doneEach` - - -### 2.3.0 - -> 2017-02-13 - -#### Features - -- feat(src): add alias feature -- docs: update all documents -- feat(src): dynamic title -- feat(hook): support custom plugin -- feat(themes): add dark theme - -#### Bug fixes -- fix(event): `auto2top` has no effect on a FF mobile browser, fixed #67 -- fix: sidebar style -- fix(render): fix render link - -### 2.2.1 - -> 2017-02-11 - -#### Bug fixes -- fix(search): crash when not content, fixed #68 -- fix(event): scroll active sidebar -- fix(search): not work in mobile - -### 2.2.0 - -#### Features -- Add `Google Analytics` plugin. -```html - - -``` - -### 2.1.0 -#### Features -- Add search plugin -```html - - -``` - -#### Bug fixes -- fix sidebar style - -### 2.0.3 -#### Bug fixes -- fix: rendering emojis -- fix: css var polyfill - -### 2.0.2 - -#### Bug fixes -- fix button style in cover page. - -### 2.0.1 -#### Bug fixes -- border style. - -### 2.0.0 -#### Features -- Customize the theme color - -#### Break change -- Remove `data-router`, `data-sidebar`, `data-sidebar-toggle` APIs diff --git a/HISTORY.md b/HISTORY.md index d3cc3e3..6c9358e 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,3 +1,102 @@ +### 2.4.3 + +> 2017-02-15 + +#### Bug fixes +* fix emoji replacing error (#76) + +### 2.4.2 + +> 2017-02-14 + +#### Bug fixes +- fix(index): load file path error + + +### 2.4.1 + +> 2017-02-13 + +#### Bug fixes +- fix(index): cover page + +### 2.4.0 + +> 2017-02-13 + +#### Features + +- feat(hook): add `doneEach` + + +### 2.3.0 + +> 2017-02-13 + +#### Features + +- feat(src): add alias feature +- docs: update all documents +- feat(src): dynamic title +- feat(hook): support custom plugin +- feat(themes): add dark theme + +#### Bug fixes +- fix(event): `auto2top` has no effect on a FF mobile browser, fixed #67 +- fix: sidebar style +- fix(render): fix render link + +### 2.2.1 + +> 2017-02-11 + +#### Bug fixes +- fix(search): crash when not content, fixed #68 +- fix(event): scroll active sidebar +- fix(search): not work in mobile + +### 2.2.0 + +#### Features +- Add `Google Analytics` plugin. +```html + + +``` + +### 2.1.0 +#### Features +- Add search plugin +```html + + +``` + +#### Bug fixes +- fix sidebar style + +### 2.0.3 +#### Bug fixes +- fix: rendering emojis +- fix: css var polyfill + +### 2.0.2 + +#### Bug fixes +- fix button style in cover page. + +### 2.0.1 +#### Bug fixes +- border style. + +### 2.0.0 +#### Features +- Customize the theme color + +#### Break change +- Remove `data-router`, `data-sidebar`, `data-sidebar-toggle` APIs + + ### 1.10.5 #### Bug fixes - fix initialize the Vue instance From 3e7d6ab26ceb5b96fd1f1a3123c5c71ad8d5bca2 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 18 Feb 2017 23:04:52 +0800 Subject: [PATCH 108/826] docs: add executeScript demo --- docs/configuration.md | 22 ++++++++++++++++++++ docs/themes.md | 34 +++++++++++++++++++++++++++++++ docs/zh-cn/configuration.md | 22 ++++++++++++++++++++ docs/zh-cn/themes.md | 40 ++++++++++++++++++++++++++++++++++++- src/core/config.js | 1 + src/core/render/index.js | 10 +++++++--- 6 files changed, 125 insertions(+), 4 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 487df25..4b05476 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -267,3 +267,25 @@ window.$docsify = { autoHeader: true } ``` + +## execute-script + +- type: `Boolean` + +Execute the script on the page. Only parse the first script tag([demo](themes)). If Vue is present, it is turned on by default. + +```js +window.$docsify = { + executeScript: true +} +``` + +```markdown +## This is test + + + +``` + diff --git a/docs/themes.md b/docs/themes.md index 67b9a5d..ed5ae40 100644 --- a/docs/themes.md +++ b/docs/themes.md @@ -12,3 +12,37 @@ There are currently three themes available. Copy [Vue](//vuejs.org) and [buble]( !> This compressed files in `/lib/themes/`. If you have any ideas or would like to develop new theme, welcome submit [PR](https://github.com/QingWei-Li/docsify/pulls). + +#### Click to preview + + + + + + + + diff --git a/docs/zh-cn/configuration.md b/docs/zh-cn/configuration.md index 8ab8157..685de3c 100644 --- a/docs/zh-cn/configuration.md +++ b/docs/zh-cn/configuration.md @@ -265,3 +265,25 @@ window.$docsify = { autoHeader: true } ``` + +## execute-script + +- 类型:`Boolean` + +执行文档里的 script 标签里的脚本,只执行第一个 script ([demo](zh-cn/themes))。 如果 Vue 存在,则自动开启。 + +```js +window.$docsify = { + executeScript: true +} +``` + +```markdown +## This is test + + + +``` + diff --git a/docs/zh-cn/themes.md b/docs/zh-cn/themes.md index b728d7a..28596e2 100644 --- a/docs/zh-cn/themes.md +++ b/docs/zh-cn/themes.md @@ -8,6 +8,44 @@ ``` +vue.css +buble.css +dark.css + !> CSS 的压缩文件位于 `/lib/themes/` -如果你有其他想法或者想开发别的主题,欢迎提 [PR](https://github.com/QingWei-Li/docsify/pulls)。 \ No newline at end of file +如果你有其他想法或者想开发别的主题,欢迎提 [PR](https://github.com/QingWei-Li/docsify/pulls)。 + +#### 点击切换主题 + + + + + + + + diff --git a/src/core/config.js b/src/core/config.js index 230348a..f218e6d 100644 --- a/src/core/config.js +++ b/src/core/config.js @@ -15,6 +15,7 @@ const config = merge({ themeColor: '', nameLink: window.location.pathname, autoHeader: false, + executeScript: false, ga: '' }, window.$docsify) diff --git a/src/core/render/index.js b/src/core/render/index.js index 746fdf7..370a570 100644 --- a/src/core/render/index.js +++ b/src/core/render/index.js @@ -14,7 +14,9 @@ function executeScript () { const code = script.innerText.trim() if (!code) return false - window.__EXECUTE_RESULT__ = new Function('return ' + code)() + setTimeout(_ => { + window.__EXECUTE_RESULT__ = new Function(code)() + }, 0) } function renderMain (html) { @@ -31,11 +33,13 @@ function renderMain (html) { if (!this.config.executeScript && typeof window.Vue !== 'undefined' && !executeScript()) { - window.__EXECUTE_RESULT__ = new window.Vue().$mount('#main') + setTimeout(_ => { + window.__EXECUTE_RESULT__ = new window.Vue().$mount('#main') + }, 0) } if (this.config.auto2top) { - setTimeout(() => scroll2Top(this.config.auto2top), 0) + scroll2Top(this.config.auto2top) } } From 7b6a2ac404110b153b5fc2ee60adf19a0270f22c Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 19 Feb 2017 00:10:38 +0800 Subject: [PATCH 109/826] fix(render): support html file --- src/core/event/scroll.js | 2 +- src/core/fetch/index.js | 7 ++++++- src/core/render/compiler.js | 8 ++++++-- src/core/render/index.js | 20 ++++++++++++++------ src/core/render/tpl.js | 2 +- src/core/route/index.js | 2 +- src/core/route/util.js | 12 ++++++------ 7 files changed, 35 insertions(+), 18 deletions(-) diff --git a/src/core/event/scroll.js b/src/core/event/scroll.js index 5cfdb11..6b4eab7 100644 --- a/src/core/event/scroll.js +++ b/src/core/event/scroll.js @@ -9,7 +9,6 @@ export function scrollActiveSidebar () { const anchors = dom.findAll('.anchor') const sidebar = dom.find('.sidebar') const wrap = dom.find(sidebar, '.sidebar-nav') - const height = sidebar.clientHeight const nav = {} const lis = dom.findAll(sidebar, 'li') @@ -54,6 +53,7 @@ export function scrollActiveSidebar () { // scroll into view // https://github.com/vuejs/vuejs.org/blob/master/themes/vue/source/js/common.js#L282-L297 if (!hoverOver && dom.body.classList.contains('sticky')) { + const height = sidebar.clientHeight const curOffset = 0 const cur = active.offsetTop + active.clientHeight + 40 const isInView = ( diff --git a/src/core/fetch/index.js b/src/core/fetch/index.js index e3f4c0d..8465449 100644 --- a/src/core/fetch/index.js +++ b/src/core/fetch/index.js @@ -15,6 +15,9 @@ export function fetchMixin (proto) { last = get(this.$getFile(path), true) + // Current page is html + this.isHTML = /\.html$/g.test(path) + // Load main content last.then(text => { this._renderMain(text) @@ -42,13 +45,15 @@ export function fetchMixin (proto) { proto._fetchCover = function () { const { coverpage } = this.config const root = getRoot(this.route.path) + const path = this.$getFile(root + coverpage) if (this.route.path !== '/' || !coverpage) { this._renderCover() return } - get(this.$getFile(root + coverpage)) + this.coverIsHTML = /\.html$/g.test(path) + get(path) .then(text => this._renderCover(text)) } diff --git a/src/core/render/compiler.js b/src/core/render/compiler.js index 70e8991..d369c1d 100644 --- a/src/core/render/compiler.js +++ b/src/core/render/compiler.js @@ -5,7 +5,7 @@ import { genTree } from './gen-tree' import { slugify, clearSlugCache } from './slugify' import { emojify } from './emojify' import { toURL, parse } from '../route/hash' -import { getBasePath, getPath } from '../route/util' +import { getBasePath, isResolvePath, getPath } from '../route/util' import { isFn, merge, cached } from '../util/core' let markdownCompiler = marked @@ -84,9 +84,13 @@ renderer.paragraph = function (text) { return `

                                                                                                                                                                          ${text}

                                                                                                                                                                          ` } renderer.image = function (href, title, text) { - const url = getPath(contentBase, href) + let url = href const titleHTML = title ? ` title="${title}"` : '' + if (!isResolvePath(href)) { + url = getPath(contentBase, href) + } + return `${text}` } diff --git a/src/core/render/index.js b/src/core/render/index.js index 370a570..c8df337 100644 --- a/src/core/render/index.js +++ b/src/core/render/index.js @@ -5,7 +5,7 @@ import cssVars from '../util/polyfill/css-vars' import * as tpl from './tpl' import { markdown, sidebar, subSidebar, cover } from './compiler' import { callHook } from '../init/lifecycle' -import { getBasePath, getPath } from '../route/util' +import { getBasePath, getPath, isResolvePath } from '../route/util' function executeScript () { const script = dom.findAll('.markdown-section>script') @@ -22,6 +22,7 @@ function executeScript () { function renderMain (html) { if (!html) { // TODO: Custom 404 page + html = 'not found' } this._renderTo('.markdown-section', html) @@ -56,11 +57,13 @@ export function renderMixin (proto) { const active = getAndActive('.sidebar-nav', true, true) subSidebar(active, subMaxLevel) // bind event + this.activeLink = active scrollActiveSidebar() if (autoHeader && active) { const main = dom.getNode('#main') - if (main.children[0].tagName !== 'H1') { + const firstNode = main.children[0] + if (firstNode && firstNode.tagName !== 'H1') { const h1 = dom.create('h1') h1.innerText = active.innerText dom.before(main, h1) @@ -75,7 +78,7 @@ export function renderMixin (proto) { proto._renderMain = function (text) { callHook(this, 'beforeEach', text, result => { - const html = markdown(result) + const html = this.isHTML ? result : markdown(result) callHook(this, 'afterEach', html, text => renderMain.call(this, text)) }) } @@ -88,15 +91,20 @@ export function renderMixin (proto) { } dom.toggleClass(el, 'add', 'show') - let html = cover(text) + let html = this.coverIsHTML ? text : cover(text) const m = html.trim().match('

                                                                                                                                                                          ([^<]*?)

                                                                                                                                                                          $') if (m) { if (m[2] === 'color') { el.style.background = m[1] + (m[3] || '') } else { + let path = m[1] + dom.toggleClass(el, 'add', 'has-mask') - el.style.backgroundImage = `url(${getPath(getBasePath(this.config.basePath), m[1])})` + if (isResolvePath(m[1])) { + path = getPath(getBasePath(this.config.basePath), m[1]) + } + el.style.backgroundImage = `url(${path})` } html = html.replace(m[0], '') } @@ -145,7 +153,7 @@ export function initRender (vm) { dom.before(dom.body, navEl) if (config.themeColor) { - dom.$.head += tpl.theme(config.themeColor) + dom.$.head.innerHTML += tpl.theme(config.themeColor) // Polyfll cssVars(config.themeColor) } diff --git a/src/core/render/tpl.js b/src/core/render/tpl.js index 0bd5198..ce9cabb 100644 --- a/src/core/render/tpl.js +++ b/src/core/render/tpl.js @@ -10,7 +10,7 @@ export function corner (data) { data = data.replace(/^git\+/, '') return ( - '' + + `` + '
                                                                                                                                                                          Please wait...
                                                                                                                                                                          +``` + +You should set the `data-app` attribute if you changed `el`. + +*index.html* +```html +
                                                                                                                                                                          Please wait...
                                                                                                                                                                          + + +``` diff --git a/docs/zh-cn/plugins.md b/docs/zh-cn/plugins.md index 8145f01..aeabf8d 100644 --- a/docs/zh-cn/plugins.md +++ b/docs/zh-cn/plugins.md @@ -61,7 +61,7 @@ docsify 提供了一套插件机制,其中提供的钩子(hook)支持处 ```js window.$docsify = { plugins: [ - function (hook) { + function (hook, vm) { hook.init(function() { // 初始化时调用,只调用一次,没有参数。 }) diff --git a/docs/zh-cn/quickstart.md b/docs/zh-cn/quickstart.md index c4ebc28..5bdaf2d 100644 --- a/docs/zh-cn/quickstart.md +++ b/docs/zh-cn/quickstart.md @@ -59,3 +59,26 @@ docsify serve docs ```bash cd docs && python -m SimpleHTTPServer 3000 ``` + +## Loading 提示 + +初始化时会显示 `Loading...` 内容,你可以自定义提示信息。 + +*index.html* +```html +
                                                                                                                                                                          加载中
                                                                                                                                                                          +``` + +如果更改了 `el` 的配置,需要将该元素加上 `data-app` 属性。 + +*index.html* +```html +
                                                                                                                                                                          加载中
                                                                                                                                                                          + + +``` + diff --git a/src/themes/basic/_layout.css b/src/themes/basic/_layout.css index d413c10..6241ffd 100644 --- a/src/themes/basic/_layout.css +++ b/src/themes/basic/_layout.css @@ -7,6 +7,23 @@ -webkit-font-smoothing: antialiased; } +body:not(.ready) { + [data-cloak] { + display: none; + } +} + +div#app { + text-align: center; + font-size: 30px; + font-weight: lighter; + margin: 40vw auto; + + &:empty::before { + content: "Loading..."; + } +} + .emoji { height: 1.2em; vertical-align: middle; From 079bd00395b4d5f9644e0ba6066155489de91119 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sun, 19 Feb 2017 10:47:47 +0800 Subject: [PATCH 112/826] refactor(plugins): update search plugin --- .eslintrc | 4 + build/build.js | 24 +-- docs/index.html | 2 +- docs/plugins.md | 2 +- docs/zh-cn/plugins.md | 2 +- package.json | 2 +- src/core/config.js | 2 + src/core/event/scroll.js | 4 +- src/core/fetch/index.js | 5 +- src/core/global-api.js | 2 +- src/core/index.js | 3 +- src/core/init/index.js | 1 - src/core/render/compiler.js | 4 +- src/core/render/index.js | 5 +- src/core/route/hash.js | 1 + src/core/route/index.js | 7 +- src/core/route/util.js | 6 +- src/plugins/ga.js | 13 +- src/plugins/search.js | 349 -------------------------------- src/plugins/search/component.js | 116 +++++++++++ src/plugins/search/index.js | 31 +++ src/plugins/search/search.js | 156 ++++++++++++++ 22 files changed, 348 insertions(+), 393 deletions(-) delete mode 100644 src/plugins/search.js create mode 100644 src/plugins/search/component.js create mode 100644 src/plugins/search/index.js create mode 100644 src/plugins/search/search.js diff --git a/.eslintrc b/.eslintrc index 86d102d..d6a85f8 100644 --- a/.eslintrc +++ b/.eslintrc @@ -2,5 +2,9 @@ "extends": ["vue"], "env": { "browser": true + }, + "globals": { + "Docsify": true, + "$docsify": true } } diff --git a/build/build.js b/build/build.js index 96adf07..ceeb3c3 100644 --- a/build/build.js +++ b/build/build.js @@ -32,26 +32,26 @@ build({ plugins: [commonjs(), nodeResolve()] }) -// build({ -// entry: 'plugins/search.js', -// output: 'plugins/search.js', -// moduleName: 'D.Search' -// }) +build({ + entry: 'plugins/search/index.js', + output: 'plugins/search.js', + moduleName: 'D.Search' +}) -// build({ -// entry: 'plugins/ga.js', -// output: 'plugins/ga.js', -// moduleName: 'D.GA' -// }) +build({ + entry: 'plugins/ga.js', + output: 'plugins/ga.js', + moduleName: 'D.GA' +}) if (isProd) { build({ - entry: 'index.js', + entry: 'core/index.js', output: 'docsify.min.js', plugins: [commonjs(), nodeResolve(), uglify()] }) build({ - entry: 'plugins/search.js', + entry: 'plugins/search/index.js', output: 'plugins/search.min.js', moduleName: 'D.Search', plugins: [uglify()] diff --git a/docs/index.html b/docs/index.html index 7748c82..2b2f9d3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -10,7 +10,7 @@ -