diff --git a/lib/docsify.js b/lib/docsify.js index 518bafb..c6be9cd 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -1,165 +1,37 @@ -var D = (function () { +(function () { 'use strict'; /** - * Simple ajax - * @param {String} url - * @param {String} [method=GET] - * @param {Function} [loading] handle loading - * @return {Promise} + * Create a cached version of a pure function. */ -function load (url, method, loading) { - if ( method === void 0 ) method = 'GET'; - - var xhr = new XMLHttpRequest(); - - xhr.open(method, url); - xhr.send(); - - return { - then: function (success, error) { - if ( error === void 0 ) error = function () {}; - - if (loading) { - var id = setInterval(function (_) { return loading({ step: Math.floor(Math.random() * 5 + 1) }); }, - 500); - xhr.addEventListener('progress', loading); - xhr.addEventListener('loadend', function (evt) { - loading(evt); - clearInterval(id); - }); - } - xhr.addEventListener('error', error); - xhr.addEventListener('load', function (ref) { - var target = ref.target; - - target.status >= 400 ? error(target) : success(target.response); - }); - }, - abort: function () { return xhr.readyState !== 4 && xhr.abort(); } +function cached (fn) { + var cache = Object.create(null); + return function cachedFn (str) { + var hit = cache[str]; + return hit || (cache[str] = fn(str)) } } /** - * gen toc tree - * @link https://github.com/killercup/grock/blob/5280ae63e16c5739e9233d9009bc235ed7d79a50/styles/solarized/assets/js/behavior.coffee#L54-L81 - * @param {Array} toc - * @param {Number} maxLevel - * @return {Array} + * Hyphenate a camelCase string. */ -function genTree (toc, maxLevel) { - var headlines = []; - var last = {}; - - toc.forEach(function (headline) { - var level = headline.level || 1; - var len = level - 1; - - if (level > maxLevel) { return } - if (last[len]) { - last[len].children = last[len].children || []; - last[len].children.push(headline); - } else { - headlines.push(headline); - } - last[level] = headline; - }); - - return headlines -} - -/** - * camel to kebab - * @link https://github.com/bokuweb/kebab2camel/blob/master/index.js - * @param {String} str - * @return {String} - */ -function camel2kebab (str) { +var hyphenate = cached(function (str) { return str.replace(/([A-Z])/g, function (m) { return '-' + m.toLowerCase(); }) -} +}); /** - * is nil - * @param {Object} object - * @return {Boolean} + * Simple Object.assign polyfill */ -function isNil (o) { - return o === null || o === undefined -} - -var cacheRoute$1 = null; -var cacheHash = null; - -/** - * hash route - */ -function getRoute () { - var loc = window.location; - if (cacheHash === loc.hash && !isNil(cacheRoute$1)) { return cacheRoute$1 } - - var route = loc.hash.replace(/%23/g, '#').match(/^#\/([^#]+)/); - - if (route && route.length === 2) { - route = route[1]; - } else { - route = /^#\//.test(loc.hash) ? '' : loc.pathname; - } - cacheRoute$1 = route; - cacheHash = loc.hash; - - return route -} - -function isMobile () { - return document.body.clientWidth <= 600 -} - -function slugify (string) { - var re = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g; - var maintainCase = false; - var replacement = '-'; - - slugify.occurrences = slugify.occurrences || {}; - - if (typeof string !== 'string') { return '' } - if (!maintainCase) { string = string.toLowerCase(); } - - var slug = string.trim() - .replace(/<[^>\d]+>/g, '') - .replace(re, '') - .replace(/\s/g, replacement) - .replace(/-+/g, replacement) - .replace(/^(\d)/, '_$1'); - var occurrences = slugify.occurrences[slug]; - - if (slugify.occurrences.hasOwnProperty(slug)) { - occurrences++; - } else { - occurrences = 0; - } - - slugify.occurrences[slug] = occurrences; - - if (occurrences) { - slug = slug + '-' + occurrences; - } - - return slug -} - -slugify.clear = function () { - slugify.occurrences = {}; -}; - -var hasOwnProperty = Object.prototype.hasOwnProperty; var merge = Object.assign || function (to) { var arguments$1 = arguments; + var hasOwn = Object.prototype.hasOwnProperty; + for (var i = 1; i < arguments.length; i++) { var from = Object(arguments$1[i]); for (var key in from) { - if (hasOwnProperty.call(from, key)) { + if (hasOwn.call(from, key)) { to[key] = from[key]; } } @@ -168,42 +40,441 @@ var merge = Object.assign || function (to) { return 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, ':') +/** + * Check if value is primitive + */ +function isPrimitive (value) { + return typeof value === 'string' || typeof value === 'number' +} + +/** + * Perform no operation. + */ +function noop () {} + +/** + * Check if value is function + */ +function isFn (obj) { + return typeof obj === 'function' +} + +var config = merge({ + el: '#app', + repo: '', + maxLevel: 6, + subMaxLevel: 0, + loadSidebar: null, + loadNavbar: null, + homepage: 'README.md', + coverpage: '', + basePath: '', + auto2top: false, + name: '', + themeColor: '', + nameLink: window.location.pathname, + autoHeader: false, + executeScript: false, + ga: '' +}, window.$docsify); + +var script = document.currentScript || + [].slice.call(document.getElementsByTagName('script')) + .filter(function (n) { return /docsify\./.test(n.src); })[0]; + +if (script) { + for (var prop in config) { + var val = script.getAttribute('data-' + hyphenate(prop)); + + if (isPrimitive(val)) { + config[prop] = val === '' ? true : val; + } + } + + if (config.loadSidebar === true) { config.loadSidebar = '_sidebar.md'; } + if (config.loadNavbar === true) { config.loadNavbar = '_navbar.md'; } + if (config.coverpage === true) { config.coverpage = '_coverpage.md'; } + if (config.repo === true) { config.repo = ''; } + if (config.name === true) { config.name = ''; } +} + +window.$docsify = config; + +function initLifecycle (vm) { + var hooks = [ + 'init', + 'mounted', + 'beforeEach', + 'afterEach', + 'doneEach', + 'ready' + ]; + + vm._hooks = {}; + vm._lifecycle = {}; + hooks.forEach(function (hook) { + var arr = vm._hooks[hook] = []; + vm._lifecycle[hook] = function (fn) { return arr.push(fn); }; + }); +} + +function callHook (vm, hook, data, next) { + if ( next === void 0 ) next = noop; + + var newData = data; + var queue = vm._hooks[hook]; + + var step = function (index) { + var hook = queue[index]; + if (index >= queue.length) { + next(newData); + } else { + if (typeof hook === 'function') { + if (hook.length === 2) { + hook(data, function (result) { + newData = result; + step(index + 1); + }); + } else { + var result = hook(data); + newData = result !== undefined ? result : newData; + step(index + 1); + } + } else { + step(index + 1); + } + } + }; + + step(0); +} + +var cacheNode = {}; + +/** + * Get Node + * @param {String|Element} el + * @param {Boolean} noCache + * @return {Element} + */ +function getNode (el, noCache) { + if ( noCache === void 0 ) noCache = false; + + if (typeof el === 'string') { + el = noCache ? find(el) : (cacheNode[el] || find(el)); + } + + return el +} + +var $ = document; + +var body = $.body; + +var head = $.head; + +/** + * Find element + * @example + * find('nav') => document.querySelector('nav') + * find(nav, 'a') => nav.querySelector('a') + */ +function find (el, node) { + return node ? el.querySelector(node) : $.querySelector(el) +} + +/** + * Find all elements + * @example + * findAll('a') => [].slice.call(document.querySelectorAll('a')) + * findAll(nav, 'a') => [].slice.call(nav.querySelectorAll('a')) + */ +function findAll (el, node) { + return [].slice.call(node ? el.querySelectorAll(node) : $.querySelectorAll(el)) +} + +function create (node, tpl) { + node = $.createElement(node); + if (tpl) { node.innerHTML = tpl; } + return node +} + +function appendTo (target, el) { + return target.appendChild(el) +} + +function before (target, el) { + return target.insertBefore(el, target.children[0]) +} + +function on (el, type, handler) { + isFn(type) + ? window.addEventListener(el, type) + : el.addEventListener(type, handler); +} + +var off = function on (el, type, handler) { + isFn(type) + ? window.removeEventListener(el, type) + : el.removeEventListener(type, handler); +}; + +/** + * Toggle class + * + * @example + * toggleClass(el, 'active') => el.classList.toggle('active') + * toggleClass(el, 'add', 'active') => el.classList.add('active') + */ +function toggleClass (el, type, val) { + el && el.classList[val ? type : 'toggle'](val || type); } -var utils = Object.freeze({ - load: load, - genTree: genTree, - camel2kebab: camel2kebab, - isNil: isNil, - getRoute: getRoute, - isMobile: isMobile, - slugify: slugify, - merge: merge, - emojify: emojify +var dom = Object.freeze({ + getNode: getNode, + $: $, + body: body, + head: head, + find: find, + findAll: findAll, + create: create, + appendTo: appendTo, + before: before, + on: on, + off: off, + toggleClass: toggleClass }); -/** - * Active sidebar when scroll - * @link https://buble.surge.sh/ - */ -function scrollActiveSidebar () { - if (isMobile()) { return } +var UA = window.navigator.userAgent.toLowerCase(); - var hoveredOverSidebar = false; - var anchors = document.querySelectorAll('.anchor'); - var sidebar = document.querySelector('.sidebar'); - var sidebarContainer = sidebar.querySelector('.sidebar-nav'); - var sidebarHeight = sidebar.clientHeight; +var isIE = UA && /msie|trident/.test(UA); + +var isMobile = document.body.clientWidth <= 600; + +var decode = decodeURIComponent; +var encode = encodeURIComponent; + +function parseQuery (query) { + var res = {}; + + query = query.trim().replace(/^(\?|#|&)/, ''); + + if (!query) { + return res + } + + // Simple parse + query.split('&').forEach(function (param) { + var parts = param.replace(/\+/g, ' ').split('='); + + res[parts[0]] = decode(parts[1]); + }); + return res +} + +function stringifyQuery (obj) { + var qs = []; + + for (var key in obj) { + qs.push(((encode(key)) + "=" + (encode(obj[key]))).toLowerCase()); + } + + return qs.length ? ("?" + (qs.join('&'))) : '' +} + +var getBasePath = cached(function (base) { + return /^(\/|https?:)/g.test(base) + ? base + : cleanPath(window.location.pathname + '/' + base) +}); + +function getPath () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + return cleanPath(args.join('/')) +} + +var isAbsolutePath = cached(function (path) { + return /(:|(\/{2}))/.test(path) +}); + +var getRoot = cached(function (path) { + return /\/$/g.test(path) ? path : path.match(/(\S*\/)[^\/]+$/)[1] +}); + +var cleanPath = cached(function (path) { + return path.replace(/\/+/g, '/') +}); + +function replaceHash (path) { + var i = window.location.href.indexOf('#'); + window.location.replace( + window.location.href.slice(0, i >= 0 ? i : 0) + '#' + path + ); +} + +var replaceSlug = cached(function (path) { + return path + .replace('#', '?id=') + .replace(/\?(\w+)=/g, function (_, slug) { return slug === 'id' ? '?id=' : ("&" + slug + "="); }) +}); +/** + * Normalize the current url + * + * @example + * domain.com/docs/ => domain.com/docs/#/ + * domain.com/docs/#/#slug => domain.com/docs/#/?id=slug + */ +function normalize () { + var path = getHash(); + + path = replaceSlug(path); + + if (path.charAt(0) === '/') { return replaceHash(path) } + replaceHash('/' + path); +} + +function getHash () { + // We can't use window.location.hash here because it's not + // consistent across browsers - Firefox will pre-decode it! + var href = window.location.href; + var index = href.indexOf('#'); + return index === -1 ? '' : href.slice(index + 1) +} + +/** + * Parse the url + * @param {string} [path=window.location.herf] + * @return {object} { path, query } + */ +function parse (path) { + if ( path === void 0 ) path = window.location.href; + + var query = ''; + + var queryIndex = path.indexOf('?'); + if (queryIndex >= 0) { + query = path.slice(queryIndex + 1); + path = path.slice(0, queryIndex); + } + + var hashIndex = path.indexOf('#'); + if (hashIndex) { + path = path.slice(hashIndex + 1); + } + + return { path: path, query: parseQuery(query) } +} + +/** + * to URL + * @param {string} path + * @param {object} qs query params + */ +function toURL (path, params) { + var route = parse(replaceSlug(path)); + + route.query = merge({}, route.query, params); + path = route.path + stringifyQuery(route.query); + + return cleanPath('#/' + path) +} + + +var route = Object.freeze({ + normalize: normalize, + getHash: getHash, + parse: parse, + toURL: toURL, + parseQuery: parseQuery, + stringifyQuery: stringifyQuery, + getBasePath: getBasePath, + getPath: getPath, + isAbsolutePath: isAbsolutePath, + getRoot: getRoot, + cleanPath: cleanPath +}); + +var title = $.title; +/** + * Toggle button + */ +function btn (el) { + var toggle = function () { return body.classList.toggle('close'); }; + + el = getNode(el); + on(el, 'click', toggle); + + if (isMobile) { + var sidebar = getNode('.sidebar'); + + on(sidebar, 'click', function () { + toggle(); + setTimeout(function () { return getAndActive(sidebar, true, true); }, 0); + }); + } +} + +function sticky () { + var cover = getNode('section.cover'); + if (!cover) { return } + var coverHeight = cover.getBoundingClientRect().height; + + if (window.pageYOffset >= coverHeight || cover.classList.contains('hidden')) { + toggleClass(body, 'add', 'sticky'); + } else { + toggleClass(body, 'remove', 'sticky'); + } +} + +/** + * Get and active link + * @param {string|element} el + * @param {Boolean} isParent acitve parent + * @param {Boolean} autoTitle auto set title + * @return {element} + */ +function getAndActive (el, isParent, autoTitle) { + el = getNode(el); + + var links = findAll(el, 'a'); + var hash = '#' + getHash(); + var target; + + links + .sort(function (a, b) { return b.href.length - a.href.length; }) + .forEach(function (a) { + var href = a.getAttribute('href'); + var node = isParent ? a.parentNode : a; + + if (hash.indexOf(href) === 0 && !target) { + target = a; + toggleClass(node, 'add', 'active'); + } else { + toggleClass(node, 'remove', 'active'); + } + }); + + if (autoTitle) { + $.title = target ? ((target.innerText) + " - " + title) : title; + } + + return target +} + +function scrollActiveSidebar () { + if (isMobile) { return } + + var hoverOver = false; + var anchors = findAll('.anchor'); + var sidebar = find('.sidebar'); + var wrap = find(sidebar, '.sidebar-nav'); var nav = {}; - var lis = sidebar.querySelectorAll('li'); - var active = sidebar.querySelector('li.active'); + var lis = findAll(sidebar, 'li'); + var active = find(sidebar, 'li.active'); for (var i = 0, len = lis.length; i < len; i += 1) { var li = lis[i]; @@ -212,15 +483,14 @@ function scrollActiveSidebar () { var href = a.getAttribute('href'); if (href !== '/') { - var match = href.match('#([^#]+)$'); - if (match && match.length) { href = match[0].slice(1); } + href = parse(href).query.id; } nav[decodeURIComponent(href)] = li; } function highlight () { - var top = document.body.scrollTop; + var top = body.scrollTop; var last; for (var i = 0, len = anchors.length; i < len; i += 1) { @@ -237,113 +507,268 @@ function scrollActiveSidebar () { var li = nav[last.getAttribute('data-id')]; if (!li || li === active) { return } - if (active) { active.classList.remove('active'); } + active && active.classList.remove('active'); li.classList.add('active'); active = li; // 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 >= sidebarContainer.scrollTop && - currentActiveOffset <= sidebarContainer.scrollTop + sidebarHeight + if (!hoverOver && body.classList.contains('sticky')) { + var height = sidebar.clientHeight; + var curOffset = 0; + var cur = active.offsetTop + active.clientHeight + 40; + var isInView = ( + active.offsetTop >= wrap.scrollTop && + cur <= wrap.scrollTop + height ); - var linkNotFurtherThanSidebarHeight = currentActiveOffset - currentPageOffset < sidebarHeight; - var newScrollTop = currentActiveIsInView - ? sidebarContainer.scrollTop - : linkNotFurtherThanSidebarHeight - ? currentPageOffset - : currentActiveOffset - sidebarHeight; + var notThan = cur - curOffset < height; + var top$1 = isInView + ? wrap.scrollTop + : notThan + ? curOffset + : cur - height; - sidebar.scrollTop = newScrollTop; + sidebar.scrollTop = top$1; } } - window.removeEventListener('scroll', highlight); - window.addEventListener('scroll', highlight); - sidebar.addEventListener('mouseover', function () { hoveredOverSidebar = true; }); - sidebar.addEventListener('mouseleave', function () { hoveredOverSidebar = false; }); + off('scroll', highlight); + on('scroll', highlight); + on(sidebar, 'mouseover', function () { hoverOver = true; }); + on(sidebar, 'mouseleave', function () { hoverOver = false; }); } -function scrollIntoView () { - var id = window.location.hash.match(/#[^#\/]+$/g); - if (!id || !id.length) { return } - var section = document.querySelector(decodeURIComponent(id[0])); - - if (section) { setTimeout(function () { return section.scrollIntoView(); }, 0); } - - return section +function scrollIntoView (id) { + var section = find('#' + id); + section && section.scrollIntoView(); } -/** - * Acitve link - */ -function activeLink (dom, activeParent) { - var host = window.location.href; - - dom = typeof dom === 'object' ? dom : document.querySelector(dom); - if (!dom) { return } - var target;[].slice.call(dom.querySelectorAll('a')) - .sort(function (a, b) { return b.href.length - a.href.length; }) - .forEach(function (node) { - if (host.indexOf(node.href) === 0 && !target) { - activeParent - ? node.parentNode.classList.add('active') - : node.classList.add('active'); - target = node; - } else { - activeParent - ? node.parentNode.classList.remove('active') - : node.classList.remove('active'); - } - }); - - return target -} - -/** - * sidebar toggle - */ -function bindToggle (dom) { - dom = typeof dom === 'object' ? dom : document.querySelector(dom); - if (!dom) { return } - var body = document.body; - - dom.addEventListener('click', function () { return body.classList.toggle('close'); }); - - if (isMobile()) { - var sidebar = document.querySelector('.sidebar'); - sidebar.addEventListener('click', function () { - body.classList.toggle('close'); - setTimeout(function () { return activeLink(sidebar, true); }, 0); - }); - } -} - -var scrollingElement = document.scrollingElement || document.documentElement; +var scrollEl = $.scrollingElement || $.documentElement; function scroll2Top (offset) { if ( offset === void 0 ) offset = 0; - scrollingElement.scrollTop = offset === true ? 0 : Number(offset); + scrollEl.scrollTop = offset === true ? 0 : Number(offset); } -function sticky () { - sticky.dom = sticky.dom || document.querySelector('section.cover'); - var coverHeight = sticky.dom.getBoundingClientRect().height; +var barEl; +var timeId; - return (function () { - if (window.pageYOffset >= coverHeight || sticky.dom.classList.contains('hidden')) { - document.body.classList.add('sticky'); - sticky.noSticky = false; - } else { - document.body.classList.remove('sticky'); - sticky.noSticky = true; +/** + * Init progress component + */ +function init () { + var div = create('div'); + + div.classList.add('progress'); + appendTo(body, div); + barEl = div; +} +/** + * Render progress bar + */ +var progressbar = function (ref) { + var loaded = ref.loaded; + var total = ref.total; + var step = ref.step; + + var num; + + !barEl && init(); + + if (step) { + num = parseInt(barEl.style.width || 0, 10) + step; + num = num > 80 ? 80 : num; + } else { + num = Math.floor(loaded / total * 100); + } + + barEl.style.opacity = 1; + barEl.style.width = num >= 95 ? '100%' : num + '%'; + + if (num >= 95) { + clearTimeout(timeId); + timeId = setTimeout(function (_) { + barEl.style.opacity = 0; + barEl.style.width = '0%'; + }, 200); + } +}; + +var cache = {}; +var RUN_VERSION = Date.now(); + +/** + * Simple ajax get + * @param {string} url + * @param {boolean} [hasBar=false] has progress bar + * @return { then(resolve, reject), abort } + */ +function get (url, hasBar) { + if ( hasBar === void 0 ) hasBar = false; + + var xhr = new XMLHttpRequest(); + var on = function () { + xhr.addEventListener.apply(xhr, arguments); + }; + + url += (/\?(\w+)=/g.test(url) ? '&' : '?') + "v=" + RUN_VERSION; + + if (cache[url]) { + return { then: function (cb) { return cb(cache[url]); }, abort: noop } + } + + xhr.open('GET', url); + xhr.send(); + + return { + then: function (success, error) { + if ( error === void 0 ) error = noop; + + if (hasBar) { + var id = setInterval(function (_) { return progressbar({ + step: Math.floor(Math.random() * 5 + 1) + }); }, 500); + + on('progress', progressbar); + on('loadend', function (evt) { + progressbar(evt); + clearInterval(id); + }); + } + + on('error', error); + on('load', function (ref) { + var target = ref.target; + + if (target.status >= 400) { + error(target); + } else { + cache[url] = target.response; + success(target.response); + } + }); + }, + abort: function (_) { return xhr.readyState !== 4 && xhr.abort(); } + } +} + +function replaceVar (block, color) { + block.innerHTML = block.innerHTML + .replace(/var\(\s*--theme-color.*?\)/g, color); +} + +var cssVars = function (color) { + // Variable support + if (window.CSS && + window.CSS.supports && + window.CSS.supports('(--v:red)')) { return } + + var styleBlocks = findAll('style:not(.inserted),link');[].forEach.call(styleBlocks, function (block) { + if (block.nodeName === 'STYLE') { + replaceVar(block, color); + } else if (block.nodeName === 'LINK') { + var href = block.getAttribute('href'); + + if (!/\.css$/.test(href)) { return } + + get(href).then(function (res) { + var style = create('style', res); + + head.appendChild(style); + replaceVar(style, color); + }); } - })() + }); +}; + +/** + * Render github corner + * @param {Object} data + * @return {String} + */ +function corner (data) { + if (!data) { return '' } + if (!/\/\//.test(data)) { data = 'https://github.com/' + data; } + data = data.replace(/^git\+/, ''); + + return ( + "" + + '' + + '`') +} + +/** + * Render main content + */ +function main (config) { + var aside = ( + '' + + ''); + + return (isMobile ? (aside + "
") : ("
" + aside)) + + '
' + + '
' + + '
' + + '
' +} + +/** + * Cover Page + */ +function cover () { + var SL = ', 100%, 85%'; + var bgc = 'linear-gradient(to left bottom, ' + + "hsl(" + (Math.floor(Math.random() * 255) + SL) + ") 0%," + + "hsl(" + (Math.floor(Math.random() * 255) + SL) + ") 100%)"; + + return "
" + + '
' + + '
' + + '
' +} + +/** + * Render tree + * @param {Array} tree + * @param {String} tpl + * @return {String} + */ +function tree (toc, tpl) { + if ( tpl === void 0 ) tpl = ''; + + if (!toc || !toc.length) { return '' } + + toc.forEach(function (node) { + tpl += "
  • " + (node.title) + "
  • "; + if (node.children) { + tpl += "
  • "; + } + }); + + return tpl +} + +function helper (className, content) { + return ("

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

    ") +} + +function theme (color) { + return ("") } var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; @@ -2451,565 +2876,577 @@ Prism.languages.js = Prism.languages.javascript; }); /** - * Render github corner - * @param {Object} data - * @return {String} + * gen toc tree + * @link https://github.com/killercup/grock/blob/5280ae63e16c5739e9233d9009bc235ed7d79a50/styles/solarized/assets/js/behavior.coffee#L54-L81 + * @param {Array} toc + * @param {Number} maxLevel + * @return {Array} */ -function corner (data) { - if (!data) { return '' } - if (!/\/\//.test(data)) { data = 'https://github.com/' + data; } - data = data.replace(/^git\+/, ''); +function genTree (toc, maxLevel) { + var headlines = []; + var last = {}; - return ("\n \n \n \n \n \n \n ") -} + toc.forEach(function (headline) { + var level = headline.level || 1; + var len = level - 1; -/** - * Render main content - */ -function main () { - var aside = (toggle()) + ""; - - return (isMobile() ? (aside + "
    ") : ("
    " + aside)) + - "
    \n
    \n
    \n
    " -} - -/** - * Cover Page - */ -function cover () { - var SL = ', 100%, 85%'; - var bgc = "linear-gradient(to left bottom, hsl(" + (Math.floor(Math.random() * 255) + SL) + ") 0%, hsl(" + (Math.floor(Math.random() * 255) + SL) + ") 100%)"; - - return ("
    \n
    \n
    \n
    ") -} - -function toggle () { - return "" -} - -/** - * Render tree - * @param {Array} tree - * @param {String} tpl - * @return {String} - */ -function tree (toc, tpl) { - if ( tpl === void 0 ) tpl = ''; - - if (!toc || !toc.length) { return '' } - - toc.forEach(function (node) { - tpl += "
  • " + (node.title) + "
  • "; - if (node.children) { - tpl += "
    • " + (tree(node.children)) + "
    "; + if (level > maxLevel) { return } + if (last[len]) { + last[len].children = last[len].children || []; + last[len].children.push(headline); + } else { + headlines.push(headline); } + last[level] = headline; }); - return tpl + return headlines } -function helper (className, content) { - return ("

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

    ") +var cache$1 = {}; +var re = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g; + +function slugify (str) { + if (typeof str !== 'string') { return '' } + + var slug = str.toLowerCase().trim() + .replace(/<[^>\d]+>/g, '') + .replace(re, '') + .replace(/\s/g, '-') + .replace(/-+/g, '-') + .replace(/^(\d)/, '_$1'); + var count = cache$1[slug]; + + count = cache$1.hasOwnProperty(slug) ? (count + 1) : 0; + cache$1[slug] = count; + + if (count) { + slug = slug + '-' + count; + } + + return slug } -function theme (color) { - return ("") +function clearSlugCache () { + cache$1 = {}; } -function replaceVar (block) { - block.innerHTML = block.innerHTML.replace(/var\(\s*--theme-color.*?\)/g, $docsify.themeColor); +function emojify (text) { + return text + .replace(/<(pre|template)[^>]*?>([\s\S]+)<\/(pre|template)>/g, function (m) { return m.replace(/:/g, '__colon__'); }) + .replace(/:(\w+?):/ig, '$1') + .replace(/__colon__/g, ':') } -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') { - var href = block.getAttribute('href'); - - if (!/\.css$/.test(href)) { return } - - load(href).then(function (res) { - var style = document.createElement('style'); - - style.innerHTML = res; - document.head.appendChild(style); - replaceVar(style); - }); - } - }); -} - -var markdown = marked; +var markdownCompiler = marked; +var contentBase = ''; +var currentPath = ''; +var renderer = new marked.Renderer(); +var TOC = {}; var toc = []; -var CACHE = {}; -var originTitle = document.title; -var renderTo = function (dom, content) { - dom = typeof dom === 'object' ? dom : document.querySelector(dom); - dom.innerHTML = content; - slugify.clear(); +/** + * Compile markdown content + */ +var markdown = cached(function (text) { + var html = ''; - return dom + if (!text) { return text } + + html = markdownCompiler(text); + html = emojify(html); + clearSlugCache(); + + return html +}); + +markdown.renderer = renderer; + +markdown.init = function (config, base) { + if ( config === void 0 ) config = {}; + if ( base === void 0 ) base = window.location.pathname; + + contentBase = getBasePath(base); + currentPath = parse().path; + + if (isFn(config)) { + markdownCompiler = config(marked, renderer); + } else { + renderer = merge(renderer, config.renderer); + marked.setOptions(merge(config, { renderer: renderer })); + } +}; + +markdown.update = function () { + currentPath = parse().path; }; /** - * init render + * render anchor tag + * @link https://github.com/chjj/marked#overriding-renderer-methods */ -function init () { - var renderer = new marked.Renderer(); - /** - * render anchor tag - * @link https://github.com/chjj/marked#overriding-renderer-methods - */ - renderer.heading = function (text, level) { - var slug = slugify(text); - var route = ''; +renderer.heading = function (text, level) { + var slug = slugify(text); + var url = toURL(currentPath, { id: slug }); - route = "#/" + (getRoute()); - toc.push({ level: level, slug: (route + "#" + (encodeURIComponent(slug))), title: text }); + toc.push({ level: level, slug: url, title: text }); - return ("" + text + "") - }; - // highlight code - renderer.code = function (code, lang) { - if ( lang === void 0 ) lang = ''; + return ("" + text + "") +}; +// highlight code +renderer.code = function (code, lang) { + if ( lang === void 0 ) lang = ''; - var hl = prism.highlight(code, prism.languages[lang] || prism.languages.markup); + var hl = prism.highlight(code, prism.languages[lang] || prism.languages.markup); - return ("
    " + hl + "
    ") - }; - renderer.link = function (href, title, text) { - if (!/:|(\/{2})/.test(href)) { - href = ("#/" + href).replace(/\/+/g, '/'); - } - return ("" + text + "") - }; - renderer.paragraph = function (text) { - if (/^!>/.test(text)) { - return helper('tip', text) - } else if (/^\?>/.test(text)) { - return helper('warn', text) - } - return ("

    " + text + "

    ") - }; - renderer.image = function (href, title, text) { - var url = /:|(\/{2})/.test(href) ? href : ($docsify.basePath + href).replace(/\/+/g, '/'); - var titleHTML = title ? (" title=\"" + title + "\"") : ''; - - return ("\""") - }; - - if (typeof $docsify.markdown === 'function') { - markdown = $docsify.markdown.call(this, markdown, renderer); + return ("
    " + hl + "
    ") +}; +renderer.link = function (href, title, text) { + var blank = ''; + if (!/:|(\/{2})/.test(href)) { + href = toURL(href); } else { - if ($docsify.markdown && $docsify.markdown.renderer) { - $docsify.markdown.renderer = merge(renderer, $docsify.markdown.renderer); - } - markdown.setOptions(merge({ renderer: renderer }, $docsify.markdown)); + blank = ' target="_blank"'; + } + return ("" + text + "") +}; +renderer.paragraph = function (text) { + if (/^!>/.test(text)) { + return helper('tip', text) + } else if (/^\?>/.test(text)) { + return helper('warn', text) + } + return ("

    " + text + "

    ") +}; +renderer.image = function (href, title, text) { + var url = href; + var titleHTML = title ? (" title=\"" + title + "\"") : ''; + + if (!isAbsolutePath(href)) { + url = getPath(contentBase, href); } - var md = markdown; + return ("\""") +}; - markdown = function (text) { return emojify(md(text)); }; +/** + * Compile sidebar + */ +function sidebar (text, level) { + var html = ''; - window.Docsify.utils.marked = function (text) { - var result = markdown(text); - toc = []; - return result - }; + if (text) { + html = markdown(text); + html = html.match(/]*>([\s\S]+)<\/ul>/g)[0]; + } else { + var tree$$1 = genTree(toc, level); + html = tree(tree$$1, '
      '); + } + + return html } /** - * App + * Compile sub sidebar */ -function renderApp (dom, replace) { - var nav = document.querySelector('nav') || document.createElement('nav'); - var body = document.body; - var head = document.head; +function subSidebar (el, level) { + if (el) { + toc[0] && toc[0].level === 1 && toc.shift(); + var tree$$1 = genTree(TOC[currentPath] || toc, level); + el.parentNode.innerHTML += tree(tree$$1, '
        '); + } + if (toc.length) { + TOC[currentPath] = toc.slice(); + } + toc = []; +} - if (!$docsify.repo) { nav.classList.add('no-badge'); } +/** + * Compile cover page + */ +function cover$1 (text) { + var cacheToc = toc.slice(); + var html = markdown(text); - dom[replace ? 'outerHTML' : 'innerHTML'] = corner($docsify.repo) + - ($docsify.coverpage ? cover() : '') + - main(); - body.insertBefore(nav, body.children[0]); + toc = cacheToc.slice(); - // theme color - if ($docsify.themeColor) { - head.innerHTML += theme($docsify.themeColor); - cssVars(); + return html +} + + +var render = Object.freeze({ + markdown: markdown, + sidebar: sidebar, + subSidebar: subSidebar, + cover: cover$1 +}); + +function executeScript () { + var script = findAll('.markdown-section>script') + .filter(function (s) { return !/template/.test(s.type); })[0]; + if (!script) { return false } + var code = script.innerText.trim(); + if (!code) { return false } + + setTimeout(function (_) { + window.__EXECUTE_RESULT__ = new Function(code)(); + }, 0); +} + +function renderMain (html) { + if (!html) { + // TODO: Custom 404 page + html = 'not found'; } - // render name - if ($docsify.name) { - var aside = document.querySelector('.sidebar'); - aside.innerHTML = "

        " + ($docsify.name) + "

        " + aside.innerHTML; + this._renderTo('.markdown-section', html); + // Render sidebar with the TOC + !this.config.loadSidebar && this._renderSidebar(); + // execute script + this.config.executeScript && executeScript(); + + if (!this.config.executeScript && + typeof window.Vue !== 'undefined' && + !executeScript()) { + setTimeout(function (_) { + window.__EXECUTE_RESULT__ = new window.Vue().$mount('#main'); + }, 0); } - // bind toggle - bindToggle('button.sidebar-toggle'); - // bind sticky effect - if ($docsify.coverpage) { - !isMobile() && window.addEventListener('scroll', sticky); + if (this.config.auto2top) { + scroll2Top(this.config.auto2top); + } +} + +function renderMixin (proto) { + proto._renderTo = function (el, content, replace) { + var node = getNode(el); + if (node) { node[replace ? 'outerHTML' : 'innerHTML'] = content; } + }; + + proto._renderSidebar = function (text) { + var ref = this.config; + var maxLevel = ref.maxLevel; + var subMaxLevel = ref.subMaxLevel; + var autoHeader = ref.autoHeader; + + this._renderTo('.sidebar-nav', sidebar(text, maxLevel)); + var active = getAndActive('.sidebar-nav', true, true); + subSidebar(active, subMaxLevel); + // bind event + this.activeLink = active; + scrollActiveSidebar(); + + if (autoHeader && active) { + var main$$1 = getNode('#main'); + var firstNode = main$$1.children[0]; + if (firstNode && firstNode.tagName !== 'H1') { + var h1 = create('h1'); + h1.innerText = active.innerText; + before(main$$1, h1); + } + } + }; + + proto._renderNav = function (text) { + text && this._renderTo('nav', markdown(text)); + getAndActive('nav'); + }; + + proto._renderMain = function (text) { + var this$1 = this; + + callHook(this, 'beforeEach', text, function (result) { + var html = this$1.isHTML ? result : markdown(result); + callHook(this$1, 'afterEach', html, function (text) { return renderMain.call(this$1, text); }); + }); + }; + + proto._renderCover = function (text) { + var el = getNode('.cover'); + if (!text) { + toggleClass(el, 'remove', 'show'); + return + } + toggleClass(el, 'add', 'show'); + + var html = this.coverIsHTML ? text : cover$1(text); + var m = html.trim().match('

        ([^<]*?)

        $'); + + if (m) { + if (m[2] === 'color') { + el.style.background = m[1] + (m[3] || ''); + } else { + var path = m[1]; + + toggleClass(el, 'add', 'has-mask'); + if (isAbsolutePath(m[1])) { + path = getPath(getBasePath(this.config.basePath), m[1]); + } + el.style.backgroundImage = "url(" + path + ")"; + } + html = html.replace(m[0], ''); + } + + this._renderTo('.cover-main', html); + sticky(); + }; + + proto._updateRender = function () { + markdown.update(); + }; +} + +function initRender (vm) { + var config = vm.config; + + // Init markdown compiler + markdown.init(config.markdown, config.basePath); + + var id = config.el || '#app'; + var navEl = find('nav') || create('nav'); + + var el = find(id); + var html = ''; + + navEl.classList.add('app-nav'); + + if (!config.repo) { + navEl.classList.add('no-badge'); + } + if (!el) { + el = create(id); + appendTo(body, el); + } + if (config.repo) { + html += corner(config.repo); + } + if (config.coverpage) { + html += cover(); + } + + html += main(config); + // Render main app + vm._renderTo(el, html, true); + // Add nav + before(body, navEl); + + if (config.themeColor) { + $.head.innerHTML += theme(config.themeColor); + // Polyfll + cssVars(config.themeColor); + } + toggleClass(body, 'ready'); +} + +function getAlias (path, alias) { + return alias[path] ? getAlias(alias[path], alias) : path +} + +function getFileName (path) { + return /\.(md|html)$/g.test(path) + ? path + : /\/$/g.test(path) + ? (path + "README.md") + : (path + ".md") +} + +function routeMixin (proto) { + proto.route = {}; + proto.$getFile = function (path) { + var ref = this; + var config = ref.config; + var base = getBasePath(config.basePath); + + path = getAlias(path, config.alias); + path = getFileName(path); + path = path === '/README.md' ? (config.homepage || path) : path; + path = isAbsolutePath(path) ? path : getPath(base, path); + + return path + }; +} + +var lastRoute = {}; + +function initRoute (vm) { + normalize(); + lastRoute = vm.route = parse(); + + on('hashchange', function (_) { + normalize(); + vm.route = parse(); + vm._updateRender(); + + if (lastRoute.path === vm.route.path) { + vm.$resetEvents(); + return + } + + vm.$fetch(); + lastRoute = vm.route; + }); +} + +function eventMixin (proto) { + proto.$resetEvents = function () { + scrollIntoView(this.route.query.id); + getAndActive('nav'); + }; +} + +function initEvent (vm) { + // Bind toggle button + btn('button.sidebar-toggle'); + // Bind sticky effect + if (vm.config.coverpage) { + !isMobile && on('scroll', sticky); } else { body.classList.add('sticky'); } } -/** - * article - */ -function renderArticle (content) { - var hook = window.Docsify.hook; - var renderFn = function (data) { - renderTo('article', data); - if (!$docsify.loadSidebar) { renderSidebar(); } +function fetchMixin (proto) { + var last; + proto._fetch = function (cb) { + var this$1 = this; + if ( cb === void 0 ) cb = noop; - if (data && typeof Vue !== 'undefined') { - CACHE.vm && CACHE.vm.$destroy(); + var ref = this.route; + var path = ref.path; + var ref$1 = this.config; + var loadNavbar = ref$1.loadNavbar; + var loadSidebar = ref$1.loadSidebar; + var root = getRoot(path); - var script = [].slice.call( - document.body.querySelectorAll('article>script')) - .filter(function (script) { return !/template/.test(script.type); } - )[0]; - var code = script ? script.innerText.trim() : null; + // Abort last request + last && last.abort && last.abort(); - 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(); }); - } - if ($docsify.auto2top) { setTimeout(function () { return scroll2Top($docsify.auto2top); }, 0); } + last = get(this.$getFile(path), true); + + // Current page is html + this.isHTML = /\.html$/g.test(path); + + // Load main content + last.then(function (text) { + this$1._renderMain(text); + if (!loadSidebar) { return cb() } + + var fn = function (result) { this$1._renderSidebar(result); cb(); }; + + // Load sidebar + get(this$1.$getFile(root + loadSidebar)) + // fallback root navbar when fail + .then(fn, function (_) { return get(loadSidebar).then(fn); }); + }, + function (_) { return this$1._renderMain(null); }); + + // Load nav + loadNavbar && + get(this.$getFile(root + loadNavbar)) + .then( + function (text) { return this$1._renderNav(text); }, + // fallback root navbar when fail + function (_) { return get(loadNavbar).then(function (text) { return this$1._renderNav(text); }); } + ); }; - hook.emit('before', content, function (result) { - var html = result ? markdown(result) : ''; + proto._fetchCover = function () { + var this$1 = this; - hook.emit('after', html, function (result) { return renderFn(result || 'not found'); }); - }); -} + var ref = this.config; + var coverpage = ref.coverpage; + var root = getRoot(this.route.path); + var path = this.$getFile(root + coverpage); -/** - * navbar - */ -function renderNavbar (content) { - if (CACHE.navbar && CACHE.navbar === content) { return } - CACHE.navbar = content; - - if (content) { renderTo('nav', markdown(content)); } - activeLink('nav'); -} - -/** - * sidebar - */ -function renderSidebar (content) { - var html; - - if (content) { - html = markdown(content); - // find url tag - html = html.match(/]*>([\s\S]+)<\/ul>/g)[0]; - } else { - html = tree(genTree(toc, $docsify.maxLevel), '
          '); - } - - renderTo('.sidebar-nav', html); - - if (toc[0] && toc[0].level === 1) { - document.title = "" + (toc[0].title) + (originTitle ? ' - ' + originTitle : ''); - } - - var target = activeLink('.sidebar-nav', true); - if (target) { renderSubSidebar(target); } - - toc = []; - scrollActiveSidebar(); -} - -function renderSubSidebar (target) { - if (!$docsify.subMaxLevel) { return } - toc[0] && toc[0].level === 1 && toc.shift(); - target.parentNode.innerHTML += tree(genTree(toc, $docsify.subMaxLevel), '
            '); -} - -/** - * Cover Page - */ -function renderCover (content) { - renderCover.dom = renderCover.dom || document.querySelector('section.cover'); - if (!content) { - renderCover.dom.classList.remove('show'); - return - } - renderCover.dom.classList.add('show'); - if (renderCover.rendered) { return sticky() } - - // render cover - var cacheToc = toc.slice(); - var html = markdown(content); - var match = html.trim().match('

            ([^<]*?)

            $'); - - toc = cacheToc.slice(); - - // render background - if (match) { - var coverEl = document.querySelector('section.cover'); - - if (match[2] === 'color') { - coverEl.style.background = match[1] + (match[3] || ''); - } else { - coverEl.classList.add('has-mask'); - coverEl.style.backgroundImage = "url(" + (match[1]) + ")"; + if (this.route.path !== '/' || !coverpage) { + this._renderCover(); + return } - html = html.replace(match[0], ''); - } - renderTo('.cover-main', html); - renderCover.rendered = true; - - sticky(); -} - -/** - * render loading bar - * @return {[type]} [description] - */ -function renderLoading (ref) { - var loaded = ref.loaded; - var total = ref.total; - var step = ref.step; - - var num; - - if (!CACHE.loading) { - var div = document.createElement('div'); - - div.classList.add('progress'); - document.body.appendChild(div); - CACHE.loading = div; - } - if (step) { - num = parseInt(CACHE.loading.style.width, 10) + step; - num = num > 80 ? 80 : num; - } else { - num = Math.floor(loaded / total * 100); - } - - CACHE.loading.style.opacity = 1; - CACHE.loading.style.width = num >= 95 ? '100%' : num + '%'; - - if (num >= 95) { - clearTimeout(renderLoading.cacheTimeout); - renderLoading.cacheTimeout = setTimeout(function (_) { - CACHE.loading.style.opacity = 0; - CACHE.loading.style.width = '0%'; - }, 200); - } -} - -var Hook = function Hook () { - this.beforeHooks = []; - this.afterHooks = []; - this.initHooks = []; - this.readyHooks = []; - this.doneEachHooks = []; -}; - -Hook.prototype.beforeEach = function beforeEach (fn) { - this.beforeHooks.push(fn); -}; - -Hook.prototype.afterEach = function afterEach (fn) { - this.afterHooks.push(fn); -}; - -Hook.prototype.doneEach = function doneEach (fn) { - this.doneEachHooks.push(fn); -}; - -Hook.prototype.init = function init (fn) { - this.initHooks.push(fn); -}; - -Hook.prototype.ready = function ready (fn) { - this.readyHooks.push(fn); -}; - -Hook.prototype.emit = function emit (name, data, next) { - var newData = data; - var queue = this[name + 'Hooks']; - var step = function (index) { - var hook = queue[index]; - if (index >= queue.length) { - next && next(newData); - } else { - if (typeof hook === 'function') { - if (hook.length === 2) { - hook(data, function (result) { - newData = result; - step(index + 1); - }); - } else { - var result = hook(data); - newData = result !== undefined ? result : newData; - step(index + 1); - } - } else { - step(index + 1); - } - } + this.coverIsHTML = /\.html$/g.test(path); + get(path) + .then(function (text) { return this$1._renderCover(text); }); }; - step(0); -}; + proto.$fetch = function (cb) { + var this$1 = this; + if ( cb === void 0 ) cb = noop; -var OPTIONS = merge({ - el: '#app', - repo: '', - maxLevel: 6, - subMaxLevel: 0, - loadSidebar: null, - loadNavbar: null, - homepage: 'README.md', - coverpage: '', - basePath: '', - auto2top: false, - name: '', - themeColor: '', - nameLink: window.location.pathname, - ga: '' -}, window.$docsify); -var script = document.currentScript || [].slice.call(document.getElementsByTagName('script')).pop(); - -// load configuration for script attribute -if (script) { - for (var prop in OPTIONS) { - var val = script.getAttribute('data-' + camel2kebab(prop)); - OPTIONS[prop] = isNil(val) ? OPTIONS[prop] : (val || true); - } - if (OPTIONS.loadSidebar === true) { OPTIONS.loadSidebar = '_sidebar.md'; } - if (OPTIONS.loadNavbar === true) { OPTIONS.loadNavbar = '_navbar.md'; } - if (OPTIONS.coverpage === true) { OPTIONS.coverpage = '_coverpage.md'; } - if (OPTIONS.repo === true) { OPTIONS.repo = ''; } - if (OPTIONS.name === true) { OPTIONS.name = ''; } -} - -var hook = new Hook(); - -// utils -window.$docsify = OPTIONS; -window.Docsify = { - installed: true, - utils: merge({}, utils), - hook: hook -}; - -// load options -init(); - -var cacheRoute = null; -var cacheXhr = null; - -var getAlias = function (route) { - if (OPTIONS.alias[route]) { - return getAlias(OPTIONS.alias[route]) - } else { - return route - } -}; - -var mainRender = function (cb) { - var page; - var route = getRoute(); - if (cacheRoute === route) { return cb() } - - var basePath = cacheRoute = OPTIONS.basePath + route; - - if (!/\//.test(basePath)) { - basePath = ''; - } else if (basePath && !/\/$/.test(basePath)) { - basePath = basePath.match(/(\S*\/)[^\/]+$/)[1]; - } - - // replace route - if (OPTIONS.alias && OPTIONS.alias['/' + route]) { - route = getAlias('/' + route); - } else { - route = (OPTIONS.basePath + route).replace(/\/+/, '/'); - } - - if (!route) { - page = OPTIONS.homepage || 'README.md'; - } else if (/\.md$/.test(route)) { - page = route; - } else if (/\/$/.test(route)) { - page = route + "README.md"; - } else { - page = route + ".md"; - } - - // Render Cover page - if (OPTIONS.coverpage && page === OPTIONS.homepage) { - load(OPTIONS.coverpage).then(renderCover); - } - - cacheXhr && cacheXhr.abort && cacheXhr.abort(); - // Render markdown file - cacheXhr = load(page, 'GET', renderLoading); - cacheXhr.then(function (result) { - renderArticle(result); - // clear cover - if (OPTIONS.coverpage && page !== OPTIONS.homepage) { renderCover(); } - // render sidebar - if (OPTIONS.loadSidebar) { - var renderSidebar$$1 = function (result) { renderSidebar(result); cb(); }; - - load(basePath + OPTIONS.loadSidebar).then(renderSidebar$$1, - function (_) { return load(OPTIONS.loadSidebar).then(renderSidebar$$1); }); - } else { + this._fetchCover(); + this._fetch(function (result) { + this$1.$resetEvents(); + callHook(this$1, 'doneEach'); cb(); - } - }, function (_) { return renderArticle(null); }); + }); + }; +} - // Render navbar - if (OPTIONS.loadNavbar) { - load(basePath + OPTIONS.loadNavbar).then(renderNavbar, - function (_) { return load(OPTIONS.loadNavbar).then(renderNavbar); }); - } +function initFetch (vm) { + vm.$fetch(function (_) { return callHook(vm, 'ready'); }); +} + +function initMixin (proto) { + proto._init = function () { + var vm = this; + vm.config = config || {}; + + initLifecycle(vm); // Init hooks + initPlugin(vm); // Install plugins + callHook(vm, 'init'); + initRender(vm); // Render base DOM + initEvent(vm); // Bind events + initRoute(vm); // Add hashchange eventListener + initFetch(vm); // Fetch data + callHook(vm, 'mounted'); + }; +} + +function initPlugin (vm) { + [].concat(vm.config.plugins).forEach(function (fn) { return isFn(fn) && fn(vm._lifecycle, vm); }); +} + + + +var util = Object.freeze({ + cached: cached, + hyphenate: hyphenate, + merge: merge, + isPrimitive: isPrimitive, + noop: noop, + isFn: isFn, + UA: UA, + isIE: isIE, + isMobile: isMobile +}); + +var initGlobalAPI = function () { + window.Docsify = { util: util, dom: dom, render: render, route: route, get: get }; + window.marked = marked; + window.Prism = prism; }; -var Docsify = function () { - setTimeout(function (_) { - [].concat(OPTIONS.plugins).forEach(function (fn) { return typeof fn === 'function' && fn(hook); }); - window.Docsify.hook.emit('init'); +function Docsify () { + this._init(); +} - var dom = document.querySelector(OPTIONS.el) || document.body; - var replace = dom !== document.body; - var main = function () { - mainRender(function (_) { - scrollIntoView(); - activeLink('nav'); - window.Docsify.hook.emit('doneEach'); - }); - }; +var proto = Docsify.prototype; - // Render app - renderApp(dom, replace); - main(); - if (!/^#\//.test(window.location.hash)) { window.location.hash = '#/'; } - window.addEventListener('hashchange', main); - window.Docsify.hook.emit('ready'); - }, 0); -}; +initMixin(proto); +routeMixin(proto); +renderMixin(proto); +fetchMixin(proto); +eventMixin(proto); -var index = Docsify(); +/** + * Global API + */ +initGlobalAPI(); -return index; +/** + * Run Docsify + */ + +setTimeout(function (_) { return new Docsify(); }, 0); }()); diff --git a/lib/docsify.min.js b/lib/docsify.min.js index 15d2f5a..aef616f 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,o=i-1;i>t||(r[o]?(r[o].children=r[o].children||[],r[o].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 o(){return document.body.clientWidth<=600}function a(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(a.occurrences=a.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"),o=a.occurrences[i];return a.occurrences.hasOwnProperty(i)?o++:o=0,a.occurrences[i]=o,o&&(i=i+"-"+o),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,o=document.body.scrollTop,l=0,u=n.length;lo){e||(e=d);break}e=d}if(e){var p=s[e.getAttribute("data-id")];if(p&&p!==c&&(c&&c.classList.remove("active"),p.classList.add("active"),c=p,!t&&!h.noSticky)){var g=0,f=c.offsetTop+c.clientHeight+40,m=c.offsetTop>=i.scrollTop&&f<=i.scrollTop+a,y=f-g=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(o()?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=a(e),r="";return r="#/"+i(),D.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/:|(\/{2})/.test(e)||(e=("#/"+e).replace(/\/+/g,"/")),''+n+""},e.paragraph=function(e){return/^!>/.test(e)?k("tip",e):/^\?>/.test(e)?k("warn",e):"

            "+e+"

            "},e.image=function(e,t,n){var r=/:|(\/{2})/.test(e)?e:($docsify.basePath+e).replace(/\/+/g,"/"),i=t?' title="'+t+'"':"";return''+n+'"},"function"==typeof $docsify.markdown?z=$docsify.markdown.call(this,z,e):($docsify.markdown&&$docsify.markdown.renderer&&($docsify.markdown.renderer=O(e,$docsify.markdown.renderer)),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 D=[],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 a=document.querySelector(".sidebar");a.innerHTML='

            '+$docsify.name+"

            "+a.innerHTML}d("button.sidebar-toggle"),$docsify.coverpage?!o()&&window.addEventListener("scroll",h):r.classList.add("sticky")}function _(e){var t=window.Docsify.hook,n=function(e){if(G("article",e),$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 p($docsify.auto2top)},0)};t.emit("before",e,function(e){var r=e?z(e):"";t.emit("after",r,function(e){return n(e||"not found")})})}function C(e){R.navbar&&R.navbar===e||(R.navbar=e,e&&G("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(D,$docsify.maxLevel),"
              "),G(".sidebar-nav",n),D[0]&&1===D[0].level&&(document.title=""+D[0].title+(B?" - "+B:""));var r=u(".sidebar-nav",!0);r&&A(r),D=[],l()}function A(e){$docsify.subMaxLevel&&(D[0]&&1===D[0].level&&D.shift(),e.parentNode.innerHTML+=v(t(D,$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=D.slice(),n=z(e),r=n.trim().match('

                ([^<]*?)

                $');if(D=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],"")}G(".cover-main",n),T.rendered=!0,h()}function q(e){var t,n=e.loaded,r=e.total,i=e.step;if(!R.loading){var o=document.createElement("div");o.classList.add("progress"),document.body.appendChild(o),R.loading=o}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;a.clear=function(){a.occurrences={}};var N=Object.prototype.hasOwnProperty,O=Object.assign||function(e){for(var t=arguments,n=1;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function a(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g,function(e,t){return t=t.toLowerCase(),"colon"===t?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function s(e,t){return e=e.source,t=t||"",function n(r,i){return r?(i=i.source||i,i=i.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,i),n):new RegExp(e,t)}}function l(){}function c(e){for(var t,n,r=arguments,i=1;iAn error occured:

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

                "+e+"

                \n"},r.prototype.table=function(e,t){return"\n\n"+e+"\n\n"+t+"\n
                \n"},r.prototype.tablerow=function(e){return"\n"+e+"\n"},r.prototype.tablecell=function(e,t){var n=t.header?"th":"td",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(a(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var i='
                "},r.prototype.image=function(e,t,n){var r=''+n+'":">"},r.prototype.text=function(e){return e},i.parse=function(e,t,n){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,o,a="",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!=o.length-1){if(u.lastIndex=b,k=u.exec(e),!k)break;for(var x=k.index+(p?k[1].length:0),L=k.index+k[0].length,S=y,$=b,_=o.length;S<_&&$=$&&(++y,b=$);if(o[y]instanceof i||o[S-1].greedy)continue;w=S-y,v=e.slice(b,$),k.index-=b}if(k){p&&(g=k[1].length);var x=k.index+g,k=k[0].slice(g),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,d?r.tokenize(k,d):k,f,k,h);A.push(T),E&&A.push(E),Array.prototype.splice.apply(o,A)}}}}}return o},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var i,o=0;i=n[o++];)i(t)}}},i=r.Token=function(e,t,n,r,i){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!i};if(i.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return i.stringify(n,t,e)}).join("");var o={type:e.type,content:i.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if("comment"==o.type&&(o.attributes.spellcheck="true"),e.alias){var a="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(o.classes,a)}r.hooks.run("wrap",o);var s=Object.keys(o.attributes).map(function(e){return e+'="'+(o.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+(s?" "+s:"")+">"+o.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var n=JSON.parse(e.data),i=n.language,o=n.code,a=n.immediateClose; -t.postMessage(r.highlight(o,r.languages[i],i)),a&&t.close()},!1),t.Prism):t.Prism;var o=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return o&&(r.filename=o.src,document.addEventListener&&!o.hasAttribute("data-manual")&&("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(r.highlightAll):window.setTimeout(r.highlightAll,16):document.addEventListener("DOMContentLoaded",r.highlightAll))),t.Prism}();e.exports&&(e.exports=n),"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"),o=t,a=/\blang(?:uage)?-(?!\*)(\w+)\b/i;o&&!a.test(o.className);)o=o.parentNode;if(o&&(r=(t.className.match(a)||[,""])[1]),!r){var s=(i.match(/\.(\w+)$/)||[,""])[1];r=e[s]||s}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",i,!0),c.onreadystatechange=function(){4==c.readyState&&(c.status<400&&c.responseText?(l.textContent=c.responseText,n.highlightElement(l)):c.status>=400?l.textContent="✖ Error "+c.status+" while fetching file: "+c.statusText:l.textContent="✖ Error: File does not exist or is empty")},c.send(null)})},document.addEventListener("DOMContentLoaded",self.Prism.fileHighlight))}()}),z=F,D=[],R={},B=document.title,G=function(e,t){return e="object"==typeof e?e:document.querySelector(e),e.innerHTML=t,a.clear(),e},Z=function(){this.beforeHooks=[],this.afterHooks=[],this.initHooks=[],this.readyHooks=[],this.doneEachHooks=[]};Z.prototype.beforeEach=function(e){this.beforeHooks.push(e)},Z.prototype.afterEach=function(e){this.afterHooks.push(e)},Z.prototype.doneEach=function(e){this.doneEachHooks.push(e)},Z.prototype.init=function(e){this.initHooks.push(e)},Z.prototype.ready=function(e){this.readyHooks.push(e)},Z.prototype.emit=function(e,t,n){var r=t,i=this[e+"Hooks"],o=function(e){var a=i[e];if(e>=i.length)n&&n(r);else if("function"==typeof a)if(2===a.length)a(t,function(t){r=t,o(e+1)});else{var s=a(t);r=void 0!==s?s:r,o(e+1)}else o(e+1)};o(0)};var U=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),V=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();if(V){for(var Y in U){var J=V.getAttribute("data-"+n(Y));U[Y]=r(J)?U[Y]:J||!0}U.loadSidebar===!0&&(U.loadSidebar="_sidebar.md"),U.loadNavbar===!0&&(U.loadNavbar="_navbar.md"),U.coverpage===!0&&(U.coverpage="_coverpage.md"),U.repo===!0&&(U.repo=""),U.name===!0&&(U.name="")}var X=new Z;window.$docsify=U,window.Docsify={installed:!0,utils:O({},H),hook:X},S();var K=null,Q=null,ee=function(e){return U.alias[e]?ee(U.alias[e]):e},te=function(t){var n,r=i();if(K===r)return t();var o=K=U.basePath+r;/\//.test(o)?o&&!/\/$/.test(o)&&(o=o.match(/(\S*\/)[^\/]+$/)[1]):o="",r=U.alias&&U.alias["/"+r]?ee("/"+r):(U.basePath+r).replace(/\/+/,"/"),n=r?/\.md$/.test(r)?r:/\/$/.test(r)?r+"README.md":r+".md":U.homepage||"README.md",U.coverpage&&n===U.homepage&&e(U.coverpage).then(T),Q&&Q.abort&&Q.abort(),Q=e(n,"GET",q),Q.then(function(r){if(_(r),U.coverpage&&n!==U.homepage&&T(),U.loadSidebar){var i=function(e){E(e),t()};e(o+U.loadSidebar).then(i,function(t){return e(U.loadSidebar).then(i)})}else t()},function(e){return _(null)}),U.loadNavbar&&e(o+U.loadNavbar).then(C,function(t){return e(U.loadNavbar).then(C)})},ne=function(){setTimeout(function(e){[].concat(U.plugins).forEach(function(e){return"function"==typeof e&&e(X)}),window.Docsify.hook.emit("init");var t=document.querySelector(U.el)||document.body,n=t!==document.body,r=function(){te(function(e){c(),u("nav"),window.Docsify.hook.emit("doneEach")})};$(t,n),r(),/^#\//.test(window.location.hash)||(window.location.hash="#/"),window.addEventListener("hashchange",r),window.Docsify.hook.emit("ready")},0)},re=ne();return re}(); +!function(){"use strict";function e(e){var t=Object.create(null);return function(n){var r=t[n];return r||(t[n]=e(n))}}function t(e){return"string"==typeof e||"number"==typeof e}function n(){}function r(e){return"function"==typeof e}function i(e){var t=["init","mounted","beforeEach","afterEach","doneEach","ready"];e._hooks={},e._lifecycle={},t.forEach(function(t){var n=e._hooks[t]=[];e._lifecycle[t]=function(e){return n.push(e)}})}function a(e,t,r,i){void 0===i&&(i=n);var a=r,o=e._hooks[t],s=function(e){var t=o[e];if(e>=o.length)i(a);else if("function"==typeof t)if(2===t.length)t(r,function(t){a=t,s(e+1)});else{var n=t(r);a=void 0!==n?n:a,s(e+1)}else s(e+1)};s(0)}function o(e,t){return void 0===t&&(t=!1),"string"==typeof e&&(e=t?s(e):de[e]||s(e)),e}function s(e,t){return t?e.querySelector(t):fe.querySelector(e)}function l(e,t){return[].slice.call(t?e.querySelectorAll(t):fe.querySelectorAll(e))}function u(e,t){return e=fe.createElement(e),t&&(e.innerHTML=t),e}function c(e,t){return e.appendChild(t)}function p(e,t){return e.insertBefore(t,e.children[0])}function h(e,t,n){r(t)?window.addEventListener(e,t):e.addEventListener(t,n)}function g(e,t,n){e&&e.classList[n?t:"toggle"](n||t)}function d(e){var t={};return(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach(function(e){var n=e.replace(/\+/g," ").split("=");t[n[0]]=_e(n[1])}),t):t}function f(e){var t=[];for(var n in e)t.push((Le(n)+"="+Le(e[n])).toLowerCase());return t.length?"?"+t.join("&"):""}function m(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Ee(e.join("/"))}function v(e){var t=window.location.href.indexOf("#");window.location.replace(window.location.href.slice(0,t>=0?t:0)+"#"+e)}function b(){var e=y();return e=Te(e),"/"===e.charAt(0)?v(e):void v("/"+e)}function y(){var e=window.location.href,t=e.indexOf("#");return t===-1?"":e.slice(t+1)}function k(e){void 0===e&&(e=window.location.href);var t="",n=e.indexOf("?");n>=0&&(t=e.slice(n+1),e=e.slice(0,n));var r=e.indexOf("#");return r&&(e=e.slice(r+1)),{path:e,query:d(t)}}function w(e,t){var n=k(Te(e));return n.query=se({},n.query,t),e=n.path+f(n.query),Ee("#/"+e)}function x(e){var t=function(){return me.classList.toggle("close")};if(e=o(e),h(e,"click",t),xe){var n=o(".sidebar");h(n,"click",function(){t(),setTimeout(function(){return L(n,!0,!0)},0)})}}function _(){var e=o("section.cover");if(e){var t=e.getBoundingClientRect().height;window.pageYOffset>=t||e.classList.contains("hidden")?g(me,"add","sticky"):g(me,"remove","sticky")}}function L(e,t,n){e=o(e);var r,i=l(e,"a"),a="#"+y();return i.sort(function(e,t){return t.href.length-e.href.length}).forEach(function(e){var n=e.getAttribute("href"),i=t?e.parentNode:e;0!==a.indexOf(n)||r?g(i,"remove","active"):(r=e,g(i,"add","active"))}),n&&(fe.title=r?r.innerText+" - "+je:je),r}function S(){function e(){for(var e,o=me.scrollTop,s=0,l=n.length;so){e||(e=c);break}e=c}if(e){var p=a[e.getAttribute("data-id")];if(p&&p!==u&&(u&&u.classList.remove("active"),p.classList.add("active"),u=p,!t&&me.classList.contains("sticky"))){var h=r.clientHeight,g=0,d=u.offsetTop+u.clientHeight+40,f=u.offsetTop>=i.scrollTop&&d<=i.scrollTop+h,m=d-g=400?a(n):(qe[e]=n.response,r(n.response))})},abort:function(e){return 4!==r.readyState&&r.abort()}})}function A(e,t){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,t)}function j(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'`'):""}function M(e){var t='';return(xe?t+"
                ":"
                "+t)+'
                '}function O(){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'
                '}function q(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
              • '+e.title+"
              • ",e.children&&(t+='
                • '+q(e.children)+"
                ")}),t):""}function P(e,t){return'

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

                "}function N(e){return""}function F(e,t){return t={exports:{}},e(t,t.exports),t.exports}function I(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 H(e){if("string"!=typeof e)return"";var t=e.toLowerCase().trim().replace(/<[^>\d]+>/g,"").replace(Re,"").replace(/\s/g,"-").replace(/-+/g,"-").replace(/^(\d)/,"_$1"),n=ze[t];return n=ze.hasOwnProperty(t)?n+1:0,ze[t]=n,n&&(t=t+"-"+n),t}function z(){ze={}}function R(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 W(e,t){var n="";if(e)n=Ve(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0];else{var r=I(Ze,t);n=q(r,"
                  ")}return n}function B(e,t){if(e){Ze[0]&&1===Ze[0].level&&Ze.shift();var n=I(Ge[De]||Ze,t);e.parentNode.innerHTML+=q(n,'
                    ')}Ze.length&&(Ge[De]=Ze.slice()),Ze=[]}function D(e){var t=Ze.slice(),n=Ve(e);return Ze=t.slice(),n}function U(){var e=l(".markdown-section>script").filter(function(e){return!/template/.test(e.type)})[0];if(!e)return!1;var t=e.innerText.trim();return!!t&&void setTimeout(function(e){window.__EXECUTE_RESULT__=new Function(t)()},0)}function G(e){e||(e="not found"),this._renderTo(".markdown-section",e),!this.config.loadSidebar&&this._renderSidebar(),this.config.executeScript&&U(),this.config.executeScript||"undefined"==typeof window.Vue||U()||setTimeout(function(e){window.__EXECUTE_RESULT__=(new window.Vue).$mount("#main")},0),this.config.auto2top&&$(this.config.auto2top)}function Z(e){e._renderTo=function(e,t,n){var r=o(e);r&&(r[n?"outerHTML":"innerHTML"]=t)},e._renderSidebar=function(e){var t=this.config,n=t.maxLevel,r=t.subMaxLevel,i=t.autoHeader;this._renderTo(".sidebar-nav",W(e,n));var a=L(".sidebar-nav",!0,!0);if(B(a,r),this.activeLink=a,S(),i&&a){var s=o("#main"),l=s.children[0];if(l&&"H1"!==l.tagName){var c=u("h1");c.innerText=a.innerText,p(s,c)}}},e._renderNav=function(e){e&&this._renderTo("nav",Ve(e)),L("nav")},e._renderMain=function(e){var t=this;a(this,"beforeEach",e,function(e){var n=t.isHTML?e:Ve(e);a(t,"afterEach",n,function(e){return G.call(t,e)})})},e._renderCover=function(e){var t=o(".cover");if(!e)return void g(t,"remove","show");g(t,"add","show");var n=this.coverIsHTML?e:D(e),r=n.trim().match('

                    ([^<]*?)

                    $');if(r){if("color"===r[2])t.style.background=r[1]+(r[3]||"");else{var i=r[1];g(t,"add","has-mask"),Ce(r[1])&&(i=m(Se(this.config.basePath),r[1])),t.style.backgroundImage="url("+i+")"}n=n.replace(r[0],"")}this._renderTo(".cover-main",n),_()},e._updateRender=function(){Ve.update()}}function V(e){var t=e.config;Ve.init(t.markdown,t.basePath);var n=t.el||"#app",r=s("nav")||u("nav"),i=s(n),a="";r.classList.add("app-nav"),t.repo||r.classList.add("no-badge"),i||(i=u(n),c(me,i)),t.repo&&(a+=j(t.repo)),t.coverpage&&(a+=O()),a+=M(t),e._renderTo(i,a,!0),p(me,r),t.themeColor&&(fe.head.innerHTML+=N(t.themeColor),Ne(t.themeColor)),g(me,"ready")}function X(e,t){return t[e]?X(t[e],t):e}function Y(e){return/\.(md|html)$/g.test(e)?e:/\/$/g.test(e)?e+"README.md":e+".md"}function J(e){e.route={},e.$getFile=function(e){var t=this,n=t.config,r=Se(n.basePath);return e=X(e,n.alias),e=Y(e),e="/README.md"===e?n.homepage||e:e,e=Ce(e)?e:m(r,e)}}function Q(e){b(),Ye=e.route=k(),h("hashchange",function(t){return b(),e.route=k(),e._updateRender(),Ye.path===e.route.path?void e.$resetEvents():(e.$fetch(),void(Ye=e.route))})}function K(e){e.$resetEvents=function(){C(this.route.query.id),L("nav")}}function ee(e){x("button.sidebar-toggle"),e.config.coverpage?!xe&&h("scroll",_):me.classList.add("sticky")}function te(e){var t;e._fetch=function(e){var r=this;void 0===e&&(e=n);var i=this.route,a=i.path,o=this.config,s=o.loadNavbar,l=o.loadSidebar,u=$e(a);t&&t.abort&&t.abort(),t=T(this.$getFile(a),!0),this.isHTML=/\.html$/g.test(a),t.then(function(t){if(r._renderMain(t),!l)return e();var n=function(t){r._renderSidebar(t),e()};T(r.$getFile(u+l)).then(n,function(e){return T(l).then(n)})},function(e){return r._renderMain(null)}),s&&T(this.$getFile(u+s)).then(function(e){return r._renderNav(e)},function(e){return T(s).then(function(e){return r._renderNav(e)})})},e._fetchCover=function(){var e=this,t=this.config,n=t.coverpage,r=$e(this.route.path),i=this.$getFile(r+n);return"/"===this.route.path&&n?(this.coverIsHTML=/\.html$/g.test(i),void T(i).then(function(t){return e._renderCover(t)})):void this._renderCover()},e.$fetch=function(e){var t=this;void 0===e&&(e=n),this._fetchCover(),this._fetch(function(n){t.$resetEvents(),a(t,"doneEach"),e()})}}function ne(e){e.$fetch(function(t){return a(e,"ready")})}function re(e){e._init=function(){var e=this;e.config=le||{},i(e),ie(e),a(e,"init"),V(e),ee(e),Q(e),ne(e),a(e,"mounted")}}function ie(e){[].concat(e.config.plugins).forEach(function(t){return r(t)&&t(e._lifecycle,e)})}function ae(){this._init()}var oe=e(function(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),se=Object.assign||function(e){for(var t=arguments,n=Object.prototype.hasOwnProperty,r=1;r80?80:t):t=Math.floor(n/r*100),he.style.opacity=1,he.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(ge),ge=setTimeout(function(e){he.style.opacity=0,he.style.width="0%"},200))},qe={},Pe=Date.now(),Ne=function(e){if(!(window.CSS&&window.CSS.supports&&window.CSS.supports("(--v:red)"))){var t=l("style:not(.inserted),link");[].forEach.call(t,function(t){if("STYLE"===t.nodeName)A(t,e);else if("LINK"===t.nodeName){var n=t.getAttribute("href");if(!/\.css$/.test(n))return;T(n).then(function(t){var n=u("style",t);ve.appendChild(n),A(n,e)})}})}},Fe="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},Ie=F(function(e,t){(function(){function t(e){this.tokens=[],this.tokens.links={},this.options=e||c.defaults,this.rules=p.normal,this.options.gfm&&(this.options.tables?this.rules=p.tables:this.rules=p.gfm)}function n(e,t){if(this.options=t||c.defaults,this.links=e,this.rules=h.normal,this.renderer=this.options.renderer||new r,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=h.breaks:this.rules=h.gfm:this.options.pedantic&&(this.rules=h.pedantic)}function r(e){this.options=e||{}}function i(e){this.tokens=[],this.token=null,this.options=e||c.defaults,this.options.renderer=this.options.renderer||new r,this.renderer=this.options.renderer,this.renderer.options=this.options}function a(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&").replace(//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 u(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=u({},p),p.gfm=u({},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=u({},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,u,c,h,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")},c=0;c ?/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,h=a.length,c=0;c1&&s.length>1||(e=a.slice(c+1).join("\n")+e,c=h-1)),i=r||/\n\n(?!\s*$)/.test(l),c!==h-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")},c=0;c])/,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*/,h.link=s(h.link)("inside",h._inside)("href",h._href)(),h.reflink=s(h.reflink)("inside",h._inside)(),h.normal=u({},h),h.pedantic=u({},h.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),h.gfm=u({},h.normal,{escape:s(h.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:s(h.text)("]|","~]|")("|","|https?://|")()}),h.breaks=u({},h.gfm,{br:s(h.br)("{2,}","*")(),text:s(h.gfm.text)("{2,}","*")()}),n.rules=h,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(!(y instanceof i)){c.lastIndex=0;var k=c.exec(y),w=1;if(!k&&g&&v!=a.length-1){if(c.lastIndex=b,k=c.exec(e),!k)break;for(var x=k.index+(h?k[1].length:0),_=k.index+k[0].length,L=v,S=b,C=a.length;L=S&&(++v,b=S);if(a[v]instanceof i||a[L-1].greedy)continue;w=L-v,y=e.slice(b,S),k.index-=b}if(k){h&&(d=k[1].length);var x=k.index+d,k=k[0].slice(d),_=x+k.length,$=y.slice(0,x),E=y.slice(_),T=[v,w];$&&T.push($);var A=new i(s,p?r.tokenize(k,p):k,f,k,g);T.push(A),E&&T.push(E),Array.prototype.splice.apply(a,T)}}}}}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 Fe&&(Fe.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 u=new XMLHttpRequest;u.open("GET",i,!0),u.onreadystatechange=function(){4==u.readyState&&(u.status<400&&u.responseText?(l.textContent=u.responseText,n.highlightElement(l)):u.status>=400?l.textContent="✖ Error "+u.status+" while fetching file: "+u.statusText:l.textContent="✖ Error: File does not exist or is empty")},u.send(null)})},document.addEventListener("DOMContentLoaded",self.Prism.fileHighlight))}()}),ze={},Re=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,We=Ie,Be="",De="",Ue=new Ie.Renderer,Ge={},Ze=[],Ve=e(function(e){var t="";return e?(t=We(e),t=R(t),z(),t):e});Ve.renderer=Ue,Ve.init=function(e,t){void 0===e&&(e={}),void 0===t&&(t=window.location.pathname),Be=Se(t),De=k().path,r(e)?We=e(Ie,Ue):(Ue=se(Ue,e.renderer),Ie.setOptions(se(e,{renderer:Ue})))},Ve.update=function(){De=k().path},Ue.heading=function(e,t){var n=H(e),r=w(De,{id:n});return Ze.push({level:t,slug:r,title:e}),"'+e+""},Ue.code=function(e,t){void 0===t&&(t="");var n=He.highlight(e,He.languages[t]||He.languages.markup);return'
                    '+n+"
                    "},Ue.link=function(e,t,n){var r="";return/:|(\/{2})/.test(e)?r=' target="_blank"':e=w(e),'"+n+""},Ue.paragraph=function(e){return/^!>/.test(e)?P("tip",e):/^\?>/.test(e)?P("warn",e):"

                    "+e+"

                    "},Ue.image=function(e,t,n){var r=e,i=t?' title="'+t+'"':"";return Ce(e)||(r=m(Be,e)),''+n+'"};var Xe=Object.freeze({markdown:Ve,sidebar:W,subSidebar:B,cover:D}),Ye={},Je=Object.freeze({cached:e,hyphenate:oe,merge:se,isPrimitive:t,noop:n,isFn:r,UA:ke,isIE:we,isMobile:xe}),Qe=function(){window.Docsify={util:Je,dom:ye,render:Xe,route:Ae,get:T},window.marked=Ie,window.Prism=He},Ke=ae.prototype;re(Ke),J(Ke),Z(Ke),te(Ke),K(Ke),Qe(),setTimeout(function(e){return new ae},0)}(); diff --git a/lib/plugins/ga.js b/lib/plugins/ga.js index 2c2e939..2b8e899 100644 --- a/lib/plugins/ga.js +++ b/lib/plugins/ga.js @@ -1,9 +1,8 @@ this.D = this.D || {}; -this.D.GA = (function () { +(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; @@ -28,23 +27,15 @@ function collect () { window.ga('send', 'pageview'); } -var install = function () { - if (install.installed) { return } - install.installed = true; - +var install = function (hook) { if (!window.$docsify.ga) { console.error('[Docsify] ga is required.'); return } - window.$docsify.plugins = [].concat(function (hook) { - hook.init(collect); - hook.beforeEach(collect); - }, window.$docsify.plugins); + hook.beforeEach(collect); }; -var ga = install(); - -return ga; +window.$docsify.plugins = [].concat(install, window.$docsify.plugins); }()); diff --git a/lib/plugins/ga.min.js b/lib/plugins/ga.min.js index 68072d6..6b6067d 100644 --- a/lib/plugins/ga.min.js +++ b/lib/plugins/ga.min.js @@ -1 +1 @@ -this.D=this.D||{},this.D.GA=function(){"use strict";function i(){var i=document.createElement("script");i.async=!0,i.src="https://www.google-analytics.com/analytics.js",document.body.appendChild(i)}function n(n){window.ga||(i(),window.ga=window.ga||function(){(window.ga.q=window.ga.q||[]).push(arguments)},window.ga.l=Number(new Date),window.ga("create",n,"auto"))}function o(){n(window.$docsify.ga),window.ga("set","page",location.href),window.ga("send","pageview")}var t=function(){if(!t.installed)return t.installed=!0,window.$docsify.ga?void(window.$docsify.plugins=[].concat(function(i){i.init(o),i.beforeEach(o)},window.$docsify.plugins)):void console.error("[Docsify] ga is required.")},a=t();return a}(); +this.D=this.D||{},function(){"use strict";function n(){var n=document.createElement("script");n.async=!0,n.src="https://www.google-analytics.com/analytics.js",document.body.appendChild(n)}function o(o){window.ga||(n(),window.ga=window.ga||function(){(window.ga.q=window.ga.q||[]).push(arguments)},window.ga.l=Number(new Date),window.ga("create",o,"auto"))}function i(){o(window.$docsify.ga),window.ga("set","page",location.href),window.ga("send","pageview")}var w=function(n){return window.$docsify.ga?void n.beforeEach(i):void console.error("[Docsify] ga is required.")};window.$docsify.plugins=[].concat(w,window.$docsify.plugins)}(); diff --git a/lib/plugins/search.js b/lib/plugins/search.js index d524f4d..0f6a8ef 100644 --- a/lib/plugins/search.js +++ b/lib/plugins/search.js @@ -1,166 +1,82 @@ this.D = this.D || {}; -this.D.Search = (function () { +(function () { 'use strict'; var INDEXS = {}; -var CONFIG = { - placeholder: 'Type to search', - paths: 'auto', - maxAge: 86400000 // 1 day -}; +var helper; -var isObj = function (obj) { - return Object.prototype.toString.call(obj) === '[object Object]' -}; - -var escapeHtml = function (string) { +function escapeHtml (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')) +function getAllPaths () { + var paths = []; + + helper.dom.findAll('a') .map(function (node) { var href = node.href; - if (/#\/[^#]*?$/.test(href)) { - var path = href.replace(/^[^#]+#/, ''); + var originHref = node.getAttribute('href'); + var path = helper.route.parse(href).path; - if (paths.indexOf(path) <= 0) { paths.push(path); } + if (path && + paths.indexOf(path) === -1 && + !helper.route.isAbsolutePath(originHref)) { + paths.push(path); } }); return paths -}; +} -/** - * return file path - */ -var genFilePath = function (path, basePath) { - if ( basePath === void 0 ) basePath = window.$docsify.basePath; +function saveData (maxAge) { + localStorage.setItem('docsify.search.expires', Date.now() + maxAge); + localStorage.setItem('docsify.search.index', JSON.stringify(INDEXS)); +} - var filePath = /\/$/.test(path) ? (path + "README.md") : (path + ".md"); - - filePath = basePath + filePath; - - return filePath.replace(/\/+/g, '/') -}; - -/** - * generate index - */ -var genIndex = function (path, content) { +function genIndex (path, content) { if ( content === void 0 ) content = ''; - INDEXS[path] = { slug: '', title: '', body: '' }; + var tokens = window.marked.lexer(content); + var toURL = Docsify.route.toURL; + var index = {}; 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 { - if (!slug) { return } - // 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 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; - - 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!

                    '; - } + tokens.forEach(function (token) { + if (token.type === 'heading' && token.depth <= 2) { + slug = toURL(path, { id: token.text }); + index[slug] = { slug: slug, title: token.text, body: '' }; } else { - if (panel.classList.contains('results-panel')) { - panel.classList.remove('show'); - panel.innerHTML = ''; + if (!slug) { return } + if (!index[slug]) { + index[slug] = { slug: slug, title: '', body: '' }; + } else { + if (index[slug].body) { + index[slug].body += '\n' + (token.text || ''); + } else { + index[slug].body = token.text; + } } } }); -}; -// From [weex website] https://weex-project.io/js/common.js -SearchComponent.prototype.search = function search (keywords) { + return index +} + +function search (keywords) { var matchingResults = []; - var data = Object.keys(INDEXS).map(function (key) { return INDEXS[key]; }); + var data = []; + Object.keys(INDEXS).forEach(function (key) { + data = data.concat(Object.keys(INDEXS[key]).map(function (page) { return INDEXS[key][page]; })); + }); keywords = keywords.trim().split(/[\s\-\,\\/]+/); @@ -196,7 +112,7 @@ SearchComponent.prototype.search = function search (keywords) { if (end > postContent.length) { end = postContent.length; } var matchContent = '...' + - postContent + escapeHtml(postContent) .substring(start, end) .replace(regEx, ("" + keyword + "")) + '...'; @@ -217,13 +133,15 @@ SearchComponent.prototype.search = function search (keywords) { } }; - for (var i = 0; i < data.length; i++) loop( i ); + for (var i = 0; i < data.length; i++) loop( i ); return matchingResults -}; +} -var searchPlugin = function () { - var isAuto = CONFIG.paths === 'auto'; +function init$1 (config, vm) { + helper = Docsify; + + var isAuto = config.paths === 'auto'; var isExpired = localStorage.getItem('docsify.search.expires') < Date.now(); INDEXS = JSON.parse(localStorage.getItem('docsify.search.index')); @@ -234,68 +152,123 @@ var searchPlugin = function () { return } - var count = 0; - var paths = isAuto ? getAllPaths() : CONFIG.paths; + 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 alias = window.$docsify.alias; - var done = function () { - localStorage.setItem('docsify.search.expires', Date.now() + CONFIG.maxAge); - localStorage.setItem('docsify.search.index', JSON.stringify(INDEXS)); - }; + var count = 0; paths.forEach(function (path) { if (INDEXS[path]) { return count++ } - var route; - // replace route - if (alias && alias[path]) { - route = genFilePath(alias[path] || path, ''); - } else { - route = genFilePath(path); + helper + .get(vm.$getFile(path)) + .then(function (result) { + INDEXS[path] = genIndex(path, result); + len === ++count && saveData(config.maxAge); + }); + }); +} + +var dom; + +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}"; + var style = dom.create('style', code); + dom.appendTo(dom.head, style); +} + +function tpl (opts) { + var html = + "" + + '
                    ' + + ''; + var el = dom.create('div', html); + var aside = dom.find('aside'); + + dom.toggleClass(el, 'search'); + dom.before(aside, el); +} + +function bindEvents () { + var $search = dom.find('div.search'); + var $input = dom.find($search, 'input'); + var $panel = dom.find($search, '.results-panel'); + + // Prevent to Fold sidebar + dom.on($search, 'click', + function (e) { return e.target.tagName !== 'A' && e.stopPropagation(); }); + + dom.on($input, 'input', function (e) { + var value = e.target.value.trim(); + if (!value) { + $panel.classList.remove('show'); + $panel.innerHTML = ''; + return } + var matchs = search(value); - load(route).then(function (content) { - genIndex(path, marked(content)); - slugify.clear(); - count++; + var html = ''; - if (len === count) { done(); } + matchs.forEach(function (post) { + html += "
                    \n

                    " + (post.title) + "

                    \n

                    " + (post.content) + "

                    \n
                    "; }); + + $panel.classList.add('show'); + $panel.innerHTML = html || '

                    No Results!

                    '; + }); +} + +function updatePlaceholder (text, path) { + var $input = dom.getNode('.search input[type="search"]'); + + if (typeof text === 'string') { + $input.placeholder = text; + } else { + var match = Object.keys(text).find(function (key) { return path.indexOf(key) > -1; }); + $input.placeholder = text[match]; + } +} + +function init$$1 (opts) { + dom = Docsify.dom; + style(); + tpl(opts); + bindEvents(); +} + +function update (opts, vm) { + updatePlaceholder(opts.placeholder, vm.route.path); +} + +var CONFIG = { + placeholder: 'Type to search', + paths: 'auto', + maxAge: 86400000 // 1 day +}; + +var install = function (hook, vm) { + var util = Docsify.util; + var opts = vm.config.search || CONFIG; + + if (Array.isArray(opts)) { + CONFIG.paths = opts; + } else if (typeof opts === 'object') { + CONFIG.paths = Array.isArray(opts.paths) ? opts.paths : 'auto'; + CONFIG.maxAge = util.isPrimitive(opts.maxAge) ? opts.maxAge : CONFIG.maxAge; + CONFIG.placeholder = opts.placeholder || CONFIG.placeholder; + } + + var isAuto = CONFIG.paths === 'auto'; + + hook.mounted(function (_) { + init$$1(CONFIG); + !isAuto && init$1(CONFIG, vm); + }); + hook.doneEach(function (_) { + update(CONFIG, vm); + isAuto && init$1(CONFIG, vm); }); }; -var install = function () { - if (install.installed) { return } - install.installed = true; - - 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; - } - - window.$docsify.plugins = [].concat(function (hook) { - var isAuto = CONFIG.paths === 'auto'; - - hook.ready(function () { - new SearchComponent(); - !isAuto && searchPlugin(); - }); - isAuto && hook.doneEach(searchPlugin); - }, window.$docsify.plugins); -}; - -var search = install(); - -return search; +window.$docsify.plugins = [].concat(install, window.$docsify.plugins); }()); diff --git a/lib/plugins/search.min.js b/lib/plugins/search.min.js index 214806c..cd0ea86 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]})},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,n){void 0===n&&(n=window.$docsify.basePath);var 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":">",'"':""","'":"'","/":"/"};return String(e).replace(/[&<>"'\/]/g,function(e){return n[e]})}function n(){var e=[];return h.dom.findAll("a").map(function(n){var t=n.href,r=n.getAttribute("href"),i=h.route.parse(t).path;i&&e.indexOf(i)===-1&&!h.route.isAbsolutePath(r)&&e.push(i)}),e}function t(e){localStorage.setItem("docsify.search.expires",Date.now()+e),localStorage.setItem("docsify.search.index",JSON.stringify(f))}function r(e,n){void 0===n&&(n="");var t,r=window.marked.lexer(n),i=Docsify.route.toURL,o={};return r.forEach(function(n){if("heading"===n.type&&n.depth<=2)t=i(e,{id:n.text}),o[t]={slug:t,title:n.text,body:""};else{if(!t)return;o[t]?o[t].body?o[t].body+="\n"+(n.text||""):o[t].body=n.text:o[t]={slug:t,title:"",body:""}}}),o}function i(n){var t=[],r=[];Object.keys(f).forEach(function(e){r=r.concat(Object.keys(f[e]).map(function(n){return f[e][n]}))}),n=n.trim().split(/[\s\-\,\\\/]+/);for(var i=function(i){var o=r[i],a=!1,s="",c=o.title&&o.title.trim(),l=o.body&&o.body.trim(),p=o.slug||"";if(""!==c&&""!==l&&(n.forEach(function(n,t){var r=new RegExp(n,"gi"),i=-1,o=-1;if(i=c.search(r),o=l.search(r),i<0&&o<0)a=!1;else{a=!0,o<0&&(o=0);var p=0,d=0;p=o<11?0:o-10,d=0===p?70:o+n.length+60,d>l.length&&(d=l.length);var h="..."+e(l).substring(p,d).replace(r,''+n+"")+"...";s+=h}}),a)){var d={title:e(c),content:s,url:p};t.push(d)}},o=0;o\n

                    '+e.title+"

                    \n

                    "+e.content+"

                    \n"}),t.classList.add("show"),t.innerHTML=o||'

                    No Results!

                    '})}function l(e,n){var t=u.getNode('.search input[type="search"]');if("string"==typeof e)t.placeholder=e;else{var r=Object.keys(e).find(function(e){return n.indexOf(e)>-1});t.placeholder=e[r]}}function p(e){u=Docsify.dom,a(),s(e),c()}function d(e,n){l(e.placeholder,n.route.path)}var h,u,f={},g={placeholder:"Type to search",paths:"auto",maxAge:864e5},v=function(e,n){var t=Docsify.util,r=n.config.search||g;Array.isArray(r)?g.paths=r:"object"==typeof r&&(g.paths=Array.isArray(r.paths)?r.paths:"auto",g.maxAge=t.isPrimitive(r.maxAge)?r.maxAge:g.maxAge,g.placeholder=r.placeholder||g.placeholder);var i="auto"===g.paths;e.mounted(function(e){p(g),!i&&o(g,n)}),e.doneEach(function(e){d(g,n),i&&o(g,n)})};window.$docsify.plugins=[].concat(v,window.$docsify.plugins)}(); diff --git a/lib/themes/buble.css b/lib/themes/buble.css index 2a26ce6..492cf09 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}.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>a{margin:0 1em;padding:5px 0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{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;margin:0 1em;padding:5px 0}nav li ul{display:none;box-sizing:border-box;max-height:calc(100vh - 61px);overflow-y:scroll;position:absolute;top:100%;right:-15px;background-color:#fff;padding:10px 0;border:1px solid #ddd;border-bottom-color:#ccc;text-align:left;border-radius:4px;white-space:nowrap}nav li ul li{display:block;font-size:14px;margin:0;margin:8px 14px;white-space:nowrap;line-height:1em}nav li ul a{display:block;font-size:inherit;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{display:block}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 li>p{font-weight:700;margin: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 +@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}body:not(.ready) [data-cloak]{display:none}div#app{text-align:center;font-size:30px;font-weight:lighter;margin:40vw auto}div#app:empty:before{content:"Loading..."}.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.app-nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav.app-nav p{margin:0}nav.app-nav>a{margin:0 1em;padding:5px 0}nav.app-nav li,nav.app-nav ul{list-style:none;display:inline-block;margin:0}nav.app-nav a{font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav.app-nav a.active,nav.app-nav a:hover{color:#0074d9;color:var(--theme-color,#0074d9)}nav.app-nav a.active{border-bottom:2px solid #0074d9;border-bottom:2px solid var(--theme-color,#0074d9)}nav.app-nav li{position:relative;display:inline-block;margin:0 1em;padding:5px 0}nav.app-nav li ul{display:none;box-sizing:border-box;max-height:calc(100vh - 61px);overflow-y:scroll;position:absolute;top:100%;right:-15px;background-color:#fff;padding:10px 0;border:1px solid #ddd;border-bottom-color:#ccc;text-align:left;border-radius:4px;white-space:nowrap}nav.app-nav li ul li{display:block;font-size:14px;margin:0;margin:8px 14px;white-space:nowrap;line-height:1em}nav.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}nav.app-nav li ul a.active{border-bottom:0}nav.app-nav li:hover ul{display:block}nav.app-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 li>p{font-weight:700;margin: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/dark.css b/lib/themes/dark.css index 94fe041..1a966b9 100644 --- a/lib/themes/dark.css +++ b/lib/themes/dark.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:#ea6f5a;background-color:var(--theme-color,#ea6f5a);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:#ea6f5a;color:var(--theme-color,#ea6f5a)}.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:#c8c8c8}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>a{margin:0 1em;padding:5px 0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav a.active,nav a:hover{color:#ea6f5a;color:var(--theme-color,#ea6f5a)}nav a.active{border-bottom:2px solid #ea6f5a;border-bottom:2px solid var(--theme-color,#ea6f5a)}nav li{position:relative;display:inline-block;margin:0 1em;padding:5px 0}nav li ul{display:none;box-sizing:border-box;max-height:calc(100vh - 61px);overflow-y:scroll;position:absolute;top:100%;right:-15px;background-color:#fff;padding:10px 0;border:1px solid #ddd;border-bottom-color:#ccc;text-align:left;border-radius:4px;white-space:nowrap}nav li ul li{display:block;font-size:14px;margin:0;margin:8px 14px;white-space:nowrap;line-height:1em}nav li ul a{display:block;font-size:inherit;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{display:block}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:#3f3f3f;height:80px;width:80px;fill:#ea6f5a;fill:var(--theme-color,#ea6f5a)}.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:#c8c8c8}.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 li>p{font-weight:700;margin: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:rgba(63,63,63,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#ea6f5a;background-color:var(--theme-color,#ea6f5a);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:#c8c8c8}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#3f3f3f;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:hsla(9,77%,64%,.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:rgba(63,63,63,.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:#ea6f5a;border:1px solid var(--theme-color,#ea6f5a);box-sizing:border-box;color:#ea6f5a;color:var(--theme-color,#ea6f5a);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:#ea6f5a;background-color:var(--theme-color,#ea6f5a);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:#3f3f3f;opacity:.8}.sidebar,body{background-color:#3f3f3f}.sidebar{color:#c8c8c8}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#c8c8c8;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:#ea6f5a;color:var(--theme-color,#ea6f5a);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:#ea6f5a;color:var(--theme-color,#ea6f5a);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 #ea6f5a;border-left:4px solid var(--theme-color,#ea6f5a);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:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#282828}.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:#ea6f5a;color:var(--theme-color,#ea6f5a)}.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:#ea6f5a;color:var(--theme-color,#ea6f5a)}.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:#282828;border-radius:2px;color:#657b83;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}.markdown-section p.tip{background-color:#282828;color:#657b83}input[type=search]{border-color:#4f4f4f;background:#4f4f4f;color:#c8c8c8} \ 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}body:not(.ready) [data-cloak]{display:none}div#app{text-align:center;font-size:30px;font-weight:lighter;margin:40vw auto}div#app:empty:before{content:"Loading..."}.emoji{height:1.2em;vertical-align:middle}.progress{background-color:#ea6f5a;background-color:var(--theme-color,#ea6f5a);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:#ea6f5a;color:var(--theme-color,#ea6f5a)}.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:#c8c8c8}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.app-nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav.app-nav p{margin:0}nav.app-nav>a{margin:0 1em;padding:5px 0}nav.app-nav li,nav.app-nav ul{list-style:none;display:inline-block;margin:0}nav.app-nav a{font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav.app-nav a.active,nav.app-nav a:hover{color:#ea6f5a;color:var(--theme-color,#ea6f5a)}nav.app-nav a.active{border-bottom:2px solid #ea6f5a;border-bottom:2px solid var(--theme-color,#ea6f5a)}nav.app-nav li{position:relative;display:inline-block;margin:0 1em;padding:5px 0}nav.app-nav li ul{display:none;box-sizing:border-box;max-height:calc(100vh - 61px);overflow-y:scroll;position:absolute;top:100%;right:-15px;background-color:#fff;padding:10px 0;border:1px solid #ddd;border-bottom-color:#ccc;text-align:left;border-radius:4px;white-space:nowrap}nav.app-nav li ul li{display:block;font-size:14px;margin:0;margin:8px 14px;white-space:nowrap;line-height:1em}nav.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}nav.app-nav li ul a.active{border-bottom:0}nav.app-nav li:hover ul{display:block}nav.app-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:#3f3f3f;height:80px;width:80px;fill:#ea6f5a;fill:var(--theme-color,#ea6f5a)}.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:#c8c8c8}.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 li>p{font-weight:700;margin: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:rgba(63,63,63,.8)}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#ea6f5a;background-color:var(--theme-color,#ea6f5a);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:#c8c8c8}.markdown-section p.tip:before{position:absolute;top:14px;left:-12px;background-color:#f66;color:#3f3f3f;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:hsla(9,77%,64%,.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:rgba(63,63,63,.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:#ea6f5a;border:1px solid var(--theme-color,#ea6f5a);box-sizing:border-box;color:#ea6f5a;color:var(--theme-color,#ea6f5a);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:#ea6f5a;background-color:var(--theme-color,#ea6f5a);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:#3f3f3f;opacity:.8}.sidebar,body{background-color:#3f3f3f}.sidebar{color:#c8c8c8}.sidebar li{margin:6px 15px}.sidebar ul li a{color:#c8c8c8;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:#ea6f5a;color:var(--theme-color,#ea6f5a);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:#ea6f5a;color:var(--theme-color,#ea6f5a);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 #ea6f5a;border-left:4px solid var(--theme-color,#ea6f5a);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:.8em}.markdown-section code,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace;background-color:#282828}.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:#ea6f5a;color:var(--theme-color,#ea6f5a)}.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:#ea6f5a;color:var(--theme-color,#ea6f5a)}.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:#282828;border-radius:2px;color:#657b83;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}.markdown-section p.tip{background-color:#282828;color:#657b83}input[type=search]{border-color:#4f4f4f;background:#4f4f4f;color:#c8c8c8} \ No newline at end of file diff --git a/lib/themes/pure.css b/lib/themes/pure.css index 9b11515..aa63e30 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}.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>a{margin:0 1em;padding:5px 0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{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;margin:0 1em;padding:5px 0}nav li ul{display:none;box-sizing:border-box;max-height:calc(100vh - 61px);overflow-y:scroll;position:absolute;top:100%;right:-15px;background-color:#fff;padding:10px 0;border:1px solid #ddd;border-bottom-color:#ccc;text-align:left;border-radius:4px;white-space:nowrap}nav li ul li{display:block;font-size:14px;margin:0;margin:8px 14px;white-space:nowrap;line-height:1em}nav li ul a{display:block;font-size:inherit;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{display:block}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 li>p{font-weight:700;margin: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 +*{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}body:not(.ready) [data-cloak]{display:none}div#app{text-align:center;font-size:30px;font-weight:lighter;margin:40vw auto}div#app:empty:before{content:"Loading..."}.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.app-nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav.app-nav p{margin:0}nav.app-nav>a{margin:0 1em;padding:5px 0}nav.app-nav li,nav.app-nav ul{list-style:none;display:inline-block;margin:0}nav.app-nav a{font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav.app-nav a.active,nav.app-nav a:hover{color:#000;color:var(--theme-color,#000)}nav.app-nav a.active{border-bottom:2px solid #000;border-bottom:2px solid var(--theme-color,#000)}nav.app-nav li{position:relative;display:inline-block;margin:0 1em;padding:5px 0}nav.app-nav li ul{display:none;box-sizing:border-box;max-height:calc(100vh - 61px);overflow-y:scroll;position:absolute;top:100%;right:-15px;background-color:#fff;padding:10px 0;border:1px solid #ddd;border-bottom-color:#ccc;text-align:left;border-radius:4px;white-space:nowrap}nav.app-nav li ul li{display:block;font-size:14px;margin:0;margin:8px 14px;white-space:nowrap;line-height:1em}nav.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}nav.app-nav li ul a.active{border-bottom:0}nav.app-nav li:hover ul{display:block}nav.app-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 li>p{font-weight:700;margin: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 fb637b9..d36911b 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}.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>a{margin:0 1em;padding:5px 0}nav li,nav ul{list-style:none;display:inline-block;margin:0}nav a{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;margin:0 1em;padding:5px 0}nav li ul{display:none;box-sizing:border-box;max-height:calc(100vh - 61px);overflow-y:scroll;position:absolute;top:100%;right:-15px;background-color:#fff;padding:10px 0;border:1px solid #ddd;border-bottom-color:#ccc;text-align:left;border-radius:4px;white-space:nowrap}nav li ul li{display:block;font-size:14px;margin:0;margin:8px 14px;white-space:nowrap;line-height:1em}nav li ul a{display:block;font-size:inherit;margin:0;padding:0}nav li ul a.active{border-bottom:0}nav li:hover ul{display:block}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 li>p{font-weight:700;margin: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 0 6px 15px}.sidebar ul li a{color:#505d6b;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none;font-size:14px;font-weight:400}.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;border-right:2px solid}.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}body:not(.ready) [data-cloak]{display:none}div#app{text-align:center;font-size:30px;font-weight:lighter;margin:40vw auto}div#app:empty:before{content:"Loading..."}.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.app-nav{position:absolute;right:0;left:0;z-index:2;margin:25px 60px 0 0;text-align:right}nav.app-nav p{margin:0}nav.app-nav>a{margin:0 1em;padding:5px 0}nav.app-nav li,nav.app-nav ul{list-style:none;display:inline-block;margin:0}nav.app-nav a{font-size:16px;text-decoration:none;color:inherit;-webkit-transition:color .3s;transition:color .3s}nav.app-nav a.active,nav.app-nav a:hover{color:#42b983;color:var(--theme-color,#42b983)}nav.app-nav a.active{border-bottom:2px solid #42b983;border-bottom:2px solid var(--theme-color,#42b983)}nav.app-nav li{position:relative;display:inline-block;margin:0 1em;padding:5px 0}nav.app-nav li ul{display:none;box-sizing:border-box;max-height:calc(100vh - 61px);overflow-y:scroll;position:absolute;top:100%;right:-15px;background-color:#fff;padding:10px 0;border:1px solid #ddd;border-bottom-color:#ccc;text-align:left;border-radius:4px;white-space:nowrap}nav.app-nav li ul li{display:block;font-size:14px;margin:0;margin:8px 14px;white-space:nowrap;line-height:1em}nav.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}nav.app-nav li ul a.active{border-bottom:0}nav.app-nav li:hover ul{display:block}nav.app-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 li>p{font-weight:700;margin: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 0 6px 15px}.sidebar ul li a{color:#505d6b;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-decoration:none;font-size:14px;font-weight:400}.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;border-right:2px solid}.app-sub-sidebar .section-link:before{content:"-";padding-right:4px}.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