From b84ca937442a8f4772c9e6f677717dbceb183cd8 Mon Sep 17 00:00:00 2001 From: Brian Retterer Date: Wed, 14 Nov 2018 13:31:36 -0500 Subject: [PATCH 01/11] Adds the ability to specify which headers to extract during Page preparation --- .../@vuepress/core/lib/prepare/AppContext.js | 1 + packages/@vuepress/core/lib/prepare/Page.js | 6 +++-- packages/docs/docs/.vuepress/config.js | 1 + .../docs/docs/theme/default-theme-config.md | 24 +++++++++++++++---- 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/packages/@vuepress/core/lib/prepare/AppContext.js b/packages/@vuepress/core/lib/prepare/AppContext.js index 67dbd89c69..24f70686ab 100644 --- a/packages/@vuepress/core/lib/prepare/AppContext.js +++ b/packages/@vuepress/core/lib/prepare/AppContext.js @@ -270,6 +270,7 @@ module.exports = class AppContext { async addPage (options) { options.permalinkPattern = this.siteConfig.permalink + options.siteConfig = this.siteConfig const page = new Page(options, this) await page.process({ markdown: this.markdown, diff --git a/packages/@vuepress/core/lib/prepare/Page.js b/packages/@vuepress/core/lib/prepare/Page.js index e7582abe30..7f2c28f133 100644 --- a/packages/@vuepress/core/lib/prepare/Page.js +++ b/packages/@vuepress/core/lib/prepare/Page.js @@ -32,7 +32,8 @@ module.exports = class Page { relative, permalink, frontmatter = {}, - permalinkPattern + permalinkPattern, + siteConfig }) { this.title = title this._meta = meta @@ -41,6 +42,7 @@ module.exports = class Page { this._permalink = permalink this.frontmatter = frontmatter this._permalinkPattern = permalinkPattern + this._siteConfig = siteConfig if (relative) { this.regularPath = encodeURI(fileToPath(relative)) @@ -89,7 +91,7 @@ module.exports = class Page { // headers const headers = extractHeaders( this._strippedContent, - ['h2', 'h3'], + this._siteConfig.themeConfig.extractHeaders || ['h2', 'h3'], markdown ) if (headers.length) { diff --git a/packages/docs/docs/.vuepress/config.js b/packages/docs/docs/.vuepress/config.js index 0dda1e9f3b..e197cf262a 100644 --- a/packages/docs/docs/.vuepress/config.js +++ b/packages/docs/docs/.vuepress/config.js @@ -29,6 +29,7 @@ module.exports = ctx => ({ ], theme: '@vuepress/vue', themeConfig: { + extractHeaders: ['h2', 'h3', 'h4'], repo: 'vuejs/vuepress', editLinks: true, docsDir: 'packages/docs/docs', diff --git a/packages/docs/docs/theme/default-theme-config.md b/packages/docs/docs/theme/default-theme-config.md index faade4073c..2a01c79626 100644 --- a/packages/docs/docs/theme/default-theme-config.md +++ b/packages/docs/docs/theme/default-theme-config.md @@ -152,6 +152,20 @@ module.exports = { } ``` +### Extract Headers + +While preparing the page, headers are extracted from the markdown file and stored in `this.$page.headers`. By default, VuePress will extract `h2` and `h3` elements for you. + +You can override the headers it pulls out in your `themeConfig` options. + +``` js +module.exports = { + themeConfig: { + extractHeaders: [ 'h2', 'h3', 'h4' ] + } +} +``` + ### Active Header Links By default, the nested header links and the hash in the URL are updated as the user scrolls to view the different sections of the page. This behavior can be disabled with the following theme config: @@ -329,7 +343,7 @@ module.exports = { ``` ::: warning Note -Unlike the [built-in search](#built-in-search) engine which works out of the box, [Algolia DocSearch](https://community.algolia.com/docsearch/) requires you to submit your site to them for indexing before it starts working. +Unlike the [built-in search](#built-in-search) engine which works out of the box, [Algolia DocSearch](https://community.algolia.com/docsearch/) requires you to submit your site to them for indexing before it starts working. ::: For more options, refer to [Algolia DocSearch's documentation](https://github.com/algolia/docsearch#docsearch-options). @@ -373,10 +387,10 @@ module.exports = { themeConfig: { serviceWorker: { updatePopup: true // Boolean | Object, default to undefined. - // If set to true, the default text config will be: - // updatePopup: { - // message: "New content is available.", - // buttonText: "Refresh" + // If set to true, the default text config will be: + // updatePopup: { + // message: "New content is available.", + // buttonText: "Refresh" // } } } From 0c75027d6ecb6165f9ce4e734bd6497a5b8fc095 Mon Sep 17 00:00:00 2001 From: Brian Retterer Date: Wed, 14 Nov 2018 13:37:13 -0500 Subject: [PATCH 02/11] mend --- packages/docs/docs/.vuepress/config.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/docs/docs/.vuepress/config.js b/packages/docs/docs/.vuepress/config.js index e197cf262a..0dda1e9f3b 100644 --- a/packages/docs/docs/.vuepress/config.js +++ b/packages/docs/docs/.vuepress/config.js @@ -29,7 +29,6 @@ module.exports = ctx => ({ ], theme: '@vuepress/vue', themeConfig: { - extractHeaders: ['h2', 'h3', 'h4'], repo: 'vuejs/vuepress', editLinks: true, docsDir: 'packages/docs/docs', From 01a6d8e19876b9259374c3340f5f9496cc3f8fcd Mon Sep 17 00:00:00 2001 From: Brian Retterer Date: Thu, 15 Nov 2018 09:45:05 -0500 Subject: [PATCH 03/11] Updates for PR review --- packages/@vuepress/markdown-loader/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vuepress/markdown-loader/index.js b/packages/@vuepress/markdown-loader/index.js index e12420eaf2..af23ab4cdc 100644 --- a/packages/@vuepress/markdown-loader/index.js +++ b/packages/@vuepress/markdown-loader/index.js @@ -42,7 +42,7 @@ module.exports = function (src) { if (!isProd && !isServer) { const inferredTitle = inferTitle(frontmatter.data, frontmatter.content) - const headers = extractHeaders(content, ['h2', 'h3'], markdown) + const headers = extractHeaders(content, options.extractHeaders || ['h2', 'h3'], markdown) delete frontmatter.content // diff frontmatter and title, since they are not going to be part of the From 60e6dd5129bbfbde179bb972c5734cdbce3bb9b5 Mon Sep 17 00:00:00 2001 From: Brian Retterer Date: Mon, 26 Nov 2018 19:05:51 -0500 Subject: [PATCH 04/11] Moves the extract headers option to the markdown config --- packages/@vuepress/core/lib/index.js | 1 + packages/@vuepress/core/lib/prepare/Page.js | 6 +++++- packages/@vuepress/markdown-loader/index.js | 17 ++++++++++++++--- packages/@vuepress/markdown-loader/package.json | 1 + .../docs/docs/theme/default-theme-config.md | 4 ++-- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/packages/@vuepress/core/lib/index.js b/packages/@vuepress/core/lib/index.js index 43a6d0124b..8f0a3bd45a 100644 --- a/packages/@vuepress/core/lib/index.js +++ b/packages/@vuepress/core/lib/index.js @@ -3,3 +3,4 @@ exports.dev = require('./dev') exports.build = require('./build') exports.eject = require('./eject') +exports.loadConfig = require('./prepare/loadConfig') diff --git a/packages/@vuepress/core/lib/prepare/Page.js b/packages/@vuepress/core/lib/prepare/Page.js index 7f2c28f133..a62c8b5422 100644 --- a/packages/@vuepress/core/lib/prepare/Page.js +++ b/packages/@vuepress/core/lib/prepare/Page.js @@ -89,9 +89,13 @@ module.exports = class Page { } // headers + this.headersToExtract = ['h2', 'h3'] + if (this._siteConfig.markdown && this._siteConfig.markdown.extractHeaders) { + this.headersToExtract = this._siteConfig.markdown.extractHeaders + } const headers = extractHeaders( this._strippedContent, - this._siteConfig.themeConfig.extractHeaders || ['h2', 'h3'], + this.headersToExtract, markdown ) if (headers.length) { diff --git a/packages/@vuepress/markdown-loader/index.js b/packages/@vuepress/markdown-loader/index.js index af23ab4cdc..883c88b024 100644 --- a/packages/@vuepress/markdown-loader/index.js +++ b/packages/@vuepress/markdown-loader/index.js @@ -6,7 +6,11 @@ const { EventEmitter } = require('events') const { getOptions } = require('loader-utils') -const { fs, path, hash, parseFrontmatter, inferTitle, extractHeaders } = require('@vuepress/shared-utils') +const { loadConfig } = require('@vuepress/core') +const { + fs, path, hash, parseFrontmatter, inferTitle, extractHeaders, + datatypes: { isFunction } +} = require('@vuepress/shared-utils') const LRU = require('lru-cache') const md = require('@vuepress/markdown') @@ -26,7 +30,10 @@ module.exports = function (src) { if (!markdown) { markdown = md() } - + let config = loadConfig(path.resolve(sourceDir, '.vuepress'), false) + if (isFunction(config)) { + config = config(this) + } // we implement a manual cache here because this loader is chained before // vue-loader, and will be applied on the same file multiple times when // selecting the individual blocks. @@ -42,7 +49,11 @@ module.exports = function (src) { if (!isProd && !isServer) { const inferredTitle = inferTitle(frontmatter.data, frontmatter.content) - const headers = extractHeaders(content, options.extractHeaders || ['h2', 'h3'], markdown) + let headersToExtract = ['h2', 'h3'] + if (config.markdown && config.markdown.extractHeaders) { + headersToExtract = this._siteConfig.markdown.extractHeaders + } + const headers = extractHeaders(content, headersToExtract, markdown) delete frontmatter.content // diff frontmatter and title, since they are not going to be part of the diff --git a/packages/@vuepress/markdown-loader/package.json b/packages/@vuepress/markdown-loader/package.json index 8b630d2c89..b6df1ae128 100644 --- a/packages/@vuepress/markdown-loader/package.json +++ b/packages/@vuepress/markdown-loader/package.json @@ -18,6 +18,7 @@ ], "dependencies": { "@vuepress/markdown": "^1.0.0-alpha.22", + "@vuepress/core": "^1.0.0-alpha.22", "loader-utils": "^1.1.0" }, "author": "Evan You", diff --git a/packages/docs/docs/theme/default-theme-config.md b/packages/docs/docs/theme/default-theme-config.md index 2a01c79626..e998d4d6a6 100644 --- a/packages/docs/docs/theme/default-theme-config.md +++ b/packages/docs/docs/theme/default-theme-config.md @@ -156,11 +156,11 @@ module.exports = { While preparing the page, headers are extracted from the markdown file and stored in `this.$page.headers`. By default, VuePress will extract `h2` and `h3` elements for you. -You can override the headers it pulls out in your `themeConfig` options. +You can override the headers it pulls out in your `markdown` options. ``` js module.exports = { - themeConfig: { + markdown: { extractHeaders: [ 'h2', 'h3', 'h4' ] } } From 71cad69f19445ccd70da34b16ccc3c85a5eb17fb Mon Sep 17 00:00:00 2001 From: Brian Retterer Date: Wed, 14 Nov 2018 13:31:36 -0500 Subject: [PATCH 05/11] Adds the ability to specify which headers to extract during Page preparation --- .../@vuepress/core/lib/prepare/AppContext.js | 1 + packages/@vuepress/core/lib/prepare/Page.js | 8 +- packages/docs/docs/.vuepress/config.js | 1 + .../docs/docs/theme/default-theme-config.md | 24 +- vuepress/404.html | 25 + vuepress/architecture.png | Bin 0 -> 65238 bytes vuepress/assets/css/0.styles.6cc590e0.css | 1 + vuepress/assets/img/search.83621669.svg | 1 + vuepress/assets/js/10.90b6f866.js | 1 + vuepress/assets/js/11.bb178c57.js | 1 + vuepress/assets/js/12.1501540a.js | 1 + vuepress/assets/js/13.6e978c39.js | 1 + vuepress/assets/js/14.136ae6a3.js | 1 + vuepress/assets/js/15.0c645d16.js | 1 + vuepress/assets/js/16.8741a547.js | 1 + vuepress/assets/js/17.5e50cd1d.js | 1 + vuepress/assets/js/18.790476d7.js | 1 + vuepress/assets/js/19.6749c256.js | 1 + vuepress/assets/js/2.9a3d3cef.js | 1 + vuepress/assets/js/20.52144952.js | 1 + vuepress/assets/js/21.a733da80.js | 1 + vuepress/assets/js/22.cca14839.js | 1 + vuepress/assets/js/23.d93cc55b.js | 1 + vuepress/assets/js/24.1e5b5d2a.js | 1 + vuepress/assets/js/25.7c13839d.js | 1 + vuepress/assets/js/26.2a3806b6.js | 1 + vuepress/assets/js/27.c450e6fb.js | 1 + vuepress/assets/js/28.9169fe43.js | 1 + vuepress/assets/js/29.0a1ff843.js | 1 + vuepress/assets/js/3.be112e9f.js | 3 + vuepress/assets/js/30.25e010af.js | 1 + vuepress/assets/js/31.effc1422.js | 1 + vuepress/assets/js/32.86f38218.js | 1 + vuepress/assets/js/33.0fab7803.js | 1 + vuepress/assets/js/34.5e0d5a74.js | 1 + vuepress/assets/js/35.e4e7fe67.js | 1 + vuepress/assets/js/36.ca792103.js | 1 + vuepress/assets/js/37.6d74e878.js | 1 + vuepress/assets/js/38.a1c5df9a.js | 1 + vuepress/assets/js/39.b0d2ff36.js | 1 + vuepress/assets/js/4.d16007cf.js | 1 + vuepress/assets/js/40.af5932b9.js | 1 + vuepress/assets/js/41.e26383c5.js | 1 + vuepress/assets/js/42.bf69bddd.js | 1 + vuepress/assets/js/43.c0368a24.js | 1 + vuepress/assets/js/44.d601f92a.js | 1 + vuepress/assets/js/45.5939c636.js | 1 + vuepress/assets/js/46.2bc10ed6.js | 1 + vuepress/assets/js/47.15e6f040.js | 1 + vuepress/assets/js/48.a114b415.js | 1 + vuepress/assets/js/49.a51c6fdf.js | 1 + vuepress/assets/js/5.18c31fb7.js | 1 + vuepress/assets/js/50.ed42f747.js | 1 + vuepress/assets/js/51.f6a2c8b3.js | 1 + vuepress/assets/js/52.522513d8.js | 1 + vuepress/assets/js/53.2bdd820d.js | 1 + vuepress/assets/js/54.15937a2d.js | 1 + vuepress/assets/js/55.d78fbc49.js | 1 + vuepress/assets/js/56.934f8911.js | 1 + vuepress/assets/js/57.f2538317.js | 1 + vuepress/assets/js/58.f465a17a.js | 1 + vuepress/assets/js/59.00cd99d8.js | 1 + vuepress/assets/js/6.8ca9ae3b.js | 1 + vuepress/assets/js/60.e2e817e9.js | 1 + vuepress/assets/js/61.e351f282.js | 1 + vuepress/assets/js/62.7cb85843.js | 1 + vuepress/assets/js/63.7a736cf3.js | 1 + vuepress/assets/js/64.589ebe9e.js | 1 + vuepress/assets/js/65.c7b9d4e8.js | 1 + vuepress/assets/js/66.ee83944c.js | 1 + vuepress/assets/js/67.1b7b5854.js | 1 + vuepress/assets/js/68.b4e58228.js | 1 + vuepress/assets/js/69.73f71dfd.js | 1 + vuepress/assets/js/7.6d6f900c.js | 1 + vuepress/assets/js/70.d0ec8013.js | 1 + vuepress/assets/js/71.34cb1f27.js | 1 + vuepress/assets/js/72.6528f86e.js | 1 + vuepress/assets/js/73.ceac5146.js | 1 + vuepress/assets/js/74.907fe0dc.js | 1 + vuepress/assets/js/75.3ff1a49a.js | 1 + vuepress/assets/js/76.22069a19.js | 1 + vuepress/assets/js/77.8c5d4344.js | 1 + vuepress/assets/js/78.79c9fb4c.js | 1 + vuepress/assets/js/79.776ba4c9.js | 1 + vuepress/assets/js/8.a7e0b975.js | 1 + vuepress/assets/js/80.c82818bd.js | 1 + vuepress/assets/js/81.95ebb7bf.js | 1 + vuepress/assets/js/82.230a5beb.js | 1 + vuepress/assets/js/83.ca9f99e0.js | 1 + vuepress/assets/js/84.4ef99674.js | 1 + vuepress/assets/js/85.05d2f860.js | 1 + vuepress/assets/js/86.a3020788.js | 1 + vuepress/assets/js/87.f276c65b.js | 1 + vuepress/assets/js/88.4a8aea21.js | 1 + vuepress/assets/js/89.b51fcc0a.js | 1 + vuepress/assets/js/9.164bd82f.js | 1 + vuepress/assets/js/90.3bdc019a.js | 1 + vuepress/assets/js/91.cd31807c.js | 1 + vuepress/assets/js/92.a4808ccd.js | 1 + vuepress/assets/js/93.09fb2654.js | 1 + vuepress/assets/js/94.c8b3bda3.js | 1 + vuepress/assets/js/95.36017126.js | 1 + vuepress/assets/js/app.8ac36d9d.js | 19 + .../assets/js/vendors~docsearch.67496cf7.js | 3 + .../js/vendors~notification.cb8b10f9.js | 1 + vuepress/config/index.html | 33 + vuepress/faq/index.html | 33 + vuepress/guide/assets.html | 33 + vuepress/guide/basic-config.html | 33 + vuepress/guide/deploy.html | 33 + vuepress/guide/directory-structure.html | 33 + vuepress/guide/frontmatter.html | 33 + vuepress/guide/getting-started.html | 33 + vuepress/guide/global-computed.html | 33 + vuepress/guide/i18n.html | 33 + vuepress/guide/index.html | 33 + vuepress/guide/markdown-slot.html | 33 + vuepress/guide/markdown.html | 33 + vuepress/guide/permalinks.html | 33 + vuepress/guide/using-vue.html | 33 + vuepress/hero.png | Bin 0 -> 153793 bytes vuepress/icons/android-chrome-192x192.png | Bin 0 -> 9416 bytes vuepress/icons/android-chrome-512x512.png | Bin 0 -> 29808 bytes vuepress/icons/apple-touch-icon-120x120.png | Bin 0 -> 3369 bytes vuepress/icons/apple-touch-icon-152x152.png | Bin 0 -> 4046 bytes vuepress/icons/apple-touch-icon-180x180.png | Bin 0 -> 4678 bytes vuepress/icons/apple-touch-icon-60x60.png | Bin 0 -> 1491 bytes vuepress/icons/apple-touch-icon-76x76.png | Bin 0 -> 1823 bytes vuepress/icons/apple-touch-icon.png | Bin 0 -> 4678 bytes vuepress/icons/favicon-16x16.png | Bin 0 -> 799 bytes vuepress/icons/favicon-32x32.png | Bin 0 -> 1271 bytes vuepress/icons/msapplication-icon-144x144.png | Bin 0 -> 1169 bytes vuepress/icons/mstile-150x150.png | Bin 0 -> 4282 bytes vuepress/icons/safari-pinned-tab.svg | 149 ++++ vuepress/index.html | 37 + vuepress/line-numbers-desktop.png | Bin 0 -> 142346 bytes vuepress/line-numbers-mobile.gif | Bin 0 -> 228039 bytes vuepress/logo.png | Bin 0 -> 3451 bytes vuepress/manifest.json | 20 + vuepress/miscellaneous/design-concepts.html | 33 + vuepress/miscellaneous/glossary.html | 33 + vuepress/miscellaneous/migration-guide.html | 33 + vuepress/plugin.png | Bin 0 -> 150892 bytes vuepress/plugin/context-api.html | 33 + vuepress/plugin/index.html | 33 + vuepress/plugin/life-cycle.html | 33 + .../official/plugin-active-header-links.html | 33 + .../plugin/official/plugin-back-to-top.html | 33 + vuepress/plugin/official/plugin-blog.html | 33 + .../official/plugin-google-analytics.html | 33 + vuepress/plugin/official/plugin-i18n-ui.html | 33 + .../plugin/official/plugin-last-updated.html | 33 + .../plugin/official/plugin-medium-zoom.html | 33 + .../plugin/official/plugin-pagination.html | 33 + vuepress/plugin/official/plugin-pwa.html | 33 + .../official/plugin-register-components.html | 33 + vuepress/plugin/official/plugin-search.html | 33 + vuepress/plugin/option-api.html | 33 + vuepress/plugin/using-a-plugin.html | 33 + vuepress/plugin/writing-a-plugin.html | 33 + vuepress/service-worker.js | 840 ++++++++++++++++++ vuepress/theme/default-theme-config.html | 33 + vuepress/theme/index.html | 33 + vuepress/theme/option-api.html | 33 + vuepress/theme/using-a-theme.html | 33 + vuepress/theme/writing-a-theme.html | 33 + vuepress/zh/config/index.html | 33 + vuepress/zh/faq/index.html | 33 + vuepress/zh/guide/assets.html | 33 + vuepress/zh/guide/basic-config.html | 33 + vuepress/zh/guide/deploy.html | 33 + vuepress/zh/guide/directory-structure.html | 33 + vuepress/zh/guide/frontmatter.html | 33 + vuepress/zh/guide/getting-started.html | 33 + vuepress/zh/guide/global-computed.html | 33 + vuepress/zh/guide/i18n.html | 33 + vuepress/zh/guide/index.html | 33 + vuepress/zh/guide/markdown-slot.html | 33 + vuepress/zh/guide/markdown.html | 33 + vuepress/zh/guide/permalinks.html | 33 + vuepress/zh/guide/using-vue.html | 33 + vuepress/zh/index.html | 37 + .../zh/miscellaneous/design-concepts.html | 33 + vuepress/zh/miscellaneous/glossary.html | 33 + .../zh/miscellaneous/migration-guide.html | 33 + vuepress/zh/plugin/context-api.html | 33 + vuepress/zh/plugin/index.html | 33 + vuepress/zh/plugin/life-cycle.html | 33 + .../official/plugin-active-header-links.html | 33 + .../plugin/official/plugin-back-to-top.html | 33 + vuepress/zh/plugin/official/plugin-blog.html | 33 + .../official/plugin-google-analytics.html | 33 + .../zh/plugin/official/plugin-i18n-ui.html | 33 + .../plugin/official/plugin-last-updated.html | 33 + .../plugin/official/plugin-medium-zoom.html | 33 + .../zh/plugin/official/plugin-pagination.html | 33 + vuepress/zh/plugin/official/plugin-pwa.html | 33 + .../official/plugin-register-components.html | 33 + .../zh/plugin/official/plugin-search.html | 33 + vuepress/zh/plugin/option-api.html | 33 + vuepress/zh/plugin/using-a-plugin.html | 33 + vuepress/zh/plugin/writing-a-plugin.html | 33 + vuepress/zh/theme/default-theme-config.html | 33 + vuepress/zh/theme/index.html | 33 + vuepress/zh/theme/option-api.html | 33 + vuepress/zh/theme/using-a-theme.html | 33 + vuepress/zh/theme/writing-a-theme.html | 33 + 207 files changed, 3895 insertions(+), 8 deletions(-) create mode 100644 vuepress/404.html create mode 100644 vuepress/architecture.png create mode 100644 vuepress/assets/css/0.styles.6cc590e0.css create mode 100644 vuepress/assets/img/search.83621669.svg create mode 100644 vuepress/assets/js/10.90b6f866.js create mode 100644 vuepress/assets/js/11.bb178c57.js create mode 100644 vuepress/assets/js/12.1501540a.js create mode 100644 vuepress/assets/js/13.6e978c39.js create mode 100644 vuepress/assets/js/14.136ae6a3.js create mode 100644 vuepress/assets/js/15.0c645d16.js create mode 100644 vuepress/assets/js/16.8741a547.js create mode 100644 vuepress/assets/js/17.5e50cd1d.js create mode 100644 vuepress/assets/js/18.790476d7.js create mode 100644 vuepress/assets/js/19.6749c256.js create mode 100644 vuepress/assets/js/2.9a3d3cef.js create mode 100644 vuepress/assets/js/20.52144952.js create mode 100644 vuepress/assets/js/21.a733da80.js create mode 100644 vuepress/assets/js/22.cca14839.js create mode 100644 vuepress/assets/js/23.d93cc55b.js create mode 100644 vuepress/assets/js/24.1e5b5d2a.js create mode 100644 vuepress/assets/js/25.7c13839d.js create mode 100644 vuepress/assets/js/26.2a3806b6.js create mode 100644 vuepress/assets/js/27.c450e6fb.js create mode 100644 vuepress/assets/js/28.9169fe43.js create mode 100644 vuepress/assets/js/29.0a1ff843.js create mode 100644 vuepress/assets/js/3.be112e9f.js create mode 100644 vuepress/assets/js/30.25e010af.js create mode 100644 vuepress/assets/js/31.effc1422.js create mode 100644 vuepress/assets/js/32.86f38218.js create mode 100644 vuepress/assets/js/33.0fab7803.js create mode 100644 vuepress/assets/js/34.5e0d5a74.js create mode 100644 vuepress/assets/js/35.e4e7fe67.js create mode 100644 vuepress/assets/js/36.ca792103.js create mode 100644 vuepress/assets/js/37.6d74e878.js create mode 100644 vuepress/assets/js/38.a1c5df9a.js create mode 100644 vuepress/assets/js/39.b0d2ff36.js create mode 100644 vuepress/assets/js/4.d16007cf.js create mode 100644 vuepress/assets/js/40.af5932b9.js create mode 100644 vuepress/assets/js/41.e26383c5.js create mode 100644 vuepress/assets/js/42.bf69bddd.js create mode 100644 vuepress/assets/js/43.c0368a24.js create mode 100644 vuepress/assets/js/44.d601f92a.js create mode 100644 vuepress/assets/js/45.5939c636.js create mode 100644 vuepress/assets/js/46.2bc10ed6.js create mode 100644 vuepress/assets/js/47.15e6f040.js create mode 100644 vuepress/assets/js/48.a114b415.js create mode 100644 vuepress/assets/js/49.a51c6fdf.js create mode 100644 vuepress/assets/js/5.18c31fb7.js create mode 100644 vuepress/assets/js/50.ed42f747.js create mode 100644 vuepress/assets/js/51.f6a2c8b3.js create mode 100644 vuepress/assets/js/52.522513d8.js create mode 100644 vuepress/assets/js/53.2bdd820d.js create mode 100644 vuepress/assets/js/54.15937a2d.js create mode 100644 vuepress/assets/js/55.d78fbc49.js create mode 100644 vuepress/assets/js/56.934f8911.js create mode 100644 vuepress/assets/js/57.f2538317.js create mode 100644 vuepress/assets/js/58.f465a17a.js create mode 100644 vuepress/assets/js/59.00cd99d8.js create mode 100644 vuepress/assets/js/6.8ca9ae3b.js create mode 100644 vuepress/assets/js/60.e2e817e9.js create mode 100644 vuepress/assets/js/61.e351f282.js create mode 100644 vuepress/assets/js/62.7cb85843.js create mode 100644 vuepress/assets/js/63.7a736cf3.js create mode 100644 vuepress/assets/js/64.589ebe9e.js create mode 100644 vuepress/assets/js/65.c7b9d4e8.js create mode 100644 vuepress/assets/js/66.ee83944c.js create mode 100644 vuepress/assets/js/67.1b7b5854.js create mode 100644 vuepress/assets/js/68.b4e58228.js create mode 100644 vuepress/assets/js/69.73f71dfd.js create mode 100644 vuepress/assets/js/7.6d6f900c.js create mode 100644 vuepress/assets/js/70.d0ec8013.js create mode 100644 vuepress/assets/js/71.34cb1f27.js create mode 100644 vuepress/assets/js/72.6528f86e.js create mode 100644 vuepress/assets/js/73.ceac5146.js create mode 100644 vuepress/assets/js/74.907fe0dc.js create mode 100644 vuepress/assets/js/75.3ff1a49a.js create mode 100644 vuepress/assets/js/76.22069a19.js create mode 100644 vuepress/assets/js/77.8c5d4344.js create mode 100644 vuepress/assets/js/78.79c9fb4c.js create mode 100644 vuepress/assets/js/79.776ba4c9.js create mode 100644 vuepress/assets/js/8.a7e0b975.js create mode 100644 vuepress/assets/js/80.c82818bd.js create mode 100644 vuepress/assets/js/81.95ebb7bf.js create mode 100644 vuepress/assets/js/82.230a5beb.js create mode 100644 vuepress/assets/js/83.ca9f99e0.js create mode 100644 vuepress/assets/js/84.4ef99674.js create mode 100644 vuepress/assets/js/85.05d2f860.js create mode 100644 vuepress/assets/js/86.a3020788.js create mode 100644 vuepress/assets/js/87.f276c65b.js create mode 100644 vuepress/assets/js/88.4a8aea21.js create mode 100644 vuepress/assets/js/89.b51fcc0a.js create mode 100644 vuepress/assets/js/9.164bd82f.js create mode 100644 vuepress/assets/js/90.3bdc019a.js create mode 100644 vuepress/assets/js/91.cd31807c.js create mode 100644 vuepress/assets/js/92.a4808ccd.js create mode 100644 vuepress/assets/js/93.09fb2654.js create mode 100644 vuepress/assets/js/94.c8b3bda3.js create mode 100644 vuepress/assets/js/95.36017126.js create mode 100644 vuepress/assets/js/app.8ac36d9d.js create mode 100644 vuepress/assets/js/vendors~docsearch.67496cf7.js create mode 100644 vuepress/assets/js/vendors~notification.cb8b10f9.js create mode 100644 vuepress/config/index.html create mode 100644 vuepress/faq/index.html create mode 100644 vuepress/guide/assets.html create mode 100644 vuepress/guide/basic-config.html create mode 100644 vuepress/guide/deploy.html create mode 100644 vuepress/guide/directory-structure.html create mode 100644 vuepress/guide/frontmatter.html create mode 100644 vuepress/guide/getting-started.html create mode 100644 vuepress/guide/global-computed.html create mode 100644 vuepress/guide/i18n.html create mode 100644 vuepress/guide/index.html create mode 100644 vuepress/guide/markdown-slot.html create mode 100644 vuepress/guide/markdown.html create mode 100644 vuepress/guide/permalinks.html create mode 100644 vuepress/guide/using-vue.html create mode 100644 vuepress/hero.png create mode 100644 vuepress/icons/android-chrome-192x192.png create mode 100644 vuepress/icons/android-chrome-512x512.png create mode 100644 vuepress/icons/apple-touch-icon-120x120.png create mode 100644 vuepress/icons/apple-touch-icon-152x152.png create mode 100644 vuepress/icons/apple-touch-icon-180x180.png create mode 100644 vuepress/icons/apple-touch-icon-60x60.png create mode 100644 vuepress/icons/apple-touch-icon-76x76.png create mode 100644 vuepress/icons/apple-touch-icon.png create mode 100644 vuepress/icons/favicon-16x16.png create mode 100644 vuepress/icons/favicon-32x32.png create mode 100644 vuepress/icons/msapplication-icon-144x144.png create mode 100644 vuepress/icons/mstile-150x150.png create mode 100644 vuepress/icons/safari-pinned-tab.svg create mode 100644 vuepress/index.html create mode 100644 vuepress/line-numbers-desktop.png create mode 100644 vuepress/line-numbers-mobile.gif create mode 100644 vuepress/logo.png create mode 100644 vuepress/manifest.json create mode 100644 vuepress/miscellaneous/design-concepts.html create mode 100644 vuepress/miscellaneous/glossary.html create mode 100644 vuepress/miscellaneous/migration-guide.html create mode 100644 vuepress/plugin.png create mode 100644 vuepress/plugin/context-api.html create mode 100644 vuepress/plugin/index.html create mode 100644 vuepress/plugin/life-cycle.html create mode 100644 vuepress/plugin/official/plugin-active-header-links.html create mode 100644 vuepress/plugin/official/plugin-back-to-top.html create mode 100644 vuepress/plugin/official/plugin-blog.html create mode 100644 vuepress/plugin/official/plugin-google-analytics.html create mode 100644 vuepress/plugin/official/plugin-i18n-ui.html create mode 100644 vuepress/plugin/official/plugin-last-updated.html create mode 100644 vuepress/plugin/official/plugin-medium-zoom.html create mode 100644 vuepress/plugin/official/plugin-pagination.html create mode 100644 vuepress/plugin/official/plugin-pwa.html create mode 100644 vuepress/plugin/official/plugin-register-components.html create mode 100644 vuepress/plugin/official/plugin-search.html create mode 100644 vuepress/plugin/option-api.html create mode 100644 vuepress/plugin/using-a-plugin.html create mode 100644 vuepress/plugin/writing-a-plugin.html create mode 100644 vuepress/service-worker.js create mode 100644 vuepress/theme/default-theme-config.html create mode 100644 vuepress/theme/index.html create mode 100644 vuepress/theme/option-api.html create mode 100644 vuepress/theme/using-a-theme.html create mode 100644 vuepress/theme/writing-a-theme.html create mode 100644 vuepress/zh/config/index.html create mode 100644 vuepress/zh/faq/index.html create mode 100644 vuepress/zh/guide/assets.html create mode 100644 vuepress/zh/guide/basic-config.html create mode 100644 vuepress/zh/guide/deploy.html create mode 100644 vuepress/zh/guide/directory-structure.html create mode 100644 vuepress/zh/guide/frontmatter.html create mode 100644 vuepress/zh/guide/getting-started.html create mode 100644 vuepress/zh/guide/global-computed.html create mode 100644 vuepress/zh/guide/i18n.html create mode 100644 vuepress/zh/guide/index.html create mode 100644 vuepress/zh/guide/markdown-slot.html create mode 100644 vuepress/zh/guide/markdown.html create mode 100644 vuepress/zh/guide/permalinks.html create mode 100644 vuepress/zh/guide/using-vue.html create mode 100644 vuepress/zh/index.html create mode 100644 vuepress/zh/miscellaneous/design-concepts.html create mode 100644 vuepress/zh/miscellaneous/glossary.html create mode 100644 vuepress/zh/miscellaneous/migration-guide.html create mode 100644 vuepress/zh/plugin/context-api.html create mode 100644 vuepress/zh/plugin/index.html create mode 100644 vuepress/zh/plugin/life-cycle.html create mode 100644 vuepress/zh/plugin/official/plugin-active-header-links.html create mode 100644 vuepress/zh/plugin/official/plugin-back-to-top.html create mode 100644 vuepress/zh/plugin/official/plugin-blog.html create mode 100644 vuepress/zh/plugin/official/plugin-google-analytics.html create mode 100644 vuepress/zh/plugin/official/plugin-i18n-ui.html create mode 100644 vuepress/zh/plugin/official/plugin-last-updated.html create mode 100644 vuepress/zh/plugin/official/plugin-medium-zoom.html create mode 100644 vuepress/zh/plugin/official/plugin-pagination.html create mode 100644 vuepress/zh/plugin/official/plugin-pwa.html create mode 100644 vuepress/zh/plugin/official/plugin-register-components.html create mode 100644 vuepress/zh/plugin/official/plugin-search.html create mode 100644 vuepress/zh/plugin/option-api.html create mode 100644 vuepress/zh/plugin/using-a-plugin.html create mode 100644 vuepress/zh/plugin/writing-a-plugin.html create mode 100644 vuepress/zh/theme/default-theme-config.html create mode 100644 vuepress/zh/theme/index.html create mode 100644 vuepress/zh/theme/option-api.html create mode 100644 vuepress/zh/theme/using-a-theme.html create mode 100644 vuepress/zh/theme/writing-a-theme.html diff --git a/packages/@vuepress/core/lib/prepare/AppContext.js b/packages/@vuepress/core/lib/prepare/AppContext.js index c1176a154b..235fbb5851 100644 --- a/packages/@vuepress/core/lib/prepare/AppContext.js +++ b/packages/@vuepress/core/lib/prepare/AppContext.js @@ -292,6 +292,7 @@ module.exports = class AppContext { async addPage (options) { options.permalinkPattern = this.siteConfig.permalink + options.siteConfig = this.siteConfig const page = new Page(options, this) await page.process({ markdown: this.markdown, diff --git a/packages/@vuepress/core/lib/prepare/Page.js b/packages/@vuepress/core/lib/prepare/Page.js index 04b7178a50..8a3f8807a5 100644 --- a/packages/@vuepress/core/lib/prepare/Page.js +++ b/packages/@vuepress/core/lib/prepare/Page.js @@ -45,8 +45,9 @@ module.exports = class Page { relative, permalink, frontmatter = {}, - permalinkPattern - }, context) { + permalinkPattern, + siteConfig + }) { this.title = title this._meta = meta this._filePath = filePath @@ -55,6 +56,7 @@ module.exports = class Page { this.frontmatter = frontmatter this._permalinkPattern = permalinkPattern this._context = context + this._siteConfig = siteConfig if (relative) { this.regularPath = encodeURI(fileToPath(relative)) @@ -110,7 +112,7 @@ module.exports = class Page { // headers const headers = extractHeaders( this._strippedContent, - ['h2', 'h3'], + this._siteConfig.themeConfig.extractHeaders || ['h2', 'h3'], markdown ) if (headers.length) { diff --git a/packages/docs/docs/.vuepress/config.js b/packages/docs/docs/.vuepress/config.js index ef96f6975f..b4745ab6a4 100644 --- a/packages/docs/docs/.vuepress/config.js +++ b/packages/docs/docs/.vuepress/config.js @@ -29,6 +29,7 @@ module.exports = ctx => ({ ], theme: '@vuepress/vue', themeConfig: { + extractHeaders: ['h2', 'h3', 'h4'], repo: 'vuejs/vuepress', editLinks: true, docsDir: 'packages/docs/docs', diff --git a/packages/docs/docs/theme/default-theme-config.md b/packages/docs/docs/theme/default-theme-config.md index e921d46ce2..46a55d52e8 100644 --- a/packages/docs/docs/theme/default-theme-config.md +++ b/packages/docs/docs/theme/default-theme-config.md @@ -154,6 +154,20 @@ module.exports = { } ``` +### Extract Headers + +While preparing the page, headers are extracted from the markdown file and stored in `this.$page.headers`. By default, VuePress will extract `h2` and `h3` elements for you. + +You can override the headers it pulls out in your `themeConfig` options. + +``` js +module.exports = { + themeConfig: { + extractHeaders: [ 'h2', 'h3', 'h4' ] + } +} +``` + ### Active Header Links By default, the nested header links and the hash in the URL are updated as the user scrolls to view the different sections of the page. This behavior can be disabled with the following theme config: @@ -331,7 +345,7 @@ module.exports = { ``` ::: warning Note -Unlike the [built-in search](#built-in-search) engine which works out of the box, [Algolia DocSearch](https://community.algolia.com/docsearch/) requires you to submit your site to them for indexing before it starts working. +Unlike the [built-in search](#built-in-search) engine which works out of the box, [Algolia DocSearch](https://community.algolia.com/docsearch/) requires you to submit your site to them for indexing before it starts working. ::: For more options, refer to [Algolia DocSearch's documentation](https://github.com/algolia/docsearch#docsearch-options). @@ -375,10 +389,10 @@ module.exports = { themeConfig: { serviceWorker: { updatePopup: true // Boolean | Object, default to undefined. - // If set to true, the default text config will be: - // updatePopup: { - // message: "New content is available.", - // buttonText: "Refresh" + // If set to true, the default text config will be: + // updatePopup: { + // message: "New content is available.", + // buttonText: "Refresh" // } } } diff --git a/vuepress/404.html b/vuepress/404.html new file mode 100644 index 0000000000..5680f19378 --- /dev/null +++ b/vuepress/404.html @@ -0,0 +1,25 @@ + + + + + + VuePress + + + + + + + + + + + + + + + +

404

There's nothing here.
Take me home.
+ + + diff --git a/vuepress/architecture.png b/vuepress/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..40463fa7ed1ebbe809b641c90944b35ec59e3e1d GIT binary patch literal 65238 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%0D|+C{ZLO_4cUDzL1JY*ubA zmx5L_;y>=g-;ci69^mva`wYE4`?2#AHqj+V1KyzpuRc1F9c(SY0a}PqvM{nJm*Tmd z70=B$H)%lW5A={a+tvA@IfK8@q}v$epXblk;kyO$ZQC1E0|zNbF)ta-3F)Wvl?-WZ zLnDnPa*BJ1skQOrre>U<;BNP4vIcz}-x@b41%8F^J&HG;qKvjU+3x~w+G9d9P@h9z zOMVW=I$ai6Z?t@Ddvy(kX}HP=oiUZv{Wv|}g)e5j2ao3O5(SU4$Zy&!%CL>TDe(}P z5Qu-5K2&z^3xP+|fXPtLhJAyaKqNdx+ta}iPlF?LiQD=~{`KR%-b3(^MpitDAU{~; zU1UpC_@)8tRHaPUi+-+SW2WLEe(mb`gz*!LjCyOK0M40%&t<~{fEUy?K(Y^X;G^zk zx9xP`;)BmL&!lA+ zC?zPs;!ri)%|f-3-PemUAj^{G&)y;rM=odBG+90S|k~hawWKOlfm|v&hLJ6g3;S63%1PcA+-m4&+8lkjKV}Z}Z5pLxQljoeRm03ZiFNOR#D!0Z>&40IW^8x2Td?5~~ z!l~MP&+Foivr8!TR}ha9=o4l&UY-Ad&GXlwNS%$6+vkW`e!UU@iT&5)!$6NH^4nW* zWaECvH%i^VvH*D65D|29*j9isd>3sxy*x{m=CW+)rTlGDYhyp%34J> zxpYu$m!a2H`ORyga`{_@bS=K&lB0dihuz-xwIgXL#5e+4(CEb||u81O<(lXQ{k z7QAXF^hLmjfAQg{y@-<$M81zN(5-4hH80x`wz1@8oAvx)kg{orvh0mB4rst<6OywD z8Ad(aA2t8kZg??BX^cee4>5VJ1o31S;blo4cw7F2IDHRU=Y?1@4@Q+Ib6jBaNn&fbF)(yXWWStkP#GY6n8dFp zh{jVkr=nLpL|x9bc6oWq*X?km8J?X}fQs!0pUO}|a$6U1&*OfAWWi3y(KjIpTb0sv zb6PJan>iD1Hz7|{hx8j{I2%jL$xvG!hxFjq)Q`ydI$$unT2;kg5iLq2i7ZVMnouo$ zeISm?8gPiR&3e;*{(kPZu~xx|5q!u1K4Xf5QRMXOzMseC0u4xKqQW0TPqDk7K0m2I_bJ+FYZsDv5j=5A;miL2|G=qWFG+v!k-aF`;h~ z=}Pw(I{_A61A!mAfut0XO#P^>As|00xuB*5IMya4pn+Tg**K^#jAYi5McuC>|GUr# z@1OL_QFAVtp3xIx{LIf3u_FgC4fXcCO_cas;HDi8~WSM11p=wBD;ypBgRDL z*8wRWpCi{LAbr}IzRWr?E_xeK&L%n87{dC9^98g!Luj4$_*0xCzi)v>O3068XCDXN zXTg%XK+=(HNA5x<^cS+I-Q6*{3;k`2$D*pt;6ioJ!i{I+2u)>}6+EYkki}m9yR**@ z`|onl6V~8kH96DnH6Hn=1@JgRuW*z(0o1wIdrnh2bB zJ?$L$d3!Cw=8I&FVgYI3=+&P@+_;H0avkw2VYRM_ihooSmo9#`fC4emeMeFw0ctt%se|j2Pg39z0Gr z5g31@sqs;(?9rR{W8biXj7Ade0G^daG$pbN7_et>Mcig?)ra`|%8E#Xf+sz={ltZ*j${q&e;vHQ$Z(brf-%7^T9ebN4+|XA*1?|F32^w#lz88|cNR zUeS9P3eP^!M-St9IHm#d9K@&zDiC`JvD}~!%po#_bqZ~;_dhTresb|<{3V@?I(8a53pfveB7n&RmzC4`G2n4UfBr=U8acD6JOs;DqHlE@$b@Sr`j{u)l}QzkQ% znCUe9Ya+y0l=9!PfTL5G$irX3&%a7s)V)%m4*KG`MId35N40Ou&(%McL)av&Gg$Gi z1Ir~K`VHTDD4nB|(`Gld^``0eb3)O8xd}xM|5A98TzGJ3Chu%GYW+iv#Y$Z${uYP# z$kiI7f^Pr7ELK9w8|;s&4Q@oI61N#L#+OHYA4%qg?^+C4R9_f^g4hD?bn`dgfme;A zH^-ljEO69JQ!x9$_tds3Kgm2kiJtz1+3=r1RxO9$tn3}`Jn~I@ZV-!BRnyVxA`wPR zt|?gq;w?8HwK$Y=I}U@v`Dha?diVr(g|_YYaX&vE%CMVdxy&8if~sv+n#pv^rX^~z z&jx~|Y|imeobf?T-E&+a@ZvWaBaH6o-_`6jckD6Zbyi=89;7;H81W{dmLAYRAxmf| zmy;z^_I&_`JI7tb>!#NrO%BH9Dqm$1y$dD$VM^;Hs=a1O=be2o=K80a3+>)SY-p@; z2kz!b7x-E6Y#9p9m{ODzM;$sNS>{OVi9=*f2hMJ3u%P)VsQh8$ckV0jxoW=SM8wf# z8op~TJWgXT4r0p%rm+Wsg_Rvf`v7S-1SJ5Aj^QkV_$zY5UyhWVdYetLW#d^rP>gP) z*Ja0HOrQaRUk+i3H5klS7}RSs*3|ZYSY|rM{todzdG=pxR~pbY(tA+E$+Fal4JqL7 zqC!zRPN|C)pC?lqYG~@#X^AVm8g3jk2L+bq?&~|di(^0&gx-j>$7XqE<3}D4COS_|9r_!k6Y}IDVpfoQlNEG zesAF4HHkX@l`db#Cx6UNhFHA`&=7`G^CEbxdjUS;ak*sz_0{8 ziw(ptA?=91J%cx|jk|X}qbONri#8KlS?Y2qKY85h;ry$EL!5C6!USu4l;D&zZfv>x zaQ$St@POL2FYLO{Woa_>`JLCw;;b`-vEBdV^cy=S7ec+oJ0h7tBbqGXsh_IBj-JmX_oYo zwk}XnDM|WKDmJLN-O%nqw_cXnx_=|-sfir+rCsqh`GCUDVoaa#)I>AF*#MB#-yB`S z(R!B`l6d^`r-~KnFW&15f*n5a3%KF?S~1#RyKOuCo zVPIjr<*7q8cPS|Sd#_*=ZwR~%N98EnqPW`&)opR8dFh)0ixFTz0g)&2kW|wFQ9YF;VDDqc1uF|`b>~Z=AIJR ziWFt94-Q^e72zkuat)Pa|EQ;haMEHF5B;m>g>pu=^q{#8oUncT$HLdxg6YoYGh#?Z zSvwxWNx4sGs099Yh33kmq1Iox@vaDY^vE@|f?5fDl3#7`aUgBHWFHA9^=s*wavjij z7Sf--{6J}8VM6`KNEz(CC)uFLKko7s=pLpE24hRZ$P}Ta7V9jww;tCDlKixL&Bc(N zSxUNDM3TsKW$%oVy6mxf<4yQ7i}Xuo%5$w2TG!AAuICo9^*qP*N^=eFBRaSJl{s+` z&Mbhfy1o)PObNVzf+bvp9EA6IBssWB52Pu?W|#gh0lwI6V$8O{md*$-jw@}K4ZeP0 z{}z?Um!q&!$XB3vHT%c!k^+LI`+5OUx_lyLd`y&<{QldeS053y0sbP>*y|-<8 zRR9yFSUwKC&5D)Z2xt+*q~IZmciZu8qN&0b3Vx-7dZv;V;a}dnh$$T5#C0^rtq!bv zRbAP)q^3^Iptoo@L{~J!DqXznQjVjZg?B{#X}N2G=@43%7-&}J(Q%q+n}1TQ;M+bd z{;~MZC3&vn4Nb_BWuTehN<c1rYc##D0 zuGCjjx|-s(W5V8lsDz*mj9Lda*NV;t^Wimo=vfA)qP3c?|w) zZNU`St7FgPFIk#?dM3iq*7}SFySEIc*^ZuASf+`~MOC`*$SRC^u)o9on8pAx11*cu0x-PysHM|u-XNQJRJ!Ap8V)hRFM^JNvI0e+l*BS+~7o&XW?y!Ul?i7 z7^lNtzRd=~sZL6O$uCM--?n75W>DO9ynUAvn)MQPZ9(FNV9b~BJAAK$&dy;Sx>O1!c%vA%}Q@@j9>TVI!u1X}I+`h@e*R^9Q zSxjSXjS^E%Evx&~c*rkrjK~u;wYTDb_d?d%65(y(;*qg@Mv5jQ?a8zEV~aUwFB|uO zaBly!Kf)=xeN=*f&>xGUkggo4R_QxHFHpyZyyD>5i(4XcERbm^P#e}#M<4BTpXR;A za#nbrP&2Cj_IdU3JIw}>{-%){wfNs=-T3ToF$dzK6dNo)-AoC`s8!B~$7u zS%LIODDLdU00K!(K2zP$iUIJxEhiJ7o~{y6pdWbyXRN=z%E-a-9VGTcZ!AVlF>WEE zyI9&>(zi+9zDV$?C5=r43Yk4{hYa6yI%``g6RMm4`Mwn2TK7S}SmKXN$Ji%KnGk!P8@jT)4z%tf%r@ z;lG12m&TyvPlQWM$9h8khn%3Tl@dR9Hg9`PSZ+H1Md|SNP8T%?`GUW}G9i|djp9$c z=lWosf3sQl%sa4G1bopD0=k3FJ4!$OO+?&}=btq&1ek~O{v~jl`#C|IDrkvyqyBGK zlQLh=YYD(X{l8nP?ne!Nrx*$PciK$;P56Ou-oMFUz6rjHNX`F`P7D3@&-M;d+5aG+ z$r_!9QYm`Shx{k45w_=TfcsL1{g!K`C!GJX?O25Q&NuqMd$^i{jVBo~6#G!0RIElG zE3KkWECf=NvG-lkc~uedoYd;$r@lmH&o3(u-pLrJpb70=q7BoKs|MYQMqGo89TSor zE;Yj8V#x5?f~ohYQdPU}7!>b{!|1~|eKv0852rf+UAZs8h9qsx8|wQ>v%onbayhHa zcjFlqL$N<&pWt(ey7zEDdBTz@76-xapmHo)GH27NBH9Sc;NA%(k7>cUYp4KCVM8_g zEWc*tbWy$61b4np$;fox=%6g{a&2zGFi2HLs;nWXELreeaa!xMU%KbmjgQ=Jc*F3I zd=(L0vvWLkORjZ_j*X!=o4THEaXCH|8g9&2dgn?HfAGW(nek~l869L(A2=!2y zyS_{qQm|k%1~q!NeeIsjl4DAE#GX^QembXlE)Q#2CbCL2=SVvoD{nDq7`s*X^FsX# z#gF|`nE~*Who}zl4sD;%4_65ckn?N7FhZZD1d!z-{Q$b56?mMOF8Cd;-%8(!2{#@6 zcfo~WM+D}(!z*Plzy;q>2nArjb|8g7n`HIA{R#xM1XoeJ;-Gwf6`=m}fjay;4&k(l zJ;G1@*50N)?V^cwHN)oYBc8*LH^(iq!0TXr`dQ5P{gZfXk2e*&`Z-btHtF7%1~XIu zS9b+;!2Y)LOTc5)Z<@4FzcVvJ+a&bEiUs}=_@Qfrss~e`pF|i^YCN)dF!=hjtCo5y zElt(MoUuClJT0!D$Bq;dF!=g|5C})u;P^5Q2snwDh=HTUYI=W00ky85(xd*&f;!&x zmg-{x)GEC8uU!Gcb1m&Zg)ji6ZVJ#PY=GL2*IP(-K(0+_A`Bsh(sGx8-=YE3mx|za zHxYo*E0wn?VeC3yGODwfolz*nD6pKW3!xtcD)`eXpOrSO&P60pr5>=bgt4 z_WC=>Jp+-}8>(2NBexTip%cF-9BiVvzD~brBje-Vej}yi){q_bh4u~11tFU`?h5}M z`UYulUek6yXRt^0%{%a!=H-~sAY#CGSpQ)eIi2S}GDi1xIEz*i@l@beD72vCmHTT= z<5CZkJ$&C|ohz2A>&pf^K@I*CnXs^spMoQ`GDy}s$W6O7xrAQCJza8Lxx7TVbpOUo zm{l&hUjrrx;JemEUjM?y=fF zb)}`NsH?ch?9mF!fAqfI!^C-q+OZ)c0<*di`E_ z+|4O|=Omh+j6EfpvfZFH$r;%mkMvjbq^Lfwf&wvkr5$Dg;dN@}Ej1&$5Q|1l)=@E; z+q5CXZ;ZIJ)(78!vg++r^mLwfqlleaXaccPy9?ba-2%MAUn>gtUB{NfX-am!K7U@>CnTLwD~FBI&UPgkgZbm4iZqPI zChlxkWR%Tss*pV`B7UgzKvWlBb!3qzWS18#ppqBncL1lM8J_hENR$H?_E9}bT``!3b)=)41A z2Tw$L$%Tca=PZor=adE33o|f*EzGju?uKvGm9|9oe_{U`9U%9F7bi&=>}t(0|~~Fzv+&#rKCl`C$gy+3GZ?|NfVl zUnHCxqL1$__vMMWe4QHz4Cv2C<;wC_BqJ5hSS|FU6#g&2 z$DJZ!RPBft76JJUj^0ARXOnWhZM~t@72Y-^?DLdM z|G?atRWgC&36C)Ie0^50P16U@{L7!AH4*!=u0Y|hULrp18#`Rl{><_-tH^oHr3ra) zaf~PE9!821E}CBlRQICDqqgb3*M=xRp_}e5MLKL<)`*L9F_2XAT!%^JH|%brX84n< z)>X*#z2$TXxnF;jViugQ2{iSXgoI!KHEXo9`BJhw08HU8MXatKqmPvkOVbHU?*KMm z8{QP4&m(@-M)^r=C*S>;H_mQeRnK%LC29M5={kbI`gY+ab}~ej5YPPnyT7`zS^%2<6(&cNCfAX7`R-Xh+4I+ZFvFYZ&Z!22b+dG3{u3s%J6wsJy zuez5h518?Sl>v8Tcu@pcxR2d}LV~oO=2qv@^ahxi(MLxoA;?>5jw!}f-{$jZ>UEEb zgCB>UCcV4~G+~lz9!d%e*?rKdX6xRVne^5D`V&I~4K}fZs8rRj=#(c|)f%n~FMgOJ zC`bUvH3f05kKC&YHjI8rYLa|5%5g)Bn*{HDlfO<+>gj{Wrtapl%F$i~qwXF9B0X|8 z+iOzxXiJ&@OvYJV*X;(1McUa2?6;fPW?7djv+labRQ$VnuR_F?qpX#f1bdOw$ z79>*AOB0Od#|jRh@x*K5=rx?ne`4P3XK3&UKuAYF@@#0)gusY4*_;C821h?_SvveJ z-;0#G)&Q@grQ(wacHsgJAO`(tohp^(511v2{9ZTU`i;6{h|bwOjXd;EaHcqFT+&-W z7#6gZ!RYrTU((G}637vXCo?k=Gn$~gYuf5N76Mx1)JU5udnCN|Q#obSsU#4AAR!d> z=a+uZACS}_t+e95*6b#uJ?MLiQ4DIyd<@WwqXalS4)HqoeEk&t=-hZuRQ@Mg^YV>- zJ=hjZw>Q7>opMT5yd3CBOY2t-jpuo+-6j$~Dx1dQ;f!znjh;_e;w$-if#BJAmO!`` zm`lL4^S$^I#shJU(+8GI(}@ws$h_@P`Vx6I|Bi&RTt|OVdnvC)wp{G?`z$Fb)Gl9(3^Ndm=s2*SikHtV*X7Vntmo7{D8K&cnzO;O zL+R@=e>mE*5?V5G-FaY3b^dGN#69`*Nn09`_jdFK|M&sT?+BmW!4woxY^(E-*NTac z$a7o=S`O?GCC<%T)A9E&wclJhWk`!tYnjj7S{!D7QqD|nk<|v5!?NcPXfmU)*K}8{ zam;uD9$)76g8uIIMS?iKAv~?H379x29EKAHCsNE>lp$Yq1y|leW zy|iU2O@mPvjaM_*hZ`H8S?=Fuyrx_<-Pvu&1}~`jQk^R@$G&+a|h4k1=n{8MDW!TYetu>X3Va>_aA>nC?#sae%> zVE&Gyx7uf1l3%0;kX`9`_E)l(3hf6i-hMK@E%a9k_|(FOgFF#vTB4{<&3D-B{eLKX z&!{MZreTzfWR<9hWRRReSd!!{S#r(_N>~O^f+9KRxFAtLa&&jeAUQ{YT~Kn60aSvb zct@Y-eZTMA`|ENzbIwlHR8?11_jFfR_27{1^+Evt1tx>1Oa{^#^bk32i2Tn{B2pun zdN4YA_cX_u#o7!|QGp&|V}pDd8kivJ(a}U4!GfqkP{e)Gu`pU zHI3Hneh~hS>-XX_3YFDold~U;(Z}^$G?%3>)tQ zvtUs5!ryOA_#Q#rL zokxS?Xbf)X8CWKfAWYtO95tYHoXl^$&XqwxE;;4-Kd$U(Bj{7X-qjtCG*Bxv5fpx z(#sd_kDHbxo0(cx4i5yRGe5NUfvRFXzbp_Qcf3AV{u(#~o>(S+a9Mfj`EzXSAHr<3 z$J-1$`BSfWlh$M7Ojw>SxVqxyP|O!FR$?AoxyHi?O`FdfU$FO*&R2QYZKiUGNhCT} zol83_L*;GddXzyT^SZ)));fN-x6-K~b3C6y#YFGhzq%Fjoh>rQ`XUoHbRYQL)YMec ztdwByD>zW==MFW&bs6OXT8ai^P7L`5Zj*c}u}&&Gt+)&v)Mi?H8HSyWiPn3i)U?lc zz5eQOzKX*g6>h> z2#?Vz%t4xt2YEdWupb|Jv}V)^d17LqRWRRNAz0!7mOES16;5l7R?-xHqDNwS4mJ~! zb0t%-he>*I$lOdgHP!7=BC)&iH+_ifQebrB)-O`fzlNB8IUZ43%n|hpCw7U%u!xaJ z_ZMeXi$BJT?Wm;@ARsAdH+@K0w6+xyQW;WjBZJQFkKd4_8(#pwp%2%+UL#H)e%B>J zhHLu{%KHFNVow-s0=qGo#N4oE&G;RYusDS6fC_NH`@qN57S+4V2Q0ujR2u+wj<1-8 z2n_btCM8sz(=}v${mKZL=8b##4RSosi>r%^ix?a4hsXn7f^E#nap8zH*`2{2fqtAf zmFN*BJ_2V@e5uff{`tGP1k;eDcn1aFM{++rK*=j!AES3`aeH+i=)*v6sf_ zMks+6n+<{rh3IFz@6}Wfv*k8MI3%~ca(oflBXMdb)vqPKac1J-On0EbxyGA|EhywJjyy%b( zjQJC%zxI5@{Y7x;m=s%IUunDO`N zI$}~ghKuE{a`J3CNJby~Hdbfp+SDa}!0We9%y?!_TbzMwCL{~ar_&m9u-!9*y>iFP zh>+hlEj9M%6EbP5AdBS&g$3U>*(LMI_16 zSP^FsG^>!PE!h&>QSukfVdLO=_%q+Be9P+*)1J7iO$nyv!YuWn(ZiX`NDM9u@XQE~h_h&4djTex`M?(#X?wNi^sFDqaqd|8u!@ObT2Ocq~W| zNoU@o&f%xuHTI&f&inROqNpT;>-P{=07_-EDu6-xbJj^@FkabbJv9`?@nbMH{vQ%) zF36Hwd1Jd2nn(7c5Ak}Qu1EFaJQL`e>zWe^F=Er$PKyHmXeRi~VrmAfr+v?zh7igs z_=20EX=wXCj6t(=c=W19b|OI+(0NiX@PkNp!j1B*+y zT5V!$!HY@Gt;Mmt?ZgGD$nGbOL1e#+K1oGjaIH)ZkVfj4!>%#*g`Z53B_xl(8_)*I zR5_%i9`|HY?w9b+XIbtTFR%b*AAQeB7FFitpY}h6hRgTGq5QzewH~xNxc>S;<&YGa z<+o>)%4n!&b-Wuf$=MasNS|uXLQ1U+ia(wle|IgktTlp3-b}~nX?^D09W@i2E0dbU zs%$_d`QT-i9{r1{9?M*4$1ZRHgR}~eS&Du84ndc=n7KF=CH zmiYs>>!T_oirk0znCkLh*S0X&o_Ioic%k}f)^?wlz|~jX$Ot5|@_AzT^T8>_@0-WL zI?WU2qtD=Rdf4K)DMkhKN`dV^Mqc)L`B(avJAXPD)Vc#@WLY&q@ocCdjz$l~!+Xvo!-P zio)XJ;$Y+f@!dwz2Y&^#AXNs3ZhwoZoP+7#)|3Nij+X3r86UcM(LE8qs~?AqGaFtz z4X(ufB-8og>Q~Oyy$SP}WVGdGqLmS-Ax~h{WHv4Ge5B<>M-CYA7|lK0{}pkKS`KK= zVe~3nCC%|^_g_G1l3o0-0!s-{!krSR`9FdTaEUV9=p!D%<4s}hYWX=;)Dly>H-QlH{9z+=1Y&Z0#^{;gc$$FAHH}I2g`H!{d}4hW1C{{ z#tLu=7v{pKv}~hy)q(?Gy!gesy{CLqnxDz$gc?wuVP)JU@*^vZr1SA&9%TKZJQrk-s%{czs=wSIr)b204IKylW9&362{o zO{{7Rxl#gYNcO5{V5hvCTyP56>G+SbxYg;eCWi$du0;_seznPl6MhvavT*0y6wbWFCThb zhHKMWf8Fb3`IW1&-NYH`T1Hx z4Bs~sU@f-P7X;+P!jL5ohY)1l>F#1Ge)uC>UijV4;4Za~E55MnI{6I~8ze>==gD?r zEkT5GRJ7LRFANFIc49V+tt$5@7K*@1LQx8k##eoe=>`_}F8~#-aQ{YY@DJG2H-U9t zv=;a^XDh8r>nAb-e%+W9k!K5o1Af`LQWwk6U1~S9(-zSE!S}OV1%m*fT3emYkL%lu5 z761FFGq{QTh)?D?PJcsT;rrT3!`a}fwLq@KL6NUKFmvtAxC%!Mt+s`?Z@J9__tO&l z`ou@tJk1;SVj7FH{V5n9VZ=L612n7pga^zro_?=WVdTiEW|qZljQwFWjwSG{n$pgACH{|f&-@!bSuk) z&1FLb64Q4^)m%nDjPm86hi7MJvphnHrgcTVD@1@tn}T-|Bu6Ehi_(X&cXGZVzj^CV z`m`}B-GZ$X-{a3L7Vylkw`oNVIR%0r?>CIC0$xJKJ(xWSu^gCaQjBr}63qrg1h?sc z9`9KIZ|(-X&7>u^bC!f3g+@|nT+u*51Yz@=9i=8X#_-;_i6^P&!q8RTdoeS`gKHvy z${15e2HLDt2ZT-n>F9)|p?fD3hOx!&Pn~c)7tfXGb2HX@THBop|KQzL&XerlQ?`t| z|0ATJrNF}8v(!tGM5Uh@+<4GP;{Zly!-DvLYaX0Fi>m%z3t%dyrgR9wDSFfUTVKRo z@s*SmYn^8~eY)o-YEHy8d|IR*R`2*q-EA)9bbRoRTf1QGydXr6EA6R|T87V}@$21) zGGl4L&jciWH|o1XtA4p2x-&shHiVtHF&rdK?MYMve=%d+Jg!Fh!mYB-v*|Xace8d$ ztDC3OE1Mw+nRhXZ=#tR&+#J7PP-)N`g}}*0Bkuzw%^K6a*x@$k?#uIf0;J( zJGMMoS>lcA8n>xTQpqX)17X{2}H)vdTr$H#wUP%t%bAeARcLo+XI<_BECKTTa4fp);^t%7BHk z`(mwFmwYHlAD>?0rmz-fqjo8sD?vmqu%;vT3y@RSp@UnrmuX!?Y*VnNdnZnpOa3Gx zrx8Q(Rmx%ZE7=YCO)p-HuH$=;+*3YA0HKj4FLFEco(Dl0`S9Sf*tfS1dl&fwU#J_Y zZ&ErBF+p#lKDo7zuGlnBbMQ{tkIcJ(J?LM2OP!W6h;5xB!$q@Hd@b#x&X1K@t`R+_ zA=^7&(9Nh@d=@{o90!YTvjO*%!Q&4Y&&7jN9(@w-OS@^SBP)|k7`y)Ru=JBTPUI-1 zi?y|-!|R>G4uZXgFG0Su!y$vBQvwI${^4#;Ljg+^*g~1P0p+iEIxfVr|GxA#`uXFC=rd|?HZY*6@ z@n_ahwHfgU2I_*`xcVg)r;5Ji`d5# zbZWlED{!rla|4s({xN9aN8RD9V_k>ery|CRe&t2&KZQmzLm1yBY>h1B+qQ-VS)D|u zj(8kF4Kh24s{LMl`zsTFDDET){K(xIN|X&8jQyhL`bi^&oWyO()rSWY z9~0G2TC9sh9=k}|u_}uj(!RZogsS+bURA1rP`IMmt||ovg$4w&JvJ#>07bHL2<(xM zo_A=ld;ZAy;Xibbe3-wOx`c`Me{k9UuIwNhVL(Wo>ARz^NQ*7->Z&04ddl9wem)FG zVju*#pkEjxn8MklDV! z5dK}Yhtd6wvEX=ZtT>4VrpKbbOH?pZvrNa$O9T9DMA38p<6}hpPSI*r>&DR5ClcR6 zcz%cp+DoO=k?teD{2X2DPQ`v#py-}23|4+`~@zwIu?`yvAn9~yDmG&v4G-W(K_ZbyU%__UeWIUaj z(cI(WE?YqI+(|nv(VvmHc7ND_vA?&_HsmP-mChrzoY_Yw;*2SVXpCRtaIV3UvoWI>i~>@9gZ{KCMk21S?cEi>z+uocU9RQl8p( zu$R#x_n6Y=@6r6o%jqUL5X`5c%zj;t$dRJjow>zhzEd8k!*v5r9A$Q=r7XK^z(2Lj zo&9{b+!>LU>gk0V+~g<)KgDmW3-IROxb=KxhR@QlaZL9|woc~yf3>gm6yC;rr%^QX zmF`}SuA-Jd(w#Xir5Uy1b)Ea?_?YVF^a$sbj;z%{Dve=5sY6E}RqTV>a`@ZdlPBNL z0h`s9CmO>eYQM9s^nvT|+_9A*b2Fy>+=he8si_$?KShwmAd3mag8xplxb9ZjTOY&5 zR7k0i$VES^(E1-065#A4x?*Ba|Fnh3v2&s^b4kN$CC7h_?46y7qCSmy1M29A$%j78 zO|LH9AKc6`7+M))Rh~tCI}eBDaZ8|Q9ASoyjYbMw+}rqYV(FiiXvOb8pRkjRos`=s zlv+O2gv35|{5pHD6l76XfYZ}Y#Ezdd&OC;+Hw-b$H3(Qop{p6}j@oB_7%)a(q@0D2 z6K|WbQ>{6FTlyBA{>2BP-4(C23J^PoJbKZEGQTviUt36HeTf+U!}M81l*-yf#v|k9fx(ff z_b2^($*EfPwp^2jL#S}w8H0n8$8tw{+5)AejoCtJt~^fI9JX>S7Ua-PhM?Ai?DJ}-(%H|Dx@hN|j&M3*WgraQ{7 zn^DhbY4N@b7d79m2W!!I_pSU3<8zm~_(NyY(s=)|4HsS7tOr-WU`1kk6=?=etnBNW zByAi<35D!EIbSf}Wq))`Vi~c`U&Tm@&O!y|E4q8}`F4-{p zxq<69dxVi%KQEr_p49G_(+^?KD8|yz>7{*|EsiC}SyZKOw0(iK-$0&TY4_ZIyLf;p zL7x+FZ*F#M-Yyr7GnR}t{V3|AemAtqbY008ur0haN|xqw(Ub`=k9g^D0p~2(){9W` zrGEyJrqbR{$5!;$b9hDDO3kX_{&$4^eEa`xyvUIb8i;4Tnu%qZ{Q3V z_x*Tv_rM<>K_WLm-)6vEU*%?ZSJ7AZOm`sbBz^6z>3bLLxq&Al~+58vwZsn~B^3Py4(RazP?XihPiX4$l- z{xJuXgly_T$%}I^dnX(YAi%JQ^j~MC8b+KR&)<{tZV-_juuUa(d?@fy}F7&h=NtF^Ye z>uoiI``WkitT9EUJd^w8#2X3Co332FUS&6&0T2yHSobd`jnFk9S!LfWKQq%ySE8WilJg=Hy&Og~ zp3|(ZeZT97Z2+@Fi59ReC}qEdyej_Qc6aI6TZv=EOzs7YkCQz`zc&=V1_#WXe0;G9 zdhgxWe5&{*zH7SQEL2MzWjOmry>Dvj>a%n+ya=rk{%GHv({E3N`01@>HC7Yl`o zmP{MijQAb{D(bAW)=pci+$1CEvHDysE=?(65CPJ0ysGJqq4R57XeufiOC_KiLi z=l$YX!)g4i7`9r~+vPGL%Uz9*gA>2oLt1N)&D)7d7?(_f{0>2yUoFN|n-?irL)3K6 zZ1*N=lY7~%O3*DHBPM7>2ABH%w`d{no852BpSU-~9-j9*+zN88h#(s&|KpO!ukz0- zf5@xR@8HDVTi4@^Cv&U0@6_+mxrqd*@V;NHG$cE@zo2?x+*Z}kQEmkWr7P6IIzsO) zh0^QT=Jvmp)oF@K%CP&nF`Rxs+|%7@k!{%iYhbgdRPe4~g0WmR403Y}z__W!0z)5OI8{dP>`B zrBhSzT1R*Mx^0bBPwrhuSwrMHeg_%L=S+fV{84RAo554mfp*&N)7kFj*X1kcmdmxo z`+dXKt$m5@l26&=?XYqw;C)7?3z%4;8la!A^!(*?H;Ux3Ik(sx*^}24yVDXEc^`<; zt|2bZYvA3Hm$F1@nTOFb*Oaus3Td7HK_D0_$=8-zC3?{&Qplh_@nZM z(gH5Ch@I>E*BhXL#22fZ*FbQr8mt@A&Gp*OotR~j_hqoLpIOm$w$XEs}`0tW1aA( zsbV+!cE(yClIFpBVtqJ)X%mUBmNPQ2Tf0Lj0$1FyMY=3v+tI2Hoi@Yq6YbtGEj3%>5;QG(kI;SZGal_z*=thbBcAQ3*;-VRaevGzOn%q6(uTHLP{(k(bh ztiKmlY#(mBO!s=k?sDe{Ldx<>PbsnuL@uwlJPTl;Uawe(1KAV3k^-_Zp1k`k}lFcEC8 z_hMCQkaRit?zbu+8#K53lMM4w2cddyq_PHdVF#d%MGPwkbV-2`Ly+q? zq00~gAA(#Xfi9a9FEPKZ!EJgvx_}P8@2miXDV+?h!&)sem|fXr)Q>rKkL5avIC zPgL@MIUq(b;}$nq3d|vZ^ALiPRVOPF<1KZqAV(A8|MxdNGF%h_Zl%DOl(GeVh@oHu za+LkQ6h|O3S?ZwQHG9+$Q#!;~FbT7Fz1L4wwY?dVug%gz3rvCkLpP;D0`N5@h`tpEVUQzdSs_JP9$%}1qoEGzbX0OxjqHm(vn2u}SlyiHPvS$8jUmf6z?I;M0neXDlG?MtpqdI9XI zzadh&d9VQCZncIj$uCb&XtYUCGAwXSzXi1ckYWi)#5Oi_5tFzgm0bm7_(#;fPG$A1(Q^PB^~X*Ki};*NLwa=L_b4?+XV^0Y z6`pxrKKtWBQLrz6zvPq73*qay9Tn|A-)mDmR`hr;adPj-p@$Pbo*O3a{f-QG!RmSl zMXDWEBw~XBHA`6DVB$NCaH6?2(FaF5PmxA=31~AxSan%eUi=ym|$9IM8Xk z)rQ;$8S`(feVxS`M)QWfRIoM|Sy!$=%k*=8Qqu<~bj%mJG0g}qt|pp9{E`lf#x5)8{)B zGHCKobLSTGe)*jK>RlOsCpY2aS1S`#b%bcT=K!)V%M zP*O3M>~V!$CUrV9-h-K#PLk*(%g2hjax$9x6Wx!<@Ju}gjC zw~XTSS6<0IzE>~O0jeF)dVbO6B;1in;Xww|U=inQ_i|S9{dP!M>2R=W1b&XRu$rn#~60PTFb5nq-e@LjWJH-G7gX*dV3dqDW{hINk0gdQL&jHpJJ%NVUg zrPkr}H5%U|u1jnso6BIC)ChTgzu#JM+y&zYyMjWtN?>ua+?H(y-p#wTfe*uxIByrM zYo+*ZI(fFabgHo`4Mkk14~6e&uJPp+ zP%HVI9VtSwIwOo~h(ASi*4ocKpstc{Po50b-G6?DLceU<P0z{s^k9UXv_=v+M4yGA8mwBJYeV{FhLcTIE=8^aZN^=UkxPd7P^06GFdFxlg6C$&i%x+gQJ%`(opdR~48!DSpAz?$U%c~udLZ^PK7 zTXz9fvX?Am_}CI{`u(K$EQ3p#TY>T#eILtS?3_87N|2G-(&SOJcsyS<(D{hT-E@f=aA$XI5yGnv(fz7URnn`j@SCMYs4`uYt znY~cP;lG3{U%F3zY#`VxZO|OlQEW_<^Ly8Uyot-CZeStn$h2rZqJMf7VU;RTxzgwN zXr_m$d*_MY+nHV7b0@{83F4@gPovdd4_hnKa+-x|<9~X@tIx6EE-?AdIF-Ukb>7wR zO3p9Fmg~&Lf#8PMZ8m=_BDG;*SJ1j5=#P@%X#EzK7#1<*%XYS7w2jJ3v>SA;r@D=m zE?}u*6lww0=(Wr_dr*#gx$*z;w`o+L^LHZ$9_qZ3>7m!rF2cRI#$|@{_zmBqJ|Xr2F58|GtGp}_pkL2HU<_vB0rSB zT-N(5%iF&_;FFTz`1wWn+KMdEf=^l@nCVCRu(NcL>7k40hYb-pJ(bR5cpDw7q(qHjJ1UUG~C0r3;>jVk7HYo=Z|?MWr-WQ+~&q zGfn7dxA`bKAMrv<&z#q|TP;gxRhDR@> z3$E?yLPr;#)Q`tHS7*qp{%wtYgjKObW!|4fYZ5Qnl8uAVJ@7U3!X#wJ$2!L&>N{Op z4?pz!>qe)@IO-PdryCpUL+He&Mfaylwy6J3?PUoLD9dR&WqC7b(%p3Ted$o)O;J#W ztmEBR@E!90kFVK{G#|t)ly)|OXHjtauXLXW(V{W+An5~6LQadcpB8@DmSEe<{GS;| z4?j0lK25kGOMZ|DIm0iq1#8@j(l;uP4GUvyVJH$O(JUpuPbq;yV!hEdCwKoc{~sKk zG{0&XEo$Kdaew9WVhV`788D_`k7Z(BK#(4Q@~zh$s6Fe!#7Z>1MudIz+iM423T6Oc zkNr>|#jK07U`?QKlqfB21`r&8g4HmJYBUbyP_gykwFRu)*IDaX;rQ~V&g?eHm#U~f zzAh8u7>O?z2}^!T&&m2OuKhl2|Mp-StNtRKkf3>S@!R3D3A~NLe;dIHM+dy2z-_gk z1DIFe+TwBkK>h&O)k_Re1)s?*=+&X2<+QdbW zEpS8RG5#y`;?cX8PfNkwz1yqTl9};uOjR8E?M!U$34+pctQOaw38+jGIK2wC4k{in z{k?hr``A-;jnxNt7MKnad4!?-TY4<=G^m5>b>P$IxFWkFjp4U`Uco+Q<-;GT{=Vik z)$55#p=#TEo$&3=2Ydo_$4h;tk;rJIr;HEkdRL3Sjfj!Bk7{&*8CfSCcBL}|tL}2RZ{w(5g;L@?kpK{P0 zU&z0t`s6znm$e#@m#K9#f$>gcytDM&Q+&5M2JtBc6uQcSmasaI@E-K(f>c6a_fL-G z)LZ5<2kd8eo#~so&uR~wMm)te4mYk78sX@M2!-uGyu4iB7svUIKl7fQ6I65m9}IA=q9Z3d-)FeoyHqj=U+b#SEQC! zO)8j+(WG#7GMpRE;%~fpHuS%<7BC;^b!fKdeT24L$fXT7MBJjGx($di-NxUUU9z z*I=Ysd|rGJTR>5E>sXAKy%mFdtzoFpsavY1;=Z?@WEogRWwN*5@P`Z`JQwvMsBpB* zImo-cEU!X+T<5`cELO1v{t43@@##r>jnci&2Aic z*;yfo9Zf}ec34Yp90=+$ipbs7et4llHH>eZP9k!0fxMmGqttw%f|cmG{2}(?vhU^U zj!%F`+}gTCH2C@tbupS3zLOPEfd{wZ`l@92;3<+13%}<~b#G*s*|upV=ZGqS@SuvK zIo{>xJ^y}{f%i``PQMr6wf2kSZruo0_dqJz7aw)plsozJ(ie04MJBWKhf61{y*iO) zG)VBk55TA0PfT?<@w#@;PM1f1;#2`BgN5W-vb^|~D@7(;1{TD-xC}*y8q*29v=K2H zCSNjG)nL|Q9%C=FBw}q7sr~*69%Y0otU+_UVL!NBz#iq=61@Cj!j3|}+J{RGtI_8& z9Se`3$NL(Zf)~skeh&aMG>Bt68B3j={wFj24dZ=m1z!gH87kcg4Zhho*y!45I#%>~ zx>=!Ob9ZYK;-ArEqMq~TiO7aIlEI^M@H%GMLqbCFbY|m@W=J33cJa-zeE@yeY8dCd z26l^r)KKgjzr-xId{@l1`#fYdMh=&xOy!~7&l?7-BuB~9areq7#JPqT8fa?f#MweA zB4-&$;qOJ>lq@gHBw9Q1 zu?>u+=$FIgl0CEAM1bJz3}XE40j2V{pbV7Q$bhh^dycM+Ph{MPNd4 zkpB>5@k!N>`^7DfYV;dvPobdE$cHT@H?h;NN(^mg7^Bd3g~Y7+1ajv?m#Yqcq^Fu? zRJ?A5eT;OWPg$Jac`b<0)FrdX57|DVImc8df)-K?Q!R5!z~Hr;fYU)@UPpN@l|~b9 zlp;d*Mv-l8AR)psmgyRGvrsL)SGv~y8V z88*l+`6eTGVF>MYcRC<2bkP&Hgwk5q(@%<9x4D}WJ53qrTyO8~IpAFjQ{P)*@m#}C zSLVTY>kTV>r@unAJCR&J9<>J^Ii5YI*^jD*p`XN?SZvE-C2$I0L(C7G-VVFauSaXC z07{6;cVIjB9RoPyCzBFbA#D8qfe3Tc{kV{VNMYQC{_mn0(u41nADv*F^9KERsJ;;K zNz{Dk=yGYdsJR0k<(rx&e+}{|f;}aOFYkN6-lK{=c>>nHZ*m)ZD*(OFA`bS>?8o1h z29SK+o!}yU`a2uMBdk~&W6h(QMWF369-nnDJ7Sld9ly+oX2Eyvy-`@u%?$Io&%9l! zP4nd;o1@nh*7i0u)ZHJ&?t0<9S^RR*cSybzt6fu}2DBG!;_T<&NLW>9~6T7)N zb{F&NAb*3`*C63`ae3sIUgU$@-S^(4OVkVbxn?9l_Ox2S#!^(eXJyP4{Ae&ta?)?g z%_)WzU7^Tms7zyz9Kt zLmHiLK)2ObT;@dKqbPQTxx+>@jB@HE&sl$6c$;jt=#_n-$>N8d6Joe}l(|_8*v>Ke zJ^;5j8t$6)PmCF+l@Ob&aG$25ow1NdkOT{J#=u}m`9<+UY%DaHtFX%%?IgTdY1h{X zqo!HhW2XK#Bvx=(EX6kvV(M|5J1?i1j9$%84!*QH|E-W%(0cM>>u~R7*9m@AWYR2? z#MesDWZ!K8VJ$fzDBx=jtj+FZyNdr16MML zWIjne=BDRyQXL;ErYD~$Esxj|_nta9ePM$pb2IN3uu<~^$mVww#qN2kU90-*eF9B43%J{cX2Ah%ID<2f>S*YO^ z-o267Y07JZUnPq#Gp074NC40B!mSpqZ&2 z4PITu|FRr)5k}n1$_8JE;z>2!z>?VJ^1`KTluLrfl^*&FHzPy2lT0t3uN0G+e>4-~ zjtjdIo8OyIA1M%Za5FXj8LQrooiOt7|yJeOTJ(!nmpwcA_|NMEnL5L$*_z(Tqis1k2mR;jy; zBczd%=SLWvXJ3(H*a-e7vH{tvN;U< zt(v_gbbDKVVqsl^)IQz516OAvY##V7UyQb_Pyu{dbi%@m{=>f9pw!ZDJ_amyeB)=t zGhY@gZLo?=*APNccZ$=}-(X~R8Pf2-yVNr^aE17=Fe|IOVKvliGxe}o2`iBF!{+E zFSJ!tqLcvHk49D^;{3C+Qd`8%IV02Z1)w6k+d|+kEI#PKU=tn3@C(wq?oUnQ za@fK-yT}dKkF)9^$*D2<>39)4~yKL1;f2`*kJNvG}U{L zu|M|THf44};NLh<1&sq|Y6ZSrC|AC}%<|uM=e3%fe}qs~p*~#eZbPKlKUa==f(#oZB1>%QM*SiUxS@Up44Mou36ojU_qqRY$RZMIpw^#mymvk5qudr2n}A$x;^$$}>+RG!gJc zPdaimu1LrI)tLz91YK2P&hV%j%`i1=V{nA8Zf^ z#7V%TnJ8ov=@?>$)m+nO2QRTO8ErtJR`c`7bNFScC-Tna;13&Fy@5YdV9&$ zcaV%$c+4EEfG$p2ipFnzNnhffa?bGUiuVS)F(N=IgRkq}Fd~yR2gJbl)f_{DN$glx zd>_HXVpP3*k1k&-2a?JS!kh5YO z(B$i6&MgZ3p%H(GyrhvBukzXkl^o=@1(~)J=j_3=x7>h5q!Y?_XE?V8iN44~%lHB; z+lk*DKtrQ!n1FKQ>=0H$nEHU&7hu>g}|?mQz16sx(kZ`)7o{#I{@l}Oz;?|=hMoHx8<*sJs{ zu*`t9v4C;Rnm5P?(q_3701M~{WMTXgHIu3%0>~cyZEE$*Cb-6W%eT$wG15wsV;fIm znC`!xTqXg;D2r};wed`yeYp0sTcz>Ce~s=wZoQryk6bwNUv@NmK84o{L`7ahi{fR2c+5ex7pYEiBl!E1^v&q#~JS)Y5f!iGM6!& z6vJ9sXc*7yM~B~uQlnto69J>MW15`X6NY(cgfjGXIq-oV2LG>U7Gnq#Coq*(j037G zP4Zd4n*)RF>;UqQBQ4Wrllk*7*wGlYE7&-RB`Z;Kk`v2D^LGy2uGQQU=Rl9L0Sa6F zzn#GNHb?_Cly;uo7Q+&acdS9=#JkCy+^cV3 zz+zxWGL0mmNiifU(;Sr0@V{Zs!C~PZve(k;WJ`ly?~bXzmfQwNH^aVl77APZ_;H3k z1X)ovvT8s-ntjH&WbR|0DONKkLI}6ZNP2P8V##M=lD8fejnEk99ZuqF#wv^ z!wPLrkgYMWw}ou{3_$yMKG^qOI}GQSpW!=G@15`1u~hHD_a&FY;7t}B1;kvrE=D@I z-SXZ>qPP0FJ%&@!V~HsQlkty262Q3ucJ*UtbFX{K)rx=)nhArBSTjF5z=E)Z*BNut z3Ddf@0cOqx*bF5!!ZAoRoqc6IY=DU~!5h%Vv5~2aXpMske2rS9&C!QKqZVm@gc zeLo8qcB}b|Sw>;$5pK7th@&S{skJhIK>w^Y9AMf=ycs3XvSGK{fb+u7P&+vJ{Wm|q zZLM2CS36X>C0z%UeYey0q#0w>OsM<#M_=9;gG4U;g5WUu6G>mKo2_${;ek~kBOyAVHSHc<8y$Z#MxCLD~1jWD#%CB6z&$IJd0 z>SDeZ%=IxH(_V-)9sB#J7AsgV_uB2i;Ltv6`JLS=A8vlmQE3?6K6&=dV(}BN$wuR; zoR?Lfgd^T>%(B3PTwH{*7pWEPJJOUaD)4ervna;3>?0rqIjC*aOu&mrguhmTynb=F z8+JHihr*b! zjsZx|rd;<@U}zJH)*eOBEGtdi4E|A+uf5Co!H-SlVg;k0Ik}7?xeS~odUDfr^UM~256{CoQ9sIAS zsR~FOB>~DWb?1>hZ|8=@|5VulqlM>KgUI8uh0$HNuKOhg-8L_v1FkwhrRRZ(qT7OaEvGSzS5b4t`D+xPhUKneCQ2N& zLXb;;c%-AsQ5){bc zb0;WI3Mo`*YATYyMb|BBxXFfcu0QFa`kEq>#+E<{9`?}{pXUf&Gj8#5t8-1+6sT=t zLQ)Y^Qg!>}?E`hgKu=@4osljZUd#W7w6_k6`gs?vhxPk`k0=SqTwvsik|D?pQ!t5bq1#@6YG^yT5y%d!PGU{@~$t&di)SGlvs1 z=gbUBM7Dzy>+11$RP~`{?xHlM9S`sSHsr;{_qDqvjq}9Mv3k7zBXD2aVTG@>!{qTH za4JU#OogBn?#xzwu2XXQ+2q1c-`P+lO4I8Dy>Bu2AhLZXtqYM+f+BkQ#{J62m|h_FFV2bnqc zr_1+-x(WWevz9hY0^t$B1{z(BV9|4qOFc!hGX3ExHZ`p2wl*hy0R)Xds(UfL@e7AArr4B=3o(zv8LG8D&~myemO=zN z-UC|)CB{v9HOP0@0VNVp-$cIrKe8!GH-A*X-j*uoB6L`xU-zwGxRL{?u2N~Z(dRXz zi;@Y+?xp@+Z6Gj)fH4F_uCPG1sayGS>Ecv&zS_oEn{y6rrNb7zDD|4nxvH){D&1M#S&2(xy+Z}xIr6z; zBo~Ls`|3ebK3~E6`>b3K$(P3oy_R6Z^y&g4neBbTC+B9lwc!_yvW}Owq11nS&Y9$d znkvh3gS&KjXXLT*v*&UN^$K0NOutQ9V9Pt_Rv@Fg9nH`})njpA{i$5fla=M{H!FKl zIP?L&1FgVZICXh20Dn0CwY&@*(ijKp4N&J)3R?Q`mHExF5*{{SHxhL{~OVnW$-u(iyk5$NfV} znT|hRQd}l~qcAy1zuzv1=hnJ=+rHtRjMaZh{7Yf3mgs7A!w>k6Eu_{*E=N+lfz`L;`*$noO##!%8| zIFqJrgu6;)HzV1N^kV%<&l4oYv(>k(;RlvR(28jpy)qfsUqKp$Kn)@A|II-9U9-qC zCH05TNjg9Pzkd9&(Yb))H-XU7woSvk(6({sqtG9jgdwJS0!&lh^YMni9$?XWv^#S6 zjH8cj+y0I?6Z)j2j?kLsXwoiK7T1-DvbV#-k_3bK zj@|QGa2_8UMJmeuI10#*O~2tQ(po?Xb}~_C}kuA3o}Khu7C~)dX33 zeU1J$yREMRxGeUr5w5QK8Y8A754}zXfnK$+eubHs1o5$?dDpsp4_BzZO|GFFypk9R zu3Dolvy)kSs=&*WS+ZHe){xiA+5u4ypm}d_M9^EOMRnh6SEv+-4DGS;TJ#SoYq}EE ztUCVD^B*)9CZU0EG&o5=q+>?Z-zY_{Bz9Pk9&sAZ62nLH&EXD@oXN^yOy4ptM)M6J zdsY%Ae9NCc()=OikGQddJxQ{HCq7nDLJ8Cb^kq>uqz}zyPoPa(X9nTZo+@}dZnjoi z_XeDox}>cq_EziSf>hnw2MY3HoF_`X5t1UprLj6Y=@XOD=FM!ZyHa9b>ZDoSt!9WT zN_-qbS{oStkc#q0giXg4>ln$-WqGbSh+xfAKA}iC28UGWp7-Z_PGo%>fjhi!+o?mx zRZZ5FhLtg7p-VU~;U)D{e@G`x$-2|PW8cZUFu){jCH|Hr8gK8;nfnb!um%s$qvUor zdy-o;+P1d#8EmHv=cAc+rlg9(PNwbXT|S{k!KLS9C5XWJx{Q95KBj2VU-+fDUecyp z0k%YKQmW6*yqDS`Wez1RJL@M2UVZ8ok8=o~2PhkuQE{mHw$Bg^YInJ>H@3FiO;XiSn zaBzy@NUA%IW_Tru*&J+S3OL7-9k`QlhB(zfhOFm|i#Xe{&dq)3%Xd;ZoAIU{xb5Y~ zQAAfTkD(oGWE8ng?0BBRd!r!ANc=DpSB#}2ar6N{ZjzA&6bE=KNL1AQi5RDBd^8~Q zArA2L@86$OK033IMSd+D8c2$A2QJZkXfs&ChT>+({eZXo3iyV3=J&OYEJO*M+lF=m z#V_D-1XxB0PQ6#Gr-{<_UqeTk@bh;}I9_VB4;8-Ezfty>OT>SMMY0h_I%3sX{_}gn z7h730@56tC!vze*d4|P_6v-&Y`B*n~1hDh|f7r>`)!+Nge`7E)frE{ZB^aO_yu)OR z9!tFX%hfx`0o%e#2!sMqA*1-R!%T^mTn4bKk+_SQV5F+GxZTqz&=vLk zz7-xECs*Gf2Qr*hGMr%MKcrLXZojYcCo#on}0TY5bjoJVl$rc<4q7HG*Pv~vXW76)kT-+%ilsq_+4?x z_E^tA6;y5@}!c%%95dr*=rK9hky z{!ohulDl`~0&d5QtgL4J7&7$qoPBj))#GMfvUV`T;h1eYNytOd+Gbm?pT}eZkb*Kj zJc5J5GD#b}lNqB!Rt1k{B&t|qI`95{Wv(pIH8L8{)`#tk<(rR!gK5j8Y4N3=TTQ74 z55B9lXRAeP){w;Uij{wqUCdAKcC94ZY%XzNaJq?=HXNs6`CKR!&Z6+R(~JN=lysad zt)eJDp1WN`7gEeWdUV-zX??+(O#0o&!rEh1LJNU5=yJT;|MM z0o{2#CGHu~=1F(vNa`I{U}<9%S9rv9tbkrn@ccQfm@;JwCF=kICt45lm!H9ei)8kc zP$>b4aTva5M0F%Mhn8^*mG`a@aY!)Pw5PjO7g~STivkr$;SfBa@b*9t9Jw>*FwzpL zPM1kWZoHK6rEA#>9>@XFzT6f>f@CF7WUfHja{N6;#|Q~V#4U(gLR^hfb{ysgyx?co zR9=4AVI>H0<;j8?P&?#k1OuEK)3 zmr;Ba!Q(>T#;d)wqzt~rn6L&J$$`yopbZoP}hUOfuGM2D_}o@`%HcB<$^OJ zt5eewu@Pu`@&6JM@LF4A)@afu|G5#uJN5Ff#l7Z zbT4o6=9W4Z0b_NG<$a4RR6;oj7JFcuth%fAb3|zAeVWae#6H`91Ok0uwOtDYOqka+ zybS!d+5=G^CZtoHwE`{qVnvKUZ+)lE&>C9)jR5m4_B8e7HBWol^Bt`2PyL?>^jHed zXK9DKbcmnvK+oYMAK!qXjK<%}zmrXL__9M~D?NR7F$vPjPa9)ss%#O3@pjpr*Eu& zMm7{8*K67Iv1^`2%PTvwp8seIp1rA>J0M&sccJ}?jX^|hCN3N-3RVQhK?N&xSP7!$ zCAdSL%}Vnqoh(Q?7M^!GQCm^X!_2yuutbsTzSQBs`1AStWk`4H7s+rqU#l~O{zGM zlZa-ppAHj{PWN)S@K&-N^1A}0^pSeF=0JcjA>~H5%TnE&zP-yGACWQojGafuTKxwn z59<==SN2;{-}4;4Lt9#Rb)`xhNQi8P`5Wd|QzzOK2*Qr4p6OYy#J^gjd*df0_4Ubb zcugrRT~{SgLe-7~iSYoER(_OR#{T|<_ScC_j%+?Q10S_@foUY53)Up{8%c`&wX?9ZV1ncP!>xlP}?Ab)STmO2N$S1}O2aW)aLHS^Ud!@eJ@XeAf3y3&5g^)%>m zr%pRDDW_IqfSqz<|-Y!QN zM?x%o1eg@ukr+wSJ!Vbluzh)Q&#?#OwylJVgn`6yHz&N{A>%&e1>?!1*Vvb~aP5Qp zaS~fywyN6)YpRC-s=Z;Eim>~hySB*> z9j)EY9#KrH+66*!A~o&-U0EQ6NJ_KdZ0*mtjHBqHWdqZ1_^675eMW9<{@688%2sU8tldcQo?*dyW`&Vq z63t6n>^Ae5qC1|Ov=~{QM6!P5zX$o#|%P426N|F3eD}?VAzy-lboyYfEWp&)%zLZC?}HXn(b;`Ef$g)mMw!w`8!}^_phY4QjYvA-^og z1KT<};F*{_v-RHE`O^45YvPB@|LX$y|9d?JvP(R0SrWb*;rVtZIeut+dzNaX+wSYn zFuR_+2m(A%7OM*n%o;Nxr!?>OFdkXYruF*uhlPRj;2EO4C|f8VIXv(M&-`ksctuU< zU`G`g*WIC=!QH_|e{m892$&ZBqxPy49x4EdcyWaQA+%T~8=?A%C0Hh_M}j_a#$$+q zypBm=Z7n7QkR*AM4f;M^%9oo3`c(xhEa17V3+Orq{oEWN*rtTFvLI>nchlM0W)TCb z+Oji=)R-IzuUUaacyxIBQe<5t|L?_vCROD%yI*R*t?w9H_Z)74%c0@FLorEUNJLww zr|+QBkX@<7-@=j4aPfryDSeXUxH5Gy0q^@2a$Puh1*($#p?+0x#vu3W)$>M*S~o|> zdcQBm%vm?{_Ci;19}QzqBM{pXY#z%Gm`N^pCR08Hgqxrd*LA{QGp-t%l04X1WA-dHS~M z8t`N?3GBDV0u^;$8*~2jTT?`|grD_Fi&{$qAZroX@~#8cgIz+Ms~|dB1p}bJMT;24 zBgmM8$8SyS-YL4d{*K21n&EJppI}zNkR0sFGzc^^+oyaV`w$%X+FcTFt9g@uj)A-W z;Z-hGme+NsKP)MD$Bcp`;&WU8su99yPv7*AC#Jp?FwYV$D3I4Ca7-fP{_P+5TX%~` zN3*Rgs~gSrUuxd+;Q`UVZ3}<8e)H+TkgMYlHg%7$ji-AJ}xj+aYN;Zdx z@m{(lA?zjG3>Vj%x~yuo6}-fl2sGj19`15>s16|MH4|VzcE+e!<~qqIa+QZI^_o zzW=6CbS4p;2rglR+IxDMXRBykNiG_l)~WJvQX2?xy-b#mv@|QU@;Vt#2I5*N-huPQ z#0>dmN4a0o5Cdp9HIE$?#b4D?19gj@>#eR=3c0FkB>L0iP_x+$63j+yCE;_KutQEB zM7_y)0c3af5T*XI;J}ry{#WQA!CvRzPOv6#<5s2Qed;D*fvPKGJzApHp%Mj_)PTfY4h@Ob!<>N#)R(mSSD9)a3 zv)E6!)%&Oqr6S(5a3A~Zc@sTsy&=){0GifXX$!{Hz=m=Cm?#_e4)F0Q65ILU?W{Sn z`Rkkg+eCC!FbDKe%EDHhZ#%`4hS=II*zlo)|7^9wD3H z$KQDE;P9(4@G!%>d z;e=D?0$mwkTN8XSQQ1h_A0#vVQM?AHX`JF<#h8yUPlFwToyYOyzNH9cXtY<0CHK2M zzyf`9v)A(UG8Ij%mkiExO!9Kf_(-{MTk(}g=# zt|Ioev4Ia5c2X7?^m^t}=5a^2WyQ$GXiku>zw6*svn+hdpctl`@p@-S4&QO^54nlS zPLO!-Kr(ni3Bv8o?}4p8jzuo|$jSQ?Wv!<@A);AxbISoYI0E^foy#mcvL)hg>v4NE zsKuN(FB4StV;J)*CW}mRCNm4Hb$3s8b{CNvIyxts5bke)Uej-&EN@YI&6luO;)40z z#Uy$nmge$@l#t3hI=+c)Lr%4keiR`5^r%X4vMiocsyO4HUl^wHgZP691gMN_sx7Ox zQsOGcmeT50X%p?le#hT5h*y0f19uX;d5Q1e2Sf1xLEM(3d=YYx?t7sS9Bhd&G+E9#s?EbICuqlsm2w<^*Vwu2r2wlNx|JkS)H7y~%}C7#_f9nOm%vA{g~{LR3@Ic|x0flQ zSSqH22(%d;QbK@e08MT*r2;WAXujk;DqBrMC?-iyn3O?7*HNI{-O^bePzO^<>1&|* zYhAweQVVwqv2ebVDwS+QLS*z#BGaG4!9f)ppR~+)X#0~L>a&cd(dLK)aeVl+tn0!; zEe2_zX|Se|-1&>Rk@w(Lb1n=4wl628{L&1W@YVMf<%DLWYPRfuEB_QA0H>Y>MqBUV zD#}g!_S0kG@_+ojk`uS`;BSqHEZ=l2>S7$PDRgL;%$?Qg=uj3r-i}L!u?9a zfk&{i)6RVP&JBB<#NH`*>TDC_fOph-7JFHbodWsx4$D{wS{)a^}hKt)PRUJb^N#g#|DeSaT(CmBg z7#uCHpuP*#XS6>Vhaa~3G%_=cLgq-~K+Ap!b(Di9&FOyXisY6NqJ)ki+Yb9+Xa~Vn z7C5z#Jd`ehS$9e~){B$uZBYJEm@&4Rnp>3bHGE0SXi+VbKUka{I*U)73qId1LgEws zxFDxoLO-A28B2peCJG9JjO)pfa72OJ3C+e%z9V*-)y9S_8NC0?Du4Qyujvg|r5?x1efUX~nMW5XUIF|5}TFClKIh2Fweai+SV_u5~ z<|0}1kyDKS$lO+L0TjDTIrJ}e$)@uPoLKXA<_cG7ua<4HH5G1X|2`cr$3&tR z-HP(mAFmZ`A6&IYh8-#gaF5`kNw-eINc2;Mb?zNy{8Z|A2R)bc{ZTmzM6=$euzKT` ztv(%{Lz{%j4P4c2!BOv1fpA;B!ftQC=yh9Ox94VQdV4BJ@J>nfh&OK2fiRz=&<< z`DLJM+rM9>f<>g({y5J{vLPoB(QtKaN6Y{yb*R3kYDl5_X4rtNM334QDcMIWEK7#k zc!?MGGpMjlxnO1;g?UhMuVdJVcR>njmXc*$sw@S4eWf9(>V$C_-ktfs7lvsKHD1MX z_JDD85h%+H%$8*Mu&?WD15K z6O0MyCtsTadn(3v$x?5r?Wo>3R0Wn|B(N0c-UxD7RbR!B5!$ogh{qd1){iK7dl7aU zenx9@F1&m-rdcN??P1dsM`Xdt;lN3#i=A&whC4_GVo=>T*DUSl6Ukp)| zw{18ke07dNJw$m59yoTx27&*U77i%;M)xhg{@eVdKjwN;yd>`~PHO1gsAYpwGjISG z#h2s7DGqjRB7PnX*{AmY*gGlD`XtL#pH}%@oN%|g9Pb=pTTC5zh|mq{-JYLRq)m@l za6f_`c{eNm_5M;Eavth2y1EsT<}B0BN+bD@zLtp2s;RvrLwR1Z~11*}U_SFaPJ$b-hEPrdvM|tPJdH-xJjk zM)gCo|3!}O__czOXz14WPDD(I;tE=!keI(3ypXv(pE+Q!Eh_q)7OoXzSVvqjV+U2z zRKzBdK{9Add-@;sI$Z6=zYAV{zN9y=@7wjk2N;q@TAD9MbcW_b>02y|fz37H6~5$t zp33V-z?T2nRP)pZ-|Y>pFaxI{o}cc;0Mi?dl3;^yR)eVd=)tV^B;b_r-q+o?<<7fT z8nL0|0{apCdR>nb!G%k++p#q7Vpn>`-&pm^kcV9HJm-k_^g_Da#dnoNX%%9>`4jp> zdqCFE!+~qjOjh*3;5o85ax(ChNuxIRl{C9Ous2DRZnD{6_hItO(q<%(2=#Yf6H8hI zO21{Jd|rNoUcTS410un)(W79WX&gRt&O#^|>P%O`*P!WM4f^k^k_l7K2R{a7?q36% zp)g>mX#aX^ul&o4TTUql|CYkO@x=P2{Cs(w$9k?ao>IgDjkJ@7vWHW$`#**g#hIr1 z>!pXFS(7)=`_<7jF8-6l5jRhZmSxSN$si{ITy34bW~194{uyCO==Z1hzB7kkX(K6m zYuh97y}y@#S00f#AK8^i6JvR64!&Cl-+uoZX@C|UbzTnx6vGN?m|Ea?uypg+=i!Ly zQ~fYB(5qq3Y*34MgDasBQHvy%`;40GJ(m6`VGGJWrTxNl3LwzuBoIG|`4zwsCac#zXz*JL!kh>Us0S zc`h4-QX3O3Z`(T+3-^x;AG+txIi4QKJ)So3bC{?R{RAaEluB>TEbM%v!OixMCBbp6 zW@O=@FO=TLE+J$i|Fo`CjN+OTnZw=fy`Z$NfE3wVziLm@#K^BW0Xt!JweVhoGM?tZ z%?K^N~*&0AZU?y^dpE2u3Xw$5(B`iP?-D`>rokmzqrP-Lu zvGd1h;zcv#ZI0~Dw?tQQrpQQ_1ffL>)PGORQ_73;q|!UMV07|X#az0||JYZ$JTno) zr#rC4htQ)-iF9)gcvSnM#dEt~%7DoVpy0&x6VB)Jo4MfU0A1Ny+gR_~(t5#Mk~wEe zso9r&Z%PNVM)iWRX>IPPSBlr-UwWyjO{nw97D~HJW|Rc3jfuyYC4voAu!DlqzK)96 z$24#y#QG$x6BhzCrh2wjI9geQKL-@t0PJbZ(kQZ51=qNjgPy+gj37h}3v@3c{$CJy zsJwR$=v4J5mLEvGlee_pCV5SCo*d*z*fLZFz6BwCvn~bRi@R?1RO#o`TX*kmR0#U} ze@PP}F)uWNE0**T|F-olGpff=l)57S|CMK8J}_D)+xZvpEFEzWGZV3f=*8X)oM`?Q z_`0!KD&zk_GEykZUEpP1&K4OqP(Ox4@`>pyzF6&CB<;1P;+Djq6Oy%+T$pSZPyQ$! zX`$C*dOA6g|L8GpNf=5OO6n};LH~^<*S=G?+KdT^YJS>wH&^!RULV7P)u(?e3CBDbQLbjc z#$OtC^3BD&dBV}q)6BKx^$&JY_jcdeEGl>nj_wc;D-CCd(%eL1f^>po5avBo3;Z%D|zvDr|QD(tYNBWq*^Z_xf2nsQOCXrD%fe^vZ0*8VyWm zOQ=}77d&%L+!ANC+~s({A~gaJBo$sXnx48>%O0^)_)lRkJliX~oSyu^w{C>YwOGcC z2AFn%+0-PM-g@}a>p?QmFJe988^8>m?)5W<_uVV?Z;%4mbm|D~GYPQL-ClF+s?k=u z=fKsXaGL!$ciYbBYKoPDCg8r4(JU;OK%Ffaa+kLQUQHwF`9(*8vF&e!cYg_bKK&$% zWP;;6Ii2bjtPeV2&VDGA8yHv6u;m4mnmdRw7u`R&NZyAUF^Wi1>_kp_w zgb>x&;bT0|cUxG60m8k5>DFA!GAvUSbOEM zhEVG4YheLX|El1KqTSW!m6o>A)apl`Eo;lRxei1%?6dMxJGu1MSz+kd_`|JuKHxe|1VGImpC2d^s0 z^~%VchO}(9J6MU}%KMRXWhP{Ymytjn%IH%3biu} z?i~M=xn|Qq)>{yl-b&?wh2cN`E4upKt1g*^=F4PS{g{A6T%~eFSqRG;*D9F> zt(1eX5b6zx@ZI<7#cLDXT>84$Hk5YXcpEGeb<Ve`c>F~FbEw|LOqz?l3 z*gd$s96b9L?B13Uk2HBQ6iq2y+C*Wg#1svSz{g;+kW$-evg$iRviCH-m|T~Y@S9v< zbGb)bAs|V3LyLRplwKgwqo~4ft>Uf$p`9=QqrOa7Vz!K(v?JD1^8amd95AEUDca8Cu z_l1{iX#I%Sy|Y$FL6#}+@JPr7BA(N0W5RJmV9Hc#KV(=B`Ux1soTCSEM>b`WzMH1m zWYJW$B<6 zB?n;%;w85D@v5DJUAlmGhERv{z>3(DKEiu!@9mJao@06(H(T^z%X!#WWvT9x4k*fA zb7&DOpa8cb?7XAT7n;*LD`@ku&&jFJ(PQX@U*YP7lfW9tYO!D;^1_1qnHl<^41BGk z#Y7)E)jLcb1iMe5UddsK1|*+d2vjk73=AB(^zUiz6+A2^Uguay?yp|fNz+|#{;ECm zsp@f_znTOPbY`1NR7{X#biFt2o&RVa?4kalBQrHczRR|nDAADU=C7H%){u@Ed*YW?d6sHcUbZW8+s+1HqQts} zRL#r1e?9;;cJ2T@&5r6p6-P8}?GK6Xra$*_tZJ%}QB*!I2ft+>cCH^+iB(nlTFkifj{NdQ} zuwlD?bz~$A>5O#Vt&n#yJRvx|sj!-L)hXXaz|YY?palZp89b^@JiE+~6!AwoGDN6lqNQ`bI} zey$bQcQR7J6E`>b%)So$yRN(MLjn-n`M;FiG2i7s!jRTYUIZL1=0)IcLo+o4d%T<9 zA3-a-#La3WB5@9hrdhq77=kzA&;M}YJtfDConTh9$8iv@qOH8{>+qH#Oc8ybPvye} z|DsVxRjW-v7BhWU6Z2Xqvc-qnbA@>`9`CTaTe!=o2+L7H8+qEeZ_6EX$48Au)xeR# zh|5m5ss90?!R{vng^4)I)_Td+(vV{$MaBRCaUw+MF zqV0K0tib@>NM*}c@##w1n0L&~91%$WVH!~1fZ@uBc@xyrSGJcOL{A?7Tj z<`ys`97j6+w~0*5tSVF_`c7n5w?`dz`IDtT=aTSV*K;;u;*#DdLv7w-hNPV`F!9uv zT-w;X+B4qUlW7iq7xFlZtTq#^t+ST*$*{3l>?+&0KR)?JrC^WW8cF9dfXx2lAgc*6 z%>-(+z0Akh4@DLCZ?~PkEx++ZF~nAZo78QpFV*Z9B^3qQd+(Oi2e0mk_0NySH8t`C zUv%8b(bvzj@QfBXB@NhANit9I(uV8?$_}_gBJBb{px^B3^qKwgk{mwk_xY=~jdl4u zmtc)~I`_0w)S>m{_x441M(&aP;ef+go%8467&y4ah3ob4J+BO=KF)U;C-9npjP5mE zRr$!aEz9pH?QgoKV9^KJ=rL;)3=W#KYW_PbuIJ^b8=pP?F%6xWc{<#LsC(`*^Y>T3 zrEE@8ks@|J3jN#}ULJ>pks7a!%0MAQ8<~#DC4WS6ofl&HNg;%K%VY+ax*ux{Qc8*+-3?a>^7Rj1B<242h%VcMY0QSR&V)PHMHiHz= zSF{bpGVkB4r&kI^v&thaTkcDerbOL@|LF5NLFp^lpxB`9Db*c)=~D|-L1`}61urGyynY%z*NX= z`xE7G`+-Cn=k71d2UpwoM7Qlpvz3>h?#7h&P(jbIK#uIeEGdc`9v4H~w6r5^ih1GB zWM6zOM&BX17o#r!He_Ch+)8W1e>G?)t?4V`>r3#1Zo9?5C-m=5A`<;mwgr!NrSXB= zJ+I_^u{5NfLRhl26Tyd1w+EJiYhDYdueJ|qNQW};(r;OmcK(9w>e45I!;}(~Pt7<9 zlz2Girb%26Znf~f1P)N~*0vGlP~7!i>#Tj+!Odhz+q(el5})mw<`9mF{;0DHU$v#> zA=`a?ayUYcYJPdVjak02CRM;7k50njeanM9K4j=n{;H}}MwCm)$&z|-%B~ts98B&!-$i^|Ya@SbmbTtn<%%9yl#*qw zYNU0oc_Pajd#)elB-;?)H<9#@{e_iR*f(H_wX^)GqZC%dXS~!Wy;9{L6Php$BY406 zhn@7Melv+T5JY!*fh#>4RNW!1ULE?^YeMWwcTPVi6)B&zm`w_qz5EsFb#+}SWIVnq zG{nJQVs85HG^*xR*R^dU&*kUjcY22{ew}T3&KLD^Me*0bcoP7ySATl>_KrAgH>Hzp zYG7od;bq-Lfp^aJ<*Y{ESWws}&>AWj&C0ZM7fhrBM#0`jpe>n+J$~(|x0Do=RpHb{ z8`ZIY7k%c)^~zJ8%+e@`_M`DY*>u`GpwGr%8Hl8^S>ng#U?Y&m-fbY0?^!R#(8!&j zWGt>sm(vgEM&-qdTYi}>uCuuDSQNnkaP2Lv6)jt`S%6a)U^qrdoD1mCI$-&i(S}B_ zxoq7MV-rxo_XZvVF8j@<5NBmrHxhC#1Q42SWRA!yBO@poQZS03lEa6bq%;S1zhI19 zlEUWGmXefK;}A>m=ohgK;kSjjjv1XiUH>wq*X1ux4umf!Fe6AJ%wZv%XEHK_gy?p$ zl7uO*E<8(k{Q;zrGZp)*^LX;pNl~q%0K=qDlNJVEmVBx#=>YI!DV-!GzN;sY`` z-Vy5MDKd;6Q2F@KR6M2soqc9jSYaw0YFHMzi{0MV#_K`*krL+@L?HW_>NC6VaNY(| zJ|+lhT3oDBgm2H}54TA9CMMbme`=Ks5D1^Po+s71*d`LO#NCu9dY;^Ea&c- zV6YZ(7TCJ#HREzYMDPsW?`tf-0quYlZ&Qh8t-_r%p8QBNO>XTSezQ*^AJ8wvKk^o! zn~UVz`mNhswL$6df|9@?Z_{Z*eDJqclJLbJ@eGr-8_c}K5p%G8d0ka_uYa!OtMUzh zs7>lO`JG-XMXbyh9yXdknaPpfGG7YjX54otv_wi5@L(4Y2Vv6uUTRNH+BXu7yV5}> zI0l8EU-Hurfkc5-`o)T=EsSMNZu_b zlfv6My8p1X;eDE{-{qDy5LhI62yQNqO%*U<=@W(Cn_qQY!A>83CY^u929@@8qsg*J z{;Au4ta1=;@Xj84f740^lukD~h)RfC-W1A?2M>Wwf7fN9Ppb;v(eg{XN;aTj>+fLQ zfVFl#$38)sLG~FN)Z+^;L_hRwUFk;6{Skr+Iafea`B<8f=k}JA;Wn6-f@La_R&d0P zipht-5EI6orlVXWrtWraaJ`KFcp8(NPwoeiYXOvPe63D@tnAKTyGd$lNWT` zNcq!RCGJO_mT_gQVCU(UPz}?>en!4iaa(`t^GtAb(}Z3`(egz9&MuE}f)!`d@0R8> z@fSM}pIwcQ@uGU`0};|8fCSFR`z@EtJ=zcAxx9)SP_%Kk+GPC$Ce>H5HLDb7axcgz zWvPnMD|S!6qCo@$n5Y=f2|aQ~Akq!x&`aahN)cb-12I3WjLaY{koq_Bz6hKz4!e;9 zzPF4bC>2ueCe1}ic=$f>w)LgR1hcV4Yh!<5|LC*|&aYJxHgW}@$pde)|Av3MZB!QO z4x~Q4BEWc9jG+MWL*FB!Uw7_+XtD$d1}sTSjPG5HJ-dRCh9BVAZJCJEaY3h_)3o^V zIbj(tFLMUofPVm7J@JN2NJV^k<^SQc{w@4sxcMO3=Z|PGyR@?akfJv-KLy;4Q2_7$ z<`a#3#cI&XyIe$m$f=I?X08$WMEEQL&d!$4-F*(^)z%aN9NXMg3lx-3WYq77o&Tx6 z8)wVHUbXOTF#k$2&VXcW?6J`W2OjnZFT*D1Wkq?YPWm|V-!JPK`uzw!? zNM&Ue#Aj8p68Mr-he|_m7LQ=}-VAtbzuAtzi46O+uro36(AWB}ldjYpknK_1iMOTs z&*}M}hSl%`(q%Ga7~tUpcBdkRfN5G88+`l9vzP>CQM&Rw0@aB&;b;s2Ud~fOym@L! z1{E&OvLcX?vQ7R593ST|;2OobFaT0g?&Thu~q&%$7|+EwE`D{fG&Ef3$79o>s3fH_%{ z8+!DtjqT=}??8jfnw-#`E;()Th^9c_^VN{vl3c{^J>jW{xCTBQz^C&WxMAh`@_4$H z$U{QtPkDbBU;JYct};XM@_4B8}H&<0t5P7{*$9E2I{^l~8HTc``PU+9| zog=DcGMJ3>ya0{%!H?BB1OZ%$TQ7MQ@BOOIu)$q*ek7)!qHSu7BICDz<3(wl;5|+d zS%xSz;7YUK^peu}P4X;XNTYaN2=MpS2}9pBrbkV^&VFjF0eAu{dNCN*s4sAvvNy?O zp}lRykccuLI3nYavdxe=`Sv{t^?!hB3MX(r1*9D^?QkMNW#cQ@FWp7BwUA$@WRFA8 zdCr#DS=rY{kAzN=XA7DE_Qsmf&FYI5MDMpV3NxIp8y19;C(Gf#-!vFjs?9J>M9i=T z*KDy0daH{xQpQ_hIY2{JA(Em)gz~rN@wTtLP2Ovs+aDPdFhGO9_oRFW<9=cRIRyDJ zf!Diip#YPW)3f->?0-=T(R@wru?qGp-8DO9 zNYL@(b-Oh1A6C~509TJEW3Cwle3F3xCxFk#EdmEs8PWVNlkN`r|HIne2iUop4pTIq z@N1@u$J!m?H!z0J2OkkmjHpx-QN6<7swek?f05M?yv(x#Jz`zWebuU?0`ZMFSjZ;^ z{I8*d>yzNCqY2<$C5nr07G;4F{cpwc5*AN;l>=giwcBQ|F6p;zNP*=g>L;j@-~yd^ z$5#R-(ET~Z3e6j;f?n;30S_8a&jb+hyKTy5z=c*&}#vD|cnv zR}b{8E$ZYhhr-V#ilbSE@a?GsK%d{AKgN?FHWt%i31i@9rwH zfsTMff)Va=;|+FvTv~%8+}lRTt{AODHZIM4wmix0uSw_21Pxbk;gk!6q+0bQJe|LpV$Pj~u6wmVBpP zlK$x%!|5%`%Lf<8Jm&@MdxQo*qOQX3$uie55OrtdT26II2;)8AP|PN4VIJN0azmJJ z$F+0~0zI1%qD$%v`laWc``?xUzAPyHAFjH+Yz+jj3Q{M9-pPBheLR*M0X%xF>>Gx3DVSq#Zg)mf< z?n_G!rXTYnWTJF^=0C%NbXE5A0w^Wa03slY^1Z?1 z?|f_BweDT_tivCWnRjN-o|2cDXZExA0qBFt&+4&hsa01ul|l>JgUI_@2Ui1 zaG?ur_JOm|HWy@*{!%wx2AERw-$?{wXu;Rn!4OwkhwI8ueF-C#;fM6^MX0E`HNwdp z@$@=d+%F~u6LaoSced^4Fx74h0d^6QsCo_ToMs=E7-sVpRiBZFrtt0)g4u`x@#@<- zA(Sz+C=~0-U2yT%9D2op?+#!R;dIwuwx9KX_fv=x7E8(Ba^^R;vzvrdD=$;{NHVp? zch@}$Y&^gk3^dOHsZIf(Ow=P3u#b5myCwhc%C99FdG}des#>*{*aist5si{#(f0I# z{C68`!21K&Ga$;?|JtXJ>D8f~2s*qY;(s*Dj4?b25e^z3E-nvMqV7RyMJ`Ief z4v4EAkZvCI^Ut2nr^aOtFn>G8c3niCy$hF=q@I-+eHH(!PBVGEBNcb5heh6A18HrZ zw|XVGB4K_@*3=TS?vz#D$(HHG_UHr{2cW>aPMG=riLYqO zKv=W!7ZwAIh+GQpRL`L?h8m&&Aeu7ptn|fL-=`*h7U@fr0C0kdcJ-hhzb}9A{R`F% z!7g=~t$$?*{qaL=HLB9x=w+~`9`MctgeaGzv`py7Yf3AXh8lwx1Jy6pB#rQHZruE= z?Wgh}VJAG$87TR45bdCaFUH=4bm0G@Xzwwo?DsVto>(jkJOlWE-4nk4Gd}T4!?Try zFfZt>JC|)nPI&s$IL}rE7A}=Y&Q?511&nZFzBt|nTMX=)3StyD*tZe@5c28mcISH~ z5_sU_^cXLwBqh$^qRUYVY!JVsHO(xvN+3=L@Qk{3r81!+`-@lKFI3KaOStwd6^Cb% z_n0IwLn3u6KY|z-`qyzRC2?{Jdk1^YPt|UF7V-e{^#ThcU-yIu|Uo0{n_v75#Zg_G*bO$;;uSTWBX$h~r|eyhMii|g}h z{6m0+5ddcLS`1ycO%V`-#q+RZE=AJhfRU86c0$-*bUZAc$j5~4OpY+BJP#9*odj1R{gkP}Q=_{h)z?wL%Ng@b`>>zE#Fen~o<&U+3F zDgYC!V53!}i}yw0h)aw)9`*a#exe>r^fQ51WD=6%H7;VEZW<=FjU?Uj^huU#J8Uu5 zq{Z*UsEgUrjj<4Q*R}T8NoRax+~|Mkw|vs$RF8KJ$89rPs};+9j>@dT;eV#di1ye~ zM^05-v1(kgb$bQ(HPAj1J*pZWQ%3>&^{C>$yPWW}BjWZRZmp{8aYAz958a}Z^`^xH~n zQTVZDs(8;;l-X}XUiqI@x~pZzc!z+PNDiq5B)5rSs6$TE%G-dGS1m&KOn~~(3UN<5WNCQLfi9BM` zg%!Ewrx!V8%9rfknqt6?(X3&QLSWg;4oKE(JusW`d+Vqhcv)V4IUggkl&Fm&Xhf#O zA=+iof{IM}bT+k&=lo7ry-&@4+}%6|eeRkb7+K0Q;0%OSod&hRA=)Oa(36ku{&gL% z-0L757xz*yIYF4Pi|PISP=?gj4OG3rGsz&q&x{6EYMSp5Iadu^Kbhi%=_>Q(PbyZR zMjoxZqX31V2Tep4`%hO|!C8npJkaM((f4I=2q+_z<3at7JxKl(i&_;S-<^5c0RcLk zn3p+Ve3qHXiWm4zD*U?OgTbAV<8N<%b@=`!vGY9@kyZ1uoOQD{?|7)8sw3UJ=;B+o zlYN@UBrxd1QWzDYetS=&X>Eqzp_s{@cUm+hZR*$qZxAlpmpbbg`HAFPxDM9)8%E+g z2c%=Y*=>{IgIc|A9^ZyGp=Xi8Pud&=8_zG|&iMc=5}&#D$*1KqjL!g<%r#&couS+a zjhF@>r>oR{l}X#O+tE(V${QT6w^j zilQ84%2aGmF;Vgy`-wzC=pICcHr(DBFH6Pj-Q)7pRG(9mmTgR@kuLV6HO=zZ8n#-r zSTvmQ%g*m3m@ReoRZL<{0M;9ioGG;$FY8N^jiWrTdgP$|&RY3n0^PzWJ5%XEYuExn zNWv>sS^E$%087nU)<|HH4qvF@zOW$D+Q^-PyPI$OqA|W?j?fKA%}yLd3U zs#2eQj4cH9*bva6Q<;Y>i5y*pn73UvWKNCg-tyDcVAoI;f;kOz?{Gn~OM7890LRf? z=kE8hZeDFoUPnez7k%uEs{N~93Sh}C?Rtywui1!L!ow&JBSGsl^=sm%38V>3wgAR-P4$vy*!4SWydILKB4M5cObTqrwd zcyG@3ayvfz%KMrmz%6&=fOk%SgPqz?nK3${t0(FTXVUP*%F@eQ!;d6#JGaBeG^i>o zV`As_n{Q0Wml^-o(K2D!B~X?(;q79C3IC3SfvuKu8Y182YkY_ZdDv5|jcv`EiZC>U z6_p6ZbypMWTBd?O%RlnLv^{zCn_!VEt+sB26?Cp2+H{VhaO|@F7n)WS#VYTjf+nhg*t$GxV8F)6D*2M*p$^46xaC`<3;?*{92M2fi$~($n;=8aSSOHqFc!wefBYHm%T$<>0 z2jbgnOji6+3%CpsY)b>i@U>5dFc%w`qpgHF!kjCO%f;t(n`K}&E)SeFoIF1_1eLlm ziLoLHq~iSapY{N1mC?|;nSdO=4hgmSdUu%!89=RC31m~RQh-&>=n`+Ntnk)u)W*l| zf6auOC=NnxxEJ1Py!I|*iVeiBjLDf}-Wzszv{ns5k7144rLm9CB|e;^U{)Q9P7B3v zGuI4`&XuEU_&e;f5a3qBmx7+ycZqFCR^Ou*>kO8I;z1c2L=M5&Fsm)|W+jhi8hDdS zouy_CS;0|{pc{mm+!54*8Gw53L00l8-Wa@>R@^#?Mh#d~EIqEWdP7X>LZq@cCE=Ux z(`R@a@~Aru18VSaxt?ah6hf4h+%_CuoDEhhSzRykCHom08dSFly$yp)r24lhBfhbm zqZFD`PJPPQfR1n|Ik<$zh|p+^QveS0H;?VVJKt7uHH$9H0ha>*cb$WC!Ggx+7qKPQ zajEWQtfZx1>dJke?R|nbwhBzyF}-!z?rrhaX4ZM^7H zC&4P}R>|*CwDHuh-(@Qm^wg_VOp1GOE{L-OmZE)QWtEZeTv4+Zw5>6yxSINYtz7trQ|aDmk#A`3hEZniLGSGLaqekTlqZ9+Gl=2NmI-Y?Pq=6 zbGA6VY>1=%jK!h4)PyzMQm0b3aqOJC$zaB~mOnB_{Idi4z(3AY)$oi_3RtktGjAa1 z`2efy+;9|8c4l1M$VBPml(r;bBiy5aeMX(#q*afz*$z;_K1)tmTu|f}vS9v{HLjk#Yd6}OKJlaM@gUfzFa7a7}@U(icp2A-k_cRRmba#pv zyl#$TIN=&e=6|C!{`_i8{&iaK(01H&6E-gY1WrzLy)LP|>2SZ?bbe{T z8^E1%wXfv-zE|PqPY<#e_I>#bL%2XE^5+^l0%Fg__5_JctID+ZE&Can;DKMW5TY;$ zP!QOjj3OH&sYl^RXAI$djalf$=fAny%U!YUwT8nXRE>q`2eO{Pl|^5m|BreN@^rXa z=1;r{ecYTR|9Hpxr!8LbN#3J-Z<2rj?*O_MKeT(mb?b-^{`vlq^w0^;k|nkmV()-7 z2`6V9@k`}7Z5pJ-5!ZTFef$Gb-+9TQE7d~XCKS1V!1kcSA33bK0PCuNQdQK^J{Z6l zPTv78gs44FR*S#xdj3MT#BC?FmbDXa1#kB_Vx zmozCxDh^221cHR=kx{nyu7`vuFHobO^$}?@*smq`OguHwIjtJ>$2rCbCkpr$v`Q)&|+? zyR!BdQV;&N`;JB!qMvuFvOL{T=b7>he6%dFNFS$s35?vr_u)UzJ6qa;`sV#2bA7zF z3caX9-xiDhD^r}`5nH_VO#Sf1jwpix`m-n0q2i)UYG^iN3ed%Y8=}KcfDFrxf}R<8|^gy>75W1Lzhs0fk?a%i2?V1B1lP z?Z~_Twa@4F`yew~l25l^Q)-zDm?d+vMOn*DuZYO{4BlDeR;Fs*>T(g38(nkpkoVUa zs-@)zykeZ+?;g4+c=m8P$_oNeQ~r?J_^)J(W3``#15R$PcpjseW&z^WQxuc{plrR< z@vtYjoXZx#9K;Wo3yT!=j`6y>ioFiZWHR`*CL^Q_V50yx9TuNjz(n3825X>InqIUZ zz>MUAFlGRv0p{g(Sa-|c221-{dwE|Y3>Y~e9wPV_Z6A82!3SD^5Wor2!NcbH%=YK5 zkh~*x!X3V&QS`}bs1Tb_-S+oiHwBRm!s{@#_V!8m;AeJs6x0RK;C%e4|JRW$IC|OPu5kJXtODQA%T3eVlFxb`e8@@)#Y}tU8 zvq#^p^Bipka)FBvZxW9i!^p}m4&zS^j!!nVUxof%YkBUu(5;VM@*fSV>Z?ZKjXtcG z>v^Tf+<|{dnsHc^e#Y=+`z4SkYYVu9B4`P6H_e3#HZf1R3+?t({&bJY0mLs2N6`ia zNT%vYkbI<*QGTFr&hh-Ok}TF);P#TQ5pP?T1;^8Q_%FXj(GGHuM&iiqxL`Ydb8gAY zJYokhYhw~0U~}rJSnW!%Dwzqv4Zu{8-+?0R2p|K=xx~hQ-^5gT;@5UbLC@&WF$J|%wKFyH$dlw@_%`HVvX}me+ zoW3x>&vm%{O;x|R4WafYXN@R_Lq_mLeuCSQg0T#7YU(a|b>rw#$b)IRPi*uZVoO1d zYamu#S@2>=dPV=t$5$R4=OPbq7Hea5?*9HP*XM6VBzgz>pHbtK3G!=f+{y2+y_$N= z^TJ9Mc(vw3Zyv7YAp_h#edm33A6LfTud&<4(kRg81vyU&J}$=_sD;Vz&xJEX-kx9D zXEwvx#4S^il9H^3xBk4c z;2Mm-f&&UUsbES+FmO^ih$aVsD`Vu>KnWOkp5%my?Egw?VMLiVY`cYFIOLL48M~t1 zXYf4tMCM<54DkJ86NkO6>4t+R36jB5If(iX);S9}Xz~gd#PK#n$*D`c=|9zv*dbi2 zJ$yrjFHvp6H}by~Dg$mj4kuHMzxT5OII$VvRPvUUb}{dz{htPq(gRpjMxnTMQPOYO z%*bvkDl#C6O9Hkj&6`1$JC&Cs15l;RrPx5f=l+v=9rNsoS>uySS4+xRxXPJBCKn;D zB0!F6F8|Xp9DFJDG9@R!+m(d+66n)xDj{!Igwv_QgheAB1Yo!T>+E^;m(0w@Enm3j zp>UnMC=%%|x{ta$8Emx?>7|%z2W(~>MSNtTkN7lCS<-c`yLsKoJNLikQz@KH{{F-q z!u30f@9$_|6GvoTcwU(0YO!VBm8)!CWNhnGda%hWWeQMUBl<1FC0uX*evF!R|Fgb0 zJ^lU9G{U7!^(+kV0F+_8epM?SFeBjbX2{>}+Xis<=^aF%X?w{eR}hx$@cY)uiSfPA zA3u)U0)!?q|4turcJlY*938&A3yU3i>j9)pn`_6;N=;u?(Cn74tmPpwxh`E9-=LDWa%=MRA~2V*VWTe@PlpgYAesf@WD}c%7(I^YF7F)Ea`1iIj4tkA8$PwwXcIyJL=X>;n4Eu^(Td_HAR$i&;+lx9|6NL}kRd~(yl-Wik> zy6x^|xPJ$pCc45~I!8TU&Uk*q!mZcT9P+J^JzdR(t1dd`v4m)I?27-Yp3x_e`gHfF znl1bkRG1fVvHY>e}zU}_9OrQ?NqMf6~Ne=@;D)y+m44ufVHSXg+ZXL>3pB!!`mb5 zeHDKE(Za?_I-AjO=JZ;`%jcpCa6}a6;F)uOAkfY@e3FIZ z*RFedg5xq92tVnh=Ar`OiJ#y|QT^{T`0$ygs~f{i%V{pkxg=VFtQ^ zH(!M%{;<~nQ4jKVb67tpJ3B?wwaSm5KF-B^QmV*b`Yra;v9RT5TV4CBXb#=Y!~pvc zo>~##;T%NE4lVWZ;-sl_~i%GBA z0+=Qw<5^L|MSTr|6J+^JGkON9x})tAzN-bUT*~1 z>eae38Y7Y7Oooml+xAT}-H9D`M+fGb45St;(V;r9$RXm|;h&3svmU}IB=18b&o#1~ z^2?z=2Lp0PRykl=%qBD;hkW#ukVKAW9Q4le{U5hMzjg~@cFs*zf_|7B72t!u>-`_au@H4YomziVPd2YISz$o$`8la9z$$h&AEf0!()(RUte_nm!{%zBLHnqt=IC3aPH?Men@01G}B6UOnfrlNfdF16{m` zlXMd{y`WqCai*y425-s899PD}*ew|kR(R<{_}FjGXXW6#G^KEfC~WWRCtyrSNjYLa ztwBG0)n-8fGWuVQT~uIg1BQf0%omeHooGZF?WTt78wi%G-oFxVy2n*fD*sqaBYx9l zvRjIly^_nqZeEDTa_dj5;}rVyhcNrW@)=gq4fno-yHDR@d&j!n`S^=`7E~Y}|GJ_E zaVzwO9?vSEe-nOBYh65~s%PIt*E=uDGj<+Eet21%dxU2u=RC;rjr8i3Z=ye6uoe2a zjxCf6IPn|xW|>dP743#E=cl}hmS<9Dp!F^LbzvXe_80{RB?lUVi`x6q6 zjU=_$C-WvzV#8qD(GTymUtPzZAEO3JogE%r2(ATUZM|q^E0y<$r^5IUTC^Xl&oZ2_ z$ls<7TmWtVn=GW`nYiHY;M4~bIc^6nU_CRh9G^iTII+>&q7 zt4X=nus%xo3w^|}Y`*FJA7iKin_m%P1JA2hWm|{t@jZzX z%koSs%BsF!C$VtSH4qlKY|taTB2gF)T!VLMtRY35!(p!-wSf)0HLo{@URpjtsOSy_ zj!9pQQy{t}ZQLSA`UW@98E`+;JZ;@W5(C^==OA<_h#c9O*4(qEs2)n*7}y22@0ppK zJ;RU4hoRHKl7t=U)g8csaQ`ZQUG+;XP)a)! zxP=dPSsd`vMN6W>H(~OziEz<=Kr3A#3MKd9$`Ai#GHI|6iOR-=xf_Xb*(n1Y-vMyZ z3%AEiD!=g1x&A zWh+jlOh7cn?XdPC$_lnCc2t~@4s(K#U(;l=U>%Ugy||9ak>HHH6uHwezON4*mg8RB9Zq@`5ok;paJjeI&1bl>|$+cf?!YPYsvJJ8{lq{_9ytwb#X; z3~6!$Wy$$;+C2EJo5&^es(Uj4iF|QXNYZ4X=4tBlfdMR&dCAl|09@cZx^a=NivRgI ztvg>_%^4w8?4(g}b*n^9`lY<~1pS_#0Hf}8!+QaA4?2HbEP!fWys(D&IzY-s_a(`X zY-RU%rF6fzm30h-)+O5_LT`Sa38MR9+k8@g>1L)Nj^HD7$yf1EBSWiH?&fIFb@4=) z%wGT_OVD-E337soFUr||%Q5tZ{^+;%qQ*(!jEGdionIEe;Z@84rn{kLv#1bTGdXLr zj9uS8-lE@0L``!;L`K8GZ(3uT_Bh7Qwp@=-#7q`y?8`8KTh4wL4|^_4 z%+7rIue~?$qWPZ=+m{eyIjeU}Au_KcEA+R7S?IQvrQd@Z)hF#pE4hmr-%DI<3ItO^ zm(*if`dMFbK>{9606|CAK=m)hVjk%)hLu>HXk)DTiIruNrDQk? z>x<*0mw^+&K6$LG&{l7FtUJw(q@SBqyG8iP#}ewHgoRt0gF!PPi=eKL6tQk56Pftq zIqC~d*Tt(o6_aHZi+Oa1tI4DdUwcUyBTquyBb)r;k@X|c$e0zMMEO_CyI0^+9PNpW zNacI0zHHcGtGibMox03&@gZ!1#+{|b!VyXxjxV(NoF-}NF;uqu1TFG~n;w zx(f0sRk6C3*y?7$)Shgib!5k}G| zqXp)AOX5$OJQuB~1{so%7A#v-A`BJj?;eGY9vo3Zu){eQQ$a0GI#}%Lh`N8r-je0q zC~ABd#SZ#>EWV;c-nhgIvHHw%B@ub-M)%%f+HEEt`im41sP3r?Pc5K(BUc%n>e_tk zfpBZxw@8f2i^xf5%F-jRzRJEjL+D}1UB`@Xlr8%`gR()tugJ6g+*l6%GVqKfDYY+I zr&Xjad43&l9`?A-zHNOvdStpm*1QHS2ZYnI9tspuSpATWC$Tp2s0UvlJWPotoM00O z(DncQvC|HyTAltcD%ZciD=pAj8Yyj;s~k#f>dKeW?pJUXzQt>pd=)FCP((|OzLErW zSN5fm>ZN|FNSst)a)QkTY_-By4_->CCA+0Xs6C>pAmA~99_mJe^!R6ZmNze&T;gPu zT=d7UR%32FKN=8&I4pAwly>T66bs@NP4aA!u{5cFB(nDXsJ=k(u!<*@K>V&-icv&S z@0yIb_Adm+#6|kt*d#LyE`rDHyR+Skm@oXNFz~lCe{X`Hl)SP7d#zLL9v}EYhePLY zsU0PJ#+PSz2Y&iQJYcEh@rWiCCp$I>Y9x4WT6(%0M)JDzjcA))1io94$A)A?m26(` zz=Iq^$X3ms34SeFw5?WD+;OR-`6k|MjrzpMwH)1Mb-Ptj&tvRFQ1dFcrY543aV~Y> z!DARx?x+8viQ4dgE~iB9HU~~0s_z$m i4-|svg{max-width:400px!important}}@media screen and (max-width:719px){.content.content-loading>svg{max-width:320px!important}}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter,.fade-leave-to{opacity:0}.icon.outbound{color:#aaa;display:inline-block}.home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#3eaf7c;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #389d70}.home .hero .action-button:hover{background-color:#4abf8a}.home .features{border-top:1px solid #eaecef;padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:#3a5169}.home .feature p{color:#4e6e8e}.home .footer{padding:2.5rem;border-top:1px solid #eaecef;text-align:center;color:#4e6e8e}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.algolia-search-wrapper>span{vertical-align:middle}.algolia-search-wrapper .algolia-autocomplete{line-height:normal}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu{background-color:#fff;border:1px solid #999;border-radius:4px;font-size:16px;margin:6px 0 0;padding:4px;text-align:left}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu:before{border-color:#999}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu [class*=ds-dataset-]{border:none;padding:0}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu .ds-suggestions{margin-top:0}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu .ds-suggestion{border-bottom:1px solid #eaecef}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#2c815b}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion{border-color:#eaecef;padding:0}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--category-header{padding:5px 10px;margin-top:0;background:#3eaf7c;color:#fff;font-weight:600}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--highlight{background:hsla(0,0%,100%,.6)}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--wrapper{padding:0}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--title{font-weight:600;margin-bottom:0;color:#2c3e50}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{vertical-align:top;padding:5px 7px 5px 5px;border-color:#eaecef;background:#f1f3f5}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:after{display:none}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column-text{color:#555}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-footer{border-color:#eaecef}.algolia-search-wrapper .algolia-autocomplete .ds-cursor .algolia-docsearch-suggestion--content{background-color:#e7edf3!important;color:#2c3e50}@media (min-width:719px){.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{float:none;width:150px;min-width:150px;display:table-cell}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content{float:none;display:table-cell;width:100%;vertical-align:top}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .ds-dropdown-menu{min-width:515px!important}}@media (max-width:719px){.algolia-search-wrapper .ds-dropdown-menu{min-width:calc(100vw - 4rem)!important;max-width:calc(100vw - 4rem)!important}.algolia-search-wrapper .algolia-docsearch-suggestion--wrapper{padding:5px 7px 5px 5px!important}.algolia-search-wrapper .algolia-docsearch-suggestion--subcategory-column{padding:0!important;background:#fff!important}.algolia-search-wrapper .algolia-docsearch-suggestion--subcategory-column-text:after{content:" > ";font-size:10px;line-height:14.4px;display:inline-block;width:5px;margin:-3px 3px 0;vertical-align:middle}}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#3eaf7c}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:1.5rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#3eaf7c}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title{display:block}.dropdown-wrapper .dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:.45rem 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#3eaf7c}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #3eaf7c;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper .dropdown-title .arrow{border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #ccc;border-bottom:0}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid #ddd;border-bottom-color:#ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#3eaf7c}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #46bd87}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;background-color:#fff;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}}.page-edit,.page-nav{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit,.page-nav{padding:2rem}}@media (max-width:419px){.page-edit,.page-nav{padding:1.5rem}}.page{padding-bottom:2rem}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e}.page-edit .last-updated .time{font-weight:400;color:#aaa}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;padding-top:1rem;overflow:auto}.page-nav .next{float:right}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-weight:400;display:inline-block;color:#2c3e50;border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link:hover{color:#3eaf7c}a.sidebar-link.active{font-weight:600;color:#3eaf7c;border-left-color:#3eaf7c}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar-group:not(.first){margin-top:1em}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading{cursor:auto;color:inherit}.sidebar-heading{color:#999;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:0 1.5rem;margin-top:0;margin-bottom:.5rem}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading:.open .arrow{top:-.18em}.sidebar-group-items{transition:height .1s ease-out;overflow:hidden}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;padding:.5rem 0 .75rem 0}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar .sidebar-links{padding:1.5rem 0}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar .sidebar-links{padding:1rem 0}}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}#nprogress{pointer-events:none}#nprogress .bar{background:#3eaf7c;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #3eaf7c,0 0 5px #3eaf7c;opacity:1;-webkit-transform:rotate(3deg) translateY(-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#3eaf7c;border-left-color:#3eaf7c;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.content code .token.deleted{color:#ec5975}.content code .token.inserted{color:#3eaf7c}.content pre,.content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.content pre[class*=language-] code,.content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number,div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}pre.vue-container{border-left-width:.5rem;border-left-style:solid;border-color:#42b983;border-radius:0}pre.vue-container>code{font-size:14px!important}pre.vue-container>code>p{margin:-5px 0 -20px 0}pre.vue-container>code code{background-color:#42b983!important;padding:3px 5px;border-radius:3px;color:#000}pre.vue-container>code em{color:gray;font-weight:light}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}.content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.content:not(.custom){padding:2rem}}@media (max-width:419px){.content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0;background-color:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:3.6rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:15px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.content:not(.custom)>:first-child{margin-top:3.6rem}.content:not(.custom) a:hover{text-decoration:underline}.content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.content:not(.custom) img{max-width:100%}.content.custom{padding:0;margin:0}.content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#3eaf7c}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:.9rem;color:#999;border-left:.5rem solid #dfe2e5;margin:.5rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.content:not(.custom)>h1,.content:not(.custom)>h2,.content:not(.custom)>h3,.content:not(.custom)>h4,.content:not(.custom)>h5,.content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.content:not(.custom)>h1:first-child,.content:not(.custom)>h2:first-child,.content:not(.custom)>h3:first-child,.content:not(.custom)>h4:first-child,.content:not(.custom)>h5:first-child,.content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.content:not(.custom)>h1:first-child+.custom-block,.content:not(.custom)>h1:first-child+p,.content:not(.custom)>h1:first-child+pre,.content:not(.custom)>h2:first-child+.custom-block,.content:not(.custom)>h2:first-child+p,.content:not(.custom)>h2:first-child+pre,.content:not(.custom)>h3:first-child+.custom-block,.content:not(.custom)>h3:first-child+p,.content:not(.custom)>h3:first-child+pre,.content:not(.custom)>h4:first-child+.custom-block,.content:not(.custom)>h4:first-child+p,.content:not(.custom)>h4:first-child+pre,.content:not(.custom)>h5:first-child+.custom-block,.content:not(.custom)>h5:first-child+p,.content:not(.custom)>h5:first-child+pre,.content:not(.custom)>h6:first-child+.custom-block,.content:not(.custom)>h6:first-child+p,.content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;-webkit-transform:translateX(-100%);transform:translateX(-100%);transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{-webkit-transform:translateX(0);transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.carbon-ads{min-height:102px;padding:1.5rem 1.5rem 0;margin-bottom:-.5rem;font-size:.75rem}.carbon-ads a{color:#444;font-weight:400;display:inline}.carbon-ads .carbon-img{float:left;margin-right:1rem;border:1px solid #eaecef}.carbon-ads .carbon-img img{display:block}.carbon-ads .carbon-poweredby{color:#999;display:block;margin-top:.5em}@media (max-width:719px){.carbon-ads .carbon-img img{width:100px;height:77px}}.bsa-cpc-wrapper{font-size:.95rem;max-width:740px;margin:0 auto;padding:1rem 2rem 0;margin-bottom:-1rem}@media (max-width:419px){.bsa-cpc-wrapper{padding:0 1.5rem}}.bsa-cpc{font-size:.9em;background-color:#f8f8f8;border-radius:6px}.bsa-cpc a._default_{text-align:left;display:block;padding:10px 15px 12px;margin-bottom:20px;color:#666;font-weight:400;line-height:18px}.bsa-cpc a._default_ .default-image img{height:20px;border-radius:3px;vertical-align:middle;position:relative;top:-1px}.bsa-cpc a._default_ .default-title{font-weight:600}.bsa-cpc a._default_ .default-description:after{font-size:.85em;content:"Sponsored";color:#1c90f3;border:1px solid #1c90f3;border-radius:3px;padding:0 4px 1px;margin-left:6px}.bsa-cpc .default-ad{display:none}.bsa-cpc a._default_ .default-description,.bsa-cpc a._default_ .default-image,.bsa-cpc a._default_ .default-title{display:inline;vertical-align:middle;margin-right:6px}.example_2DuOfB6G{color:#41b883}@media screen and (min-width:719px){.line-numbers-mobile-snap{display:none}}@media screen and (max-width:719px){.line-numbers-desktop-snap{display:none}.line-numbers-mobile-snap{max-width:none!important;margin:0 -1.5rem;width:100vw}}.example_1g94-agb{color:#41b883}.toasted-container.compatibility-notification.top-right{right:4vw}.toasted-container.compatibility-notification .toasted{font-weight:400;width:400px;background-color:#3eaf7c;padding:20px 20px;line-height:1.5;display:block;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.3)}.toasted-container.compatibility-notification .toasted .action.ripple{border:1px solid #fff;color:#fff;float:right;white-space:nowrap;margin:0}.toasted-container.compatibility-notification .toasted code{text-decoration:underline}@media (max-width:719px){.toasted-container.compatibility-notification.top-right{right:5vw}.toasted-container.compatibility-notification .toasted{width:80vw}}.bit-sponsor{font-weight:600;background-color:#f3f6f8;padding:.6em 1.2em;border-radius:8px;display:inline-block;margin:1em 0!important}.bit-sponsor a{color:#999}.bit-sponsor img{height:40px;margin-left:15px}.bit-sponsor img,.bit-sponsor span{vertical-align:middle}.upgrade-path{margin-top:2em;padding:2em;background:rgba(73,195,140,.1);border-radius:2px}.upgrade-path>h4{margin-top:0}.upgrade-path>p:last-child{margin-bottom:0;padding-bottom:0}.svg-container{margin:30px auto;text-align:center}.svg-container>svg{max-width:100%}.badge[data-v-8525d186]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff;margin-right:5px;background-color:#42b983}.badge.middle[data-v-8525d186]{vertical-align:middle}.badge.top[data-v-8525d186]{vertical-align:top}.badge.green[data-v-8525d186],.badge.tip[data-v-8525d186]{background-color:#42b983}.badge.error[data-v-8525d186]{background-color:#da5961}.badge.warn[data-v-8525d186],.badge.warning[data-v-8525d186],.badge.yellow[data-v-8525d186]{background-color:#e7c000}.sw-update-popup[data-v-17203e57]{position:fixed;right:1em;bottom:1em;padding:1em;border:1px solid #3eaf7c;border-radius:3px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.5);text-align:center;z-index:2}.sw-update-popup>button[data-v-17203e57]{margin-top:.5em;padding:.25em 2em}.sw-update-popup-enter-active[data-v-17203e57],.sw-update-popup-leave-active[data-v-17203e57]{transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s;transition:opacity .3s,transform .3s,-webkit-transform .3s}.sw-update-popup-enter[data-v-17203e57],.sw-update-popup-leave-to[data-v-17203e57]{opacit:0;-webkit-transform:translateY(50%) scale(.5);transform:translateY(50%) scale(.5)}.searchbox{display:inline-block;position:relative;width:200px;height:32px!important;white-space:nowrap;box-sizing:border-box;visibility:visible!important}.searchbox .algolia-autocomplete{display:block;width:100%;height:100%}.searchbox__wrapper{width:100%;height:100%;z-index:1;position:relative}.searchbox__input{display:inline-block;box-sizing:border-box;transition:box-shadow .4s ease,background .4s ease;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px #ccc;background:#fff!important;padding:0;padding-right:26px;padding-left:32px;width:100%;height:100%;vertical-align:middle;white-space:normal;font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:active,.searchbox__input:focus{outline:0;box-shadow:inset 0 0 0 1px #aaa;background:#fff}.searchbox__input:-ms-input-placeholder,.searchbox__input::-ms-input-placeholder{color:#aaa}.searchbox__input::-webkit-input-placeholder{color:#aaa}.searchbox__input:-ms-input-placeholder,.searchbox__input::-ms-input-placeholder{color:#aaa}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{position:absolute;top:0;margin:0;border:0;border-radius:16px 0 0 16px;background-color:rgba(69,142,225,0);padding:0;width:32px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;right:inherit;left:0}.searchbox__submit:before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:""}.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}.searchbox__submit:focus{outline:0}.searchbox__submit svg{width:14px;height:14px;vertical-align:middle;fill:#6d7e96}.searchbox__reset{display:block;position:absolute;top:8px;right:8px;margin:0;border:0;background:none;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:rgba(0,0,0,.5)}.searchbox__reset.hide{display:none}.searchbox__reset:focus{outline:0}.searchbox__reset svg{display:block;margin:4px;width:8px;height:8px}.searchbox__input:valid~.searchbox__reset{display:block;-webkit-animation-name:a;animation-name:a;-webkit-animation-duration:.15s;animation-duration:.15s}@-webkit-keyframes a{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes a{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{right:0!important;left:inherit!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu{left:0!important;right:inherit!important}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu:before{left:48px}.algolia-autocomplete .ds-dropdown-menu{top:-6px;border-radius:4px;margin:6px 0 0;padding:0;text-align:left;height:auto;position:relative;background:transparent;border:none;z-index:1;max-width:600px;min-width:500px;box-shadow:0 1px 0 0 rgba(0,0,0,.2),0 2px 3px 0 rgba(0,0,0,.1)}.algolia-autocomplete .ds-dropdown-menu:before{display:block;position:absolute;content:"";width:14px;height:14px;background:#fff;z-index:2;top:-7px;border-top:1px solid #d9d9d9;border-right:1px solid #d9d9d9;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);border-radius:2px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:2;margin-top:8px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion{cursor:pointer}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion.suggestion-layout-simple,.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion:not(.suggestion-layout-simple) .algolia-docsearch-suggestion--content{background-color:rgba(69,142,225,.05)}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{position:relative;border:1px solid #d9d9d9;background:#fff;border-radius:4px;overflow:auto;padding:0 8px 8px}.algolia-autocomplete .ds-dropdown-menu *{box-sizing:border-box}.algolia-autocomplete .algolia-docsearch-suggestion{position:relative;padding:0 8px;background:#fff;color:#02060c;overflow:hidden}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#174d8c;background:rgba(143,187,237,.1);padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight{color:inherit;background:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{padding:0 0 1px;background:inherit;box-shadow:inset 0 -2px 0 0 rgba(69,142,225,.8);color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--content{display:block;float:right;width:70%;position:relative;padding:5.33333px 0 5.33333px 10.66667px;cursor:pointer}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;left:-1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{position:relative;border-bottom:1px solid #ddd;display:none;margin-top:8px;padding:4px 0;font-size:1em;color:#33363d}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{width:100%;float:left;padding:8px 0 0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:left;width:30%;padding-left:0;text-align:right;position:relative;padding:5.33333px 10.66667px;color:#a4a7ae;font-size:.9em;word-wrap:break-word}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;right:0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight{background-color:inherit;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--title{margin-bottom:4px;color:#02060c;font-size:.9em;font-weight:700}.algolia-autocomplete .algolia-docsearch-suggestion--text{display:block;line-height:1.2em;font-size:.85em;color:#63676d}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{width:100%;padding:8px 0;text-align:center;font-size:1.2em}.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion code{padding:1px 5px;font-size:90%;border:none;color:#222;background-color:#ebebeb;border-radius:3px;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:none}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary{display:block}@media (min-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:block}}@media (max-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:inline-block;width:auto;float:left;color:#02060c;font-size:.9em;font-weight:700;text-align:left;padding:0;opacity:.5}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:after{content:"|"}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content{display:inline-block;width:auto;text-align:left;float:left;padding:0}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content:before{display:none}}.algolia-autocomplete .suggestion-layout-simple.algolia-docsearch-suggestion{border-bottom:1px solid #eee;padding:8px;margin:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content{width:100%;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content:before{display:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header{margin:0;padding:0;display:block;width:100%;border:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl0,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1{opacity:.6;font-size:.85em}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1:before{background-image:url('data:image/svg+xml;utf8,');content:"";width:10px;height:10px;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--wrapper{width:100%;float:left;margin:0;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--duplicate-content,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--subcategory-inline{display:none!important}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title{margin:0;color:#458ee1;font-size:.9em;font-weight:400}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title:before{content:"#";font-weight:700;color:#458ee1;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text{margin:4px 0 0;display:block;line-height:1.4em;padding:5.33333px 8px;background:#f8f8f8;font-size:.85em;opacity:.8}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{color:#3f4145;font-weight:700;box-shadow:none}.algolia-autocomplete .algolia-docsearch-footer{width:110px;height:20px;z-index:3;margin-top:10.66667px;float:right;font-size:0;line-height:0}.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url("data:image/svg+xml;utf8,");background-repeat:no-repeat;background-position:50%;background-size:100%;overflow:hidden;text-indent:-9000px;padding:0!important;width:100%;height:100%;display:block} \ No newline at end of file diff --git a/vuepress/assets/img/search.83621669.svg b/vuepress/assets/img/search.83621669.svg new file mode 100644 index 0000000000..03d83913e8 --- /dev/null +++ b/vuepress/assets/img/search.83621669.svg @@ -0,0 +1 @@ + diff --git a/vuepress/assets/js/10.90b6f866.js b/vuepress/assets/js/10.90b6f866.js new file mode 100644 index 0000000000..cb761c886c --- /dev/null +++ b/vuepress/assets/js/10.90b6f866.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{207:function(e,t,o){"use strict";o.r(t);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},v=o(5),n=Object(v.a)(s,function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.slotKey}},[o("h1",{attrs:{id:"directory-structure"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#directory-structure","aria-hidden":"true"}},[e._v("#")]),e._v(" Directory Structure")]),e._v(" "),o("p",[e._v("VuePress follows the principle of "),o("strong",[e._v('"Convention is better than configuration"')]),e._v(", the recommended document structure is as follows:")]),e._v(" "),o("pre",{staticClass:"vue-container"},[o("code",[o("p",[e._v(".\n├── docs\n│   ├── .vuepress "),o("em",[e._v("("),o("strong",[e._v("Optional")]),e._v(")")]),e._v("\n│   │   ├── "),o("code",[e._v("components")]),e._v(" "),o("em",[e._v("("),o("strong",[e._v("Optional")]),e._v(")")]),e._v("\n│   │   ├── "),o("code",[e._v("theme")]),e._v(" "),o("em",[e._v("("),o("strong",[e._v("Optional")]),e._v(")")]),e._v("\n│   │   │ └── Layout.vue\n│   │   ├── "),o("code",[e._v("public")]),e._v(" "),o("em",[e._v("("),o("strong",[e._v("Optional")]),e._v(")")]),e._v("\n│   │   ├── "),o("code",[e._v("styles")]),e._v(" "),o("em",[e._v("("),o("strong",[e._v("Optional")]),e._v(")")]),e._v("\n│   │   │   ├── index.styl\n│   │   │   └── palette.styl\n│   │   ├── "),o("code",[e._v("templates")]),e._v(" "),o("em",[e._v("("),o("strong",[e._v("Optional, Danger Zone")]),e._v(")")]),e._v("\n│   │   │   ├── dev.html\n│   │   │   └── ssr.html\n│   │   ├── "),o("code",[e._v("config.js")]),e._v(" "),o("em",[e._v("("),o("strong",[e._v("Optional")]),e._v(")")]),e._v("\n│   │   └── "),o("code",[e._v("enhanceApp.js")]),e._v(" "),o("em",[e._v("("),o("strong",[e._v("Optional")]),e._v(")")]),e._v("\n│   │ \n│   ├── README.md\n│   ├── guide\n│   │   └── README.md\n│   └── config.md\n│ \n└── package.json")]),e._v("\n")])]),o("div",{staticClass:"warning custom-block"},[o("p",{staticClass:"custom-block-title"},[e._v("Note")]),e._v(" "),o("p",[e._v("Please note the capitalization of the directory name.")])]),e._v(" "),o("ul",[o("li",[o("code",[e._v("docs/.vuepress")]),e._v(": It is used to store global configuration, components, static resources, etc.")]),e._v(" "),o("li",[o("code",[e._v("docs/.vuepress/components")]),e._v(": The Vue components in this directory will be automatically registered as global components.")]),e._v(" "),o("li",[o("code",[e._v("docs/.vuepress/theme")]),e._v(": Used to store local theme.")]),e._v(" "),o("li",[o("code",[e._v("docs/.vuepress/styles")]),e._v(": Stores style related files.")]),e._v(" "),o("li",[o("code",[e._v("docs/.vuepress/styles/index.styl")]),e._v(": Automatically applied global style files, generated at the ending of the CSS file, have a higher priority than the default style.")]),e._v(" "),o("li",[o("code",[e._v("docs/.vuepress/styles/palette.styl")]),e._v(": The palette is used to override the default color constants and to set the color constants of Stylus.")]),e._v(" "),o("li",[o("code",[e._v("docs/.vuepress/public")]),e._v(": Static resource directory.")]),e._v(" "),o("li",[o("code",[e._v("docs/.vuepress/templates")]),e._v(": Store HTML template files.")]),e._v(" "),o("li",[o("code",[e._v("docs/.vuepress/templates/dev.html")]),e._v(": HTML template file for development environment.")]),e._v(" "),o("li",[o("code",[e._v("docs/.vuepress/templates/ssr.html")]),e._v(": Vue SSR based HTML template file in the built time.")]),e._v(" "),o("li",[o("code",[e._v("docs/.vuepress/config.js")]),e._v(": Entry file of configuration, can also be "),o("code",[e._v("yml")]),e._v(" or "),o("code",[e._v("toml")]),e._v(".")]),e._v(" "),o("li",[o("code",[e._v("docs/.vuepress/enhanceApp.js")]),e._v(": App level enhancement.")])]),e._v(" "),o("div",{staticClass:"warning custom-block"},[o("p",{staticClass:"custom-block-title"},[e._v("Note")]),e._v(" "),o("p",[e._v("When customizing "),o("code",[e._v("templates/ssr.html")]),e._v(", or "),o("code",[e._v("templates/dev.html")]),e._v(", it is best to modify it on the basis of the "),o("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/%40vuepress/core/lib/app/index.dev.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("default template files"),o("OutboundLink")],1),e._v(", otherwise it may cause a build failure.")])]),e._v(" "),o("h2",{attrs:{id:"default-page-routing"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#default-page-routing","aria-hidden":"true"}},[e._v("#")]),e._v(" Default Page Routing")]),e._v(" "),o("p",[e._v("For the above directory structure, the default page routing paths are as follows:")]),e._v(" "),o("table",[o("thead",[o("tr",[o("th",[e._v("Relative Path")]),e._v(" "),o("th",[e._v("Page Routing")])])]),e._v(" "),o("tbody",[o("tr",[o("td",[o("code",[e._v("/README.md")])]),e._v(" "),o("td",[o("code",[e._v("/")])])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("/guide/README.md")])]),e._v(" "),o("td",[o("code",[e._v("/guide/")])])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("/config.md")])]),e._v(" "),o("td",[o("code",[e._v("/config.html")])])])])]),e._v(" "),o("p",[o("strong",[e._v("Also see:")])]),e._v(" "),o("ul",[o("li",[o("router-link",{attrs:{to:"./../config/"}},[e._v("Config")])],1),e._v(" "),o("li",[o("router-link",{attrs:{to:"./../theme/"}},[e._v("Theme")])],1),e._v(" "),o("li",[o("router-link",{attrs:{to:"./../theme/default-theme-config.html"}},[e._v("Default Theme Config")])],1)])])},[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/11.bb178c57.js b/vuepress/assets/js/11.bb178c57.js new file mode 100644 index 0000000000..6f246a436c --- /dev/null +++ b/vuepress/assets/js/11.bb178c57.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{208:function(t,e,a){"use strict";a.r(e);var r={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},s=a(5),n=Object(s.a)(r,function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"front-matter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#front-matter","aria-hidden":"true"}},[t._v("#")]),t._v(" Front Matter")]),t._v(" "),a("p",[t._v("Any markdown file that contains a YAML front matter block will be processed by "),a("a",{attrs:{href:"https://github.com/jonschlinkert/gray-matter",target:"_blank",rel:"noopener noreferrer"}},[t._v("gray-matter"),a("OutboundLink")],1),t._v(". The front matter must be the first thing in the markdown file and must take the form of valid YAML set between triple-dashed lines. Here is a basic example:")]),t._v(" "),a("div",{staticClass:"language-markdown extra-class"},[a("pre",{pre:!0,attrs:{class:"language-markdown"}},[a("code",[a("span",{attrs:{class:"token hr punctuation"}},[t._v("---")]),t._v("\ntitle: Blogging Like a Hacker\n"),a("span",{attrs:{class:"token title important"}},[t._v("lang: en-US\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("---")])]),t._v("\n")])])]),a("p",[t._v("Between these triple-dashed lines, you can set predefined variables (see "),a("a",{attrs:{href:"#predefined-variables"}},[t._v("below")]),t._v(" for a reference), or even create custom ones of your own. These variables will then be available to you to access using "),a("code",[a("router-link",{attrs:{to:"./global-computed.html#frontmatter"}},[t._v("$frontmatter")])],1),t._v(" at the rest of the page, plus all custom and theming components.")]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("Front matter variables are "),a("strong",[t._v("optional")]),t._v(" in VuePress.")])]),t._v(" "),a("h2",{attrs:{id:"alternative-front-matter-formats"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#alternative-front-matter-formats","aria-hidden":"true"}},[t._v("#")]),t._v(" Alternative Front Matter Formats")]),t._v(" "),a("p",[t._v("In addition, VuePress also supports JSON or "),a("a",{attrs:{href:"https://github.com/toml-lang/toml",target:"_blank",rel:"noopener noreferrer"}},[t._v("TOML"),a("OutboundLink")],1),t._v(" front matter.")]),t._v(" "),a("p",[t._v("JSON front matter needs to start and end in curly braces:")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v('---\n{\n "title": "Blogging Like a Hacker",\n "lang": "en-US"\n}\n---\n')])])]),a("p",[t._v("TOML front matter needs to be explicitly marked as TOML:")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v('---toml\ntitle = "Blogging Like a Hacker"\nlang = "en-US"\n---\n')])])]),a("h2",{attrs:{id:"predefined-variables"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#predefined-variables","aria-hidden":"true"}},[t._v("#")]),t._v(" Predefined Variables")]),t._v(" "),a("h3",{attrs:{id:"title"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#title","aria-hidden":"true"}},[t._v("#")]),t._v(" title")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("h1_title || siteConfig.title")])])]),t._v(" "),a("p",[t._v("Title of current page.")]),t._v(" "),a("h3",{attrs:{id:"lang"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#lang","aria-hidden":"true"}},[t._v("#")]),t._v(" lang")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("en-US")])])]),t._v(" "),a("p",[t._v("Language of current page.")]),t._v(" "),a("h3",{attrs:{id:"description"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#description","aria-hidden":"true"}},[t._v("#")]),t._v(" description")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("siteConfig.description")])])]),t._v(" "),a("p",[t._v("Description of current page.")]),t._v(" "),a("h3",{attrs:{id:"layout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#layout","aria-hidden":"true"}},[t._v("#")]),t._v(" layout")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("Layout")])])]),t._v(" "),a("p",[t._v("Set the layout component of the current page.")]),t._v(" "),a("h3",{attrs:{id:"permalink"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#permalink","aria-hidden":"true"}},[t._v("#")]),t._v(" permalink")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("siteConfig.permalink")])])]),t._v(" "),a("p",[t._v("Refer to: "),a("router-link",{attrs:{to:"./permalinks.html"}},[t._v("Permalinks")]),t._v(".")],1),t._v(" "),a("h3",{attrs:{id:"metatitle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#metatitle","aria-hidden":"true"}},[t._v("#")]),t._v(" metaTitle")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("`${page.title} | ${siteConfig.title}`")])])]),t._v(" "),a("p",[t._v("Override the default meta title.")]),t._v(" "),a("h3",{attrs:{id:"meta"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#meta","aria-hidden":"true"}},[t._v("#")]),t._v(" meta")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("array")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("Specify extra meta tags to be injected:")]),t._v(" "),a("div",{staticClass:"language-yaml extra-class"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("meta")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),a("span",{attrs:{class:"token key atrule"}},[t._v("name")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" description\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("content")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" hello\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),a("span",{attrs:{class:"token key atrule"}},[t._v("name")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" keywords\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("content")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" super duper SEO\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),a("h2",{attrs:{id:"predefined-variables-powered-by-default-theme"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#predefined-variables-powered-by-default-theme","aria-hidden":"true"}},[t._v("#")]),t._v(" Predefined Variables Powered By Default Theme")]),t._v(" "),a("h3",{attrs:{id:"navbar"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#navbar","aria-hidden":"true"}},[t._v("#")]),t._v(" navbar")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("boolean")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("See: "),a("router-link",{attrs:{to:"./../theme/default-theme-config.html#disable-the-navbar"}},[t._v("Default Theme Config > Disable the Navbar")]),t._v(".")],1),t._v(" "),a("h3",{attrs:{id:"sidebar"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sidebar","aria-hidden":"true"}},[t._v("#")]),t._v(" sidebar")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("boolean|'auto'")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("See: "),a("router-link",{attrs:{to:"./../theme/default-theme-config.html#sidebar"}},[t._v("Default Theme Config > Sidebar")]),t._v(".")],1)])},[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/12.1501540a.js b/vuepress/assets/js/12.1501540a.js new file mode 100644 index 0000000000..c9cab3ac29 --- /dev/null +++ b/vuepress/assets/js/12.1501540a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{209:function(s,t,a){"use strict";a.r(t);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=a(5),o=Object(n.a)(e,function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.slotKey}},[a("h1",{attrs:{id:"getting-started"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getting-started","aria-hidden":"true"}},[s._v("#")]),s._v(" Getting Started")]),s._v(" "),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[s._v("COMPATIBILITY NOTE")]),s._v(" "),a("p",[s._v("VuePress requires Node.js >= 8.")])]),s._v(" "),a("h2",{attrs:{id:"global-installation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#global-installation","aria-hidden":"true"}},[s._v("#")]),s._v(" Global Installation")]),s._v(" "),a("p",[s._v("If you just want to play around with VuePress, you can install it globally:")]),s._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{attrs:{class:"token comment"}},[s._v("# install globally")]),s._v("\nyarn global add vuepress "),a("span",{attrs:{class:"token comment"}},[s._v("# OR npm install -g vuepress")]),s._v("\n\n"),a("span",{attrs:{class:"token comment"}},[s._v("# create a markdown file")]),s._v("\n"),a("span",{attrs:{class:"token keyword"}},[s._v("echo")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'# Hello VuePress'")]),s._v(" "),a("span",{attrs:{class:"token operator"}},[s._v(">")]),s._v(" README.md\n\n"),a("span",{attrs:{class:"token comment"}},[s._v("# start writing")]),s._v("\nvuepress dev\n\n"),a("span",{attrs:{class:"token comment"}},[s._v("# build")]),s._v("\nvuepress build\n")])])]),a("h2",{attrs:{id:"inside-an-existing-project"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inside-an-existing-project","aria-hidden":"true"}},[s._v("#")]),s._v(" Inside an Existing Project")]),s._v(" "),a("p",[s._v("If you have an existing project and would like to keep documentation inside the project, you should install VuePress as a local dependency. This setup also allows you to use CI or services like Netlify for automatic deployment on push.")]),s._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{attrs:{class:"token comment"}},[s._v("# install as a local dependency")]),s._v("\nyarn add -D vuepress "),a("span",{attrs:{class:"token comment"}},[s._v("# OR npm install -D vuepress")]),s._v("\n\n"),a("span",{attrs:{class:"token comment"}},[s._v("# create a docs directory")]),s._v("\n"),a("span",{attrs:{class:"token function"}},[s._v("mkdir")]),s._v(" docs\n"),a("span",{attrs:{class:"token comment"}},[s._v("# create a markdown file")]),s._v("\n"),a("span",{attrs:{class:"token keyword"}},[s._v("echo")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'# Hello VuePress'")]),s._v(" "),a("span",{attrs:{class:"token operator"}},[s._v(">")]),s._v(" docs/README.md\n")])])]),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[s._v("WARNING")]),s._v(" "),a("p",[s._v("It is currently recommended to use "),a("a",{attrs:{href:"https://yarnpkg.com/en/",target:"_blank",rel:"noopener noreferrer"}},[s._v("Yarn"),a("OutboundLink")],1),s._v(" instead of npm when installing VuePress into an existing project that has webpack 3.x as a dependency. Npm fails to generate the correct dependency tree in this case.")])]),s._v(" "),a("p",[s._v("Then, add some scripts to "),a("code",[s._v("package.json")]),s._v(":")]),s._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{attrs:{class:"token property"}},[s._v('"scripts"')]),a("span",{attrs:{class:"token operator"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{attrs:{class:"token property"}},[s._v('"docs:dev"')]),a("span",{attrs:{class:"token operator"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v('"vuepress dev docs"')]),a("span",{attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{attrs:{class:"token property"}},[s._v('"docs:build"')]),a("span",{attrs:{class:"token operator"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v('"vuepress build docs"')]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("p",[s._v("You can now start writing with:")]),s._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[s._v("yarn docs:dev "),a("span",{attrs:{class:"token comment"}},[s._v("# OR npm run docs:dev")]),s._v("\n")])])]),a("p",[s._v("To generate static assets, run:")]),s._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[s._v("yarn docs:build "),a("span",{attrs:{class:"token comment"}},[s._v("# Or npm run docs:build")]),s._v("\n")])])]),a("p",[s._v("By default the built files will be in "),a("code",[s._v(".vuepress/dist")]),s._v(", which can be configured via the "),a("code",[s._v("dest")]),s._v(" field in "),a("code",[s._v(".vuepress/config.js")]),s._v(". The built files can be deployed to any static file server. See "),a("router-link",{attrs:{to:"./deploy.html"}},[s._v("Deployment Guide")]),s._v(" for guides on deploying to popular services.")],1)])},[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/13.6e978c39.js b/vuepress/assets/js/13.6e978c39.js new file mode 100644 index 0000000000..5dd71f9747 --- /dev/null +++ b/vuepress/assets/js/13.6e978c39.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{210:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),r=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"global-computed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#global-computed","aria-hidden":"true"}},[t._v("#")]),t._v(" Global Computed")]),t._v(" "),a("p",[t._v("In VuePress, some core "),a("a",{attrs:{href:"https://vuejs.org/v2/guide/computed.html#Computed-Properties",target:"_blank",rel:"noopener noreferrer"}},[t._v("computed"),a("OutboundLink")],1),t._v(" properties are built in for use by "),a("router-link",{attrs:{to:"./../theme/default-theme-config.html"}},[t._v("default theme")]),t._v(" or custom themes.")],1),t._v(" "),a("h2",{attrs:{id:"site"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#site","aria-hidden":"true"}},[t._v("#")]),t._v(" $site")]),t._v(" "),a("p",[t._v("This is the "),a("code",[t._v("$site")]),t._v(" value of the website you see now:")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"title"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"VuePress"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"description"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"Vue 驱动的静态网站生成器"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"base"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"/"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"pages"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"lastUpdated"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("1524027677000")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"path"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"/"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"title"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"VuePress"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"frontmatter"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n ...\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"page"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#page","aria-hidden":"true"}},[t._v("#")]),t._v(" $page")]),t._v(" "),a("p",[t._v("This is the "),a("code",[t._v("$page")]),t._v(" value of the page you see now:")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"title"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"Global Computed"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"frontmatter"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"regularPath"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"/miscellaneous/global-computed.html"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"key"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"v-d4cbeb69eff3d"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"path"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"/miscellaneous/global-computed.html"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"headers"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"level"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("2")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"title"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"$site"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"slug"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"site"')]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"level"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("2")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"title"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"$page"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"slug"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"$page"')]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n ...\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"frontmatter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#frontmatter","aria-hidden":"true"}},[t._v("#")]),t._v(" $frontmatter")]),t._v(" "),a("p",[t._v("Reference of "),a("a",{attrs:{href:"#page"}},[t._v("$page")]),t._v(".frontmatter.")]),t._v(" "),a("h2",{attrs:{id:"lang"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#lang","aria-hidden":"true"}},[t._v("#")]),t._v(" $lang")]),t._v(" "),a("p",[t._v("The language of the current page. default value is "),a("code",[t._v("en-US")]),t._v(".")]),t._v(" "),a("p",[a("strong",[t._v("Also see:")])]),t._v(" "),a("ul",[a("li",[a("router-link",{attrs:{to:"./../guide/i18n.html"}},[t._v("Internationalization")])],1)]),t._v(" "),a("h2",{attrs:{id:"localepath"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#localepath","aria-hidden":"true"}},[t._v("#")]),t._v(" $localePath")]),t._v(" "),a("p",[t._v("The locale path prefix for the current page, the default value is "),a("code",[t._v("/")]),t._v(".")]),t._v(" "),a("p",[a("strong",[t._v("Also see:")])]),t._v(" "),a("ul",[a("li",[a("router-link",{attrs:{to:"./../guide/i18n.html"}},[t._v("Internationalization")])],1)]),t._v(" "),a("h2",{attrs:{id:"title"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#title","aria-hidden":"true"}},[t._v("#")]),t._v(" $title")]),t._v(" "),a("p",[t._v("Value of the "),a("code",[t._v("")]),t._v(" label used for the current page.")]),t._v(" "),a("h2",{attrs:{id:"description"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#description","aria-hidden":"true"}},[t._v("#")]),t._v(" $description")]),t._v(" "),a("p",[t._v("The "),a("code",[t._v("content")]),t._v(" value of the "),a("code",[t._v('<meta name= "description" content= "...">')]),t._v(" for the current page.")]),t._v(" "),a("h2",{attrs:{id:"themeconfig"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#themeconfig","aria-hidden":"true"}},[t._v("#")]),t._v(" $themeConfig")]),t._v(" "),a("p",[t._v("i.e. "),a("code",[t._v("siteConfig.themeConfig")]),t._v("。")])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/14.136ae6a3.js b/vuepress/assets/js/14.136ae6a3.js new file mode 100644 index 0000000000..810d7ce351 --- /dev/null +++ b/vuepress/assets/js/14.136ae6a3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{211:function(t,s,n){"use strict";n.r(s);var a={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=n(5),o=Object(e.a)(a,function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[n("h1",{attrs:{id:"internationalization"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#internationalization","aria-hidden":"true"}},[t._v("#")]),t._v(" Internationalization")]),t._v(" "),n("h2",{attrs:{id:"site-level-i18n-config"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#site-level-i18n-config","aria-hidden":"true"}},[t._v("#")]),t._v(" Site Level i18n Config")]),t._v(" "),n("p",[t._v("To leverage multi-language support in VuePress, you first need to use the following file structure:")]),t._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[t._v("docs\n├─ README.md\n├─ foo.md\n├─ nested\n│  └─ README.md\n└─ zh\n ├─ README.md\n ├─ foo.md\n └─ nested\n    └─ README.md\n")])])]),n("p",[t._v("Then, specify the "),n("code",[t._v("locales")]),t._v(" option in "),n("code",[t._v(".vuepress/config.js")]),t._v(":")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[t._v("module"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n locales"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// The key is the path for the locale to be nested under.")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// As a special case, the default locale can use '/' as its path.")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n lang"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'en-US'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{attrs:{class:"token comment"}},[t._v("// this will be set as the lang attribute on <html>")]),t._v("\n title"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'VuePress'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n description"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'Vue-powered Static Site Generator'")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/zh/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n lang"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'zh-CN'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n title"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'VuePress'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n description"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'Vue 驱动的静态网站生成器'")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),n("p",[t._v("If a locale does not have "),n("code",[t._v("title")]),t._v(" or "),n("code",[t._v("description")]),t._v(" VuePress will fallback to the root level values. You can omit the root level "),n("code",[t._v("title")]),t._v(" and "),n("code",[t._v("description")]),t._v(" as long as they are provided in each locale.")]),t._v(" "),n("h2",{attrs:{id:"default-theme-i18n-config"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#default-theme-i18n-config","aria-hidden":"true"}},[t._v("#")]),t._v(" Default Theme i18n Config")]),t._v(" "),n("p",[t._v("The default theme also has built-in i18n support via "),n("code",[t._v("themeConfig.locales")]),t._v(", using the same "),n("code",[t._v("{ path: config }")]),t._v(" format. Each locale can have its own "),n("router-link",{attrs:{to:"./../theme/default-theme-config.html#navbar-links"}},[t._v("nav")]),t._v(" and "),n("router-link",{attrs:{to:"./../theme/default-theme-config.html#sidebar"}},[t._v("sidebar")]),t._v(" config, in addition to a few other text values used across the site:")],1),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[t._v("module"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n locales"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),n("span",{attrs:{class:"token comment"}},[t._v("/* ... */")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n themeConfig"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n locales"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// text for the language dropdown")]),t._v("\n selectText"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'Languages'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// label for this locale in the language dropdown")]),t._v("\n label"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'English'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// text for the edit-on-github link")]),t._v("\n editLinkText"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'Edit this page on GitHub'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// config for Service Worker ")]),t._v("\n serviceWorker"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n updatePopup"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n message"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v('"New content is available."')]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n buttonText"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v('"Refresh"')]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// algolia docsearch options for current locale")]),t._v("\n algolia"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n nav"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'Nested'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'/nested/'")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n sidebar"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{attrs:{class:"token comment"}},[t._v("/* ... */")]),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/nested/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{attrs:{class:"token comment"}},[t._v("/* ... */")]),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/zh/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n selectText"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'选择语言'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n label"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'简体中文'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n editLinkText"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'在 GitHub 上编辑此页'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n serviceWorker"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n updatePopup"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n message"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v('"发现新内容可用."')]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n buttonText"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v('"刷新"')]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n nav"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'嵌套'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'/zh/nested/'")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n algolia"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n sidebar"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/zh/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{attrs:{class:"token comment"}},[t._v("/* ... */")]),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/zh/nested/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{attrs:{class:"token comment"}},[t._v("/* ... */")]),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/15.0c645d16.js b/vuepress/assets/js/15.0c645d16.js new file mode 100644 index 0000000000..7e04048d35 --- /dev/null +++ b/vuepress/assets/js/15.0c645d16.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{212:function(t,a,s){"use strict";s.r(a);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=s(5),o=Object(e.a)(n,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"markdown-slot"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#markdown-slot","aria-hidden":"true"}},[t._v("#")]),t._v(" Markdown Slot")]),t._v(" "),s("p",[t._v("VuePress implements a content distribution API for Markdown. With this feature, you can split your document into multiple fragments to facilitate flexible composition in the layout component.")]),t._v(" "),s("h2",{attrs:{id:"why-do-i-need-markdown-slot"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#why-do-i-need-markdown-slot","aria-hidden":"true"}},[t._v("#")]),t._v(" Why do I need Markdown Slot?")]),t._v(" "),s("p",[t._v("First, let's review the relationship between layout components and markdown files:")]),t._v(" "),s("diagram-markdown-slot-relationship"),t._v(" "),s("p",[t._v("markdown files are providers of metadata (page content, configuration, etc.), and layout components consume them. We can use "),s("code",[t._v("frontmatter")]),t._v(" to define some metadata for common data types, but "),s("code",[t._v("frontmatter")]),t._v(" is hard to do something about markdown / HTML, a complex metadata that involves pre-compile differences.")]),t._v(" "),s("p",[t._v("Markdown Slot is to solve this kind of problem.")]),t._v(" "),s("h2",{attrs:{id:"named-slots"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#named-slots","aria-hidden":"true"}},[t._v("#")]),t._v(" Named Slots")]),t._v(" "),s("p",[t._v("You can define a named markdown slot through the following markdown syntax:")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("::: slot name\n\n:::\n")])])]),s("p",[t._v("Use the "),s("code",[t._v("Content")]),t._v(" component to use the slot in the layout component:")]),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("slot-key")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("name"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n")])])]),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("Here we are using "),s("code",[t._v("slot-key")]),t._v(" instead of "),s("code",[t._v("slot")]),t._v(", because in Vue, "),s("code",[t._v("slot")]),t._v(" is a reserved prop name.")])]),t._v(" "),s("h2",{attrs:{id:"default-slot-content"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#default-slot-content","aria-hidden":"true"}},[t._v("#")]),t._v(" Default Slot Content")]),t._v(" "),s("p",[t._v("By default, the slot-free part of a markdown file becomes the default content of a markdown slot, which you can access directly using the "),s("code",[t._v("Content")]),t._v(" component:")]),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n")])])]),s("h2",{attrs:{id:"example"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#example","aria-hidden":"true"}},[t._v("#")]),t._v(" Example")]),t._v(" "),s("p",[t._v("Suppose your layout component is as follows:")]),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("container"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("header")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("slot-key")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("header"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("header")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("main")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("main")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("footer")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("slot-key")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("footer"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("footer")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("template")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("p",[t._v("If the markdown content of a page's is like this:")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("::: slot header\n"),s("span",{attrs:{class:"token title important"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("#")]),t._v(" Here might be a page title")]),t._v("\n:::\n\n"),s("span",{attrs:{class:"token list punctuation"}},[t._v("-")]),t._v(" A Paragraph\n"),s("span",{attrs:{class:"token list punctuation"}},[t._v("-")]),t._v(" Another Paragraph\n\n::: slot footer\nHere's some contact info\n:::\n")])])]),s("p",[t._v("Then the rendered HTML of this page will be:")]),t._v(" "),s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("container"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("header")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content header"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h1")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Here might be a page title"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("h1")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("header")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("main")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content default"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ul")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("A Paragraph"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("li")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Another Paragraph"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("li")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("ul")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("main")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("footer")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content footer"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Here's some contact info"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("p")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("footer")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("p",[t._v("Note that:")]),t._v(" "),s("ol",[s("li",[t._v("Unlike the slot mechanism provided by "),s("a",{attrs:{href:"https://vuejs.org/v2/guide/components-slots.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("Vue"),s("OutboundLink")],1),t._v(" itself, each content distribution is wrapped in a "),s("code",[t._v("div")]),t._v(" whose class is "),s("code",[t._v("content")]),t._v(" with the name of the slot.")]),t._v(" "),s("li",[t._v("Please ensure the uniqueness of the slot defined.")])])],1)},[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/16.8741a547.js b/vuepress/assets/js/16.8741a547.js new file mode 100644 index 0000000000..8758d9a190 --- /dev/null +++ b/vuepress/assets/js/16.8741a547.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{151:function(t,a,s){},186:function(t,a,s){"use strict";var n=s(151);s.n(n).a},213:function(t,a,s){"use strict";s.r(a);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=(s(186),s(5)),r=Object(e.a)(n,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"markdown-extensions"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#markdown-extensions","aria-hidden":"true"}},[t._v("#")]),t._v(" Markdown Extensions")]),t._v(" "),s("h2",{attrs:{id:"header-anchors"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#header-anchors","aria-hidden":"true"}},[t._v("#")]),t._v(" Header Anchors")]),t._v(" "),s("p",[t._v("Headers automatically get anchor links applied. Rendering of anchors can be configured using the "),s("router-link",{attrs:{to:"./../config/#markdown-anchor"}},[s("code",[t._v("markdown.anchor")])]),t._v(" option.")],1),t._v(" "),s("h2",{attrs:{id:"links"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#links","aria-hidden":"true"}},[t._v("#")]),t._v(" Links")]),t._v(" "),s("h3",{attrs:{id:"internal-links"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#internal-links","aria-hidden":"true"}},[t._v("#")]),t._v(" Internal Links")]),t._v(" "),s("p",[t._v("Inbound links ending in "),s("code",[t._v(".md")]),t._v(" or "),s("code",[t._v(".html")]),t._v(" are converted to "),s("code",[t._v("<router-link>")]),t._v(" for SPA navigation.")]),t._v(" "),s("p",[t._v("Each sub-directory in your static site should contain a "),s("code",[t._v("README.md")]),t._v(". It will automatically be converted to "),s("code",[t._v("index.html")]),t._v(".")]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("When writing the relative path to a directory's "),s("code",[t._v("index.html")]),t._v(", don't forget to close it off with a "),s("code",[t._v("/")]),t._v(", otherwise you will get a 404. For example, use "),s("code",[t._v("/config/")]),t._v(" instead of "),s("code",[t._v("/config")]),t._v(".")])]),t._v(" "),s("p",[t._v("If you want to link to another markdown file within a directory, remember to:")]),t._v(" "),s("ol",[s("li",[t._v("Append it with either "),s("code",[t._v(".html")]),t._v(" or "),s("code",[t._v(".md")])]),t._v(" "),s("li",[t._v("Make sure the case matches since the path is case-sensitive")])]),t._v(" "),s("h4",{attrs:{id:"example"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#example","aria-hidden":"true"}},[t._v("#")]),t._v(" Example")]),t._v(" "),s("p",[t._v("Given the following directory structure:")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v(".\n├─ README.md\n├─ foo\n│  ├─ README.md\n│ ├─ one.md\n│ └─ two.md\n└─ bar\n ├─ README.md\n ├─ three.md\n └─ four.md\n")])])]),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[s("span",{attrs:{class:"token url"}},[t._v("[Home](/)")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("\x3c!-- Sends the user to the root README.md --\x3e")]),t._v("\n"),s("span",{attrs:{class:"token url"}},[t._v("[foo](/foo/)")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("\x3c!-- Sends the user to index.html of directory foo --\x3e")]),t._v("\n"),s("span",{attrs:{class:"token url"}},[t._v("[foo heading anchor](/foo/#heading)")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("\x3c!-- Anchors user to a heading in the foo README file --\x3e")]),t._v("\n"),s("span",{attrs:{class:"token url"}},[t._v("[foo - one](/foo/one.html)")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("\x3c!-- You can append .html --\x3e")]),t._v("\n"),s("span",{attrs:{class:"token url"}},[t._v("[foo - two](/foo/two.md)")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("\x3c!-- Or you can append .md --\x3e")]),t._v("\n")])])]),s("h3",{attrs:{id:"external-links"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#external-links","aria-hidden":"true"}},[t._v("#")]),t._v(" External Links")]),t._v(" "),s("p",[t._v("Outbound links automatically gets "),s("code",[t._v('target="_blank" rel="noopener noreferrer"')]),t._v(":")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://vuejs.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("vuejs.org"),s("OutboundLink")],1)]),t._v(" "),s("li",[s("a",{attrs:{href:"https://github.com/vuejs/vuepress",target:"_blank",rel:"noopener noreferrer"}},[t._v("VuePress on GitHub"),s("OutboundLink")],1)])]),t._v(" "),s("p",[t._v("You can customize the attributes added to external links by setting "),s("router-link",{attrs:{to:"./../config/#markdown-externallinks"}},[t._v("config.markdown.externalLinks")]),t._v(".")],1),t._v(" "),s("h2",{attrs:{id:"front-matter"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#front-matter","aria-hidden":"true"}},[t._v("#")]),t._v(" Front Matter")]),t._v(" "),s("p",[s("a",{attrs:{href:"https://jekyllrb.com/docs/frontmatter/",target:"_blank",rel:"noopener noreferrer"}},[t._v("YAML front matter"),s("OutboundLink")],1),t._v(" is supported out of the box:")]),t._v(" "),s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("title")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Blogging Like a Hacker\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("lang")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" en"),s("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("US\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),s("p",[t._v("The data will be available to the rest of the page, plus all custom and theming components.")]),t._v(" "),s("p",[t._v("For detailed introduction, please move to "),s("router-link",{attrs:{to:"./frontmatter.html"}},[t._v("Front Matter")]),t._v(".")],1),t._v(" "),s("h2",{attrs:{id:"github-style-tables"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#github-style-tables","aria-hidden":"true"}},[t._v("#")]),t._v(" GitHub-Style Tables")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("| Tables | Are | Cool |\n| ------------- |:-------------:| -----:|\n| col 3 is | right-aligned | $1600 |\n| col 2 is | centered | $12 |\n| zebra stripes | are neat | $1 |\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("Tables")]),t._v(" "),s("th",{staticStyle:{"text-align":"center"}},[t._v("Are")]),t._v(" "),s("th",{staticStyle:{"text-align":"right"}},[t._v("Cool")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("col 3 is")]),t._v(" "),s("td",{staticStyle:{"text-align":"center"}},[t._v("right-aligned")]),t._v(" "),s("td",{staticStyle:{"text-align":"right"}},[t._v("$1600")])]),t._v(" "),s("tr",[s("td",[t._v("col 2 is")]),t._v(" "),s("td",{staticStyle:{"text-align":"center"}},[t._v("centered")]),t._v(" "),s("td",{staticStyle:{"text-align":"right"}},[t._v("$12")])]),t._v(" "),s("tr",[s("td",[t._v("zebra stripes")]),t._v(" "),s("td",{staticStyle:{"text-align":"center"}},[t._v("are neat")]),t._v(" "),s("td",{staticStyle:{"text-align":"right"}},[t._v("$1")])])])]),t._v(" "),s("h2",{attrs:{id:"emoji"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#emoji","aria-hidden":"true"}},[t._v("#")]),t._v(" Emoji 🎉")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v(":tada: :100:\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("p",[t._v("🎉 💯")]),t._v(" "),s("p",[t._v("A list of all emojis available can be found "),s("a",{attrs:{href:"https://github.com/markdown-it/markdown-it-emoji/blob/master/lib/data/full.json",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("h2",{attrs:{id:"table-of-contents"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#table-of-contents","aria-hidden":"true"}},[t._v("#")]),t._v(" Table of Contents")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("[[toc]]\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("p"),s("div",{staticClass:"table-of-contents"},[s("ul",[s("li",[s("a",{attrs:{href:"#header-anchors"}},[t._v("Header Anchors")])]),s("li",[s("a",{attrs:{href:"#links"}},[t._v("Links")]),s("ul",[s("li",[s("a",{attrs:{href:"#internal-links"}},[t._v("Internal Links")])]),s("li",[s("a",{attrs:{href:"#external-links"}},[t._v("External Links")])])])]),s("li",[s("a",{attrs:{href:"#front-matter"}},[t._v("Front Matter")])]),s("li",[s("a",{attrs:{href:"#github-style-tables"}},[t._v("GitHub-Style Tables")])]),s("li",[s("a",{attrs:{href:"#emoji-tada"}},[t._v("Emoji 🎉")])]),s("li",[s("a",{attrs:{href:"#table-of-contents"}},[t._v("Table of Contents")])]),s("li",[s("a",{attrs:{href:"#custom-containers"}},[t._v("Custom Containers")])]),s("li",[s("a",{attrs:{href:"#line-highlighting-in-code-blocks"}},[t._v("Line Highlighting in Code Blocks")])]),s("li",[s("a",{attrs:{href:"#line-numbers"}},[t._v("Line Numbers")])]),s("li",[s("a",{attrs:{href:"#import-code-snippets-badge-text-beta-type-warn-badge-text-0-10-1-type-tip"}},[t._v("Import Code Snippets "),s("Badge",{attrs:{text:"beta",type:"warn"}}),t._v(" "),s("Badge",{attrs:{text:"0.10.1+",type:"tip"}})],1)]),s("li",[s("a",{attrs:{href:"#advanced-configuration"}},[t._v("Advanced Configuration")])])])]),s("p"),t._v(" "),s("p",[t._v("Rendering of TOC can be configured using the "),s("router-link",{attrs:{to:"./../config/#markdown-toc"}},[s("code",[t._v("markdown.toc")])]),t._v(" option.")],1),t._v(" "),s("h2",{attrs:{id:"custom-containers"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#custom-containers","aria-hidden":"true"}},[t._v("#")]),t._v(" Custom Containers")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("::: tip\nThis is a tip\n:::\n\n::: warning\nThis is a warning\n:::\n\n::: danger\nThis is a dangerous warning\n:::\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("This is a tip")])]),t._v(" "),s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("This is a warning")])]),t._v(" "),s("div",{staticClass:"danger custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("This is a dangerous warning")])]),t._v(" "),s("p",[t._v("You can also customize the title of the block:")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("::: danger STOP\nDanger zone, do not proceed\n:::\n")])])]),s("div",{staticClass:"danger custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("STOP")]),t._v(" "),s("p",[t._v("Danger zone, do not proceed")])]),t._v(" "),s("h2",{attrs:{id:"line-highlighting-in-code-blocks"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#line-highlighting-in-code-blocks","aria-hidden":"true"}},[t._v("#")]),t._v(" Line Highlighting in Code Blocks")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("``` js{4}\nexport default {\n data () {\n return {\n msg: 'Highlighted!'\n }\n }\n}\n```\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("div",{staticClass:"highlight-lines"},[s("br"),s("br"),s("br"),s("div",{staticClass:"highlighted"},[t._v(" ")]),s("br"),s("br"),s("br"),s("br")]),s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token function"}},[t._v("data")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n msg"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Highlighted!'")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"line-numbers"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#line-numbers","aria-hidden":"true"}},[t._v("#")]),t._v(" Line Numbers")]),t._v(" "),s("p",[t._v("You can enable line numbers for each code blocks via config:")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n markdown"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n lineNumbers"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" \n")])])]),t._v(" "),s("ul",[s("li",[t._v("Demo:")])]),t._v(" "),s("picture",[s("source",{attrs:{srcset:"/line-numbers-desktop.png",media:"(min-width: 719px)"}}),t._v(" "),s("img",{staticClass:"line-numbers-desktop-snap",attrs:{alt:"Image"}})]),t._v(" "),s("picture",[s("source",{attrs:{srcset:"/line-numbers-mobile.gif",media:"(max-width: 719px)"}}),t._v(" "),s("img",{staticClass:"line-numbers-mobile-snap",attrs:{alt:"Image"}})]),t._v(" "),s("h2",{attrs:{id:"import-code-snippets"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#import-code-snippets","aria-hidden":"true"}},[t._v("#")]),t._v(" Import Code Snippets "),s("Badge",{attrs:{text:"beta",type:"warn"}}),t._v(" "),s("Badge",{attrs:{text:"0.10.1+",type:"tip"}})],1),t._v(" "),s("p",[t._v("You can import code snippets from existing files via following syntax:")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("<<< @/filepath\n")])])]),s("p",[t._v("It also supports "),s("a",{attrs:{href:"#line-highlighting-in-code-blocks"}},[t._v("line highlighting")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("<<< @/filepath{highlightLines} \n")])])]),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("<<< @/../@vuepress/markdown/"),s("span",{attrs:{class:"token bold"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("__")]),t._v("tests"),s("span",{attrs:{class:"token punctuation"}},[t._v("__")])]),t._v("/fragments/snippet.js{2}\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("div",{staticClass:"highlight-lines"},[s("br"),s("div",{staticClass:"highlighted"},[t._v(" ")]),s("br"),s("br")]),s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// ..")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("Since the import of the code snippets will be executed before webpack compilation, you can't use the path alias in webpack. The default value of "),s("code",[t._v("@")]),t._v(" is "),s("code",[t._v("process.cwd()")]),t._v(".")])]),t._v(" "),s("h2",{attrs:{id:"advanced-configuration"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#advanced-configuration","aria-hidden":"true"}},[t._v("#")]),t._v(" Advanced Configuration")]),t._v(" "),s("p",[t._v("VuePress uses "),s("a",{attrs:{href:"https://github.com/markdown-it/markdown-it",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it"),s("OutboundLink")],1),t._v(" as the markdown renderer. A lot of the extensions above are implemented via custom plugins. You can further customize the "),s("code",[t._v("markdown-it")]),t._v(" instance using the "),s("code",[t._v("markdown")]),t._v(" option in "),s("code",[t._v(".vuepress/config.js")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n markdown"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// options for markdown-it-anchor")]),t._v("\n anchor"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" permalink"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean"}},[t._v("false")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// options for markdown-it-toc")]),t._v("\n toc"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" includeLevel"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{attrs:{class:"token number"}},[t._v("1")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token number"}},[t._v("2")]),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n extendMarkdown"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" md "),s("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// use more markdown-it plugins!")]),t._v("\n md"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("use")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token function"}},[t._v("require")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v("'markdown-it-xxx'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/17.5e50cd1d.js b/vuepress/assets/js/17.5e50cd1d.js new file mode 100644 index 0000000000..6389989450 --- /dev/null +++ b/vuepress/assets/js/17.5e50cd1d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{214:function(e,t,a){"use strict";a.r(t);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},r=a(5),n=Object(r.a)(s,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.slotKey}},[a("h1",{attrs:{id:"permalinks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#permalinks","aria-hidden":"true"}},[e._v("#")]),e._v(" Permalinks")]),e._v(" "),a("h2",{attrs:{id:"background"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#background","aria-hidden":"true"}},[e._v("#")]),e._v(" Background")]),e._v(" "),a("p",[e._v("Before 1.x.x, VuePress retrieves all markdown files in the documents source directory and defines the page links based on the file hierarchy. e.g. if you have the following file structure:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("├── package.json\n└── source\n ├── _post\n │   └── intro-vuepress.md\n ├── index.md\n └── tags.md\n")])])]),a("p",[e._v("Then you will get following available pages:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("/source/\n/source/tags.html\n/source/_post/intro-vuepress.html\n")])])]),a("p",[e._v("However, for a blog system, we hope that the link of a post can be customized. VuePress started supporting this feature from "),a("code",[e._v("1.0.0")]),e._v(". which is known as "),a("code",[e._v("permalink")]),e._v(". Then, the actual pages would be:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("/source/\n/source/tags/\n/source/2018/4/1/intro-vuepress.html\n")])])]),a("p",[e._v("It seems that we have seen the shadow of the blog. Let's continue to look down.")]),e._v(" "),a("h2",{attrs:{id:"permalinks-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#permalinks-2","aria-hidden":"true"}},[e._v("#")]),e._v(" Permalinks")]),e._v(" "),a("p",[e._v("A permalink is a URL that is intended to remain unchanged for many years into the future, yielding a hyperlink that is less susceptible to link rot"),a("sup",[e._v("[1]")]),e._v(". VuePress supports a flexible way to build permalinks, allowing you to leverage various template variables.")]),e._v(" "),a("p",[e._v("The default permalink is "),a("code",[e._v("/:regular")]),e._v(".")]),e._v(" "),a("h3",{attrs:{id:"configure-permalinks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configure-permalinks","aria-hidden":"true"}},[e._v("#")]),e._v(" Configure Permalinks")]),e._v(" "),a("p",[e._v("You can configure globally to apply it for all pages:")]),e._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[e._v("// .vuepress/config.js")]),e._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[e._v(".")]),e._v("exports "),a("span",{attrs:{class:"token operator"}},[e._v("=")]),e._v(" "),a("span",{attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n permalink"),a("span",{attrs:{class:"token punctuation"}},[e._v(":")]),e._v(" "),a("span",{attrs:{class:"token string"}},[e._v("'/:year/:month/:day/:slug'")]),e._v("\n"),a("span",{attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n")])])]),a("p",[e._v("Alternatively, you can also set permalink on a page only, and it will have a higher priority than the global settings.")]),e._v(" "),a("p",[e._v("📝 "),a("strong",[e._v("hello.md")]),e._v(":")]),e._v(" "),a("div",{staticClass:"language-markdown extra-class"},[a("pre",{pre:!0,attrs:{class:"language-markdown"}},[a("code",[a("span",{attrs:{class:"token hr punctuation"}},[e._v("---")]),e._v("\ntitle: Hello World\n"),a("span",{attrs:{class:"token title important"}},[e._v("permalink: /hello-world\n"),a("span",{attrs:{class:"token punctuation"}},[e._v("---")])]),e._v("\n\nHello!\n")])])]),a("h3",{attrs:{id:"template-variables"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#template-variables","aria-hidden":"true"}},[e._v("#")]),e._v(" Template Variables")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Variable")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v(":year")]),e._v(" "),a("td",[e._v("Published year of posts (4-digit)")])]),e._v(" "),a("tr",[a("td",[e._v(":month")]),e._v(" "),a("td",[e._v("Published month of posts (2-digit)")])]),e._v(" "),a("tr",[a("td",[e._v(":i_month")]),e._v(" "),a("td",[e._v("Published month of posts (Without leading zeros)")])]),e._v(" "),a("tr",[a("td",[e._v(":day")]),e._v(" "),a("td",[e._v("Published day of posts (2-digit)")])]),e._v(" "),a("tr",[a("td",[e._v(":i_day")]),e._v(" "),a("td",[e._v("Published day of posts (Without leading zeros)")])]),e._v(" "),a("tr",[a("td",[e._v(":slug")]),e._v(" "),a("td",[e._v("Slugified file path (Without extension)")])]),e._v(" "),a("tr",[a("td",[e._v(":regular")]),e._v(" "),a("td",[e._v("Permalink generated by VuePress by default, for implementation see "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/%40vuepress/shared-utils/lib/fileToPath.js",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1)])])])])])},[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/18.790476d7.js b/vuepress/assets/js/18.790476d7.js new file mode 100644 index 0000000000..3ac9ccb6d9 --- /dev/null +++ b/vuepress/assets/js/18.790476d7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{152:function(t,a,s){t.exports={example:"example_2DuOfB6G"}},187:function(t,a,s){"use strict";var e=s(152),n=s.n(e);a.default=n.a},215:function(t,a,s){"use strict";s.r(a);var e={props:["slot-key"],mounted:function(){document.querySelector(".".concat(this.$style.example)).textContent="This is rendered by inline script and styled by inline CSS"}},n=s(187),o=s(5);var r=Object(o.a)(e,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"using-vue-in-markdown"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#using-vue-in-markdown","aria-hidden":"true"}},[t._v("#")]),t._v(" Using Vue in Markdown")]),t._v(" "),s("h2",{attrs:{id:"browser-api-access-restrictions"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#browser-api-access-restrictions","aria-hidden":"true"}},[t._v("#")]),t._v(" Browser API Access Restrictions")]),t._v(" "),s("p",[t._v("Because VuePress applications are server-rendered in Node.js when generating static builds, any Vue usage must conform to the "),s("a",{attrs:{href:"https://ssr.vuejs.org/en/universal.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("universal code requirements"),s("OutboundLink")],1),t._v(". In short, make sure to only access Browser / DOM APIs in "),s("code",[t._v("beforeMount")]),t._v(" or "),s("code",[t._v("mounted")]),t._v(" hooks.")]),t._v(" "),s("p",[t._v("If you are using or demoing components that are not SSR friendly (for example containing custom directives), you can wrap them inside the built-in "),s("code",[t._v("<ClientOnly>")]),t._v(" component:")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ClientOnly")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("NonSSRFriendlyComponent")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("ClientOnly")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("p",[t._v("Note this does not fix components or libraries that access Browser APIs "),s("strong",[t._v("on import")]),t._v(" - in order to use code that assumes a browser environment on import, you need to dynamically import them in proper lifecycle hooks:")]),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{attrs:{class:"token script language-javascript"}},[t._v("\n"),s("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token function"}},[t._v("mounted")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("import")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v("'./lib-that-access-window-on-import'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("then")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("module "),s("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// use code")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")]),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("script")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("h2",{attrs:{id:"templating"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#templating","aria-hidden":"true"}},[t._v("#")]),t._v(" Templating")]),t._v(" "),s("h3",{attrs:{id:"interpolation"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#interpolation","aria-hidden":"true"}},[t._v("#")]),t._v(" Interpolation")]),t._v(" "),s("p",[t._v("Each markdown file is first compiled into HTML and then passed on as a Vue component to "),s("code",[t._v("vue-loader")]),t._v(". This means you can use Vue-style interpolation in text:")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("{{ 1 + 1 }}\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{staticClass:"language-text"},[s("pre",[s("code",[t._v(t._s(2))])])]),t._v(" "),s("h3",{attrs:{id:"directives"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#directives","aria-hidden":"true"}},[t._v("#")]),t._v(" Directives")]),t._v(" "),s("p",[t._v("Directives also work:")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("span")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("v-for")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("i in 3"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("{{ i }} "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("span")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{staticClass:"language-text"},[s("pre",[s("code",t._l(3,function(a){return s("span",[t._v(t._s(a)+" ")])}))])]),t._v(" "),s("h3",{attrs:{id:"access-to-site-page-data"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#access-to-site-page-data","aria-hidden":"true"}},[t._v("#")]),t._v(" Access to Site & Page Data")]),t._v(" "),s("p",[t._v("The compiled component does not have any private data but does have access to the "),s("router-link",{attrs:{to:"./../theme/writing-a-theme.html#site-and-page-metadata"}},[t._v("site metadata")]),t._v(". For example:")],1),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("{{ $page }}\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{staticClass:"language-json extra-class"},[s("pre",{pre:!0,attrs:{class:"language-json"}},[s("code",[s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token property"}},[t._v('"path"')]),s("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v('"/using-vue.html"')]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token property"}},[t._v('"title"')]),s("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v('"Using Vue in Markdown"')]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token property"}},[t._v('"frontmatter"')]),s("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"escaping"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#escaping","aria-hidden":"true"}},[t._v("#")]),t._v(" Escaping")]),t._v(" "),s("p",[t._v("By default, fenced code blocks are automatically wrapped with "),s("code",[t._v("v-pre")]),t._v(". If you want to display raw mustaches or Vue-specific syntax inside inline code snippets or plain text, you need to wrap a paragraph with the "),s("code",[t._v("v-pre")]),t._v(" custom container:")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("::: v-pre\n"),s("span",{attrs:{class:"token code keyword"}},[t._v("`{{ This will be displayed as-is }}`")]),t._v("\n:::\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{pre:!0},[s("p",[s("code",[t._v("{{ This will be displayed as-is }}")])])]),t._v(" "),s("h2",{attrs:{id:"using-components"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#using-components","aria-hidden":"true"}},[t._v("#")]),t._v(" Using Components")]),t._v(" "),s("p",[t._v("Any "),s("code",[t._v("*.vue")]),t._v(" files found in "),s("code",[t._v(".vuepress/components")]),t._v(" are automatically registered as "),s("a",{attrs:{href:"https://vuejs.org/v2/guide/components-registration.html#Global-Registration",target:"_blank",rel:"noopener noreferrer"}},[t._v("global"),s("OutboundLink")],1),t._v(", "),s("a",{attrs:{href:"https://vuejs.org/v2/guide/components-dynamic-async.html#Async-Components",target:"_blank",rel:"noopener noreferrer"}},[t._v("async"),s("OutboundLink")],1),t._v(" components. For example:")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v(".\n└─ .vuepress\n   └─ components\n ├─ demo-1.vue\n     ├─ OtherComponent.vue\n      └─ Foo\n         └─ Bar.vue\n")])])]),s("p",[t._v("Inside any markdown file you can then directly use the components (names are inferred from filenames):")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("demo-1")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("OtherComponent")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Foo-Bar")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n")])])]),s("demo-1"),t._v(" "),s("OtherComponent"),t._v(" "),s("Foo-Bar"),t._v(" "),s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("IMPORTANT")]),t._v(" "),s("p",[t._v("Make sure a custom component's name either contains a hyphen or is in PascalCase. Otherwise it will be treated as an inline element and wrapped inside a "),s("code",[t._v("<p>")]),t._v(" tag, which will lead to hydration mismatch because "),s("code",[t._v("<p>")]),t._v(" does not allow block elements to be placed inside it.")])]),t._v(" "),s("h3",{attrs:{id:"using-components-in-headers"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#using-components-in-headers","aria-hidden":"true"}},[t._v("#")]),t._v(" Using Components In Headers")]),t._v(" "),s("p",[t._v("You can use Vue components in the headers, but note the difference between the following two ways:")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("markdown")]),t._v(" "),s("th",[t._v("Output HTML")]),t._v(" "),s("th",[t._v("Parsed Header")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[s("pre",{pre:!0},[s("code",[t._v(" # text <Tag/> ")])])]),t._v(" "),s("td",[s("code",[t._v("<h1>text <Tag/></h1>")])]),t._v(" "),s("td",[s("code",[t._v("text")])])]),t._v(" "),s("tr",[s("td",[s("pre",{pre:!0},[s("code",[t._v(" # text `<Tag/>` ")])])]),t._v(" "),s("td",[s("code",[t._v("<h1>text <code><Tag/></code></h1>")])]),t._v(" "),s("td",[s("code",[t._v("text <Tag/>")])])])])]),t._v(" "),s("p",[t._v("The HTML wrapped by "),s("code",[t._v("<code>")]),t._v(" will be displayed as is, only the HTML that is not wrapped will be parsed by Vue.")]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("The output HTML is accomplished by "),s("a",{attrs:{href:"https://github.com/markdown-it/markdown-it",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it"),s("OutboundLink")],1),t._v(", while the parsed headers are done by VuePress, and used for the "),s("router-link",{attrs:{to:"./../theme/default-theme-config.html#sidebar"}},[t._v("sidebar")]),t._v(" and the document title.")],1)]),t._v(" "),s("h2",{attrs:{id:"using-pre-processors"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#using-pre-processors","aria-hidden":"true"}},[t._v("#")]),t._v(" Using Pre-processors")]),t._v(" "),s("p",[t._v("VuePress has built-in webpack config for the following pre-processors: "),s("code",[t._v("sass")]),t._v(", "),s("code",[t._v("scss")]),t._v(", "),s("code",[t._v("less")]),t._v(", "),s("code",[t._v("stylus")]),t._v(" and "),s("code",[t._v("pug")]),t._v(". All you need to do is installing the corresponding dependencies. For example, to enable "),s("code",[t._v("sass")]),t._v(", install the following in your project:")]),t._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[t._v("yarn add -D sass-loader node-sass\n")])])]),s("p",[t._v("Now you can use the following in markdown and theme components:")]),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("lang")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("sass"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{attrs:{class:"token style language-css"}},[t._v("\n.title\n "),s("span",{attrs:{class:"token property"}},[t._v("font-size")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px\n")]),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("style")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("p",[t._v("Using "),s("code",[t._v('<template lang="pug">')]),t._v(" requires installing "),s("code",[t._v("pug")]),t._v(" and "),s("code",[t._v("pug-plain-loader")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[t._v("yarn add -D pug pug-plain-loader\n")])])]),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("If you are a Stylus user, you don't need to install "),s("code",[t._v("stylus")]),t._v(" and "),s("code",[t._v("stylus-loader")]),t._v(" in your project because VuePress uses Stylus internally.")]),t._v(" "),s("p",[t._v("For pre-processors that do not have built-in webpack config support, you will need to "),s("router-link",{attrs:{to:"./../config/#configurewebpack"}},[t._v("extend the internal webpack config")]),t._v(" in addition to installing the necessary dependencies.")],1)]),t._v(" "),s("h2",{attrs:{id:"script-style-hoisting"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#script-style-hoisting","aria-hidden":"true"}},[t._v("#")]),t._v(" Script & Style Hoisting")]),t._v(" "),s("p",[t._v("Sometimes you may need to apply some JavaScript or CSS only to the current page. In those cases you can directly write root-level "),s("code",[t._v("<script>")]),t._v(" or "),s("code",[t._v("<style>")]),t._v(" blocks in the markdown file, and they will be hoisted out of the compiled HTML and used as the "),s("code",[t._v("<script>")]),t._v(" and "),s("code",[t._v("<style>")]),t._v(" blocks for the resulting Vue single-file component.")]),t._v(" "),s("p",{staticClass:"demo",class:t.$style.example}),t._v(" "),s("h2",{attrs:{id:"built-in-components"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#built-in-components","aria-hidden":"true"}},[t._v("#")]),t._v(" Built-In Components")]),t._v(" "),s("h3",{attrs:{id:"outboundlink"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#outboundlink","aria-hidden":"true"}},[t._v("#")]),t._v(" OutboundLink "),s("Badge",{attrs:{text:"stable"}})],1),t._v(" "),s("p",[t._v("It("),s("OutboundLink"),t._v(") is used to indicate that this is an external link. In VuePress this component have been followed by every external link.")],1),t._v(" "),s("h3",{attrs:{id:"clientonly"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#clientonly","aria-hidden":"true"}},[t._v("#")]),t._v(" ClientOnly "),s("Badge",{attrs:{text:"stable"}})],1),t._v(" "),s("p",[t._v("See "),s("a",{attrs:{href:"#browser-api-access-restrictions"}},[t._v("Browser API Access Restrictions")]),t._v(".")]),t._v(" "),s("h3",{attrs:{id:"content"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#content","aria-hidden":"true"}},[t._v("#")]),t._v(" Content "),s("Badge",{attrs:{text:"beta",type:"warn"}})],1),t._v(" "),s("ul",[s("li",[s("p",[s("strong",[t._v("Props")]),t._v(":")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("custom")]),t._v(" - boolean")])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Usage")]),t._v(":")])])]),t._v(" "),s("p",[t._v("The compiled content of the current "),s("code",[t._v(".md")]),t._v(" file being rendered. This will be very useful when you use "),s("router-link",{attrs:{to:"./../theme/default-theme-config.html#custom-layout-for-specific-pages"}},[t._v("Custom Layout")]),t._v(".")],1),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n")])])]),s("p",[s("strong",[t._v("Also see:")])]),t._v(" "),s("ul",[s("li",[s("router-link",{attrs:{to:"./../theme/writing-a-theme.html#content-outlet"}},[t._v("Custom Themes > Content Outlet")])],1)]),t._v(" "),s("h3",{attrs:{id:"badge"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#badge","aria-hidden":"true"}},[t._v("#")]),t._v(" Badge "),s("Badge",{attrs:{text:"beta",type:"warn"}}),t._v(" "),s("Badge",{attrs:{text:"0.10.1+"}})],1),t._v(" "),s("ul",[s("li",[s("p",[s("strong",[t._v("Props")]),t._v(":")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("text")]),t._v(" - string")]),t._v(" "),s("li",[s("code",[t._v("type")]),t._v(" - string, optional value: "),s("code",[t._v('"tip"|"warn"|"error"')]),t._v(", defaults to "),s("code",[t._v('"tip"')]),t._v(".")]),t._v(" "),s("li",[s("code",[t._v("vertical")]),t._v(" - string, optional value: "),s("code",[t._v('"top"|"middle"')]),t._v(", defaults to "),s("code",[t._v('"top"')]),t._v(".")])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Usage")]),t._v(":")])])]),t._v(" "),s("p",[t._v("You can use this component in header to add some status for some API:")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[s("span",{attrs:{class:"token title important"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("###")]),t._v(' Badge <Badge text="beta" type="warn"/> <Badge text="0.10.1+"/>')]),t._v("\n")])])]),s("p",[s("strong",[t._v("Also see:")])]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#using-components-in-headers"}},[t._v("Using Components In Headers")])])])],1)},[],!1,function(t){this.$style=n.default.locals||n.default},null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/19.6749c256.js b/vuepress/assets/js/19.6749c256.js new file mode 100644 index 0000000000..ab4b0998ba --- /dev/null +++ b/vuepress/assets/js/19.6749c256.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{216:function(t,e,s){"use strict";s.r(e);var a={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=s(5),r=Object(n.a)(a,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"design-concepts-of-vuepress-1-x"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#design-concepts-of-vuepress-1-x","aria-hidden":"true"}},[t._v("#")]),t._v(" Design Concepts of VuePress 1.x")]),t._v(" "),s("p",[t._v("The design concepts of VuePress 1.x are mainly reflected in the following aspects:")]),t._v(" "),s("ol",[s("li",[t._v("Pluggable.")]),t._v(" "),s("li",[t._v("Convention over configuration.")]),t._v(" "),s("li",[t._v("Reasonable priority management.")])]),t._v(" "),s("h2",{attrs:{id:"pluggable"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#pluggable","aria-hidden":"true"}},[t._v("#")]),t._v(" Pluggable")]),t._v(" "),s("p",[t._v("VuePress 1.0 has been rewritten extensively, and the most important one is the introduction of the "),s("router-link",{attrs:{to:"./../plugin/"}},[t._v("Plugin API")]),t._v(". So what're the benefits of plugins?")],1),t._v(" "),s("h3",{attrs:{id:"decoupling"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#decoupling","aria-hidden":"true"}},[t._v("#")]),t._v(" Decoupling")]),t._v(" "),s("p",[t._v("With plugins, we can implement many of the core functions with plugins, and you can see many built-in plugins "),s("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/core/lib/internal-plugins",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),s("OutboundLink")],1),t._v(" that cover many of the core functions of VuePress, which used to blend in all parts of the code base, but now they're clear at a glance.")]),t._v(" "),s("h3",{attrs:{id:"configuration-management"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#configuration-management","aria-hidden":"true"}},[t._v("#")]),t._v(" Configuration management")]),t._v(" "),s("p",[t._v("In the past, when we came across some less common requirements, we had some doubts: if we wanted to not support it, VuePress usage scenarios were limited; but if we wanted to support it, we had to write it into the core code base and set up a separate configuration API for it. For the maintainers, apart from not conducive to long-term maintenance, this sometimes makes us feel exhausted. We must think of some better solutions. Yes, this is plugin.")]),t._v(" "),s("h3",{attrs:{id:"vuepress-config-js-is-also-a-plugin"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-config-js-is-also-a-plugin","aria-hidden":"true"}},[t._v("#")]),t._v(" "),s("code",[t._v(".vuepress/config.js")]),t._v(" is also a plugin")]),t._v(" "),s("p",[t._v("Yes, your configuration file is also a plugin, so you can use the Plugin API directly without having to create a new plugin for it and import it in the configuration.")]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("The options supported by "),s("code",[t._v(".vuepress/config.js")]),t._v(" are actually based on the plugin options and add some specific options.")])]),t._v(" "),s("h3",{attrs:{id:"theme-index-js-is-also-a-plugin"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#theme-index-js-is-also-a-plugin","aria-hidden":"true"}},[t._v("#")]),t._v(" "),s("code",[t._v("theme/index.js")]),t._v(" is also a plugin")]),t._v(" "),s("p",[t._v("The root configuration file of the theme is also a plugin.")]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("As with "),s("code",[t._v(".vuepress/config.js")]),t._v(", the options supported by "),s("code",[t._v("theme/config.js")]),t._v(" are based on the plugin options and add some specific options. Using a graph to express their relationship:")]),t._v(" "),s("svg",{attrs:{viewBox:"0 0 2806 912",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}},[s("desc",[t._v("Created with Sketch.")]),t._v(" "),s("defs"),t._v(" "),s("g",{attrs:{id:"Page-1",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"}},[s("rect",{attrs:{id:"Rectangle-3","fill-opacity":"0",fill:"#FFFFFF",x:"0",y:"0",width:"2806",height:"912"}}),t._v(" "),s("circle",{attrs:{id:"Oval",stroke:"#979797",fill:"#EC5975",cx:"1212.5",cy:"455.5",r:"355.5"}}),t._v(" "),s("circle",{attrs:{id:"Oval",stroke:"#979797",fill:"#937AC4",cx:"1592.5",cy:"455.5",r:"355.5"}}),t._v(" "),s("path",{attrs:{d:"M1402.5,155.000018 C1501.96722,218.018606 1568,329.058303 1568,455.520781 C1568,581.983259 1501.96722,693.022956 1402.5,756.041544 C1303.03279,693.022977 1237,581.983271 1237,455.520781 C1237,329.058291 1303.03279,218.018585 1402.50003,155 Z",id:"Combined-Shape",stroke:"#FFFFFF","stroke-width":"10",fill:"#00BD8C"}}),t._v(" "),s("text",{attrs:{id:".vuepress/-config.js","font-family":"ArialMT, Arial","font-size":"60","font-weight":"normal",fill:"#FFFFFF"}},[s("tspan",{attrs:{x:"901.101562",y:"436"}},[t._v(".vuepress/")]),t._v(" "),s("tspan",{attrs:{x:"929.446289",y:"503"}},[t._v("config.js")])]),t._v(" "),s("text",{attrs:{id:"Plugin-API","font-family":"ArialMT, Arial","font-size":"72","font-weight":"normal",fill:"#FFFFFF"}},[s("tspan",{attrs:{x:"1302.42773",y:"436"}},[t._v("Plugin")]),t._v(" "),s("tspan",{attrs:{x:"1344.47461",y:"516"}},[t._v("API")])]),t._v(" "),s("text",{attrs:{id:"theme/-index.js","font-family":"ArialMT, Arial","font-size":"60","font-weight":"normal",fill:"#FFFFFF"}},[s("tspan",{attrs:{x:"1662.78613",y:"436"}},[t._v("theme/")]),t._v(" "),s("tspan",{attrs:{x:"1652.78125",y:"503"}},[t._v("index.js")])])])])]),t._v(" "),s("h3",{attrs:{id:"apply-plugins-in-a-plugin"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#apply-plugins-in-a-plugin","aria-hidden":"true"}},[t._v("#")]),t._v(" Apply plugins in a plugin")]),t._v(" "),s("p",[t._v("In VuePress, you have the ability to apply some plugins in a plugin:")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// vuepress-plugin-xxx")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'a'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'b'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'c'")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"convention-over-configuration"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#convention-over-configuration","aria-hidden":"true"}},[t._v("#")]),t._v(" Convention over configuration.")]),t._v(" "),s("p",[t._v("VuePress 1.0 begin to introduce some conventions to reduce the user's excessive configuration pressure, the most intuitive manifestation of this is the conventions for the "),s("router-link",{attrs:{to:"./../guide/directory-structure.html"}},[t._v("document directory structure")]),t._v(" and the "),s("router-link",{attrs:{to:"./../theme/writing-a-theme.html#directory-structure"}},[t._v("theme directory structure")]),t._v(".")],1),t._v(" "),s("p",[t._v("In the future, we may combine community feedback to introduce more agreements. Let's wait and see.")]),t._v(" "),s("h2",{attrs:{id:"reasonable-priority-management"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#reasonable-priority-management","aria-hidden":"true"}},[t._v("#")]),t._v(" Reasonable priority management.")]),t._v(" "),s("p",[t._v("Senior users have found that both theme developers and regular users have the ability to customize global "),s("code",[t._v("palettes")]),t._v(", "),s("code",[t._v("styles")]),t._v(", "),s("code",[t._v("templates")]),t._v(" and "),s("code",[t._v("plugins")]),t._v(", so how do they work together?")]),t._v(" "),s("h3",{attrs:{id:"loading-priority"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#loading-priority","aria-hidden":"true"}},[t._v("#")]),t._v(" Loading Priority")]),t._v(" "),s("p",[t._v("For "),s("code",[t._v("templates/*")]),t._v(", follow the certain loading priority. Taking "),s("code",[t._v("templates/ssr.html")]),t._v(" as an example:")]),t._v(" "),s("p",[t._v("@flowstart\ncond1=>condition: User's ssr.html\nexists?\ncond2=>condition: Theme's ssr.html\nexists?\nstage1=>operation: Using user's ssr.html\nstage2=>operation: Using theme's ssr.html\nstage3=>operation: Using default ssr.html")]),t._v(" "),s("p",[t._v("cond1(no, right)->cond2(no)->stage3\ncond1(yes, bottom)->stage1\ncond2(yes, bottom)->stage2\n@flowend")]),t._v(" "),s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),s("p",[t._v("When customizing "),s("code",[t._v("templates/ssr.html")]),t._v(", or "),s("code",[t._v("templates/dev.html")]),t._v(", it is best to modify it on the basis of the "),s("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/%40vuepress/core/lib/app/index.dev.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("default template files"),s("OutboundLink")],1),t._v(", otherwise it may cause a build failure.")])]),t._v(" "),s("h3",{attrs:{id:"overriding"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#overriding","aria-hidden":"true"}},[t._v("#")]),t._v(" Overriding")]),t._v(" "),s("p",[t._v("For "),s("code",[t._v("palette.styl")]),t._v(", "),s("code",[t._v("index.styl")]),t._v(" and "),s("code",[t._v("plugins")]),t._v(", follow the principles of overriding:")]),t._v(" "),s("h4",{attrs:{id:"palette-styl"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#palette-styl","aria-hidden":"true"}},[t._v("#")]),t._v(" palette.styl")]),t._v(" "),s("p",[t._v("User's "),s("code",[t._v("styles/palette.styl")]),t._v(" has a higher priority than the theme's "),s("code",[t._v("styles/palette.styl")]),t._v(", so the theme can define its own palette and the user can tweak it. e.g.")]),t._v(" "),s("div",{staticClass:"language-stylus extra-class"},[s("pre",{pre:!0,attrs:{class:"language-stylus"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// theme/styles/palette.styl")]),t._v("\n"),s("span",{attrs:{class:"token variable-declaration"}},[s("span",{attrs:{class:"token variable"}},[t._v("$accentColor")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token hexcode"}},[t._v("#0f0")])]),t._v("\n")])])]),s("div",{staticClass:"language-stylus extra-class"},[s("pre",{pre:!0,attrs:{class:"language-stylus"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/styles/palette.styl")]),t._v("\n"),s("span",{attrs:{class:"token variable-declaration"}},[s("span",{attrs:{class:"token variable"}},[t._v("$accentColor")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token hexcode"}},[t._v("#f00")])]),t._v("\n")])])]),s("p",[t._v("So the final value of "),s("code",[t._v("$accentColor")]),t._v(" is "),s("code",[t._v("#f00")]),t._v(".")]),t._v(" "),s("h4",{attrs:{id:"index-styl"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#index-styl","aria-hidden":"true"}},[t._v("#")]),t._v(" index.styl")]),t._v(" "),s("p",[t._v("Both the user's "),s("code",[t._v("styles/index.styl")]),t._v(" and the theme's "),s("code",[t._v("styles/index.styl")]),t._v(" are generated into the final "),s("code",[t._v("CSS")]),t._v(" file, but the user's style is generated later and therefore has higher priority. e.g.")]),t._v(" "),s("div",{staticClass:"language-stylus extra-class"},[s("pre",{pre:!0,attrs:{class:"language-stylus"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// theme/styles/index.styl")]),t._v("\n"),s("span",{attrs:{class:"token selector"}},[t._v(".content")]),t._v("\n "),s("span",{attrs:{class:"token property-declaration"}},[s("span",{attrs:{class:"token property"}},[t._v("font-size")]),t._v(" "),s("span",{attrs:{class:"token number"}},[t._v("14")]),t._v("px")]),t._v("\n")])])]),s("div",{staticClass:"language-stylus extra-class"},[s("pre",{pre:!0,attrs:{class:"language-stylus"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/styles/index.styl")]),t._v("\n"),s("span",{attrs:{class:"token selector"}},[t._v(".content")]),t._v("\n "),s("span",{attrs:{class:"token property-declaration"}},[s("span",{attrs:{class:"token property"}},[t._v("font-size")]),t._v(" "),s("span",{attrs:{class:"token number"}},[t._v("15")]),t._v("px")]),t._v("\n")])])]),s("p",[t._v("The final generated CSS is as follows:")]),t._v(" "),s("div",{staticClass:"language-css extra-class"},[s("pre",{pre:!0,attrs:{class:"language-css"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("/* theme/styles/index.styl */")]),t._v("\n"),s("span",{attrs:{class:"token selector"}},[t._v(".content")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token property"}},[t._v("font-size")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 14px"),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),s("span",{attrs:{class:"token comment"}},[t._v("/* theme/styles/index.styl */")]),t._v("\n"),s("span",{attrs:{class:"token selector"}},[t._v(".content")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token property"}},[t._v("font-size")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 15px"),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h4",{attrs:{id:"plugins"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#plugins","aria-hidden":"true"}},[t._v("#")]),t._v(" plugins")]),t._v(" "),s("p",[t._v("Since all plugins with the same name can be applied ONLY once by default, users can override the default options for plugins in theme. e.g.")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// theme/index.js")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'@vuepress/i18n-ui'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" route"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'/i18n-page/'")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'@vuepress/i18n-ui'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" route"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'/i18n/'")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("Then the final route of i18n UI is "),s("code",[t._v("/i18n/")]),t._v(".")]),t._v(" "),s("h2",{attrs:{id:"others"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#others","aria-hidden":"true"}},[t._v("#")]),t._v(" Others")]),t._v(" "),s("p",[t._v("With the goal of decoupling, we were able to separate VuePress into the following libraries by introducing monorepo:")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/cli",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/cli"),s("OutboundLink")],1),t._v(": Management of command line;")]),t._v(" "),s("li",[s("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/core",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/core"),s("OutboundLink")],1),t._v(":Including the core implementation of "),s("code",[t._v("dev")]),t._v(", "),s("code",[t._v("build")]),t._v(" and "),s("code",[t._v("Plugin API")]),t._v(";")]),t._v(" "),s("li",[s("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/theme-default",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/theme-default"),s("OutboundLink")],1),t._v(":The default theme you see now.")])]),t._v(" "),s("p",[t._v("Of course, for most users, you don't need to care about these three libraries, package "),s("a",{attrs:{href:"https://www.npmjs.com/search?Q=vuepress",target:"_blank",rel:"noopener noreferrer"}},[t._v("vuepress"),s("OutboundLink")],1),t._v(" has already assembled them together, so you can use VuePress like "),s("code",[t._v("0.x")]),t._v(".")])])},[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/2.9a3d3cef.js b/vuepress/assets/js/2.9a3d3cef.js new file mode 100644 index 0000000000..6ad723f908 --- /dev/null +++ b/vuepress/assets/js/2.9a3d3cef.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{134:function(t,e,s){},161:function(t,e,s){"use strict";var n=s(134);s.n(n).a},200:function(t,e,s){"use strict";s.r(e);var n=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],o={methods:{getMsg:function(){return n[Math.floor(Math.random()*n.length)]}}},i=(s(161),s(5)),r=Object(i.a)(o,function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"theme-container"},[e("div",{staticClass:"content"},[e("h1",[this._v("404")]),this._v(" "),e("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),e("router-link",{attrs:{to:"/"}},[this._v("Take me home.")])],1)])},[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/20.52144952.js b/vuepress/assets/js/20.52144952.js new file mode 100644 index 0000000000..a609d1776e --- /dev/null +++ b/vuepress/assets/js/20.52144952.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{217:function(e,t,a){"use strict";a.r(t);var r={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},s=a(5),o=Object(s.a)(r,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.slotKey}},[a("h1",{attrs:{id:"glossary"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#glossary","aria-hidden":"true"}},[e._v("#")]),e._v(" Glossary")]),e._v(" "),a("p",[e._v("You may encounter some unfamiliar concepts in the documentation. This section lists the common terms in the documentation for easy access, learning and plugin/theme development.")]),e._v(" "),a("h2",{attrs:{id:"frontmatter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#frontmatter","aria-hidden":"true"}},[e._v("#")]),e._v(" frontmatter")]),e._v(" "),a("blockquote",[a("p",[e._v("Access: "),a("code",[e._v("$page.frontmatter")])])]),e._v(" "),a("p",[e._v("Configuration wrapped by "),a("code",[e._v("---")]),e._v(" in the "),a("code",[e._v("markdown")]),e._v(" file of the current page, which is generally used to do some page-level configuration.")]),e._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("Features such as VuePress's dynamic layout system are based on "),a("code",[e._v("frontmatter")]),e._v(". You can use the plugin API "),a("router-link",{attrs:{to:"./../plugin/option-api.html#extendpagedata"}},[e._v("extendPageData")]),e._v(" to dynamically modify the value of frontmatter during build time.")],1)]),e._v(" "),a("h2",{attrs:{id:"permalink"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#permalink","aria-hidden":"true"}},[e._v("#")]),e._v(" permalink")]),e._v(" "),a("blockquote",[a("p",[e._v("Access: "),a("code",[e._v("$page.frontmatter.permalink")])])]),e._v(" "),a("p",[e._v("For permalinks, see "),a("router-link",{attrs:{to:"./../guide/permalinks.html"}},[e._v("permalinks")]),e._v(" for more.")],1),e._v(" "),a("h2",{attrs:{id:"regularpath"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#regularpath","aria-hidden":"true"}},[e._v("#")]),e._v(" regularPath")]),e._v(" "),a("blockquote",[a("p",[e._v("Access: "),a("code",[e._v("$page.regularPath")])])]),e._v(" "),a("p",[e._v("The current page is based on the URL generated by the directory structure.")]),e._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("When dynamically generating routes during the build period, a page's URL ("),a("code",[e._v("$page.path")]),e._v(") will use "),a("code",[e._v("$page.frontmatter.permalink")]),e._v(" first, and if it doesn't exist, it will be downgraded to "),a("code",[e._v("$page.regularPath")]),e._v(".")])]),e._v(" "),a("h2",{attrs:{id:"headers"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#headers","aria-hidden":"true"}},[e._v("#")]),e._v(" headers")]),e._v(" "),a("blockquote",[a("p",[e._v("Access: "),a("code",[e._v("$page.headers")])])]),e._v(" "),a("p",[e._v("That is, those titles defined by one or more "),a("code",[e._v("#")]),e._v(" in "),a("code",[e._v("markdown")]),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"siteconfig"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#siteconfig","aria-hidden":"true"}},[e._v("#")]),e._v(" siteConfig")]),e._v(" "),a("blockquote",[a("p",[e._v("Access: "),a("code",[e._v("$site | Context.siteConfig")])])]),e._v(" "),a("p",[a("code",[e._v(".vuepress/config.js")]),e._v(", i.e., "),a("code",[e._v("site configuration")]),e._v("。")]),e._v(" "),a("h2",{attrs:{id:"themeconfig"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#themeconfig","aria-hidden":"true"}},[e._v("#")]),e._v(" themeConfig")]),e._v(" "),a("blockquote",[a("p",[e._v("Access: "),a("code",[e._v("$site | Context.themeConfig")])])]),e._v(" "),a("p",[e._v("Value of "),a("code",[e._v("themeConfig")]),e._v(" in "),a("code",[e._v(".vuepress/config.js")]),e._v(", i.e., "),a("code",[e._v("user's theme configuration")]),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"themepath"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#themepath","aria-hidden":"true"}},[e._v("#")]),e._v(" themePath")]),e._v(" "),a("blockquote",[a("p",[e._v("Access: "),a("code",[e._v("Context.themePath")])])]),e._v(" "),a("p",[e._v("Root path (absolute path) of the currently used theme.")]),e._v(" "),a("h2",{attrs:{id:"themeentryfile"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#themeentryfile","aria-hidden":"true"}},[e._v("#")]),e._v(" themeEntryFile")]),e._v(" "),a("blockquote",[a("p",[e._v("Access: "),a("code",[e._v("Context.themeEntryFile")])])]),e._v(" "),a("p",[e._v("Theme's configuration file ("),a("code",[e._v("themePath/index.js")]),e._v(").")]),e._v(" "),a("h2",{attrs:{id:"layout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#layout","aria-hidden":"true"}},[e._v("#")]),e._v(" layout")]),e._v(" "),a("blockquote",[a("p",[e._v("Access: "),a("code",[e._v("$page.frontmatter.layout")])])]),e._v(" "),a("p",[e._v("Name of the layout component used by the current page.")])])},[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/21.a733da80.js b/vuepress/assets/js/21.a733da80.js new file mode 100644 index 0000000000..619ace425a --- /dev/null +++ b/vuepress/assets/js/21.a733da80.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{218:function(e,t,a){"use strict";a.r(t);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},r=a(5),n=Object(r.a)(s,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.slotKey}},[a("h1",{attrs:{id:"migration-from-0-x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#migration-from-0-x","aria-hidden":"true"}},[e._v("#")]),e._v(" Migration from 0.x")]),e._v(" "),a("h2",{attrs:{id:"site-config"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#site-config","aria-hidden":"true"}},[e._v("#")]),e._v(" Site Config")]),e._v(" "),a("h3",{attrs:{id:"ga"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ga","aria-hidden":"true"}},[e._v("#")]),e._v(" ga "),a("Badge",{attrs:{text:"replaced"}})],1),e._v(" "),a("p",[e._v("GA has been separated into a standalone plugin "),a("router-link",{attrs:{to:"./../plugin/official/plugin-google-analytics.html"}},[e._v("@vuepress/google-analytics")]),e._v(".")],1),e._v(" "),a("UpgradePath",{attrs:{title:""}},[a("ol",[a("li",[e._v("Install "),a("code",[e._v("@vuepress/google-analytics")]),e._v(":")])]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("yarn add @vuepress/google-analytics -D\n")])])]),a("ol",{attrs:{start:"2"}},[a("li",[e._v("Update "),a("code",[e._v("vuepress/config.js")]),e._v(":")])]),e._v(" "),a("div",{staticClass:"language-diff extra-class"},[a("pre",{pre:!0,attrs:{class:"language-diff"}},[a("code",[e._v("module.exports = {\n"),a("span",{attrs:{class:"token deleted"}},[e._v("- markdown: {")]),e._v("\n"),a("span",{attrs:{class:"token deleted"}},[e._v("- config(md) { /* ... */ }")]),e._v("\n"),a("span",{attrs:{class:"token deleted"}},[e._v("- },")]),e._v("\n"),a("span",{attrs:{class:"token inserted"}},[e._v("+ extendMarkdown(md) { /* ... */ }")]),e._v("\n}\n")])])])]),a("h3",{attrs:{id:"markdown-config"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#markdown-config","aria-hidden":"true"}},[e._v("#")]),e._v(" markdown.config "),a("Badge",{attrs:{text:"renamed"}})],1),e._v(" "),a("p",[e._v("Using "),a("code",[e._v("extendMarkdown")]),e._v(":。")]),e._v(" "),a("UpgradePath",{attrs:{title:""}},[a("p",[e._v("Update "),a("code",[e._v("vuepress/config.js")]),e._v(":")]),e._v(" "),a("div",{staticClass:"language-diff extra-class"},[a("pre",{pre:!0,attrs:{class:"language-diff"}},[a("code",[e._v("// vuepress/config.js\nmodule.exports = {\n"),a("span",{attrs:{class:"token deleted"}},[e._v("- markdown: {")]),e._v("\n"),a("span",{attrs:{class:"token deleted"}},[e._v("- config(md) { /* ... */ }")]),e._v("\n"),a("span",{attrs:{class:"token deleted"}},[e._v("- },")]),e._v("\n"),a("span",{attrs:{class:"token inserted"}},[e._v("+ extendMarkdown(md) { /* ... */ }")]),e._v("\n}\n")])])])]),a("h3",{attrs:{id:"serviceworker"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#serviceworker","aria-hidden":"true"}},[e._v("#")]),e._v(" serviceWorker "),a("Badge",{attrs:{text:"replaced"}})],1),e._v(" "),a("p",[e._v("Service Worker related features have been separated into a standalone plugin "),a("router-link",{attrs:{to:"./../plugin/official/plugin-pwa.html"}},[e._v("@vuepress/plugin-pwa")]),e._v(".")],1),e._v(" "),a("UpgradePath",{attrs:{title:""}},[a("p",[e._v("See: "),a("router-link",{attrs:{to:"./../plugin/official/plugin-pwa.html#migration-from-0-x"}},[e._v("@vuepress/plugin-pwa > Migration from 0.x")])],1)]),a("h2",{attrs:{id:"default-theme-config"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#default-theme-config","aria-hidden":"true"}},[e._v("#")]),e._v(" Default Theme Config")]),e._v(" "),a("h3",{attrs:{id:"vuepress-override-styl"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-override-styl","aria-hidden":"true"}},[e._v("#")]),e._v(" "),a("code",[e._v(".vuepress/override.styl")]),e._v(" "),a("Badge",{attrs:{text:"replaced"}})],1),e._v(" "),a("p",[e._v("Replaced by "),a("code",[e._v(".vuepress/styles/palette.styl")]),e._v(".")]),e._v(" "),a("UpgradePath",{attrs:{title:""}},[a("p",[e._v("See: "),a("router-link",{attrs:{to:"./../config/#palette-styl"}},[e._v("Config > palette.styl")])],1)]),a("h3",{attrs:{id:"vuepress-style-styl"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-style-styl","aria-hidden":"true"}},[e._v("#")]),e._v(" "),a("code",[e._v(".vuepress/style.styl")]),e._v(" "),a("Badge",{attrs:{text:"replaced"}})],1),e._v(" "),a("p",[e._v("Replaced by "),a("code",[e._v(".vuepress/styles/index.styl")]),e._v(" 代替.")]),e._v(" "),a("UpgradePath",{attrs:{title:""}},[a("p",[e._v("See: "),a("router-link",{attrs:{to:"./../config/#index-styl"}},[e._v("Config > index.styl")])],1)])],1)},[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/22.cca14839.js b/vuepress/assets/js/22.cca14839.js new file mode 100644 index 0000000000..56cae875f1 --- /dev/null +++ b/vuepress/assets/js/22.cca14839.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{219:function(t,e,i){"use strict";i.r(e);var l={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=i(5),r=Object(n.a)(l,function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[i("h1",{attrs:{id:"plugin"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#plugin","aria-hidden":"true"}},[t._v("#")]),t._v(" Plugin")]),t._v(" "),i("p",[t._v("Plugins usually add global-level functionality to VuePress. There is no strictly defined scope for a plugin - there are typically several types of plugins:")]),t._v(" "),i("ol",[i("li",[t._v("Extend the data generated at compile time. e.g. "),i("router-link",{attrs:{to:"./official/plugin-last-updated.html"}},[t._v("@vuepress/plugin-last-updated")]),t._v(";")],1),t._v(" "),i("li",[t._v("Generate extra files before or after compilation. e.g. "),i("router-link",{attrs:{to:"./official/plugin-pwa.html"}},[t._v("@vuepress/plugin-pwa")]),t._v(";")],1),t._v(" "),i("li",[t._v("Add extra pages. e.g. "),i("router-link",{attrs:{to:"./official/plugin-i18n-ui.html"}},[t._v("@vuepress/plugin-i18n-ui")]),t._v(";")],1),t._v(" "),i("li",[t._v("Inject global UI. e.g. "),i("router-link",{attrs:{to:"./official/plugin-back-to-top.html"}},[t._v("@vuepress/plugin-back-to-top")]),t._v(".")],1)]),t._v(" "),i("p",[i("img",{attrs:{src:"/architecture.png",alt:"Architecture of VuePress"}})])])},[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/23.d93cc55b.js b/vuepress/assets/js/23.d93cc55b.js new file mode 100644 index 0000000000..6b3f52ce9e --- /dev/null +++ b/vuepress/assets/js/23.d93cc55b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{220:function(t,e,a){"use strict";a.r(e);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},r=a(5),n=Object(r.a)(s,function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"context-api"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#context-api","aria-hidden":"true"}},[t._v("#")]),t._v(" Context API")]),t._v(" "),a("p",[t._v("Starting with VuePress 1.x.x, VuePress provides an "),a("code",[t._v("AppContext")]),t._v(" object that stores all the state of the current app and can be accessed through the plugin API.")]),t._v(" "),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),a("p",[t._v("Context of each plugin is a isolated context inherited from the same app context.")])]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"ctx-isprod"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ctx-isprod","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.isProd")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("boolean")])])]),t._v(" "),a("p",[t._v("Whether VuePress run in production environment mode.")]),t._v(" "),a("h2",{attrs:{id:"ctx-sourcedir"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ctx-sourcedir","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.sourceDir")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])])]),t._v(" "),a("p",[t._v("Root directory where the documents are located.")]),t._v(" "),a("h2",{attrs:{id:"ctx-temppath"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ctx-temppath","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.tempPath")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])])]),t._v(" "),a("p",[t._v("Root directory where the temporary files are located.")]),t._v(" "),a("h2",{attrs:{id:"ctx-outdir"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ctx-outdir","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.outDir")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])])]),t._v(" "),a("p",[t._v("Output path.")]),t._v(" "),a("h2",{attrs:{id:"ctx-themepath"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ctx-themepath","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.themePath")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])])]),t._v(" "),a("p",[t._v("The path of the currently active theme.")]),t._v(" "),a("h2",{attrs:{id:"ctx-base"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ctx-base","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.base")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])])]),t._v(" "),a("p",[t._v("See: "),a("router-link",{attrs:{to:"./../config/#base"}},[t._v("base")]),t._v(".")],1),t._v(" "),a("h2",{attrs:{id:"ctx-writetemp"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ctx-writetemp","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.writeTemp")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Function")])])]),t._v(" "),a("p",[t._v("A utility for writing temporary files to tempPath.")])])},[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/24.1e5b5d2a.js b/vuepress/assets/js/24.1e5b5d2a.js new file mode 100644 index 0000000000..642a6db5fc --- /dev/null +++ b/vuepress/assets/js/24.1e5b5d2a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{221:function(t,a,s){"use strict";s.r(a);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=s(5),c=Object(e.a)(n,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"life-cycle"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#life-cycle","aria-hidden":"true"}},[t._v("#")]),t._v(" Life Cycle")]),t._v(" "),s("h2",{attrs:{id:"ready"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ready","aria-hidden":"true"}},[t._v("#")]),t._v(" ready")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("AsyncFunction")])]),t._v(" "),s("li",[t._v("Scope:"),s("code",[t._v("dev|build")])])]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("ready")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),s("p",[t._v("The "),s("code",[t._v("ready")]),t._v(" hook is executed after the application is initialized and before some specific functional APIs are executed. These functional APIs include:")]),t._v(" "),s("ul",[s("li",[t._v("clientDynamicModules")]),t._v(" "),s("li",[t._v("enhanceAppFiles")])])]),t._v(" "),s("h2",{attrs:{id:"updated"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#updated","aria-hidden":"true"}},[t._v("#")]),t._v(" updated")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("Function")])]),t._v(" "),s("li",[t._v("Scope:"),s("code",[t._v("dev")])])]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token function"}},[t._v("updated")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"generated"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#generated","aria-hidden":"true"}},[t._v("#")]),t._v(" generated")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("AsyncFunction")])]),t._v(" "),s("li",[t._v("Scope:"),s("code",[t._v("build")])])]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("generated")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);a.default=c.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/25.7c13839d.js b/vuepress/assets/js/25.7c13839d.js new file mode 100644 index 0000000000..8741ff53d4 --- /dev/null +++ b/vuepress/assets/js/25.7c13839d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{222:function(t,a,s){"use strict";s.r(a);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=s(5),r=Object(n.a)(e,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"vuepress-plugin-active-header-links"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-active-header-links","aria-hidden":"true"}},[t._v("#")]),t._v(" "),s("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/plugin-active-header-links",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-active-header-links"),s("OutboundLink")],1)]),t._v(" "),s("blockquote",[s("p",[t._v("A plugin of automatically update header links when page scrolls")])]),t._v(" "),s("h2",{attrs:{id:"install"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#install","aria-hidden":"true"}},[t._v("#")]),t._v(" Install")]),t._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[t._v("yarn add -D @vuepress/plugin-active-header-links\n"),s("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-active-header-links")]),t._v("\n")])])]),s("h2",{attrs:{id:"usage"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#usage","aria-hidden":"true"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{attrs:{class:"token string"}},[t._v("'@vuepress/active-header-links'")]),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h3",{attrs:{id:"passing-options"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#passing-options","aria-hidden":"true"}},[t._v("#")]),t._v(" Passing Options")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{attrs:{class:"token string"}},[t._v("'@vuepress/active-header-links'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sidebarLinkSelector"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'.sidebar-link'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n headerAnchorSelector"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'.header-anchor'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n headerTopOffset"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token number"}},[t._v("120")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"options"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#options","aria-hidden":"true"}},[t._v("#")]),t._v(" Options")]),t._v(" "),s("h3",{attrs:{id:"sidebarlinkselector"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#sidebarlinkselector","aria-hidden":"true"}},[t._v("#")]),t._v(" sidebarLinkSelector")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("string")])]),t._v(" "),s("li",[t._v("Default: "),s("code",[t._v(".sidebar-link")])])]),t._v(" "),s("h3",{attrs:{id:"headeranchorselector"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#headeranchorselector","aria-hidden":"true"}},[t._v("#")]),t._v(" headerAnchorSelector")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("string")])]),t._v(" "),s("li",[t._v("Default: "),s("code",[t._v(".header-anchor")])])]),t._v(" "),s("h3",{attrs:{id:"headertopoffset"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#headertopoffset","aria-hidden":"true"}},[t._v("#")]),t._v(" headerTopOffset")]),t._v(" "),s("p",[t._v("The number of pixels that you want the header to be from the top of the page before updating the url hash switch to that header.")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("integer")])]),t._v(" "),s("li",[t._v("Default: "),s("code",[t._v("90")])])])])},[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/26.2a3806b6.js b/vuepress/assets/js/26.2a3806b6.js new file mode 100644 index 0000000000..bc39a9d2b9 --- /dev/null +++ b/vuepress/assets/js/26.2a3806b6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{223:function(t,s,a){"use strict";a.r(s);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=a(5),r=Object(n.a)(e,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"vuepress-plugin-back-to-top"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-back-to-top","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/plugin-back-to-top",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-back-to-top"),a("OutboundLink")],1)]),t._v(" "),a("blockquote",[a("p",[t._v("Back-to-top plugin")])]),t._v(" "),a("h2",{attrs:{id:"install"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install","aria-hidden":"true"}},[t._v("#")]),t._v(" Install")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("yarn add -D @vuepress/plugin-back-to-top\n"),a("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-back-to-top")]),t._v("\n")])])]),a("h2",{attrs:{id:"usage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#usage","aria-hidden":"true"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/back-to-top'")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/27.c450e6fb.js b/vuepress/assets/js/27.c450e6fb.js new file mode 100644 index 0000000000..537f0c1618 --- /dev/null +++ b/vuepress/assets/js/27.c450e6fb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{224:function(t,a,e){"use strict";e.r(a);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},r=e(5),n=Object(r.a)(s,function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[e("h1",{attrs:{id:"vuepress-plugin-blog"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-blog","aria-hidden":"true"}},[t._v("#")]),t._v(" "),e("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/plugin-blog",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-blog"),e("OutboundLink")],1)]),t._v(" "),e("blockquote",[e("p",[t._v("Blog plugin")])]),t._v(" "),e("h2",{attrs:{id:"install"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#install","aria-hidden":"true"}},[t._v("#")]),t._v(" Install")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("yarn add -D @vuepress/plugin-blog\n"),e("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-blog")]),t._v("\n")])])]),e("h2",{attrs:{id:"usage"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#usage","aria-hidden":"true"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[t._v("module"),e("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),e("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{attrs:{class:"token string"}},[t._v("'@vuepress/blog'")]),e("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("h2",{attrs:{id:"options"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#options","aria-hidden":"true"}},[t._v("#")]),t._v(" Options")]),t._v(" "),e("h3",{attrs:{id:"postsdir"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#postsdir","aria-hidden":"true"}},[t._v("#")]),t._v(" postsDir")]),t._v(" "),e("ul",[e("li",[t._v("Type: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("Default: "),e("code",[t._v("_posts")])])]),t._v(" "),e("h3",{attrs:{id:"categoryindexpageurl"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#categoryindexpageurl","aria-hidden":"true"}},[t._v("#")]),t._v(" categoryIndexPageUrl")]),t._v(" "),e("ul",[e("li",[t._v("Type: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("Default: "),e("code",[t._v("/category/")])])]),t._v(" "),e("h3",{attrs:{id:"tagindexpageurl"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#tagindexpageurl","aria-hidden":"true"}},[t._v("#")]),t._v(" tagIndexPageUrl")]),t._v(" "),e("ul",[e("li",[t._v("Type: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("Default: "),e("code",[t._v("/tag/")])])]),t._v(" "),e("h3",{attrs:{id:"permalink"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#permalink","aria-hidden":"true"}},[t._v("#")]),t._v(" permalink")]),t._v(" "),e("ul",[e("li",[t._v("Type: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("Default: "),e("code",[t._v("/:year/:month/:day/:slug")])])]),t._v(" "),e("p",[t._v("Configures the permalink generated for blog posts. See "),e("router-link",{attrs:{to:"/guide/permalinks.html#template-variables"}},[t._v("Permalinks")]),t._v(" for a list of valid variables.")],1)])},[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/28.9169fe43.js b/vuepress/assets/js/28.9169fe43.js new file mode 100644 index 0000000000..57c3142248 --- /dev/null +++ b/vuepress/assets/js/28.9169fe43.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{225:function(t,a,s){"use strict";s.r(a);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=s(5),r=Object(n.a)(e,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"vuepress-plugin-google-analytics"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-google-analytics","aria-hidden":"true"}},[t._v("#")]),t._v(" "),s("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/plugin-google-analytics",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-google-analytics"),s("OutboundLink")],1)]),t._v(" "),s("blockquote",[s("p",[t._v("Google analytics plugin")])]),t._v(" "),s("h2",{attrs:{id:"install"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#install","aria-hidden":"true"}},[t._v("#")]),t._v(" Install")]),t._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[t._v("yarn add -D @vuepress/plugin-google-analytics\n"),s("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-google-analytics")]),t._v("\n")])])]),s("h2",{attrs:{id:"usage"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#usage","aria-hidden":"true"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{attrs:{class:"token string"}},[t._v("'@vuepress/google-analytics'")]),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"options"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#options","aria-hidden":"true"}},[t._v("#")]),t._v(" Options")]),t._v(" "),s("h3",{attrs:{id:"ga"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ga","aria-hidden":"true"}},[t._v("#")]),t._v(" ga")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("string")])]),t._v(" "),s("li",[t._v("Default: "),s("code",[t._v("undefined")])])]),t._v(" "),s("p",[t._v("Provide the Google Analytics ID to enable integration.")])])},[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/29.0a1ff843.js b/vuepress/assets/js/29.0a1ff843.js new file mode 100644 index 0000000000..bf0f6c8fcc --- /dev/null +++ b/vuepress/assets/js/29.0a1ff843.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{226:function(t,s,a){"use strict";a.r(s);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=a(5),r=Object(n.a)(e,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"vuepress-plugin-i18n-ui"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-i18n-ui","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-i18n-ui",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-i18n-ui"),a("OutboundLink")],1)]),t._v(" "),a("blockquote",[a("p",[t._v("i18n-ui plugin")])]),t._v(" "),a("h2",{attrs:{id:"install"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install","aria-hidden":"true"}},[t._v("#")]),t._v(" Install")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("yarn add -D @vuepress/plugin-i18n-ui\n"),a("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-i18n-ui")]),t._v("\n")])])]),a("h2",{attrs:{id:"usage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#usage","aria-hidden":"true"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/i18n-ui'")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options","aria-hidden":"true"}},[t._v("#")]),t._v(" Options")]),t._v(" "),a("h3",{attrs:{id:"route"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#route","aria-hidden":"true"}},[t._v("#")]),t._v(" route")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("/i18n/")])])]),t._v(" "),a("p",[t._v("Path to the i18n ui page.")])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/3.be112e9f.js b/vuepress/assets/js/3.be112e9f.js new file mode 100644 index 0000000000..368123973b --- /dev/null +++ b/vuepress/assets/js/3.be112e9f.js @@ -0,0 +1,3 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{135:function(t,e,n){},136:function(t,e,n){},137:function(t,e,n){},138:function(t,e,n){},139:function(t,e,n){},140:function(t,e,n){},141:function(t,e,n){},142:function(t,e,n){},143:function(t,e,n){},144:function(t,e,n){},145:function(t,e,n){},146:function(t,e,n){},147:function(t,e,n){},148:function(t,e,n){},149:function(t,e,n){},150:function(t,e,n){},160:function(t,e,n){n(88)("match",1,function(t,e,n){return[function(n){"use strict";var i=t(this),s=void 0==n?void 0:n[e];return void 0!==s?s.call(n,i):new RegExp(n)[e](String(i))},n]})},162:function(t,e,n){var i,s; +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */void 0===(s="function"==typeof(i=function(){var t={version:"0.2.0"},e=t.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function n(t,e,n){return t<e?e:t>n?n:t}function i(t){return 100*(-1+t)}t.configure=function(t){var n,i;for(n in t)void 0!==(i=t[n])&&t.hasOwnProperty(n)&&(e[n]=i);return this},t.status=null,t.set=function(a){var o=t.isStarted();a=n(a,e.minimum,1),t.status=1===a?null:a;var l=t.render(!o),u=l.querySelector(e.barSelector),c=e.speed,h=e.easing;return l.offsetWidth,s(function(n){""===e.positionUsing&&(e.positionUsing=t.getPositioningCSS()),r(u,function(t,n,s){var r;return(r="translate3d"===e.positionUsing?{transform:"translate3d("+i(t)+"%,0,0)"}:"translate"===e.positionUsing?{transform:"translate("+i(t)+"%,0)"}:{"margin-left":i(t)+"%"}).transition="all "+n+"ms "+s,r}(a,c,h)),1===a?(r(l,{transition:"none",opacity:1}),l.offsetWidth,setTimeout(function(){r(l,{transition:"all "+c+"ms linear",opacity:0}),setTimeout(function(){t.remove(),n()},c)},c)):setTimeout(n,c)}),this},t.isStarted=function(){return"number"==typeof t.status},t.start=function(){t.status||t.set(0);var n=function(){setTimeout(function(){t.status&&(t.trickle(),n())},e.trickleSpeed)};return e.trickle&&n(),this},t.done=function(e){return e||t.status?t.inc(.3+.5*Math.random()).set(1):this},t.inc=function(e){var i=t.status;return i?("number"!=typeof e&&(e=(1-i)*n(Math.random()*i,.1,.95)),i=n(i+e,0,.994),t.set(i)):t.start()},t.trickle=function(){return t.inc(Math.random()*e.trickleRate)},function(){var e=0,n=0;t.promise=function(i){return i&&"resolved"!==i.state()?(0===n&&t.start(),e++,n++,i.always(function(){0==--n?(e=0,t.done()):t.set((e-n)/e)}),this):this}}(),t.render=function(n){if(t.isRendered())return document.getElementById("nprogress");o(document.documentElement,"nprogress-busy");var s=document.createElement("div");s.id="nprogress",s.innerHTML=e.template;var a,l=s.querySelector(e.barSelector),u=n?"-100":i(t.status||0),h=document.querySelector(e.parent);return r(l,{transition:"all 0 linear",transform:"translate3d("+u+"%,0,0)"}),e.showSpinner||(a=s.querySelector(e.spinnerSelector))&&c(a),h!=document.body&&o(h,"nprogress-custom-parent"),h.appendChild(s),s},t.remove=function(){l(document.documentElement,"nprogress-busy"),l(document.querySelector(e.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&c(t)},t.isRendered=function(){return!!document.getElementById("nprogress")},t.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var s=function(){var t=[];function e(){var n=t.shift();n&&n(e)}return function(n){t.push(n),1==t.length&&e()}}(),r=function(){var t=["Webkit","O","Moz","ms"],e={};function n(n){return n=function(t){return t.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(t,e){return e.toUpperCase()})}(n),e[n]||(e[n]=function(e){var n=document.body.style;if(e in n)return e;for(var i,s=t.length,r=e.charAt(0).toUpperCase()+e.slice(1);s--;)if((i=t[s]+r)in n)return i;return e}(n))}function i(t,e,i){e=n(e),t.style[e]=i}return function(t,e){var n,s,r=arguments;if(2==r.length)for(n in e)void 0!==(s=e[n])&&e.hasOwnProperty(n)&&i(t,n,s);else i(t,r[1],r[2])}}();function a(t,e){var n="string"==typeof t?t:u(t);return n.indexOf(" "+e+" ")>=0}function o(t,e){var n=u(t),i=n+e;a(n,e)||(t.className=i.substring(1))}function l(t,e){var n,i=u(t);a(t,e)&&(n=i.replace(" "+e+" "," "),t.className=n.substring(1,n.length-1))}function u(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function c(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return t})?i.call(e,n,e,t):i)||(t.exports=s)},163:function(t,e,n){"use strict";n(164)("link",function(t){return function(e){return t(this,"a","href",e)}})},164:function(t,e,n){var i=n(1),s=n(6),r=n(16),a=/"/g,o=function(t,e,n,i){var s=String(r(t)),o="<"+e;return""!==n&&(o+=" "+n+'="'+String(i).replace(a,""")+'"'),o+">"+s+"</"+e+">"};t.exports=function(t,e){var n={};n[t]=e(o),i(i.P+i.F*s(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},165:function(t,e,n){var i=n(1);i(i.S,"Array",{isArray:n(90)})},166:function(t,e,n){n(88)("split",2,function(t,e,i){"use strict";var s=n(87),r=i,a=[].push;if("c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length){var o=void 0===/()??/.exec("")[1];i=function(t,e){var n=String(this);if(void 0===t&&0===e)return[];if(!s(t))return r.call(n,t,e);var i,l,u,c,h,p=[],d=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),f=0,g=void 0===e?4294967295:e>>>0,v=new RegExp(t.source,d+"g");for(o||(i=new RegExp("^"+v.source+"$(?!\\s)",d));(l=v.exec(n))&&!((u=l.index+l[0].length)>f&&(p.push(n.slice(f,l.index)),!o&&l.length>1&&l[0].replace(i,function(){for(h=1;h<arguments.length-2;h++)void 0===arguments[h]&&(l[h]=void 0)}),l.length>1&&l.index<n.length&&a.apply(p,l.slice(1)),c=l[0].length,f=u,p.length>=g));)v.lastIndex===l.index&&v.lastIndex++;return f===n.length?!c&&v.test("")||p.push(""):p.push(n.slice(f)),p.length>g?p.slice(0,g):p}}else"0".split(void 0,0).length&&(i=function(t,e){return void 0===t&&0===e?[]:r.call(this,t,e)});return[function(n,s){var r=t(this),a=void 0==n?void 0:n[e];return void 0!==a?a.call(n,r,s):i.call(String(r),n,s)},i]})},167:function(t,e,n){"use strict";var i=n(135);n.n(i).a},168:function(t,e,n){"use strict";var i=n(136);n.n(i).a},169:function(t,e,n){"use strict";var i=n(137);n.n(i).a},170:function(t,e,n){"use strict";n(91)("trim",function(t){return function(){return t(this,3)}})},171:function(t,e,n){"use strict";var i=n(138);n.n(i).a},172:function(t,e,n){var i=n(3),s=n(62),r=n(7).f,a=n(59).f,o=n(87),l=n(173),u=i.RegExp,c=u,h=u.prototype,p=/a/g,d=/a/g,f=new u(p)!==p;if(n(8)&&(!f||n(6)(function(){return d[n(2)("match")]=!1,u(p)!=p||u(d)==d||"/a/i"!=u(p,"i")}))){u=function(t,e){var n=this instanceof u,i=o(t),r=void 0===e;return!n&&i&&t.constructor===u&&r?t:s(f?new c(i&&!r?t.source:t,e):c((i=t instanceof u)?t.source:t,i&&r?l.call(t):e),n?this:h,u)};for(var g=function(t){t in u||r(u,t,{configurable:!0,get:function(){return c[t]},set:function(e){c[t]=e}})},v=a(c),m=0;v.length>m;)g(v[m++]);h.constructor=u,u.prototype=h,n(10)(i,"RegExp",u)}n(58)("RegExp")},173:function(t,e,n){"use strict";var i=n(9);t.exports=function(){var t=i(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},174:function(t,e,n){"use strict";var i=n(139);n.n(i).a},175:function(t,e,n){"use strict";var i=n(140);n.n(i).a},176:function(t,e,n){"use strict";var i=n(141);n.n(i).a},177:function(t,e,n){"use strict";var i=n(142);n.n(i).a},178:function(t,e,n){"use strict";var i=n(143);n.n(i).a},179:function(t,e,n){"use strict";var i=n(144);n.n(i).a},180:function(t,e,n){"use strict";var i=n(145);n.n(i).a},181:function(t,e,n){"use strict";var i=n(146);n.n(i).a},182:function(t,e,n){"use strict";var i=n(147);n.n(i).a},183:function(t,e,n){"use strict";var i=n(148);n.n(i).a},184:function(t,e,n){"use strict";var i=n(149);n.n(i).a},185:function(t,e,n){"use strict";var i=n(150);n.n(i).a},198:function(t,e,n){"use strict";n.r(e);n(60);var i=n(0),s=n(162),r=n.n(s),a=(n(24),n(57),n(85),n(163),n(89),n(165),n(40),n(39),n(38),n(166),n(37),n(160),n(86),/#.*$/),o=/\.(md|html)$/,l=/\/$/,u=/^(https?:|mailto:|tel:)/;function c(t){return decodeURI(t).replace(a,"").replace(o,"")}function h(t){return u.test(t)}function p(t){if(h(t))return t;var e=t.match(a),n=e?e[0]:"",i=c(t);return l.test(i)?t:i+".html"+n}function d(t,e){var n=t.hash,i=function(t){var e=t.match(a);if(e)return e[0]}(e);return(!i||n===i)&&c(t.path)===c(e)}function f(t,e,n){n&&(e=function(t,e,n){var i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;var s=e.split("/");n&&s[s.length-1]||s.pop();for(var r=t.replace(/^\//,"").split("/"),a=0;a<r.length;a++){var o=r[a];".."===o?s.pop():"."!==o&&s.push(o)}""!==s[0]&&s.unshift("");return s.join("/")}(e,n));for(var i=c(e),s=0;s<t.length;s++)if(c(t[s].regularPath)===i)return Object.assign({},t[s],{type:"page",path:p(t[s].path)});return console.error('[vuepress] No matching page found for sidebar item "'.concat(e,'"')),{}}function g(t,e,n,i){var s=n.pages,r=n.themeConfig,a=i&&r.locales&&r.locales[i]||r;if("auto"===(t.frontmatter.sidebar||a.sidebar||r.sidebar))return function(t){var e=v(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,children:e.map(function(e){return{type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}})}]}(t);var o=a.sidebar||r.sidebar;if(o){var l=function(t,e){if(Array.isArray(e))return{base:"/",config:e};for(var n in e)if(0===b(t).indexOf(n))return{base:n,config:e[n]};return{}}(e,o),u=l.base,c=l.config;return c?c.map(function(t){return function t(e,n,i,s){if("string"==typeof e)return f(n,e,i);if(Array.isArray(e))return Object.assign(f(n,e[0],i),{title:e[1]});s&&console.error("[vuepress] Nested sidebar groups are not supported. Consider using navbar + categories instead.");var r=e.children||[];return{type:"group",title:e.title,children:r.map(function(e){return t(e,n,i,!0)}),collapsable:!1!==e.collapsable}}(t,s,u)}):[]}return[]}function v(t){var e;return(t=t.map(function(t){return Object.assign({},t)})).forEach(function(t){2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(function(t){return 2===t.level})}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}function b(t){return/(\.html|\/)$/.test(t)?t:t+"/"}var _={props:{item:{required:!0}},computed:{link:function(){return p(this.item.link)},exact:function(){var t=this;return this.$site.locales?Object.keys(this.$site.locales).some(function(e){return e===t.link}):"/"===this.link}},methods:{isExternal:h,isMailto:function(t){return/^mailto:/.test(t)},isTel:function(t){return/^tel:/.test(t)}}},k=n(5),x=Object(k.a)(_,function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.isExternal(t.link)?n("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.isMailto(t.link)||t.isTel(t.link)?null:"_blank",rel:t.isMailto(t.link)||t.isTel(t.link)?null:"noopener noreferrer"}},[t._v("\n "+t._s(t.item.text)+"\n "),n("OutboundLink")],1):n("router-link",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact}},[t._v(t._s(t.item.text))])},[],!1,null,null,null).exports,C={components:{NavLink:x},computed:{data:function(){return this.$page.frontmatter},actionLink:function(){return{link:this.data.actionLink,text:this.data.actionText}}}},$=(n(167),Object(k.a)(C,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"home"},[n("div",{staticClass:"hero"},[t.data.heroImage?n("img",{attrs:{src:t.$withBase(t.data.heroImage),alt:"hero"}}):t._e(),t._v(" "),n("h1",[t._v(t._s(t.data.heroText||t.$title||"Hello"))]),t._v(" "),n("p",{staticClass:"description"},[t._v("\n "+t._s(t.data.tagline||t.$description||"Welcome to your VuePress site")+"\n ")]),t._v(" "),t.data.actionText&&t.data.actionLink?n("p",{staticClass:"action"},[n("NavLink",{staticClass:"action-button",attrs:{item:t.actionLink}})],1):t._e()]),t._v(" "),t.data.features&&t.data.features.length?n("div",{staticClass:"features"},t._l(t.data.features,function(e,i){return n("div",{key:i,staticClass:"feature"},[n("h2",[t._v(t._s(e.title))]),t._v(" "),n("p",[t._v(t._s(e.details))])])})):t._e(),t._v(" "),n("Content",{staticClass:"custom"}),t._v(" "),t.data.footer?n("div",{staticClass:"footer"},[t._v("\n "+t._s(t.data.footer)+"\n ")]):t._e()],1)},[],!1,null,null,null).exports),y=(n(168),Object(k.a)({},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"sidebar-button",on:{click:function(e){t.$emit("toggle-sidebar")}}},[n("svg",{staticClass:"icon",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"}},[n("path",{attrs:{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"}})])])},[],!1,null,null,null).exports),w=n(81),S=(n(61),{props:["options"],mounted:function(){this.initialize(this.options,this.$lang)},methods:{initialize:function(t,e){Promise.all([Promise.all([n.e(0),n.e(96)]).then(n.t.bind(null,196,7)),Promise.all([n.e(0),n.e(96)]).then(n.t.bind(null,197,7))]).then(function(n){var i=Object(w.a)(n,1)[0];i=i.default;var s=t.algoliaOptions,r=void 0===s?{}:s;i(Object.assign({},t,{inputSelector:"#algolia-search-input",algoliaOptions:Object.assign({facetFilters:["lang:".concat(e)].concat(r.facetFilters||[])},r)}))})},update:function(t,e){this.$el.innerHTML='<input id="algolia-search-input" class="search-query">',this.initialize(t,e)}},watch:{$lang:function(t){this.update(this.options,t)},options:function(t){this.update(t,this.$lang)}}}),L=(n(169),Object(k.a)(S,function(){this.$createElement;this._self._c;return this._m(0)},[function(){var t=this.$createElement,e=this._self._c||t;return e("form",{staticClass:"algolia-search-wrapper search-box",attrs:{id:"search-form"}},[e("input",{staticClass:"search-query",attrs:{id:"algolia-search-input"}})])}],!1,null,null,null).exports),O=(n(170),{data:function(){return{query:"",focused:!1,focusIndex:0}},computed:{showSuggestions:function(){return this.focused&&this.suggestions&&this.suggestions.length},suggestions:function(){var t=this.query.trim().toLowerCase();if(t){for(var e=this.$site.pages,n=this.$localePath,i=function(e){return e.title&&e.title.toLowerCase().indexOf(t)>-1},s=[],r=0;r<e.length&&!(s.length>=5);r++){var a=e[r];if(this.getPageLocalePath(a)===n)if(i(a))s.push(a);else if(a.headers)for(var o=0;o<a.headers.length&&!(s.length>=5);o++){var l=a.headers[o];i(l)&&s.push(Object.assign({},a,{path:a.path+"#"+l.slug,header:l}))}}return s}},alignRight:function(){return(this.$site.themeConfig.nav||[]).length+(this.$site.repo?1:0)<=2}},methods:{getPageLocalePath:function(t){for(var e in this.$site.locales||{})if("/"!==e&&0===t.path.indexOf(e))return e;return"/"},onUp:function(){this.showSuggestions&&(this.focusIndex>0?this.focusIndex--:this.focusIndex=this.suggestions.length-1)},onDown:function(){this.showSuggestions&&(this.focusIndex<this.suggestions.length-1?this.focusIndex++:this.focusIndex=0)},go:function(t){this.showSuggestions&&(this.$router.push(this.suggestions[t].path),this.query="",this.focusIndex=0)},focus:function(t){this.focusIndex=t},unfocus:function(){this.focusIndex=-1}}}),E=(n(171),Object(k.a)(O,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"search-box"},[n("input",{class:{focused:t.focused},attrs:{"aria-label":"Search",autocomplete:"off",spellcheck:"false"},domProps:{value:t.query},on:{input:function(e){t.query=e.target.value},focus:function(e){t.focused=!0},blur:function(e){t.focused=!1},keyup:[function(e){if(!("button"in e)&&t._k(e.keyCode,"enter",13,e.key,"Enter"))return null;t.go(t.focusIndex)},function(e){return"button"in e||!t._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"])?t.onUp(e):null},function(e){return"button"in e||!t._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"])?t.onDown(e):null}]}}),t._v(" "),t.showSuggestions?n("ul",{staticClass:"suggestions",class:{"align-right":t.alignRight},on:{mouseleave:t.unfocus}},t._l(t.suggestions,function(e,i){return n("li",{staticClass:"suggestion",class:{focused:i===t.focusIndex},on:{mousedown:function(e){t.go(i)},mouseenter:function(e){t.focus(i)}}},[n("a",{attrs:{href:e.path},on:{click:function(t){t.preventDefault()}}},[n("span",{staticClass:"page-title"},[t._v(t._s(e.title||e.path))]),t._v(" "),e.header?n("span",{staticClass:"header"},[t._v("> "+t._s(e.header.title))]):t._e()])])})):t._e()])},[],!1,null,null,null).exports),T=(n(172),n(31)),I={name:"DropdownTransition",methods:{setHeight:function(t){t.style.height=t.scrollHeight+"px"},unsetHeight:function(t){t.style.height=""}}},j=(n(174),Object(k.a)(I,function(){var t=this.$createElement;return(this._self._c||t)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)},[],!1,null,null,null).exports),N={components:{NavLink:x,DropdownTransition:j},data:function(){return{open:!1}},props:{item:{required:!0}},methods:{toggle:function(){this.open=!this.open}}},M=(n(175),{components:{NavLink:x,DropdownLink:Object(k.a)(N,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[n("a",{staticClass:"dropdown-title",on:{click:t.toggle}},[n("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),n("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),n("DropdownTransition",[n("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,function(e,i){return n("li",{key:e.link||i,staticClass:"dropdown-item"},["links"===e.type?n("h4",[t._v(t._s(e.text))]):t._e(),t._v(" "),"links"===e.type?n("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(e.items,function(t){return n("li",{key:t.link,staticClass:"dropdown-subitem"},[n("NavLink",{attrs:{item:t}})],1)})):n("NavLink",{attrs:{item:e}})],1)}))])],1)},[],!1,null,null,null).exports},computed:{userNav:function(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},nav:function(){var t=this,e=this.$site.locales;if(e&&Object.keys(e).length>1){var n=this.$page.path,i=this.$router.options.routes,s=this.$site.themeConfig.locales||{},r={text:this.$themeLocaleConfig.selectText||"Languages",items:Object.keys(e).map(function(r){var a,o=e[r],l=s[r]&&s[r].label||o.lang;return o.lang===t.$lang?a=n:(a=n.replace(t.$localeConfig.path,r),i.some(function(t){return t.path===a})||(a=r)),{text:l,link:a}})};return Object(T.a)(this.userNav).concat([r])}return this.userNav},userLinks:function(){return(this.nav||[]).map(function(t){return Object.assign(m(t),{items:(t.items||[]).map(m)})})},repoLink:function(){var t=this.$site.themeConfig.repo;if(t)return/^https?:/.test(t)?t:"https://github.com/".concat(t)},repoLabel:function(){if(this.repoLink){if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;for(var t=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"],n=0;n<e.length;n++){var i=e[n];if(new RegExp(i,"i").test(t))return i}return"Source"}}}}),P=(n(176),Object(k.a)(M,function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.userLinks.length||t.repoLink?n("nav",{staticClass:"nav-links"},[t._l(t.userLinks,function(t){return n("div",{key:t.link,staticClass:"nav-item"},["links"===t.type?n("DropdownLink",{attrs:{item:t}}):n("NavLink",{attrs:{item:t}})],1)}),t._v(" "),t.repoLink?n("a",{staticClass:"repo-link",attrs:{href:t.repoLink,target:"_blank",rel:"noopener noreferrer"}},[t._v("\n "+t._s(t.repoLabel)+"\n "),n("OutboundLink")],1):t._e()],2):t._e()},[],!1,null,null,null).exports);function U(t,e){return t.ownerDocument.defaultView.getComputedStyle(t,null)[e]}var A={components:{SidebarButton:y,NavLinks:P,SearchBox:E,AlgoliaSearchBox:L},data:function(){return{linksWrapMaxWidth:null}},mounted:function(){var t=this,e=parseInt(U(this.$el,"paddingLeft"))+parseInt(U(this.$el,"paddingRight")),n=function(){document.documentElement.clientWidth<719?t.linksWrapMaxWidth=null:t.linksWrapMaxWidth=t.$el.offsetWidth-e-(t.$refs.siteName&&t.$refs.siteName.offsetWidth||0)};n(),window.addEventListener("resize",n,!1)},computed:{algolia:function(){return this.$themeLocaleConfig.algolia||this.$site.themeConfig.algolia||{}},isAlgoliaSearch:function(){return this.algolia&&this.algolia.apiKey&&this.algolia.indexName}}},D=(n(177),Object(k.a)(A,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("header",{staticClass:"navbar"},[n("SidebarButton",{on:{"toggle-sidebar":function(e){t.$emit("toggle-sidebar")}}}),t._v(" "),n("router-link",{staticClass:"home-link",attrs:{to:t.$localePath}},[t.$site.themeConfig.logo?n("img",{staticClass:"logo",attrs:{src:t.$withBase(t.$site.themeConfig.logo),alt:t.$siteTitle}}):t._e(),t._v(" "),t.$siteTitle?n("span",{ref:"siteName",staticClass:"site-name",class:{"can-hide":t.$site.themeConfig.logo}},[t._v(t._s(t.$siteTitle))]):t._e()]),t._v(" "),n("div",{staticClass:"links",style:t.linksWrapMaxWidth?{"max-width":t.linksWrapMaxWidth+"px"}:{}},[t.isAlgoliaSearch?n("AlgoliaSearchBox",{attrs:{options:t.algolia}}):!1!==t.$site.themeConfig.search?n("SearchBox"):t._e(),t._v(" "),n("NavLinks",{staticClass:"can-hide"})],1)],1)},[],!1,null,null,null).exports);function W(t,e,n){var i=[];e.forEach(function(t){"group"===t.type?i.push.apply(i,Object(T.a)(t.children||[])):i.push(t)});for(var s=0;s<i.length;s++){var r=i[s];if("page"===r.type&&r.path===decodeURIComponent(t.path))return i[s+n]}}var H={props:["sidebarItems"],computed:{contentMounted:function(){return this.$vuepress.$get("contentMounted")},lastUpdated:function(){return this.$page.lastUpdated},lastUpdatedText:function(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},prev:function(){var t=this.$page.frontmatter.prev;return!1===t?void 0:t?f(this.$site.pages,t,this.$route.path):function(t,e){return W(t,e,-1)}(this.$page,this.sidebarItems)},next:function(){var t=this.$page.frontmatter.next;return!1===t?void 0:t?f(this.$site.pages,t,this.$route.path):function(t,e){return W(t,e,1)}(this.$page,this.sidebarItems)},editLink:function(){if(!1!==this.$page.frontmatter.editLink){var t=this.$site.themeConfig,e=t.repo,n=t.editLinks,i=t.docsDir,s=void 0===i?"":i,r=t.docsBranch,a=void 0===r?"master":r,o=t.docsRepo,u=void 0===o?e:o,h=c(this.$page.path);return l.test(h)?h+="README.md":h+=".md",u&&n?this.createEditLink(e,u,s,a,h):void 0}},editLinkText:function(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink:function(t,e,n,i,s){return/bitbucket.org/.test(t)?(u.test(e)?e:t).replace(l,"")+"/".concat(i)+(n?"/"+n.replace(l,""):"")+s+"?mode=edit&spa=0&at=".concat(i,"&fileviewer=file-view-default"):(u.test(e)?e:"https://github.com/".concat(e)).replace(l,"")+"/edit/".concat(i)+(n?"/"+n.replace(l,""):"")+s}}},R=(n(178),Object(k.a)(H,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"page"},[t._t("top"),t._v(" "),n("Content"),t._v(" "),t.contentMounted?n("div",{staticClass:"page-edit"},[t.editLink?n("div",{staticClass:"edit-link"},[n("a",{attrs:{href:t.editLink,target:"_blank",rel:"noopener noreferrer"}},[t._v(t._s(t.editLinkText))]),t._v(" "),n("OutboundLink")],1):t._e(),t._v(" "),t.lastUpdated?n("div",{staticClass:"last-updated"},[n("span",{staticClass:"prefix"},[t._v(t._s(t.lastUpdatedText)+": ")]),t._v(" "),n("span",{staticClass:"time"},[t._v(t._s(t.lastUpdated))])]):t._e()]):t._e(),t._v(" "),t.contentMounted&&(t.prev||t.next)?n("div",{staticClass:"page-nav"},[n("p",{staticClass:"inner"},[t.prev?n("span",{staticClass:"prev"},[t._v("\n ←\n "),t.prev?n("router-link",{staticClass:"prev",attrs:{to:t.prev.path}},[t._v("\n "+t._s(t.prev.title||t.prev.path)+"\n ")]):t._e()],1):t._e(),t._v(" "),t.next?n("span",{staticClass:"next"},[t.next?n("router-link",{attrs:{to:t.next.path}},[t._v("\n "+t._s(t.next.title||t.next.path)+"\n ")]):t._e(),t._v("\n →\n ")],1):t._e()])]):t._e(),t._v(" "),t._t("bottom")],2)},[],!1,null,null,null).exports);function B(t,e,n,i){return t("router-link",{props:{to:e,activeClass:"",exactActiveClass:""},class:{active:i,"sidebar-link":!0}},n)}function q(t,e,n,i,s){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1;return!e||r>s?null:t("ul",{class:"sidebar-sub-headers"},e.map(function(e){var a=d(i,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[B(t,n+"#"+e.slug,e.title,a),q(t,e.children,n,i,s,r+1)])}))}var z={functional:!0,props:["item"],render:function(t,e){var n=e.parent,i=n.$page,s=n.$site,r=n.$route,o=e.props.item,l=d(r,o.path),u="auto"===o.type?l||o.children.some(function(t){return d(r,o.basePath+"#"+t.slug)}):l,c=B(t,o.path,o.title||o.path,u),h=null!=i.frontmatter.sidebarDepth?i.frontmatter.sidebarDepth:s.themeConfig.sidebarDepth,p=null==h?1:h,f=!!s.themeConfig.displayAllHeaders;return"auto"===o.type?[c,q(t,o.children,o.basePath,r,p)]:(u||f)&&o.headers&&!a.test(o.path)?[c,q(t,v(o.headers),o.path,r,p)]:c}},G=(n(179),Object(k.a)(z,void 0,void 0,!1,null,null,null).exports),K={name:"SidebarGroup",props:["item","first","open","collapsable"],components:{SidebarLink:G,DropdownTransition:j}};n(180);var Y={components:{SidebarGroup:Object(k.a)(K,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"sidebar-group",class:{first:t.first,collapsable:t.collapsable}},[n("p",{staticClass:"sidebar-heading",class:{open:t.open},on:{click:function(e){t.$emit("toggle")}}},[n("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?n("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]),t._v(" "),n("DropdownTransition",[t.open||!t.collapsable?n("ul",{ref:"items",staticClass:"sidebar-group-items"},t._l(t.item.children,function(t){return n("li",[n("SidebarLink",{attrs:{item:t}})],1)})):t._e()])],1)},[],!1,null,null,null).exports,SidebarLink:G,NavLinks:P},props:["items"],data:function(){return{openGroupIndex:0}},created:function(){this.refreshIndex()},watch:{$route:function(){this.refreshIndex()}},methods:{refreshIndex:function(){var t=function(t,e){for(var n=0;n<e.length;n++){var i=e[n];if("group"===i.type&&i.children.some(function(e){return d(t,e.path)}))return n}return-1}(this.$route,this.items);t>-1&&(this.openGroupIndex=t)},toggleGroup:function(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive:function(t){return d(this.$route,t.regularPath)}}},F=(n(181),{components:{Home:$,Page:R,Sidebar:Object(k.a)(Y,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"sidebar"},[n("NavLinks"),t._v(" "),t._t("top"),t._v(" "),t.items.length?n("ul",{staticClass:"sidebar-links"},t._l(t.items,function(e,i){return n("li",{key:i},["group"===e.type?n("SidebarGroup",{attrs:{item:e,first:0===i,open:i===t.openGroupIndex,collapsable:e.collapsable||e.collapsible},on:{toggle:function(e){t.toggleGroup(i)}}}):n("SidebarLink",{attrs:{item:e}})],1)})):t._e(),t._v(" "),t._t("bottom")],2)},[],!1,null,null,null).exports,Navbar:D},data:function(){return{isSidebarOpen:!1}},computed:{shouldShowNavbar:function(){var t=this.$site.themeConfig;return!1!==this.$page.frontmatter.navbar&&!1!==t.navbar&&(this.$title||t.logo||t.repo||t.nav||this.$themeLocaleConfig.nav)},shouldShowSidebar:function(){var t=this.$page.frontmatter;return!t.home&&!1!==t.sidebar&&this.sidebarItems.length},sidebarItems:function(){return g(this.$page,this.$page.regularPath,this.$site,this.$localePath)},pageClasses:function(){var t=this.$page.frontmatter.pageClass;return[{"no-navbar":!this.shouldShowNavbar,"sidebar-open":this.isSidebarOpen,"no-sidebar":!this.shouldShowSidebar},t]}},mounted:function(){var t=this;r.a.configure({showSpinner:!1}),this.$router.beforeEach(function(t,e,n){t.path===e.path||i.a.component(t.name)||r.a.start(),n()}),this.$router.afterEach(function(){r.a.done(),t.isSidebarOpen=!1})},methods:{toggleSidebar:function(t){this.isSidebarOpen="boolean"==typeof t?t:!this.isSidebarOpen},onTouchStart:function(t){this.touchStart={x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY}},onTouchEnd:function(t){var e=t.changedTouches[0].clientX-this.touchStart.x,n=t.changedTouches[0].clientY-this.touchStart.y;Math.abs(e)>Math.abs(n)&&Math.abs(e)>40&&(e>0&&this.touchStart.x<=80?this.toggleSidebar(!0):this.toggleSidebar(!1))}}}),V=(n(182),n(183),Object(k.a)(F,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"theme-container",class:t.pageClasses,on:{touchstart:t.onTouchStart,touchend:t.onTouchEnd}},[t.shouldShowNavbar?n("Navbar",{on:{"toggle-sidebar":t.toggleSidebar}}):t._e(),t._v(" "),n("div",{staticClass:"sidebar-mask",on:{click:function(e){t.toggleSidebar(!1)}}}),t._v(" "),n("Sidebar",{attrs:{items:t.sidebarItems},on:{"toggle-sidebar":t.toggleSidebar}},[t._t("sidebar-top",null,{slot:"top"}),t._v(" "),t._t("sidebar-bottom",null,{slot:"bottom"})],2),t._v(" "),t.$page.frontmatter.home?n("Home"):n("Page",{attrs:{"sidebar-items":t.sidebarItems}},[t._t("page-top",null,{slot:"top"}),t._v(" "),t._t("page-bottom",null,{slot:"bottom"})],2)],1)},[],!1,null,null,null).exports),J={render:function(t){return t("div",{class:"carbon-ads"})},mounted:function(){this.load()},watch:{$route:function(t,e){t.path!==e.path&&this.$el.querySelector("#carbonads")&&(this.$el.innerHTML="",this.load())}},methods:{load:function(){var t=document.createElement("script");t.id="_carbonads_js",t.src="//cdn.carbonads.com/carbon.js?serve=CKYIK2QU&placement=vuejsorg",this.$el.appendChild(t)}}},Q=(n(184),Object(k.a)(J,void 0,void 0,!1,null,null,null).exports),X="bsa-cpc-script",Z={render:function(t){return t("div",{class:"bsa-cpc-wrapper"},[t("div",{ref:"ads",class:"bsa-cpc"})])},mounted:function(){var t=this;if(document.getElementById(X))this.load();else{var e=document.createElement("script");e.id=X,e.src="//m.servedby-buysellads.com/monetization.js",document.head.appendChild(e),e.onload=function(){t.load()}}},watch:{$route:function(t,e){t.path!==e.path&&(this.$refs.ads.innerHTML="",this.load())}},methods:{load:function(){"undefined"!=typeof _bsa&&_bsa&&_bsa.init("default","CKYD62QM","placement:vuejsorg",{target:".bsa-cpc",align:"horizontal",disable_css:"true"})}}},tt=(n(185),{components:{ParentLayout:V,CarbonAds:Q,BuySellAds:Object(k.a)(Z,void 0,void 0,!1,null,null,null).exports}}),et=Object(k.a)(tt,function(){var t=this.$createElement,e=this._self._c||t;return e("ParentLayout",[e("CarbonAds",{attrs:{slot:"sidebar-top"},slot:"sidebar-top"}),this._v(" "),e("BuySellAds",{attrs:{slot:"page-bottom"},slot:"page-bottom"})],1)},[],!1,null,null,null);e.default=et.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/30.25e010af.js b/vuepress/assets/js/30.25e010af.js new file mode 100644 index 0000000000..2ed571007f --- /dev/null +++ b/vuepress/assets/js/30.25e010af.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{227:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),o=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"vuepress-plugin-last-updated"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-last-updated","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-last-updated",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-last-updated"),a("OutboundLink")],1)]),t._v(" "),a("blockquote",[a("p",[t._v("last-updated plugin for vuepress")])]),t._v(" "),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),a("p",[t._v("Note that this plugin has been included in the core, you don't need to repeat the installation.")])]),t._v(" "),a("h2",{attrs:{id:"usage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#usage","aria-hidden":"true"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/last-updated'")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options","aria-hidden":"true"}},[t._v("#")]),t._v(" Options")]),t._v(" "),a("h3",{attrs:{id:"transformer"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#transformer","aria-hidden":"true"}},[t._v("#")]),t._v(" transformer")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("(timestamp: number, lang: string) => string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("By default, this plugin produces a 13-bit timestamp for each page, you can also pass in a transformer to convert it to any format that you want.")]),t._v(" "),a("p",[t._v("e.g.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" moment "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'moment'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v(" \n "),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/last-updated'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n transformer"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("timestamp"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" lang"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// Don't forget to install moment yourself")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" moment "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'moment'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n moment"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("locale")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("lang"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("moment")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("timestamp"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("fromNow")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("If you are running in "),a("router-link",{attrs:{to:"./../../guide/i18n.html"}},[t._v("i18n")]),t._v(" mode, you can also use the second argument "),a("code",[t._v("lang")]),t._v(" to generate time strings for different languages.")],1),t._v(" "),a("p",[t._v("Note that in VuePres, we follow this spec: "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Language_localisation",target:"_blank",rel:"noopener noreferrer"}},[t._v("W3C > Language tags in HTML and XML"),a("OutboundLink")],1),t._v(", so "),a("code",[t._v("en-US")]),t._v(" uses hyphens ("),a("code",[t._v("-")]),t._v(") instead of underscores ("),a("code",[t._v("_")]),t._v("). Please make sure that the library you are using follows this spec, otherwise please convert it yourself.")])])])},[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/31.effc1422.js b/vuepress/assets/js/31.effc1422.js new file mode 100644 index 0000000000..64784ea429 --- /dev/null +++ b/vuepress/assets/js/31.effc1422.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{228:function(t,s,a){"use strict";a.r(s);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=a(5),r=Object(n.a)(e,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"vuepress-plugin-medium-zoom"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-medium-zoom","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/plugin-medium-zoom",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-medium-zoom"),a("OutboundLink")],1)]),t._v(" "),a("blockquote",[a("p",[a("a",{attrs:{href:"https://github.com/francoischalifour/medium-zoom",target:"_blank",rel:"noopener noreferrer"}},[t._v("medium-zoom"),a("OutboundLink")],1),t._v(" plugin")])]),t._v(" "),a("h2",{attrs:{id:"install"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install","aria-hidden":"true"}},[t._v("#")]),t._v(" Install")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("yarn add -D @vuepress/plugin-medium-zoom\n"),a("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-medium-zoom")]),t._v("\n")])])]),a("h2",{attrs:{id:"usage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#usage","aria-hidden":"true"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/medium-zoom'")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options","aria-hidden":"true"}},[t._v("#")]),t._v(" Options")]),t._v(" "),a("h3",{attrs:{id:"selector"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#selector","aria-hidden":"true"}},[t._v("#")]),t._v(" selector")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v(".content img")])])])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/32.86f38218.js b/vuepress/assets/js/32.86f38218.js new file mode 100644 index 0000000000..dede53a100 --- /dev/null +++ b/vuepress/assets/js/32.86f38218.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{229:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),r=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"vuepress-plugin-pagination"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-pagination","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/plugin-pagination",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-pagination"),a("OutboundLink")],1)]),t._v(" "),a("blockquote",[a("p",[t._v("pagination plugin")])]),t._v(" "),a("h2",{attrs:{id:"install"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install","aria-hidden":"true"}},[t._v("#")]),t._v(" Install")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("yarn add -D @vuepress/plugin-pagination\n"),a("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-pagination")]),t._v("\n")])])]),a("h2",{attrs:{id:"usage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#usage","aria-hidden":"true"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/pagination'")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options","aria-hidden":"true"}},[t._v("#")]),t._v(" Options")]),t._v(" "),a("h3",{attrs:{id:"postsfilter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#postsfilter","aria-hidden":"true"}},[t._v("#")]),t._v(" postsFilter")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("function")])]),t._v(" "),a("li",[t._v("Default:")])]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" type "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" type "),a("span",{attrs:{class:"token operator"}},[t._v("===")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'post'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("`\n")])])]),a("h3",{attrs:{id:"postssorter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#postssorter","aria-hidden":"true"}},[t._v("#")]),t._v(" postsSorter")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("function")])]),t._v(" "),a("li",[t._v("Default:")])]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("prev"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" next"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" prevTime "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("Date")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("prev"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("frontmatter"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("date"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("getTime")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" nextTime "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("Date")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("next"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("frontmatter"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("date"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("getTime")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" prevTime "),a("span",{attrs:{class:"token operator"}},[t._v("-")]),t._v(" nextTime "),a("span",{attrs:{class:"token operator"}},[t._v(">")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("0")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("?")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("-")]),a("span",{attrs:{class:"token number"}},[t._v("1")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("1")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/33.0fab7803.js b/vuepress/assets/js/33.0fab7803.js new file mode 100644 index 0000000000..175d9a9984 --- /dev/null +++ b/vuepress/assets/js/33.0fab7803.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{230:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),o=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"vuepress-plugin-pwa"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-pwa","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/plugin-pwa",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-pwa"),a("OutboundLink")],1)]),t._v(" "),a("blockquote",[a("p",[t._v("PWA plugin")])]),t._v(" "),a("h2",{attrs:{id:"install"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install","aria-hidden":"true"}},[t._v("#")]),t._v(" Install")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("yarn add -D @vuepress/plugin-pwa\n"),a("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-pwa")]),t._v("\n")])])]),a("h2",{attrs:{id:"usage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#usage","aria-hidden":"true"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/pwa'")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options","aria-hidden":"true"}},[t._v("#")]),t._v(" Options")]),t._v(" "),a("h3",{attrs:{id:"serviceworker"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#serviceworker","aria-hidden":"true"}},[t._v("#")]),t._v(" serviceWorker")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("boolean")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("true")])])]),t._v(" "),a("p",[t._v("If set to "),a("code",[t._v("true")]),t._v(", VuePress will automatically generate and register a "),a("a",{attrs:{href:"https://developers.google.com/web/fundamentals/primers/service-workers/",target:"_blank",rel:"noopener noreferrer"}},[t._v("service worker"),a("OutboundLink")],1),t._v(" that caches the content for offline use (only enabled in production).")]),t._v(" "),a("p",[t._v("There is a aliased module "),a("code",[t._v("@sw-event")]),t._v(" module that will also be emitting the following events:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("sw-ready")])]),t._v(" "),a("li",[a("code",[t._v("sw-cached")])]),t._v(" "),a("li",[a("code",[t._v("sw-updated")])]),t._v(" "),a("li",[a("code",[t._v("sw-offline")])]),t._v(" "),a("li",[a("code",[t._v("sw-error")])])]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("PWA NOTES")]),t._v(" "),a("p",[t._v("The "),a("code",[t._v("serviceWorker")]),t._v(" option only handles the service worker. To make your site fully PWA-compliant, you will need to provide the Web App Manifest and icons in "),a("code",[t._v(".vuepress/public")]),t._v(". For more details, see "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/Manifest",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN docs about the Web App Manifest"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("p",[t._v("Also, only enable this if you are able to deploy your site with SSL, since service worker can only be registered under HTTPs URLs.")])]),t._v(" "),a("h3",{attrs:{id:"updatepopup"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updatepopup","aria-hidden":"true"}},[t._v("#")]),t._v(" updatePopup")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("boolean|object")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("The definition of type "),a("code",[t._v("popupConfig")]),t._v(" is as follows:")]),t._v(" "),a("div",{staticClass:"language-typescript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-typescript"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("interface")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("normalPopupConfig")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n message"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token builtin"}},[t._v("string")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// defaults to 'New content is available.'")]),t._v("\n buttonText"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token builtin"}},[t._v("string")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// defaults to 'Refresh'")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{attrs:{class:"token keyword"}},[t._v("interface")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("localedPopupConfig")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("localePath"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token builtin"}},[t._v("string")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" normalPopupConfig\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{attrs:{class:"token keyword"}},[t._v("type")]),t._v(" popupConfig "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" normalPopupConfig "),a("span",{attrs:{class:"token operator"}},[t._v("|")]),t._v(" localedPopupConfig\n")])])]),a("p",[t._v("This option enables the popup to refresh contents. The popup will be shown when the site is updated (i.e. service worker is updated). It provides "),a("code",[t._v("refresh")]),t._v(" button to allow users to refresh contents immediately.")]),t._v(" "),a("blockquote",[a("p",[t._v("If without the "),a("code",[t._v("refresh")]),t._v(" button, the new service worker will be active after all "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/Clients",target:"_blank",rel:"noopener noreferrer"}},[t._v("clients"),a("OutboundLink")],1),t._v(" are closed. This means that visitors cannot see new contents until they close all tabs of your site. But the "),a("code",[t._v("refresh")]),t._v(" button activates the new service worker immediately.")])]),t._v(" "),a("h3",{attrs:{id:"popupcomponent"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#popupcomponent","aria-hidden":"true"}},[t._v("#")]),t._v(" popupComponent")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("A custom component to replace the default popup component.")]),t._v(" "),a("p",[a("strong",[t._v("Also see:")])]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"#customize-the-ui-of-sw-update-popup"}},[t._v("Customize the SW-Update Popup UI")])])]),t._v(" "),a("h2",{attrs:{id:"migration-from-0-x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#migration-from-0-x","aria-hidden":"true"}},[t._v("#")]),t._v(" Migration from 0.x")]),t._v(" "),a("h3",{attrs:{id:"service-worker"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#service-worker","aria-hidden":"true"}},[t._v("#")]),t._v(" Service Worker")]),t._v(" "),a("div",{staticClass:"language-diff extra-class"},[a("pre",{pre:!0,attrs:{class:"language-diff"}},[a("code",[t._v("module.exports = {\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- serviceWorker: true,")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ plugins: ['@vuepress/pwa']")]),t._v("\n}\n")])])]),a("h3",{attrs:{id:"sw-update-popup"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sw-update-popup","aria-hidden":"true"}},[t._v("#")]),t._v(" SW-Update Popup")]),t._v(" "),a("div",{staticClass:"language-diff extra-class"},[a("pre",{pre:!0,attrs:{class:"language-diff"}},[a("code",[t._v("module.exports = {\n themeConfig: {\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- serviceWorker: {")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- updatePopup: { ")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v('- message: "New content is available.", ')]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v('- buttonText: "Refresh" ')]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- }")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- }")]),t._v("\n },\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ plugins: {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ '@vuepress/pwa': {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ serviceWorker: true,")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ updatePopup: {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v('+ message: "New content is available.",')]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v('+ buttonText: "Refresh"')]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n}\n")])])]),a("p",[t._v("For i18n user:")]),t._v(" "),a("div",{staticClass:"language-diff extra-class"},[a("pre",{pre:!0,attrs:{class:"language-diff"}},[a("code",[t._v("module.exports = {\n themeConfig: {\n '/': {\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- serviceWorker: {")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- updatePopup: {")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v('- message: "New content is available.",')]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v('- buttonText: "Refresh"')]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- }")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- }")]),t._v("\n },\n '/zh/': {\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- serviceWorker: {")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- updatePopup: {")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v('- message: "发现新内容可用",')]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v('- buttonText: "刷新"')]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- }")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- }")]),t._v("\n }\n },\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ plugins: {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ '@vuepress/pwa': {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ serviceWorker: true,")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ updatePopup: {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ '/': {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v('+ message: "New content is available.",')]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v('+ buttonText: "Refresh"')]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ },")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ '/zh/': {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v('+ message: "发现新内容可用",')]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v('+ buttonText: "刷新"')]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n")])])]),a("p",[t._v("It's worth mentioning that the PWA plugin has above i18n built in, so if you want to use the default i18n directly, you can abbreviate the above configuration as:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/pwa'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n serviceWorker"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n updatePopup"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("Feel free to submit PRs to improve the default "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/%40vuepress/plugin-pwa/lib/i18n.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("i18n configuration"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("h2",{attrs:{id:"customize-the-ui-of-sw-update-popup"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#customize-the-ui-of-sw-update-popup","aria-hidden":"true"}},[t._v("#")]),t._v(" Customize the UI of SW-Update Popup")]),t._v(" "),a("p",[t._v("The default sw-update popup component provides a default slot which gives you the ability to fully control the appearence of the popup.")]),t._v(" "),a("p",[t._v("First, you need to create a global component (e.g. "),a("code",[t._v("MySWUpdatePopup")]),t._v(") at "),a("code",[t._v(".vuepress/components")]),t._v(". A simple component created based on the default component is as follows:")]),t._v(" "),a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("SWUpdatePopup")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v("\n "),a("span",{attrs:{class:"token attr-name"}},[t._v("slot-scope")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("{ enabled, reload, message, buttonText }"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n "),a("span",{attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("my-sw-update-popup"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n {{ message }}"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("br")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("button")]),t._v(" "),a("span",{attrs:{class:"token attr-name"}},[t._v("@click")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("reload"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("{{ buttonText }}"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("button")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("SWUpdatePopup")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("template")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{attrs:{class:"token script language-javascript"}},[t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("import")]),t._v(" SWUpdatePopup "),a("span",{attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/plugin-pwa/lib/SWUpdatePopup.vue'")]),t._v("\n\n"),a("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n components"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" SWUpdatePopup "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")]),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("script")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{attrs:{class:"token style language-css"}},[t._v("\n"),a("span",{attrs:{class:"token selector"}},[t._v(".my-sw-update-popup")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("text-align")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" right"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("position")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fixed"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("bottom")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("right")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("background-color")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #fff"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("font-size")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("padding")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("border")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 5px solid #3eaf7c"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{attrs:{class:"token selector"}},[t._v(".my-sw-update-popup button")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("border")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px solid #fefefe"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")]),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("style")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),a("p",[t._v("Then, update your plugin config:")]),t._v(" "),a("div",{staticClass:"language-diff extra-class"},[a("pre",{pre:!0,attrs:{class:"language-diff"}},[a("code",[t._v("module.exports = {\n plugins: {\n '@vuepress/pwa': {\n serviceWorker: true,\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ popupComponent: 'MySWUpdatePopup',")]),t._v("\n updatePopup: true\n }\n }\n}\n")])])]),a("p",[a("strong",[t._v("Also see:")])]),t._v(" "),a("ul",[a("li",[a("router-link",{attrs:{to:"./../../guide/using-vue.html#using-components"}},[t._v("VuePress > Using Components")])],1),t._v(" "),a("li",[a("a",{attrs:{href:"https://cn.vuejs.org/v2/guide/components-slots.html#scoped-slots",target:"_blank",rel:"noopener noreferrer"}},[t._v("Vue > Scoped Slots"),a("OutboundLink")],1)])])])},[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/34.5e0d5a74.js b/vuepress/assets/js/34.5e0d5a74.js new file mode 100644 index 0000000000..73867102de --- /dev/null +++ b/vuepress/assets/js/34.5e0d5a74.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{231:function(t,s,n){"use strict";n.r(s);var a={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=n(5),o=Object(e.a)(a,function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[n("h1",{attrs:{id:"vuepress-plugin-register-components"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-register-components","aria-hidden":"true"}},[t._v("#")]),t._v(" "),n("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/plugin-register-components",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-register-components"),n("OutboundLink")],1)]),t._v(" "),n("blockquote",[n("p",[t._v("register-components plugin for vuepress")])]),t._v(" "),n("h2",{attrs:{id:"install"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#install","aria-hidden":"true"}},[t._v("#")]),t._v(" Install")]),t._v(" "),n("div",{staticClass:"language-bash extra-class"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[t._v("yarn add -D @vuepress/plugin-register-components\n"),n("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-register-components")]),t._v("\n")])])]),n("h2",{attrs:{id:"usage"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#usage","aria-hidden":"true"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),n("div",{staticClass:"language-javascript extra-class"},[n("pre",{pre:!0,attrs:{class:"language-javascript"}},[n("code",[t._v("module"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{attrs:{class:"token string"}},[t._v("'@vuepress/register-components'")]),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),n("h2",{attrs:{id:"options"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#options","aria-hidden":"true"}},[t._v("#")]),t._v(" Options")]),t._v(" "),n("h3",{attrs:{id:"componentsdir"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#componentsdir","aria-hidden":"true"}},[t._v("#")]),t._v(" componentsDir")]),t._v(" "),n("ul",[n("li",[t._v("Type: "),n("code",[t._v("Array | String")])]),t._v(" "),n("li",[t._v("Default: "),n("code",[t._v("[]")])])]),t._v(" "),n("p",[t._v("All components in this directory will be registered as global components, naming of components will follow the components found in "),n("a",{attrs:{href:"https://vuepress.vuejs.org/guide/using-vue.html#using-components",target:"_blank",rel:"noopener noreferrer"}},[t._v(".vuepress/components"),n("OutboundLink")],1),t._v(".")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[t._v("module"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v(" \n "),n("span",{attrs:{class:"token string"}},[t._v("'register-components'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" \n "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n componentsDir"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" somepath\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),n("h3",{attrs:{id:"components"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#components","aria-hidden":"true"}},[t._v("#")]),t._v(" components")]),t._v(" "),n("ul",[n("li",[t._v("Type: "),n("code",[t._v("{ name: string, path: string }")])]),t._v(" "),n("li",[t._v("Default: "),n("code",[t._v("[]")])])]),t._v(" "),n("p",[t._v("Register global components by explicit name and path.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[t._v("module"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v(" \n "),n("span",{attrs:{class:"token string"}},[t._v("'register-components'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" \n "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n components"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'V-Card'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n path"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'path/to/card.vue'")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/35.e4e7fe67.js b/vuepress/assets/js/35.e4e7fe67.js new file mode 100644 index 0000000000..a7c39922da --- /dev/null +++ b/vuepress/assets/js/35.e4e7fe67.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{232:function(t,a,s){"use strict";s.r(a);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=s(5),r=Object(e.a)(n,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"vuepress-plugin-search"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-search","aria-hidden":"true"}},[t._v("#")]),t._v(" "),s("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/plugin-search",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-search"),s("OutboundLink")],1)]),t._v(" "),s("blockquote",[s("p",[s("router-link",{attrs:{to:"./../../miscellaneous/glossary.html#headers"}},[t._v("Headers")]),t._v("-based search plugin")],1)]),t._v(" "),s("h2",{attrs:{id:"install"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#install","aria-hidden":"true"}},[t._v("#")]),t._v(" Install")]),t._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[t._v("yarn add -D @vuepress/plugin-search\n"),s("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-search")]),t._v("\n")])])]),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("Note that this plugin has been included in "),s("strong",[t._v("default theme")]),t._v(", the search box you see now is powered by the plugin.")])]),t._v(" "),s("h2",{attrs:{id:"usage"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#usage","aria-hidden":"true"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),s("ol",[s("li",[t._v("Enable this plugin:")])]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js or themePath/index.js")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{attrs:{class:"token string"}},[t._v("'@vuepress/search'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n searchMaxSuggestions"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token number"}},[t._v("10")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("ol",{attrs:{start:"2"}},[s("li",[t._v("This plugin will automatically inject a webpack alias "),s("code",[t._v("@SearchBox")]),t._v(" pointing to the search component so that you can use it directly in your "),s("router-link",{attrs:{to:"./../../miscellaneous/glossary.html#layout"}},[t._v("layout")]),t._v(" component:")],1)]),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("foo-layout"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("header")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("SearchBox")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("header")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("main")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n ...\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("main")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("template")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{attrs:{class:"token script language-javascript"}},[t._v("\n"),s("span",{attrs:{class:"token keyword"}},[t._v("import")]),t._v(" SearchBox "),s("span",{attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'@SearchBox'")]),t._v("\n\n"),s("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n components"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" SearchBox "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")]),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("script")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("h2",{attrs:{id:"options"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#options","aria-hidden":"true"}},[t._v("#")]),t._v(" Options")]),t._v(" "),s("h3",{attrs:{id:"searchmaxsuggestions"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#searchmaxsuggestions","aria-hidden":"true"}},[t._v("#")]),t._v(" searchMaxSuggestions")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("number")])]),t._v(" "),s("li",[t._v("Default: 5")])]),t._v(" "),s("p",[t._v("Set the maximum number of results for search.")]),t._v(" "),s("h2",{attrs:{id:"tips"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#tips","aria-hidden":"true"}},[t._v("#")]),t._v(" Tips")]),t._v(" "),s("h3",{attrs:{id:"tweak-the-default-colors"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#tweak-the-default-colors","aria-hidden":"true"}},[t._v("#")]),t._v(" Tweak the default colors.")]),t._v(" "),s("p",[t._v("Since the Search component leverages the built-in palette, you can tweak the default colors via "),s("code",[t._v("styles/palette.styl")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-stylus extra-class"},[s("pre",{pre:!0,attrs:{class:"language-stylus"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// colors of the searchbox you see now:")]),t._v("\n"),s("span",{attrs:{class:"token variable-declaration"}},[s("span",{attrs:{class:"token variable"}},[t._v("$accentColor")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token hexcode"}},[t._v("#3eaf7c")])]),t._v("\n"),s("span",{attrs:{class:"token variable-declaration"}},[s("span",{attrs:{class:"token variable"}},[t._v("$textColor")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token hexcode"}},[t._v("#2c3e50")])]),t._v("\n"),s("span",{attrs:{class:"token variable-declaration"}},[s("span",{attrs:{class:"token variable"}},[t._v("$borderColor")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token hexcode"}},[t._v("#eaecef")])]),t._v("\n"),s("span",{attrs:{class:"token variable-declaration"}},[s("span",{attrs:{class:"token variable"}},[t._v("$codeBgColor")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token hexcode"}},[t._v("#282c34")])]),t._v("\n"),s("span",{attrs:{class:"token variable-declaration"}},[s("span",{attrs:{class:"token variable"}},[t._v("$arrowBgColor")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token hexcode"}},[t._v("#ccc")])]),t._v("\n")])])])])},[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/36.ca792103.js b/vuepress/assets/js/36.ca792103.js new file mode 100644 index 0000000000..cd15a382ef --- /dev/null +++ b/vuepress/assets/js/36.ca792103.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{233:function(s,t,a){"use strict";a.r(t);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),o=Object(e.a)(n,function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.slotKey}},[a("h1",{attrs:{id:"using-a-plugin"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#using-a-plugin","aria-hidden":"true"}},[s._v("#")]),s._v(" Using a Plugin")]),s._v(" "),a("p",[s._v("You can use plugins by doing some configuration at "),a("code",[s._v(".vuepress/config.js")]),s._v(":")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v("\n "),a("span",{attrs:{class:"token function"}},[s._v("require")]),a("span",{attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{attrs:{class:"token string"}},[s._v("'./my-plugin.js'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("h2",{attrs:{id:"use-plugins-from-a-dependency"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#use-plugins-from-a-dependency","aria-hidden":"true"}},[s._v("#")]),s._v(" Use plugins from a dependency")]),s._v(" "),a("p",[s._v("A plugin can be published on npm in "),a("code",[s._v("CommonJS")]),s._v(" format as "),a("code",[s._v("vuepress-plugin-xxx")]),s._v(". you can use it:")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'vuepress-plugin-xx'")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("h2",{attrs:{id:"plugin-shorthand"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugin-shorthand","aria-hidden":"true"}},[s._v("#")]),s._v(" Plugin Shorthand")]),s._v(" "),a("p",[s._v("If you prefix the plugin with "),a("code",[s._v("vuepress-plugin-")]),s._v(", you can use a shorthand to leave out that prefix:")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'xxx'")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("p",[s._v("Same with:")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'vuepress-plugin-xxx'")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("p",[s._v("This also works with "),a("a",{attrs:{href:"https://docs.npmjs.com/misc/scope",target:"_blank",rel:"noopener noreferrer"}},[s._v("Scoped Packages"),a("OutboundLink")],1),s._v(":")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'@org/vuepress-plugin-xxx'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'@vuepress/plugin-xxx'")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("p",[s._v("Shorthand:")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'@org/xxx'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'@vuepress/xxx'")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[s._v("Note")]),s._v(" "),a("p",[s._v("The plugin whose name starts with "),a("code",[s._v("@vuepress/plugin-")]),s._v(" is an officially maintained plugin.")])]),s._v(" "),a("h2",{attrs:{id:"plugin-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugin-options","aria-hidden":"true"}},[s._v("#")]),s._v(" Plugin options")]),s._v(" "),a("h3",{attrs:{id:"babel-style"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#babel-style","aria-hidden":"true"}},[s._v("#")]),s._v(" Babel Style")]),s._v(" "),a("p",[s._v("Plugins can have options specified by wrapping the name and an options object in an array inside your config:")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v("\n "),a("span",{attrs:{class:"token string"}},[s._v("'vuepress-plugin-xxx'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" "),a("span",{attrs:{class:"token comment"}},[s._v("/* options */")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("p",[s._v("Since this style is consistent with "),a("a",{attrs:{href:"https://babeljs.io/docs/en/plugins#plugin-preset-options",target:"_blank",rel:"noopener noreferrer"}},[s._v("babel's Plugin/Preset Options"),a("OutboundLink")],1),s._v(", we call it "),a("code",[s._v("Babel Style")]),s._v(".")]),s._v(" "),a("h3",{attrs:{id:"object-style"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#object-style","aria-hidden":"true"}},[s._v("#")]),s._v(" Object Style")]),s._v(" "),a("p",[s._v("VuePress also provides a simpler way to use plugins from a dependency:")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{attrs:{class:"token string"}},[s._v("'xxx'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" "),a("span",{attrs:{class:"token comment"}},[s._v("/* options */")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[s._v("Note")]),s._v(" "),a("p",[s._v("The plugin can be disabled when "),a("code",[s._v("false")]),s._v(" is explicitly passed as option.")]),s._v(" "),a("ul",[a("li",[s._v("Babel style")])]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'xxx'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{attrs:{class:"token boolean"}},[s._v("false")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),a("span",{attrs:{class:"token comment"}},[s._v("// disabled.")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("ul",[a("li",[s._v("Object style")])]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{attrs:{class:"token string"}},[s._v("'xxx'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token boolean"}},[s._v("false")]),s._v(" "),a("span",{attrs:{class:"token comment"}},[s._v("// disabled.")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])])])])},[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/37.6d74e878.js b/vuepress/assets/js/37.6d74e878.js new file mode 100644 index 0000000000..cdcbc20e9c --- /dev/null +++ b/vuepress/assets/js/37.6d74e878.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{234:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),o=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"writing-a-plugin"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#writing-a-plugin","aria-hidden":"true"}},[t._v("#")]),t._v(" Writing a Plugin")]),t._v(" "),a("p",[t._v("A plugin should export a "),a("code",[t._v("plain JavaScript object")]),t._v("("),a("code",[t._v("#1")]),t._v("). If the plugin needs to take options, it can be a function that exports a plain object("),a("code",[t._v("#2")]),t._v("). The function will be called with the plugin's options as the first argument, along with "),a("a",{attrs:{href:"#ctx"}},[t._v("ctx")]),t._v(" which provides some compile-time metadata.")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// #1")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// #2")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("A VuePress plugin module should be a "),a("code",[t._v("CommonJS Module")]),t._v(" because VuePress plugins runs on the Node side.")])])])},[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/38.a1c5df9a.js b/vuepress/assets/js/38.a1c5df9a.js new file mode 100644 index 0000000000..6762fe63f5 --- /dev/null +++ b/vuepress/assets/js/38.a1c5df9a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{235:function(t,e,s){"use strict";s.r(e);var o={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=s(5),r=Object(n.a)(o,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"theme"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#theme","aria-hidden":"true"}},[t._v("#")]),t._v(" Theme")]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("Theme components are subject to the same "),s("router-link",{attrs:{to:"./../guide/using-vue.html#browser-api-access-restrictions"}},[t._v("browser API access restrictions")]),t._v(".")],1)])])},[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/39.b0d2ff36.js b/vuepress/assets/js/39.b0d2ff36.js new file mode 100644 index 0000000000..faab303c2a --- /dev/null +++ b/vuepress/assets/js/39.b0d2ff36.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{236:function(t,e,s){"use strict";s.r(e);var a={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=s(5),r=Object(n.a)(a,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"option-api"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#option-api","aria-hidden":"true"}},[t._v("#")]),t._v(" Option API")]),t._v(" "),s("h2",{attrs:{id:"plugins"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#plugins","aria-hidden":"true"}},[t._v("#")]),t._v(" plugins")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("Array|Object")])]),t._v(" "),s("li",[t._v("Default: undefined")])]),t._v(" "),s("p",[s("strong",[t._v("Also see:")])]),t._v(" "),s("ul",[s("li",[s("router-link",{attrs:{to:"./../plugin/using-a-plugin.html"}},[t._v("Plugin > Using a plugin")]),t._v(".")],1)]),t._v(" "),s("h2",{attrs:{id:"extend"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#extend","aria-hidden":"true"}},[t._v("#")]),t._v(" extend")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("String")])]),t._v(" "),s("li",[t._v("Default: undefined")])]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n extend"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'@vuepress/theme-default'")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("VuePress supports a theme to be inherited from another theme. VuePress will follow the principle of "),s("code",[t._v("override")]),t._v(" to automatically help you resolve the priorities of various theme attributes, such as styles, layout components.")]),t._v(" "),s("p",[t._v("Note that in the child theme, VuePress will apply a "),s("code",[t._v("@parent-theme")]),t._v(" "),s("router-link",{attrs:{to:"./../plugin/option-api.html#alias"}},[t._v("alias")]),t._v(" pointing to the package directory of parent theme.")],1),t._v(" "),s("p",[s("strong",[t._v("Also see:")])]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/theme-vue",target:"_blank",rel:"noopener noreferrer"}},[t._v("Example: "),s("code",[t._v("@vuepress/theme-vue")]),s("OutboundLink")],1)]),t._v(" "),s("li",[s("router-link",{attrs:{to:"./../miscellaneous/design-concepts.html"}},[t._v("Design Concepts of VuePress 1.x")])],1)])])},[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/4.d16007cf.js b/vuepress/assets/js/4.d16007cf.js new file mode 100644 index 0000000000..10c72db3f5 --- /dev/null +++ b/vuepress/assets/js/4.d16007cf.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{201:function(s,t,e){"use strict";e.r(t);var a={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=e(5),r=Object(n.a)(a,function(){var s=this,t=s.$createElement,e=s._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":s.slotKey}},[e("div",{staticStyle:{"text-align":"center"}},[e("Bit")],1),s._v(" "),e("div",{staticClass:"features"},[e("div",{staticClass:"feature"},[e("h2",[s._v("Simplicity First")]),s._v(" "),e("p",[s._v("Minimal setup with markdown-centered project structure helps you focus on writing.")])]),s._v(" "),e("div",{staticClass:"feature"},[e("h2",[s._v("Vue-Powered")]),s._v(" "),e("p",[s._v("Enjoy the dev experience of Vue + webpack, use Vue components in markdown, and develop custom themes with Vue.")])]),s._v(" "),e("div",{staticClass:"feature"},[e("h2",[s._v("Performant")]),s._v(" "),e("p",[s._v("VuePress generates pre-rendered static HTML for each page, and runs as an SPA once a page is loaded.")])])]),s._v(" "),e("h3",{attrs:{id:"as-easy-as-1-2-3"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#as-easy-as-1-2-3","aria-hidden":"true"}},[s._v("#")]),s._v(" As Easy as 1, 2, 3")]),s._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{attrs:{class:"token comment"}},[s._v("# install")]),s._v("\nyarn global add vuepress@next \n"),e("span",{attrs:{class:"token comment"}},[s._v("# OR npm install -g vuepress@next")]),s._v("\n\n"),e("span",{attrs:{class:"token comment"}},[s._v("# create a markdown file")]),s._v("\n"),e("span",{attrs:{class:"token keyword"}},[s._v("echo")]),s._v(" "),e("span",{attrs:{class:"token string"}},[s._v("'# Hello VuePress'")]),s._v(" "),e("span",{attrs:{class:"token operator"}},[s._v(">")]),s._v(" README.md\n\n"),e("span",{attrs:{class:"token comment"}},[s._v("# start writing")]),s._v("\nvuepress dev\n\n"),e("span",{attrs:{class:"token comment"}},[s._v("# build to static files")]),s._v("\nvuepress build\n")])])]),e("div",{staticClass:"warning custom-block"},[e("p",{staticClass:"custom-block-title"},[s._v("COMPATIBILITY NOTE")]),s._v(" "),e("p",[s._v("VuePress requires Node.js >= 8.")])])])},[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/40.af5932b9.js b/vuepress/assets/js/40.af5932b9.js new file mode 100644 index 0000000000..2829c4db1c --- /dev/null +++ b/vuepress/assets/js/40.af5932b9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{237:function(t,s,a){"use strict";a.r(s);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=a(5),o=Object(n.a)(e,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"using-a-theme"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#using-a-theme","aria-hidden":"true"}},[t._v("#")]),t._v(" Using a theme")]),t._v(" "),a("p",[t._v("Using a theme is almost same as using a plugin.")]),t._v(" "),a("h2",{attrs:{id:"using-a-theme-from-a-dependency"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#using-a-theme-from-a-dependency","aria-hidden":"true"}},[t._v("#")]),t._v(" Using a theme from a dependency")]),t._v(" "),a("p",[t._v("Themes can be published on npm in raw Vue SFC format as "),a("code",[t._v("vuepress-theme-xxx")]),t._v(".")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n theme"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'vuepress-theme-xx'")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"theme-shorthand"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#theme-shorthand","aria-hidden":"true"}},[t._v("#")]),t._v(" Theme Shorthand")]),t._v(" "),a("p",[t._v("If you prefix the plugin with "),a("code",[t._v("vuepress-theme-")]),t._v(", you can use a shorthand to leave out that prefix:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n theme"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'xxx'")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("Same with:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n theme"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'vuepress-theme-xxx'")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("This also works with "),a("a",{attrs:{href:"https://docs.npmjs.com/misc/scope",target:"_blank",rel:"noopener noreferrer"}},[t._v("Scoped Packages"),a("OutboundLink")],1),t._v(":")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n theme"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'@org/vuepress-theme-xxx'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// or an official theme: '@vuepress/theme-xxx'")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("Shorthand:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n theme"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'@org/xxx'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// or an official theme: '@vuepress/xxx'")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),a("p",[t._v("The plugin whose name starts with "),a("code",[t._v("@vuepress/theme-")]),t._v(" is an officially maintained theme.")])])])},[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/41.e26383c5.js b/vuepress/assets/js/41.e26383c5.js new file mode 100644 index 0000000000..b9684cd490 --- /dev/null +++ b/vuepress/assets/js/41.e26383c5.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{238:function(t,a,e){"use strict";e.r(a);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=e(5),o=Object(n.a)(s,function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[e("h1",{attrs:{id:"writing-a-theme"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#writing-a-theme","aria-hidden":"true"}},[t._v("#")]),t._v(" Writing a theme")]),t._v(" "),e("p",[t._v("To write a theme, create a "),e("code",[t._v(".vuepress/theme")]),t._v(" directory in your docs root, and then create a "),e("code",[t._v("Layout.vue")]),t._v(" file:")]),t._v(" "),e("pre",{staticClass:"vue-container"},[e("code",[e("p",[t._v(".\n└─ .vuepress\n └─ "),e("code",[t._v("theme")]),t._v("\n   └─ Layout.vue")]),t._v("\n")])]),e("p",[t._v("From there it's the same as developing a normal Vue application. It is entirely up to you how to organize your theme.")]),t._v(" "),e("h2",{attrs:{id:"content-outlet"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#content-outlet","aria-hidden":"true"}},[t._v("#")]),t._v(" Content Outlet")]),t._v(" "),e("p",[t._v("The compiled content of the current "),e("code",[t._v(".md")]),t._v(" file being rendered will be available as a special "),e("code",[t._v("<Content/>")]),t._v(" global component. You will need to render it somewhere in your layout in order to display the content of the page. The simplest theme can be just a single "),e("code",[t._v("Layout.vue")]),t._v(" component with the following content:")]),t._v(" "),e("div",{staticClass:"language-html extra-class"},[e("pre",{pre:!0,attrs:{class:"language-html"}},[e("code",[e("span",{attrs:{class:"token tag"}},[e("span",{attrs:{class:"token tag"}},[e("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),e("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),e("span",{attrs:{class:"token tag"}},[e("span",{attrs:{class:"token tag"}},[e("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),e("span",{attrs:{class:"token attr-name"}},[t._v("class")]),e("span",{attrs:{class:"token attr-value"}},[e("span",{attrs:{class:"token punctuation"}},[t._v("=")]),e("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("theme-container"),e("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),e("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),e("span",{attrs:{class:"token tag"}},[e("span",{attrs:{class:"token tag"}},[e("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),e("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),e("span",{attrs:{class:"token tag"}},[e("span",{attrs:{class:"token tag"}},[e("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),e("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),e("span",{attrs:{class:"token tag"}},[e("span",{attrs:{class:"token tag"}},[e("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("template")]),e("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),e("p",[e("strong",[t._v("Also see:")])]),t._v(" "),e("ul",[e("li",[e("router-link",{attrs:{to:"./../guide/markdown-slot.html"}},[t._v("Markdown Slot")])],1)]),t._v(" "),e("h2",{attrs:{id:"directory-structure"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#directory-structure","aria-hidden":"true"}},[t._v("#")]),t._v(" Directory Structure")]),t._v(" "),e("p",[t._v("Just one "),e("code",[t._v("Layout.vue")]),t._v(" might not be enough, and you might also want to define more layout components in the theme for using on different pages. You may also want to customize the "),e("router-link",{attrs:{to:"./../config/#palette-styl"}},[t._v("palette")]),t._v(", and even apply some plugins.")],1),t._v(" "),e("p",[t._v("So it's time to reorganize your theme, an agreed theme directory structure is as follows:")]),t._v(" "),e("pre",{staticClass:"vue-container"},[e("code",[e("p",[t._v("themePath\n├── "),e("code",[t._v("global-components")]),t._v(" "),e("em",[t._v("("),e("strong",[t._v("Optional")]),t._v(")")]),t._v("\n│ └── xxx.vue\n├── "),e("code",[t._v("components")]),t._v(" "),e("em",[t._v("("),e("strong",[t._v("Optional")]),t._v(")")]),t._v("\n│ └── xxx.vue\n├── "),e("code",[t._v("layouts")]),t._v("\n│   ├── Layout.vue "),e("em",[t._v("("),e("strong",[t._v("Required")]),t._v(")")]),t._v("\n│   └── 404.vue "),e("em",[t._v("("),e("strong",[t._v("Optional")]),t._v(")")]),t._v("\n├── "),e("code",[t._v("styles")]),t._v(" "),e("em",[t._v("("),e("strong",[t._v("Optional")]),t._v(")")]),t._v("\n│   ├── index.styl\n│   └── palette.styl\n├── "),e("code",[t._v("templates")]),t._v(" "),e("em",[t._v("("),e("strong",[t._v("Optional")]),t._v(")")]),t._v("\n│   ├── dev.html\n│   └── ssr.html\n├── "),e("code",[t._v("index.js")]),t._v(" "),e("em",[t._v("("),e("strong",[t._v("Only required when you publish it as an npm package")]),t._v(")")]),t._v("\n├── "),e("code",[t._v("enhanceApp.js")]),t._v(" "),e("em",[t._v("("),e("strong",[t._v("Optional")]),t._v(")")]),t._v("\n└── package.json")]),t._v("\n")])]),e("ul",[e("li",[e("code",[t._v("theme/global-components")]),t._v(": Components under this directory will be automatically registered as global components. For details, please refer to "),e("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-register-components",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-register-components"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("li",[e("code",[t._v("theme/components")]),t._v(": Your components.")]),t._v(" "),e("li",[e("code",[t._v("theme/layouts")]),t._v(": Layout components of the theme, where "),e("code",[t._v("Layout.vue")]),t._v(" is required.")]),t._v(" "),e("li",[e("code",[t._v("theme/styles")]),t._v(": Global style and palette.")]),t._v(" "),e("li",[e("code",[t._v("theme/templates")]),t._v(": Modify default template.")]),t._v(" "),e("li",[e("code",[t._v("theme/index.js")]),t._v(": Entry file of theme configuration.")]),t._v(" "),e("li",[e("code",[t._v("theme/enhanceApp.js")]),t._v(": Theme level enhancements.")])]),t._v(" "),e("div",{staticClass:"warning custom-block"},[e("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),e("p",[t._v("When you want to publish your theme as an npm package, make sure the package has "),e("code",[t._v("index.js")]),t._v(", and set "),e("code",[t._v('"main"')]),t._v(" field at "),e("code",[t._v("package.json")]),t._v(" to "),e("code",[t._v("index.js")]),t._v(" so that VuePress can resolve and get the correct "),e("router-link",{attrs:{to:"./../miscellaneous/glossary.html#theme-side"}},[t._v("themePath")]),t._v(".")],1),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n ...\n "),e("span",{attrs:{class:"token property"}},[t._v('"main"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token string"}},[t._v('"index.js"')]),t._v("\n ...\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])]),t._v(" "),e("h2",{attrs:{id:"layout-component"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#layout-component","aria-hidden":"true"}},[t._v("#")]),t._v(" Layout Component")]),t._v(" "),e("p",[t._v("Suppose your theme layouts folder is as follows:")]),t._v(" "),e("pre",{staticClass:"vue-container"},[e("code",[e("p",[t._v("theme\n└── "),e("code",[t._v("layouts")]),t._v("\n   ├── Layout.vue\n   ├── AnotherLayout.vue\n   └── 404.vue")]),t._v("\n")])]),e("p",[t._v("Then, all the pages will use "),e("code",[t._v("Layout.vue")]),t._v(" as layout component by default, while the routes not matching will use "),e("code",[t._v("404.vue")]),t._v(".")]),t._v(" "),e("p",[t._v("If you want to switch the layout of the some page to "),e("code",[t._v("AnotherLayout.vue")]),t._v(", you just need to update the frontmatter of this page:")]),t._v(" "),e("div",{staticClass:"language-markdown extra-class"},[e("pre",{pre:!0,attrs:{class:"language-markdown"}},[e("code",[e("span",{attrs:{class:"token hr punctuation"}},[t._v("---")]),t._v("\n"),e("span",{attrs:{class:"token title important"}},[t._v("layout: AnotherLayout\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("---")])]),t._v("\n")])])]),e("h2",{attrs:{id:"apply-plugins"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#apply-plugins","aria-hidden":"true"}},[t._v("#")]),t._v(" Apply plugins")]),t._v(" "),e("p",[t._v("You can apply some plugins to the theme via "),e("code",[t._v("theme/index.js")]),t._v(".")]),t._v(" "),e("div",{staticClass:"language-js extra-class"},[e("pre",{pre:!0,attrs:{class:"language-js"}},[e("code",[t._v("module"),e("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),e("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{attrs:{class:"token string"}},[t._v("'@vuepress/pwa'")]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" \n serviceWorker"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token boolean"}},[t._v("true")]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n updatePopup"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("h2",{attrs:{id:"site-and-page-metadata"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#site-and-page-metadata","aria-hidden":"true"}},[t._v("#")]),t._v(" Site and Page Metadata")]),t._v(" "),e("p",[t._v("The "),e("code",[t._v("Layout")]),t._v(" component will be invoked once for every "),e("code",[t._v(".md")]),t._v(" file in "),e("code",[t._v("docs")]),t._v(", and the metadata for the entire site and that specific page will be exposed respectively as "),e("code",[t._v("this.$site")]),t._v(" and "),e("code",[t._v("this.$page")]),t._v(" properties which are injected into every component in the app.")]),t._v(" "),e("p",[t._v("This is the value of "),e("code",[t._v("$site")]),t._v(" of this very website:")]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{attrs:{class:"token property"}},[t._v('"title"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token string"}},[t._v('"VuePress"')]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{attrs:{class:"token property"}},[t._v('"description"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token string"}},[t._v('"Vue-powered Static Site Generator"')]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{attrs:{class:"token property"}},[t._v('"base"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token string"}},[t._v('"/"')]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{attrs:{class:"token property"}},[t._v('"pages"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{attrs:{class:"token property"}},[t._v('"lastUpdated"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token number"}},[t._v("1524027677000")]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{attrs:{class:"token property"}},[t._v('"path"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token string"}},[t._v('"/"')]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{attrs:{class:"token property"}},[t._v('"title"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token string"}},[t._v('"VuePress"')]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{attrs:{class:"token property"}},[t._v('"frontmatter"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n ...\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("p",[e("code",[t._v("title")]),t._v(", "),e("code",[t._v("description")]),t._v(" and "),e("code",[t._v("base")]),t._v(" are copied from respective fields in "),e("code",[t._v(".vuepress/config.js")]),t._v(". "),e("code",[t._v("pages")]),t._v(" contains an array of metadata objects for each page, including its path, page title (explicitly specified in "),e("router-link",{attrs:{to:"./../guide/markdown.html#front-matter"}},[t._v("YAML front matter")]),t._v(" or inferred from the first header on the page), and any YAML front matter data in that file.")],1),t._v(" "),e("p",[t._v("This is the "),e("code",[t._v("$page")]),t._v(" object for this page you are looking at:")]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{attrs:{class:"token property"}},[t._v('"lastUpdated"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token number"}},[t._v("1524847549000")]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{attrs:{class:"token property"}},[t._v('"path"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token string"}},[t._v('"/guide/custom-themes.html"')]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{attrs:{class:"token property"}},[t._v('"title"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token string"}},[t._v('"Custom Themes"')]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{attrs:{class:"token property"}},[t._v('"headers"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("/* ... */"),e("span",{attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{attrs:{class:"token property"}},[t._v('"frontmatter"')]),e("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("p",[t._v("If the user provided "),e("code",[t._v("themeConfig")]),t._v(" in "),e("code",[t._v(".vuepress/config.js")]),t._v(", it will also be available as "),e("code",[t._v("$site.themeConfig")]),t._v(". You can use this to allow users to customize behavior of your theme - for example, specifying categories and page order. You can then use these data together with "),e("code",[t._v("$site.pages")]),t._v(" to dynamically construct navigation links.")]),t._v(" "),e("p",[t._v("Finally, don't forget that "),e("code",[t._v("this.$route")]),t._v(" and "),e("code",[t._v("this.$router")]),t._v(" are also available as part of Vue Router's API.")]),t._v(" "),e("div",{staticClass:"tip custom-block"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[e("code",[t._v("lastUpdated")]),t._v(" is the UNIX timestamp of this file's last git commit, for more details, refer to "),e("router-link",{attrs:{to:"./../theme/default-theme-config.html#last-updated"}},[t._v("Last Updated")]),t._v(".")],1)]),t._v(" "),e("h2",{attrs:{id:"content-excerpt"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#content-excerpt","aria-hidden":"true"}},[t._v("#")]),t._v(" Content Excerpt")]),t._v(" "),e("p",[t._v("If a markdown file contains a "),e("code",[t._v("\x3c!-- more --\x3e")]),t._v(" comment, any content above the comment will be extracted and exposed as "),e("code",[t._v("$page.excerpt")]),t._v(". If you are building custom theme for blogging, this data can be used to render a post list with excerpts.")]),t._v(" "),e("h2",{attrs:{id:"app-level-enhancements"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#app-level-enhancements","aria-hidden":"true"}},[t._v("#")]),t._v(" App Level Enhancements")]),t._v(" "),e("p",[t._v("Themes can enhance the Vue app that VuePress uses by exposing an "),e("code",[t._v("enhanceApp.js")]),t._v(" file at the root of the theme. The file should "),e("code",[t._v("export default")]),t._v(" a hook function which will receive an object containing some app level values. You can use this hook to install additional Vue plugins, register global components, or add additional router hooks:")]),t._v(" "),e("div",{staticClass:"language-js extra-class"},[e("pre",{pre:!0,attrs:{class:"language-js"}},[e("code",[e("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),e("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n Vue"),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{attrs:{class:"token comment"}},[t._v("// the version of Vue being used in the VuePress app")]),t._v("\n options"),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{attrs:{class:"token comment"}},[t._v("// the options for the root Vue instance")]),t._v("\n router"),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{attrs:{class:"token comment"}},[t._v("// the router instance for the app")]),t._v("\n siteData "),e("span",{attrs:{class:"token comment"}},[t._v("// site metadata")]),t._v("\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),e("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{attrs:{class:"token comment"}},[t._v("// ...apply enhancements to the app")]),t._v("\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/42.bf69bddd.js b/vuepress/assets/js/42.bf69bddd.js new file mode 100644 index 0000000000..188bbb92df --- /dev/null +++ b/vuepress/assets/js/42.bf69bddd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{239:function(s,t,n){"use strict";n.r(t);var a={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=n(5),o=Object(e.a)(a,function(){var s=this,t=s.$createElement,n=s._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":s.slotKey}},[n("h3",{attrs:{id:"像数-1-2-3-一样容易"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#像数-1-2-3-一样容易","aria-hidden":"true"}},[s._v("#")]),s._v(" 像数 1, 2, 3 一样容易")]),s._v(" "),n("div",{staticClass:"language-bash extra-class"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{attrs:{class:"token comment"}},[s._v("# 安装")]),s._v("\nyarn global add vuepress "),n("span",{attrs:{class:"token comment"}},[s._v("# 或者:npm install -g vuepress")]),s._v("\n\n"),n("span",{attrs:{class:"token comment"}},[s._v("# 新建一个 markdown 文件")]),s._v("\n"),n("span",{attrs:{class:"token keyword"}},[s._v("echo")]),s._v(" "),n("span",{attrs:{class:"token string"}},[s._v("'# Hello VuePress!'")]),s._v(" "),n("span",{attrs:{class:"token operator"}},[s._v(">")]),s._v(" README.md\n\n"),n("span",{attrs:{class:"token comment"}},[s._v("# 开始写作")]),s._v("\nvuepress dev "),n("span",{attrs:{class:"token keyword"}},[s._v(".")]),s._v("\n\n"),n("span",{attrs:{class:"token comment"}},[s._v("# 构建静态文件")]),s._v("\nvuepress build "),n("span",{attrs:{class:"token keyword"}},[s._v(".")]),s._v("\n")])])]),n("div",{staticClass:"warning custom-block"},[n("p",{staticClass:"custom-block-title"},[s._v("注意")]),s._v(" "),n("p",[s._v("请确保你的 Node.js 版本 >= 8。")])])])},[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/43.c0368a24.js b/vuepress/assets/js/43.c0368a24.js new file mode 100644 index 0000000000..673a9fbea7 --- /dev/null +++ b/vuepress/assets/js/43.c0368a24.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{240:function(t,e,n){"use strict";n.r(e);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},a=n(5),o=Object(a.a)(s,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[n("h1",{attrs:{id:"faq"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#faq","aria-hidden":"true"}},[t._v("#")]),t._v(" FAQ")]),t._v(" "),n("h2",{attrs:{id:"why-can-t-palette-styl-and-index-styl-merge-into-one-api"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#why-can-t-palette-styl-and-index-styl-merge-into-one-api","aria-hidden":"true"}},[t._v("#")]),t._v(" Why can't "),n("code",[t._v("palette.styl")]),t._v(" and "),n("code",[t._v("index.styl")]),t._v(" merge into one API?")]),t._v(" "),n("p",[t._v("The "),n("code",[t._v("palette.styl")]),t._v(" is responsible for global color settings. During compilation, theme color constants should be resolved by the preprocessor first and then be applied to the global context.")]),t._v(" "),n("p",[t._v("But for "),n("code",[t._v("index.styl")]),t._v(". its job is to override the default styles of application. According to the priority principle of css, the later style has a higher priority, so it should be generated at the end of the CSS file.")]),t._v(" "),n("p",[t._v("A simple diagram describing the stylus compiler's compilation order as follows:")]),t._v(" "),n("p",[t._v("@flowstart\nstage1=>operation: palette.styl\nstage2=>operation: default app styles\nstage3=>operation: index.styl")]),t._v(" "),n("p",[t._v("stage1->stage2->stage3\n@flowend")]),t._v(" "),n("br"),t._v(" "),n("h2",{attrs:{id:"what-s-the-differences-between-the-clientdynamicmodules-and-enhanceappfiles"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#what-s-the-differences-between-the-clientdynamicmodules-and-enhanceappfiles","aria-hidden":"true"}},[t._v("#")]),t._v(" What's the differences between the "),n("code",[t._v("clientDynamicModules")]),t._v(" and "),n("code",[t._v("enhanceAppFiles")]),t._v("?")]),t._v(" "),n("p",[t._v("Let's take a look back first, both "),n("code",[t._v("clientDynamicModules")]),t._v(" and "),n("code",[t._v("enhanceAppFiles")]),t._v(" can generate modules with dynamic javascript code during compile time.")]),t._v(" "),n("p",[t._v("The difference is that the files generated by "),n("code",[t._v("enhanceAppFiles")]),t._v(" will be loaded and applied automatically when the application is initialized on the client side. While the files generated by "),n("code",[t._v("clientDynamicModules")]),t._v(" needs to be imported as "),n("code",[t._v("@dynamic/xxx")]),t._v(" by the users themselves.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[t._v("module"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// Import by entry file automatically.")]),t._v("\n enhanceAppFiles"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'constans-a'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n content"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token template-string"}},[n("span",{attrs:{class:"token string"}},[t._v("`...`")])]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),n("span",{attrs:{class:"token comment"}},[t._v("// Need to use via: import '@dynamic/constans-b'")]),t._v("\n "),n("span",{attrs:{class:"token function"}},[t._v("clientDynamicModules")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'constans-b'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n content"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token template-string"}},[n("span",{attrs:{class:"token string"}},[t._v("`...`")])]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("h2",{attrs:{id:"when-do-i-need-to-use-enhanceappfiles"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#when-do-i-need-to-use-enhanceappfiles","aria-hidden":"true"}},[t._v("#")]),t._v(" When do I need to use "),n("code",[t._v("enhanceAppFiles")]),t._v("?")]),t._v(" "),n("ol",[n("li",[t._v("I want to execute some code on the client side automatically.")]),t._v(" "),n("li",[t._v("I don't have need for reuse of this module.")])]),t._v(" "),n("p",[n("strong",[t._v("Example:")])]),t._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-register-components/index.js#L24",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-register-components"),n("OutboundLink")],1),t._v(": Automatically registering components on the client side.")]),t._v(" "),n("li",[n("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/@vuepress/plugin-pagination/index.js#L14",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-pagination"),n("OutboundLink")],1),t._v(": Automatically insert Vue plugins to expand the API of the client.")])]),t._v(" "),n("h2",{attrs:{id:"when-do-i-need-to-use-clientdynamicmodules"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#when-do-i-need-to-use-clientdynamicmodules","aria-hidden":"true"}},[t._v("#")]),t._v(" When do I need to use "),n("code",[t._v("clientDynamicModules")]),t._v("?")]),t._v(" "),n("ol",[n("li",[t._v("I want to generate a dynamic module that needs to be invoked at a specific time.")]),t._v(" "),n("li",[t._v("I want to use this module in different modules.")])]),t._v(" "),n("p",[n("strong",[t._v("Example:")])]),t._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/@vuepress/plugin-blog/index.js#L145",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-blog"),n("OutboundLink")],1),t._v(": Using compile-time metadata to generate some dynamic blog-related modules and initialize them on the client side by using "),n("code",[t._v("enhanceAppFiles")]),t._v(".")])])])},[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/44.d601f92a.js b/vuepress/assets/js/44.d601f92a.js new file mode 100644 index 0000000000..dd71388d79 --- /dev/null +++ b/vuepress/assets/js/44.d601f92a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{241:function(t,e,r){"use strict";r.r(e);var a={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},o=r(5),s=Object(o.a)(a,function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[r("h1",{attrs:{id:"介绍"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#介绍","aria-hidden":"true"}},[t._v("#")]),t._v(" 介绍")]),t._v(" "),r("p",[t._v("VuePress 由两部分组成:第一部分是一个"),r("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/core",target:"_blank",rel:"noopener noreferrer"}},[t._v("极简静态网站生成器"),r("OutboundLink")],1),t._v(",它包含由 Vue 驱动的"),r("router-link",{attrs:{to:"./../theme/"}},[t._v("主题系统")]),t._v("和"),r("router-link",{attrs:{to:"./../plugin/"}},[t._v("插件 API")]),t._v(",另一个部分是为书写技术文档而优化的"),r("router-link",{attrs:{to:"./../theme/default-theme-config.html"}},[t._v("默认主题")]),t._v(",它的诞生初衷是为了支持 Vue 及其子项目的文档需求。")],1),t._v(" "),r("p",[t._v("每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加载性能和搜索引擎优化(SEO)。同时,一旦页面被加载,Vue 将接管这些静态内容,并将其转换成一个完整的单页应用(SPA),其他的页面则会只在用户浏览到的时候才按需加载。")]),t._v(" "),r("h2",{attrs:{id:"它是如何工作的?"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#它是如何工作的?","aria-hidden":"true"}},[t._v("#")]),t._v(" 它是如何工作的?")]),t._v(" "),r("p",[t._v("事实上,一个 VuePress 网站是一个由 "),r("a",{attrs:{href:"http://vuejs.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Vue"),r("OutboundLink")],1),t._v("、"),r("a",{attrs:{href:"https://github.com/vuejs/vue-router",target:"_blank",rel:"noopener noreferrer"}},[t._v("Vue Router"),r("OutboundLink")],1),t._v(" 和 "),r("a",{attrs:{href:"http://webpack.js.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("webpack"),r("OutboundLink")],1),t._v(" 驱动的单页应用。如果你以前使用过 Vue 的话,当你在开发一个自定义主题的时候,你会感受到非常熟悉的开发体验,你甚至可以使用 Vue DevTools 去调试你的自定义主题。")]),t._v(" "),r("p",[t._v("在构建时,我们会为应用创建一个服务端渲染(SSR)的版本,然后通过虚拟访问每一条路径来渲染对应的HTML。这种做法的灵感来源于 "),r("a",{attrs:{href:"https://nuxtjs.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Nuxt"),r("OutboundLink")],1),t._v(" 的 "),r("code",[t._v("nuxt generate")]),t._v(" 命令,以及其他的一些项目,比如 "),r("a",{attrs:{href:"https://www.gatsbyjs.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Gatsby"),r("OutboundLink")],1),t._v("。")]),t._v(" "),r("h2",{attrs:{id:"特性"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#特性","aria-hidden":"true"}},[t._v("#")]),t._v(" 特性")]),t._v(" "),r("ul",[r("li",[t._v("为技术文档而优化的 "),r("router-link",{attrs:{to:"./markdown.html"}},[t._v("内置 Markdown 拓展")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./using-vue.html"}},[t._v("在 Markdown 文件中使用 Vue 组件的能力")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../theme/"}},[t._v("Vue 驱动的自定义主题系统")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../plugin/official/plugin-pwa.html"}},[t._v("自动生成 Service Worker")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../config/#ga"}},[t._v("Google Analytics 集成")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../theme/default-theme-config.html#最后更新时间"}},[t._v("基于 Git 的 “最后更新时间”")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./i18n.html"}},[t._v("多语言支持")])],1),t._v(" "),r("li",[t._v("默认主题包含:\n"),r("ul",[r("li",[t._v("响应式布局")]),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../theme/default-theme-config.html#首页"}},[t._v("可选的主页")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../theme/default-theme-config.html#内置搜索"}},[t._v("简洁的开箱即用的标题搜索")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../theme/default-theme-config.html#algolia-搜索"}},[t._v("Algolia 搜索")])],1),t._v(" "),r("li",[t._v("可自定义的"),r("router-link",{attrs:{to:"./../theme/default-theme-config.html#导航栏"}},[t._v("导航栏")]),t._v(" 和"),r("router-link",{attrs:{to:"./../theme/default-theme-config.html#侧边栏"}},[t._v("侧边栏")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../theme/default-theme-config.html#git-仓库和编辑链接"}},[t._v("自动生成的 GitHub 链接和页面的编辑链接")])],1)])])]),t._v(" "),r("h2",{attrs:{id:"为什么不是"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#为什么不是","aria-hidden":"true"}},[t._v("#")]),t._v(" 为什么不是...?")]),t._v(" "),r("h3",{attrs:{id:"nuxt"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#nuxt","aria-hidden":"true"}},[t._v("#")]),t._v(" Nuxt")]),t._v(" "),r("p",[t._v("VuePress 能做的事情,Nuxt 理论上确实能够胜任,但 Nuxt 是为构建应用程序而生的,而 VuePress 则专注在以内容为中心的静态网站上,同时提供了一些为技术文档定制的开箱即用的特性。")]),t._v(" "),r("h3",{attrs:{id:"docsify-docute"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#docsify-docute","aria-hidden":"true"}},[t._v("#")]),t._v(" Docsify / Docute")]),t._v(" "),r("p",[t._v("这两个项目同样都是基于 Vue,然而它们都是完全的运行时驱动,因此对 SEO 不够友好。如果你并不关注 SEO,同时也不想安装大量依赖,它们仍然是非常好的选择!")]),t._v(" "),r("h3",{attrs:{id:"hexo"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hexo","aria-hidden":"true"}},[t._v("#")]),t._v(" Hexo")]),t._v(" "),r("p",[t._v("Hexo 一直驱动着 Vue 的文档 —— 事实上,在把我们的主站从 Hexo 迁移到 VuePress 之前,我们可能还有很长的路要走。Hexo 最大的问题在于他的主题系统太过于静态以及过度地依赖纯字符串,而我们十分希望能够好好地利用 Vue 来处理我们的布局和交互,同时,Hexo 的 Markdown 渲染的配置也不是最灵活的。")]),t._v(" "),r("h3",{attrs:{id:"gitbook"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#gitbook","aria-hidden":"true"}},[t._v("#")]),t._v(" GitBook")]),t._v(" "),r("p",[t._v("我们的子项目文档一直都在使用 GitBook。GitBook 最大的问题在于当文件很多时,每次编辑后的重新加载时间长得令人无法忍受。它的默认主题导航结构也比较有限制性,并且,主题系统也不是 Vue 驱动的。GitBook 背后的团队如今也更专注于将其打造为一个商业产品而不是开源工具。")])])},[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/45.5939c636.js b/vuepress/assets/js/45.5939c636.js new file mode 100644 index 0000000000..6b3f03cae9 --- /dev/null +++ b/vuepress/assets/js/45.5939c636.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{242:function(a,t,s){"use strict";s.r(t);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=s(5),v=Object(e.a)(n,function(){var a=this,t=a.$createElement,s=a._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":a.slotKey}},[s("h1",{attrs:{id:"静态资源"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#静态资源","aria-hidden":"true"}},[a._v("#")]),a._v(" 静态资源")]),a._v(" "),s("h2",{attrs:{id:"相对路径"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#相对路径","aria-hidden":"true"}},[a._v("#")]),a._v(" 相对路径")]),a._v(" "),s("p",[a._v("所有的 Markdown 文件都会被 webpack 编译成 Vue 组件,因此你可以,并且"),s("strong",[a._v("应该更倾向于")]),a._v("使用相对路径(Relative URLs)来引用所有的静态资源:")]),a._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[s("span",{attrs:{class:"token url"}},[a._v("![An image](./image.png)")]),a._v("\n")])])]),s("p",[a._v("同样地,这在 "),s("code",[a._v("*.vue")]),a._v(" 文件的模板中一样可以工作,图片将会被 "),s("code",[a._v("url-loader")]),a._v(" 和 "),s("code",[a._v("file-loader")]),a._v(" 处理,在运行生成静态文件的构建任务时,文件会被复制到正确的位置。")]),a._v(" "),s("p",[a._v("除此之外,你也使用 "),s("code",[a._v("~")]),a._v(" 前缀来明确地指出这是一个 webpack 的模块请求,这将允许你通过 webpack 别名来引用文件或者 npm 的依赖:")]),a._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[s("span",{attrs:{class:"token url"}},[a._v("![Image from alias](~@alias/image.png)")]),a._v("\n"),s("span",{attrs:{class:"token url"}},[a._v("![Image from dependency](~some-dependency/image.png)")]),a._v("\n")])])]),s("p",[a._v("Webpack 的别名可以通过 "),s("code",[a._v(".vuepress/config.js")]),a._v(" 中 "),s("router-link",{attrs:{to:"./../config/#configurewebpack"}},[a._v("configureWebpack")]),a._v(" 来配置,如:")],1),a._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[a._v("module"),s("span",{attrs:{class:"token punctuation"}},[a._v(".")]),a._v("exports "),s("span",{attrs:{class:"token operator"}},[a._v("=")]),a._v(" "),s("span",{attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n configureWebpack"),s("span",{attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n resolve"),s("span",{attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n alias"),s("span",{attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n "),s("span",{attrs:{class:"token string"}},[a._v("'@alias'")]),s("span",{attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{attrs:{class:"token string"}},[a._v("'path/to/some/dir'")]),a._v("\n "),s("span",{attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n "),s("span",{attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n "),s("span",{attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n"),s("span",{attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n")])])]),s("h2",{attrs:{id:"公共文件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#公共文件","aria-hidden":"true"}},[a._v("#")]),a._v(" 公共文件")]),a._v(" "),s("p",[a._v("有时,你可能需要提供一个静态资源,但是它们并不直接被你的任何一个 markdown 文件或者主题组件引用 —— 举例来说,favicons 和 PWA 的图标,在这种情形下,你可以将它们放在 "),s("code",[a._v(".vuepress/public")]),a._v(" 中, 它们最终会被复制到生成的静态文件夹中。")]),a._v(" "),s("h2",{attrs:{id:"基础路径"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#基础路径","aria-hidden":"true"}},[a._v("#")]),a._v(" 基础路径")]),a._v(" "),s("p",[a._v("如果你的网站会被部署到一个"),s("strong",[a._v("非根路径")]),a._v(",你将需要在 "),s("code",[a._v(".vuepress/config.js")]),a._v(" 中设置 "),s("code",[a._v("base")]),a._v(",举例来说,如果你打算将你的网站部署到 "),s("code",[a._v("https://foo.github.io/bar/")]),a._v(",那么 "),s("code",[a._v("base")]),a._v(" 的值就应该被设置为 "),s("code",[a._v('"/bar/"')]),a._v(" (应当总是以斜杠开始,并以斜杠结束)。")]),a._v(" "),s("p",[a._v("有了基础路径(Base URL),如果你希望引用一张放在 "),s("code",[a._v(".vuepress/public")]),a._v(" 中的图片,你需要使用这样路径:"),s("code",[a._v("/bar/image.png")]),a._v(",然而,一旦某一天你决定去修改 "),s("code",[a._v("base")]),a._v(",这样的路径引用将会显得异常脆弱。为了解决这个问题,VuePress 提供了内置的一个 helper "),s("code",[a._v("$withBase")]),a._v("(它被注入到了 Vue 的原型上),可以帮助你生成正确的路径:")]),a._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[a._v("<")]),a._v("img")]),a._v(" "),s("span",{attrs:{class:"token attr-name"}},[a._v(":src")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[a._v("=")]),s("span",{attrs:{class:"token punctuation"}},[a._v('"')]),a._v("$withBase("),s("span",{attrs:{class:"token punctuation"}},[a._v("'")]),a._v("/foo.png"),s("span",{attrs:{class:"token punctuation"}},[a._v("'")]),a._v(")"),s("span",{attrs:{class:"token punctuation"}},[a._v('"')])]),a._v(" "),s("span",{attrs:{class:"token attr-name"}},[a._v("alt")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[a._v("=")]),s("span",{attrs:{class:"token punctuation"}},[a._v('"')]),a._v("foo"),s("span",{attrs:{class:"token punctuation"}},[a._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[a._v(">")])]),a._v("\n")])])]),s("p",[a._v("值得一提的是,你不仅可以在你的 Vue 组件中使用上述的语法,在 Markdown 文件中亦是如此。")]),a._v(" "),s("p",[a._v("最后补充一句,一个 "),s("code",[a._v("base")]),a._v(" 路径一旦被设置,它将会自动地作为前缀插入到 "),s("code",[a._v(".vuepress/config.js")]),a._v(" 中所有以 "),s("code",[a._v("/")]),a._v(" 开始的资源路径中。")])])},[],!1,null,null,null);t.default=v.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/46.2bc10ed6.js b/vuepress/assets/js/46.2bc10ed6.js new file mode 100644 index 0000000000..3918078e9f --- /dev/null +++ b/vuepress/assets/js/46.2bc10ed6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{243:function(t,s,a){"use strict";a.r(s);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=a(5),r=Object(n.a)(e,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"基本配置"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#基本配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 基本配置")]),t._v(" "),a("h2",{attrs:{id:"配置文件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#配置文件","aria-hidden":"true"}},[t._v("#")]),t._v(" 配置文件")]),t._v(" "),a("p",[t._v("如果没有任何配置,这个网站将会是非常局限的,用户也无法在你的网站上自由导航。为了更好地自定义你的网站,让我们首先在你的文档目录下创建一个 "),a("code",[t._v(".vuepress")]),t._v(" 目录,所有 VuePress 相关的文件都将会被放在这里。你的项目结构可能是这样:")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(".\n├─ docs\n│ ├─ README.md\n│ └─ .vuepress\n│ └─ config.js\n└─ package.json\n")])])]),a("p",[t._v("一个 VuePress 网站必要的配置文件是 "),a("code",[t._v(".vuepress/config.js")]),t._v(",它应该导出一个 JavaScript 对象:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n title"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Hello VuePress'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n description"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Just playing around'")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("对于上述的配置,如果你运行起 dev server,你应该能看到一个页面,它包含一个页头,里面包含一个标题和一个搜索框。VuePress 内置了基于 headers 的搜索 —— 它会自动为所有页面的标题、"),a("code",[t._v("h2")]),t._v(" 和 "),a("code",[t._v("h3")]),t._v(" 构建起一个简单的搜索索引。")]),t._v(" "),a("p",[t._v("参见 "),a("router-link",{attrs:{to:"./../config/"}},[t._v("配置")]),t._v(" 来查看所有可配置的选项。")],1),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("其他配置格式")]),t._v(" "),a("p",[t._v("你也可以使用 YAML ("),a("code",[t._v(".vuepress/config.yml")]),t._v(") 或是 TOML ("),a("code",[t._v(".vuepress/config.toml")]),t._v(") 格式的配置文件。")])]),t._v(" "),a("h2",{attrs:{id:"主题配置"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#主题配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 主题配置")]),t._v(" "),a("p",[t._v("一个 VuePress 主题应该负责整个网站的布局和交互细节。在 VuePress 中,目前自带了一个默认的主题(正是你现在所看到的),它是为技术文档而设计的。同时,默认主题提供了一些选项,让你可以去自定义导航栏(navbar)、 侧边栏(sidebar)和 首页(homepage) 等,详情请参见 "),a("router-link",{attrs:{to:"./../theme/default-theme-config.html"}},[t._v("默认主题")]),t._v(" 。")],1),t._v(" "),a("p",[t._v("如果你想开发一个自定义主题,可以参考 "),a("router-link",{attrs:{to:"./../theme/"}},[t._v("自定义主题")]),t._v("。")],1),t._v(" "),a("h2",{attrs:{id:"应用级别的配置"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#应用级别的配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 应用级别的配置")]),t._v(" "),a("p",[t._v("由于 VuePress 是一个标准的 Vue 应用,你可以通过创建一个 "),a("code",[t._v(".vuepress/enhanceApp.js")]),t._v(" 文件来做一些应用级别的配置,当该文件存在的时候,会被导入到应用内部。"),a("code",[t._v("enhanceApp.js")]),t._v(" 应该 "),a("code",[t._v("export default")]),t._v(" 一个钩子函数,并接受一个包含了一些应用级别属性的对象作为参数。你可以使用这个钩子来安装一些附加的 Vue 插件、注册全局组件,或者增加额外的路由钩子等:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n Vue"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// VuePress 正在使用的 Vue 构造函数")]),t._v("\n options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 附加到根实例的一些选项")]),t._v("\n router"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 当前应用的路由实例")]),t._v("\n siteData "),a("span",{attrs:{class:"token comment"}},[t._v("// 站点元数据")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ...做一些其他的应用级别的优化")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/47.15e6f040.js b/vuepress/assets/js/47.15e6f040.js new file mode 100644 index 0000000000..a5d367c3ca --- /dev/null +++ b/vuepress/assets/js/47.15e6f040.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{244:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),r=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"部署"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#部署","aria-hidden":"true"}},[t._v("#")]),t._v(" 部署")]),t._v(" "),a("p",[t._v("下述的指南基于以下条件:")]),t._v(" "),a("ul",[a("li",[t._v("文档放置在项目的 "),a("code",[t._v("docs")]),t._v(" 目录中;")]),t._v(" "),a("li",[t._v("使用的是默认的构建输出位置;")]),t._v(" "),a("li",[t._v("VuePress 以本地依赖的形式被安装到你的项目中,并且配置了如下的 npm scripts:")])]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"scripts"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"docs:build"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"vuepress build docs"')]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"github-pages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#github-pages","aria-hidden":"true"}},[t._v("#")]),t._v(" GitHub Pages")]),t._v(" "),a("ol",[a("li",[a("p",[t._v("在 "),a("code",[t._v("docs/.vuepress/config.js")]),t._v(" 中设置正确的 "),a("code",[t._v("base")]),t._v("。")]),t._v(" "),a("p",[t._v("如果你打算发布到 "),a("code",[t._v("https://<USERNAME>.github.io/")]),t._v(",则可以省略这一步,因为 "),a("code",[t._v("base")]),t._v(" 默认即是 "),a("code",[t._v('"/"')]),t._v("。")]),t._v(" "),a("p",[t._v("如果你打算发布到 "),a("code",[t._v("https://<USERNAME>.github.io/<REPO>/")]),t._v("(也就是说你的仓库在 "),a("code",[t._v("https://github.com/<USERNAME>/<REPO>")]),t._v("),则将 "),a("code",[t._v("base")]),t._v(" 设置为 "),a("code",[t._v('"/<REPO>/"')]),t._v("。")])]),t._v(" "),a("li",[a("p",[t._v("在你的项目中,创建一个如下的 "),a("code",[t._v("deploy.sh")]),t._v(" 文件(请自行判断去掉高亮行的注释):")])])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("div",{staticClass:"highlight-lines"},[a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br"),a("br"),a("br")]),a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("#!/usr/bin/env sh")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# 确保脚本抛出遇到的错误")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("set")]),t._v(" -e\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# 生成静态文件")]),t._v("\n"),a("span",{attrs:{class:"token function"}},[t._v("npm")]),t._v(" run docs:build\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# 进入生成的文件夹")]),t._v("\n"),a("span",{attrs:{class:"token function"}},[t._v("cd")]),t._v(" docs/.vuepress/dist\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# 如果是发布到自定义域名")]),t._v("\n"),a("span",{attrs:{class:"token comment"}},[t._v("# echo 'www.example.com' > CNAME")]),t._v("\n\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" init\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" add -A\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" commit -m "),a("span",{attrs:{class:"token string"}},[t._v("'deploy'")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# 如果发布到 https://<USERNAME>.github.io")]),t._v("\n"),a("span",{attrs:{class:"token comment"}},[t._v("# git push -f git@github.com:<USERNAME>/<USERNAME>.github.io.git master")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# 如果发布到 https://<USERNAME>.github.io/<REPO>")]),t._v("\n"),a("span",{attrs:{class:"token comment"}},[t._v("# git push -f git@github.com:<USERNAME>/<REPO>.git master:gh-pages")]),t._v("\n\n"),a("span",{attrs:{class:"token function"}},[t._v("cd")]),t._v(" -\n")])])]),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("你可以在你的持续集成的设置中,设置在每次 push 代码时自动运行上述脚本。")])]),t._v(" "),a("h2",{attrs:{id:"gitlab-pages-and-gitlab-ci"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#gitlab-pages-and-gitlab-ci","aria-hidden":"true"}},[t._v("#")]),t._v(" GitLab Pages and GitLab CI")]),t._v(" "),a("ol",[a("li",[a("p",[t._v("在 "),a("code",[t._v("docs/.vuepress/config.js")]),t._v(" 中设置正确的 "),a("code",[t._v("base")]),t._v("。")]),t._v(" "),a("p",[t._v("如果你打算发布到 "),a("code",[t._v("https://<USERNAME or GROUP>.gitlab.io/")]),t._v(",则可以省略这一步,因为 "),a("code",[t._v("base")]),t._v(" 默认即是 "),a("code",[t._v('"/"')]),t._v("。")]),t._v(" "),a("p",[t._v("如果你打算发布到 "),a("code",[t._v("https://<USERNAME or GROUP>.gitlab.io/<REPO>/")]),t._v("(也就是说你的仓库在 "),a("code",[t._v("https://gitlab.com/<USERNAME>/<REPO>")]),t._v("),则将 "),a("code",[t._v("base")]),t._v(" 设置为 "),a("code",[t._v('"/<REPO>/"')]),t._v("。")])]),t._v(" "),a("li",[a("p",[t._v("在 "),a("code",[t._v(".vuepress/config.js")]),t._v(" 中将 "),a("code",[t._v("dest")]),t._v(" 设置为 "),a("code",[t._v("public")]),t._v("。")])]),t._v(" "),a("li",[a("p",[t._v("在你项目的根目录下创建一个名为 "),a("code",[t._v(".gitlab-ci.yml")]),t._v(" 的文件,无论何时你提交了更改,它都会帮助你自动构建和部署:")])])]),t._v(" "),a("div",{staticClass:"language-yaml extra-class"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{attrs:{class:"token key atrule"}},[t._v("image")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" node"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("9.11.1\n\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("pages")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("cache")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("paths")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" node_modules/\n\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("script")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" npm install\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" npm run docs"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("build\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("artifacts")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("paths")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" public\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("only")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" master\n")])])]),a("h2",{attrs:{id:"netlify"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#netlify","aria-hidden":"true"}},[t._v("#")]),t._v(" Netlify")]),t._v(" "),a("ol",[a("li",[t._v("在 Netlify 中, 创建一个新的 Github 项目,使用以下设置:")])]),t._v(" "),a("ul",[a("li",[a("strong",[t._v("Build Command:")]),t._v(" "),a("code",[t._v("npm run build:docs")]),t._v(" 或者 "),a("code",[t._v("yarn build:docs")])]),t._v(" "),a("li",[a("strong",[t._v("Publish directory:")]),t._v(" "),a("code",[t._v("docs/.vuepress/dist")])])]),t._v(" "),a("ol",{attrs:{start:"2"}},[a("li",[t._v("点击 deploy 按钮!")])]),t._v(" "),a("h2",{attrs:{id:"google-firebase"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#google-firebase","aria-hidden":"true"}},[t._v("#")]),t._v(" Google Firebase")]),t._v(" "),a("ol",[a("li",[a("p",[t._v("请确保你已经安装了 "),a("a",{attrs:{href:"https://www.npmjs.com/package/firebase-tools",target:"_blank",rel:"noopener noreferrer"}},[t._v("firebase-tools"),a("OutboundLink")],1),t._v("。")])]),t._v(" "),a("li",[a("p",[t._v("在你项目的根目录下创建 "),a("code",[t._v("firebase.json")]),t._v(" 和 "),a("code",[t._v(".firebaserc")]),t._v(",并包含以下内容:")])])]),t._v(" "),a("p",[a("code",[t._v("firebase.json")]),t._v(":")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"hosting"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"public"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"./docs/.vuepress/dist"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"ignore"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[a("code",[t._v(".firebaserc")]),t._v(":")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v('"projects"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v('"default"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"<YOUR_FIREBASE_ID>"')]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("ol",{attrs:{start:"3"}},[a("li",[t._v("在执行了 "),a("code",[t._v("yarn docs:build")]),t._v(" 或 "),a("code",[t._v("npm run docs:build")]),t._v(" 后, 使用 "),a("code",[t._v("firebase deploy")]),t._v(" 指令来部署。")])]),t._v(" "),a("h2",{attrs:{id:"surge"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#surge","aria-hidden":"true"}},[t._v("#")]),t._v(" Surge")]),t._v(" "),a("ol",[a("li",[a("p",[t._v("首先,假设你已经安装了 "),a("a",{attrs:{href:"https://www.npmjs.com/package/surge",target:"_blank",rel:"noopener noreferrer"}},[t._v("surge"),a("OutboundLink")],1),t._v(";")])]),t._v(" "),a("li",[a("p",[t._v("运行 "),a("code",[t._v("yarn docs:build")]),t._v(" 或者 "),a("code",[t._v("npm run docs:build")]),t._v(";")])]),t._v(" "),a("li",[a("p",[t._v("想要使用 surge 来部署,你可以运行: "),a("code",[t._v("surge docs/.vuepress/dist")]),t._v(";")])])]),t._v(" "),a("p",[t._v("你也可以通过 "),a("code",[t._v("surge docs/.vuepress/dist yourdomain.com")]),t._v(" 来部署到 "),a("a",{attrs:{href:"http://surge.sh/help/adding-a-custom-domain",target:"_blank",rel:"noopener noreferrer"}},[t._v("自定义域名"),a("OutboundLink")],1),t._v("。")]),t._v(" "),a("h2",{attrs:{id:"heroku"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#heroku","aria-hidden":"true"}},[t._v("#")]),t._v(" Heroku")]),t._v(" "),a("ol",[a("li",[a("p",[t._v("首先安装 "),a("a",{attrs:{href:"https://devcenter.heroku.com/articles/heroku-cli",target:"_blank",rel:"noopener noreferrer"}},[t._v("Heroku CLI"),a("OutboundLink")],1),t._v(";")])]),t._v(" "),a("li",[a("p",[a("a",{attrs:{href:"https://signup.heroku.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("在这里"),a("OutboundLink")],1),t._v(" 注册一个 Heroku 账号;")])]),t._v(" "),a("li",[a("p",[t._v("运行 "),a("code",[t._v("heroku login")]),t._v(" 并填写你的 Heroku 证书:")])])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("heroku login\n")])])]),a("ol",{attrs:{start:"4"}},[a("li",[t._v("在你的项目根目录中,创建一个名为 "),a("code",[t._v("static.json")]),t._v(" 的文件,并包含下述内容:")])]),t._v(" "),a("p",[a("code",[t._v("static.json")]),t._v(":")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n"),a("span",{attrs:{class:"token property"}},[t._v('"root"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"./docs/.vuepress/dist"')]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("这里是你项目的配置,请参考 "),a("a",{attrs:{href:"https://github.com/heroku/heroku-buildpack-static",target:"_blank",rel:"noopener noreferrer"}},[t._v("heroku-buildpack-static"),a("OutboundLink")],1),t._v(" 了解更多。")]),t._v(" "),a("ol",{attrs:{start:"5"}},[a("li",[t._v("配置 Heroku 的 git 远程仓库:")])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("# 版本变化")]),t._v("\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" init\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" add "),a("span",{attrs:{class:"token keyword"}},[t._v(".")]),t._v("\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" commit -m "),a("span",{attrs:{class:"token string"}},[t._v('"My site ready for deployment."')]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# 以指定的名称创建一个新的 heroku 应用")]),t._v("\nheroku apps:create example\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# 为静态网站设置构建包")]),t._v("\nheroku buildpacks:set https://github.com/heroku/heroku-buildpack-static.git\n")])])]),a("ol",{attrs:{start:"6"}},[a("li",[t._v("部署你的网站:")])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("# 发布网站")]),t._v("\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" push heroku master\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# 打开浏览器查看 Helku CI 的 dashboard")]),t._v("\nheroku "),a("span",{attrs:{class:"token function"}},[t._v("open")]),t._v("\n")])])])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/48.a114b415.js b/vuepress/assets/js/48.a114b415.js new file mode 100644 index 0000000000..3c6b3fc343 --- /dev/null +++ b/vuepress/assets/js/48.a114b415.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{245:function(e,v,t){"use strict";t.r(v);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},_=t(5),o=Object(_.a)(s,function(){var e=this,v=e.$createElement,t=e._self._c||v;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.slotKey}},[t("h1",{attrs:{id:"目录结构"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#目录结构","aria-hidden":"true"}},[e._v("#")]),e._v(" 目录结构")]),e._v(" "),t("p",[e._v("VuePress 遵循 "),t("strong",[e._v("“约定优于配置”")]),e._v(" 的原则,推荐的目录结构如下:")]),e._v(" "),t("pre",{staticClass:"vue-container"},[t("code",[t("p",[e._v(".\n├── docs\n│   ├── .vuepress "),t("em",[e._v("("),t("strong",[e._v("可选的")]),e._v(")")]),e._v("\n│   │   ├── "),t("code",[e._v("components")]),e._v(" "),t("em",[e._v("("),t("strong",[e._v("可选的")]),e._v(")")]),e._v("\n│   │   ├── "),t("code",[e._v("theme")]),e._v(" "),t("em",[e._v("("),t("strong",[e._v("可选的")]),e._v(")")]),e._v("\n│   │   │ └── Layout.vue\n│   │   ├── "),t("code",[e._v("public")]),e._v(" "),t("em",[e._v("("),t("strong",[e._v("可选的")]),e._v(")")]),e._v("\n│   │   ├── "),t("code",[e._v("styles")]),e._v(" "),t("em",[e._v("("),t("strong",[e._v("可选的")]),e._v(")")]),e._v("\n│   │   │   ├── index.styl\n│   │   │   └── palette.styl\n│   │   ├── "),t("code",[e._v("templates")]),e._v(" "),t("em",[e._v("("),t("strong",[e._v("可选的, 谨慎配置")]),e._v(")")]),e._v("\n│   │   │   ├── dev.html\n│   │   │   └── ssr.html\n│   │   ├── "),t("code",[e._v("config.js")]),e._v(" "),t("em",[e._v("("),t("strong",[e._v("可选的")]),e._v(")")]),e._v("\n│   │   └── "),t("code",[e._v("enhanceApp.js")]),e._v(" "),t("em",[e._v("("),t("strong",[e._v("可选的")]),e._v(")")]),e._v("\n│   │ \n│   ├── README.md\n│   ├── guide\n│   │   └── README.md\n│   └── config.md\n│ \n└── package.json")]),e._v("\n")])]),t("div",{staticClass:"warning custom-block"},[t("p",{staticClass:"custom-block-title"},[e._v("注意")]),e._v(" "),t("p",[e._v("请留意目录名的大写。")])]),e._v(" "),t("ul",[t("li",[t("code",[e._v("docs/.vuepress")]),e._v(": 用于存放全局的配置、组件、静态资源等。")]),e._v(" "),t("li",[t("code",[e._v("docs/.vuepress/components")]),e._v(": 该目录中的 Vue 组件将会被自动注册为全局组件。")]),e._v(" "),t("li",[t("code",[e._v("docs/.vuepress/theme")]),e._v(": 用于存放本地主题。")]),e._v(" "),t("li",[t("code",[e._v("docs/.vuepress/styles")]),e._v(": 用于存放样式相关的文件。")]),e._v(" "),t("li",[t("code",[e._v("docs/.vuepress/styles/index.styl")]),e._v(": 将会被自动应用的全局样式文件,会生成在最终的 CSS 文件结尾,具有比默认样式更高的优先级。")]),e._v(" "),t("li",[t("code",[e._v("docs/.vuepress/styles/palette.styl")]),e._v(": 用于重写默认颜色常量,或者设置新的的 stylus 颜色常量。")]),e._v(" "),t("li",[t("code",[e._v("docs/.vuepress/public")]),e._v(": 静态资源目录。")]),e._v(" "),t("li",[t("code",[e._v("docs/.vuepress/templates")]),e._v(": 存储 HTML 模板文件。")]),e._v(" "),t("li",[t("code",[e._v("docs/.vuepress/templates/dev.html")]),e._v(": 用于开发环境的 HTML 模板文件。")]),e._v(" "),t("li",[t("code",[e._v("docs/.vuepress/templates/ssr.html")]),e._v(": 构建时基于 Vue SSR 的 HTML 模板文件。")]),e._v(" "),t("li",[t("code",[e._v("docs/.vuepress/config.js")]),e._v(": 配置文件的入口文件,也可以是 "),t("code",[e._v("YML")]),e._v(" 或 "),t("code",[e._v("toml")]),e._v("。")]),e._v(" "),t("li",[t("code",[e._v("docs/.vuepress/enhanceApp.js")]),e._v(": 客户端应用的增强。")])]),e._v(" "),t("div",{staticClass:"warning custom-block"},[t("p",{staticClass:"custom-block-title"},[e._v("注意")]),e._v(" "),t("p",[e._v("当你想要去自定义 "),t("code",[e._v("templates/ssr.html")]),e._v(" 或 "),t("code",[e._v("templates/dev.html")]),e._v(" 时,最好基于 "),t("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/%40vuepress/core/lib/app/index.dev.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("默认的模板文件"),t("OutboundLink")],1),e._v(" 来修改,否则可能会导致构建出错。")])]),e._v(" "),t("p",[t("strong",[e._v("同时阅读:")])]),e._v(" "),t("ul",[t("li",[t("router-link",{attrs:{to:"./../config/"}},[e._v("配置")])],1),e._v(" "),t("li",[t("router-link",{attrs:{to:"./../theme/"}},[e._v("主题")])],1),e._v(" "),t("li",[t("router-link",{attrs:{to:"./../theme/default-theme-config.html"}},[e._v("默认主题配置")])],1)]),e._v(" "),t("h2",{attrs:{id:"默认的页面路由"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#默认的页面路由","aria-hidden":"true"}},[e._v("#")]),e._v(" 默认的页面路由")]),e._v(" "),t("p",[e._v("此外,对于上述的目录结构,默认页面路由地址如下:")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("文件的相对路径")]),e._v(" "),t("th",[e._v("页面路由地址")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[t("code",[e._v("/README.md")])]),e._v(" "),t("td",[t("code",[e._v("/")])])]),e._v(" "),t("tr",[t("td",[t("code",[e._v("/guide/README.md")])]),e._v(" "),t("td",[t("code",[e._v("/guide/")])])]),e._v(" "),t("tr",[t("td",[t("code",[e._v("/config.md")])]),e._v(" "),t("td",[t("code",[e._v("/config.html")])])])])])])},[],!1,null,null,null);v.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/49.a51c6fdf.js b/vuepress/assets/js/49.a51c6fdf.js new file mode 100644 index 0000000000..7799f03f96 --- /dev/null +++ b/vuepress/assets/js/49.a51c6fdf.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{246:function(t,a,e){"use strict";e.r(a);var r={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},s=e(5),n=Object(s.a)(r,function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[e("h1",{attrs:{id:"front-matter"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#front-matter","aria-hidden":"true"}},[t._v("#")]),t._v(" Front Matter")]),t._v(" "),e("p",[t._v("任何包含 YAML front matter 的 Markdown 文件都将由 "),e("a",{attrs:{href:"https://github.com/jonschlinkert/gray-matter",target:"_blank",rel:"noopener noreferrer"}},[t._v("gray-matter"),e("OutboundLink")],1),t._v(" 处理。front matter 必须是 markdown 文件中的第一部分,并且必须采用在三点划线之间书写的有效的 YAML。 这是一个基本的例子:")]),t._v(" "),e("div",{staticClass:"language-markdown extra-class"},[e("pre",{pre:!0,attrs:{class:"language-markdown"}},[e("code",[e("span",{attrs:{class:"token hr punctuation"}},[t._v("---")]),t._v("\ntitle: Blogging Like a Hacker\n"),e("span",{attrs:{class:"token title important"}},[t._v("lang: en-US\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("---")])]),t._v("\n")])])]),e("p",[t._v("在这些三条虚线之间,你可以设置预定义变量(参见"),e("a",{attrs:{href:"#%E9%A2%84%E5%AE%9A%E4%B9%89%E5%8F%98%E9%87%8F"}},[t._v("下面")]),t._v("),甚至可以创建自己的自定义变量。 然后,您可以使用 "),e("code",[e("router-link",{attrs:{to:"./global-computed.html#frontmatter"}},[t._v("$frontmatter")])],1),t._v(" 在页面的其余部分、以及所有的自定义和主题组件访问这些变量。")]),t._v(" "),e("div",{staticClass:"tip custom-block"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("在 VuePress 中,Front matter 是 "),e("strong",[t._v("可选的")]),t._v("。")])]),t._v(" "),e("h2",{attrs:{id:"其他格式的-front-matter"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#其他格式的-front-matter","aria-hidden":"true"}},[t._v("#")]),t._v(" 其他格式的 Front Matter")]),t._v(" "),e("p",[t._v("除了 YAML 之外,VuePress 也支持 JSON 或者 "),e("a",{attrs:{href:"https://github.com/toml-lang/toml",target:"_blank",rel:"noopener noreferrer"}},[t._v("TOML"),e("OutboundLink")],1),t._v(" 格式的 front matter。")]),t._v(" "),e("p",[t._v("JSON front matter 需要以花括号开头和结尾:")]),t._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v('---\n{\n "title": "Blogging Like a Hacker",\n "lang": "en-US"\n}\n---\n')])])]),e("p",[t._v("TOML front matter 需要显式地标注为 TOML:")]),t._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v('---toml\ntitle = "Blogging Like a Hacker"\nlang = "en-US"\n---\n')])])]),e("h2",{attrs:{id:"预定义变量"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#预定义变量","aria-hidden":"true"}},[t._v("#")]),t._v(" 预定义变量")]),t._v(" "),e("h3",{attrs:{id:"title"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#title","aria-hidden":"true"}},[t._v("#")]),t._v(" title")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("h1_title || siteConfig.title")])])]),t._v(" "),e("p",[t._v("当前页面的标题。")]),t._v(" "),e("h3",{attrs:{id:"lang"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#lang","aria-hidden":"true"}},[t._v("#")]),t._v(" lang")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("en-US")])])]),t._v(" "),e("p",[t._v("当前页面的语言。")]),t._v(" "),e("h3",{attrs:{id:"description"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#description","aria-hidden":"true"}},[t._v("#")]),t._v(" description")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("siteConfig.description")])])]),t._v(" "),e("p",[t._v("当前页面的描述。")]),t._v(" "),e("h3",{attrs:{id:"layout"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#layout","aria-hidden":"true"}},[t._v("#")]),t._v(" layout")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("Layout")])])]),t._v(" "),e("p",[t._v("设置当前页面的布局组件。")]),t._v(" "),e("h3",{attrs:{id:"permalink"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#permalink","aria-hidden":"true"}},[t._v("#")]),t._v(" permalink")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("siteConfig.permalink")])])]),t._v(" "),e("p",[t._v("参考: "),e("router-link",{attrs:{to:"./permalinks.html"}},[t._v("Permalinks")]),t._v(".")],1),t._v(" "),e("h3",{attrs:{id:"metatitle"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#metatitle","aria-hidden":"true"}},[t._v("#")]),t._v(" metaTitle")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("`${page.title} | ${siteConfig.title}`")])])]),t._v(" "),e("p",[t._v("重写默认的 meta title。")]),t._v(" "),e("h3",{attrs:{id:"meta"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#meta","aria-hidden":"true"}},[t._v("#")]),t._v(" meta")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("array")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("undefined")])])]),t._v(" "),e("p",[t._v("指定额外的要注入的 meta 标签:")]),t._v(" "),e("div",{staticClass:"language-yaml extra-class"},[e("pre",{pre:!0,attrs:{class:"language-yaml"}},[e("code",[e("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),e("span",{attrs:{class:"token key atrule"}},[t._v("meta")]),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{attrs:{class:"token key atrule"}},[t._v("name")]),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" description\n "),e("span",{attrs:{class:"token key atrule"}},[t._v("content")]),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" hello\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{attrs:{class:"token key atrule"}},[t._v("name")]),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" keywords\n "),e("span",{attrs:{class:"token key atrule"}},[t._v("content")]),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" super duper SEO\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),e("h2",{attrs:{id:"默认主题的预定义变量"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#默认主题的预定义变量","aria-hidden":"true"}},[t._v("#")]),t._v(" 默认主题的预定义变量")]),t._v(" "),e("h3",{attrs:{id:"navbar"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#navbar","aria-hidden":"true"}},[t._v("#")]),t._v(" navbar")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("boolean")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("undefined")])])]),t._v(" "),e("p",[t._v("参考: "),e("router-link",{attrs:{to:"./../theme/default-theme-config.html#禁用导航栏"}},[t._v("默认值 Theme Config > Disable the Navbar")]),t._v(".")],1),t._v(" "),e("h3",{attrs:{id:"sidebar"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#sidebar","aria-hidden":"true"}},[t._v("#")]),t._v(" sidebar")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("boolean|'auto'")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("undefined")])])]),t._v(" "),e("p",[t._v("参考: "),e("router-link",{attrs:{to:"./../theme/default-theme-config.html#侧边栏"}},[t._v("默认值 Theme Config > Sidebar")]),t._v(".")],1)])},[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/5.18c31fb7.js b/vuepress/assets/js/5.18c31fb7.js new file mode 100644 index 0000000000..984c5f1487 --- /dev/null +++ b/vuepress/assets/js/5.18c31fb7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{202:function(t,e,n){"use strict";n.r(e);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},a=n(5),o=Object(a.a)(s,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[n("h1",{attrs:{id:"faq"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#faq","aria-hidden":"true"}},[t._v("#")]),t._v(" FAQ")]),t._v(" "),n("h2",{attrs:{id:"why-can-t-palette-styl-and-index-styl-merge-into-one-api"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#why-can-t-palette-styl-and-index-styl-merge-into-one-api","aria-hidden":"true"}},[t._v("#")]),t._v(" Why can't "),n("code",[t._v("palette.styl")]),t._v(" and "),n("code",[t._v("index.styl")]),t._v(" merge into one API?")]),t._v(" "),n("p",[t._v("The "),n("code",[t._v("palette.styl")]),t._v(" is responsible for global color settings. During compilation, theme color constants should be resolved by the preprocessor first and then be applied to the global context.")]),t._v(" "),n("p",[t._v("But for "),n("code",[t._v("index.styl")]),t._v(". its job is to override the default styles of application. According to the priority principle of css, the later style has a higher priority, so it should be generated at the end of the CSS file.")]),t._v(" "),n("p",[t._v("A simple diagram describing the stylus compiler's compilation order as follows:")]),t._v(" "),n("p",[t._v("@flowstart\nstage1=>operation: palette.styl\nstage2=>operation: default app styles\nstage3=>operation: index.styl")]),t._v(" "),n("p",[t._v("stage1->stage2->stage3\n@flowend")]),t._v(" "),n("br"),t._v(" "),n("h2",{attrs:{id:"what-s-the-differences-between-the-clientdynamicmodules-and-enhanceappfiles"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#what-s-the-differences-between-the-clientdynamicmodules-and-enhanceappfiles","aria-hidden":"true"}},[t._v("#")]),t._v(" What's the differences between the "),n("code",[t._v("clientDynamicModules")]),t._v(" and "),n("code",[t._v("enhanceAppFiles")]),t._v("?")]),t._v(" "),n("p",[t._v("Let's take a look back first, both "),n("code",[t._v("clientDynamicModules")]),t._v(" and "),n("code",[t._v("enhanceAppFiles")]),t._v(" can generate modules with dynamic javascript code during compile time.")]),t._v(" "),n("p",[t._v("The difference is that the files generated by "),n("code",[t._v("enhanceAppFiles")]),t._v(" will be loaded and applied automatically when the application is initialized on the client side. While the files generated by "),n("code",[t._v("clientDynamicModules")]),t._v(" needs to be imported as "),n("code",[t._v("@dynamic/xxx")]),t._v(" by the users themselves.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[t._v("module"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// Import by entry file automatically.")]),t._v("\n enhanceAppFiles"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'constans-a'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n content"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token template-string"}},[n("span",{attrs:{class:"token string"}},[t._v("`...`")])]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),n("span",{attrs:{class:"token comment"}},[t._v("// Need to use via: import '@dynamic/constans-b'")]),t._v("\n "),n("span",{attrs:{class:"token function"}},[t._v("clientDynamicModules")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'constans-b'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n content"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token template-string"}},[n("span",{attrs:{class:"token string"}},[t._v("`...`")])]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("h2",{attrs:{id:"when-do-i-need-to-use-enhanceappfiles"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#when-do-i-need-to-use-enhanceappfiles","aria-hidden":"true"}},[t._v("#")]),t._v(" When do I need to use "),n("code",[t._v("enhanceAppFiles")]),t._v("?")]),t._v(" "),n("ol",[n("li",[t._v("I want to execute some code on the client side automatically.")]),t._v(" "),n("li",[t._v("I don't have need for reuse of this module.")])]),t._v(" "),n("p",[n("strong",[t._v("Example:")])]),t._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-register-components/index.js#L24",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-register-components"),n("OutboundLink")],1),t._v(": Automatically registering components on the client side.")]),t._v(" "),n("li",[n("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/@vuepress/plugin-pagination/index.js#L14",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-pagination"),n("OutboundLink")],1),t._v(": Automatically insert Vue plugins to expand the API of the client.")])]),t._v(" "),n("h2",{attrs:{id:"when-do-i-need-to-use-clientdynamicmodules"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#when-do-i-need-to-use-clientdynamicmodules","aria-hidden":"true"}},[t._v("#")]),t._v(" When do I need to use "),n("code",[t._v("clientDynamicModules")]),t._v("?")]),t._v(" "),n("ol",[n("li",[t._v("I want to generate a dynamic module that needs to be invoked at a specific time.")]),t._v(" "),n("li",[t._v("I want to use this module in different modules.")])]),t._v(" "),n("p",[n("strong",[t._v("Example:")])]),t._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/@vuepress/plugin-blog/index.js#L145",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-blog"),n("OutboundLink")],1),t._v(": Using compile-time metadata to generate some dynamic blog-related modules and initialize them on the client side by using "),n("code",[t._v("enhanceAppFiles")]),t._v(".")])])])},[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/50.ed42f747.js b/vuepress/assets/js/50.ed42f747.js new file mode 100644 index 0000000000..7a7331164c --- /dev/null +++ b/vuepress/assets/js/50.ed42f747.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{247:function(s,t,a){"use strict";a.r(t);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),r=Object(e.a)(n,function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.slotKey}},[a("h1",{attrs:{id:"快速上手"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#快速上手","aria-hidden":"true"}},[s._v("#")]),s._v(" 快速上手")]),s._v(" "),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[s._v("注意")]),s._v(" "),a("p",[s._v("请确保你的 Node.js 版本 >= 8。")])]),s._v(" "),a("h2",{attrs:{id:"全局安装"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#全局安装","aria-hidden":"true"}},[s._v("#")]),s._v(" 全局安装")]),s._v(" "),a("p",[s._v("如果你只是想尝试一下 VuePress,你可以全局安装它:")]),s._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{attrs:{class:"token comment"}},[s._v("# 安装")]),s._v("\nyarn global add vuepress "),a("span",{attrs:{class:"token comment"}},[s._v("# 或者:npm install -g vuepress")]),s._v("\n\n"),a("span",{attrs:{class:"token comment"}},[s._v("# 新建一个 markdown 文件")]),s._v("\n"),a("span",{attrs:{class:"token keyword"}},[s._v("echo")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'# Hello VuePress!'")]),s._v(" "),a("span",{attrs:{class:"token operator"}},[s._v(">")]),s._v(" README.md\n\n"),a("span",{attrs:{class:"token comment"}},[s._v("# 开始写作")]),s._v("\nvuepress dev "),a("span",{attrs:{class:"token keyword"}},[s._v(".")]),s._v("\n\n"),a("span",{attrs:{class:"token comment"}},[s._v("# 构建静态文件")]),s._v("\nvuepress build "),a("span",{attrs:{class:"token keyword"}},[s._v(".")]),s._v("\n")])])]),a("h2",{attrs:{id:"现有项目"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#现有项目","aria-hidden":"true"}},[s._v("#")]),s._v(" 现有项目")]),s._v(" "),a("p",[s._v("如果你想在一个现有项目中使用 VuePress,同时想要在该项目中管理文档,则应该将 VuePress 安装为本地依赖。作为本地依赖安装让你可以使用持续集成工具,或者一些其他服务(比如 Netlify)来帮助你在每次提交代码时自动部署。")]),s._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{attrs:{class:"token comment"}},[s._v("# 将 VuePress 作为一个本地依赖安装")]),s._v("\nyarn add -D vuepress "),a("span",{attrs:{class:"token comment"}},[s._v("# 或者:npm install -D vuepress")]),s._v("\n\n"),a("span",{attrs:{class:"token comment"}},[s._v("# 新建一个 docs 文件夹")]),s._v("\n"),a("span",{attrs:{class:"token function"}},[s._v("mkdir")]),s._v(" docs\n\n"),a("span",{attrs:{class:"token comment"}},[s._v("# 新建一个 markdown 文件")]),s._v("\n"),a("span",{attrs:{class:"token keyword"}},[s._v("echo")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'# Hello VuePress!'")]),s._v(" "),a("span",{attrs:{class:"token operator"}},[s._v(">")]),s._v(" docs/README.md\n\n"),a("span",{attrs:{class:"token comment"}},[s._v("# 开始写作")]),s._v("\nnpx vuepress dev docs\n")])])]),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[s._v("WARNING")]),s._v(" "),a("p",[s._v("如果你的现有项目依赖了 webpack 3.x,推荐使用 "),a("a",{attrs:{href:"https://yarnpkg.com/en/",target:"_blank",rel:"noopener noreferrer"}},[s._v("Yarn"),a("OutboundLink")],1),s._v(" 而不是 npm 来安装 VuePress。因为在这种情形下,npm 会生成错误的依赖树。")])]),s._v(" "),a("p",[s._v("接着,在 "),a("code",[s._v("package.json")]),s._v(" 里加一些脚本:")]),s._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{attrs:{class:"token property"}},[s._v('"scripts"')]),a("span",{attrs:{class:"token operator"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{attrs:{class:"token property"}},[s._v('"docs:dev"')]),a("span",{attrs:{class:"token operator"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v('"vuepress dev docs"')]),a("span",{attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{attrs:{class:"token property"}},[s._v('"docs:build"')]),a("span",{attrs:{class:"token operator"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v('"vuepress build docs"')]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("p",[s._v("然后就可以开始写作了:")]),s._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[s._v("yarn docs:dev "),a("span",{attrs:{class:"token comment"}},[s._v("# 或者:npm run docs:dev")]),s._v("\n")])])]),a("p",[s._v("要生成静态的 HTML 文件,运行:")]),s._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[s._v("yarn docs:build "),a("span",{attrs:{class:"token comment"}},[s._v("# 或者:npm run docs:build")]),s._v("\n")])])]),a("p",[s._v("默认情况下,文件将会被生成在 "),a("code",[s._v(".vuepress/dist")]),s._v(",当然,你也可以通过 "),a("code",[s._v(".vuepress/config.js")]),s._v(" 中的 "),a("code",[s._v("dest")]),s._v(" 字段来修改,生成的文件可以部署到任意的静态文件服务器上,参考 "),a("router-link",{attrs:{to:"./deploy.html"}},[s._v("部署")]),s._v(" 来了解更多。")],1)])},[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/51.f6a2c8b3.js b/vuepress/assets/js/51.f6a2c8b3.js new file mode 100644 index 0000000000..93a2eef7a1 --- /dev/null +++ b/vuepress/assets/js/51.f6a2c8b3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{248:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),r=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"全局计算属性"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#全局计算属性","aria-hidden":"true"}},[t._v("#")]),t._v(" 全局计算属性")]),t._v(" "),a("p",[t._v("在 VuePress 中,内置了一些核心的"),a("a",{attrs:{href:"https://cn.vuejs.org/v2/guide/computed.html#%E8%AE%A1%E7%AE%97%E5%B1%9E%E6%80%A7",target:"_blank",rel:"noopener noreferrer"}},[t._v("计算属性"),a("OutboundLink")],1),t._v(",以供"),a("router-link",{attrs:{to:"./../theme/default-theme-config.html"}},[t._v("默认主题")]),t._v(" 或自定义主题使用。")],1),t._v(" "),a("h2",{attrs:{id:"site"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#site","aria-hidden":"true"}},[t._v("#")]),t._v(" $site")]),t._v(" "),a("p",[t._v("这是你现在看到的这个网站的 "),a("code",[t._v("$site")]),t._v(" 的值:")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"title"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"VuePress"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"description"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"Vue 驱动的静态网站生成器"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"base"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"/"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"pages"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"lastUpdated"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("1524027677000")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"path"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"/"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"title"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"VuePress"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"frontmatter"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n ...\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"page"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#page","aria-hidden":"true"}},[t._v("#")]),t._v(" $page")]),t._v(" "),a("p",[t._v("这是你现在看到的这个页面的 "),a("code",[t._v("$page")]),t._v(" 的值:")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"title"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"Global Computed"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"frontmatter"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"sidebar"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"auto"')]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"regularPath"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"/zh/miscellaneous/global-computed.html"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"key"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"v-bc9a3e3f9692d"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"path"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"/zh/miscellaneous/global-computed.html"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"headers"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"level"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("2")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"title"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"$site"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"slug"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"site"')]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"level"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("2")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"title"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"$page"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"slug"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"page"')]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n ...\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"frontmatter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#frontmatter","aria-hidden":"true"}},[t._v("#")]),t._v(" $frontmatter")]),t._v(" "),a("p",[a("a",{attrs:{href:"#page"}},[t._v("$page")]),t._v(".frontmatter 的引用。")]),t._v(" "),a("h2",{attrs:{id:"lang"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#lang","aria-hidden":"true"}},[t._v("#")]),t._v(" $lang")]),t._v(" "),a("p",[t._v("当前页面的语言,默认值为 "),a("code",[t._v("en-US")]),t._v("。")]),t._v(" "),a("p",[a("strong",[t._v("参考:")])]),t._v(" "),a("ul",[a("li",[a("router-link",{attrs:{to:"./i18n.html"}},[t._v("多语言支持")])],1)]),t._v(" "),a("h2",{attrs:{id:"localepath"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#localepath","aria-hidden":"true"}},[t._v("#")]),t._v(" $localePath")]),t._v(" "),a("p",[t._v("当前页面的 locale 路径前缀,默认值为 "),a("code",[t._v("/")]),t._v(",当前页面为 "),a("code",[t._v("/zh/")]),t._v("。")]),t._v(" "),a("p",[a("strong",[t._v("参考:")])]),t._v(" "),a("ul",[a("li",[a("router-link",{attrs:{to:"./i18n.html"}},[t._v("多语言支持")])],1)]),t._v(" "),a("h2",{attrs:{id:"title"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#title","aria-hidden":"true"}},[t._v("#")]),t._v(" $title")]),t._v(" "),a("p",[t._v("用于当前页面的 "),a("code",[t._v("<title>")]),t._v(" 标签的值。")]),t._v(" "),a("h2",{attrs:{id:"description"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#description","aria-hidden":"true"}},[t._v("#")]),t._v(" $description")]),t._v(" "),a("p",[t._v("用于当前页面的 "),a("code",[t._v('<meta name="description" content="...">')]),t._v(" 的 "),a("code",[t._v("content")]),t._v(" 值。")]),t._v(" "),a("h2",{attrs:{id:"themeconfig"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#themeconfig","aria-hidden":"true"}},[t._v("#")]),t._v(" $themeConfig")]),t._v(" "),a("p",[t._v("即 "),a("code",[t._v("siteConfig.themeConfig")]),t._v("。")])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/52.522513d8.js b/vuepress/assets/js/52.522513d8.js new file mode 100644 index 0000000000..9c28a3c35f --- /dev/null +++ b/vuepress/assets/js/52.522513d8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{249:function(t,s,n){"use strict";n.r(s);var a={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},o=n(5),c=Object(o.a)(a,function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[n("h1",{attrs:{id:"多语言支持"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#多语言支持","aria-hidden":"true"}},[t._v("#")]),t._v(" 多语言支持")]),t._v(" "),n("h2",{attrs:{id:"站点多语言配置"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#站点多语言配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 站点多语言配置")]),t._v(" "),n("p",[t._v("要启用 VuePress 的多语言支持,首先需要使用如下的文件结构:")]),t._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[t._v("docs\n├─ README.md\n├─ foo.md\n├─ nested\n│  └─ README.md\n└─ zh\n ├─ README.md\n ├─ foo.md\n └─ nested\n    └─ README.md\n")])])]),n("p",[t._v("然后,在 "),n("code",[t._v(".vuepress/config.js")]),t._v(" 中提供 "),n("code",[t._v("locales")]),t._v(" 选项:")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[t._v("module"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n locales"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// 键名是该语言所属的子路径")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// 作为特例,默认语言可以使用 '/' 作为其路径。")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n lang"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'en-US'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{attrs:{class:"token comment"}},[t._v("// 将会被设置为 <html> 的 lang 属性")]),t._v("\n title"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'VuePress'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n description"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'Vue-powered Static Site Generator'")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/zh/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n lang"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'zh-CN'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n title"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'VuePress'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n description"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'Vue 驱动的静态网站生成器'")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),n("p",[t._v("如果一个语言没有声明 "),n("code",[t._v("title")]),t._v(" 或者 "),n("code",[t._v("description")]),t._v(",VuePress 将会尝试使用配置顶层的对应值。如果每个语言都声明了 "),n("code",[t._v("title")]),t._v(" 和 "),n("code",[t._v("description")]),t._v(",则顶层的这两个值可以被省略。")]),t._v(" "),n("h2",{attrs:{id:"默认主题多语言配置"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#默认主题多语言配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 默认主题多语言配置")]),t._v(" "),n("p",[t._v("默认主题也内置了多语言支持,可以通过 "),n("code",[t._v("themeConfig.locales")]),t._v(" 来配置。该选项接受同样的 "),n("code",[t._v("{ path: config }")]),t._v(" 格式的值。每个语言除了可以配置一些站点中用到的文字之外,还可以拥有自己的 "),n("router-link",{attrs:{to:"./../theme/default-theme-config.html#导航栏"}},[t._v("导航栏")]),t._v(" 和 "),n("router-link",{attrs:{to:"./../theme/default-theme-config.html#侧边栏"}},[t._v("侧边栏")]),t._v(" 配置:")],1),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[t._v("module"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n locales"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),n("span",{attrs:{class:"token comment"}},[t._v("/* ... */")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n themeConfig"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n locales"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n selectText"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'Languages'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n label"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'English'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n editLinkText"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'Edit this page on GitHub'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n serviceWorker"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n updatePopup"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n message"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v('"New content is available."')]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n buttonText"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v('"Refresh"')]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n algolia"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n nav"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'Nested'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'/nested/'")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n sidebar"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{attrs:{class:"token comment"}},[t._v("/* ... */")]),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/nested/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{attrs:{class:"token comment"}},[t._v("/* ... */")]),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/zh/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// 多语言下拉菜单的标题")]),t._v("\n selectText"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'选择语言'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// 该语言在下拉菜单中的标签")]),t._v("\n label"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'简体中文'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// 编辑链接文字")]),t._v("\n editLinkText"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'在 GitHub 上编辑此页'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// Service Worker 的配置")]),t._v("\n serviceWorker"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n updatePopup"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n message"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v('"发现新内容可用."')]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n buttonText"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v('"刷新"')]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// 当前 locale 的 algolia docsearch 选项")]),t._v("\n algolia"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n nav"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'嵌套'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'/zh/nested/'")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n sidebar"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/zh/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{attrs:{class:"token comment"}},[t._v("/* ... */")]),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token string"}},[t._v("'/zh/nested/'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{attrs:{class:"token comment"}},[t._v("/* ... */")]),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);s.default=c.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/53.2bdd820d.js b/vuepress/assets/js/53.2bdd820d.js new file mode 100644 index 0000000000..a6fd475c7a --- /dev/null +++ b/vuepress/assets/js/53.2bdd820d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{250:function(t,a,s){"use strict";s.r(a);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},o=s(5),e=Object(o.a)(n,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"markdown-插槽"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#markdown-插槽","aria-hidden":"true"}},[t._v("#")]),t._v(" Markdown 插槽")]),t._v(" "),s("p",[t._v("VuePress 实现了一套针对 Markdown 的内容分发 API。通过这个特性,你可以将你的文档分割成多个片段,以便于在布局组件中灵活组合。")]),t._v(" "),s("h2",{attrs:{id:"为什么需要-markdown-插槽"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#为什么需要-markdown-插槽","aria-hidden":"true"}},[t._v("#")]),t._v(" 为什么需要 Markdown 插槽")]),t._v(" "),s("p",[t._v("首先,我们回顾一下布局组件和 Markdown 文件之间的关系:")]),t._v(" "),s("diagram-markdown-slot-relationship"),t._v(" "),s("p",[t._v("Markdown 文件是元数据(页面内容、配置等)的提供者,而布局组件负责消费他们。我们可以通过 frontmatter 来定义一些普通数据类型的元数据,但对于 Markdown/HTML 这种涉及到编译前差异的复杂元数据,frontmatter 却无能能力。")]),t._v(" "),s("p",[t._v("Markdown 插槽便是为了解决这一类问题。")]),t._v(" "),s("h2",{attrs:{id:"具名插槽"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#具名插槽","aria-hidden":"true"}},[t._v("#")]),t._v(" 具名插槽")]),t._v(" "),s("p",[t._v("你可以通过下述的语法来定义一个具名 Markdown 插槽:")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("::: slot name\n\n:::\n")])])]),s("p",[t._v("在布局组件中利用 "),s("code",[t._v("Content")]),t._v(" 组件来使用该插槽:")]),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("slot-key")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("name"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n")])])]),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),s("p",[t._v("这里我们使用的是 "),s("code",[t._v("slot-key")]),t._v(" 而不是 "),s("code",[t._v("slot")]),t._v(",这是因为在 Vue 中,"),s("code",[t._v("slot")]),t._v(" 是一个保留的 "),s("code",[t._v("prop")]),t._v(" 名。")])]),t._v(" "),s("h2",{attrs:{id:"插槽的默认内容"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#插槽的默认内容","aria-hidden":"true"}},[t._v("#")]),t._v(" 插槽的默认内容")]),t._v(" "),s("p",[t._v("默认情况下,一个 Markdown 文件中的普通内容将会成为 Markdown 插槽的默认内容,你可以直接使用 "),s("code",[t._v("Content")]),t._v(" 组件来访问它:")]),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n")])])]),s("h2",{attrs:{id:"例子"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#例子","aria-hidden":"true"}},[t._v("#")]),t._v(" 例子")]),t._v(" "),s("p",[t._v("假设你的布局组件如下:")]),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("container"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("header")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("slot-key")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("header"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("header")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("main")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("main")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("footer")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("slot-key")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("footer"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("footer")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("template")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("p",[t._v("如果一个页面的 "),s("code",[t._v("markdown")]),t._v(" 的内容是这样:")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("::: slot header\n"),s("span",{attrs:{class:"token title important"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("#")]),t._v(" Here might be a page title")]),t._v("\n:::\n\n"),s("span",{attrs:{class:"token list punctuation"}},[t._v("-")]),t._v(" A Paragraph\n"),s("span",{attrs:{class:"token list punctuation"}},[t._v("-")]),t._v(" Another Paragraph\n\n::: slot footer\nHere's some contact info\n:::\n")])])]),s("p",[t._v("那么这一页最终被渲染出的 HTML 将会是:")]),t._v(" "),s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("container"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("header")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content header"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h1")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Here might be a page title"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("h1")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("header")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("main")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content default"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ul")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("A Paragraph"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("li")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Another Paragraph"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("li")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("ul")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("main")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("footer")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content footer"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Here's some contact info"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("p")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("footer")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("p",[t._v("请注意:")]),t._v(" "),s("ol",[s("li",[t._v("和 Vue 本身提供的 slot 机制不太相同,每个 Content 分发的内容都会被一个 div 所包裹,其 class 是 content 和 slot 的名字。")]),t._v(" "),s("li",[t._v("请确保所定义的 slot 的唯一性。")])])],1)},[],!1,null,null,null);a.default=e.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/54.15937a2d.js b/vuepress/assets/js/54.15937a2d.js new file mode 100644 index 0000000000..5b6821945a --- /dev/null +++ b/vuepress/assets/js/54.15937a2d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{153:function(t,a,s){},188:function(t,a,s){"use strict";var n=s(153);s.n(n).a},251:function(t,a,s){"use strict";s.r(a);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=(s(188),s(5)),r=Object(e.a)(n,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"markdown-拓展"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#markdown-拓展","aria-hidden":"true"}},[t._v("#")]),t._v(" Markdown 拓展")]),t._v(" "),s("h2",{attrs:{id:"header-anchors"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#header-anchors","aria-hidden":"true"}},[t._v("#")]),t._v(" Header Anchors")]),t._v(" "),s("p",[t._v("所有的标题将会自动地应用 anchor 链接,anchor 的渲染可以通过 "),s("router-link",{attrs:{to:"./../config/#markdown-anchor"}},[s("code",[t._v("markdown.anchor")])]),t._v(" 来配置。")],1),t._v(" "),s("h2",{attrs:{id:"链接"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#链接","aria-hidden":"true"}},[t._v("#")]),t._v(" 链接")]),t._v(" "),s("h3",{attrs:{id:"内部链接"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#内部链接","aria-hidden":"true"}},[t._v("#")]),t._v(" 内部链接")]),t._v(" "),s("p",[t._v("内部的、并以 "),s("code",[t._v(".md")]),t._v(" or "),s("code",[t._v(".html")]),t._v(" 结尾的链接,将会被转换成 "),s("code",[t._v("<router-link>")]),t._v(" 用于 SPA 导航。")]),t._v(" "),s("p",[t._v("站内的每一个子文件夹都应当有一个 "),s("code",[t._v("README.md")]),t._v(" 文件,它会被自动编译为 "),s("code",[t._v("index.html")]),t._v("。")]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("在链接到一个文件夹的 "),s("code",[t._v("index.html")]),t._v(" 时,确保你的链接以 "),s("code",[t._v("/")]),t._v(" 结尾,否则该链接将导致 404。比如,用 "),s("code",[t._v("/config/")]),t._v(" 而不是 "),s("code",[t._v("/config")]),t._v("。")])]),t._v(" "),s("p",[t._v("如果你想要链接到另一个 markdown 文件:")]),t._v(" "),s("ol",[s("li",[t._v("确保链接以 "),s("code",[t._v(".html")]),t._v(" 或 "),s("code",[t._v(".md")]),t._v(" 结尾;")]),t._v(" "),s("li",[t._v("确保路径大小写正确,因为路径的匹配是大小写敏感的。")])]),t._v(" "),s("h4",{attrs:{id:"示例"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#示例","aria-hidden":"true"}},[t._v("#")]),t._v(" 示例")]),t._v(" "),s("p",[t._v("以如下的文件结构为例:")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v(".\n├─ README.md\n├─ foo\n│  ├─ README.md\n│ ├─ one.md\n│ └─ two.md\n└─ bar\n ├─ README.md\n ├─ three.md\n └─ four.md\n")])])]),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[s("span",{attrs:{class:"token url"}},[t._v("[Home](/)")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("\x3c!-- 跳转到根部的 README.md --\x3e")]),t._v("\n"),s("span",{attrs:{class:"token url"}},[t._v("[foo](/foo/)")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("\x3c!-- 跳转到 foo 文件夹的 index.html --\x3e")]),t._v("\n"),s("span",{attrs:{class:"token url"}},[t._v("[foo heading anchor](/foo/#heading)")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("\x3c!-- 跳转到 foo/index.html 的特定 anchor 位置 --\x3e")]),t._v("\n"),s("span",{attrs:{class:"token url"}},[t._v("[foo - one](/foo/one.html)")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("\x3c!-- 具体文件可以使用 .html 结尾 --\x3e")]),t._v("\n"),s("span",{attrs:{class:"token url"}},[t._v("[foo - two](/foo/two.md)")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("\x3c!-- 也可以用 .md --\x3e")]),t._v("\n")])])]),s("h3",{attrs:{id:"外部链接"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#外部链接","aria-hidden":"true"}},[t._v("#")]),t._v(" 外部链接")]),t._v(" "),s("p",[t._v("外部的链接将会被自动地设置为 "),s("code",[t._v('target="_blank" rel="noopener noreferrer"')]),t._v(":")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://vuejs.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("vuejs.org"),s("OutboundLink")],1)]),t._v(" "),s("li",[s("a",{attrs:{href:"https://github.com/vuejs/vuepress",target:"_blank",rel:"noopener noreferrer"}},[t._v("VuePress on GitHub"),s("OutboundLink")],1)])]),t._v(" "),s("p",[t._v("你可以自定义通过配置 "),s("router-link",{attrs:{to:"./../config/#markdown-externallinks"}},[t._v("config.markdown.externalLinks")]),t._v(" 来自定义外部链接的特性。")],1),t._v(" "),s("h2",{attrs:{id:"front-matter"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#front-matter","aria-hidden":"true"}},[t._v("#")]),t._v(" Front Matter")]),t._v(" "),s("p",[t._v("VuePress 提供了对 "),s("a",{attrs:{href:"https://jekyllrb.com/docs/frontmatter/",target:"_blank",rel:"noopener noreferrer"}},[t._v("YAML front matter"),s("OutboundLink")],1),t._v(" 开箱即用的支持:")]),t._v(" "),s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("title")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Blogging Like a Hacker\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("lang")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" en"),s("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("US\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),s("p",[t._v("这些数据可以在当前 markdown 的正文,或者是任意的自定义或主题组件中使用。")]),t._v(" "),s("p",[t._v("想了解更多,请移步 "),s("router-link",{attrs:{to:"./frontmatter.html"}},[t._v("Front Matter")]),t._v("。")],1),t._v(" "),s("h2",{attrs:{id:"github-风格的表格"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#github-风格的表格","aria-hidden":"true"}},[t._v("#")]),t._v(" GitHub 风格的表格")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("| Tables | Are | Cool |\n| ------------- |:-------------:| -----:|\n| col 3 is | right-aligned | $1600 |\n| col 2 is | centered | $12 |\n| zebra stripes | are neat | $1 |\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("Tables")]),t._v(" "),s("th",{staticStyle:{"text-align":"center"}},[t._v("Are")]),t._v(" "),s("th",{staticStyle:{"text-align":"right"}},[t._v("Cool")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("col 3 is")]),t._v(" "),s("td",{staticStyle:{"text-align":"center"}},[t._v("right-aligned")]),t._v(" "),s("td",{staticStyle:{"text-align":"right"}},[t._v("$1600")])]),t._v(" "),s("tr",[s("td",[t._v("col 2 is")]),t._v(" "),s("td",{staticStyle:{"text-align":"center"}},[t._v("centered")]),t._v(" "),s("td",{staticStyle:{"text-align":"right"}},[t._v("$12")])]),t._v(" "),s("tr",[s("td",[t._v("zebra stripes")]),t._v(" "),s("td",{staticStyle:{"text-align":"center"}},[t._v("are neat")]),t._v(" "),s("td",{staticStyle:{"text-align":"right"}},[t._v("$1")])])])]),t._v(" "),s("h2",{attrs:{id:"emoji"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#emoji","aria-hidden":"true"}},[t._v("#")]),t._v(" Emoji")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v(":tada: :100:\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("p",[t._v("🎉 💯")]),t._v(" "),s("h2",{attrs:{id:"目录"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#目录","aria-hidden":"true"}},[t._v("#")]),t._v(" 目录")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("[[toc]]\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("p"),s("div",{staticClass:"table-of-contents"},[s("ul",[s("li",[s("a",{attrs:{href:"#header-anchors"}},[t._v("Header Anchors")])]),s("li",[s("a",{attrs:{href:"#链接"}},[t._v("链接")]),s("ul",[s("li",[s("a",{attrs:{href:"#内部链接"}},[t._v("内部链接")])]),s("li",[s("a",{attrs:{href:"#外部链接"}},[t._v("外部链接")])])])]),s("li",[s("a",{attrs:{href:"#front-matter"}},[t._v("Front Matter")])]),s("li",[s("a",{attrs:{href:"#github-风格的表格"}},[t._v("GitHub 风格的表格")])]),s("li",[s("a",{attrs:{href:"#emoji"}},[t._v("Emoji")])]),s("li",[s("a",{attrs:{href:"#目录"}},[t._v("目录")])]),s("li",[s("a",{attrs:{href:"#自定义容器"}},[t._v("自定义容器")])]),s("li",[s("a",{attrs:{href:"#代码块中的行高亮"}},[t._v("代码块中的行高亮")])]),s("li",[s("a",{attrs:{href:"#行号"}},[t._v("行号")])]),s("li",[s("a",{attrs:{href:"#导入代码段-badge-text-beta-type-warn-badge-text-0-10-1-type-tip"}},[t._v("导入代码段 "),s("Badge",{attrs:{text:"beta",type:"warn"}}),t._v(" "),s("Badge",{attrs:{text:"0.10.1+",type:"tip"}})],1)]),s("li",[s("a",{attrs:{href:"#进阶配置"}},[t._v("进阶配置")])])])]),s("p"),t._v(" "),s("p",[t._v("目录(Table of Contents)的渲染可以通过 "),s("router-link",{attrs:{to:"./../config/#markdown-toc"}},[s("code",[t._v("markdown.toc")])]),t._v(" 选项来配置。")],1),t._v(" "),s("h2",{attrs:{id:"自定义容器"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#自定义容器","aria-hidden":"true"}},[t._v("#")]),t._v(" 自定义容器")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("::: tip\nThis is a tip\n:::\n\n::: warning\nThis is a warning\n:::\n\n::: danger\nThis is a dangerous warning\n:::\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("This is a tip")])]),t._v(" "),s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("This is a warning")])]),t._v(" "),s("div",{staticClass:"danger custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("This is a dangerous thing")])]),t._v(" "),s("p",[t._v("你也可以自定义块中的标题:")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("::: danger STOP\nDanger zone, do not proceed\n:::\n")])])]),s("div",{staticClass:"danger custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("STOP")]),t._v(" "),s("p",[t._v("Danger zone, do not proceed")])]),t._v(" "),s("h2",{attrs:{id:"代码块中的行高亮"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#代码块中的行高亮","aria-hidden":"true"}},[t._v("#")]),t._v(" 代码块中的行高亮")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("``` js{4}\nexport default {\n data () {\n return {\n msg: 'Highlighted!'\n }\n }\n}\n```\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("div",{staticClass:"highlight-lines"},[s("br"),s("br"),s("br"),s("div",{staticClass:"highlighted"},[t._v(" ")]),s("br"),s("br"),s("br"),s("br")]),s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token function"}},[t._v("data")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n msg"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Highlighted!'")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"行号"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#行号","aria-hidden":"true"}},[t._v("#")]),t._v(" 行号")]),t._v(" "),s("p",[t._v("你可以通过配置来为每个代码块显示行号:")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n markdown"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n lineNumbers"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" \n")])])]),t._v(" "),s("ul",[s("li",[t._v("示例:")])]),t._v(" "),s("picture",[s("source",{attrs:{srcset:"/line-numbers-desktop.png",media:"(min-width: 719px)"}}),t._v(" "),s("img",{staticClass:"line-numbers-desktop-snap",attrs:{alt:"Image"}})]),t._v(" "),s("picture",[s("source",{attrs:{srcset:"/line-numbers-mobile.gif",media:"(max-width: 719px)"}}),t._v(" "),s("img",{staticClass:"line-numbers-mobile-snap",attrs:{alt:"Image"}})]),t._v(" "),s("h2",{attrs:{id:"导入代码段"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#导入代码段","aria-hidden":"true"}},[t._v("#")]),t._v(" 导入代码段 "),s("Badge",{attrs:{text:"beta",type:"warn"}}),t._v(" "),s("Badge",{attrs:{text:"0.10.1+",type:"tip"}})],1),t._v(" "),s("p",[t._v("你可以通过下述的语法导入已经存在的文件中的代码段:")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("<<< @/filepath\n")])])]),s("p",[t._v("它也支持 "),s("a",{attrs:{href:"#%E4%BB%A3%E7%A0%81%E5%9D%97%E4%B8%AD%E7%9A%84%E8%A1%8C%E9%AB%98%E4%BA%AE"}},[t._v("行高亮")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("<<< @/filepath{highlightLines} \n")])])]),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("<<< @/../@vuepress/markdown/__tests__/fragments/snippet.js{2}\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("div",{staticClass:"highlight-lines"},[s("br"),s("div",{staticClass:"highlighted"},[t._v(" ")]),s("br"),s("br")]),s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// ..")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("注意")]),t._v(" "),s("p",[t._v("由于代码段的导入将在 webpack 编译之前执行,因此你无法使用 webpack 中的路径别名,此处的 "),s("code",[t._v("@")]),t._v(" 默认值是 "),s("code",[t._v("process.cwd()")]),t._v("。")])]),t._v(" "),s("h2",{attrs:{id:"进阶配置"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#进阶配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 进阶配置")]),t._v(" "),s("p",[t._v("VuePress 使用 "),s("a",{attrs:{href:"https://github.com/markdown-it/markdown-it",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it"),s("OutboundLink")],1),t._v(" 来渲染 Markdown,上述大多数的拓展也都是通过自定义的插件实现的。想要进一步的话,你可以通过 "),s("code",[t._v(".vuepress/config.js")]),t._v(" 的 "),s("code",[t._v("markdown")]),t._v(" 选项,来对当前的 "),s("code",[t._v("markdown-it")]),t._v(" 实例做一些自定义的配置:")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n markdown"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// markdown-it-anchor 的选项")]),t._v("\n anchor"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" permalink"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean"}},[t._v("false")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// markdown-it-toc 的选项")]),t._v("\n toc"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" includeLevel"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{attrs:{class:"token number"}},[t._v("1")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token number"}},[t._v("2")]),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n extendMarkdown"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" md "),s("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// 使用更多的 markdown-it 插件!")]),t._v("\n md"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("use")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token function"}},[t._v("require")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v("'markdown-it-xxx'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/55.d78fbc49.js b/vuepress/assets/js/55.d78fbc49.js new file mode 100644 index 0000000000..dc9801cf1b --- /dev/null +++ b/vuepress/assets/js/55.d78fbc49.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{252:function(t,a,s){"use strict";s.r(a);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},r=s(5),n=Object(r.a)(e,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"永久链接"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#永久链接","aria-hidden":"true"}},[t._v("#")]),t._v(" 永久链接")]),t._v(" "),s("h2",{attrs:{id:"背景"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#背景","aria-hidden":"true"}},[t._v("#")]),t._v(" 背景")]),t._v(" "),s("p",[t._v("在 1.x.x 版本之前,VuePress 会检索文档源目录下的所有 markdown 文件并按照文件的层次结构去定义页面链接。\n比如你有以下的文件结构:")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("├── package.json\n└── source\n ├── _post\n │   └── intro-vuepress.md\n ├── index.md\n └── tags.md\n")])])]),s("p",[t._v("那么你就会获得以下的可用页面:")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("/source/\n/source/tags.html\n/source/_post/intro-vuepress.html\n")])])]),s("p",[t._v("看起来我们已经发现了 blog 的阴暗面。让我们继续看下去。")]),t._v(" "),s("h2",{attrs:{id:"永久链接-2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#永久链接-2","aria-hidden":"true"}},[t._v("#")]),t._v(" 永久链接")]),t._v(" "),s("p",[t._v("一个永久链接是一个旨在未来很多年里维持不变的 URL,由此产生一个发生链接失效(link rot"),s("sup",[s("a",{attrs:{href:"https://en.wikipedia.org/wiki/Link_rot",target:"_blank",rel:"noopener noreferrer"}},[t._v("1"),s("OutboundLink")],1)]),t._v(")的可能性较小的超链接。VuePress 支持一种灵活的方式去生成固定链接,这种方式允许你使用各种模板变量。")]),t._v(" "),s("p",[t._v("默认的永久链接是"),s("code",[t._v("/:regular")]),t._v("。")]),t._v(" "),s("h3",{attrs:{id:"配置永久链接"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#配置永久链接","aria-hidden":"true"}},[t._v("#")]),t._v(" 配置永久链接")]),t._v(" "),s("p",[t._v("你可以使用全局配置来向所有页面应用永久链接:")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n permalink"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v('"/:year/:month/:day/:slug"')]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("p",[t._v("另外,你也可以只为单独一个页面去设置永久链接。这种方式比全局配置拥有更高的优先级。")]),t._v(" "),s("p",[t._v("📝 "),s("strong",[t._v("hello.md")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-markdown extra-class"},[s("pre",{pre:!0,attrs:{class:"language-markdown"}},[s("code",[s("span",{attrs:{class:"token hr punctuation"}},[t._v("---")]),t._v("\ntitle: Hello World\n"),s("span",{attrs:{class:"token title important"}},[t._v("permalink: /hello-world\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("---")])]),t._v("\n\nHello!\n")])])]),s("h3",{attrs:{id:"模板变量"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#模板变量","aria-hidden":"true"}},[t._v("#")]),t._v(" 模板变量")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("变量")]),t._v(" "),s("th",[t._v("介绍")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v(":year")]),t._v(" "),s("td",[t._v("文章发布的年份 (4数字)")])]),t._v(" "),s("tr",[s("td",[t._v(":month")]),t._v(" "),s("td",[t._v("文章发布的月份 (2数字)")])]),t._v(" "),s("tr",[s("td",[t._v(":i_month")]),t._v(" "),s("td",[t._v("文章发布的月份 (前面不带0)")])]),t._v(" "),s("tr",[s("td",[t._v(":day")]),t._v(" "),s("td",[t._v("文章发布的日份 (2数字)")])]),t._v(" "),s("tr",[s("td",[t._v(":i_day")]),t._v(" "),s("td",[t._v("文章发布的日份 (前面不带0)")])]),t._v(" "),s("tr",[s("td",[t._v(":slug")]),t._v(" "),s("td",[t._v("蛞蝓化文件路径 (不带扩展名)")])]),t._v(" "),s("tr",[s("td",[t._v(":regular")]),t._v(" "),s("td",[t._v("VuePress默认的生成永久链接的方式,具体实现看 "),s("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/%40vuepress/shared-utils/lib/fileToPath.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("这里"),s("OutboundLink")],1)])])])])])},[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/56.934f8911.js b/vuepress/assets/js/56.934f8911.js new file mode 100644 index 0000000000..f3053c6f9a --- /dev/null +++ b/vuepress/assets/js/56.934f8911.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{154:function(t,a,s){t.exports={example:"example_1g94-agb"}},189:function(t,a,s){"use strict";var n=s(154),e=s.n(n);a.default=e.a},253:function(t,a,s){"use strict";s.r(a);var n={props:["slot-key"],mounted:function(){document.querySelector(".".concat(this.$style.example)).textContent="这个块是被内联的脚本渲染的,样式也采用了内联样式。"}},e=s(189),r=s(5);var v=Object(r.a)(n,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"在-markdown-中-使用-vue"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#在-markdown-中-使用-vue","aria-hidden":"true"}},[t._v("#")]),t._v(" 在 Markdown 中 使用 Vue")]),t._v(" "),s("h2",{attrs:{id:"浏览器的-api-访问限制"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#浏览器的-api-访问限制","aria-hidden":"true"}},[t._v("#")]),t._v(" 浏览器的 API 访问限制")]),t._v(" "),s("p",[t._v("当你在开发一个 VuePress 应用时,由于所有的页面在生成静态 HTML 时都需要通过 Node.js 服务端渲染,因此所有的 Vue 相关代码都应当遵循 "),s("a",{attrs:{href:"https://ssr.vuejs.org/zh/universal.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("编写通用代码"),s("OutboundLink")],1),t._v(" 的要求。简而言之,请确保只在 "),s("code",[t._v("beforeMount")]),t._v(" 或者 "),s("code",[t._v("mounted")]),t._v(" 访问浏览器 / DOM 的 API。")]),t._v(" "),s("p",[t._v("如果你正在使用,或者需要展示一个对于 SSR 不怎么友好的组件(比如包含了自定义指令),你可以将它们包裹在内置的 "),s("code",[t._v("<ClientOnly>")]),t._v(" 组件中:")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ClientOnly")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("NonSSRFriendlyComponent")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("ClientOnly")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("p",[t._v("请注意,这并不能解决一些组件或库在"),s("strong",[t._v("导入")]),t._v("时就试图访问浏览器 API 的问题 —— 如果需要使用这样的组件或库,你需要在合适的生命周期钩子中"),s("strong",[t._v("动态导入")]),t._v("它们:")]),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{attrs:{class:"token script language-javascript"}},[t._v("\n"),s("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token function"}},[t._v("mounted")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("import")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v("'./lib-that-access-window-on-import'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("then")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("module "),s("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// use code")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")]),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("script")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("h2",{attrs:{id:"模板语法"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#模板语法","aria-hidden":"true"}},[t._v("#")]),t._v(" 模板语法")]),t._v(" "),s("h3",{attrs:{id:"插值"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#插值","aria-hidden":"true"}},[t._v("#")]),t._v(" 插值")]),t._v(" "),s("p",[t._v("每一个 Markdown 文件将首先被编译成 HTML,接着作为一个 Vue 组件传入 "),s("code",[t._v("vue-loader")]),t._v(",这意味着你可以在文本中使用 Vue 风格的插值:")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("{{ 1 + 1 }}\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{staticClass:"language-text"},[s("pre",[s("code",[t._v(t._s(2))])])]),t._v(" "),s("h3",{attrs:{id:"指令"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#指令","aria-hidden":"true"}},[t._v("#")]),t._v(" 指令")]),t._v(" "),s("p",[t._v("同样地,也可以使用指令:")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("span")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("v-for")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("i in 3"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("{{ i }} "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("span")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{staticClass:"language-text"},[s("pre",[s("code",t._l(3,function(a){return s("span",[t._v(t._s(a)+" ")])}))])]),t._v(" "),s("h3",{attrs:{id:"访问网站以及页面的数据"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#访问网站以及页面的数据","aria-hidden":"true"}},[t._v("#")]),t._v(" 访问网站以及页面的数据")]),t._v(" "),s("p",[t._v("编译后的组件没有私有数据,但可以访问 "),s("router-link",{attrs:{to:"./../theme/writing-a-theme.html#网站和页面的元数据"}},[t._v("网站的元数据")]),t._v(",举例来说:")],1),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("{{ $page }}\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{staticClass:"language-json extra-class"},[s("pre",{pre:!0,attrs:{class:"language-json"}},[s("code",[s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token property"}},[t._v('"path"')]),s("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v('"/using-vue.html"')]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token property"}},[t._v('"title"')]),s("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v('"Using Vue in Markdown"')]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token property"}},[t._v('"frontmatter"')]),s("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"escaping"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#escaping","aria-hidden":"true"}},[t._v("#")]),t._v(" Escaping")]),t._v(" "),s("p",[t._v("默认情况下,块级 (block) 的代码块将会被自动包裹在 "),s("code",[t._v("v-pre")]),t._v(" 中。如果你想要在内联 (inline) 的代码块或者普通文本中显示原始的大括号,或者一些 Vue 特定的语法,你需要使用自定义容器 "),s("code",[t._v("v-pre")]),t._v(" 来包裹:")]),t._v(" "),s("p",[s("strong",[t._v("Input")])]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[t._v("::: v-pre\n"),s("span",{attrs:{class:"token code keyword"}},[t._v("`{{ This will be displayed as-is }}`")]),t._v("\n:::\n")])])]),s("p",[s("strong",[t._v("Output")])]),t._v(" "),s("div",{pre:!0},[s("p",[s("code",[t._v("{{ This will be displayed as-is }}")])])]),t._v(" "),s("h2",{attrs:{id:"使用组件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#使用组件","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用组件")]),t._v(" "),s("p",[t._v("所有在 "),s("code",[t._v(".vuepress/components")]),t._v(" 中找到的 "),s("code",[t._v("*.vue")]),t._v(" 文件将会自动地被注册为全局的异步组件,如:")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v(".\n└─ .vuepress\n   └─ components\n ├─ demo-1.vue\n     ├─ OtherComponent.vue\n      └─ Foo\n         └─ Bar.vue\n")])])]),s("p",[t._v("你可以直接使用这些组件在任意的 Markdown 文件中(组件名是通过文件名取到的):")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("demo-1")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("OtherComponent")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Foo-Bar")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n")])])]),s("demo-1"),t._v(" "),s("OtherComponent"),t._v(" "),s("Foo-Bar"),t._v(" "),s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("重要!")]),t._v(" "),s("p",[t._v("请确保一个自定义组件的名字包含连接符或者是 PascalCase,否则,它将会被视为一个内联元素,并被包裹在一个 "),s("code",[t._v("<p>")]),t._v(" 标签中,这将会导致 HTML 渲染紊乱,因为 HTML 标准规定, "),s("code",[t._v("<p>")]),t._v(" 标签中不允许放置任何块级元素。")])]),t._v(" "),s("h3",{attrs:{id:"在标题中使用组件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#在标题中使用组件","aria-hidden":"true"}},[t._v("#")]),t._v(" 在标题中使用组件")]),t._v(" "),s("p",[t._v("你可以在标题中使用 Vue 组件,但是请留意以下两种方式的不同:")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("Markdown")]),t._v(" "),s("th",[t._v("输出的 HTML")]),t._v(" "),s("th",[t._v("解析后的标题")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[s("pre",{pre:!0},[s("code",[t._v(" # text <Tag/> ")])])]),t._v(" "),s("td",[s("code",[t._v("<h1>text <Tag/></h1>")])]),t._v(" "),s("td",[s("code",[t._v("text")])])]),t._v(" "),s("tr",[s("td",[s("pre",{pre:!0},[s("code",[t._v(" # text `<Tag/>` ")])])]),t._v(" "),s("td",[s("code",[t._v("<h1>text <code><Tag/></code></h1>")])]),t._v(" "),s("td",[s("code",[t._v("text <Tag/>")])])])])]),t._v(" "),s("p",[t._v("被 "),s("code",[t._v("<code>")]),t._v(" 包装的 HTML 将按原样显示,只有未被包装的 HTML 才会被 Vue 解析。")]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("输出的 HTML 由 "),s("a",{attrs:{href:"https://github.com/markdown-it/markdown-it",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it"),s("OutboundLink")],1),t._v(" 完成。而解析后的标题由 VuePress 完成,用于"),s("router-link",{attrs:{to:"./../theme/default-theme-config.html#侧边栏"}},[t._v("侧边栏")]),t._v("以及文档的标题。")],1)]),t._v(" "),s("h2",{attrs:{id:"使用预处理器"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#使用预处理器","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用预处理器")]),t._v(" "),s("p",[t._v("VuePress 对以下预处理器已经内置相关的 webpack 配置:"),s("code",[t._v("sass")]),t._v("、"),s("code",[t._v("scss")]),t._v("、"),s("code",[t._v("less")]),t._v("、"),s("code",[t._v("stylus")]),t._v(" 和 "),s("code",[t._v("pug")]),t._v("。要使用它们你只需要在项目中安装对应的依赖即可。例如,要使用 "),s("code",[t._v("sass")]),t._v(",需要安装:")]),t._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[t._v("yarn add -D sass-loader node-sass\n")])])]),s("p",[t._v("然后你就可以在 Markdown 或是组件中使用如下代码:")]),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("lang")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("sass"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{attrs:{class:"token style language-css"}},[t._v("\n .title\n "),s("span",{attrs:{class:"token property"}},[t._v("font-size")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px\n")]),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("style")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("p",[t._v("要在组件中使用 "),s("code",[t._v('<template lang="pug">')]),t._v(",则需要安装 "),s("code",[t._v("pug")]),t._v(" 和 "),s("code",[t._v("pug-plain-loader")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[t._v("yarn add -D pug pug-plain-loader\n")])])]),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("需要指出的是,如果你是一个 "),s("code",[t._v("stylus")]),t._v(" 用户,你并不需要在你的项目中安装 "),s("code",[t._v("stylus")]),t._v(" 和 "),s("code",[t._v("stylus-loader")]),t._v(",因为 VuePress 已经内置了它们。")]),t._v(" "),s("p",[t._v("对于那些没有内置的预处理器,除了安装对应的依赖,你还需要 "),s("router-link",{attrs:{to:"./../config/#configurewebpack"}},[t._v("拓展内部的 Webpack 配置")]),t._v("。")],1)]),t._v(" "),s("h2",{attrs:{id:"脚本和样式提升"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#脚本和样式提升","aria-hidden":"true"}},[t._v("#")]),t._v(" 脚本和样式提升")]),t._v(" "),s("p",[t._v("有时,你可以只想在当前页面应用一些 JavaScript 或者 CSS,在这种情况下,你可以直接在 Markdown 文件中使用原生的 "),s("code",[t._v("<script>")]),t._v(" 或者 "),s("code",[t._v("<style>")]),t._v(" 标签,它们将会从编译后的 HTML 文件中提取出来,并作为生成的 Vue 单文件组件的 "),s("code",[t._v("<script>")]),t._v(" 和 "),s("code",[t._v("<style>")]),t._v(" 标签。")]),t._v(" "),s("p",{staticClass:"demo",class:t.$style.example}),t._v(" "),s("h2",{attrs:{id:"内置的组件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#内置的组件","aria-hidden":"true"}},[t._v("#")]),t._v(" 内置的组件")]),t._v(" "),s("h3",{attrs:{id:"outboundlink"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#outboundlink","aria-hidden":"true"}},[t._v("#")]),t._v(" OutboundLink "),s("Badge",{attrs:{text:"stable"}})],1),t._v(" "),s("p",[t._v("("),s("OutboundLink"),t._v(") 用来表明当前是一个外部链接。在 VuePress 中这个组件会紧跟在每一个外部链接后面。")],1),t._v(" "),s("h3",{attrs:{id:"clientonly"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#clientonly","aria-hidden":"true"}},[t._v("#")]),t._v(" ClientOnly "),s("Badge",{attrs:{text:"stable"}})],1),t._v(" "),s("p",[t._v("参考 "),s("a",{attrs:{href:"#%E6%B5%8F%E8%A7%88%E5%99%A8%E7%9A%84-api-%E8%AE%BF%E9%97%AE%E9%99%90%E5%88%B6"}},[t._v("浏览器的 API 访问限制")]),t._v("。")]),t._v(" "),s("h3",{attrs:{id:"content"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#content","aria-hidden":"true"}},[t._v("#")]),t._v(" Content "),s("Badge",{attrs:{text:"beta",type:"warn"}})],1),t._v(" "),s("ul",[s("li",[s("p",[s("strong",[t._v("Props")]),t._v(":")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("custom")]),t._v(" - boolean")])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("用法")]),t._v(":")])])]),t._v(" "),s("p",[t._v("当前的 "),s("code",[t._v(".md")]),t._v(" 文件渲染的内容,当你在使用 "),s("router-link",{attrs:{to:"./../theme/default-theme-config.html#特定页面的自定义布局"}},[t._v("自定义布局")]),t._v(" 时,它将非常有用。")],1),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n")])])]),s("p",[s("strong",[t._v("参考:")])]),t._v(" "),s("ul",[s("li",[s("router-link",{attrs:{to:"./../theme/writing-a-theme.html#获取渲染内容"}},[t._v("自定义主题 > 获取渲染内容")])],1)]),t._v(" "),s("h3",{attrs:{id:"badge"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#badge","aria-hidden":"true"}},[t._v("#")]),t._v(" Badge "),s("Badge",{attrs:{text:"beta",type:"warn"}}),t._v(" "),s("Badge",{attrs:{text:"0.10.1+"}})],1),t._v(" "),s("ul",[s("li",[s("p",[s("strong",[t._v("Props")]),t._v(":")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("text")]),t._v(" - string")]),t._v(" "),s("li",[s("code",[t._v("type")]),t._v(" - string, 可选值: "),s("code",[t._v('"tip"|"warn"|"error"')]),t._v(",默认值是: "),s("code",[t._v('"tip"')])]),t._v(" "),s("li",[s("code",[t._v("vertical")]),t._v(" - string, 可选值: "),s("code",[t._v('"top"|"middle"')]),t._v(",默认值是: "),s("code",[t._v('"top"')])])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Usage")]),t._v(":")])])]),t._v(" "),s("p",[t._v("你可以在标题中,使用这个组件来为某些 API 添加一些状态:")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[s("span",{attrs:{class:"token title important"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("###")]),t._v(' Badge <Badge text="beta" type="warn"/> <Badge text="0.10.1+"/>')]),t._v("\n")])])]),s("p",[s("strong",[t._v("参考:")])]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#%E5%9C%A8%E6%A0%87%E9%A2%98%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%BB%84%E4%BB%B6"}},[t._v("在标题中使用组件")])])])],1)},[],!1,function(t){this.$style=e.default.locals||e.default},null,null);a.default=v.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/57.f2538317.js b/vuepress/assets/js/57.f2538317.js new file mode 100644 index 0000000000..c84017ace1 --- /dev/null +++ b/vuepress/assets/js/57.f2538317.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{254:function(t,s,a){"use strict";a.r(s);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=a(5),r=Object(n.a)(e,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"vuepress-1-x-的设计理念"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-1-x-的设计理念","aria-hidden":"true"}},[t._v("#")]),t._v(" VuePress 1.x 的设计理念")]),t._v(" "),a("p",[t._v("VuePress 1.x 的设计理念主要体现在以下几个方面:")]),t._v(" "),a("ol",[a("li",[t._v("插件化")]),t._v(" "),a("li",[t._v("配置大于约定")]),t._v(" "),a("li",[t._v("合理的优先级管理")])]),t._v(" "),a("h2",{attrs:{id:"插件化"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#插件化","aria-hidden":"true"}},[t._v("#")]),t._v(" 插件化")]),t._v(" "),a("p",[t._v("VuePress 1.0 进行了大范围的重写,其中最重要的就是引入 "),a("router-link",{attrs:{to:"./../plugin/"}},[t._v("Plugin API")]),t._v(",那么插件带来的好处究竟是什么呢?")],1),t._v(" "),a("h3",{attrs:{id:"解耦"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#解耦","aria-hidden":"true"}},[t._v("#")]),t._v(" 解耦")]),t._v(" "),a("p",[t._v("有了插件,我们可以将很多核心功能用插件来实现,你可以在"),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/core/lib/internal-plugins",target:"_blank",rel:"noopener noreferrer"}},[t._v("这里"),a("OutboundLink")],1),t._v("看到很多内置的插件,这些插件涵盖了很多 VuePress 的核心功能,在以前,它们糅合在代码库的各个地方,但现在,它们一目了然。")]),t._v(" "),a("h3",{attrs:{id:"配置的管理"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#配置的管理","aria-hidden":"true"}},[t._v("#")]),t._v(" 配置的管理")]),t._v(" "),a("p",[t._v("在过去,当我们遇到一些不太常见的需求时,我们会有一些疑虑:如果我们打算不支持,VuePress 的使用场景也就受到了限制;但如果想要支持它,我们就必须将其写到核心代码库中,并为其单独开设配置的 API。对于维护者来说,除了不利于长久的维护,这有时也会让我们心力交瘁。我们必须想到一些更好的解决办法,没错,这个办法就是插件。")]),t._v(" "),a("h3",{attrs:{id:"vuepress-config-js-也是插件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-config-js-也是插件","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("code",[t._v(".vuepress/config.js")]),t._v(" 也是插件")]),t._v(" "),a("p",[t._v("没错,你的配置文件也是一个插件,因此,你可以直接使用插件 API,而不必为此新建一个插件,然后在配置中导入它。")]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[a("code",[t._v(".vuepress/config.js")]),t._v(" 所支持的 API,实际上是在插件选项的基础上又新增了一些特定的选项。")])]),t._v(" "),a("h3",{attrs:{id:"theme-index-js-也是插件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#theme-index-js-也是插件","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("code",[t._v("theme/index.js")]),t._v(" 也是插件")]),t._v(" "),a("p",[t._v("主题的根配置文件也是插件。")]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("和 "),a("code",[t._v(".vuepress/config.js")]),t._v(" 一样,"),a("code",[t._v("theme/config.js")]),t._v(" 所支持的选项,也是在插件选项的基础上,又新增了一些特定的选项。用一张图来表达它们的关系就是:")]),t._v(" "),a("svg",{attrs:{viewBox:"0 0 2806 912",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}},[a("desc",[t._v("Created with Sketch.")]),t._v(" "),a("defs"),t._v(" "),a("g",{attrs:{id:"Page-1",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"}},[a("rect",{attrs:{id:"Rectangle-3","fill-opacity":"0",fill:"#FFFFFF",x:"0",y:"0",width:"2806",height:"912"}}),t._v(" "),a("circle",{attrs:{id:"Oval",stroke:"#979797",fill:"#EC5975",cx:"1212.5",cy:"455.5",r:"355.5"}}),t._v(" "),a("circle",{attrs:{id:"Oval",stroke:"#979797",fill:"#937AC4",cx:"1592.5",cy:"455.5",r:"355.5"}}),t._v(" "),a("path",{attrs:{d:"M1402.5,155.000018 C1501.96722,218.018606 1568,329.058303 1568,455.520781 C1568,581.983259 1501.96722,693.022956 1402.5,756.041544 C1303.03279,693.022977 1237,581.983271 1237,455.520781 C1237,329.058291 1303.03279,218.018585 1402.50003,155 Z",id:"Combined-Shape",stroke:"#FFFFFF","stroke-width":"10",fill:"#00BD8C"}}),t._v(" "),a("text",{attrs:{id:".vuepress/-config.js","font-family":"ArialMT, Arial","font-size":"60","font-weight":"normal",fill:"#FFFFFF"}},[a("tspan",{attrs:{x:"901.101562",y:"436"}},[t._v(".vuepress/")]),t._v(" "),a("tspan",{attrs:{x:"929.446289",y:"503"}},[t._v("config.js")])]),t._v(" "),a("text",{attrs:{id:"Plugin-API","font-family":"ArialMT, Arial","font-size":"72","font-weight":"normal",fill:"#FFFFFF"}},[a("tspan",{attrs:{x:"1302.42773",y:"436"}},[t._v("Plugin")]),t._v(" "),a("tspan",{attrs:{x:"1344.47461",y:"516"}},[t._v("API")])]),t._v(" "),a("text",{attrs:{id:"theme/-index.js","font-family":"ArialMT, Arial","font-size":"60","font-weight":"normal",fill:"#FFFFFF"}},[a("tspan",{attrs:{x:"1662.78613",y:"436"}},[t._v("theme/")]),t._v(" "),a("tspan",{attrs:{x:"1652.78125",y:"503"}},[t._v("index.js")])])])])]),t._v(" "),a("h3",{attrs:{id:"在插件中使用插件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#在插件中使用插件","aria-hidden":"true"}},[t._v("#")]),t._v(" 在插件中使用插件")]),t._v(" "),a("p",[t._v("在 VuePress 中,你拥有在插件中使用插件的能力:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// vuepress-plugin-xxx")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'a'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'b'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'c'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"约定大于配置"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#约定大于配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 约定大于配置")]),t._v(" "),a("p",[t._v("VuePress 1.0 开始引入一些约定,以减少用户过多的配置压力。对于这一点,最直观的体现是对"),a("router-link",{attrs:{to:"./../guide/directory-structure.html"}},[t._v("文档目录结构")]),t._v("和"),a("router-link",{attrs:{to:"./../theme/writing-a-theme.html#目录结构"}},[t._v("主题目录结构")]),t._v("的约定。")],1),t._v(" "),a("p",[t._v("未来我们可能还会结合社区的反馈来引入更多的约定,让我们拭目以待。")]),t._v(" "),a("h2",{attrs:{id:"合理的优先级管理"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#合理的优先级管理","aria-hidden":"true"}},[t._v("#")]),t._v(" 合理的优先级管理")]),t._v(" "),a("p",[t._v("资深的 VuePress 用户可能已经发现,主题开发者和普通的文档用户都具有定义全局的 "),a("code",[t._v("palette")]),t._v("、"),a("code",[t._v("style")]),t._v("、"),a("code",[t._v("templates")]),t._v(" 和 "),a("code",[t._v("plugins")]),t._v(" 的能力,那么他们是如何协同工作的呢?")]),t._v(" "),a("h3",{attrs:{id:"加载优先级"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#加载优先级","aria-hidden":"true"}},[t._v("#")]),t._v(" 加载优先级")]),t._v(" "),a("p",[a("code",[t._v("templates/*")]),t._v(" 遵循一定的加载优先级,以 "),a("code",[t._v("templates/ssr.html")]),t._v(" 为例:")]),t._v(" "),a("p",[t._v("@flowstart\ncond1=>condition: 用户的 ssr.html\n是否存在?\ncond2=>condition: 主题的 ssr.html\n是否存在?\nstage1=>operation: 使用用户的 ssr.html\nstage2=>operation: 使用主题的 ssr.html\nstage3=>operation: 使用默认的 ssr.html")]),t._v(" "),a("p",[t._v("cond1(no, right)->cond2(no)->stage3\ncond1(yes, bottom)->stage1\ncond2(yes, bottom)->stage2\n@flowend")]),t._v(" "),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("注意")]),t._v(" "),a("p",[t._v("当你想要去自定义 "),a("code",[t._v("templates/ssr.html")]),t._v(" 或 "),a("code",[t._v("templates/dev.html")]),t._v(" 时,最好基于 "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/%40vuepress/core/lib/app/index.dev.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("默认的模板文件"),a("OutboundLink")],1),t._v(" 来修改,否则可能会导致构建出错。")])]),t._v(" "),a("h3",{attrs:{id:"overriding"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#overriding","aria-hidden":"true"}},[t._v("#")]),t._v(" Overriding")]),t._v(" "),a("p",[t._v("对于 "),a("code",[t._v("palette.styl")]),t._v("、"),a("code",[t._v("index.styl")]),t._v(" 和 "),a("code",[t._v("plugins")]),t._v(", 遵循 "),a("code",[t._v("overriding")]),t._v(" 的原则:")]),t._v(" "),a("h4",{attrs:{id:"palette-styl"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#palette-styl","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("code",[t._v("palette.styl")])]),t._v(" "),a("p",[t._v("用户的 "),a("code",[t._v("styles/palette.styl")]),t._v(" 具有比主题的 "),a("code",[t._v("styles/palette.styl")]),t._v(" 更高的优先级,因此主题可以先预定义一套调色板,而用户又可以根据自身需要修改它。例如:")]),t._v(" "),a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// theme/styles/palette.styl")]),t._v("\n"),a("span",{attrs:{class:"token variable-declaration"}},[a("span",{attrs:{class:"token variable"}},[t._v("$accentColor")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token hexcode"}},[t._v("#0f0")])]),t._v("\n")])])]),a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/styles/palette.styl")]),t._v("\n"),a("span",{attrs:{class:"token variable-declaration"}},[a("span",{attrs:{class:"token variable"}},[t._v("$accentColor")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token hexcode"}},[t._v("#f00")])]),t._v("\n")])])]),a("p",[a("code",[t._v("$accentColor")]),t._v(" 最终的值是 "),a("code",[t._v("#f00")]),t._v("。")]),t._v(" "),a("h4",{attrs:{id:"index-styl"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index-styl","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("code",[t._v("index.styl")])]),t._v(" "),a("p",[t._v("用户和主题的 "),a("code",[t._v("styles/index.styl")]),t._v(" 都会被生成到最终的 CSS 文件中,但是默认情况下,用户的样式会生成在主题的样式后面,因此对于同样的选择器,用户的样式将具有更高的优先级,如:")]),t._v(" "),a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// theme/styles/index.styl")]),t._v("\n"),a("span",{attrs:{class:"token selector"}},[t._v(".content")]),t._v("\n "),a("span",{attrs:{class:"token property-declaration"}},[a("span",{attrs:{class:"token property"}},[t._v("font-size")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("14")]),t._v("px")]),t._v("\n")])])]),a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/styles/index.styl")]),t._v("\n"),a("span",{attrs:{class:"token selector"}},[t._v(".content")]),t._v("\n "),a("span",{attrs:{class:"token property-declaration"}},[a("span",{attrs:{class:"token property"}},[t._v("font-size")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("15")]),t._v("px")]),t._v("\n")])])]),a("p",[t._v("最终生成的 CSS 文件如下:")]),t._v(" "),a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("/* theme/styles/index.styl */")]),t._v("\n"),a("span",{attrs:{class:"token selector"}},[t._v(".content")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("font-size")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 14px"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("/* theme/styles/index.styl */")]),t._v("\n"),a("span",{attrs:{class:"token selector"}},[t._v(".content")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("font-size")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 15px"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h4",{attrs:{id:"plugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugins","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("code",[t._v("plugins")])]),t._v(" "),a("p",[t._v("由于同名插件默认情况下只能应用一次,因此用户可以修改主题中预置的插件选项的默认值,如:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// theme/index.js")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/i18n-ui'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" route"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/i18n-page/'")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/i18n-ui'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" route"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/i18n/'")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("i18n UI 最终的路由将是 "),a("code",[t._v("/i18n/")]),t._v(".")]),t._v(" "),a("h2",{attrs:{id:"其他"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#其他","aria-hidden":"true"}},[t._v("#")]),t._v(" 其他")]),t._v(" "),a("p",[t._v("本着解耦的目标,引入 monorepo 后,我们也得以将 VuePress 分离成以下几个库:")]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/cli",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/cli"),a("OutboundLink")],1),t._v(": 命令行指令的管理;")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/core",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/core"),a("OutboundLink")],1),t._v(":包含 dev、build 的核心实现和 Plugin API;")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/theme-default",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/theme-default"),a("OutboundLink")],1),t._v(":你现在所看到的默认主题。")])]),t._v(" "),a("p",[t._v("当然,对于大多数用户来说,你并不需要关心上述三个库,"),a("a",{attrs:{href:"https://www.npmjs.com/search?q=vuepress",target:"_blank",rel:"noopener noreferrer"}},[t._v("vuepress"),a("OutboundLink")],1),t._v(" 这个包已经将上述三个包组装在一起,因此你完全可以像 "),a("code",[t._v("0.x")]),t._v(" 那样使用 VuePress。")])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/58.f465a17a.js b/vuepress/assets/js/58.f465a17a.js new file mode 100644 index 0000000000..43453d9cc7 --- /dev/null +++ b/vuepress/assets/js/58.f465a17a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{255:function(t,e,a){"use strict";a.r(e);var r={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},s=a(5),v=Object(s.a)(r,function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"术语"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#术语","aria-hidden":"true"}},[t._v("#")]),t._v(" 术语")]),t._v(" "),a("p",[t._v("你可能会在文档中碰到一些陌生的概念,本节列出了文档中常见的术语,方便查阅、学习、插件/主题开发之用。")]),t._v(" "),a("h2",{attrs:{id:"frontmatter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#frontmatter","aria-hidden":"true"}},[t._v("#")]),t._v(" frontmatter")]),t._v(" "),a("blockquote",[a("p",[t._v("Access: "),a("code",[t._v("$page.frontmatter")])])]),t._v(" "),a("p",[t._v("当前页面的 "),a("code",[t._v("markdown")]),t._v(" 文件中包裹在 "),a("code",[t._v("---")]),t._v(" 中的配置,一般用于做一些页面级别的配置。")]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("VuePress 的动态布局系统等特性是基于 "),a("code",[t._v("frontmatter")]),t._v(" 实现的,你可以使用插件 API "),a("router-link",{attrs:{to:"./../plugin/option-api.html#extendpagedata"}},[t._v("extendPageData")]),t._v(" 在构建期间动态修改 frontmatter 的值。")],1)]),t._v(" "),a("h2",{attrs:{id:"permalink"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#permalink","aria-hidden":"true"}},[t._v("#")]),t._v(" permalink")]),t._v(" "),a("blockquote",[a("p",[t._v("Access: "),a("code",[t._v("$page.frontmatter.permalink")])])]),t._v(" "),a("p",[t._v("永久链接,参考 "),a("router-link",{attrs:{to:"./../guide/permalinks.html"}},[t._v("permalinks")]),t._v(" 了解更多。")],1),t._v(" "),a("h2",{attrs:{id:"regularpath"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#regularpath","aria-hidden":"true"}},[t._v("#")]),t._v(" regularPath")]),t._v(" "),a("blockquote",[a("p",[t._v("Access: "),a("code",[t._v("$page.regularPath")])])]),t._v(" "),a("p",[t._v("当前页面基于目录结构生成的 URL。")]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("在构建期动态生成路由时,一个页面的 URL ("),a("code",[t._v("$page.path")]),t._v(") 将优先使用 "),a("code",[t._v("$page.frontmatter.permalink")]),t._v(",若不存在则降级到 "),a("code",[t._v("$page.regularPath")]),t._v("。")])]),t._v(" "),a("h2",{attrs:{id:"headers"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#headers","aria-hidden":"true"}},[t._v("#")]),t._v(" headers")]),t._v(" "),a("blockquote",[a("p",[t._v("Access: "),a("code",[t._v("$page.headers")])])]),t._v(" "),a("p",[t._v("即 "),a("code",[t._v("markdown")]),t._v(" 中那些以一个或多个 "),a("code",[t._v("#")]),t._v(" 定义的标题。")]),t._v(" "),a("h2",{attrs:{id:"siteconfig"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#siteconfig","aria-hidden":"true"}},[t._v("#")]),t._v(" siteConfig")]),t._v(" "),a("blockquote",[a("p",[t._v("Access: "),a("code",[t._v("$site | Context.siteConfig")])])]),t._v(" "),a("p",[t._v("即 "),a("code",[t._v(".vuepress/config.js")]),t._v(",译为"),a("code",[t._v("站点配置")]),t._v("。")]),t._v(" "),a("h2",{attrs:{id:"themeconfig"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#themeconfig","aria-hidden":"true"}},[t._v("#")]),t._v(" themeConfig")]),t._v(" "),a("blockquote",[a("p",[t._v("Access: "),a("code",[t._v("$site | Context.themeConfig")])])]),t._v(" "),a("p",[t._v("即 "),a("code",[t._v(".vuepress/config.js")]),t._v(" 中 "),a("code",[t._v("themeConfig")]),t._v(" 的值,译为"),a("code",[t._v("用户的主题配置")]),t._v("。")]),t._v(" "),a("h2",{attrs:{id:"themepath"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#themepath","aria-hidden":"true"}},[t._v("#")]),t._v(" themePath")]),t._v(" "),a("blockquote",[a("p",[t._v("Access: "),a("code",[t._v("Context.themePath")])])]),t._v(" "),a("p",[t._v("当前使用的主题的根路径(绝对路径)。")]),t._v(" "),a("h2",{attrs:{id:"themeentryfile"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#themeentryfile","aria-hidden":"true"}},[t._v("#")]),t._v(" themeEntryFile")]),t._v(" "),a("blockquote",[a("p",[t._v("Access: "),a("code",[t._v("Context.themeEntryFile")])])]),t._v(" "),a("p",[t._v("主题的配置文件 ("),a("code",[t._v("themePath/index.js")]),t._v(")。")]),t._v(" "),a("h2",{attrs:{id:"layout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#layout","aria-hidden":"true"}},[t._v("#")]),t._v(" layout")]),t._v(" "),a("blockquote",[a("p",[t._v("Access: "),a("code",[t._v("$page.frontmatter.layout")])])]),t._v(" "),a("p",[t._v("当前页面所使用的布局组件名。")])])},[],!1,null,null,null);e.default=v.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/59.00cd99d8.js b/vuepress/assets/js/59.00cd99d8.js new file mode 100644 index 0000000000..e38dd51293 --- /dev/null +++ b/vuepress/assets/js/59.00cd99d8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{256:function(t,e,s){"use strict";s.r(e);var a={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},r=s(5),n=Object(r.a)(a,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"从-vuepress-0-x-迁移"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#从-vuepress-0-x-迁移","aria-hidden":"true"}},[t._v("#")]),t._v(" 从 VuePress 0.x 迁移")]),t._v(" "),s("h2",{attrs:{id:"站点配置"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#站点配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 站点配置")]),t._v(" "),s("h3",{attrs:{id:"ga"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ga","aria-hidden":"true"}},[t._v("#")]),t._v(" ga "),s("Badge",{attrs:{text:"替换"}})],1),t._v(" "),s("p",[t._v("GA 已经被分离为一个单独的插件 "),s("router-link",{attrs:{to:"./../plugin/official/plugin-google-analytics.html"}},[t._v("@vuepress/google-analytics")]),t._v("。")],1),t._v(" "),s("UpgradePath",{attrs:{title:""}},[s("ol",[s("li",[t._v("Install "),s("code",[t._v("@vuepress/google-analytics")]),t._v(":")])]),t._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[t._v("yarn add @vuepress/google-analytics -D\n")])])]),s("ol",{attrs:{start:"2"}},[s("li",[t._v("Update "),s("code",[t._v("vuepress/config.js")]),t._v(":")])]),t._v(" "),s("div",{staticClass:"language-diff extra-class"},[s("pre",{pre:!0,attrs:{class:"language-diff"}},[s("code",[t._v("module.exports = {\n"),s("span",{attrs:{class:"token deleted"}},[t._v("- markdown: {")]),t._v("\n"),s("span",{attrs:{class:"token deleted"}},[t._v("- config(md) { /* ... */ }")]),t._v("\n"),s("span",{attrs:{class:"token deleted"}},[t._v("- },")]),t._v("\n"),s("span",{attrs:{class:"token inserted"}},[t._v("+ extendMarkdown(md) { /* ... */ }")]),t._v("\n}\n")])])])]),s("h3",{attrs:{id:"markdown-config"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#markdown-config","aria-hidden":"true"}},[t._v("#")]),t._v(" markdown.config "),s("Badge",{attrs:{text:"重命名"}})],1),t._v(" "),s("p",[t._v("使用 "),s("code",[t._v("extendMarkdown")]),t._v(":")]),t._v(" "),s("UpgradePath",{attrs:{title:""}},[s("p",[t._v("Update "),s("code",[t._v("vuepress/config.js")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-diff extra-class"},[s("pre",{pre:!0,attrs:{class:"language-diff"}},[s("code",[t._v("// vuepress/config.js\nmodule.exports = {\n"),s("span",{attrs:{class:"token deleted"}},[t._v("- markdown: {")]),t._v("\n"),s("span",{attrs:{class:"token deleted"}},[t._v("- config(md) { /* ... */ }")]),t._v("\n"),s("span",{attrs:{class:"token deleted"}},[t._v("- },")]),t._v("\n"),s("span",{attrs:{class:"token inserted"}},[t._v("+ extendMarkdown(md) { /* ... */ }")]),t._v("\n}\n")])])])]),s("h3",{attrs:{id:"serviceworker"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#serviceworker","aria-hidden":"true"}},[t._v("#")]),t._v(" serviceWorker "),s("Badge",{attrs:{text:"替换"}})],1),t._v(" "),s("p",[t._v("Service Worker 相关的功能已经被分离为一个单独的插件 "),s("router-link",{attrs:{to:"./../plugin/official/plugin-pwa.html"}},[t._v("@vuepress/plugin-pwa")]),t._v("。")],1),t._v(" "),s("UpgradePath",{attrs:{title:""}},[s("p",[t._v("参考: "),s("router-link",{attrs:{to:"./../plugin/official/plugin-pwa.html#从-0-x-迁移"}},[t._v("@vuepress/plugin-pwa > 从 0.x 迁移")])],1)]),s("h2",{attrs:{id:"默认主题配置"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#默认主题配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 默认主题配置")]),t._v(" "),s("h3",{attrs:{id:"vuepress-override-styl"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-override-styl","aria-hidden":"true"}},[t._v("#")]),t._v(" "),s("code",[t._v(".vuepress/override.styl")]),t._v(" "),s("Badge",{attrs:{text:"替换"}})],1),t._v(" "),s("p",[t._v("使用 "),s("code",[t._v(".vuepress/styles/palette.styl")]),t._v(" 代替。")]),t._v(" "),s("UpgradePath",{attrs:{title:""}},[s("p",[t._v("参考: "),s("router-link",{attrs:{to:"./../config/#palette-styl"}},[t._v("Config > palette.styl")])],1)]),s("h3",{attrs:{id:"vuepress-style-styl"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-style-styl","aria-hidden":"true"}},[t._v("#")]),t._v(" "),s("code",[t._v(".vuepress/style.styl")]),t._v(" "),s("Badge",{attrs:{text:"替换"}})],1),t._v(" "),s("p",[t._v("使用 "),s("code",[t._v(".vuepress/styles/index.styl")]),t._v(" 代替。")]),t._v(" "),s("UpgradePath",{attrs:{title:""}},[s("p",[t._v("参考: "),s("router-link",{attrs:{to:"./../config/#index-styl"}},[t._v("Config > index.styl")])],1)])],1)},[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/6.8ca9ae3b.js b/vuepress/assets/js/6.8ca9ae3b.js new file mode 100644 index 0000000000..62c33e507c --- /dev/null +++ b/vuepress/assets/js/6.8ca9ae3b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{203:function(t,a,e){"use strict";e.r(a);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=e(5),o=Object(n.a)(s,function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[e("h1",{attrs:{id:"asset-handling"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#asset-handling","aria-hidden":"true"}},[t._v("#")]),t._v(" Asset Handling")]),t._v(" "),e("h2",{attrs:{id:"relative-urls"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#relative-urls","aria-hidden":"true"}},[t._v("#")]),t._v(" Relative URLs")]),t._v(" "),e("p",[t._v("All markdown files are compiled into Vue components and processed by webpack, therefore you can and "),e("strong",[t._v("should prefer")]),t._v(" referencing any asset using relative URLs:")]),t._v(" "),e("div",{staticClass:"language-md extra-class"},[e("pre",{pre:!0,attrs:{class:"language-md"}},[e("code",[e("span",{attrs:{class:"token url"}},[t._v("![An image](./image.png)")]),t._v("\n")])])]),e("p",[t._v("This would work the same way as in "),e("code",[t._v("*.vue")]),t._v(" file templates. The image will be processed with "),e("code",[t._v("url-loader")]),t._v(" and "),e("code",[t._v("file-loader")]),t._v(", and copied to appropriate locations in the generated static build.")]),t._v(" "),e("p",[t._v("In addition, you can use the "),e("code",[t._v("~")]),t._v(" prefix to explicitly indicate this is a webpack module request, allowing you to reference files with webpack aliases or from npm dependencies:")]),t._v(" "),e("div",{staticClass:"language-md extra-class"},[e("pre",{pre:!0,attrs:{class:"language-md"}},[e("code",[e("span",{attrs:{class:"token url"}},[t._v("![Image from alias](~@alias/image.png)")]),t._v("\n"),e("span",{attrs:{class:"token url"}},[t._v("![Image from dependency](~some-dependency/image.png)")]),t._v("\n")])])]),e("p",[t._v("webpack aliases can be configured via "),e("router-link",{attrs:{to:"/config/#configurewebpack"}},[t._v("configureWebpack")]),t._v(" in "),e("code",[t._v(".vuepress/config.js")]),t._v(". Example:")],1),t._v(" "),e("div",{staticClass:"language-js extra-class"},[e("pre",{pre:!0,attrs:{class:"language-js"}},[e("code",[t._v("module"),e("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),e("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n configureWebpack"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n resolve"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n alias"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{attrs:{class:"token string"}},[t._v("'@alias'")]),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token string"}},[t._v("'path/to/some/dir'")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("h2",{attrs:{id:"public-files"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#public-files","aria-hidden":"true"}},[t._v("#")]),t._v(" Public Files")]),t._v(" "),e("p",[t._v("Sometimes you may need to provide static assets that are not directly referenced in any of your markdown or theme components - for example, favicons and PWA icons. In such cases you can put them inside "),e("code",[t._v(".vuepress/public")]),t._v(" and they will be copied to the root of the generated directory.")]),t._v(" "),e("h2",{attrs:{id:"base-url"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#base-url","aria-hidden":"true"}},[t._v("#")]),t._v(" Base URL")]),t._v(" "),e("p",[t._v("If your site is deployed to a non-root URL, you will need to set the "),e("code",[t._v("base")]),t._v(" option in "),e("code",[t._v(".vuepress/config.js")]),t._v(". For example, if you plan to deploy your site to "),e("code",[t._v("https://foo.github.io/bar/")]),t._v(", then "),e("code",[t._v("base")]),t._v(" should be set to "),e("code",[t._v('"/bar/"')]),t._v(" (it should always start and end with a slash).")]),t._v(" "),e("p",[t._v("With a base URL, if you want to reference an image in "),e("code",[t._v(".vuepress/public")]),t._v(", you'd have to use URLs like "),e("code",[t._v("/bar/image.png")]),t._v(". However, this is brittle if you ever decide to change the "),e("code",[t._v("base")]),t._v(" later. To help with that, VuePress provides a built-in helper "),e("code",[t._v("$withBase")]),t._v(" (injected onto Vue's prototype) that generates the correct path:")]),t._v(" "),e("div",{staticClass:"language-vue extra-class"},[e("pre",{pre:!0,attrs:{class:"language-vue"}},[e("code",[e("span",{attrs:{class:"token tag"}},[e("span",{attrs:{class:"token tag"}},[e("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),e("span",{attrs:{class:"token attr-name"}},[t._v(":src")]),e("span",{attrs:{class:"token attr-value"}},[e("span",{attrs:{class:"token punctuation"}},[t._v("=")]),e("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("$withBase("),e("span",{attrs:{class:"token punctuation"}},[t._v("'")]),t._v("/foo.png"),e("span",{attrs:{class:"token punctuation"}},[t._v("'")]),t._v(")"),e("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),e("span",{attrs:{class:"token attr-name"}},[t._v("alt")]),e("span",{attrs:{class:"token attr-value"}},[e("span",{attrs:{class:"token punctuation"}},[t._v("=")]),e("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("foo"),e("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),e("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),e("p",[t._v("Note you can use the above syntax not only in theme components, but in your markdown files as well.")]),t._v(" "),e("p",[t._v("In addition, if a "),e("code",[t._v("base")]),t._v(" is set, it is automatically prepended to all asset URLs in "),e("code",[t._v(".vuepress/config.js")]),t._v(" options.")])])},[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/60.e2e817e9.js b/vuepress/assets/js/60.e2e817e9.js new file mode 100644 index 0000000000..b4faa9ab79 --- /dev/null +++ b/vuepress/assets/js/60.e2e817e9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{257:function(t,e,i){"use strict";i.r(e);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},r=i(5),l=Object(r.a)(s,function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[i("h1",{attrs:{id:"插件"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#插件","aria-hidden":"true"}},[t._v("#")]),t._v(" 插件")]),t._v(" "),i("p",[t._v("插件通常会为 VuePress 添加全局功能。插件的范围没有限制——一般有下面几种:")]),t._v(" "),i("ol",[i("li",[t._v("拓展在编译期生成的数据,如:"),i("router-link",{attrs:{to:"./official/plugin-last-updated.html"}},[t._v("@vuepress/plugin-last-updated")]),t._v(";")],1),t._v(" "),i("li",[t._v("在编译前后生成额外的文件,如:"),i("router-link",{attrs:{to:"./official/plugin-pwa.html"}},[t._v("@vuepress/plugin-pwa")]),t._v(";")],1),t._v(" "),i("li",[t._v("增加额外的页面,如:"),i("router-link",{attrs:{to:"./official/plugin-i18n-ui.html"}},[t._v("@vuepress/plugin-i18n-ui")]),t._v(";")],1),t._v(" "),i("li",[t._v("注入全局的 UI, 如:"),i("router-link",{attrs:{to:"./official/plugin-back-to-top.html"}},[t._v("@vuepress/plugin-back-to-top")]),t._v("。")],1)]),t._v(" "),i("p",[i("img",{attrs:{src:"/architecture.png",alt:"Architecture of VuePress"}})])])},[],!1,null,null,null);e.default=l.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/61.e351f282.js b/vuepress/assets/js/61.e351f282.js new file mode 100644 index 0000000000..705cf24c1d --- /dev/null +++ b/vuepress/assets/js/61.e351f282.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{258:function(t,a,s){"use strict";s.r(a);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},r=s(5),n=Object(r.a)(e,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"context-api"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#context-api","aria-hidden":"true"}},[t._v("#")]),t._v(" Context API")]),t._v(" "),s("p",[t._v("VuePress 提供了一个存储了当前页面所有状态的 Context API。")]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),s("p",[t._v("每个函数式插件的上下文对象是一个继承于根上下文的隔离上下文对象。")])]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"ctx-isprod"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ctx-isprod","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.isProd")]),t._v(" "),s("ul",[s("li",[t._v("类型: "),s("code",[t._v("boolean")])])]),t._v(" "),s("p",[t._v("VuePress 是否运行在生产环境模式下。")]),t._v(" "),s("h2",{attrs:{id:"ctx-sourcedir"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ctx-sourcedir","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.sourceDir")]),t._v(" "),s("ul",[s("li",[t._v("类型: "),s("code",[t._v("string")])])]),t._v(" "),s("p",[t._v("文档的根目录路径。")]),t._v(" "),s("h2",{attrs:{id:"ctx-temppath"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ctx-temppath","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.tempPath")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("string")])])]),t._v(" "),s("p",[t._v("临时文件所在的根目录路径。")]),t._v(" "),s("h2",{attrs:{id:"ctx-outdir"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ctx-outdir","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.outDir")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("string")])])]),t._v(" "),s("p",[t._v("输出目录。")]),t._v(" "),s("h2",{attrs:{id:"ctx-themepath"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ctx-themepath","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.themePath")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("string")])])]),t._v(" "),s("p",[t._v("当前应用的主题的根路径。")]),t._v(" "),s("h2",{attrs:{id:"ctx-base"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ctx-base","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.base")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("string")])])]),t._v(" "),s("p",[t._v("参考: "),s("router-link",{attrs:{to:"./../config/#base"}},[t._v("base")]),t._v(".")],1),t._v(" "),s("h2",{attrs:{id:"ctx-writetemp"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ctx-writetemp","aria-hidden":"true"}},[t._v("#")]),t._v(" ctx.writeTemp")]),t._v(" "),s("ul",[s("li",[t._v("Type: "),s("code",[t._v("Function")])])]),t._v(" "),s("p",[t._v("一个用于向 tempPath 写入临时文件的方法。")])])},[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/62.7cb85843.js b/vuepress/assets/js/62.7cb85843.js new file mode 100644 index 0000000000..7024892d80 --- /dev/null +++ b/vuepress/assets/js/62.7cb85843.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{259:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),o=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"生命周期"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#生命周期","aria-hidden":"true"}},[t._v("#")]),t._v(" 生命周期")]),t._v(" "),a("h2",{attrs:{id:"ready"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ready","aria-hidden":"true"}},[t._v("#")]),t._v(" ready")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("AsyncFunction")])]),t._v(" "),a("li",[t._v("作用域:"),a("code",[t._v("dev|build")])])]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("ready")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),a("p",[a("code",[t._v("ready")]),t._v(" 钩子在应用初始化之后,并在某些特定的函数式 API 执行之前执行。这些函数式 API 包括:")]),t._v(" "),a("ul",[a("li",[t._v("clientDynamicModules")]),t._v(" "),a("li",[t._v("enhanceAppFiles")])])]),t._v(" "),a("h2",{attrs:{id:"updated"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updated","aria-hidden":"true"}},[t._v("#")]),t._v(" updated")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("作用域:"),a("code",[t._v("dev")])])]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("updated")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"generated"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#generated","aria-hidden":"true"}},[t._v("#")]),t._v(" generated")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("AsyncFunction")])]),t._v(" "),a("li",[t._v("作用域:"),a("code",[t._v("build")])])]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("generated")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/63.7a736cf3.js b/vuepress/assets/js/63.7a736cf3.js new file mode 100644 index 0000000000..557142d98f --- /dev/null +++ b/vuepress/assets/js/63.7a736cf3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{260:function(a,e,t){"use strict";t.r(e);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},r=t(5),n=Object(r.a)(s,function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":a.slotKey}},[t("h1",{attrs:{id:"vuepress-plugin-active-header-links"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-active-header-links","aria-hidden":"true"}},[a._v("#")]),a._v(" "),t("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-active-header-linksd",target:"_blank",rel:"noopener noreferrer"}},[a._v("@vuepress/plugin-active-header-links"),t("OutboundLink")],1)]),a._v(" "),t("blockquote",[t("p",[a._v("页面滚动时自动更新标题链接的插件")])]),a._v(" "),t("h2",{attrs:{id:"install"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#install","aria-hidden":"true"}},[a._v("#")]),a._v(" Install")]),a._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[a._v("yarn add -D @vuepress/plugin-active-header-links\n"),t("span",{attrs:{class:"token comment"}},[a._v("# OR npm install -D @vuepress/plugin-active-header-links")]),a._v("\n")])])]),t("h2",{attrs:{id:"usage"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#usage","aria-hidden":"true"}},[a._v("#")]),a._v(" Usage")]),a._v(" "),t("div",{staticClass:"language-javascript extra-class"},[t("pre",{pre:!0,attrs:{class:"language-javascript"}},[t("code",[a._v("module"),t("span",{attrs:{class:"token punctuation"}},[a._v(".")]),a._v("exports "),t("span",{attrs:{class:"token operator"}},[a._v("=")]),a._v(" "),t("span",{attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n plugins"),t("span",{attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),t("span",{attrs:{class:"token punctuation"}},[a._v("[")]),t("span",{attrs:{class:"token string"}},[a._v("'@vuepress/active-header-links'")]),t("span",{attrs:{class:"token punctuation"}},[a._v("]")]),a._v(" \n"),t("span",{attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n")])])]),t("h2",{attrs:{id:"options"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#options","aria-hidden":"true"}},[a._v("#")]),a._v(" Options")]),a._v(" "),t("h3",{attrs:{id:"sidebarlinkselector"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#sidebarlinkselector","aria-hidden":"true"}},[a._v("#")]),a._v(" sidebarLinkSelector")]),a._v(" "),t("ul",[t("li",[a._v("Type: "),t("code",[a._v("string")])]),a._v(" "),t("li",[a._v("Default: "),t("code",[a._v(".sidebar-link")])])]),a._v(" "),t("h3",{attrs:{id:"headeranchorselector"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#headeranchorselector","aria-hidden":"true"}},[a._v("#")]),a._v(" headerAnchorSelector")]),a._v(" "),t("ul",[t("li",[a._v("Type: "),t("code",[a._v("string")])]),a._v(" "),t("li",[a._v("Default: "),t("code",[a._v(".header-anchor'")])])])])},[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/64.589ebe9e.js b/vuepress/assets/js/64.589ebe9e.js new file mode 100644 index 0000000000..afe833bfcb --- /dev/null +++ b/vuepress/assets/js/64.589ebe9e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{261:function(t,s,a){"use strict";a.r(s);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=a(5),r=Object(n.a)(e,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"vuepress-plugin-back-to-top"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-back-to-top","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-back-to-top",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-back-to-top"),a("OutboundLink")],1)]),t._v(" "),a("blockquote",[a("p",[t._v("back-to-top 插件.")])]),t._v(" "),a("h2",{attrs:{id:"安装"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#安装","aria-hidden":"true"}},[t._v("#")]),t._v(" 安装")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("yarn add -D @vuepress/plugin-back-to-top\n"),a("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-back-to-top")]),t._v("\n")])])]),a("h2",{attrs:{id:"使用"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#使用","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/back-to-top'")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/65.c7b9d4e8.js b/vuepress/assets/js/65.c7b9d4e8.js new file mode 100644 index 0000000000..2d16368968 --- /dev/null +++ b/vuepress/assets/js/65.c7b9d4e8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{262:function(t,a,s){"use strict";s.r(a);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},r=s(5),n=Object(r.a)(e,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"vuepress-plugin-blog"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-blog","aria-hidden":"true"}},[t._v("#")]),t._v(" "),s("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-blog",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-blog"),s("OutboundLink")],1)]),t._v(" "),s("blockquote",[s("p",[t._v("博客插件")])]),t._v(" "),s("h2",{attrs:{id:"安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装","aria-hidden":"true"}},[t._v("#")]),t._v(" 安装")]),t._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[t._v("yarn add -D @vuepress/plugin-blog\n"),s("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-blog")]),t._v("\n")])])]),s("h2",{attrs:{id:"使用"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#使用","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{attrs:{class:"token string"}},[t._v("'@vuepress/blog'")]),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"选项"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#选项","aria-hidden":"true"}},[t._v("#")]),t._v(" 选项")]),t._v(" "),s("h3",{attrs:{id:"postsdir"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#postsdir","aria-hidden":"true"}},[t._v("#")]),t._v(" postsDir")]),t._v(" "),s("ul",[s("li",[t._v("类型: "),s("code",[t._v("string")])]),t._v(" "),s("li",[t._v("默认值: "),s("code",[t._v("_posts")])])]),t._v(" "),s("h3",{attrs:{id:"categoryindexpageurl"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#categoryindexpageurl","aria-hidden":"true"}},[t._v("#")]),t._v(" categoryIndexPageUrl")]),t._v(" "),s("ul",[s("li",[t._v("类型: "),s("code",[t._v("string")])]),t._v(" "),s("li",[t._v("默认值: "),s("code",[t._v("/category/")])])]),t._v(" "),s("h3",{attrs:{id:"tagindexpageurl"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#tagindexpageurl","aria-hidden":"true"}},[t._v("#")]),t._v(" tagIndexPageUrl")]),t._v(" "),s("ul",[s("li",[t._v("类型: "),s("code",[t._v("string")])]),t._v(" "),s("li",[t._v("默认值: "),s("code",[t._v("/tag/")])])]),t._v(" "),s("h3",{attrs:{id:"permalink"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#permalink","aria-hidden":"true"}},[t._v("#")]),t._v(" permalink")]),t._v(" "),s("ul",[s("li",[t._v("类型: "),s("code",[t._v("string")])]),t._v(" "),s("li",[t._v("默认值: "),s("code",[t._v("/:year/:month/:day/:slug")])])]),t._v(" "),s("p",[t._v("为博客文章设置永久链接。详情参考 "),s("router-link",{attrs:{to:"/zh/guide/permalinks.html#模板变量"}},[t._v("Permalinks")]),t._v("。")],1)])},[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/66.ee83944c.js b/vuepress/assets/js/66.ee83944c.js new file mode 100644 index 0000000000..17a5e11e94 --- /dev/null +++ b/vuepress/assets/js/66.ee83944c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{263:function(t,a,s){"use strict";s.r(a);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=s(5),r=Object(n.a)(e,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"vuepress-plugin-google-analytics"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-google-analytics","aria-hidden":"true"}},[t._v("#")]),t._v(" "),s("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-google-analytics",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-google-analytics"),s("OutboundLink")],1)]),t._v(" "),s("blockquote",[s("p",[t._v("Google analytics 插件")])]),t._v(" "),s("h2",{attrs:{id:"安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装","aria-hidden":"true"}},[t._v("#")]),t._v(" 安装")]),t._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[t._v("yarn add -D @vuepress/plugin-google-analytics\n"),s("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-google-analytics")]),t._v("\n")])])]),s("h2",{attrs:{id:"使用"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#使用","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{attrs:{class:"token string"}},[t._v("'@vuepress/google-analytics'")]),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"选项"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#选项","aria-hidden":"true"}},[t._v("#")]),t._v(" 选项")]),t._v(" "),s("h3",{attrs:{id:"ga"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ga","aria-hidden":"true"}},[t._v("#")]),t._v(" ga")]),t._v(" "),s("ul",[s("li",[t._v("类型: "),s("code",[t._v("string")])]),t._v(" "),s("li",[t._v("默认值: "),s("code",[t._v("undefined")])])]),t._v(" "),s("p",[t._v("Google Analytics ID。")])])},[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/67.1b7b5854.js b/vuepress/assets/js/67.1b7b5854.js new file mode 100644 index 0000000000..30cf90adfb --- /dev/null +++ b/vuepress/assets/js/67.1b7b5854.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{264:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),o=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"vuepress-plugin-last-updated"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-last-updated","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-last-updated",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-last-updated"),a("OutboundLink")],1)]),t._v(" "),a("blockquote",[a("p",[t._v("last-updated 插件。")])]),t._v(" "),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("注意")]),t._v(" "),a("p",[t._v("注意,vuepress 的 core 中已经包含此插件,你无需再重复安装。")])]),t._v(" "),a("h2",{attrs:{id:"使用"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#使用","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/last-updated'")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"选项"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#选项","aria-hidden":"true"}},[t._v("#")]),t._v(" 选项")]),t._v(" "),a("h3",{attrs:{id:"transformer"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#transformer","aria-hidden":"true"}},[t._v("#")]),t._v(" transformer")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("(timestamp: number, lang: string) => string")])]),t._v(" "),a("li",[t._v("默认值: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("默认情况下,本插件为每个页面生成一个 13 位的时间戳,你可以传入一个 transformer 将其转换为你想要的任何格式。")]),t._v(" "),a("p",[t._v("例子:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" moment "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'moment'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v(" \n "),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/last-updated'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n transformer"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("timestamp"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" lang"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 不要忘了安装 moment")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" moment "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'moment'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n moment"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("locale")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("lang"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("moment")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("timestamp"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("fromNow")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("如果你在 "),a("router-link",{attrs:{to:"./../../guide/i18n.html"}},[t._v("i18n")]),t._v(" 模式下运行,你还可以使用第二个参数 "),a("code",[t._v("lang")]),t._v(" 为不同语言生成时间字符串。")],1),t._v(" "),a("p",[t._v("请注意,在VuePres中,我们遵循以下规范:"),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Language_localisation",target:"_blank",rel:"noopener noreferrer"}},[t._v("W3C > Language tags in HTML and XML"),a("OutboundLink")],1),t._v(",因此 "),a("code",[t._v("zh-CN")]),t._v(" 使用连字符("),a("code",[t._v("-")]),t._v(")而不是下划线("),a("code",[t._v("_")]),t._v(")。 请确保你使用的库遵循此规范,否则请自行转换。")])])])},[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/68.b4e58228.js b/vuepress/assets/js/68.b4e58228.js new file mode 100644 index 0000000000..8d9acf6a1c --- /dev/null +++ b/vuepress/assets/js/68.b4e58228.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{265:function(t,s,a){"use strict";a.r(s);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=a(5),r=Object(n.a)(e,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"vuepress-plugin-i18n-ui"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-i18n-ui","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-i18n-ui",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-i18n-ui"),a("OutboundLink")],1)]),t._v(" "),a("blockquote",[a("p",[t._v("i18n-ui 插件。")])]),t._v(" "),a("h2",{attrs:{id:"安装"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#安装","aria-hidden":"true"}},[t._v("#")]),t._v(" 安装")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("yarn add -D @vuepress/plugin-i18n-ui\n"),a("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-i18n-ui")]),t._v("\n")])])]),a("h2",{attrs:{id:"使用"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#使用","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/i18n-ui'")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"选项"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#选项","aria-hidden":"true"}},[t._v("#")]),t._v(" 选项")]),t._v(" "),a("h3",{attrs:{id:"route"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#route","aria-hidden":"true"}},[t._v("#")]),t._v(" route")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("默认值: "),a("code",[t._v("/i18n/")])])]),t._v(" "),a("p",[t._v("i18n ui页面的路径。")])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/69.73f71dfd.js b/vuepress/assets/js/69.73f71dfd.js new file mode 100644 index 0000000000..dabdb3e6f2 --- /dev/null +++ b/vuepress/assets/js/69.73f71dfd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{266:function(t,s,a){"use strict";a.r(s);var e={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=a(5),r=Object(n.a)(e,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"vuepress-plugin-medium-zoom"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-medium-zoom","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-medium-zoom",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-medium-zoom"),a("OutboundLink")],1)]),t._v(" "),a("blockquote",[a("p",[a("a",{attrs:{href:"https://github.com/francoischalifour/medium-zoom",target:"_blank",rel:"noopener noreferrer"}},[t._v("medium-zoom"),a("OutboundLink")],1),t._v(" 插件")])]),t._v(" "),a("h2",{attrs:{id:"install"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install","aria-hidden":"true"}},[t._v("#")]),t._v(" Install")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("yarn add -D @vuepress/plugin-medium-zoom\n"),a("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-medium-zoom")]),t._v("\n")])])]),a("h2",{attrs:{id:"usage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#usage","aria-hidden":"true"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/medium-zoom'")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options","aria-hidden":"true"}},[t._v("#")]),t._v(" Options")]),t._v(" "),a("h3",{attrs:{id:"selector"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#selector","aria-hidden":"true"}},[t._v("#")]),t._v(" selector")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v(".content img")])])])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/7.6d6f900c.js b/vuepress/assets/js/7.6d6f900c.js new file mode 100644 index 0000000000..d5d73cf712 --- /dev/null +++ b/vuepress/assets/js/7.6d6f900c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{204:function(e,t,r){"use strict";r.r(t);var a={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},o=r(5),i=Object(o.a)(a,function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.slotKey}},[r("h1",{attrs:{id:"introduction"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#introduction","aria-hidden":"true"}},[e._v("#")]),e._v(" Introduction")]),e._v(" "),r("Bit"),e._v(" "),r("p",[e._v("VuePress is composed of two parts: a "),r("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/core",target:"_blank",rel:"noopener noreferrer"}},[e._v("minimalistic static site generator"),r("OutboundLink")],1),e._v(" with a Vue-powered "),r("router-link",{attrs:{to:"./../theme/"}},[e._v("theming system")]),e._v(" and "),r("router-link",{attrs:{to:"./../plugin/"}},[e._v("Plugin API")]),e._v(", and a "),r("router-link",{attrs:{to:"./../theme/default-theme-config.html"}},[e._v("default theme")]),e._v(" optimized for writing technical documentation. It was created to support the documentation needs of Vue's own sub projects.")],1),e._v(" "),r("p",[e._v("Each page generated by VuePress has its own pre-rendered static HTML, providing great loading performance and is SEO-friendly. Once the page is loaded, however, Vue takes over the static content and turns it into a full Single-Page Application (SPA). Additional pages are fetched on demand as the user navigates around the site.")]),e._v(" "),r("h2",{attrs:{id:"how-it-works"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#how-it-works","aria-hidden":"true"}},[e._v("#")]),e._v(" How It Works")]),e._v(" "),r("p",[e._v("A VuePress site is in fact a SPA powered by "),r("a",{attrs:{href:"http://vuejs.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Vue"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://github.com/vuejs/vue-router",target:"_blank",rel:"noopener noreferrer"}},[e._v("Vue Router"),r("OutboundLink")],1),e._v(" and "),r("a",{attrs:{href:"http://webpack.js.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("webpack"),r("OutboundLink")],1),e._v(". If you've used Vue before, you will notice the familiar development experience when you are writing or developing custom themes (you can even use Vue DevTools to debug your custom theme!).")]),e._v(" "),r("p",[e._v("During the build, we create a server-rendered version of the app and render the corresponding HTML by virtually visiting each route. This approach is inspired by "),r("a",{attrs:{href:"https://nuxtjs.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Nuxt"),r("OutboundLink")],1),e._v("'s "),r("code",[e._v("nuxt generate")]),e._v(" command and other projects like "),r("a",{attrs:{href:"https://www.gatsbyjs.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Gatsby"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Each markdown file is compiled into HTML with "),r("a",{attrs:{href:"https://github.com/markdown-it/markdown-it",target:"_blank",rel:"noopener noreferrer"}},[e._v("markdown-it"),r("OutboundLink")],1),e._v(" and then processed as the template of a Vue component. This allows you to directly use Vue inside your markdown files and is great when you need to embed dynamic content.")]),e._v(" "),r("h2",{attrs:{id:"features"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#features","aria-hidden":"true"}},[e._v("#")]),e._v(" Features")]),e._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../plugin/"}},[e._v("Powerful Plugin API")])],1),e._v(" "),r("li",[r("router-link",{attrs:{to:"./markdown.html"}},[e._v("Built-in markdown extensions")]),e._v(" optimized for technical documentation")],1),e._v(" "),r("li",[r("router-link",{attrs:{to:"./using-vue.html"}},[e._v("Ability to leverage Vue inside markdown files")])],1),e._v(" "),r("li",[r("router-link",{attrs:{to:"./../theme/"}},[e._v("Vue-powered custom theme system")])],1),e._v(" "),r("li",[r("router-link",{attrs:{to:"./../plugin/official/plugin-pwa.html"}},[e._v("Automatic Service Worker generation")])],1),e._v(" "),r("li",[r("router-link",{attrs:{to:"./../config/#ga"}},[e._v("Google Analytics Integration")])],1),e._v(" "),r("li",[r("router-link",{attrs:{to:"./../theme/default-theme-config.html#last-updated"}},[e._v('"Last Updated" based on Git')])],1),e._v(" "),r("li",[r("router-link",{attrs:{to:"./i18n.html"}},[e._v("Multi-language support")])],1),e._v(" "),r("li",[e._v("A default theme with:\n"),r("ul",[r("li",[e._v("Responsive layout")]),e._v(" "),r("li",[r("router-link",{attrs:{to:"./../theme/default-theme-config.html#homepage"}},[e._v("Optional Homepage")])],1),e._v(" "),r("li",[r("router-link",{attrs:{to:"./../theme/default-theme-config.html#built-in-search"}},[e._v("Simple out-of-the-box header-based search")])],1),e._v(" "),r("li",[r("router-link",{attrs:{to:"./../theme/default-theme-config.html#algolia-search"}},[e._v("Algolia Search")])],1),e._v(" "),r("li",[e._v("Customizable "),r("router-link",{attrs:{to:"./../theme/default-theme-config.html#navbar"}},[e._v("navbar")]),e._v(" and "),r("router-link",{attrs:{to:"./../theme/default-theme-config.html#sidebar"}},[e._v("sidebar")])],1),e._v(" "),r("li",[r("router-link",{attrs:{to:"./../theme/default-theme-config.html#git-repo-and-edit-links"}},[e._v("Auto-generated GitHub link and page edit links")])],1)])])]),e._v(" "),r("h2",{attrs:{id:"why-not"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#why-not","aria-hidden":"true"}},[e._v("#")]),e._v(" Why Not ...?")]),e._v(" "),r("h3",{attrs:{id:"nuxt"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#nuxt","aria-hidden":"true"}},[e._v("#")]),e._v(" Nuxt")]),e._v(" "),r("p",[e._v("Nuxt is capable of doing what VuePress does, but it is designed for building applications. VuePress is focused on content-centric static sites and provides features tailored for technical documentation out of the box.")]),e._v(" "),r("h3",{attrs:{id:"docsify-docute"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#docsify-docute","aria-hidden":"true"}},[e._v("#")]),e._v(" Docsify / Docute")]),e._v(" "),r("p",[e._v("Both are great projects and also Vue-powered. Except they are both completely runtime-driven and therefore not SEO-friendly. If you don't care about SEO and don't want to mess with installing dependencies, these are still great choices.")]),e._v(" "),r("h3",{attrs:{id:"hexo"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hexo","aria-hidden":"true"}},[e._v("#")]),e._v(" Hexo")]),e._v(" "),r("p",[e._v("Hexo has been serving the Vue docs well - in fact, we are probably still a long way to go from migrating away from it for our main site. The biggest problem is that its theming system is very static and string-based - we really want to leverage Vue for both the layout and the interactivity. Also, Hexo's markdown rendering isn't the most flexible to configure.")]),e._v(" "),r("h3",{attrs:{id:"gitbook"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#gitbook","aria-hidden":"true"}},[e._v("#")]),e._v(" GitBook")]),e._v(" "),r("p",[e._v("We've been using GitBook for most of our sub project docs. The primary problem with GitBook is that its development reload performance is intolerable with a large amount of files. The default theme also has a pretty limiting navigation structure, and the theming system is, again, not Vue based. The team behind GitBook is also more focused on turning it into a commercial product rather than an open-source tool.")])],1)},[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/70.d0ec8013.js b/vuepress/assets/js/70.d0ec8013.js new file mode 100644 index 0000000000..cb7c30725d --- /dev/null +++ b/vuepress/assets/js/70.d0ec8013.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{267:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),r=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"vuepress-plugin-pagination"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-pagination","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-pagination",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-pagination"),a("OutboundLink")],1)]),t._v(" "),a("blockquote",[a("p",[t._v("分页器插件")])]),t._v(" "),a("h2",{attrs:{id:"安装"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#安装","aria-hidden":"true"}},[t._v("#")]),t._v(" 安装")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("yarn add -D @vuepress/plugin-pagination\n"),a("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-pagination")]),t._v("\n")])])]),a("h2",{attrs:{id:"使用"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#使用","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/pagination'")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"选项"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#选项","aria-hidden":"true"}},[t._v("#")]),t._v(" 选项")]),t._v(" "),a("h3",{attrs:{id:"postsfilter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#postsfilter","aria-hidden":"true"}},[t._v("#")]),t._v(" postsFilter")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("function")])]),t._v(" "),a("li",[t._v("默认值:")])]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" type "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" type "),a("span",{attrs:{class:"token operator"}},[t._v("===")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'post'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("`\n")])])]),a("h3",{attrs:{id:"postssorter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#postssorter","aria-hidden":"true"}},[t._v("#")]),t._v(" postsSorter")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("function")])]),t._v(" "),a("li",[t._v("默认值:")])]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("prev"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" next"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" prevTime "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("Date")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("prev"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("frontmatter"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("date"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("getTime")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" nextTime "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("Date")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("next"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("frontmatter"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("date"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("getTime")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" prevTime "),a("span",{attrs:{class:"token operator"}},[t._v("-")]),t._v(" nextTime "),a("span",{attrs:{class:"token operator"}},[t._v(">")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("0")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("?")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("-")]),a("span",{attrs:{class:"token number"}},[t._v("1")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("1")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/71.34cb1f27.js b/vuepress/assets/js/71.34cb1f27.js new file mode 100644 index 0000000000..02af6b15c1 --- /dev/null +++ b/vuepress/assets/js/71.34cb1f27.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{268:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),r=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"vuepress-plugin-pwa"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-pwa","aria-hidden":"true"}},[t._v("#")]),t._v(" "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-pwa",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-pwa"),a("OutboundLink")],1)]),t._v(" "),a("blockquote",[a("p",[t._v("PWA 插件")])]),t._v(" "),a("h2",{attrs:{id:"安装"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#安装","aria-hidden":"true"}},[t._v("#")]),t._v(" 安装")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("yarn add -D @vuepress/plugin-pwa\n"),a("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-pwa")]),t._v("\n")])])]),a("h2",{attrs:{id:"使用"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#使用","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/pwa'")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"选项"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#选项","aria-hidden":"true"}},[t._v("#")]),t._v(" 选项")]),t._v(" "),a("h3",{attrs:{id:"serviceworker"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#serviceworker","aria-hidden":"true"}},[t._v("#")]),t._v(" serviceWorker")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("boolean")])]),t._v(" "),a("li",[t._v("默认值: "),a("code",[t._v("true")])])]),t._v(" "),a("p",[t._v("如果设置为 "),a("code",[t._v("true")]),t._v(",VuePress 将自动生成并注册一个 "),a("a",{attrs:{href:"https://developers.google.com/web/fundamentals/primers/service-workers/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Service Worker"),a("OutboundLink")],1),t._v(",用于缓存页面的内容以供离线使用(仅会在生产环境中启用)。")]),t._v(" "),a("p",[t._v("有一个别名化的模块 "),a("code",[t._v("@sw-event")]),t._v(" 模块将会 emit 以下事件:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("sw-ready")])]),t._v(" "),a("li",[a("code",[t._v("sw-cached")])]),t._v(" "),a("li",[a("code",[t._v("sw-updated")])]),t._v(" "),a("li",[a("code",[t._v("sw-offline")])]),t._v(" "),a("li",[a("code",[t._v("sw-error")])])]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("PWA NOTES")]),t._v(" "),a("p",[a("code",[t._v("serviceWorker")]),t._v(" 选项仅仅用来控制 service worker,为了让你的网站完全地兼容 PWA,你需要在 "),a("code",[t._v(".vuepress/public")]),t._v(" 提供 Manifest 和 icons,更多细节,请参见 "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/Manifest",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN docs about the Web App Manifest"),a("OutboundLink")],1),t._v(".\n此外,只有您能够使用 SSL 部署您的站点时才能启用此功能,因为 service worker 只能在 HTTPs 的 URL 下注册。")])]),t._v(" "),a("h3",{attrs:{id:"updatepopup"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updatepopup","aria-hidden":"true"}},[t._v("#")]),t._v(" updatePopup")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("boolean|popupConfig")])]),t._v(" "),a("li",[t._v("默认值: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("类型 "),a("code",[t._v("popupConfig")]),t._v(" 的定义如下:")]),t._v(" "),a("div",{staticClass:"language-typescript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-typescript"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("interface")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("normalPopupConfig")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n message"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token builtin"}},[t._v("string")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// defaults to 'New content is available.'")]),t._v("\n buttonText"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token builtin"}},[t._v("string")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// defaults to 'Refresh'")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{attrs:{class:"token keyword"}},[t._v("interface")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("localedPopupConfig")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("localePath"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token builtin"}},[t._v("string")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" normalPopupConfig\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{attrs:{class:"token keyword"}},[t._v("type")]),t._v(" popupConfig "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" normalPopupConfig "),a("span",{attrs:{class:"token operator"}},[t._v("|")]),t._v(" localedPopupConfig\n")])])]),a("p",[t._v("本选项开启了一个用于刷新内容的弹窗。这个弹窗将会在站点有内容更新时显示出来,并提供了一个 "),a("code",[t._v("refresh")]),t._v(" 按钮,允许用户立即刷新内容。")]),t._v(" "),a("blockquote",[a("p",[t._v("如果没有“刷新”按钮,则只有在所有的 "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/Clients",target:"_blank",rel:"noopener noreferrer"}},[t._v("Clients"),a("OutboundLink")],1),t._v(" 被关闭后,新的 Service Worker 才会处于活动状态。这意味着用户在关闭你网站的所有标签之前无法看到新内容。但是 "),a("code",[t._v("refresh")]),t._v(" 按钮会立即激活新的 Service Worker。")])]),t._v(" "),a("h3",{attrs:{id:"popupcomponent"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#popupcomponent","aria-hidden":"true"}},[t._v("#")]),t._v(" popupComponent")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("默认值: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("用于替换默认弹出组件的自定义组件。")]),t._v(" "),a("p",[a("strong",[t._v("参考:")])]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"#%E8%87%AA%E5%AE%9A%E4%B9%89-sw-update-popup-%E7%9A%84-ui"}},[t._v("自定义 SW-Update Popup")])])]),t._v(" "),a("h2",{attrs:{id:"从-0-x-迁移"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#从-0-x-迁移","aria-hidden":"true"}},[t._v("#")]),t._v(" 从 0.x 迁移")]),t._v(" "),a("h3",{attrs:{id:"service-worker"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#service-worker","aria-hidden":"true"}},[t._v("#")]),t._v(" Service Worker")]),t._v(" "),a("div",{staticClass:"language-diff extra-class"},[a("pre",{pre:!0,attrs:{class:"language-diff"}},[a("code",[t._v("module.exports = {\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- serviceWorker: true,")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ plugins: ['@vuepress/pwa']")]),t._v("\n}\n")])])]),a("h3",{attrs:{id:"sw-update-popup"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sw-update-popup","aria-hidden":"true"}},[t._v("#")]),t._v(" SW-Update Popup")]),t._v(" "),a("div",{staticClass:"language-diff extra-class"},[a("pre",{pre:!0,attrs:{class:"language-diff"}},[a("code",[t._v("module.exports = {\n themeConfig: {\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- serviceWorker: {")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- updatePopup: { ")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v('- message: "New content is available.", ')]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v('- buttonText: "Refresh" ')]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- }")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- }")]),t._v("\n },\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ plugins: {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ '@vuepress/pwa': {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ serviceWorker: true,")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ updatePopup: {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v('+ message: "New content is available.",')]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v('+ buttonText: "Refresh"')]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n}\n")])])]),a("p",[t._v("如果你在 "),a("router-link",{attrs:{to:"./../../guide/i18n.html"}},[t._v("i18n")]),t._v(" 模式下:")],1),t._v(" "),a("div",{staticClass:"language-diff extra-class"},[a("pre",{pre:!0,attrs:{class:"language-diff"}},[a("code",[t._v("module.exports = {\n themeConfig: {\n '/': {\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- serviceWorker: {")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- updatePopup: {")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v('- message: "New content is available.",')]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v('- buttonText: "Refresh"')]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- }")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- }")]),t._v("\n },\n '/zh/': {\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- serviceWorker: {")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- updatePopup: {")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v('- message: "发现新内容可用",')]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v('- buttonText: "刷新"')]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- }")]),t._v("\n"),a("span",{attrs:{class:"token deleted"}},[t._v("- }")]),t._v("\n }\n },\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ plugins: {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ '@vuepress/pwa': {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ serviceWorker: true,")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ updatePopup: {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ '/': {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v('+ message: "New content is available.",')]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v('+ buttonText: "Refresh"')]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ },")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ '/zh/': {")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v('+ message: "发现新内容可用",')]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v('+ buttonText: "刷新"')]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ }")]),t._v("\n")])])]),a("p",[t._v("值得一提的是本插件已经内置了上述的 i18n 配置,所以如果你想直接使用默认的 i18n,你可以将上面的配置缩写为:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/pwa'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n serviceWorker"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n updatePopup"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("欢迎提交 PR 以增加默认的 "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/%40vuepress/plugin-pwa/lib/i18n.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("i18n 配置"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("h2",{attrs:{id:"自定义-sw-update-popup-的-ui"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#自定义-sw-update-popup-的-ui","aria-hidden":"true"}},[t._v("#")]),t._v(" 自定义 SW-Update Popup 的 UI")]),t._v(" "),a("p",[t._v("默认的 SW-Update Popup 组件提供了一个默认插槽,使您能够完全控制弹窗的外观。")]),t._v(" "),a("p",[t._v("首先,您需要在 "),a("code",[t._v(".vuepress/components")]),t._v(" 中创建一个全局组件(例如"),a("code",[t._v("MySWUpdatePopup")]),t._v(")。 一个基于默认组件创建的简单组件如下:")]),t._v(" "),a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("SWUpdatePopup")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v("\n "),a("span",{attrs:{class:"token attr-name"}},[t._v("slot-scope")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("{ enabled, reload, message, buttonText }"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n "),a("span",{attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("my-sw-update-popup"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n {{ message }}"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("br")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("button")]),t._v(" "),a("span",{attrs:{class:"token attr-name"}},[t._v("@click")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("reload"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("{{ buttonText }}"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("button")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("SWUpdatePopup")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("template")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{attrs:{class:"token script language-javascript"}},[t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("import")]),t._v(" SWUpdatePopup "),a("span",{attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/plugin-pwa/lib/SWUpdatePopup.vue'")]),t._v("\n\n"),a("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n components"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" SWUpdatePopup "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")]),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("script")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{attrs:{class:"token style language-css"}},[t._v("\n"),a("span",{attrs:{class:"token selector"}},[t._v(".my-sw-update-popup")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("text-align")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" right"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("position")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fixed"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("bottom")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("right")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("background-color")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #fff"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("font-size")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("padding")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("border")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 5px solid #3eaf7c"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{attrs:{class:"token selector"}},[t._v(".my-sw-update-popup button")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v("border")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px solid #fefefe"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")]),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("style")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),a("p",[t._v("接着,更新你的插件配置:")]),t._v(" "),a("div",{staticClass:"language-diff extra-class"},[a("pre",{pre:!0,attrs:{class:"language-diff"}},[a("code",[t._v("module.exports = {\n plugins: {\n '@vuepress/pwa': {\n serviceWorker: true,\n"),a("span",{attrs:{class:"token inserted"}},[t._v("+ popupComponent: 'MySWUpdatePopup',")]),t._v("\n updatePopup: true\n }\n }\n}\n")])])]),a("p",[a("strong",[t._v("参考:")])]),t._v(" "),a("ul",[a("li",[a("router-link",{attrs:{to:"./../../guide/using-vue.html#使用组件"}},[t._v("VuePress > 使用组件")])],1),t._v(" "),a("li",[a("a",{attrs:{href:"https://cn.vuejs.org/v2/guide/components-slots.html#%E4%BD%9C%E7%94%A8%E5%9F%9F%E6%8F%92%E6%A7%BD",target:"_blank",rel:"noopener noreferrer"}},[t._v("Vue > 作用域插槽"),a("OutboundLink")],1)])])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/72.6528f86e.js b/vuepress/assets/js/72.6528f86e.js new file mode 100644 index 0000000000..e3e302a334 --- /dev/null +++ b/vuepress/assets/js/72.6528f86e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[72],{269:function(t,s,n){"use strict";n.r(s);var a={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=n(5),r=Object(e.a)(a,function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[n("h1",{attrs:{id:"vuepress-plugin-register-components"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-register-components","aria-hidden":"true"}},[t._v("#")]),t._v(" "),n("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/plugin-register-components",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-register-components"),n("OutboundLink")],1)]),t._v(" "),n("blockquote",[n("p",[t._v("register-components plugin for vuepress")])]),t._v(" "),n("h2",{attrs:{id:"安装"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#安装","aria-hidden":"true"}},[t._v("#")]),t._v(" 安装")]),t._v(" "),n("div",{staticClass:"language-bash extra-class"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[t._v("yarn add -D @vuepress/plugin-register-components\n"),n("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-register-components")]),t._v("\n")])])]),n("h2",{attrs:{id:"使用"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#使用","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用")]),t._v(" "),n("div",{staticClass:"language-javascript extra-class"},[n("pre",{pre:!0,attrs:{class:"language-javascript"}},[n("code",[t._v("module"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{attrs:{class:"token string"}},[t._v("'@vuepress/register-components'")]),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),n("h2",{attrs:{id:"选项"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#选项","aria-hidden":"true"}},[t._v("#")]),t._v(" 选项")]),t._v(" "),n("h3",{attrs:{id:"componentsdir"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#componentsdir","aria-hidden":"true"}},[t._v("#")]),t._v(" componentsDir")]),t._v(" "),n("ul",[n("li",[t._v("类型: "),n("code",[t._v("Array | String")])]),t._v(" "),n("li",[t._v("默认值: "),n("code",[t._v("[]")])])]),t._v(" "),n("p",[t._v("在这个目录下的所有组件将会被注册为全局组件,组件的命名将遵循在 "),n("a",{attrs:{href:"https://vuepress.vuejs.org/guide/using-vue.html#using-components",target:"_blank",rel:"noopener noreferrer"}},[t._v(".vuepress/components"),n("OutboundLink")],1),t._v(" 中找到的组件的命名。")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[t._v("module"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v(" \n "),n("span",{attrs:{class:"token string"}},[t._v("'register-components'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" \n "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n componentsDir"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" somepath\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" \n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),n("h3",{attrs:{id:"components"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#components","aria-hidden":"true"}},[t._v("#")]),t._v(" components")]),t._v(" "),n("ul",[n("li",[t._v("类型: "),n("code",[t._v("{ name: string, path: string }")])]),t._v(" "),n("li",[t._v("默认值: "),n("code",[t._v("[]")])])]),t._v(" "),n("p",[t._v("通过明确的名称和路径来注册组件。")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[t._v("module"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v(" \n "),n("span",{attrs:{class:"token string"}},[t._v("'register-components'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" \n "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n components"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'V-Card'")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n path"),n("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v("'path/to/card.vue'")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/73.ceac5146.js b/vuepress/assets/js/73.ceac5146.js new file mode 100644 index 0000000000..b55aba3d9f --- /dev/null +++ b/vuepress/assets/js/73.ceac5146.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{270:function(t,a,s){"use strict";s.r(a);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=s(5),r=Object(e.a)(n,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"vuepress-plugin-search"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vuepress-plugin-search","aria-hidden":"true"}},[t._v("#")]),t._v(" "),s("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-search",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-search"),s("OutboundLink")],1)]),t._v(" "),s("blockquote",[s("p",[t._v("基于 "),s("router-link",{attrs:{to:"./../../miscellaneous/glossary.html#headers"}},[t._v("Headers")]),t._v(" 的搜索插件")],1)]),t._v(" "),s("h2",{attrs:{id:"安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装","aria-hidden":"true"}},[t._v("#")]),t._v(" 安装")]),t._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[t._v("yarn add -D @vuepress/plugin-search\n"),s("span",{attrs:{class:"token comment"}},[t._v("# OR npm install -D @vuepress/plugin-search")]),t._v("\n")])])]),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("请注意,此插件已包含在"),s("strong",[t._v("默认主题")]),t._v("中,你现在看到的搜索便是由本插件提供支持。")])]),t._v(" "),s("h2",{attrs:{id:"使用"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#使用","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用")]),t._v(" "),s("ol",[s("li",[t._v("启用此插件:")])]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js or themePath/index.js")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{attrs:{class:"token string"}},[t._v("'@vuepress/search'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n searchMaxSuggestions"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token number"}},[t._v("10")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("ol",{attrs:{start:"2"}},[s("li",[t._v("本插件将自动注入指向搜索组件的 webpack 别名 "),s("code",[t._v("@SearchBox")]),t._v(",以便您可以直接在 "),s("router-link",{attrs:{to:"./../../miscellaneous/glossary.html#layout"}},[t._v("layout")]),t._v(" 组件中使用它:")],1)]),t._v(" "),s("div",{staticClass:"language-vue extra-class"},[s("pre",{pre:!0,attrs:{class:"language-vue"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("foo-layout"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("header")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("SearchBox")]),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("header")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("main")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n ...\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("main")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("template")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{attrs:{class:"token script language-javascript"}},[t._v("\n"),s("span",{attrs:{class:"token keyword"}},[t._v("import")]),t._v(" SearchBox "),s("span",{attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'@SearchBox'")]),t._v("\n\n"),s("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n components"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" SearchBox "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")]),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("script")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),s("h2",{attrs:{id:"选项"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#选项","aria-hidden":"true"}},[t._v("#")]),t._v(" 选项")]),t._v(" "),s("h3",{attrs:{id:"searchmaxsuggestions"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#searchmaxsuggestions","aria-hidden":"true"}},[t._v("#")]),t._v(" searchMaxSuggestions")]),t._v(" "),s("ul",[s("li",[t._v("类型: "),s("code",[t._v("number")])]),t._v(" "),s("li",[t._v("默认值: 5")])]),t._v(" "),s("p",[t._v("设置搜索的最大结果数。")]),t._v(" "),s("h2",{attrs:{id:"技巧"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#技巧","aria-hidden":"true"}},[t._v("#")]),t._v(" 技巧")]),t._v(" "),s("h3",{attrs:{id:"调整默认颜色"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#调整默认颜色","aria-hidden":"true"}},[t._v("#")]),t._v(" 调整默认颜色")]),t._v(" "),s("p",[t._v("由于该搜索组件使用了内置调色板,你可以通过 "),s("code",[t._v("styles/palette.styl")]),t._v(" 来调整搜索框的默认颜色:")]),t._v(" "),s("div",{staticClass:"language-stylus extra-class"},[s("pre",{pre:!0,attrs:{class:"language-stylus"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// 你现在看到的这个搜索栏的颜色:")]),t._v("\n"),s("span",{attrs:{class:"token variable-declaration"}},[s("span",{attrs:{class:"token variable"}},[t._v("$accentColor")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token hexcode"}},[t._v("#3eaf7c")])]),t._v("\n"),s("span",{attrs:{class:"token variable-declaration"}},[s("span",{attrs:{class:"token variable"}},[t._v("$textColor")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token hexcode"}},[t._v("#2c3e50")])]),t._v("\n"),s("span",{attrs:{class:"token variable-declaration"}},[s("span",{attrs:{class:"token variable"}},[t._v("$borderColor")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token hexcode"}},[t._v("#eaecef")])]),t._v("\n"),s("span",{attrs:{class:"token variable-declaration"}},[s("span",{attrs:{class:"token variable"}},[t._v("$codeBgColor")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token hexcode"}},[t._v("#282c34")])]),t._v("\n"),s("span",{attrs:{class:"token variable-declaration"}},[s("span",{attrs:{class:"token variable"}},[t._v("$arrowBgColor")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token hexcode"}},[t._v("#ccc")])]),t._v("\n")])])])])},[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/74.907fe0dc.js b/vuepress/assets/js/74.907fe0dc.js new file mode 100644 index 0000000000..72eb8ffb61 --- /dev/null +++ b/vuepress/assets/js/74.907fe0dc.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{271:function(s,t,a){"use strict";a.r(t);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),o=Object(e.a)(n,function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.slotKey}},[a("h1",{attrs:{id:"使用插件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#使用插件","aria-hidden":"true"}},[s._v("#")]),s._v(" 使用插件")]),s._v(" "),a("p",[s._v("你可以通过在 "),a("code",[s._v(".vuepress/config.js")]),s._v(" 中做一些配置来使用插件:")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v("\n "),a("span",{attrs:{class:"token function"}},[s._v("require")]),a("span",{attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{attrs:{class:"token string"}},[s._v("'./my-plugin.js'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("h2",{attrs:{id:"使用来自依赖的插件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#使用来自依赖的插件","aria-hidden":"true"}},[s._v("#")]),s._v(" 使用来自依赖的插件")]),s._v(" "),a("p",[s._v("一个插件可以在以 "),a("code",[s._v("vuepress-plugin-xxx")]),s._v(" 的形式发布到 npm,你可以这样使用它:")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'vuepress-plugin-xx'")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("h2",{attrs:{id:"插件的缩写"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#插件的缩写","aria-hidden":"true"}},[s._v("#")]),s._v(" 插件的缩写")]),s._v(" "),a("p",[s._v("如果你的插件名以 "),a("code",[s._v("vuepress-plugin-")]),s._v(" 开头,你可以使用缩写来省略这个前缀:")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'xxx'")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("p",[s._v("和下面等价:")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'vuepress-plugin-xxx'")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("p",[s._v("这也适用于 "),a("a",{attrs:{href:"https://docs.npmjs.com/misc/scope",target:"_blank",rel:"noopener noreferrer"}},[s._v("Scoped Packages"),a("OutboundLink")],1),s._v(":")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'@org/vuepress-plugin-xxx'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'@vuepress/plugin-xxx'")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("p",[s._v("等价于:")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'@org/xxx'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'@vuepress/xxx'")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[s._v("注意")]),s._v(" "),a("p",[s._v("以 "),a("code",[s._v("@vuepress/plugin-")]),s._v(" 开头的插件是官方维护的插件。")])]),s._v(" "),a("h2",{attrs:{id:"插件的选项"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#插件的选项","aria-hidden":"true"}},[s._v("#")]),s._v(" 插件的选项")]),s._v(" "),a("h3",{attrs:{id:"babel-式"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#babel-式","aria-hidden":"true"}},[s._v("#")]),s._v(" Babel 式")]),s._v(" "),a("p",[s._v("插件可以通过在配置内的数组中封装名称和选项对象来指定选项:")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v("\n "),a("span",{attrs:{class:"token string"}},[s._v("'vuepress-plugin-xxx'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" "),a("span",{attrs:{class:"token comment"}},[s._v("/* options */")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("p",[s._v("由于这种风格和 "),a("a",{attrs:{href:"https://babeljs.io/docs/en/plugins#plugin-preset-options",target:"_blank",rel:"noopener noreferrer"}},[s._v("babeld Plugin/Preset Options"),a("OutboundLink")],1),s._v(' 一直,我们称之为"Babel 风格"。')]),s._v(" "),a("h3",{attrs:{id:"对象式"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#对象式","aria-hidden":"true"}},[s._v("#")]),s._v(" 对象式")]),s._v(" "),a("p",[s._v("VuePress 也提供了一种更简单的方式来使用来自依赖的插件:")]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{attrs:{class:"token string"}},[s._v("'xxx'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" "),a("span",{attrs:{class:"token comment"}},[s._v("/* options */")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[s._v("注意")]),s._v(" "),a("p",[s._v("可以通过显示地将选项设置成 "),a("code",[s._v("false")]),s._v(" 来禁用一个插件:")]),s._v(" "),a("ul",[a("li",[s._v("Babel 风格")])]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("[")]),s._v(" "),a("span",{attrs:{class:"token string"}},[s._v("'xxx'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{attrs:{class:"token boolean"}},[s._v("false")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),a("span",{attrs:{class:"token comment"}},[s._v("// disabled.")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("ul",[a("li",[s._v("对象风格")])]),s._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("module"),a("span",{attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{attrs:{class:"token string"}},[s._v("'xxx'")]),a("span",{attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{attrs:{class:"token boolean"}},[s._v("false")]),s._v(" "),a("span",{attrs:{class:"token comment"}},[s._v("// disabled.")]),s._v("\n "),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),a("span",{attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])])])])},[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/75.3ff1a49a.js b/vuepress/assets/js/75.3ff1a49a.js new file mode 100644 index 0000000000..6a4d544378 --- /dev/null +++ b/vuepress/assets/js/75.3ff1a49a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{272:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),o=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"开发插件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#开发插件","aria-hidden":"true"}},[t._v("#")]),t._v(" 开发插件")]),t._v(" "),a("p",[t._v("一个插件应该导出一个普通的 JavaScript 对象("),a("code",[t._v("#1")]),t._v("),如果插件需要接受配置选项,那么它可以是一个返回对象的函数("),a("code",[t._v("#2")]),t._v("),这个函数接受插件的配置选项为第一个参数、包含编译期上下文的 "),a("a",{attrs:{href:"#ctx"}},[t._v("ctx")]),t._v(" 对象作为第二个参数。")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// #1")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// #2")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("一个 VuePress 插件应该是一个 "),a("code",[t._v("CommonJS 模块")]),t._v(",因为 VuePress 插件运行在 Node 端。")])])])},[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/76.22069a19.js b/vuepress/assets/js/76.22069a19.js new file mode 100644 index 0000000000..34aad7cb12 --- /dev/null +++ b/vuepress/assets/js/76.22069a19.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{273:function(t,e,s){"use strict";s.r(e);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},o=s(5),i=Object(o.a)(n,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"theme"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#theme","aria-hidden":"true"}},[t._v("#")]),t._v(" Theme")]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("Theme components are subject to the same "),s("router-link",{attrs:{to:"./../guide/using-vue.html#浏览器的API访问限制"}},[t._v("browser API access restrictions")]),t._v(".")],1)])])},[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/77.8c5d4344.js b/vuepress/assets/js/77.8c5d4344.js new file mode 100644 index 0000000000..aa602013ac --- /dev/null +++ b/vuepress/assets/js/77.8c5d4344.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[77],{274:function(e,t,s){"use strict";s.r(t);var r={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=s(5),i=Object(n.a)(r,function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.slotKey}},[s("h1",{attrs:{id:"option-api"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#option-api","aria-hidden":"true"}},[e._v("#")]),e._v(" Option API")]),e._v(" "),s("h2",{attrs:{id:"plugins"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#plugins","aria-hidden":"true"}},[e._v("#")]),e._v(" plugins")]),e._v(" "),s("ul",[s("li",[e._v("类型: "),s("code",[e._v("Array|Object")])]),e._v(" "),s("li",[e._v("默认值: undefined")])]),e._v(" "),s("p",[s("strong",[e._v("参考:")])]),e._v(" "),s("ul",[s("li",[s("router-link",{attrs:{to:"./../plugin/using-a-plugin.html"}},[e._v("插件 > 使用插件")]),e._v(".")],1)]),e._v(" "),s("p",[e._v("VuePress 支持一个主题继承于另一个主题。VuePress 将遵循 "),s("code",[e._v("override")]),e._v(" 的方式自动帮你解决各种主题属性(如样式、布局组件)的优先级。")]),e._v(" "),s("p",[e._v("值得注意的是,在子主题中,VuePress 将注入一个指向父主题包目录根路径的 "),s("router-link",{attrs:{to:"./../plugin/option-api.html#alias"}},[e._v("alias")]),e._v(" "),s("code",[e._v("@parent-theme")]),e._v("。")],1),e._v(" "),s("p",[s("strong",[e._v("参考:")])]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/theme-vue",target:"_blank",rel:"noopener noreferrer"}},[e._v("例子: "),s("code",[e._v("@vuepress/theme-vue")]),s("OutboundLink")],1)]),e._v(" "),s("li",[s("router-link",{attrs:{to:"./../miscellaneous/design-concepts.html"}},[e._v("Design Concepts of VuePress 1.x")])],1)])])},[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/78.79c9fb4c.js b/vuepress/assets/js/78.79c9fb4c.js new file mode 100644 index 0000000000..caa2c35e24 --- /dev/null +++ b/vuepress/assets/js/78.79c9fb4c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[78],{275:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),r=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"使用主题"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#使用主题","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用主题")]),t._v(" "),a("p",[t._v("使用一个主题和使用一个插件几乎一致。")]),t._v(" "),a("h2",{attrs:{id:"使用-dependency-中的主题"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#使用-dependency-中的主题","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用 dependency 中的主题")]),t._v(" "),a("p",[t._v("一个插件可以在以 "),a("code",[t._v("vuepress-theme-xxx")]),t._v(" 的形式发布到 npm,你可以这样使用它:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n theme"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'vuepress-theme-xx'")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"主题的缩写"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#主题的缩写","aria-hidden":"true"}},[t._v("#")]),t._v(" 主题的缩写")]),t._v(" "),a("p",[t._v("如果你的插件名以 "),a("code",[t._v("vuepress-theme-")]),t._v(" 开头,你可以使用缩写来省略这个前缀:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n theme"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'xxx'")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("和下面等价:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n theme"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'vuepress-theme-xxx'")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("这也适用于 "),a("a",{attrs:{href:"https://docs.npmjs.com/misc/scope",target:"_blank",rel:"noopener noreferrer"}},[t._v("Scoped Packages"),a("OutboundLink")],1),t._v(":")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n theme"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'@org/vuepress-theme-xxx'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 或者一个官方主题: '@vuepress/theme-xxx'")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("缩写:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n theme"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'@org/xxx'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 或者一个官方主题: '@vuepress/xxx'")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("注意")]),t._v(" "),a("p",[t._v("以 "),a("code",[t._v("@vuepress/plugin-")]),t._v(" 开头的插件是官方维护的插件。")])])])},[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/79.776ba4c9.js b/vuepress/assets/js/79.776ba4c9.js new file mode 100644 index 0000000000..a2c4d9c6b7 --- /dev/null +++ b/vuepress/assets/js/79.776ba4c9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[79],{276:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),v=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"开发主题"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#开发主题","aria-hidden":"true"}},[t._v("#")]),t._v(" 开发主题")]),t._v(" "),a("p",[t._v("想要书写一个主题,首先在你文档根目录创建一个 "),a("code",[t._v(".vuepress/theme")]),t._v(" 目录,接着创建一个 "),a("code",[t._v("Layout.vue")]),t._v(" 文件:")]),t._v(" "),a("pre",{staticClass:"vue-container"},[a("code",[a("p",[t._v(".\n└─ .vuepress\n └─ "),a("code",[t._v("theme")]),t._v("\n   └─ Layout.vue")]),t._v("\n")])]),a("p",[t._v("到这里,就像开发一个普通的 Vue 应用一样。如何组织你的主题,这完全取决于你。")]),t._v(" "),a("h2",{attrs:{id:"获取渲染内容"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#获取渲染内容","aria-hidden":"true"}},[t._v("#")]),t._v(" 获取渲染内容")]),t._v(" "),a("p",[t._v("当前的 "),a("code",[t._v(".md")]),t._v(" 文件渲染的内容,可以作为一个独特的全局组件 "),a("code",[t._v("<Content/>")]),t._v(" 来使用,你可能想要它显示在页面中的某个地方。一个最简单的主题,可以是一个唯一的 "),a("code",[t._v("Layout.vue")]),t._v(" 组件,并包含以下内容:")]),t._v(" "),a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("theme-container"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Content")]),a("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("template")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])]),a("p",[a("strong",[t._v("更多请阅读:")])]),t._v(" "),a("ul",[a("li",[a("router-link",{attrs:{to:"./../guide/markdown-slot.html"}},[t._v("Markdown 插槽")])],1)]),t._v(" "),a("h2",{attrs:{id:"内容摘抄"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#内容摘抄","aria-hidden":"true"}},[t._v("#")]),t._v(" 内容摘抄")]),t._v(" "),a("p",[t._v("如果一个 markdown 文件中有一个 "),a("code",[t._v("\x3c!-- more --\x3e")]),t._v(" 注释,则该注释之前的内容会被抓取并暴露在 "),a("code",[t._v("$page.excerpt")]),t._v(" 属性中。如果你在开发一个博客主题,你可以用这个属性来渲染一个带摘抄的文章列表。")]),t._v(" "),a("h2",{attrs:{id:"目录结构"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#目录结构","aria-hidden":"true"}},[t._v("#")]),t._v(" 目录结构")]),t._v(" "),a("p",[t._v("随着需求的变化,只有一个布局组件 "),a("code",[t._v("Layout.vue")]),t._v(" 可能还不够,你可能想要定义更多的布局组件用于不同的页面,你可能还想要自定义一个"),a("router-link",{attrs:{to:"./../config/#palette-styl"}},[t._v("调色板")]),t._v(", 甚至应用一些插件。")],1),t._v(" "),a("p",[t._v("那么是时候重新组织你的主题了!一个约定的主题的目录结构如下:")]),t._v(" "),a("pre",{staticClass:"vue-container"},[a("code",[a("p",[t._v("themePath\n├── "),a("code",[t._v("global-components")]),t._v(" "),a("em",[t._v("("),a("strong",[t._v("可选的")]),t._v(")")]),t._v("\n│ └── xxx.vue\n├── "),a("code",[t._v("components")]),t._v(" "),a("em",[t._v("("),a("strong",[t._v("可选的")]),t._v(")")]),t._v("\n│ └── xxx.vue\n├── "),a("code",[t._v("layouts")]),t._v("\n│   ├── Layout.vue "),a("em",[t._v("("),a("strong",[t._v("必要的")]),t._v(")")]),t._v("\n│   └── 404.vue "),a("em",[t._v("("),a("strong",[t._v("可选的")]),t._v(")")]),t._v("\n├── "),a("code",[t._v("styles")]),t._v(" "),a("em",[t._v("("),a("strong",[t._v("必要的")]),t._v(")")]),t._v("\n│   ├── index.styl\n│   └── palette.styl\n├── "),a("code",[t._v("templates")]),t._v(" "),a("em",[t._v("("),a("strong",[t._v("必要的")]),t._v(")")]),t._v("\n│   ├── dev.html\n│   └── ssr.html\n├── "),a("code",[t._v("index.js")]),t._v(" "),a("em",[t._v("("),a("strong",[t._v("当你将主题发布为一个 npm 包时,这是必须的!")]),t._v(")")]),t._v("\n├── "),a("code",[t._v("enhanceApp.js")]),t._v(" "),a("em",[t._v("("),a("strong",[t._v("必要的")]),t._v(")")]),t._v("\n└── package.json")]),t._v("\n")])]),a("ul",[a("li",[a("code",[t._v("theme/global-components")]),t._v(": 该目录下的组件都会被自动注册为全局组件。想了解更多,请参考 "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-register-components",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vuepress/plugin-register-components"),a("OutboundLink")],1),t._v("。")]),t._v(" "),a("li",[a("code",[t._v("theme/components")]),t._v(": Vue 组件。")]),t._v(" "),a("li",[a("code",[t._v("theme/layouts")]),t._v(": 布局组件,其中 "),a("code",[t._v("Layout.vue")]),t._v(" 是必需的。")]),t._v(" "),a("li",[a("code",[t._v("theme/styles")]),t._v(": 全局的样式和调色板。")]),t._v(" "),a("li",[a("code",[t._v("theme/templates")]),t._v(": 修改默认的模板文件。")]),t._v(" "),a("li",[a("code",[t._v("theme/index.js")]),t._v(": 主题文件的入口文件。")]),t._v(" "),a("li",[a("code",[t._v("theme/enhanceApp.js")]),t._v(": 主题水平的客户端增强文件。")])]),t._v(" "),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("注意")]),t._v(" "),a("p",[t._v("当你将你的主题以一个 npm 包的形式发布时,请确保这个包包含 "),a("code",[t._v("index.js")]),t._v(",同时将 "),a("code",[t._v("package.json")]),t._v(" 中的 "),a("code",[t._v('"main"')]),t._v(" 字段设置为 "),a("code",[t._v("index.js")]),t._v(",如此一来 VuePress 才能获取到正确的 "),a("router-link",{attrs:{to:"./../miscellaneous/glossary.html#theme-side"}},[t._v("themePath")]),t._v(".")],1),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n ...\n "),a("span",{attrs:{class:"token property"}},[t._v('"main"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"index.js"')]),t._v("\n ...\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])]),t._v(" "),a("h2",{attrs:{id:"布局组件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#布局组件","aria-hidden":"true"}},[t._v("#")]),t._v(" 布局组件")]),t._v(" "),a("p",[t._v("假设你的主题 "),a("code",[t._v("layouts")]),t._v(" 目录如下:")]),t._v(" "),a("pre",{staticClass:"vue-container"},[a("code",[a("p",[t._v("theme\n└── "),a("code",[t._v("layouts")]),t._v("\n   ├── Layout.vue\n   ├── AnotherLayout.vue\n   └── 404.vue")]),t._v("\n")])]),a("p",[t._v("然后,所有的页面将会默认使用 "),a("code",[t._v("Layout.vue")]),t._v(" 作为布局组件,对于那些匹配不到的路由将会使用 "),a("code",[t._v("404.vue")]),t._v("。")]),t._v(" "),a("p",[t._v("如果你想要在某一个页面中使用 "),a("code",[t._v("AnotherLayout.vue")]),t._v(" 作为布局组件,那么你只需要更新这个页面的 "),a("code",[t._v("frontmatter")]),t._v(":")]),t._v(" "),a("div",{staticClass:"language-markdown extra-class"},[a("pre",{pre:!0,attrs:{class:"language-markdown"}},[a("code",[a("span",{attrs:{class:"token hr punctuation"}},[t._v("---")]),t._v("\n"),a("span",{attrs:{class:"token title important"}},[t._v("layout: AnotherLayout\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("---")])]),t._v("\n")])])]),a("h2",{attrs:{id:"使用插件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#使用插件","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用插件")]),t._v(" "),a("p",[t._v("你可以通过主题的配置文件 "),a("code",[t._v("themePath/index.js")]),t._v(" 来给主题应用一些插件:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/pwa'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" \n serviceWorker"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n updatePopup"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"网站和页面的元数据"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#网站和页面的元数据","aria-hidden":"true"}},[t._v("#")]),t._v(" 网站和页面的元数据")]),t._v(" "),a("p",[a("code",[t._v("Layout")]),t._v(" 组件将会对每一个文档目录下的 "),a("code",[t._v(".md")]),t._v(" 执行一次,同时,整个网站以及特定页面的元数据将分别暴露为 "),a("code",[t._v("this.$site")]),t._v(" 和 "),a("code",[t._v("this.$page")]),t._v(" 属性,它们将会被注入到每一个当前应用的组件中。")]),t._v(" "),a("p",[t._v("这是你现在看到的这个网站的 "),a("code",[t._v("$site")]),t._v(" 的值:")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"title"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"VuePress"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"description"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"Vue 驱动的静态网站生成器"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"base"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"/"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"pages"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"lastUpdated"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("1524027677000")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"path"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"/"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"title"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"VuePress"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"frontmatter"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n ...\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[a("code",[t._v("title")]),t._v(", "),a("code",[t._v("description")]),t._v(" 和 "),a("code",[t._v("base")]),t._v(" 会从 "),a("code",[t._v(".vuepress/config.js")]),t._v(" 中对应的的字段复制过来,而 "),a("code",[t._v("pages")]),t._v(" 是一个包含了每个页面元数据对象的数据,包括它的路径、页面标题(明确地通过 "),a("router-link",{attrs:{to:"./../guide/markdown.html#front-matter"}},[t._v("YAML front matter")]),t._v(" 指定,或者通过该页面的第一个标题取到),以及所有源文件中的 "),a("code",[t._v("YAML front matter")]),t._v(" 的数据。")],1),t._v(" "),a("p",[t._v("下面的这个对象是你正在看的这个页面的 "),a("code",[t._v("$page")]),t._v(" 的值:")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"lastUpdated"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("1524847549000")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"path"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"/custom-themes.html"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"title"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"自定义主题"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"headers"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("/* ... */"),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"frontmatter"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("如果用户在 "),a("code",[t._v(".vuepress/config.js")]),t._v(" 配置了 "),a("code",[t._v("themeConfig")]),t._v(",你将可以通过 "),a("code",[t._v("$site.themeConfig")]),t._v(" 访问到它。如此一来,你可以通过它来对用户开放一些自定义主题的配置 —— 比如指定目录或者页面的顺序,你也可以结合 "),a("code",[t._v("$site.pages")]),t._v(" 来动态地构建导航链接。")]),t._v(" "),a("p",[t._v("最后,别忘了,作为 Vue Router API 的一部分,"),a("code",[t._v("this.$route")]),t._v(" 和 "),a("code",[t._v("this.$router")]),t._v(" 同样可以使用。")]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),a("p",[a("code",[t._v("lastUpdated")]),t._v(" 是这个文件最后一次 git 提交的 UNIX 时间戳,更多细节请参考:"),a("router-link",{attrs:{to:"./default-theme-config.html#最后更新时间"}},[t._v("最后更新时间")]),t._v("。")],1)]),t._v(" "),a("p",[a("strong",[t._v("参考:")])]),t._v(" "),a("ul",[a("li",[a("router-link",{attrs:{to:"./../guide/global-computed.html"}},[t._v("全局计算属性")]),t._v(".")],1)]),t._v(" "),a("h2",{attrs:{id:"应用配置"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#应用配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 应用配置")]),t._v(" "),a("p",[t._v("自定义主题也可以通过主题根目录下的 "),a("code",[t._v("enhanceApp.js")]),t._v(" 文件来对 VuePress 应用进行拓展配置。这个文件应当 "),a("code",[t._v("export default")]),t._v(" 一个钩子函数,并接受一个包含了一些应用级别属性的对象作为参数。你可以使用这个钩子来安装一些附加的 Vue 插件、注册全局组件,或者增加额外的路由钩子等:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n Vue"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// VuePress 正在使用的 Vue 构造函数")]),t._v("\n options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 附加到根实例的一些选项")]),t._v("\n router"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 当前应用的路由实例")]),t._v("\n siteData "),a("span",{attrs:{class:"token comment"}},[t._v("// 站点元数据")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ...做一些其他的应用级别的优化")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);s.default=v.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/8.a7e0b975.js b/vuepress/assets/js/8.a7e0b975.js new file mode 100644 index 0000000000..023622ce28 --- /dev/null +++ b/vuepress/assets/js/8.a7e0b975.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{205:function(t,e,s){"use strict";s.r(e);var a={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=s(5),o=Object(n.a)(a,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"configuration"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#configuration","aria-hidden":"true"}},[t._v("#")]),t._v(" Configuration")]),t._v(" "),s("h2",{attrs:{id:"config-file"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#config-file","aria-hidden":"true"}},[t._v("#")]),t._v(" Config File")]),t._v(" "),s("p",[t._v("Without any configuration, the page is pretty minimal, and the user has no way to navigate around the site. To customize your site, let's first create a "),s("code",[t._v(".vuepress")]),t._v(" directory inside your docs directory. This is where all VuePress-specific files will be placed in. Your project structure is probably like this:")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v(".\n├─ docs\n│ ├─ README.md\n│ └─ .vuepress\n│ └─ config.js\n└─ package.json\n")])])]),s("p",[t._v("The essential file for configuring a VuePress site is "),s("code",[t._v(".vuepress/config.js")]),t._v(", which should export a JavaScript object:")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n title"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Hello VuePress'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n description"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Just playing around'")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("If you've got the dev server running, you should see the page now has a header with the title and a search box. VuePress comes with built-in headers-based search - it automatically builds a simple search index from the title, "),s("code",[t._v("h2")]),t._v(" and "),s("code",[t._v("h3")]),t._v(" headers from all the pages.")]),t._v(" "),s("p",[t._v("Consult the "),s("router-link",{attrs:{to:"./../config/"}},[t._v("Config Reference")]),t._v(" for a full list of options.")],1),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("Alternative Config Formats")]),t._v(" "),s("p",[t._v("You can also use YAML ("),s("code",[t._v(".vuepress/config.yml")]),t._v(") or TOML ("),s("code",[t._v(".vuepress/config.toml")]),t._v(") formats for the configuration file.")])]),t._v(" "),s("h2",{attrs:{id:"theme-configuration"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#theme-configuration","aria-hidden":"true"}},[t._v("#")]),t._v(" Theme Configuration")]),t._v(" "),s("p",[t._v("A VuePress theme is responsible for all the layout and interactivity details of your site. VuePress ships with a default theme (you are looking at it right now) which is designed for technical documentation. It exposes a number of options that allow you to customize the navbar, sidebar and homepage, etc. For details, check out the "),s("router-link",{attrs:{to:"./../theme/default-theme-config.html"}},[t._v("Default Theme Config")]),t._v(" page.")],1),t._v(" "),s("p",[t._v("If you wish to develop a custom theme, see "),s("router-link",{attrs:{to:"./../theme/writing-a-theme.html"}},[t._v("Writing a theme")]),t._v(".")],1),t._v(" "),s("h2",{attrs:{id:"app-level-enhancements"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#app-level-enhancements","aria-hidden":"true"}},[t._v("#")]),t._v(" App Level Enhancements")]),t._v(" "),s("p",[t._v("Since the VuePress app is a standard Vue app, you can apply app-level enhancements by creating a file "),s("code",[t._v(".vuepress/enhanceApp.js")]),t._v(", which will be imported into the app if it is present. The file should "),s("code",[t._v("export default")]),t._v(" a hook function which will receive an object containing some app level values. You can use this hook to install additional Vue plugins, register global components, or add additional router hooks:")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n Vue"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("// the version of Vue being used in the VuePress app")]),t._v("\n options"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("// the options for the root Vue instance")]),t._v("\n router"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("// the router instance for the app")]),t._v("\n siteData "),s("span",{attrs:{class:"token comment"}},[t._v("// site metadata")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// ...apply enhancements to the app")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/80.c82818bd.js b/vuepress/assets/js/80.c82818bd.js new file mode 100644 index 0000000000..ff688b9e63 --- /dev/null +++ b/vuepress/assets/js/80.c82818bd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[80],{277:function(t,e,a){"use strict";a.r(e);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},n=a(5),r=Object(n.a)(s,function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"config-reference"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#config-reference","aria-hidden":"true"}},[t._v("#")]),t._v(" Config Reference")]),t._v(" "),a("Bit"),t._v(" "),a("h2",{attrs:{id:"basic-config"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#basic-config","aria-hidden":"true"}},[t._v("#")]),t._v(" Basic Config")]),t._v(" "),a("h3",{attrs:{id:"base"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#base","aria-hidden":"true"}},[t._v("#")]),t._v(" base")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("/")])])]),t._v(" "),a("p",[t._v("The base URL the site will be deployed at. You will need to set this if you plan to deploy your site under a sub path, for example GitHub pages. If you plan to deploy your site to "),a("code",[t._v("https://foo.github.io/bar/")]),t._v(", then "),a("code",[t._v("base")]),t._v(" should be set to "),a("code",[t._v('"/bar/"')]),t._v(". It should always start and end with a slash.")]),t._v(" "),a("p",[t._v("The "),a("code",[t._v("base")]),t._v(" is automatically prepended to all the URLs that start with "),a("code",[t._v("/")]),t._v(" in other options, so you only need to specify it once.")]),t._v(" "),a("p",[a("strong",[t._v("Also see:")])]),t._v(" "),a("ul",[a("li",[a("router-link",{attrs:{to:"./../guide/assets.html#base-url"}},[t._v("Base URL")])],1),t._v(" "),a("li",[a("router-link",{attrs:{to:"./../guide/deploy.html#github-pages"}},[t._v("Deploy Guide > Github Pages")])],1)]),t._v(" "),a("h3",{attrs:{id:"title"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#title","aria-hidden":"true"}},[t._v("#")]),t._v(" title")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("Title for the site. This will be the prefix for all page titles, and displayed in the navbar in the default theme.")]),t._v(" "),a("h3",{attrs:{id:"description"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#description","aria-hidden":"true"}},[t._v("#")]),t._v(" description")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("Description for the site. This will be rendered as a "),a("code",[t._v("<meta>")]),t._v(" tag in the page HTML.")]),t._v(" "),a("h3",{attrs:{id:"head"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#head","aria-hidden":"true"}},[t._v("#")]),t._v(" head")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Array")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("[]")])])]),t._v(" "),a("p",[t._v("Extra tags to be injected to the page HTML "),a("code",[t._v("<head>")]),t._v(". Each tag can be specified in the form of "),a("code",[t._v("[tagName, { attrName: attrValue }, innerHTML?]")]),t._v(". For example, to add a custom favicon:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n head"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'link'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" rel"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'icon'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" href"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/logo.png'")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h3",{attrs:{id:"host"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#host","aria-hidden":"true"}},[t._v("#")]),t._v(" host")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("'0.0.0.0'")])])]),t._v(" "),a("p",[t._v("Specify the host to use for the dev server.")]),t._v(" "),a("h3",{attrs:{id:"port"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#port","aria-hidden":"true"}},[t._v("#")]),t._v(" port")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("number")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("8080")])])]),t._v(" "),a("p",[t._v("Specify the port to use for the dev server.")]),t._v(" "),a("h3",{attrs:{id:"dest"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dest","aria-hidden":"true"}},[t._v("#")]),t._v(" dest")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v(".vuepress/dist")])])]),t._v(" "),a("p",[t._v("Specify the output directory for "),a("code",[t._v("vuepress build")]),t._v(".")]),t._v(" "),a("h3",{attrs:{id:"ga"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ga","aria-hidden":"true"}},[t._v("#")]),t._v(" ga")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("Provide the Google Analytics ID to enable integration.")]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("Please be aware of "),a("a",{attrs:{href:"https://ec.europa.eu/commission/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules_en",target:"_blank",rel:"noopener noreferrer"}},[t._v("GDPR (2018 reform of EU data protection rules)"),a("OutboundLink")],1),t._v(" and consider setting Google Analytics to "),a("a",{attrs:{href:"https://support.google.com/analytics/answer/2763052?hl=en",target:"_blank",rel:"noopener noreferrer"}},[t._v("anonymize IPs"),a("OutboundLink")],1),t._v(" where appropriate and/or needed.")])]),t._v(" "),a("h3",{attrs:{id:"locales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#locales","aria-hidden":"true"}},[t._v("#")]),t._v(" locales")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("{ [path: string]: Object }")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("Specify locales for i18n support. For more details, see the guide on "),a("router-link",{attrs:{to:"./../guide/i18n.html"}},[t._v("Internationalization")]),t._v(".")],1),t._v(" "),a("h3",{attrs:{id:"shouldprefetch"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#shouldprefetch","aria-hidden":"true"}},[t._v("#")]),t._v(" shouldPrefetch")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("() => true")])])]),t._v(" "),a("p",[t._v("A function to control what files should have "),a("code",[t._v('<link rel="preload">')]),t._v(" resource hints generated. See "),a("a",{attrs:{href:"https://ssr.vuejs.org/api/#shouldprefetch",target:"_blank",rel:"noopener noreferrer"}},[t._v("shouldPrefetch"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("h3",{attrs:{id:"contentloading"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#contentloading","aria-hidden":"true"}},[t._v("#")]),t._v(" contentLoading")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("boolean|string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("false")])])]),t._v(" "),a("p",[t._v("Whether to enable placeholder loading for asynchronous loading content. if it's a string, it should be the name of your custom loading component.")]),t._v(" "),a("h3",{attrs:{id:"cache"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#cache","aria-hidden":"true"}},[t._v("#")]),t._v(" cache")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("boolean|string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("true")])])]),t._v(" "),a("p",[t._v("VuePress uses "),a("a",{attrs:{href:"https://github.com/webpack-contrib/cache-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("cache-loader"),a("OutboundLink")],1),t._v(" by default to greatly speed up the compilation of webpack.")]),t._v(" "),a("p",[t._v("This option can be used to specify the path to the cache, and can also remove the cache before each build by setting it to "),a("code",[t._v("false")]),t._v(".")]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("This option can also be used through the CLI:")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("vuepress dev docs --cache .cache "),a("span",{attrs:{class:"token comment"}},[t._v("# set cache path")]),t._v("\nvuepress dev docs --no-cache "),a("span",{attrs:{class:"token comment"}},[t._v("# remove cache before each build.")]),t._v("\n")])])])]),t._v(" "),a("h2",{attrs:{id:"styling"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#styling","aria-hidden":"true"}},[t._v("#")]),t._v(" Styling")]),t._v(" "),a("h3",{attrs:{id:"palette-styl"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#palette-styl","aria-hidden":"true"}},[t._v("#")]),t._v(" palette.styl")]),t._v(" "),a("p",[t._v("If you wish to apply simple color overrides to the styling of the "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/@vuepress/core/lib/app/style/config.styl",target:"_blank",rel:"noopener noreferrer"}},[t._v("default preset"),a("OutboundLink")],1),t._v(" or define some color variables for using later, you can create an "),a("code",[t._v(".vuepress/styles/palette.styl")]),t._v(" file.")]),t._v(" "),a("p",[t._v("There are a few color variables you can tweak:")]),t._v(" "),a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// showing default values")]),t._v("\n"),a("span",{attrs:{class:"token variable-declaration"}},[a("span",{attrs:{class:"token variable"}},[t._v("$accentColor")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token hexcode"}},[t._v("#3eaf7c")])]),t._v("\n"),a("span",{attrs:{class:"token variable-declaration"}},[a("span",{attrs:{class:"token variable"}},[t._v("$textColor")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token hexcode"}},[t._v("#2c3e50")])]),t._v("\n"),a("span",{attrs:{class:"token variable-declaration"}},[a("span",{attrs:{class:"token variable"}},[t._v("$borderColor")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token hexcode"}},[t._v("#eaecef")])]),t._v("\n"),a("span",{attrs:{class:"token variable-declaration"}},[a("span",{attrs:{class:"token variable"}},[t._v("$codeBgColor")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token hexcode"}},[t._v("#282c34")])]),t._v("\n")])])]),a("div",{staticClass:"danger custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),a("p",[t._v("You should ONLY write color variables in this file. since "),a("code",[t._v("palette.styl")]),t._v(" will be imported at the end of the root stylus config file, as a config, it will be used by multiple files, so once you wrote styles here, your style would be duplicated by multiple times.")])]),t._v(" "),a("h3",{attrs:{id:"index-styl"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index-styl","aria-hidden":"true"}},[t._v("#")]),t._v(" index.styl")]),t._v(" "),a("p",[t._v("VuePress provides a convenient way to add extra styles. you can create an "),a("code",[t._v(".vuepress/styles/index.styl")]),t._v(" file for that. This is a "),a("a",{attrs:{href:"http://stylus-lang.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Stylus"),a("OutboundLink")],1),t._v(" file but you can use normal CSS syntax as well.")]),t._v(" "),a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{attrs:{class:"token selector"}},[t._v(".content "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")])]),t._v("\n "),a("span",{attrs:{class:"token property-declaration"}},[a("span",{attrs:{class:"token property"}},[t._v("font-size")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("30")]),t._v("px")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[a("strong",[t._v("Also see:")])]),t._v(" "),a("ul",[a("li",[a("router-link",{attrs:{to:"./../faq/#why-can-t-palette-styl-and-index-styl-merge-into-one-api"}},[t._v("Why can't "),a("code",[t._v("palette.styl")]),t._v(" and "),a("code",[t._v("index.styl")]),t._v(" merge into one API?")])],1)]),t._v(" "),a("h2",{attrs:{id:"theming"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#theming","aria-hidden":"true"}},[t._v("#")]),t._v(" Theming")]),t._v(" "),a("h3",{attrs:{id:"theme"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#theme","aria-hidden":"true"}},[t._v("#")]),t._v(" theme")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("Specify this to use a custom theme.")]),t._v(" "),a("p",[a("strong",[t._v("Also see:")])]),t._v(" "),a("ul",[a("li",[a("router-link",{attrs:{to:"./../theme/using-a-theme.html"}},[t._v("Using a theme")]),t._v(".")],1)]),t._v(" "),a("h3",{attrs:{id:"themeconfig"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#themeconfig","aria-hidden":"true"}},[t._v("#")]),t._v(" themeConfig")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Object")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("{}")])])]),t._v(" "),a("p",[t._v("Provide config options to the used theme. The options will vary depending on the theme you are using.")]),t._v(" "),a("p",[a("strong",[t._v("Also see:")])]),t._v(" "),a("ul",[a("li",[a("router-link",{attrs:{to:"./../theme/default-theme-config.html"}},[t._v("Default Theme Configuration")]),t._v(".")],1)]),t._v(" "),a("h2",{attrs:{id:"pluggable"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#pluggable","aria-hidden":"true"}},[t._v("#")]),t._v(" Pluggable")]),t._v(" "),a("h3",{attrs:{id:"plugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugins","aria-hidden":"true"}},[t._v("#")]),t._v(" plugins")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Object|Array")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("Please refer to "),a("router-link",{attrs:{to:"./../plugin/using-a-plugin.html"}},[t._v("Plugin > Using a plugin")]),t._v(" to learn how to use a plugin.")],1),t._v(" "),a("h2",{attrs:{id:"markdown"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#markdown","aria-hidden":"true"}},[t._v("#")]),t._v(" Markdown")]),t._v(" "),a("h3",{attrs:{id:"markdown-linenumbers"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#markdown-linenumbers","aria-hidden":"true"}},[t._v("#")]),t._v(" markdown.lineNumbers")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("boolean")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("Whether to show line numbers to the left of each code blocks.")]),t._v(" "),a("p",[a("strong",[t._v("Also see:")])]),t._v(" "),a("ul",[a("li",[a("router-link",{attrs:{to:"./../guide/markdown.html#line-numbers"}},[t._v("Line Numbers")])],1)]),t._v(" "),a("h3",{attrs:{id:"markdown-slugify"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#markdown-slugify","aria-hidden":"true"}},[t._v("#")]),t._v(" markdown.slugify")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("Default: "),a("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/shared-utils/lib/slugify.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("source"),a("OutboundLink")],1)])]),t._v(" "),a("p",[t._v("Function for transforming "),a("router-link",{attrs:{to:"./../miscellaneous/glossary.html#headers"}},[t._v("header")]),t._v(" texts into slugs. Changing this affects the ids/links generated for header anchors, "),a("router-link",{attrs:{to:"./../guide/markdown.html#table-of-contents"}},[t._v("table of contents")]),t._v(" and "),a("router-link",{attrs:{to:"./../theme/default-theme-config.html#sidebar"}},[t._v("sidebar")]),t._v(" links.")],1),t._v(" "),a("h3",{attrs:{id:"markdown-anchor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#markdown-anchor","aria-hidden":"true"}},[t._v("#")]),t._v(" markdown.anchor")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Object")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("{ permalink: true, permalinkBefore: true, permalinkSymbol: '#' }")])])]),t._v(" "),a("p",[t._v("Options for "),a("a",{attrs:{href:"https://github.com/valeriangalliat/markdown-it-anchor",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it-anchor"),a("OutboundLink")],1),t._v(". (Note: prefer "),a("code",[t._v("markdown.slugify")]),t._v(" if you want to customize header ids.)")]),t._v(" "),a("h3",{attrs:{id:"markdown-externallinks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#markdown-externallinks","aria-hidden":"true"}},[t._v("#")]),t._v(" markdown.externalLinks")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Object")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("{ target: '_blank', rel: 'noopener noreferrer' }")])])]),t._v(" "),a("p",[t._v("The key and value pair will be added to "),a("code",[t._v("<a>")]),t._v(" tags that points to an external link. The default option will open external links in a new window.")]),t._v(" "),a("h3",{attrs:{id:"markdown-toc"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#markdown-toc","aria-hidden":"true"}},[t._v("#")]),t._v(" markdown.toc")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Object")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("{ includeLevel: [2, 3] }")])])]),t._v(" "),a("p",[t._v("Options for "),a("a",{attrs:{href:"https://github.com/Oktavilla/markdown-it-table-of-contents",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it-table-of-contents"),a("OutboundLink")],1),t._v(". (Note: prefer "),a("code",[t._v("markdown.slugify")]),t._v(" if you want to customize header ids.)")]),t._v(" "),a("h3",{attrs:{id:"markdown-extendmarkdown"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#markdown-extendmarkdown","aria-hidden":"true"}},[t._v("#")]),t._v(" markdown.extendMarkdown")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("A function to modify default config or apply additional plugins to the "),a("a",{attrs:{href:"https://github.com/markdown-it/markdown-it",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it"),a("OutboundLink")],1),t._v(" instance used to render source files. e.g.")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n markdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n extendMarkdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" md "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n md"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("set")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" breaks"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n md"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("use")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'markdown-it-xxx'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("This option is also included in "),a("router-link",{attrs:{to:"./../plugin/option-api.html#extendmarkdown"}},[t._v("Plugin API")]),t._v(".")],1)]),t._v(" "),a("h2",{attrs:{id:"build-pipeline"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#build-pipeline","aria-hidden":"true"}},[t._v("#")]),t._v(" Build Pipeline")]),t._v(" "),a("h3",{attrs:{id:"postcss"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#postcss","aria-hidden":"true"}},[t._v("#")]),t._v(" postcss")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Object")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("{ plugins: [require('autoprefixer')] }")])])]),t._v(" "),a("p",[t._v("Options for "),a("a",{attrs:{href:"https://github.com/postcss/postcss-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("postcss-loader"),a("OutboundLink")],1),t._v(". Note specifying this value will overwrite autoprefixer and you will need to include it yourself.")]),t._v(" "),a("h3",{attrs:{id:"stylus"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stylus","aria-hidden":"true"}},[t._v("#")]),t._v(" stylus")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Object")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("{ preferPathResolver: 'webpack' }")])])]),t._v(" "),a("p",[t._v("Options for "),a("a",{attrs:{href:"https://github.com/shama/stylus-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("stylus-loader"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("h3",{attrs:{id:"scss"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scss","aria-hidden":"true"}},[t._v("#")]),t._v(" scss")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Object")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("{}")])])]),t._v(" "),a("p",[t._v("Options for "),a("a",{attrs:{href:"https://github.com/webpack-contrib/sass-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("sass-loader"),a("OutboundLink")],1),t._v(" to load "),a("code",[t._v("*.scss")]),t._v(" files.")]),t._v(" "),a("h3",{attrs:{id:"sass"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sass","aria-hidden":"true"}},[t._v("#")]),t._v(" sass")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Object")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("{ indentedSyntax: true }")])])]),t._v(" "),a("p",[t._v("Options for "),a("a",{attrs:{href:"https://github.com/webpack-contrib/sass-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("sass-loader"),a("OutboundLink")],1),t._v(" to load "),a("code",[t._v("*.sass")]),t._v(" files.")]),t._v(" "),a("h3",{attrs:{id:"less"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#less","aria-hidden":"true"}},[t._v("#")]),t._v(" less")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Object")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("{}")])])]),t._v(" "),a("p",[t._v("Options for "),a("a",{attrs:{href:"https://github.com/webpack-contrib/less-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("less-loader"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("h3",{attrs:{id:"configurewebpack"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configurewebpack","aria-hidden":"true"}},[t._v("#")]),t._v(" configureWebpack")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Object | Function")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("Modify the internal webpack config. If the value is an Object, it will be merged into the final config using "),a("a",{attrs:{href:"https://github.com/survivejs/webpack-merge",target:"_blank",rel:"noopener noreferrer"}},[t._v("webpack-merge"),a("OutboundLink")],1),t._v("; If the value is a function, it will receive the config as the 1st argument and an "),a("code",[t._v("isServer")]),t._v(" flag as the 2nd argument. You can either mutate the config directly, or return an object to be merged:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n configureWebpack"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" isServer"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token operator"}},[t._v("!")]),t._v("isServer"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// mutate the config for client")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h3",{attrs:{id:"chainwebpack"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chainwebpack","aria-hidden":"true"}},[t._v("#")]),t._v(" chainWebpack")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("Modify the internal webpack config with "),a("a",{attrs:{href:"https://github.com/mozilla-neutrino/webpack-chain",target:"_blank",rel:"noopener noreferrer"}},[t._v("webpack-chain"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n chainWebpack"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" isServer"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// config is an instance of ChainableConfig")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"browser-compatibility"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#browser-compatibility","aria-hidden":"true"}},[t._v("#")]),t._v(" Browser Compatibility")]),t._v(" "),a("h3",{attrs:{id:"evergreen"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#evergreen","aria-hidden":"true"}},[t._v("#")]),t._v(" evergreen")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("boolean")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("false")])])]),t._v(" "),a("p",[t._v("Set to "),a("code",[t._v("true")]),t._v(" if you are only targeting evergreen browsers. This will disable ES5 transpilation and polyfills for IE, and result in faster builds and smaller files.")])],1)},[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/81.95ebb7bf.js b/vuepress/assets/js/81.95ebb7bf.js new file mode 100644 index 0000000000..1309966a2a --- /dev/null +++ b/vuepress/assets/js/81.95ebb7bf.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[81],{278:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},o=a(5),e=Object(o.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"option-api"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#option-api","aria-hidden":"true"}},[t._v("#")]),t._v(" Option API")]),t._v(" "),a("h2",{attrs:{id:"name"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#name","aria-hidden":"true"}},[t._v("#")]),t._v(" name")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("Default: undefined")])]),t._v(" "),a("p",[t._v("The name of the plugin.")]),t._v(" "),a("p",[t._v("Internally, vuepress will use the plugin's package name as the plugin name. When your plugin is a local plugin (i.e. using a pure plugin function directly), please be sure to configure this option, that is good for debug tracking.")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("pluginOptions"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'my-xxx-plugin'")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ... the rest of options")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"plugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugins","aria-hidden":"true"}},[t._v("#")]),t._v(" plugins")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("array")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("A plugin can contain multiple plugins like a preset.")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// A plugin")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'tag'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'category'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"chainwebpack"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chainwebpack","aria-hidden":"true"}},[t._v("#")]),t._v(" chainWebpack")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("Default: undefined")])]),t._v(" "),a("p",[t._v("Modify the internal webpack config with "),a("a",{attrs:{href:"https://github.com/mozilla-neutrino/webpack-chain",target:"_blank",rel:"noopener noreferrer"}},[t._v("webpack-chain"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("chainWebpack")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" isServer"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// config is an instance of ChainableConfig")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("Since VuePress is a Vue-SSR based application, there will be two webpack configurations, "),a("code",[t._v("isServer")]),t._v(" is used to determine whether the current webpack config is applied to the server or client.")]),t._v(" "),a("p",[a("strong",[t._v("Also see:")])]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://ssr.vuejs.org/guide/build-config.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("Vue SSR > Build Configuration"),a("OutboundLink")],1)])])]),t._v(" "),a("h2",{attrs:{id:"define"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#define","aria-hidden":"true"}},[t._v("#")]),t._v(" define")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Object|Function")])]),t._v(" "),a("li",[t._v("Default: undefined")])]),t._v(" "),a("p",[t._v("Since using "),a("a",{attrs:{href:"https://webpack.js.org/plugins/define-plugin/",target:"_blank",rel:"noopener noreferrer"}},[t._v("DefinePlugin"),a("OutboundLink")],1),t._v(" via "),a("a",{attrs:{href:"#chainwebpack"}},[t._v("chainWebpack")]),t._v(" would be a little complicated:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("chainWebpack")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n config"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("plugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'injections'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("tap")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n Object"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("assign")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token constant"}},[t._v("SW_BASE_URL")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token constant"}},[t._v("JSON")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("stringify")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("VuePress specifically opened up a more concise "),a("code",[t._v("define")]),t._v(" option, note that the values has been automatically processed by "),a("code",[t._v("JSON.stringify")]),t._v(".")]),t._v(" "),a("ul",[a("li",[t._v("Object Usage:")])]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n define"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token constant"}},[t._v("SW_BASE_URL")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("ul",[a("li",[t._v("Function Usage:")])]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("define")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token constant"}},[t._v("SW_BASE_URL")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("base "),a("span",{attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token constant"}},[t._v("SW_ENABLED")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("!")]),a("span",{attrs:{class:"token operator"}},[t._v("!")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("enabled"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h2",{attrs:{id:"alias"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#alias","aria-hidden":"true"}},[t._v("#")]),t._v(" alias")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Object|Function")])]),t._v(" "),a("li",[t._v("Default: undefined")])]),t._v(" "),a("p",[t._v("We can set aliases via "),a("a",{attrs:{href:"#chainwebpack"}},[t._v("chainWebpack")]),t._v(":")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("chainWebpack")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n config"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("resolve"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("alias"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("set")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'@theme'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("themePath"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("p",[t._v("But "),a("code",[t._v("alias")]),t._v(" option makes this process more like configuration:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n alias"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'@theme'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("themePath\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h2",{attrs:{id:"enhancedevserver"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#enhancedevserver","aria-hidden":"true"}},[t._v("#")]),t._v(" enhanceDevServer")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("Default: undefined")])]),t._v(" "),a("p",[t._v("Enhance the underlying "),a("a",{attrs:{href:"https://github.com/koajs/koa",target:"_blank",rel:"noopener noreferrer"}},[t._v("Koa"),a("OutboundLink")],1),t._v(" app.")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("enhanceDevServer")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("app"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("A simple plugin to create a sub public directory is as follows:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" path "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'path'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" imagesAssetsPath "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" path"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("resolve")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("sourceDir"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'.vuepress/images'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// For development")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("enhanceDevServer")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("app"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" mount "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'koa-mount'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" serveStatic "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'koa-static'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n app"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("use")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token function"}},[t._v("mount")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("path"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("join")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("base"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'images'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("serveStatic")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("imagesAssetsPath"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// For production")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("generated")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" fs "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/shared-utils'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("await")]),t._v(" fs"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("copy")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("imagesAssetsPath"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" path"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("resolve")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("outDir"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'images'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"extendmarkdown"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#extendmarkdown","aria-hidden":"true"}},[t._v("#")]),t._v(" extendMarkdown")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("A function to modify default config or apply additional plugins to the "),a("a",{attrs:{href:"https://github.com/markdown-it/markdown-it",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it"),a("OutboundLink")],1),t._v(" instance used to render source files. Example:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n extendMarkdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" md "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n md"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("set")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" breaks"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n md"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("use")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'markdown-it-xxx'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"chainmarkdown"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chainmarkdown","aria-hidden":"true"}},[t._v("#")]),t._v(" chainMarkdown")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("Modify the internal markdown config with "),a("a",{attrs:{href:"https://github.com/ulivz/markdown-it-chain",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it-chain"),a("OutboundLink")],1),t._v(" —— A chaining API like "),a("a",{attrs:{href:"https://github.com/mozilla-neutrino/webpack-chain",target:"_blank",rel:"noopener noreferrer"}},[t._v("webpack-chain"),a("OutboundLink")],1),t._v(" but for "),a("a",{attrs:{href:"https://github.com/markdown-it/markdown-it",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("chainMarkdown")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// Interact with 'options' in new MarkdownIt")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// Ref: https://markdown-it.github.io/markdown-it/#MarkdownIt.new")]),t._v("\n config\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("link")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("breaks")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// Modify the arguments of internal plugin.")]),t._v("\n config\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("plugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'anchor'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("tap")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n Object"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("assign")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" permalinkSymbol"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'#'")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// Add extra markdown-it plugin")]),t._v("\n config\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("plugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'sup'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("use")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'markdown-it-sup'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// Remove internal plugin")]),t._v("\n config"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("delete")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'snippet'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[a("strong",[t._v("Also see:")])]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/%40vuepress/markdown/index.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("Internal markdown-it plugins in VuePress"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/neutrinojs/webpack-chain#config-plugins",target:"_blank",rel:"noopener noreferrer"}},[t._v("Config plugins"),a("OutboundLink")],1)])]),t._v(" "),a("h2",{attrs:{id:"enhanceappfiles"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#enhanceappfiles","aria-hidden":"true"}},[t._v("#")]),t._v(" enhanceAppFiles")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Array | AsyncFunction")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("This option accepts an array containing the file paths, or a function that returns this array, which allows you to do some "),a("router-link",{attrs:{to:"./../guide/basic-config.html#theme-configuration"}},[t._v("App Level Enhancements")]),t._v(".")],1),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n enhanceAppFiles"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n path"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("resolve")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("__dirname"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'client.js'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("The file can "),a("code",[t._v("export default")]),t._v(" a hook function which will work like "),a("code",[t._v(".vuepress/enhanceApp.js")]),t._v(", or any client side code snippets.")]),t._v(" "),a("p",[t._v("It's worth mentioning that in order for plugin developers to be able to do more things at compile time, this option also supports dynamic code:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("option"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n enhanceAppFiles"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'dynamic-code'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n content"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token template-string"}},[a("span",{attrs:{class:"token string"}},[t._v("`export default ({ Vue }) => { Vue.mixin('$source', '")]),a("span",{attrs:{class:"token interpolation"}},[a("span",{attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("sourceDir"),a("span",{attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),a("span",{attrs:{class:"token string"}},[t._v("') }`")])]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"clientdynamicmodules"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#clientdynamicmodules","aria-hidden":"true"}},[t._v("#")]),t._v(" clientDynamicModules")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("Sometimes, you may want to generate some client modules at compile time.")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("clientDynamicModules")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'constans.js'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n content"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token template-string"}},[a("span",{attrs:{class:"token string"}},[t._v("`export const SOURCE_DIR = '")]),a("span",{attrs:{class:"token interpolation"}},[a("span",{attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("sourceDir"),a("span",{attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),a("span",{attrs:{class:"token string"}},[t._v("'`")])]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("p",[t._v("Then you can use this module at client side code by:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{attrs:{class:"token constant"}},[t._v("SOURCE_DIR")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'@dynamic/constans'")]),t._v("\n")])])]),a("h2",{attrs:{id:"extendpagedata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#extendpagedata","aria-hidden":"true"}},[t._v("#")]),t._v(" extendPageData")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("A function used to extend or modify the "),a("router-link",{attrs:{to:"./../guide/global-computed.html#page"}},[t._v("$page")]),t._v(" object. This function will be invoking once for each page at compile time.")],1),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("extendPageData")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("$page"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n _filePath"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// file's absolute path")]),t._v("\n _computed"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// access the client global computed mixins at build time, e.g _computed.$localePath.")]),t._v("\n _content"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// file's raw content string")]),t._v("\n _strippedContent"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// file's content string without frontmatter")]),t._v("\n key"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// page's unique hash key")]),t._v("\n frontmatter"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// page's frontmatter object")]),t._v("\n regularPath"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// current page's default link (follow the file hierarchy)")]),t._v("\n path"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// current page's real link (use regularPath when permalink does not exist)")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" $page\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 1. Add extra fields.")]),t._v("\n page"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("xxx "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'xxx'")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 2. Change frontmatter.")]),t._v("\n frontmatter"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("sidebar "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'auto'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),a("p",[t._v("These fields starting with an "),a("code",[t._v("_")]),t._v(" means you can only access them during build time.")])]),t._v(" "),a("p",[t._v("e.g.")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("extendPageData")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("$page"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n $page"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("size "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("$page"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("content"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("length "),a("span",{attrs:{class:"token operator"}},[t._v("/")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("1024")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("toFixed")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token number"}},[t._v("2")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("+")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'kb'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("Then you can use this value via "),a("code",[t._v("this.$page.size")]),t._v(" in any Vue component.")]),t._v(" "),a("h2",{attrs:{id:"clientrootmixin"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#clientrootmixin","aria-hidden":"true"}},[t._v("#")]),t._v(" clientRootMixin")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("String")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("A path to the mixin file which allow you to control the life cycle of root component.")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// plugin's entry")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" path "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'path'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n clientRootMixin"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" path"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("resolve")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("__dirname"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'mixin.js'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// mixin.js")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("created")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("mounted")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"additionalpages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#additionalpages","aria-hidden":"true"}},[t._v("#")]),t._v(" additionalPages")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Array|Function")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("Add a page pointing to a markdown file:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" path "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'path'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n additionalPages"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n path"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/readme/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n filePath"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" path"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("resolve")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("__dirname"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'../../README.md'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("Add a page with explicit content:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("additionalPages")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" rp "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'request-promise'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// VuePress doesn't have request library built-in")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// you need to install it yourself.")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" content "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("rp")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n path"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/readme/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n content\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("Add a pure route:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n additionalPages"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n path"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/alpha/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n frontmatter"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n layout"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'MyLayout'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"globaluicomponents"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#globaluicomponents","aria-hidden":"true"}},[t._v("#")]),t._v(" globalUIComponents")]),t._v(" "),a("ul",[a("li",[t._v("Type: "),a("code",[t._v("Array|String")])]),t._v(" "),a("li",[t._v("Default: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("You might want to inject some global UI fixed somewhere on the page, e.g. "),a("code",[t._v("back-to-top")]),t._v(", "),a("code",[t._v("popup")]),t._v(". In VuePress, "),a("strong",[t._v("a global UI is a Vue component")]),t._v(", you can directly define the component's name(s) in this option, e.g.")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n globalUIComponents"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'Component-1'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'Component-2'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("Then, VuePress will automatically inject these components behind the layout component:")]),t._v(" "),a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{attrs:{class:"token attr-name"}},[t._v("id")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("app"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("theme-container"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v(" ... "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("\x3c!-- Layout Component --\x3e")]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("global-ui"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Component-1")]),a("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Component-2")]),a("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])])])},[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/82.230a5beb.js b/vuepress/assets/js/82.230a5beb.js new file mode 100644 index 0000000000..f5e6ea05f4 --- /dev/null +++ b/vuepress/assets/js/82.230a5beb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[82],{279:function(t,a,s){"use strict";s.r(a);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=s(5),o=Object(e.a)(n,function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[s("h1",{attrs:{id:"default-theme-config"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#default-theme-config","aria-hidden":"true"}},[t._v("#")]),t._v(" Default Theme Config")]),t._v(" "),s("Bit"),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("All options listed on this page apply to the default theme only. If you are using a custom theme, the options may be different.")])]),t._v(" "),s("h2",{attrs:{id:"homepage"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#homepage","aria-hidden":"true"}},[t._v("#")]),t._v(" Homepage")]),t._v(" "),s("p",[t._v("The default theme provides a homepage layout (which is used on "),s("router-link",{attrs:{to:"./../"}},[t._v("the homepage of this very website")]),t._v("). To use it, specify "),s("code",[t._v("home: true")]),t._v(" plus some other metadata in your root "),s("code",[t._v("README.md")]),t._v("'s "),s("router-link",{attrs:{to:"./../guide/markdown.html#front-matter"}},[t._v("YAML front matter")]),t._v(". This is the actual data used on this site:")],1),t._v(" "),s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("home")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean important"}},[t._v("true")]),t._v("\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("heroImage")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" /hero.png\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("actionText")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Get Started →\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("actionLink")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" /guide/\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("features")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),s("span",{attrs:{class:"token key atrule"}},[t._v("title")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Simplicity First\n "),s("span",{attrs:{class:"token key atrule"}},[t._v("details")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Minimal setup with markdown"),s("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("centered project structure helps you focus on writing.\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),s("span",{attrs:{class:"token key atrule"}},[t._v("title")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Vue"),s("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("Powered\n "),s("span",{attrs:{class:"token key atrule"}},[t._v("details")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Enjoy the dev experience of Vue + webpack"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" use Vue components in markdown"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" and develop custom themes with Vue.\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),s("span",{attrs:{class:"token key atrule"}},[t._v("title")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Performant\n "),s("span",{attrs:{class:"token key atrule"}},[t._v("details")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" VuePress generates pre"),s("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("rendered static HTML for each page"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" and runs as an SPA once a page is loaded.\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("footer")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" MIT Licensed "),s("span",{attrs:{class:"token punctuation"}},[t._v("|")]),t._v(" Copyright © 2018"),s("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("present Evan You\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),s("p",[t._v("Any additional content after the "),s("code",[t._v("YAML front matter")]),t._v(" will be parsed as normal markdown and rendered after the features section.")]),t._v(" "),s("p",[t._v("If you want to use a completely custom homepage layout, you can also use a "),s("a",{attrs:{href:"#custom-layout-for-specific-pages"}},[t._v("Custom Layout")]),t._v(".")]),t._v(" "),s("h2",{attrs:{id:"navbar"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#navbar","aria-hidden":"true"}},[t._v("#")]),t._v(" Navbar")]),t._v(" "),s("p",[t._v("The Navbar may contain your page title, "),s("a",{attrs:{href:"#search-box"}},[t._v("Search Box")]),t._v(", "),s("a",{attrs:{href:"#navbar-links"}},[t._v("Navbar Links")]),t._v(", "),s("router-link",{attrs:{to:"./../guide/i18n.html"}},[t._v("Languages")]),t._v(" and "),s("a",{attrs:{href:"#git-repo-and-edit-links"}},[t._v("Repository Link")]),t._v(", all of them depends on your configuration.")],1),t._v(" "),s("h3",{attrs:{id:"navbar-links"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#navbar-links","aria-hidden":"true"}},[t._v("#")]),t._v(" Navbar Links")]),t._v(" "),s("p",[t._v("You can add links to the navbar via "),s("code",[t._v("themeConfig.nav")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n nav"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Home'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'/'")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Guide'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'/guide/'")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'External'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'https://google.com'")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("These links can also be dropdown menus if you provide an array of "),s("code",[t._v("items")]),t._v(" instead of a "),s("code",[t._v("link")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n nav"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n text"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Languages'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n items"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Chinese'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'/language/chinese/'")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Japanese'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'/language/japanese/'")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("In addition, you can have sub groups inside a dropdown by having nested items:")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n nav"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n text"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Languages'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n items"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Group1'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" items"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{attrs:{class:"token comment"}},[t._v("/* */")]),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Group2'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" items"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{attrs:{class:"token comment"}},[t._v("/* */")]),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h3",{attrs:{id:"disable-the-navbar"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#disable-the-navbar","aria-hidden":"true"}},[t._v("#")]),t._v(" Disable the Navbar")]),t._v(" "),s("p",[t._v("To disable the navbar globally, use "),s("code",[t._v("themeConfig.navbar")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n navbar"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("You can disable the navbar for a specific page via "),s("code",[t._v("YAML front matter")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("navbar")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean important"}},[t._v("false")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),s("h2",{attrs:{id:"sidebar"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#sidebar","aria-hidden":"true"}},[t._v("#")]),t._v(" Sidebar")]),t._v(" "),s("p",[t._v("To enable the sidebar, use "),s("code",[t._v("themeConfig.sidebar")]),t._v(". The basic configuration expects an Array of links:")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sidebar"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'/'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'/page-a'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{attrs:{class:"token string"}},[t._v("'/page-b'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Explicit link text'")]),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("You can omit the "),s("code",[t._v(".md")]),t._v(" extension, and paths ending with "),s("code",[t._v("/")]),t._v(" are inferred as "),s("code",[t._v("*/README.md")]),t._v(". The text for the link is automatically inferred (either from the first header in the page or explicit title in "),s("code",[t._v("YAML front matter")]),t._v("). If you wish to explicitly specify the link text, use an Array in form of "),s("code",[t._v("[link, text]")]),t._v(".")]),t._v(" "),s("h3",{attrs:{id:"nested-header-links"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#nested-header-links","aria-hidden":"true"}},[t._v("#")]),t._v(" Nested Header Links")]),t._v(" "),s("p",[t._v("The sidebar automatically displays links for headers in the current active page, nested under the link for the page itself. You can customize this behavior using "),s("code",[t._v("themeConfig.sidebarDepth")]),t._v(". The default depth is "),s("code",[t._v("1")]),t._v(", which extracts the "),s("code",[t._v("h2")]),t._v(" headers. Setting it to "),s("code",[t._v("0")]),t._v(" disables the header links, and the max value is "),s("code",[t._v("2")]),t._v(" which extracts both "),s("code",[t._v("h2")]),t._v(" and "),s("code",[t._v("h3")]),t._v(" headers.")]),t._v(" "),s("p",[t._v("A page can also override this value via "),s("code",[t._v("YAML front matter")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-md extra-class"},[s("pre",{pre:!0,attrs:{class:"language-md"}},[s("code",[s("span",{attrs:{class:"token hr punctuation"}},[t._v("---")]),t._v("\n"),s("span",{attrs:{class:"token title important"}},[t._v("sidebarDepth: 2\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("---")])]),t._v("\n")])])]),s("h3",{attrs:{id:"displaying-header-links-of-all-pages"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#displaying-header-links-of-all-pages","aria-hidden":"true"}},[t._v("#")]),t._v(" Displaying Header Links of All Pages "),s("Badge",{attrs:{text:"0.11.0+"}})],1),t._v(" "),s("p",[t._v("The sidebar only displays links for headers in the current active page. You can display all header links for every page with "),s("code",[t._v("themeConfig.displayAllHeaders: true")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n displayAllHeaders"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("// Default: false")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h3",{attrs:{id:"extract-headers"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#extract-headers","aria-hidden":"true"}},[t._v("#")]),t._v(" Extract Headers")]),t._v(" "),s("p",[t._v("While preparing the page, headers are extracted from the markdown file and stored in "),s("code",[t._v("this.$page.headers")]),t._v(". By default, VuePress will extract "),s("code",[t._v("h2")]),t._v(" and "),s("code",[t._v("h3")]),t._v(" elements for you.")]),t._v(" "),s("p",[t._v("You can override the headers it pulls out in your "),s("code",[t._v("markdown")]),t._v(" options.")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n markdown"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n extractHeaders"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'h2'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'h3'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'h4'")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h3",{attrs:{id:"active-header-links"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#active-header-links","aria-hidden":"true"}},[t._v("#")]),t._v(" Active Header Links")]),t._v(" "),s("p",[t._v("By default, the nested header links and the hash in the URL are updated as the user scrolls to view the different sections of the page. This behavior can be disabled with the following theme config:")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n activeHeaderLinks"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean"}},[t._v("false")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("// Default: true")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("It is worth mentioning that when you disable this option, the corresponding script of this functionality will not be loaded. This is a small point in our performance optimization.")])]),t._v(" "),s("h3",{attrs:{id:"sidebar-groups"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#sidebar-groups","aria-hidden":"true"}},[t._v("#")]),t._v(" Sidebar Groups")]),t._v(" "),s("p",[t._v("You can divide sidebar links into multiple groups by using objects:")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sidebar"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n title"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Group 1'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n collapsable"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean"}},[t._v("false")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n children"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'/'")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n title"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Group 2'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n children"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("/* ... */")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("Sidebar groups are collapsable by default. You can force a group to be always open with "),s("code",[t._v("collapsable: false")]),t._v(".")]),t._v(" "),s("h3",{attrs:{id:"multiple-sidebars"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#multiple-sidebars","aria-hidden":"true"}},[t._v("#")]),t._v(" Multiple Sidebars")]),t._v(" "),s("p",[t._v("If you wish to display different sidebars for different sections of content, first organize your pages into directories for each desired section:")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v(".\n├─ README.md\n├─ contact.md\n├─ about.md\n├─ foo/\n│  ├─ README.md\n│ ├─ one.md\n│ └─ two.md\n└─ bar/\n ├─ README.md\n ├─ three.md\n └─ four.md\n")])])]),s("p",[t._v("Then, update your configuration to define your sidebar for each section.")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sidebar"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'/foo/'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("''")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("/* /foo/ */")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'one'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("/* /foo/one.html */")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'two'")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("/* /foo/two.html */")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),s("span",{attrs:{class:"token string"}},[t._v("'/bar/'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("''")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("/* /bar/ */")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'three'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("/* /bar/three.html */")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'four'")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("/* /bar/four.html */")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),s("span",{attrs:{class:"token comment"}},[t._v("// fallback")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'/'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("''")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("/* / */")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'contact'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("/* /contact.html */")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'about'")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("/* /about.html */")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("Make sure to define the fallback configuration last.")]),t._v(" "),s("p",[t._v("VuePress checks each sidebar config from top to bottom. If the fallback configuration was first, VuePress would incorrectly match "),s("code",[t._v("/foo/")]),t._v(" or "),s("code",[t._v("/bar/four.html")]),t._v(" because they both start with "),s("code",[t._v("/")]),t._v(".")])]),t._v(" "),s("h3",{attrs:{id:"auto-sidebar-for-single-pages"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#auto-sidebar-for-single-pages","aria-hidden":"true"}},[t._v("#")]),t._v(" Auto Sidebar for Single Pages")]),t._v(" "),s("p",[t._v("If you wish to automatically generate a sidebar that contains only the header links for the current page, you can use "),s("code",[t._v("YAML front matter")]),t._v(" on that page:")]),t._v(" "),s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("sidebar")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" auto\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),s("p",[t._v("You can also enable it in all pages by using config:")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sidebar"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'auto'")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("In "),s("router-link",{attrs:{to:"./../guide/i18n.html"}},[t._v("multi-language")]),t._v(" mode, you can also apply it to a specific locale:")],1),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token string"}},[t._v("'/'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sidebar"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'auto'")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h3",{attrs:{id:"disabling-the-sidebar"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#disabling-the-sidebar","aria-hidden":"true"}},[t._v("#")]),t._v(" Disabling the Sidebar")]),t._v(" "),s("p",[t._v("You can disable the sidebar on a specific page with "),s("code",[t._v("YAML front matter")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("sidebar")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean important"}},[t._v("false")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),s("h2",{attrs:{id:"search-box"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#search-box","aria-hidden":"true"}},[t._v("#")]),t._v(" Search Box")]),t._v(" "),s("h3",{attrs:{id:"built-in-search"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#built-in-search","aria-hidden":"true"}},[t._v("#")]),t._v(" Built-in Search")]),t._v(" "),s("p",[t._v("You can disable the built-in search box with "),s("code",[t._v("themeConfig.search: false")]),t._v(", and customize how many suggestions will be shown with "),s("code",[t._v("themeConfig.searchMaxSuggestions")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n search"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean"}},[t._v("false")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n searchMaxSuggestions"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token number"}},[t._v("10")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("Built-in Search only builds index from the title, "),s("code",[t._v("h2")]),t._v(" and "),s("code",[t._v("h3")]),t._v(" headers, if you need full text search, you can use "),s("a",{attrs:{href:"#algolia-search"}},[t._v("Algolia Search")]),t._v(".")])]),t._v(" "),s("h3",{attrs:{id:"algolia-search"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#algolia-search","aria-hidden":"true"}},[t._v("#")]),t._v(" Algolia Search")]),t._v(" "),s("p",[t._v("The "),s("code",[t._v("themeConfig.algolia")]),t._v(" option allows you to use "),s("a",{attrs:{href:"https://community.algolia.com/docsearch/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Algolia DocSearch"),s("OutboundLink")],1),t._v(" to replace the simple built-in search. To enable it, you need to provide at least "),s("code",[t._v("apiKey")]),t._v(" and "),s("code",[t._v("indexName")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n algolia"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n apiKey"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'<API_KEY>'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n indexName"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'<INDEX_NAME>'")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),s("p",[t._v("Unlike the "),s("a",{attrs:{href:"#built-in-search"}},[t._v("built-in search")]),t._v(" engine which works out of the box, "),s("a",{attrs:{href:"https://community.algolia.com/docsearch/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Algolia DocSearch"),s("OutboundLink")],1),t._v(" requires you to submit your site to them for indexing before it starts working.")])]),t._v(" "),s("p",[t._v("For more options, refer to "),s("a",{attrs:{href:"https://github.com/algolia/docsearch#docsearch-options",target:"_blank",rel:"noopener noreferrer"}},[t._v("Algolia DocSearch's documentation"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("h2",{attrs:{id:"last-updated"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#last-updated","aria-hidden":"true"}},[t._v("#")]),t._v(" Last Updated")]),t._v(" "),s("p",[t._v("The "),s("code",[t._v("themeConfig.lastUpdated")]),t._v(" option allows you to get the UNIX timestamp(ms) of each file's last "),s("code",[t._v("git")]),t._v(" commit, and it will also display at the bottom of each page in an appropriate format:")]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n lastUpdated"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Last Updated'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("// string | boolean")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("Note that it's "),s("code",[t._v("off")]),t._v(" by default. If given a "),s("code",[t._v("string")]),t._v(", it will be displayed as a prefix (default value: "),s("code",[t._v("Last Updated")]),t._v(").")]),t._v(" "),s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("Since "),s("code",[t._v("lastUpdated")]),t._v(" is based on "),s("code",[t._v("git")]),t._v(", you can only use it in a "),s("code",[t._v("git")]),t._v(" repository. Also, since the timestamp used comes from the git commit, it will display only after a first commit for a given page, and update only on subsequent commits of that page.")])]),t._v(" "),s("h2",{attrs:{id:"service-worker"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#service-worker","aria-hidden":"true"}},[t._v("#")]),t._v(" Service Worker")]),t._v(" "),s("p",[t._v("The "),s("code",[t._v("themeConfig.serviceWorker")]),t._v(" option allows you to configure the service worker.")]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("Please do not confuse this option with "),s("router-link",{attrs:{to:"./../config/#serviceworker"}},[t._v("Config > serviceWorker")]),t._v(", "),s("router-link",{attrs:{to:"./../config/#serviceworker"}},[t._v("Config > serviceWorker")]),t._v(" is "),s("strong",[t._v("site-level")]),t._v(", while this option is "),s("strong",[t._v("theme-level")]),t._v(".")],1)]),t._v(" "),s("h3",{attrs:{id:"popup-ui-to-refresh-contents"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#popup-ui-to-refresh-contents","aria-hidden":"true"}},[t._v("#")]),t._v(" Popup UI to refresh contents "),s("Badge",{attrs:{text:"0.13.0+"}}),t._v(" "),s("Badge",{attrs:{text:"beta",type:"warn"}})],1),t._v(" "),s("p",[t._v("The "),s("code",[t._v("themeConfig.serviceWorker.updatePopup")]),t._v(" option enables a popup to refresh site content. The popup will be shown when the site is updated (i.e. service worker is updated). It provides a "),s("code",[t._v("refresh")]),t._v(" button to allow users to refresh contents immediately.")]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("NOTE")]),t._v(" "),s("p",[t._v("If without the "),s("code",[t._v("refresh")]),t._v(" button, the new service worker will be active after all "),s("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/Clients",target:"_blank",rel:"noopener noreferrer"}},[t._v("clients"),s("OutboundLink")],1),t._v(" are closed. This means that visitors cannot see new contents until they close all tabs of your site. But the "),s("code",[t._v("refresh")]),t._v(" button activates the new service worker immediately.")])]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("module"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n serviceWorker"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n updatePopup"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v(" "),s("span",{attrs:{class:"token comment"}},[t._v("// Boolean | Object, default to undefined.")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// If set to true, the default text config will be:")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// updatePopup: {")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v('// message: "New content is available.",')]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v('// buttonText: "Refresh"')]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// }")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"prev-next-links"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#prev-next-links","aria-hidden":"true"}},[t._v("#")]),t._v(" Prev / Next Links")]),t._v(" "),s("p",[t._v("Prev and next links are automatically inferred based on the sidebar order of the active page. You can also explicitly overwrite or disable them using "),s("code",[t._v("YAML front matter")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("prev")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ./some"),s("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("other"),s("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("page\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("next")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean important"}},[t._v("false")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),s("h2",{attrs:{id:"git-repo-and-edit-links"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#git-repo-and-edit-links","aria-hidden":"true"}},[t._v("#")]),t._v(" Git Repo and Edit Links")]),t._v(" "),s("p",[t._v("Providing "),s("code",[t._v("themeConfig.repo")]),t._v(' auto generates a GitHub link in the navbar and "Edit this page" links at the bottom of each page.')]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// Assumes GitHub. Can also be a full GitLab url.")]),t._v("\n repo"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'vuejs/vuepress'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// Customising the header label")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v('// Defaults to "GitHub"/"GitLab"/"Bitbucket" depending on `themeConfig.repo`')]),t._v("\n repoLabel"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Contribute!'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),s("span",{attrs:{class:"token comment"}},[t._v('// Optional options for generating "Edit this page" link')]),t._v("\n\n "),s("span",{attrs:{class:"token comment"}},[t._v("// if your docs are in a different repo from your main project:")]),t._v("\n docsRepo"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'vuejs/vuepress'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// if your docs are not at the root of the repo:")]),t._v("\n docsDir"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'docs'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// if your docs are in a specific branch (defaults to 'master'):")]),t._v("\n docsBranch"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'master'")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// defaults to false, set to true to enable")]),t._v("\n editLinks"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean"}},[t._v("true")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v('// custom text for edit link. Defaults to "Edit this page"')]),t._v("\n editLinkText"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'Help us improve this page!'")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("You can also hide the edit link on a specific page via "),s("code",[t._v("YAML front matter")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("editLink")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token boolean important"}},[t._v("false")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),s("h2",{attrs:{id:"custom-page-class"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#custom-page-class","aria-hidden":"true"}},[t._v("#")]),t._v(" Custom Page Class")]),t._v(" "),s("p",[t._v("Sometimes, you may need to add a unique class for a specific page so that you can target content on that page only in custom CSS. You can add a class to the theme container div with "),s("code",[t._v("pageClass")]),t._v(" in "),s("code",[t._v("YAML front matter")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("pageClass")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" custom"),s("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("page"),s("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("class\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),s("p",[t._v("Then you can write CSS targeting that page only:")]),t._v(" "),s("div",{staticClass:"language-css extra-class"},[s("pre",{pre:!0,attrs:{class:"language-css"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("/* .vuepress/override.styl */")]),t._v("\n\n"),s("span",{attrs:{class:"token selector"}},[t._v(".theme-container.custom-page-class")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("/* page-specific rules */")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"custom-layout-for-specific-pages"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#custom-layout-for-specific-pages","aria-hidden":"true"}},[t._v("#")]),t._v(" Custom Layout for Specific Pages")]),t._v(" "),s("p",[t._v("By default the content of each "),s("code",[t._v("*.md")]),t._v(" file is rendered in a "),s("code",[t._v('<div class="page">')]),t._v(" container, along with the sidebar, auto-generated edit links and prev/next links. If you wish to use a completely custom component in place of the page (while only keeping the navbar), you can again specify the component to use using "),s("code",[t._v("YAML front matter")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),s("span",{attrs:{class:"token key atrule"}},[t._v("layout")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" SpecialLayout\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),s("p",[t._v("This will render "),s("code",[t._v(".vuepress/components/SpecialLayout.vue")]),t._v(" for the given page.")]),t._v(" "),s("h2",{attrs:{id:"ejecting"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ejecting","aria-hidden":"true"}},[t._v("#")]),t._v(" Ejecting")]),t._v(" "),s("p",[t._v("You can copy the default theme source code into "),s("code",[t._v(".vuepress/theme")]),t._v(" to fully customize the theme using the "),s("code",[t._v("vuepress eject [targetDir]")]),t._v(" command. Note, however, once you eject, you are on your own and won't be receiving future updates or bug fixes to the default theme even if you upgrade VuePress.")])],1)},[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/83.ca9f99e0.js b/vuepress/assets/js/83.ca9f99e0.js new file mode 100644 index 0000000000..b09bdc702f --- /dev/null +++ b/vuepress/assets/js/83.ca9f99e0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[83],{280:function(t,a,e){"use strict";e.r(a);var s={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},r=e(5),n=Object(r.a)(s,function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[e("h1",{attrs:{id:"配置"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 配置")]),t._v(" "),e("h2",{attrs:{id:"基本配置"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#基本配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 基本配置")]),t._v(" "),e("h3",{attrs:{id:"base"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#base","aria-hidden":"true"}},[t._v("#")]),t._v(" base")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("/")])])]),t._v(" "),e("p",[t._v("部署站点的基础路径,如果你想让你的网站部署到一个子路径下,你将需要设置它。如 Github pages,如果你想将你的网站部署到 "),e("code",[t._v("https://foo.github.io/bar/")]),t._v(",那么 "),e("code",[t._v("base")]),t._v(" 应该被设置成 "),e("code",[t._v('"/bar/"')]),t._v(",它的值应当总是以斜杠开始,并以斜杠结束。")]),t._v(" "),e("p",[e("code",[t._v("base")]),t._v(" 将会自动地作为前缀插入到所有以 "),e("code",[t._v("/")]),t._v(" 开始的其他选项的链接中,所以你只需要指定一次。")]),t._v(" "),e("p",[e("strong",[t._v("参考:")])]),t._v(" "),e("ul",[e("li",[e("router-link",{attrs:{to:"./../guide/assets.html#基础路径"}},[t._v("Base URL")])],1),t._v(" "),e("li",[e("router-link",{attrs:{to:"./../guide/deploy.html#github-pages"}},[t._v("部署指南 > Github Pages")])],1)]),t._v(" "),e("h3",{attrs:{id:"title"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#title","aria-hidden":"true"}},[t._v("#")]),t._v(" title")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("undefined")])])]),t._v(" "),e("p",[t._v("网站的标题,它将会被用作所有页面标题的前缀,同时,默认主题下,它将显示在导航栏(navbar)上。")]),t._v(" "),e("h3",{attrs:{id:"description"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#description","aria-hidden":"true"}},[t._v("#")]),t._v(" description")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("undefined")])])]),t._v(" "),e("p",[t._v("网站的描述,它将会以 "),e("code",[t._v("<meta>")]),t._v(" 标签渲染到当前页面的 HTML 中。")]),t._v(" "),e("h3",{attrs:{id:"head"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#head","aria-hidden":"true"}},[t._v("#")]),t._v(" head")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("Array")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("[]")])])]),t._v(" "),e("p",[t._v("额外的需要被注入到当前页面的 HTML "),e("code",[t._v("<head>")]),t._v(" 中的标签,每个标签都可以以 "),e("code",[t._v("[tagName, { attrName: attrValue }, innerHTML?]")]),t._v(" 的格式指定,举个例子,增加一个自定义的 favicon:")]),t._v(" "),e("div",{staticClass:"language-js extra-class"},[e("pre",{pre:!0,attrs:{class:"language-js"}},[e("code",[t._v("module"),e("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),e("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n head"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{attrs:{class:"token string"}},[t._v("'link'")]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" rel"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token string"}},[t._v("'icon'")]),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" href"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token string"}},[t._v("'/logo.png'")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("h3",{attrs:{id:"host"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#host","aria-hidden":"true"}},[t._v("#")]),t._v(" host")]),t._v(" "),e("ul",[e("li",[t._v("Type: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("Default: "),e("code",[t._v("'0.0.0.0'")])])]),t._v(" "),e("p",[t._v("指定用于 dev server 的主机名。")]),t._v(" "),e("h3",{attrs:{id:"port"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#port","aria-hidden":"true"}},[t._v("#")]),t._v(" port")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("number")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("8080")])])]),t._v(" "),e("p",[t._v("指定 dev server 的端口。")]),t._v(" "),e("h3",{attrs:{id:"dest"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#dest","aria-hidden":"true"}},[t._v("#")]),t._v(" dest")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v(".vuepress/dist")])])]),t._v(" "),e("p",[t._v("指定 "),e("code",[t._v("vuepress build")]),t._v(" 的输出目录。")]),t._v(" "),e("h3",{attrs:{id:"ga"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#ga","aria-hidden":"true"}},[t._v("#")]),t._v(" ga")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("undefined")])])]),t._v(" "),e("p",[t._v("提供一个 Google Analytics ID 来使 GA 生效。")]),t._v(" "),e("div",{staticClass:"tip custom-block"},[e("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),e("p",[t._v("请留意 "),e("a",{attrs:{href:"https://ec.europa.eu/commission/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules_en",target:"_blank",rel:"noopener noreferrer"}},[t._v("GDPR (2018年欧盟数据保护规则改革)"),e("OutboundLink")],1),t._v(", 在合适或者需要的情况下,考虑将 Google Analytics 设置为"),e("a",{attrs:{href:"https://support.google.com/analytics/answer/2763052?hl=zh-Hans",target:"_blank",rel:"noopener noreferrer"}},[t._v("匿名化的 IP"),e("OutboundLink")],1),t._v("。")])]),t._v(" "),e("h3",{attrs:{id:"locales"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#locales","aria-hidden":"true"}},[t._v("#")]),t._v(" locales")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("{ [path: string]: Object }")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("undefined")])])]),t._v(" "),e("p",[t._v("提供多语言支持的语言配置。具体细节请查看 "),e("router-link",{attrs:{to:"./../guide/i18n.html"}},[t._v("多语言支持")]),t._v("。")],1),t._v(" "),e("h3",{attrs:{id:"shouldprefetch"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#shouldprefetch","aria-hidden":"true"}},[t._v("#")]),t._v(" shouldPrefetch")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("Function")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("() => true")])])]),t._v(" "),e("p",[t._v("一个函数,用来控制对于哪些文件,是需要生成 "),e("code",[t._v('<link rel="prefetch">')]),t._v(" 资源提示的。请参考 "),e("a",{attrs:{href:"https://ssr.vuejs.org/zh/api/#shouldpreload",target:"_blank",rel:"noopener noreferrer"}},[t._v("shouldPrefetch"),e("OutboundLink")],1),t._v("。")]),t._v(" "),e("h3",{attrs:{id:"contentloading"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#contentloading","aria-hidden":"true"}},[t._v("#")]),t._v(" contentLoading")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("boolean|string")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("false")])])]),t._v(" "),e("p",[t._v("是否对异步加载页面的内容开启占位符加载。如果它是一个字符串,那么它应该是自定义加载组件的名称。")]),t._v(" "),e("h3",{attrs:{id:"cache"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#cache","aria-hidden":"true"}},[t._v("#")]),t._v(" cache")]),t._v(" "),e("ul",[e("li",[t._v("Type: "),e("code",[t._v("boolean|string")])]),t._v(" "),e("li",[t._v("Default: "),e("code",[t._v("true")])])]),t._v(" "),e("p",[t._v("VuePress 默认使用了 "),e("a",{attrs:{href:"https://github.com/webpack-contrib/cache-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("cache-loader"),e("OutboundLink")],1),t._v(" 来大大地加快 webpack 的编译速度。")]),t._v(" "),e("p",[t._v("此选项可以用于指定 cache 的路径,同时也可以通过设置为 "),e("code",[t._v("false")]),t._v(" 来在每次构建之前删除 cache。")]),t._v(" "),e("div",{staticClass:"tip custom-block"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("这个选项也可以通过命令行来使用:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("vuepress dev docs --cache .cache "),e("span",{attrs:{class:"token comment"}},[t._v("# 设置 cache 路径")]),t._v("\nvuepress dev docs --no-cache "),e("span",{attrs:{class:"token comment"}},[t._v("# 在每次构建前删除 cache")]),t._v("\n")])])])]),t._v(" "),e("h2",{attrs:{id:"styling"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#styling","aria-hidden":"true"}},[t._v("#")]),t._v(" Styling")]),t._v(" "),e("blockquote",[e("p",[t._v("To be translated.")])]),t._v(" "),e("h3",{attrs:{id:"palette-styl"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#palette-styl","aria-hidden":"true"}},[t._v("#")]),t._v(" palette.styl")]),t._v(" "),e("p",[t._v("If you wish to apply simple color overrides to the styling of the "),e("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/@vuepress/core/lib/app/style/config.styl",target:"_blank",rel:"noopener noreferrer"}},[t._v("default preset"),e("OutboundLink")],1),t._v(" or define some color variables for using later, you can create an "),e("code",[t._v(".vuepress/styles/palette.styl")]),t._v(" file.")]),t._v(" "),e("p",[t._v("There are a few color variables you can tweak:")]),t._v(" "),e("div",{staticClass:"language-stylus extra-class"},[e("pre",{pre:!0,attrs:{class:"language-stylus"}},[e("code",[e("span",{attrs:{class:"token comment"}},[t._v("// showing default values")]),t._v("\n"),e("span",{attrs:{class:"token variable-declaration"}},[e("span",{attrs:{class:"token variable"}},[t._v("$accentColor")]),t._v(" "),e("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{attrs:{class:"token hexcode"}},[t._v("#3eaf7c")])]),t._v("\n"),e("span",{attrs:{class:"token variable-declaration"}},[e("span",{attrs:{class:"token variable"}},[t._v("$textColor")]),t._v(" "),e("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{attrs:{class:"token hexcode"}},[t._v("#2c3e50")])]),t._v("\n"),e("span",{attrs:{class:"token variable-declaration"}},[e("span",{attrs:{class:"token variable"}},[t._v("$borderColor")]),t._v(" "),e("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{attrs:{class:"token hexcode"}},[t._v("#eaecef")])]),t._v("\n"),e("span",{attrs:{class:"token variable-declaration"}},[e("span",{attrs:{class:"token variable"}},[t._v("$codeBgColor")]),t._v(" "),e("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{attrs:{class:"token hexcode"}},[t._v("#282c34")])]),t._v("\n")])])]),e("div",{staticClass:"danger custom-block"},[e("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),e("p",[t._v("You should ONLY write color variables in this file. since "),e("code",[t._v("palette.styl")]),t._v(" will be imported at the end of the root stylus config file, as a config, it will be used by multiple files, so once you wrote styles here, your style would be duplicated by multiple times.")])]),t._v(" "),e("h3",{attrs:{id:"index-styl"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#index-styl","aria-hidden":"true"}},[t._v("#")]),t._v(" index.styl")]),t._v(" "),e("p",[t._v("VuePress provides a convenient way to add extra styles. you can create an "),e("code",[t._v(".vuepress/styles/index.styl")]),t._v(" file for that. This is a "),e("a",{attrs:{href:"http://stylus-lang.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Stylus"),e("OutboundLink")],1),t._v(" file but you can use normal CSS syntax as well.")]),t._v(" "),e("div",{staticClass:"language-stylus extra-class"},[e("pre",{pre:!0,attrs:{class:"language-stylus"}},[e("code",[e("span",{attrs:{class:"token selector"}},[t._v(".content "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")])]),t._v("\n "),e("span",{attrs:{class:"token property-declaration"}},[e("span",{attrs:{class:"token property"}},[t._v("font-size")]),t._v(" "),e("span",{attrs:{class:"token number"}},[t._v("30")]),t._v("px")]),t._v("\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("h2",{attrs:{id:"主题"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#主题","aria-hidden":"true"}},[t._v("#")]),t._v(" 主题")]),t._v(" "),e("h3",{attrs:{id:"theme"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#theme","aria-hidden":"true"}},[t._v("#")]),t._v(" theme")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("string")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("undefined")])])]),t._v(" "),e("p",[t._v("当你使用自定义主题的时候,需要指定它。")]),t._v(" "),e("p",[e("strong",[t._v("参考:")])]),t._v(" "),e("ul",[e("li",[e("router-link",{attrs:{to:"./../theme/using-a-theme.html"}},[t._v("使用主题")]),t._v(".")],1)]),t._v(" "),e("h3",{attrs:{id:"themeconfig"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#themeconfig","aria-hidden":"true"}},[t._v("#")]),t._v(" themeConfig")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("Object")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("{}")])])]),t._v(" "),e("p",[t._v("为当前的主题提供一些配置,这些选项依赖于你正在使用的主题。")]),t._v(" "),e("p",[e("strong",[t._v("也可以参考:")])]),t._v(" "),e("ul",[e("li",[e("router-link",{attrs:{to:"./../theme/default-theme-config.html"}},[t._v("默认主题")]),t._v("。")],1)]),t._v(" "),e("h2",{attrs:{id:"pluggable"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#pluggable","aria-hidden":"true"}},[t._v("#")]),t._v(" Pluggable")]),t._v(" "),e("h3",{attrs:{id:"plugins"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#plugins","aria-hidden":"true"}},[t._v("#")]),t._v(" plugins")]),t._v(" "),e("ul",[e("li",[t._v("Type: "),e("code",[t._v("Object|Array")])]),t._v(" "),e("li",[t._v("Default: "),e("code",[t._v("undefined")])])]),t._v(" "),e("p",[t._v("请参考 "),e("router-link",{attrs:{to:"./../plugin/using-a-plugin.html"}},[t._v("plugin > Using a plugin")]),t._v(" 来使用一个插件。")],1),t._v(" "),e("h2",{attrs:{id:"markdown"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#markdown","aria-hidden":"true"}},[t._v("#")]),t._v(" Markdown")]),t._v(" "),e("h3",{attrs:{id:"markdown-linenumbers"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#markdown-linenumbers","aria-hidden":"true"}},[t._v("#")]),t._v(" markdown.lineNumbers")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("boolean")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("undefined")])])]),t._v(" "),e("p",[t._v("是否在每个代码块的左侧显示行号。")]),t._v(" "),e("p",[e("strong",[t._v("参考:")])]),t._v(" "),e("ul",[e("li",[e("router-link",{attrs:{to:"./../guide/markdown.html#行号"}},[t._v("行号")])],1)]),t._v(" "),e("h3",{attrs:{id:"markdown-slugify"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#markdown-slugify","aria-hidden":"true"}},[t._v("#")]),t._v(" markdown.slugify")]),t._v(" "),e("ul",[e("li",[t._v("Type: "),e("code",[t._v("Function")])]),t._v(" "),e("li",[t._v("Default: "),e("a",{attrs:{href:"https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/shared-utils/lib/slugify.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("source"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("一个将标题文本转换为 slug 的函数。修改它会影响 "),e("router-link",{attrs:{to:"./../miscellaneous/glossary.html#headers"}},[t._v("标题")]),t._v("、"),e("router-link",{attrs:{to:"./../guide/markdown.html#目录"}},[t._v("目录")]),t._v("、以及"),e("router-link",{attrs:{to:"./../theme/default-theme-config.html#侧边栏"}},[t._v("侧边栏")]),t._v("链接的 id 和 链接。")],1),t._v(" "),e("h3",{attrs:{id:"markdown-anchor"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#markdown-anchor","aria-hidden":"true"}},[t._v("#")]),t._v(" markdown.anchor")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("Object")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("{ permalink: true, permalinkBefore: true, permalinkSymbol: '#' }")])])]),t._v(" "),e("p",[e("a",{attrs:{href:"https://github.com/valeriangalliat/markdown-it-anchor",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it-anchor"),e("OutboundLink")],1),t._v(" 的选项。")]),t._v(" "),e("h3",{attrs:{id:"markdown-externallinks"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#markdown-externallinks","aria-hidden":"true"}},[t._v("#")]),t._v(" markdown.externalLinks")]),t._v(" "),e("ul",[e("li",[t._v("Type: "),e("code",[t._v("Object")])]),t._v(" "),e("li",[t._v("Default: "),e("code",[t._v("{ target: '_blank', rel: 'noopener noreferrer' }")])])]),t._v(" "),e("p",[t._v("这个键值对将会作为特性被增加到是外部链接的 "),e("code",[t._v("<a>")]),t._v(" 标签上,默认的选项将会在新窗口中打开一个该外部链接。")]),t._v(" "),e("h3",{attrs:{id:"markdown-toc"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#markdown-toc","aria-hidden":"true"}},[t._v("#")]),t._v(" markdown.toc")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("Object")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("{ includeLevel: [2, 3] }")])])]),t._v(" "),e("p",[e("a",{attrs:{href:"https://github.com/Oktavilla/markdown-it-table-of-contents",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it-table-of-contents"),e("OutboundLink")],1),t._v(" 的选项。")]),t._v(" "),e("h3",{attrs:{id:"markdown-extendmarkdown"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#markdown-extendmarkdown","aria-hidden":"true"}},[t._v("#")]),t._v(" markdown.extendMarkdown")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("Function")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("undefined")])])]),t._v(" "),e("p",[t._v("一个用于修改当前的 "),e("a",{attrs:{href:"https://github.com/markdown-it/markdown-it",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it"),e("OutboundLink")],1),t._v(" 实例的默认配置,或者应用额外的插件的函数,举例如下:")]),t._v(" "),e("div",{staticClass:"language-js extra-class"},[e("pre",{pre:!0,attrs:{class:"language-js"}},[e("code",[t._v("module"),e("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),e("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n markdown"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n config"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" md "),e("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n md"),e("span",{attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{attrs:{class:"token keyword"}},[t._v("set")]),e("span",{attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" breaks"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n md"),e("span",{attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{attrs:{class:"token function"}},[t._v("use")]),e("span",{attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{attrs:{class:"token function"}},[t._v("require")]),e("span",{attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{attrs:{class:"token string"}},[t._v("'markdown-it-xxx'")]),e("span",{attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("div",{staticClass:"tip custom-block"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("这个选项也被 "),e("router-link",{attrs:{to:"./../plugin/option-api.html#extendmarkdown"}},[t._v("Plugin API")]),t._v(" 所支持。")],1)]),t._v(" "),e("h2",{attrs:{id:"构建流程"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#构建流程","aria-hidden":"true"}},[t._v("#")]),t._v(" 构建流程")]),t._v(" "),e("h3",{attrs:{id:"postcss"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#postcss","aria-hidden":"true"}},[t._v("#")]),t._v(" postcss")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("Object")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("{ plugins: [require('autoprefixer')] }")])])]),t._v(" "),e("p",[e("a",{attrs:{href:"https://github.com/postcss/postcss-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("postcss-loader"),e("OutboundLink")],1),t._v(" 的选项,请注意,指定这个值,将会覆盖内置的 autoprefixer,所以你需要自己将它加进去。")]),t._v(" "),e("h3",{attrs:{id:"stylus"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#stylus","aria-hidden":"true"}},[t._v("#")]),t._v(" stylus")]),t._v(" "),e("ul",[e("li",[t._v("Type: "),e("code",[t._v("Object")])]),t._v(" "),e("li",[t._v("Default: "),e("code",[t._v("{ preferPathResolver: 'webpack' }")])])]),t._v(" "),e("p",[e("a",{attrs:{href:"https://github.com/shama/stylus-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("stylus-loader"),e("OutboundLink")],1),t._v(" 的选项。")]),t._v(" "),e("h3",{attrs:{id:"scss"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#scss","aria-hidden":"true"}},[t._v("#")]),t._v(" scss")]),t._v(" "),e("ul",[e("li",[t._v("Type: "),e("code",[t._v("Object")])]),t._v(" "),e("li",[t._v("Default: "),e("code",[t._v("{}")])])]),t._v(" "),e("p",[t._v("加载 "),e("code",[t._v("*.scss")]),t._v(" 文件的 "),e("a",{attrs:{href:"https://github.com/postcss/postcss-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("sass-loader"),e("OutboundLink")],1),t._v(" 的选项。")]),t._v(" "),e("h3",{attrs:{id:"sass"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#sass","aria-hidden":"true"}},[t._v("#")]),t._v(" sass")]),t._v(" "),e("ul",[e("li",[t._v("Type: "),e("code",[t._v("Object")])]),t._v(" "),e("li",[t._v("Default: "),e("code",[t._v("{ indentedSyntax: true }")])])]),t._v(" "),e("p",[t._v("加载 "),e("code",[t._v("*.sass")]),t._v(" 文件的 "),e("a",{attrs:{href:"https://github.com/postcss/postcss-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("sass-loader"),e("OutboundLink")],1),t._v(" 的选项。")]),t._v(" "),e("h3",{attrs:{id:"less"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#less","aria-hidden":"true"}},[t._v("#")]),t._v(" less")]),t._v(" "),e("ul",[e("li",[t._v("Type: "),e("code",[t._v("Object")])]),t._v(" "),e("li",[t._v("Default: "),e("code",[t._v("{}")])])]),t._v(" "),e("p",[e("a",{attrs:{href:"https://github.com/webpack-contrib/less-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("less-loader"),e("OutboundLink")],1),t._v(" 的选项。")]),t._v(" "),e("h3",{attrs:{id:"configurewebpack"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#configurewebpack","aria-hidden":"true"}},[t._v("#")]),t._v(" configureWebpack")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("Object | Function")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("undefined")])])]),t._v(" "),e("p",[t._v("用于修改内部的 Webpack 配置。如果给定一个对象,那么它将会被 "),e("a",{attrs:{href:"https://github.com/survivejs/webpack-merge",target:"_blank",rel:"noopener noreferrer"}},[t._v("webpack-merge"),e("OutboundLink")],1),t._v(" 合并到最终的配置中,如果给定一个函数,它将会接受 "),e("code",[t._v("config")]),t._v(" 作为第一个参数,以及 "),e("code",[t._v("isServer")]),t._v(" 作为第二个参数,你可以直接更改 "),e("code",[t._v("config")]),t._v(",也可以返回一个待合并的对象。")]),t._v(" "),e("div",{staticClass:"language-js extra-class"},[e("pre",{pre:!0,attrs:{class:"language-js"}},[e("code",[t._v("module"),e("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),e("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n configureWebpack"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" isServer"),e("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),e("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{attrs:{class:"token operator"}},[t._v("!")]),t._v("isServer"),e("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{attrs:{class:"token comment"}},[t._v("// 修改客户端的 webpack 配置")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("h3",{attrs:{id:"chainwebpack"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#chainwebpack","aria-hidden":"true"}},[t._v("#")]),t._v(" chainWebpack")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("Function")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("undefined")])])]),t._v(" "),e("p",[t._v("通过 "),e("a",{attrs:{href:"https://github.com/mozilla-neutrino/webpack-chain",target:"_blank",rel:"noopener noreferrer"}},[t._v("webpack-chain"),e("OutboundLink")],1),t._v(" 来修改内部的 Webpack 配置。")]),t._v(" "),e("div",{staticClass:"language-js extra-class"},[e("pre",{pre:!0,attrs:{class:"language-js"}},[e("code",[t._v("module"),e("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),e("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n chainWebpack"),e("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),e("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" isServer"),e("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),e("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),e("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{attrs:{class:"token comment"}},[t._v("// config 是 ChainableConfig 的一个实例")]),t._v("\n "),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("h2",{attrs:{id:"浏览器兼容性"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#浏览器兼容性","aria-hidden":"true"}},[t._v("#")]),t._v(" 浏览器兼容性")]),t._v(" "),e("h3",{attrs:{id:"evergreen"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#evergreen","aria-hidden":"true"}},[t._v("#")]),t._v(" evergreen")]),t._v(" "),e("ul",[e("li",[t._v("类型: "),e("code",[t._v("boolean")])]),t._v(" "),e("li",[t._v("默认值: "),e("code",[t._v("false")])])]),t._v(" "),e("p",[t._v("如果你的对象只有那些 “常青树” 浏览器,你可以将其设置成 "),e("code",[t._v("true")]),t._v(",这将会禁止 ESNext 到 ES5 的转译以及对 IE 的 polyfills,同时会带来更快的构建速度和更小的文件体积。")])])},[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/84.4ef99674.js b/vuepress/assets/js/84.4ef99674.js new file mode 100644 index 0000000000..d4b91d67e7 --- /dev/null +++ b/vuepress/assets/js/84.4ef99674.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{281:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},o=a(5),e=Object(o.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"option-api"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#option-api","aria-hidden":"true"}},[t._v("#")]),t._v(" Option API")]),t._v(" "),a("h2",{attrs:{id:"name"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#name","aria-hidden":"true"}},[t._v("#")]),t._v(" name")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("string")])]),t._v(" "),a("li",[t._v("默认值: undefined")])]),t._v(" "),a("p",[t._v("插件的名字。")]),t._v(" "),a("p",[t._v("在内部,VuePress 将会使用插件的包名作为插件的名称。当你你插件是一个本地插件(即直接使用了一个纯函数)时,请确保设定了该选项,这对调试更有利。")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("pluginOptions"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'my-xxx-plugin'")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ... the rest of options")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"plugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugins","aria-hidden":"true"}},[t._v("#")]),t._v(" plugins")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("array")])]),t._v(" "),a("li",[t._v("默认值: undefined")])]),t._v(" "),a("p",[t._v("一个插件可以像 preset 一样包含多个插件。")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// 一个插件")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'tag'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'category'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"chainwebpack"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chainwebpack","aria-hidden":"true"}},[t._v("#")]),t._v(" chainWebpack")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("默认值: undefined")])]),t._v(" "),a("p",[t._v("使用 "),a("a",{attrs:{href:"https://github.com/mozilla-neutrino/webpack-chain",target:"_blank",rel:"noopener noreferrer"}},[t._v("webpack-chain"),a("OutboundLink")],1),t._v(" 来修改内部的 webpack 配置:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("chainWebpack")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" isServer"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// config 是一个 ChainableConfig 的实例")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),a("p",[t._v("由于 VuePress 是一个基于 Vue-SSR 的应用,这里会有两个 webpack 配置,"),a("code",[t._v("isServer")]),t._v(" 用于决定当前的 webpack 配置是应用到 server 还是 client。")]),t._v(" "),a("p",[a("strong",[t._v("参考:")])]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://ssr.vuejs.org/zh/guide/build-config.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("Vue SSR > 构建配置"),a("OutboundLink")],1)])])]),t._v(" "),a("h2",{attrs:{id:"define"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#define","aria-hidden":"true"}},[t._v("#")]),t._v(" define")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("Object|Function")])]),t._v(" "),a("li",[t._v("默认值: undefined")])]),t._v(" "),a("p",[t._v("由于通过 "),a("a",{attrs:{href:"#chainwebpack"}},[t._v("chainWebpack")]),t._v(" 使用 "),a("a",{attrs:{href:"https://webpack.js.org/plugins/define-plugin/",target:"_blank",rel:"noopener noreferrer"}},[t._v("DefinePlugin"),a("OutboundLink")],1),t._v(" 会有点麻烦:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("chainWebpack")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n config"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("plugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'injections'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("tap")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n Object"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("assign")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token constant"}},[t._v("SW_BASE_URL")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token constant"}},[t._v("JSON")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("stringify")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("VuePress 特别开辟了一个更简洁的 "),a("code",[t._v("define")]),t._v(" 选项。值得注意的是这些值已自动地被 "),a("code",[t._v("JSON.stringify")]),t._v(" 处理。")]),t._v(" "),a("ul",[a("li",[t._v("对象式:")])]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n define"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token constant"}},[t._v("SW_BASE_URL")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("ul",[a("li",[t._v("函数式:")])]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("define")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token constant"}},[t._v("SW_BASE_URL")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("base "),a("span",{attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token constant"}},[t._v("SW_ENABLED")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("!")]),a("span",{attrs:{class:"token operator"}},[t._v("!")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("enabled"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h2",{attrs:{id:"alias"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#alias","aria-hidden":"true"}},[t._v("#")]),t._v(" alias")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("Object|Function")])]),t._v(" "),a("li",[t._v("默认值: undefined")])]),t._v(" "),a("p",[t._v("我们可以通过 "),a("a",{attrs:{href:"#chainwebpack"}},[t._v("chainWebpack")]),t._v(" 来配置别名:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("chainWebpack")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n config"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("resolve"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("alias"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("set")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'@theme'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("themePath"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("p",[a("code",[t._v("alias")]),t._v(" 可以使这个流程更像配置:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n alias"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'@theme'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("themePath\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h2",{attrs:{id:"enhancedevserver"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#enhancedevserver","aria-hidden":"true"}},[t._v("#")]),t._v(" enhanceDevServer")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("默认值: undefined")])]),t._v(" "),a("p",[t._v("拓展 devServer 下层的 "),a("a",{attrs:{href:"https://github.com/koajs/koa",target:"_blank",rel:"noopener noreferrer"}},[t._v("Koa"),a("OutboundLink")],1),t._v(" app:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("enhanceDevServer")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("app"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("一个简单的创建子 public 目录的插件如下:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" path "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'path'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" imagesAssetsPath "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" path"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("resolve")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("sourceDir"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'.vuepress/images'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// For development")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("enhanceDevServer")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("app"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" mount "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'koa-mount'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" serveStatic "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'koa-static'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n app"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("use")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token function"}},[t._v("mount")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("path"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("join")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("base"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'images'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("serveStatic")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("imagesAssetsPath"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// For production")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("generated")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" fs "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'@vuepress/shared-utils'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("await")]),t._v(" fs"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("copy")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("imagesAssetsPath"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" path"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("resolve")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("outDir"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'images'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"extendmarkdown"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#extendmarkdown","aria-hidden":"true"}},[t._v("#")]),t._v(" extendMarkdown")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("默认值: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("一个函数,修改内部用于渲染 markdown 文件的 "),a("a",{attrs:{href:"https://github.com/markdown-it/markdown-it",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it"),a("OutboundLink")],1),t._v(" 实例的配置、或者应用一些额外的插件:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n extendMarkdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" md "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n md"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("set")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" breaks"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n md"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("use")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'markdown-it-xxx'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"chainmarkdown"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chainmarkdown","aria-hidden":"true"}},[t._v("#")]),t._v(" chainMarkdown")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("默认值: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("使用 "),a("a",{attrs:{href:"https://github.com/ulivz/markdown-it-chain",target:"_blank",rel:"noopener noreferrer"}},[t._v("markdown-it-chain"),a("OutboundLink")],1),t._v(" 来修改内部的 markdown 配置。")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("chainMarkdown")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 与 new MarkdownIt 的 'options' 互动")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 参考: https://markdown-it.github.io/markdown-it/#MarkdownIt.new")]),t._v("\n config\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("link")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("breaks")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 修改内置插件的参数")]),t._v("\n config\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("plugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'anchor'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("tap")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n Object"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("assign")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" permalinkSymbol"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'#'")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 增加额外的插件")]),t._v("\n config\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("plugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'sup'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("use")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'markdown-it-sup'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// Remove internal plugin")]),t._v("\n config"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("delete")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'snippet'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[a("strong",[t._v("参考:")])]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/vuejs/vuepress/blob/master/packages/%40vuepress/markdown/index.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("VuePress 的内置 markdown-it 插件"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/neutrinojs/webpack-chain#config-plugins",target:"_blank",rel:"noopener noreferrer"}},[t._v("配置插件"),a("OutboundLink")],1)])]),t._v(" "),a("h2",{attrs:{id:"enhanceappfiles"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#enhanceappfiles","aria-hidden":"true"}},[t._v("#")]),t._v(" enhanceAppFiles")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("Array|AsyncFunction")])]),t._v(" "),a("li",[t._v("默认值: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("这个选项接受一个包含文件的数组,或者一个返回该数组的函数。你可以通过此选项做一些"),a("router-link",{attrs:{to:"./../guide/basic-config.html#应用级别的配置"}},[t._v("应用级别的配置")]),t._v("。")],1),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n enhanceAppFiles"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n path"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("resolve")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("__dirname"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'client.js'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("值得提及的是,为了让插件开发者能够在编译器做更多的事情,"),a("code",[t._v("enhanceAppFiles")]),t._v(" 也支持动态的代码:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("option"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n enhanceAppFiles"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'dynamic-code'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n content"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token template-string"}},[a("span",{attrs:{class:"token string"}},[t._v("`export default ({ Vue }) => { Vue.mixin('$source', '")]),a("span",{attrs:{class:"token interpolation"}},[a("span",{attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("sourceDir"),a("span",{attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),a("span",{attrs:{class:"token string"}},[t._v("') }`")])]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"clientdynamicmodules"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#clientdynamicmodules","aria-hidden":"true"}},[t._v("#")]),t._v(" clientDynamicModules")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("默认值: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("有时,你可能想要在编译期间生成一些在客户端使用的模块:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function-variable function"}},[t._v("exports")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("options"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ctx"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("clientDynamicModules")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'constans.js'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n content"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token template-string"}},[a("span",{attrs:{class:"token string"}},[t._v("`export const SOURCE_DIR = '")]),a("span",{attrs:{class:"token interpolation"}},[a("span",{attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("sourceDir"),a("span",{attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),a("span",{attrs:{class:"token string"}},[t._v("'`")])]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("p",[t._v("然后你可以在客户端这样使用你的模块:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{attrs:{class:"token constant"}},[t._v("SOURCE_DIR")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'@dynamic/constans'")]),t._v("\n")])])]),a("h2",{attrs:{id:"extendpagedata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#extendpagedata","aria-hidden":"true"}},[t._v("#")]),t._v(" extendPageData")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("Function")])]),t._v(" "),a("li",[t._v("默认值: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("一个函数,用于拓展或者修改 "),a("router-link",{attrs:{to:"./../guide/global-computed.html#page"}},[t._v("$page")]),t._v(" 对象。这个函数将会在编译器为每个页面执行一次。")],1),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("extendPageData")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("$page"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n _filePath"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 源文件的绝对路径")]),t._v("\n _computed"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 在构建期访问全局的计算属性,如:_computed.$localePath.")]),t._v("\n _content"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 源文件的原始内容字符串")]),t._v("\n _strippedContent"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 源文件剔除掉 frontmatter 的内容字符串")]),t._v("\n key"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 页面唯一的 hash key")]),t._v("\n frontmatter"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 页面的 frontmatter 对象")]),t._v("\n regularPath"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 当前页面遵循文件层次结构的默认链接")]),t._v("\n path"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 当前页面的实际链接(在 permalink 不存在时,使用 regularPath )")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" $page\n \n "),a("span",{attrs:{class:"token comment"}},[t._v("// 1. Add extra fields.")]),t._v("\n page"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("xxx "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'xxx'")]),t._v("\n \n "),a("span",{attrs:{class:"token comment"}},[t._v("// 2. Change frontmatter.")]),t._v("\n frontmatter"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("sidebar "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'auto'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("注意")]),t._v(" "),a("p",[t._v("那些以 "),a("code",[t._v("_")]),t._v(" 开头的字段意味着你只能在编译期访问。")])]),t._v(" "),a("p",[t._v("例子:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("extendPageData")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("$page"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n $page"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("size "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("$page"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("content"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("length "),a("span",{attrs:{class:"token operator"}},[t._v("/")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("1024")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("toFixed")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token number"}},[t._v("2")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("+")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'kb'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("然后你可以在任意的 Vue 中通过 "),a("code",[t._v("this.$page.size")]),t._v(" 来访问这个变量。")]),t._v(" "),a("h2",{attrs:{id:"clientrootmixin"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#clientrootmixin","aria-hidden":"true"}},[t._v("#")]),t._v(" clientRootMixin")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("String")])]),t._v(" "),a("li",[t._v("默认值: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("指向 "),a("code",[t._v("mixin")]),t._v(" 文件的路径,它让你你可以控制根组件的生命周期:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// 插件的入口")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" path "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'path'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n clientRootMixin"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" path"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("resolve")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("__dirname"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'mixin.js'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// mixin.js")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("created")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("mounted")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"additionalpages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#additionalpages","aria-hidden":"true"}},[t._v("#")]),t._v(" additionalPages")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("Array|Function")])]),t._v(" "),a("li",[t._v("默认值: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("增加一个指向某个 markdown 文件的页面:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" path "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'path'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n additionalPages"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n path"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/readme/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n filePath"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" path"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("resolve")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("__dirname"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'../../README.md'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("或增加一个具有明确内容的页面:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("additionalPages")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" rp "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'request-promise'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// VuePress doesn't have request library built-in")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// you need to install it yourself.")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("const")]),t._v(" content "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("rp")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v("'https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n path"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/readme/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n content\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("或增加一个纯粹的路由:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n additionalPages"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n path"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/alpha/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n frontmatter"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n layout"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'MyLayout'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"globaluicomponents"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#globaluicomponents","aria-hidden":"true"}},[t._v("#")]),t._v(" globalUIComponents")]),t._v(" "),a("ul",[a("li",[t._v("类型: "),a("code",[t._v("Array|String")])]),t._v(" "),a("li",[t._v("默认值: "),a("code",[t._v("undefined")])])]),t._v(" "),a("p",[t._v("你可以想注入某些全局的 UI,并固定在页面中的某处,如 "),a("code",[t._v("back-to-top")]),t._v(", "),a("code",[t._v("popup")]),t._v("。在 VuePress 中,**一个全局 UI 就是一个 Vue 组件。**你可以直接配置该全局组件的名称,如:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n globalUIComponents"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'Component-1'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'Component-2'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("VuePress 将会自动将这些组件注入到布局组件的隔壁:")]),t._v(" "),a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{attrs:{class:"token attr-name"}},[t._v("id")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("app"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("theme-container"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v(" ... "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("\x3c!-- Layout Component --\x3e")]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("global-ui"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Component-1")]),a("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Component-2")]),a("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("</")]),t._v("div")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])])])},[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/85.05d2f860.js b/vuepress/assets/js/85.05d2f860.js new file mode 100644 index 0000000000..dbcced88c3 --- /dev/null +++ b/vuepress/assets/js/85.05d2f860.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[85],{282:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),o=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"默认主题配置"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#默认主题配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 默认主题配置")]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),a("p",[t._v("本页所列的选项仅对默认主题生效。如果你在使用一个自定义主题,选项可能会有不同。")])]),t._v(" "),a("h2",{attrs:{id:"首页"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#首页","aria-hidden":"true"}},[t._v("#")]),t._v(" 首页")]),t._v(" "),a("p",[t._v("默认的主题提供了一个首页(Homepage)的布局 (用于 "),a("router-link",{attrs:{to:"./../"}},[t._v("这个网站的主页")]),t._v(")。想要使用它,需要在你的根级 "),a("code",[t._v("README.md")]),t._v(" 的 "),a("router-link",{attrs:{to:"./../guide/markdown.html#front-matter"}},[t._v("YAML front matter")]),t._v(" 指定 "),a("code",[t._v("home: true")]),t._v("。以下是这个网站实际使用的数据:")],1),t._v(" "),a("div",{staticClass:"language-yaml extra-class"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("home")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean important"}},[t._v("true")]),t._v("\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("heroImage")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" /hero.png\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("actionText")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 快速上手 →\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("actionLink")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" /zh/guide/\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("features")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),a("span",{attrs:{class:"token key atrule"}},[t._v("title")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 简洁至上\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("details")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 以 Markdown 为中心的项目结构,以最少的配置帮助你专注于写作。\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),a("span",{attrs:{class:"token key atrule"}},[t._v("title")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Vue驱动\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("details")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 享受 Vue + webpack 的开发体验,在 Markdown 中使用 Vue 组件,同时可以使用 Vue 来开发自定义主题。\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),a("span",{attrs:{class:"token key atrule"}},[t._v("title")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 高性能\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("details")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" VuePress 为每个页面预渲染生成静态的 HTML,同时在页面被加载的时候,将作为 SPA 运行。\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("footer")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" MIT Licensed "),a("span",{attrs:{class:"token punctuation"}},[t._v("|")]),t._v(" Copyright © 2018"),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("present Evan You\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),a("p",[t._v("任何 "),a("code",[t._v("YAML front matter")]),t._v(" 之后额外的内容将会以普通的 markdown 被渲染,并插入到 "),a("code",[t._v("features")]),t._v(" 的后面。")]),t._v(" "),a("h2",{attrs:{id:"导航栏"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#导航栏","aria-hidden":"true"}},[t._v("#")]),t._v(" 导航栏")]),t._v(" "),a("p",[t._v("导航栏可能包含你的页面标题、"),a("a",{attrs:{href:"#%E6%90%9C%E7%B4%A2%E6%A1%86"}},[t._v("搜索框")]),t._v("、 "),a("a",{attrs:{href:"#%E5%AF%BC%E8%88%AA%E6%A0%8F%E9%93%BE%E6%8E%A5"}},[t._v("导航栏链接")]),t._v("、"),a("router-link",{attrs:{to:"./../guide/i18n.html"}},[t._v("多语言切换")]),t._v("、"),a("a",{attrs:{href:"#git-%E4%BB%93%E5%BA%93%E5%92%8C%E7%BC%96%E8%BE%91%E9%93%BE%E6%8E%A5"}},[t._v("仓库链接")]),t._v(",它们均取决于你的配置。")],1),t._v(" "),a("h3",{attrs:{id:"导航栏链接"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#导航栏链接","aria-hidden":"true"}},[t._v("#")]),t._v(" 导航栏链接")]),t._v(" "),a("p",[t._v("你可以通过 "),a("code",[t._v("themeConfig.nav")]),t._v(" 增加一些导航栏链接:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n nav"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Home'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/'")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Guide'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/guide/'")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'External'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'https://google.com'")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("当你提供了一个 "),a("code",[t._v("items")]),t._v(" 数组而不是一个单一的 "),a("code",[t._v("link")]),t._v(" 时,它将显示为一个 "),a("code",[t._v("下拉列表")]),t._v(" :")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n nav"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n text"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Languages'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n items"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Chinese'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/language/chinese/'")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Japanese'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" link"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'/language/japanese/'")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("此外,你还可以通过嵌套的 "),a("code",[t._v("items")]),t._v(" 来在 "),a("code",[t._v("下拉列表")]),t._v(" 中设置分组:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n nav"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n text"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Languages'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n items"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Group1'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" items"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token comment"}},[t._v("/* */")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" text"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Group2'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" items"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token comment"}},[t._v("/* */")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h3",{attrs:{id:"禁用导航栏"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#禁用导航栏","aria-hidden":"true"}},[t._v("#")]),t._v(" 禁用导航栏")]),t._v(" "),a("p",[t._v("你可以使用 "),a("code",[t._v("themeConfig.navbar")]),t._v(" 来禁用所有页面的导航栏:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n navbar"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("你也可以通过 "),a("code",[t._v("YAML front matter")]),t._v(" 来禁用某个指定页面的导航栏:")]),t._v(" "),a("div",{staticClass:"language-yaml extra-class"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("navbar")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean important"}},[t._v("false")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),a("h2",{attrs:{id:"侧边栏"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#侧边栏","aria-hidden":"true"}},[t._v("#")]),t._v(" 侧边栏")]),t._v(" "),a("p",[t._v("想要使 侧边栏(Sidebar)生效,需要配置 "),a("code",[t._v("themeConfig.sidebar")]),t._v(",基本的配置,需要一个包含了多个链接的数组:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sidebar"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'/page-a'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token string"}},[t._v("'/page-b'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Explicit link text'")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("你可以省略 "),a("code",[t._v(".md")]),t._v(" 拓展名,同时以 "),a("code",[t._v("/")]),t._v(" 结尾的路径将会被视为 "),a("code",[t._v("*/README.md")]),t._v(",这个链接的文字将会被自动获取到(无论你是声明为页面的第一个 header,还是明确地在 "),a("code",[t._v("YAML front matter")]),t._v(" 中指定页面的标题)。如果你想要显示地指定链接的文字,使用一个格式为 "),a("code",[t._v("[link, text]")]),t._v(" 的数组。")]),t._v(" "),a("h3",{attrs:{id:"嵌套的标题链接"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#嵌套的标题链接","aria-hidden":"true"}},[t._v("#")]),t._v(" 嵌套的标题链接")]),t._v(" "),a("p",[t._v("默认情况下,侧边栏会自动地显示由当前页面的标题(headers)组成的链接,并按照页面本身的结构进行嵌套,你可以通过 "),a("code",[t._v("themeConfig.sidebarDepth")]),t._v(" 来修改它的行为。默认的深度是 "),a("code",[t._v("1")]),t._v(",它将提取到 "),a("code",[t._v("h2")]),t._v(" 的标题,设置成 "),a("code",[t._v("0")]),t._v(" 将会禁用标题(headers)链接,同时,最大的深度为 "),a("code",[t._v("2")]),t._v(",它将同时提取 "),a("code",[t._v("h2")]),t._v(" 和 "),a("code",[t._v("h3")]),t._v(" 标题。")]),t._v(" "),a("p",[t._v("也可以使用 "),a("code",[t._v("YAML front matter")]),t._v(" 来为某个页面重写此值:")]),t._v(" "),a("div",{staticClass:"language-md extra-class"},[a("pre",{pre:!0,attrs:{class:"language-md"}},[a("code",[a("span",{attrs:{class:"token hr punctuation"}},[t._v("---")]),t._v("\n"),a("span",{attrs:{class:"token title important"}},[t._v("sidebarDepth: 2\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("---")])]),t._v("\n")])])]),a("h3",{attrs:{id:"显示所有页面的标题链接"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#显示所有页面的标题链接","aria-hidden":"true"}},[t._v("#")]),t._v(" 显示所有页面的标题链接 "),a("Badge",{attrs:{text:"0.11.0+"}})],1),t._v(" "),a("p",[t._v("默认情况下,侧边栏只会显示由当前活动页面的标题(headers)组成的链接,你可以将 "),a("code",[t._v("themeConfig.displayAllHeaders")]),t._v(" 设置为 "),a("code",[t._v("true")]),t._v(" 来显示所有页面的标题链接:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n displayAllHeaders"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 默认值:false")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h3",{attrs:{id:"活动的标题链接"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#活动的标题链接","aria-hidden":"true"}},[t._v("#")]),t._v(" 活动的标题链接")]),t._v(" "),a("p",[t._v("默认情况下,当用户通过滚动查看页面的不同部分时,嵌套的标题链接和 URL 中的 Hash 值会实时更新,这个行为可以通过以下的配置来禁用:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n activeHeaderLinks"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("false")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// 默认值:true")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("值得一提的是,当你禁用此选项时,此功能的相应脚本将不会被加载,这是我们性能优化的一个小点。")])]),t._v(" "),a("h3",{attrs:{id:"侧边栏分组"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#侧边栏分组","aria-hidden":"true"}},[t._v("#")]),t._v(" 侧边栏分组")]),t._v(" "),a("p",[t._v("你可以通过使用"),a("strong",[t._v("对象")]),t._v("来将侧边栏划分成多个组:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sidebar"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n title"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Group 1'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n collapsable"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("false")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n children"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'/'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n title"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Group 2'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n children"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* ... */")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("侧边栏的每个子组默认是可折叠的,你可以设置 "),a("code",[t._v("collapsable: false")]),t._v(" 来让一个组永远都是展开状态。")]),t._v(" "),a("h3",{attrs:{id:"多个侧边栏"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#多个侧边栏","aria-hidden":"true"}},[t._v("#")]),t._v(" 多个侧边栏")]),t._v(" "),a("p",[t._v("如果你想为不同的页面组来显示不同的侧边栏,首先,将你的页面文件组织成下述的目录结构:")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(".\n├─ README.md\n├─ contact.md\n├─ about.md\n├─ foo/\n│  ├─ README.md\n│ ├─ one.md\n│ └─ two.md\n└─ bar/\n ├─ README.md\n ├─ three.md\n └─ four.md\n")])])]),a("p",[t._v("接着,遵循以下的侧边栏配置:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sidebar"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'/foo/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("''")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* /foo/ */")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'one'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* /foo/one.html */")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'two'")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* /foo/two.html */")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{attrs:{class:"token string"}},[t._v("'/bar/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("''")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* /bar/ */")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'three'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* /bar/three.html */")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'four'")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* /bar/four.html */")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// fallback")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("''")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* / */")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'contact'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* /contact.html */")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'about'")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* /about.html */")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[t._v("确保 fallback 侧边栏被最后定义。VuePress 会按顺序遍历侧边栏配置来寻找匹配的配置。")])]),t._v(" "),a("h3",{attrs:{id:"自动生成侧栏"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#自动生成侧栏","aria-hidden":"true"}},[t._v("#")]),t._v(" 自动生成侧栏")]),t._v(" "),a("p",[t._v("如果你希望自动生成一个仅仅包含了当前页面标题(headers)链接的侧边栏,你可以通过 "),a("code",[t._v("YAML front matter")]),t._v(" 来实现:")]),t._v(" "),a("div",{staticClass:"language-yaml extra-class"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("sidebar")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" auto\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),a("p",[t._v("你也可以通过配置来在所有页面中启用它:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sidebar"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'auto'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("在 "),a("router-link",{attrs:{to:"./../guide/i18n.html"}},[t._v("多语言")]),t._v(" 模式下, 你也可以将其应用到某一特定的语言下:")],1),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v("'/zh/'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sidebar"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'auto'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h3",{attrs:{id:"禁用侧边栏"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#禁用侧边栏","aria-hidden":"true"}},[t._v("#")]),t._v(" 禁用侧边栏")]),t._v(" "),a("p",[t._v("你可以通过 "),a("code",[t._v("YAML front matter")]),t._v(" 来禁用指定页面的侧边栏:")]),t._v(" "),a("div",{staticClass:"language-yaml extra-class"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("sidebar")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean important"}},[t._v("false")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),a("h2",{attrs:{id:"搜索框"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#搜索框","aria-hidden":"true"}},[t._v("#")]),t._v(" 搜索框")]),t._v(" "),a("h3",{attrs:{id:"内置搜索"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#内置搜索","aria-hidden":"true"}},[t._v("#")]),t._v(" 内置搜索")]),t._v(" "),a("p",[t._v("你可以通过设置 "),a("code",[t._v("themeConfig.search: false")]),t._v(" 来禁用默认的搜索框,或是通过 "),a("code",[t._v("themeConfig.searchMaxSuggestions")]),t._v(" 来调整默认搜索框显示的搜索结果数量:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n search"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("false")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n searchMaxSuggestions"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token number"}},[t._v("10")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("内置搜索只会为页面的标题、"),a("code",[t._v("h2")]),t._v(" 和 "),a("code",[t._v("h3")]),t._v(" 构建搜索索引,如果你需要全文搜索,你可以使用 "),a("a",{attrs:{href:"#Algolia-%E6%90%9C%E7%B4%A2"}},[t._v("Algolia 搜索")]),t._v("。")])]),t._v(" "),a("h3",{attrs:{id:"algolia-搜索"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#algolia-搜索","aria-hidden":"true"}},[t._v("#")]),t._v(" Algolia 搜索")]),t._v(" "),a("p",[t._v("你可以通过 "),a("code",[t._v("themeConfig.algolia")]),t._v(" 选项来用 "),a("a",{attrs:{href:"https://community.algolia.com/docsearch/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Algolia 搜索"),a("OutboundLink")],1),t._v(" 替换内置的搜索框。要启用 Algolia 搜索,你需要至少提供 "),a("code",[t._v("apiKey")]),t._v(" 和 "),a("code",[t._v("indexName")]),t._v(":")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n algolia"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n apiKey"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'<API_KEY>'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n indexName"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'<INDEX_NAME>'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("注意")]),t._v(" "),a("p",[t._v("不同于开箱即用的 "),a("a",{attrs:{href:"#%E5%86%85%E7%BD%AE%E6%90%9C%E7%B4%A2"}},[t._v("内置搜索")]),t._v(","),a("a",{attrs:{href:"https://community.algolia.com/docsearch/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Algolia 搜索"),a("OutboundLink")],1),t._v(" 需要你在使用之前将你的网站提交给它们用于创建索引。")])]),t._v(" "),a("p",[t._v("更多选项请参考 "),a("a",{attrs:{href:"https://github.com/algolia/docsearch#docsearch-options",target:"_blank",rel:"noopener noreferrer"}},[t._v("Algolia DocSearch 的文档"),a("OutboundLink")],1),t._v("。")]),t._v(" "),a("h2",{attrs:{id:"最后更新时间"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#最后更新时间","aria-hidden":"true"}},[t._v("#")]),t._v(" 最后更新时间")]),t._v(" "),a("p",[t._v("你可以通过 "),a("code",[t._v("themeConfig.lastUpdated")]),t._v(" 选项来获取每个文件最后一次 "),a("code",[t._v("git")]),t._v(" 提交的 UNIX 时间戳(ms),同时它将以合适的日期格式显示在每一页的底部:")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n lastUpdated"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'Last Updated'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// string | boolean")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("请注意,"),a("code",[t._v("themeConfig.lastUpdated")]),t._v(" 默认是关闭的,如果给定一个字符串,它将会作为前缀显示(默认值是:"),a("code",[t._v("Last Updated")]),t._v(")。")]),t._v(" "),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("使用须知")]),t._v(" "),a("p",[t._v("由于 "),a("code",[t._v("lastUpdated")]),t._v(" 是基于 "),a("code",[t._v("git")]),t._v(" 的, 所以你只能在一个基于 "),a("code",[t._v("git")]),t._v(" 的项目中启用它。")])]),t._v(" "),a("h2",{attrs:{id:"service-worker"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#service-worker","aria-hidden":"true"}},[t._v("#")]),t._v(" Service Worker")]),t._v(" "),a("p",[a("code",[t._v("themeConfig.serviceWorker")]),t._v(" 允许你去配置 Service Worker。")]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),a("p",[t._v("请不要将本选项与 "),a("router-link",{attrs:{to:"./../config/#serviceworker"}},[t._v("Config > serviceWorker")]),t._v(" 混淆,"),a("router-link",{attrs:{to:"./../config/#serviceworker"}},[t._v("Config > serviceWorker")]),t._v(" 是网站级别的配置,而本选项是主题级别的配置。")],1)]),t._v(" "),a("h3",{attrs:{id:"刷新内容的弹窗"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#刷新内容的弹窗","aria-hidden":"true"}},[t._v("#")]),t._v(" 刷新内容的弹窗 "),a("Badge",{attrs:{text:"0.13.0+"}}),t._v(" "),a("Badge",{attrs:{text:"beta",type:"warn"}})],1),t._v(" "),a("p",[t._v("开启 "),a("code",[t._v("themeConfig.serviceWorker.updatePopup")]),t._v(" 选项,将开启一个能够刷新内容的弹窗。当网站更新(即 Service Worker 更新)时,它会提供一个 "),a("code",[t._v("refresh")]),t._v(" 按钮,允许用户立刻刷新内容。")]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),a("p",[t._v("如果没有 "),a("code",[t._v("refresh")]),t._v(" 按钮,新的 service worker 将在所有的 "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/Clients",target:"_blank",rel:"noopener noreferrer"}},[t._v("clients"),a("OutboundLink")],1),t._v(" 关闭后才会处于活动状态。这意味着访问者在关闭你网站的所有标签之前将无法看到新内容。但是,"),a("code",[t._v("refresh")]),t._v(" 按钮可以立即激活新的 Service Worker。")])]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n serviceWorker"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n updatePopup"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("// Boolean | Object, 默认值是 undefined.")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 如果设置为 true, 默认的文本配置将是: ")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// updatePopup: { ")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v('// message: "New content is available.", ')]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v('// buttonText: "Refresh" ')]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// }")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"上-下一篇链接"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#上-下一篇链接","aria-hidden":"true"}},[t._v("#")]),t._v(" 上 / 下一篇链接")]),t._v(" "),a("p",[t._v("上一篇和下一篇文章的链接将会自动地根据当前页面的侧边栏的顺序来获取。你也可以使用 "),a("code",[t._v("YAML front matter")]),t._v(" 来明确地重写或者禁用它:")]),t._v(" "),a("div",{staticClass:"language-yaml extra-class"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("prev")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ./some"),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("other"),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("page\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("next")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean important"}},[t._v("false")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),a("h2",{attrs:{id:"git-仓库和编辑链接"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#git-仓库和编辑链接","aria-hidden":"true"}},[t._v("#")]),t._v(" Git 仓库和编辑链接")]),t._v(" "),a("p",[t._v("当你提供了 "),a("code",[t._v("themeConfig.repo")]),t._v(" 选项,将会自动在每个页面的导航栏生成生成一个 GitHub 链接,以及在页面的底部生成一个 "),a("code",[t._v('"Edit this page"')]),t._v(" 链接。")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// .vuepress/config.js")]),t._v("\nmodule"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n themeConfig"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 假定是 GitHub. 同时也可以是一个完整的 GitLab URL")]),t._v("\n repo"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'vuejs/vuepress'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 自定义仓库链接文字。默认从 `themeConfig.repo` 中自动推断为")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v('// "GitHub"/"GitLab"/"Bitbucket" 其中之一,或是 "Source"。')]),t._v("\n repoLabel"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'查看源码'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 以下为可选的编辑链接选项")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 假如你的文档仓库和项目本身不在一个仓库:")]),t._v("\n docsRepo"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'vuejs/vuepress'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 假如文档不是放在仓库的根目录下:")]),t._v("\n docsDir"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'docs'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 假如文档放在一个特定的分支下:")]),t._v("\n docsBranch"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'master'")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// 默认是 false, 设置为 true 来启用")]),t._v("\n editLinks"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v('// 默认为 "Edit this page"')]),t._v("\n editLinkText"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v("'帮助我们改善此页面!'")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("你可以通过 "),a("code",[t._v("YAML front matter")]),t._v(" 来禁用指定页面的编辑链接:")]),t._v(" "),a("div",{staticClass:"language-yaml extra-class"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("editLink")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token boolean important"}},[t._v("false")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),a("h2",{attrs:{id:"自定义页面类"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#自定义页面类","aria-hidden":"true"}},[t._v("#")]),t._v(" 自定义页面类")]),t._v(" "),a("p",[t._v("有时候你可能需要为特定页面添加一个 CSS 类名,以方便针对该页面添加一些专门的 CSS。这种情况下你可以在该页面的 YAML front matter 中声明一个 "),a("code",[t._v("pageClass")]),t._v(":")]),t._v(" "),a("div",{staticClass:"language-yaml extra-class"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("pageClass")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" custom"),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("page"),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v("class\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),a("p",[t._v("然后你就可以写专门针对该页面的 CSS 了:")]),t._v(" "),a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("/* .vuepress/override.styl */")]),t._v("\n\n"),a("span",{attrs:{class:"token selector"}},[t._v(".theme-container.custom-page-class")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("/* 特定页面的 CSS */")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"特定页面的自定义布局"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#特定页面的自定义布局","aria-hidden":"true"}},[t._v("#")]),t._v(" 特定页面的自定义布局")]),t._v(" "),a("p",[t._v("默认情况下,每个 "),a("code",[t._v("*.md")]),t._v(" 文件将会被渲染在一个 "),a("code",[t._v('<div class="page">')]),t._v(" 容器中,同时还有侧边栏、自动生成的编辑链接,以及上 / 下一篇文章的链接。如果你想要使用一个完全自定义的组件来代替当前的页面(而只保留导航栏),你可以再次使用 "),a("code",[t._v("YAML front matter")]),t._v(" 来指定这个组件。")]),t._v(" "),a("div",{staticClass:"language-yaml extra-class"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("layout")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" SpecialLayout\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n")])])]),a("p",[t._v("这将会为当前的页面渲染 "),a("code",[t._v(".vuepress/components/SpecialLayout.vue")]),t._v(" 布局。")])])},[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/86.a3020788.js b/vuepress/assets/js/86.a3020788.js new file mode 100644 index 0000000000..7e1a520fde --- /dev/null +++ b/vuepress/assets/js/86.a3020788.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[86],{133:function(n,w,o){}}]); \ No newline at end of file diff --git a/vuepress/assets/js/87.f276c65b.js b/vuepress/assets/js/87.f276c65b.js new file mode 100644 index 0000000000..5e2dcbe229 --- /dev/null +++ b/vuepress/assets/js/87.f276c65b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[87],{155:function(t,e,s){},190:function(t,e,s){"use strict";var n=s(155);s.n(n).a},285:function(t,e,s){"use strict";s.r(e);s(190);var n=s(5),u=Object(n.a)({},function(){this.$createElement;this._self._c;return this._m(0)},[function(){var t=this.$createElement,e=this._self._c||t;return e("p",{staticClass:"bit-sponsor"},[e("a",{attrs:{href:"https://www.bitsrc.io/?utm_source=vue&utm_medium=vue&utm_campaign=vue&utm_term=vue&utm_content=vue",target:"_blank"}},[e("span",[this._v("This project is sponsored by")]),this._v(" "),e("img",{attrs:{alt:"bit",src:"https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/bit-wide.png"}})])])}],!1,null,null,null);e.default=u.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/88.4a8aea21.js b/vuepress/assets/js/88.4a8aea21.js new file mode 100644 index 0000000000..60a45199c2 --- /dev/null +++ b/vuepress/assets/js/88.4a8aea21.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[88],{286:function(t,n,e){"use strict";e.r(n);var s=e(5),i=Object(s.a)({},function(){var t=this.$createElement;return(this._self._c||t)("p",{staticClass:"demo"},[this._v("This is another component")])},[],!1,null,null,null);n.default=i.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/89.b51fcc0a.js b/vuepress/assets/js/89.b51fcc0a.js new file mode 100644 index 0000000000..5b2644fa66 --- /dev/null +++ b/vuepress/assets/js/89.b51fcc0a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[89],{156:function(t,n,r){},191:function(t,n,r){"use strict";var e=r(156);r.n(e).a},287:function(t,n,r){"use strict";r.r(n);var e={functional:!0,props:{title:String,required:!0},render:function(t,n){var r=n.props,e=n.slots;return t("div",{class:["upgrade-path"]},[t("h4",r.title||"Upgrade Path"),e().default])}},i=(r(191),r(5)),u=Object(i.a)(e,void 0,void 0,!1,null,null,null);n.default=u.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/9.164bd82f.js b/vuepress/assets/js/9.164bd82f.js new file mode 100644 index 0000000000..52228cca96 --- /dev/null +++ b/vuepress/assets/js/9.164bd82f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{206:function(t,s,a){"use strict";a.r(s);var n={props:["slot-key"],mounted:function(){this.$nextTick(function(){this.$vuepress.$emit("AsyncMarkdownContentMounted",this.slotKey)})}},e=a(5),o=Object(e.a)(n,function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.slotKey}},[a("h1",{attrs:{id:"deploying"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#deploying","aria-hidden":"true"}},[t._v("#")]),t._v(" Deploying")]),t._v(" "),a("p",[t._v("The following guides are based on a few shared assumptions:")]),t._v(" "),a("ul",[a("li",[t._v("You are placing your docs inside the "),a("code",[t._v("docs")]),t._v(" directory of your project;")]),t._v(" "),a("li",[t._v("You are using the default build output location ("),a("code",[t._v(".vuepress/dist")]),t._v(");")]),t._v(" "),a("li",[t._v("VuePress is installed as a local dependency in your project, and you have setup the following npm scripts:")])]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"scripts"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"docs:build"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"vuepress build docs"')]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"github-pages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#github-pages","aria-hidden":"true"}},[t._v("#")]),t._v(" GitHub Pages")]),t._v(" "),a("ol",[a("li",[a("p",[t._v("Set correct "),a("code",[t._v("base")]),t._v(" in "),a("code",[t._v("docs/.vuepress/config.js")]),t._v(".")]),t._v(" "),a("p",[t._v("If you are deploying to "),a("code",[t._v("https://<USERNAME>.github.io/")]),t._v(", you can omit "),a("code",[t._v("base")]),t._v(" as it defaults to "),a("code",[t._v('"/"')]),t._v(".")]),t._v(" "),a("p",[t._v("If you are deploying to "),a("code",[t._v("https://<USERNAME>.github.io/<REPO>/")]),t._v(", (i.e. your repository is at "),a("code",[t._v("https://github.com/<USERNAME>/<REPO>")]),t._v("), set "),a("code",[t._v("base")]),t._v(" to "),a("code",[t._v('"/<REPO>/"')]),t._v(".")])]),t._v(" "),a("li",[a("p",[t._v("Inside your project, create "),a("code",[t._v("deploy.sh")]),t._v(" with the following content (with highlighted lines uncommented appropriately) and run it to deploy:")])])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("div",{staticClass:"highlight-lines"},[a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br"),a("br"),a("br")]),a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("#!/usr/bin/env sh")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# abort on errors")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("set")]),t._v(" -e\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# build")]),t._v("\n"),a("span",{attrs:{class:"token function"}},[t._v("npm")]),t._v(" run docs:build\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# navigate into the build output directory")]),t._v("\n"),a("span",{attrs:{class:"token function"}},[t._v("cd")]),t._v(" docs/.vuepress/dist\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# if you are deploying to a custom domain")]),t._v("\n"),a("span",{attrs:{class:"token comment"}},[t._v("# echo 'www.example.com' > CNAME")]),t._v("\n\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" init\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" add -A\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" commit -m "),a("span",{attrs:{class:"token string"}},[t._v("'deploy'")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# if you are deploying to https://<USERNAME>.github.io")]),t._v("\n"),a("span",{attrs:{class:"token comment"}},[t._v("# git push -f git@github.com:<USERNAME>/<USERNAME>.github.io.git master")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# if you are deploying to https://<USERNAME>.github.io/<REPO>")]),t._v("\n"),a("span",{attrs:{class:"token comment"}},[t._v("# git push -f git@github.com:<USERNAME>/<REPO>.git master:gh-pages")]),t._v("\n\n"),a("span",{attrs:{class:"token function"}},[t._v("cd")]),t._v(" -\n")])])]),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("You can also run the above script in your CI setup to enable automatic deployment on each push.")])]),t._v(" "),a("h2",{attrs:{id:"gitlab-pages-and-gitlab-ci"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#gitlab-pages-and-gitlab-ci","aria-hidden":"true"}},[t._v("#")]),t._v(" GitLab Pages and GitLab CI")]),t._v(" "),a("ol",[a("li",[a("p",[t._v("Set correct "),a("code",[t._v("base")]),t._v(" in "),a("code",[t._v("docs/.vuepress/config.js")]),t._v(".")]),t._v(" "),a("p",[t._v("If you are deploying to "),a("code",[t._v("https://<USERNAME or GROUP>.gitlab.io/")]),t._v(", you can omit "),a("code",[t._v("base")]),t._v(" as it defaults to "),a("code",[t._v('"/"')]),t._v(".")]),t._v(" "),a("p",[t._v("If you are deploying to "),a("code",[t._v("https://<USERNAME or GROUP>.gitlab.io/<REPO>/")]),t._v(", (i.e. your repository is at "),a("code",[t._v("https://gitlab.com/<USERNAME>/<REPO>")]),t._v("), set "),a("code",[t._v("base")]),t._v(" to "),a("code",[t._v('"/<REPO>/"')]),t._v(".")])]),t._v(" "),a("li",[a("p",[t._v("Set "),a("code",[t._v("dest")]),t._v(" in "),a("code",[t._v(".vuepress/config.js")]),t._v(" to "),a("code",[t._v("public")]),t._v(".")])]),t._v(" "),a("li",[a("p",[t._v("Create a file called "),a("code",[t._v(".gitlab-ci.yml")]),t._v(" in the root of your project with the content below. This will build and deploy your site whenever you make changes to your content.")])])]),t._v(" "),a("div",{staticClass:"language-yaml extra-class"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{attrs:{class:"token key atrule"}},[t._v("image")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" node"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("9.11.1\n\n"),a("span",{attrs:{class:"token key atrule"}},[t._v("pages")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("cache")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("paths")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" node_modules/\n\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("script")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" npm install\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" npm run docs"),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("build\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("artifacts")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("paths")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" public\n "),a("span",{attrs:{class:"token key atrule"}},[t._v("only")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" master\n")])])]),a("h2",{attrs:{id:"netlify"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#netlify","aria-hidden":"true"}},[t._v("#")]),t._v(" Netlify")]),t._v(" "),a("ol",[a("li",[t._v("On Netlify, setup up a new project from GitHub with the following settings:")])]),t._v(" "),a("ul",[a("li",[a("strong",[t._v("Build Command:")]),t._v(" "),a("code",[t._v("npm run docs:build")]),t._v(" or "),a("code",[t._v("yarn docs:build")])]),t._v(" "),a("li",[a("strong",[t._v("Publish directory:")]),t._v(" "),a("code",[t._v("docs/.vuepress/dist")])])]),t._v(" "),a("ol",{attrs:{start:"2"}},[a("li",[t._v("Hit the deploy button!")])]),t._v(" "),a("h2",{attrs:{id:"google-firebase"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#google-firebase","aria-hidden":"true"}},[t._v("#")]),t._v(" Google Firebase")]),t._v(" "),a("ol",[a("li",[a("p",[t._v("Make sure you have "),a("a",{attrs:{href:"https://www.npmjs.com/package/firebase-tools",target:"_blank",rel:"noopener noreferrer"}},[t._v("firebase-tools"),a("OutboundLink")],1),t._v(" installed.")])]),t._v(" "),a("li",[a("p",[t._v("Create "),a("code",[t._v("firebase.json")]),t._v(" and "),a("code",[t._v(".firebaserc")]),t._v(" at the root of your project with the following content:")])])]),t._v(" "),a("p",[a("code",[t._v("firebase.json")]),t._v(":")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"hosting"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"public"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"./docs/.vuepress/dist"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"ignore"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[a("code",[t._v(".firebaserc")]),t._v(":")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v('"projects"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v('"default"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"<YOUR_FIREBASE_ID>"')]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("ol",{attrs:{start:"3"}},[a("li",[t._v("After running "),a("code",[t._v("yarn docs:build")]),t._v(" or "),a("code",[t._v("npm run docs:build")]),t._v(", deploy with the command "),a("code",[t._v("firebase deploy")]),t._v(".")])]),t._v(" "),a("h2",{attrs:{id:"surge"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#surge","aria-hidden":"true"}},[t._v("#")]),t._v(" Surge")]),t._v(" "),a("ol",[a("li",[a("p",[t._v("First install "),a("a",{attrs:{href:"https://www.npmjs.com/package/surge",target:"_blank",rel:"noopener noreferrer"}},[t._v("surge"),a("OutboundLink")],1),t._v(", if you haven't already.")])]),t._v(" "),a("li",[a("p",[t._v("Run "),a("code",[t._v("yarn docs:build")]),t._v(" or "),a("code",[t._v("npm run docs:build")]),t._v(".")])]),t._v(" "),a("li",[a("p",[t._v("Deploy to surge, by typing "),a("code",[t._v("surge docs/.vuepress/dist")]),t._v(".")])])]),t._v(" "),a("p",[t._v("You can also deploy to a "),a("a",{attrs:{href:"http://surge.sh/help/adding-a-custom-domain",target:"_blank",rel:"noopener noreferrer"}},[t._v("custom domain"),a("OutboundLink")],1),t._v(" by adding "),a("code",[t._v("surge docs/.vuepress/dist yourdomain.com")]),t._v(".")]),t._v(" "),a("h2",{attrs:{id:"heroku"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#heroku","aria-hidden":"true"}},[t._v("#")]),t._v(" Heroku")]),t._v(" "),a("ol",[a("li",[a("p",[t._v("First install "),a("a",{attrs:{href:"https://devcenter.heroku.com/articles/heroku-cli",target:"_blank",rel:"noopener noreferrer"}},[t._v("Heroku CLI"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("li",[a("p",[t._v("Create a Heroku account "),a("a",{attrs:{href:"https://signup.heroku.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("li",[a("p",[t._v("Run "),a("code",[t._v("heroku login")]),t._v(" and fill in your Heroku credentials:")])])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("heroku login\n")])])]),a("ol",{attrs:{start:"4"}},[a("li",[t._v("Create a file called "),a("code",[t._v("static.json")]),t._v(" in the root of your project with the content below:")])]),t._v(" "),a("p",[a("code",[t._v("static.json")]),t._v(":")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"root"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"./docs/.vuepress/dist"')]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("This is the configuration of your site. see more at "),a("a",{attrs:{href:"https://github.com/heroku/heroku-buildpack-static",target:"_blank",rel:"noopener noreferrer"}},[t._v("heroku-buildpack-static"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("ol",{attrs:{start:"5"}},[a("li",[t._v("Set up your Heroku git remote:")])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("# version change")]),t._v("\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" init\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" add "),a("span",{attrs:{class:"token keyword"}},[t._v(".")]),t._v("\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" commit -m "),a("span",{attrs:{class:"token string"}},[t._v('"My site ready for deployment."')]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# creates a new app with a specified name")]),t._v("\nheroku apps:create example\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# set buildpack for static sites")]),t._v("\nheroku buildpacks:set https://github.com/heroku/heroku-buildpack-static.git\n")])])]),a("ol",{attrs:{start:"6"}},[a("li",[t._v("Deploying Your Site")])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("# publish site")]),t._v("\n"),a("span",{attrs:{class:"token function"}},[t._v("git")]),t._v(" push heroku master\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("# opens a browser to view the Dashboard version of Heroku CI")]),t._v("\nheroku "),a("span",{attrs:{class:"token function"}},[t._v("open")]),t._v("\n")])])]),a("h2",{attrs:{id:"now"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#now","aria-hidden":"true"}},[t._v("#")]),t._v(" Now")]),t._v(" "),a("ol",[a("li",[a("p",[t._v("Install the Now CLI globally: "),a("code",[t._v("npm install -g now")])])]),t._v(" "),a("li",[a("p",[t._v("Add a "),a("code",[t._v("docs.now.json")]),t._v(" file to your project root:")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"name"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"my-cool-docs"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"type"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"static"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"static"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"public"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"docs/.vuepress/dist"')]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"alias"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"my-cool-docs"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token property"}},[t._v('"files"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{attrs:{class:"token string"}},[t._v('"docs/.vuepress/dist"')]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("You can further customize the static serving behavior by consulting "),a("a",{attrs:{href:"https://zeit.co/docs/deployment-types/static",target:"_blank",rel:"noopener noreferrer"}},[t._v("Now's documentation"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("li",[a("p",[t._v("Adding a deployment script in "),a("code",[t._v("package.json")]),t._v(":")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token property"}},[t._v('"docs:deploy"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"npm run docs:build && now --local-config docs.now.json && now alias --local-config docs.now.json"')]),t._v("\n")])])]),a("p",[t._v("If you want to deploy publicly by default, you can change the deployment script to the following one:")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{attrs:{class:"token property"}},[t._v('"docs:deploy"')]),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"npm run docs:build && now --public --local-config docs.now.json && now alias --local-config docs.now.json"')]),t._v("\n")])])]),a("p",[t._v("This will automatically point your site's alias to the latest deployment. Now, just run "),a("code",[t._v("npm run docs:deploy")]),t._v(" to deploy your app.")])])])])},[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/90.3bdc019a.js b/vuepress/assets/js/90.3bdc019a.js new file mode 100644 index 0000000000..20f2c47386 --- /dev/null +++ b/vuepress/assets/js/90.3bdc019a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[90],{283:function(t,s,n){"use strict";n.r(s);var e={data:function(){return{msg:"Hello this is <demo-1>"}}},i=n(5),l=Object(i.a)(e,function(){var t=this.$createElement;return(this._self._c||t)("p",{staticClass:"demo"},[this._v("\n "+this._s(this.msg)+"\n")])},[],!1,null,null,null);s.default=l.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/91.cd31807c.js b/vuepress/assets/js/91.cd31807c.js new file mode 100644 index 0000000000..a22eb23377 --- /dev/null +++ b/vuepress/assets/js/91.cd31807c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[91],{288:function(t,a,r){"use strict";r.r(a);var n=r(5),l=Object(n.a)({},function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("svg-container",[r("svg",{attrs:{width:"400px",viewBox:"0 0 688 403",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}},[r("defs",[r("rect",{attrs:{id:"path-1",x:"140",y:"0",width:"549",height:"176",rx:"20"}}),t._v(" "),r("mask",{attrs:{id:"mask-2",maskContentUnits:"userSpaceOnUse",maskUnits:"objectBoundingBox",x:"0",y:"0",width:"549",height:"176",fill:"white"}},[r("use",{attrs:{"xlink:href":"#path-1"}})])]),t._v(" "),r("g",{attrs:{id:"Page-1",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"}},[r("g",{attrs:{id:"diagram-markdown-slot-relationship",transform:"translate(-1.000000, 0.000000)"}},[r("circle",{attrs:{id:"Oval",fill:"#00BC7D","fill-rule":"nonzero",cx:"235",cy:"88",r:"59"}}),t._v(" "),r("text",{attrs:{id:"Markdown-File-1","font-family":"PingFangSC-Regular, PingFang SC","font-size":"20","font-weight":"normal",fill:"#FFFFFF"}},[r("tspan",{attrs:{x:"186.79",y:"85"}},[t._v("Markdown ")]),t._v(" "),r("tspan",{attrs:{x:"211.43",y:"113"}},[t._v("File 1")])]),t._v(" "),r("circle",{attrs:{id:"Oval",fill:"#00BC7D","fill-rule":"nonzero",cx:"415",cy:"88",r:"59"}}),t._v(" "),r("text",{attrs:{id:"Markdown-File-2","font-family":"PingFangSC-Regular, PingFang SC","font-size":"20","font-weight":"normal",fill:"#FFFFFF"}},[r("tspan",{attrs:{x:"366.79",y:"85"}},[t._v("Markdown ")]),t._v(" "),r("tspan",{attrs:{x:"389.44",y:"113"}},[t._v("File 2")])]),t._v(" "),r("circle",{attrs:{id:"Oval",fill:"#EB4D5D","fill-rule":"nonzero",transform:"translate(419.000000, 320.000000) rotate(-360.000000) translate(-419.000000, -320.000000) ",cx:"419",cy:"320",r:"83"}}),t._v(" "),r("text",{attrs:{id:"Layout-Component",transform:"translate(419.000000, 320.000000) rotate(-360.000000) translate(-419.000000, -320.000000) ","font-family":"PingFangSC-Regular, PingFang SC","font-size":"24","font-weight":"normal",fill:"#FFFFFF"}},[r("tspan",{attrs:{x:"381.272",y:"312"}},[t._v("Layout")]),t._v(" "),r("tspan",{attrs:{x:"354.572",y:"345"}},[t._v("Component")])]),t._v(" "),r("circle",{attrs:{id:"Oval",fill:"#00BC7D","fill-rule":"nonzero",cx:"595",cy:"88",r:"59"}}),t._v(" "),r("text",{attrs:{id:"Markdown-File-3","font-family":"PingFangSC-Regular, PingFang SC","font-size":"20","font-weight":"normal",fill:"#FFFFFF"}},[r("tspan",{attrs:{x:"546.79",y:"85"}},[t._v("Markdown ")]),t._v(" "),r("tspan",{attrs:{x:"569.44",y:"113"}},[t._v("File 3")])]),t._v(" "),r("use",{attrs:{id:"Rectangle",stroke:"#DC585F",mask:"url(#mask-2)","stroke-width":"8","stroke-dasharray":"5","fill-rule":"nonzero","xlink:href":"#path-1"}}),t._v(" "),r("path",{attrs:{id:"Path",d:"M317.737594,275.914863 C316.399837,275.439513 315.071319,274.934993 313.752054,274.40131 L314.877079,271.620246 C316.062011,272.099587 317.254567,272.554642 318.454758,272.985416 L320.320183,265.365584 L336.516196,279.111098 L315.802177,283.8206 L317.737594,275.914863 Z M237.053972,153.839171 L240.036678,154.160829 C239.860222,155.797097 239.727284,157.431576 239.637858,159.064293 L236.642347,158.900223 C236.734662,157.214791 236.871873,155.527765 237.053972,153.839171 Z M236.500062,163.984683 L239.50006,163.988115 C239.498183,165.6288 239.540423,167.267783 239.626781,168.905092 L236.630945,169.063103 C236.541751,167.372018 236.498123,165.679201 236.500062,163.984683 Z M237.034923,174.12831 L240.017951,173.809652 C240.191774,175.436839 240.409353,177.062453 240.670697,178.686519 L237.708802,179.163147 C237.439026,177.486687 237.214397,175.808399 237.034923,174.12831 Z M238.651506,184.177472 L241.584397,183.54648 C241.927872,185.142975 242.313817,186.738038 242.742248,188.33169 L239.845114,189.110544 C239.40355,187.46804 239.005676,185.823676 238.651506,184.177472 Z M241.277699,193.960604 L244.133333,193.041173 C244.633282,194.593949 245.173728,196.145426 245.754688,197.695614 L242.945486,198.748412 C242.348064,197.154297 241.792129,195.558357 241.277699,193.960604 Z M244.837653,203.467846 L247.596505,202.289399 C248.237243,203.789426 248.91606,205.288264 249.632972,206.785917 L246.927022,208.081229 C246.191725,206.545169 245.495264,205.007373 244.837653,203.467846 Z M249.214331,212.61803 L251.865379,211.213771 C252.629062,212.6555 253.428173,214.096132 254.262722,215.535667 L251.667331,217.040308 C250.813682,215.567829 249.996012,214.093736 249.214331,212.61803 Z M254.297283,221.391099 L256.836394,219.793315 C257.706019,221.175275 258.60841,222.556214 259.543577,223.936131 L257.060143,225.61915 C256.106032,224.21128 255.185076,222.801931 254.297283,221.391099 Z M259.974465,229.772936 L262.402649,228.01114 C263.362565,229.334138 264.3527,230.656183 265.373059,231.977271 L262.998786,233.811072 C261.960192,232.466375 260.952083,231.120331 259.974465,229.772936 Z M266.091044,237.698109 L268.411267,235.796382 C269.468483,237.08625 270.534696,238.346975 271.6099,239.578562 L269.349958,241.551545 C268.25419,240.296403 267.167887,239.011923 266.091044,237.698109 Z M272.734865,245.303177 L274.928459,243.25668 C276.064358,244.474225 277.209951,245.660334 278.365233,246.815016 L276.244465,248.936888 C275.064352,247.757389 273.894487,246.546149 272.734865,245.303177 Z M279.887015,252.446537 L281.927895,250.247718 C283.145938,251.378269 284.374389,252.475061 285.613248,253.538106 L283.65964,255.814817 C282.391056,254.726266 281.133515,253.603502 279.887015,252.446537 Z M287.576785,259.039625 L289.435074,256.684468 C290.736664,257.711462 292.049366,258.702468 293.373181,259.657502 L291.617984,262.09046 C290.259116,261.110138 288.912049,260.093188 287.576785,259.039625 Z M295.785278,264.957777 L297.4295,262.448487 C298.812943,263.354993 300.208145,264.223547 301.615114,265.054165 L300.089978,267.637566 C298.64262,266.783104 297.207718,265.889835 295.785278,264.957777 Z M304.529995,270.116457 L305.928241,267.462232 C307.386943,268.230677 308.857919,268.959729 310.341185,269.649406 L309.076317,272.36972 C307.547965,271.659079 306.032519,270.907986 304.529995,270.116457 Z",fill:"#8599A4","fill-rule":"nonzero"}}),t._v(" "),r("path",{attrs:{id:"Path",d:"M505.524249,279.462157 L520.680172,264.577668 L526.525394,282.656202 L505.524249,279.462157 Z M607.459883,153.645338 L610.450216,153.404698 C610.586546,155.098816 610.691833,156.77921 610.766069,158.445876 L607.76904,158.579368 C607.696405,156.948625 607.593356,155.303949 607.459883,153.645338 Z M607.896371,163.523725 L610.896305,163.503827 C610.907594,165.205698 610.885378,166.892755 610.829647,168.56499 L607.831312,168.465065 C607.885706,166.832931 607.907396,165.18582 607.896371,163.523725 Z M607.562992,173.41012 L610.554458,173.636245 C610.42622,175.332733 610.262196,177.013376 610.062375,178.678161 L607.083754,178.320643 C607.278311,176.69972 607.43806,175.062883 607.562992,173.41012 Z M606.384557,183.20243 L609.343631,183.696275 C609.063719,185.373481 608.746022,187.033908 608.390534,188.677536 L605.458331,188.043351 C605.803721,186.446416 606.112465,184.832782 606.384557,183.20243 Z M604.291922,192.859811 L607.189213,193.63808 C606.748727,195.277893 606.269015,196.900206 605.750076,198.504997 L602.895608,197.581952 C603.399033,196.025135 603.864471,194.451096 604.291922,192.859811 Z M601.271525,202.20035 L604.075335,203.267423 C603.472603,204.851146 602.829959,206.41696 602.147412,207.96484 L599.402435,206.754426 C600.064131,205.253832 600.687158,203.735815 601.271525,202.20035 Z M597.290807,211.224832 L599.969243,212.576121 C599.208118,214.084773 598.407288,215.575496 597.566769,217.048269 L594.961228,215.561273 C595.776314,214.133064 596.552836,212.687591 597.290807,211.224832 Z M592.397896,219.797817 L594.924421,221.41543 C594.015938,222.834374 593.068787,224.235757 592.082984,225.619564 L589.639589,223.878927 C590.596732,222.53535 591.516161,221.174984 592.397896,219.797817 Z M586.660862,227.851867 L589.017105,229.708777 C587.977352,231.028126 586.900649,232.33062 585.787016,233.616254 L583.51944,231.652049 C584.602788,230.401378 585.649923,229.134653 586.660862,227.851867 Z M580.265616,235.264939 L582.455796,237.315088 C581.30524,238.54423 580.129172,239.752667 578.927599,240.940392 L576.818608,238.806814 C577.992605,237.646347 579.141605,236.465724 580.265616,235.264939 Z M573.232259,242.218017 L575.257873,244.430909 C574.018262,245.565611 572.753689,246.680004 571.464163,247.774085 L569.523296,245.486502 C570.784152,244.416746 572.02047,243.327252 573.232259,242.218017 Z M565.69619,248.613677 L567.551459,250.971213 C566.232998,252.008779 564.890366,253.026639 563.523572,254.024792 L561.754283,251.602063 C563.092093,250.625076 564.406059,249.628948 565.69619,248.613677 Z M557.696251,254.45734 L559.379522,256.940603 C557.993427,257.880163 556.584154,258.800801 555.151714,259.702516 L553.553517,257.163665 C554.957366,256.279948 556.338275,255.377839 557.696251,254.45734 Z M549.296271,259.746128 L550.810006,262.336225 C549.366211,263.180025 547.900334,264.005779 546.412381,264.81349 L544.981154,262.176903 C546.441447,261.384207 547.879818,260.573948 549.296271,259.746128 Z M540.616615,264.460914 L541.967561,267.139522 C540.476204,267.891683 538.963914,268.626729 537.430695,269.344665 L536.158499,266.62777 C537.665372,265.922171 539.15141,265.199884 540.616615,264.460914 Z M531.631899,268.669952 L532.82743,271.421444 C531.297326,272.086278 529.747462,272.734956 528.17784,273.367482 L527.056524,270.58492 C528.601359,269.962383 530.126483,269.324059 531.631899,268.669952 Z",fill:"#8599A4","fill-rule":"nonzero"}}),t._v(" "),r("path",{attrs:{id:"Line",d:"M415,229 L405.5,210 L424.5,210 L415,229 Z M413.5,154 L416.5,154 L416.5,159 L413.5,159 L413.5,154 Z M413.5,164 L416.5,164 L416.5,169 L413.5,169 L413.5,164 Z M413.5,174 L416.5,174 L416.5,179 L413.5,179 L413.5,174 Z M413.5,184 L416.5,184 L416.5,189 L413.5,189 L413.5,184 Z M413.5,194 L416.5,194 L416.5,199 L413.5,199 L413.5,194 Z M413.5,204 L416.5,204 L416.5,209 L413.5,209 L413.5,204 Z",fill:"#8599A4","fill-rule":"nonzero"}}),t._v(" "),r("text",{attrs:{id:"Provider",fill:"#8599A4","font-family":"Arial-Black, Arial Black","font-size":"25","font-weight":"700"}},[r("tspan",{attrs:{x:"0.06640625",y:"28"}},[t._v("Provider")])]),t._v(" "),r("text",{attrs:{id:"Consumer",fill:"#8599A4","font-family":"Arial-Black, Arial Black","font-size":"25","font-weight":"700"}},[r("tspan",{attrs:{x:"0.243896484",y:"327"}},[t._v("Consumer")])]),t._v(" "),r("path",{attrs:{d:"M161,320 L320.5,320",id:"Line-2",stroke:"#DC585F","stroke-width":"4","stroke-dasharray":"5","fill-rule":"nonzero"}})])])])])},[],!1,null,null,null);a.default=l.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/92.a4808ccd.js b/vuepress/assets/js/92.a4808ccd.js new file mode 100644 index 0000000000..7247a38ca2 --- /dev/null +++ b/vuepress/assets/js/92.a4808ccd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[92],{157:function(t,n,s){},192:function(t,n,s){"use strict";var e=s(157);s.n(e).a},289:function(t,n,s){"use strict";s.r(n);s(192);var e=s(5),i=Object(e.a)({},function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"svg-container"},[this._t("default")],2)},[],!1,null,null,null);n.default=i.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/93.09fb2654.js b/vuepress/assets/js/93.09fb2654.js new file mode 100644 index 0000000000..cf4ac13f4f --- /dev/null +++ b/vuepress/assets/js/93.09fb2654.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[93],{284:function(t,s,n){"use strict";n.r(s);var e={data:function(){return{msg:"Hello this is <Foo-Bar>"}}},i=n(5),a=Object(i.a)(e,function(){var t=this.$createElement;return(this._self._c||t)("p",{staticClass:"demo"},[this._v("\n "+this._s(this.msg)+"\n")])},[],!1,null,null,null);s.default=a.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/94.c8b3bda3.js b/vuepress/assets/js/94.c8b3bda3.js new file mode 100644 index 0000000000..eff643635c --- /dev/null +++ b/vuepress/assets/js/94.c8b3bda3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[94],{158:function(t,n,e){},193:function(t,n,e){"use strict";var r=e(158);e.n(r).a},290:function(t,n,e){"use strict";e.r(n);var r={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,n){var e=n.props,r=n.slots;return t("span",{class:["badge",e.type,e.vertical]},e.text||r().default)}},a=(e(193),e(5)),i=Object(a.a)(r,void 0,void 0,!1,null,"8525d186",null);n.default=i.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/95.36017126.js b/vuepress/assets/js/95.36017126.js new file mode 100644 index 0000000000..f7615105c9 --- /dev/null +++ b/vuepress/assets/js/95.36017126.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[95],{159:function(t,e,n){},194:function(t,e,n){"use strict";var o=n(159);n.n(o).a},199:function(t,e,n){"use strict";n.r(e);var o=n(18),a=n(55),u={"/":{message:"New content is available.",buttonText:"Refresh"},"/zh/":{message:"发现新内容可用",buttonText:"刷新"},"/ru/":{message:"Доступен новый контент.",buttonText:"Обновить"},"/uk/":{message:"Доступний новий контент.",buttonText:"Оновити"}},s={data:function(){return{rawPopupConfig:!0,updateEvent:null}},created:function(){o.a.$on("sw-updated",this.onSWUpdated),this.rawPopupConfig=u},computed:{popupConfig:function(){return Object(a.b)(this,this.rawPopupConfig)},enabled:function(){return Boolean(this.popupConfig&&this.updateEvent)},message:function(){var t=this.popupConfig;return t&&t.message||u["/"].message},buttonText:function(){var t=this.popupConfig;return t&&t.buttonText||u["/"].buttonText}},methods:{onSWUpdated:function(t){this.updateEvent=t},reload:function(){this.updateEvent&&(this.updateEvent.skipWaiting().then(function(){location.reload(!0)}),this.updateEvent=null)}}},i=(n(194),n(5)),p=Object(i.a)(s,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("transition",{attrs:{name:"sw-update-popup"}},[t._t("default",[t.enabled?n("div",{staticClass:"sw-update-popup"},[t._v("\n "+t._s(t.message)),n("br"),t._v(" "),n("button",{on:{click:t.reload}},[t._v(t._s(t.buttonText))])]):t._e()],{reload:t.reload,enabled:t.enabled,message:t.message,buttonText:t.buttonText})],2)},[],!1,null,"17203e57",null);e.default=p.exports}}]); \ No newline at end of file diff --git a/vuepress/assets/js/app.8ac36d9d.js b/vuepress/assets/js/app.8ac36d9d.js new file mode 100644 index 0000000000..d569b2c9d5 --- /dev/null +++ b/vuepress/assets/js/app.8ac36d9d.js @@ -0,0 +1,19 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(e){function t(t){for(var r,a,l=t[0],s=t[1],u=t[2],p=0,f=[];p<l.length;p++)a=l[p],i[a]&&f.push(i[a][0]),i[a]=0;for(r in s)Object.prototype.hasOwnProperty.call(s,r)&&(e[r]=s[r]);for(c&&c(t);f.length;)f.shift()();return o.push.apply(o,u||[]),n()}function n(){for(var e,t=0;t<o.length;t++){for(var n=o[t],r=!0,l=1;l<n.length;l++){var s=n[l];0!==i[s]&&(r=!1)}r&&(o.splice(t--,1),e=a(a.s=n[0]))}return e}var r={},i={1:0},o=[];function a(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,a),n.l=!0,n.exports}a.e=function(e){var t=[],n=i[e];if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=i[e]=[t,r]});t.push(n[2]=r);var o,l=document.getElementsByTagName("head")[0],s=document.createElement("script");s.charset="utf-8",s.timeout=120,a.nc&&s.setAttribute("nonce",a.nc),s.src=function(e){return a.p+"assets/js/"+({96:"vendors~docsearch",97:"vendors~notification"}[e]||e)+"."+{2:"9a3d3cef",3:"be112e9f",4:"d16007cf",5:"18c31fb7",6:"8ca9ae3b",7:"6d6f900c",8:"a7e0b975",9:"164bd82f",10:"90b6f866",11:"bb178c57",12:"1501540a",13:"6e978c39",14:"136ae6a3",15:"0c645d16",16:"8741a547",17:"5e50cd1d",18:"790476d7",19:"6749c256",20:"52144952",21:"a733da80",22:"cca14839",23:"d93cc55b",24:"1e5b5d2a",25:"7c13839d",26:"2a3806b6",27:"c450e6fb",28:"9169fe43",29:"0a1ff843",30:"25e010af",31:"effc1422",32:"86f38218",33:"0fab7803",34:"5e0d5a74",35:"e4e7fe67",36:"ca792103",37:"6d74e878",38:"a1c5df9a",39:"b0d2ff36",40:"af5932b9",41:"e26383c5",42:"bf69bddd",43:"c0368a24",44:"d601f92a",45:"5939c636",46:"2bc10ed6",47:"15e6f040",48:"a114b415",49:"a51c6fdf",50:"ed42f747",51:"f6a2c8b3",52:"522513d8",53:"2bdd820d",54:"15937a2d",55:"d78fbc49",56:"934f8911",57:"f2538317",58:"f465a17a",59:"00cd99d8",60:"e2e817e9",61:"e351f282",62:"7cb85843",63:"7a736cf3",64:"589ebe9e",65:"c7b9d4e8",66:"ee83944c",67:"1b7b5854",68:"b4e58228",69:"73f71dfd",70:"d0ec8013",71:"34cb1f27",72:"6528f86e",73:"ceac5146",74:"907fe0dc",75:"3ff1a49a",76:"22069a19",77:"8c5d4344",78:"79c9fb4c",79:"776ba4c9",80:"c82818bd",81:"95ebb7bf",82:"230a5beb",83:"ca9f99e0",84:"4ef99674",85:"05d2f860",86:"a3020788",87:"f276c65b",88:"4a8aea21",89:"b51fcc0a",90:"3bdc019a",91:"cd31807c",92:"a4808ccd",93:"09fb2654",94:"c8b3bda3",95:"36017126",96:"67496cf7",97:"cb8b10f9"}[e]+".js"}(e),o=function(t){s.onerror=s.onload=null,clearTimeout(u);var n=i[e];if(0!==n){if(n){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src,a=new Error("Loading chunk "+e+" failed.\n("+r+": "+o+")");a.type=r,a.request=o,n[1](a)}i[e]=void 0}};var u=setTimeout(function(){o({type:"timeout",target:s})},12e4);s.onerror=s.onload=o,l.appendChild(s)}return Promise.all(t)},a.m=e,a.c=r,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)a.d(n,r,function(t){return e[t]}.bind(null,r));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/",a.oe=function(e){throw console.error(e),e};var l=window.webpackJsonp=window.webpackJsonp||[],s=l.push.bind(l);l.push=t,l=l.slice();for(var u=0;u<l.length;u++)t(l[u]);var c=s;o.push([92,0]),n()}([function(e,t,n){"use strict"; +/*! + * Vue.js v2.5.16 + * (c) 2014-2018 Evan You + * Released under the MIT License. + */var r=Object.freeze({});function i(e){return void 0===e||null===e}function o(e){return void 0!==e&&null!==e}function a(e){return!0===e}function l(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function s(e){return null!==e&&"object"==typeof e}var u=Object.prototype.toString;function c(e){return"[object Object]"===u.call(e)}function p(e){return"[object RegExp]"===u.call(e)}function f(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function d(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function h(e){var t=parseFloat(e);return isNaN(t)?e:t}function v(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}v("slot,component",!0);var g=v("key,ref,slot,slot-scope,is");function m(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}var y=Object.prototype.hasOwnProperty;function b(e,t){return y.call(e,t)}function k(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var x=/-(\w)/g,w=k(function(e){return e.replace(x,function(e,t){return t?t.toUpperCase():""})}),_=k(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),C=/\B([A-Z])/g,P=k(function(e){return e.replace(C,"-$1").toLowerCase()});var E=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function A(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function O(e,t){for(var n in t)e[n]=t[n];return e}function T(e){for(var t={},n=0;n<e.length;n++)e[n]&&O(t,e[n]);return t}function S(e,t,n){}var $=function(e,t,n){return!1},j=function(e){return e};function z(e,t){if(e===t)return!0;var n=s(e),r=s(t);if(!n||!r)return!n&&!r&&String(e)===String(t);try{var i=Array.isArray(e),o=Array.isArray(t);if(i&&o)return e.length===t.length&&e.every(function(e,n){return z(e,t[n])});if(i||o)return!1;var a=Object.keys(e),l=Object.keys(t);return a.length===l.length&&a.every(function(n){return z(e[n],t[n])})}catch(e){return!1}}function L(e,t){for(var n=0;n<e.length;n++)if(z(e[n],t))return n;return-1}function M(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var I="data-server-rendered",U=["component","directive","filter"],N=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],R={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:$,isReservedAttr:$,isUnknownElement:$,getTagNamespace:S,parsePlatformTagName:j,mustUseProp:$,_lifecycleHooks:N};function D(e){var t=(e+"").charCodeAt(0);return 36===t||95===t}function F(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var H=/[^\w.$]/;var V,W="__proto__"in{},B="undefined"!=typeof window,q="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,G=q&&WXEnvironment.platform.toLowerCase(),K=B&&window.navigator.userAgent.toLowerCase(),Y=K&&/msie|trident/.test(K),Q=K&&K.indexOf("msie 9.0")>0,X=K&&K.indexOf("edge/")>0,J=(K&&K.indexOf("android"),K&&/iphone|ipad|ipod|ios/.test(K)||"ios"===G),Z=(K&&/chrome\/\d+/.test(K),{}.watch),ee=!1;if(B)try{var te={};Object.defineProperty(te,"passive",{get:function(){ee=!0}}),window.addEventListener("test-passive",null,te)}catch(e){}var ne=function(){return void 0===V&&(V=!B&&!q&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),V},re=B&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ie(e){return"function"==typeof e&&/native code/.test(e.toString())}var oe,ae="undefined"!=typeof Symbol&&ie(Symbol)&&"undefined"!=typeof Reflect&&ie(Reflect.ownKeys);oe="undefined"!=typeof Set&&ie(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var le=S,se=0,ue=function(){this.id=se++,this.subs=[]};ue.prototype.addSub=function(e){this.subs.push(e)},ue.prototype.removeSub=function(e){m(this.subs,e)},ue.prototype.depend=function(){ue.target&&ue.target.addDep(this)},ue.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},ue.target=null;var ce=[];function pe(e){ue.target&&ce.push(ue.target),ue.target=e}function fe(){ue.target=ce.pop()}var de=function(e,t,n,r,i,o,a,l){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=l,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},he={child:{configurable:!0}};he.child.get=function(){return this.componentInstance},Object.defineProperties(de.prototype,he);var ve=function(e){void 0===e&&(e="");var t=new de;return t.text=e,t.isComment=!0,t};function ge(e){return new de(void 0,void 0,void 0,String(e))}function me(e){var t=new de(e.tag,e.data,e.children,e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.isCloned=!0,t}var ye=Array.prototype,be=Object.create(ye);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(e){var t=ye[e];F(be,e,function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var i,o=t.apply(this,n),a=this.__ob__;switch(e){case"push":case"unshift":i=n;break;case"splice":i=n.slice(2)}return i&&a.observeArray(i),a.dep.notify(),o})});var ke=Object.getOwnPropertyNames(be),xe=!0;function we(e){xe=e}var _e=function(e){(this.value=e,this.dep=new ue,this.vmCount=0,F(e,"__ob__",this),Array.isArray(e))?((W?Ce:Pe)(e,be,ke),this.observeArray(e)):this.walk(e)};function Ce(e,t,n){e.__proto__=t}function Pe(e,t,n){for(var r=0,i=n.length;r<i;r++){var o=n[r];F(e,o,t[o])}}function Ee(e,t){var n;if(s(e)&&!(e instanceof de))return b(e,"__ob__")&&e.__ob__ instanceof _e?n=e.__ob__:xe&&!ne()&&(Array.isArray(e)||c(e))&&Object.isExtensible(e)&&!e._isVue&&(n=new _e(e)),t&&n&&n.vmCount++,n}function Ae(e,t,n,r,i){var o=new ue,a=Object.getOwnPropertyDescriptor(e,t);if(!a||!1!==a.configurable){var l=a&&a.get;l||2!==arguments.length||(n=e[t]);var s=a&&a.set,u=!i&&Ee(n);Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var t=l?l.call(e):n;return ue.target&&(o.depend(),u&&(u.dep.depend(),Array.isArray(t)&&function e(t){for(var n=void 0,r=0,i=t.length;r<i;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&e(n)}(t))),t},set:function(t){var r=l?l.call(e):n;t===r||t!=t&&r!=r||(s?s.call(e,t):n=t,u=!i&&Ee(t),o.notify())}})}}function Oe(e,t,n){if(Array.isArray(e)&&f(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n,n;var r=e.__ob__;return e._isVue||r&&r.vmCount?n:r?(Ae(r.value,t,n),r.dep.notify(),n):(e[t]=n,n)}function Te(e,t){if(Array.isArray(e)&&f(t))e.splice(t,1);else{var n=e.__ob__;e._isVue||n&&n.vmCount||b(e,t)&&(delete e[t],n&&n.dep.notify())}}_e.prototype.walk=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)Ae(e,t[n])},_e.prototype.observeArray=function(e){for(var t=0,n=e.length;t<n;t++)Ee(e[t])};var Se=R.optionMergeStrategies;function $e(e,t){if(!t)return e;for(var n,r,i,o=Object.keys(t),a=0;a<o.length;a++)r=e[n=o[a]],i=t[n],b(e,n)?c(r)&&c(i)&&$e(r,i):Oe(e,n,i);return e}function je(e,t,n){return n?function(){var r="function"==typeof t?t.call(n,n):t,i="function"==typeof e?e.call(n,n):e;return r?$e(r,i):i}:t?e?function(){return $e("function"==typeof t?t.call(this,this):t,"function"==typeof e?e.call(this,this):e)}:t:e}function ze(e,t){return t?e?e.concat(t):Array.isArray(t)?t:[t]:e}function Le(e,t,n,r){var i=Object.create(e||null);return t?O(i,t):i}Se.data=function(e,t,n){return n?je(e,t,n):t&&"function"!=typeof t?e:je(e,t)},N.forEach(function(e){Se[e]=ze}),U.forEach(function(e){Se[e+"s"]=Le}),Se.watch=function(e,t,n,r){if(e===Z&&(e=void 0),t===Z&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var i={};for(var o in O(i,e),t){var a=i[o],l=t[o];a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(l):Array.isArray(l)?l:[l]}return i},Se.props=Se.methods=Se.inject=Se.computed=function(e,t,n,r){if(!e)return t;var i=Object.create(null);return O(i,e),t&&O(i,t),i},Se.provide=je;var Me=function(e,t){return void 0===t?e:t};function Ie(e,t,n){"function"==typeof t&&(t=t.options),function(e,t){var n=e.props;if(n){var r,i,o={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(i=n[r])&&(o[w(i)]={type:null});else if(c(n))for(var a in n)i=n[a],o[w(a)]=c(i)?i:{type:i};e.props=o}}(t),function(e,t){var n=e.inject;if(n){var r=e.inject={};if(Array.isArray(n))for(var i=0;i<n.length;i++)r[n[i]]={from:n[i]};else if(c(n))for(var o in n){var a=n[o];r[o]=c(a)?O({from:o},a):{from:a}}}}(t),function(e){var t=e.directives;if(t)for(var n in t){var r=t[n];"function"==typeof r&&(t[n]={bind:r,update:r})}}(t);var r=t.extends;if(r&&(e=Ie(e,r,n)),t.mixins)for(var i=0,o=t.mixins.length;i<o;i++)e=Ie(e,t.mixins[i],n);var a,l={};for(a in e)s(a);for(a in t)b(e,a)||s(a);function s(r){var i=Se[r]||Me;l[r]=i(e[r],t[r],n,r)}return l}function Ue(e,t,n,r){if("string"==typeof n){var i=e[t];if(b(i,n))return i[n];var o=w(n);if(b(i,o))return i[o];var a=_(o);return b(i,a)?i[a]:i[n]||i[o]||i[a]}}function Ne(e,t,n,r){var i=t[e],o=!b(n,e),a=n[e],l=Fe(Boolean,i.type);if(l>-1)if(o&&!b(i,"default"))a=!1;else if(""===a||a===P(e)){var s=Fe(String,i.type);(s<0||l<s)&&(a=!0)}if(void 0===a){a=function(e,t,n){if(!b(t,"default"))return;var r=t.default;0;if(e&&e.$options.propsData&&void 0===e.$options.propsData[n]&&void 0!==e._props[n])return e._props[n];return"function"==typeof r&&"Function"!==Re(t.type)?r.call(e):r}(r,i,e);var u=xe;we(!0),Ee(a),we(u)}return a}function Re(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function De(e,t){return Re(e)===Re(t)}function Fe(e,t){if(!Array.isArray(t))return De(t,e)?0:-1;for(var n=0,r=t.length;n<r;n++)if(De(t[n],e))return n;return-1}function He(e,t,n){if(t)for(var r=t;r=r.$parent;){var i=r.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{if(!1===i[o].call(r,e,t,n))return}catch(e){Ve(e,r,"errorCaptured hook")}}Ve(e,t,n)}function Ve(e,t,n){if(R.errorHandler)try{return R.errorHandler.call(null,e,t,n)}catch(e){We(e,null,"config.errorHandler")}We(e,t,n)}function We(e,t,n){if(!B&&!q||"undefined"==typeof console)throw e;console.error(e)}var Be,qe,Ge=[],Ke=!1;function Ye(){Ke=!1;var e=Ge.slice(0);Ge.length=0;for(var t=0;t<e.length;t++)e[t]()}var Qe=!1;if("undefined"!=typeof setImmediate&&ie(setImmediate))qe=function(){setImmediate(Ye)};else if("undefined"==typeof MessageChannel||!ie(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())qe=function(){setTimeout(Ye,0)};else{var Xe=new MessageChannel,Je=Xe.port2;Xe.port1.onmessage=Ye,qe=function(){Je.postMessage(1)}}if("undefined"!=typeof Promise&&ie(Promise)){var Ze=Promise.resolve();Be=function(){Ze.then(Ye),J&&setTimeout(S)}}else Be=qe;function et(e,t){var n;if(Ge.push(function(){if(e)try{e.call(t)}catch(e){He(e,t,"nextTick")}else n&&n(t)}),Ke||(Ke=!0,Qe?qe():Be()),!e&&"undefined"!=typeof Promise)return new Promise(function(e){n=e})}var tt=new oe;function nt(e){!function e(t,n){var r,i;var o=Array.isArray(t);if(!o&&!s(t)||Object.isFrozen(t)||t instanceof de)return;if(t.__ob__){var a=t.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(o)for(r=t.length;r--;)e(t[r],n);else for(i=Object.keys(t),r=i.length;r--;)e(t[i[r]],n)}(e,tt),tt.clear()}var rt,it=k(function(e){var t="&"===e.charAt(0),n="~"===(e=t?e.slice(1):e).charAt(0),r="!"===(e=n?e.slice(1):e).charAt(0);return{name:e=r?e.slice(1):e,once:n,capture:r,passive:t}});function ot(e){function t(){var e=arguments,n=t.fns;if(!Array.isArray(n))return n.apply(null,arguments);for(var r=n.slice(),i=0;i<r.length;i++)r[i].apply(null,e)}return t.fns=e,t}function at(e,t,n,r,o){var a,l,s,u;for(a in e)l=e[a],s=t[a],u=it(a),i(l)||(i(s)?(i(l.fns)&&(l=e[a]=ot(l)),n(u.name,l,u.once,u.capture,u.passive,u.params)):l!==s&&(s.fns=l,e[a]=s));for(a in t)i(e[a])&&r((u=it(a)).name,t[a],u.capture)}function lt(e,t,n){var r;e instanceof de&&(e=e.data.hook||(e.data.hook={}));var l=e[t];function s(){n.apply(this,arguments),m(r.fns,s)}i(l)?r=ot([s]):o(l.fns)&&a(l.merged)?(r=l).fns.push(s):r=ot([l,s]),r.merged=!0,e[t]=r}function st(e,t,n,r,i){if(o(t)){if(b(t,n))return e[n]=t[n],i||delete t[n],!0;if(b(t,r))return e[n]=t[r],i||delete t[r],!0}return!1}function ut(e){return l(e)?[ge(e)]:Array.isArray(e)?function e(t,n){var r=[];var s,u,c,p;for(s=0;s<t.length;s++)i(u=t[s])||"boolean"==typeof u||(c=r.length-1,p=r[c],Array.isArray(u)?u.length>0&&(ct((u=e(u,(n||"")+"_"+s))[0])&&ct(p)&&(r[c]=ge(p.text+u[0].text),u.shift()),r.push.apply(r,u)):l(u)?ct(p)?r[c]=ge(p.text+u):""!==u&&r.push(ge(u)):ct(u)&&ct(p)?r[c]=ge(p.text+u.text):(a(t._isVList)&&o(u.tag)&&i(u.key)&&o(n)&&(u.key="__vlist"+n+"_"+s+"__"),r.push(u)));return r}(e):void 0}function ct(e){return o(e)&&o(e.text)&&function(e){return!1===e}(e.isComment)}function pt(e,t){return(e.__esModule||ae&&"Module"===e[Symbol.toStringTag])&&(e=e.default),s(e)?t.extend(e):e}function ft(e){return e.isComment&&e.asyncFactory}function dt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var n=e[t];if(o(n)&&(o(n.componentOptions)||ft(n)))return n}}function ht(e,t,n){n?rt.$once(e,t):rt.$on(e,t)}function vt(e,t){rt.$off(e,t)}function gt(e,t,n){rt=e,at(t,n||{},ht,vt),rt=void 0}function mt(e,t){var n={};if(!e)return n;for(var r=0,i=e.length;r<i;r++){var o=e[r],a=o.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,o.context!==t&&o.fnContext!==t||!a||null==a.slot)(n.default||(n.default=[])).push(o);else{var l=a.slot,s=n[l]||(n[l]=[]);"template"===o.tag?s.push.apply(s,o.children||[]):s.push(o)}}for(var u in n)n[u].every(yt)&&delete n[u];return n}function yt(e){return e.isComment&&!e.asyncFactory||" "===e.text}function bt(e,t){t=t||{};for(var n=0;n<e.length;n++)Array.isArray(e[n])?bt(e[n],t):t[e[n].key]=e[n].fn;return t}var kt=null;function xt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function wt(e,t){if(t){if(e._directInactive=!1,xt(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var n=0;n<e.$children.length;n++)wt(e.$children[n]);_t(e,"activated")}}function _t(e,t){pe();var n=e.$options[t];if(n)for(var r=0,i=n.length;r<i;r++)try{n[r].call(e)}catch(n){He(n,e,t+" hook")}e._hasHookEvent&&e.$emit("hook:"+t),fe()}var Ct=[],Pt=[],Et={},At=!1,Ot=!1,Tt=0;function St(){var e,t;for(Ot=!0,Ct.sort(function(e,t){return e.id-t.id}),Tt=0;Tt<Ct.length;Tt++)t=(e=Ct[Tt]).id,Et[t]=null,e.run();var n=Pt.slice(),r=Ct.slice();Tt=Ct.length=Pt.length=0,Et={},At=Ot=!1,function(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,wt(e[t],!0)}(n),function(e){var t=e.length;for(;t--;){var n=e[t],r=n.vm;r._watcher===n&&r._isMounted&&_t(r,"updated")}}(r),re&&R.devtools&&re.emit("flush")}var $t=0,jt=function(e,t,n,r,i){this.vm=e,i&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++$t,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new oe,this.newDepIds=new oe,this.expression="","function"==typeof t?this.getter=t:(this.getter=function(e){if(!H.test(e)){var t=e.split(".");return function(e){for(var n=0;n<t.length;n++){if(!e)return;e=e[t[n]]}return e}}}(t),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};jt.prototype.get=function(){var e;pe(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(e){if(!this.user)throw e;He(e,t,'getter for watcher "'+this.expression+'"')}finally{this.deep&&nt(e),fe(),this.cleanupDeps()}return e},jt.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},jt.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},jt.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==Et[t]){if(Et[t]=!0,Ot){for(var n=Ct.length-1;n>Tt&&Ct[n].id>e.id;)n--;Ct.splice(n+1,0,e)}else Ct.push(e);At||(At=!0,et(St))}}(this)},jt.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||s(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){He(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},jt.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},jt.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},jt.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||m(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var zt={enumerable:!0,configurable:!0,get:S,set:S};function Lt(e,t,n){zt.get=function(){return this[t][n]},zt.set=function(e){this[t][n]=e},Object.defineProperty(e,n,zt)}function Mt(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[];e.$parent&&we(!1);var o=function(o){i.push(o);var a=Ne(o,t,n,e);Ae(r,o,a),o in e||Lt(e,"_props",o)};for(var a in t)o(a);we(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?S:E(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;c(t=e._data="function"==typeof t?function(e,t){pe();try{return e.call(t,t)}catch(e){return He(e,t,"data()"),{}}finally{fe()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);for(;i--;){var o=n[i];0,r&&b(r,o)||D(o)||Lt(e,"_data",o)}Ee(t,!0)}(e):Ee(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=ne();for(var i in t){var o=t[i],a="function"==typeof o?o:o.get;0,r||(n[i]=new jt(e,a||S,S,It)),i in e||Ut(e,i,o)}}(e,t.computed),t.watch&&t.watch!==Z&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)Rt(e,n,r[i]);else Rt(e,n,r)}}(e,t.watch)}var It={lazy:!0};function Ut(e,t,n){var r=!ne();"function"==typeof n?(zt.get=r?Nt(t):n,zt.set=S):(zt.get=n.get?r&&!1!==n.cache?Nt(t):n.get:S,zt.set=n.set?n.set:S),Object.defineProperty(e,t,zt)}function Nt(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),ue.target&&t.depend(),t.value}}function Rt(e,t,n,r){return c(n)&&(r=n,n=n.handler),"string"==typeof n&&(n=e[n]),e.$watch(t,n,r)}function Dt(e,t){if(e){for(var n=Object.create(null),r=ae?Reflect.ownKeys(e).filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}):Object.keys(e),i=0;i<r.length;i++){for(var o=r[i],a=e[o].from,l=t;l;){if(l._provided&&b(l._provided,a)){n[o]=l._provided[a];break}l=l.$parent}if(!l)if("default"in e[o]){var s=e[o].default;n[o]="function"==typeof s?s.call(t):s}else 0}return n}}function Ft(e,t){var n,r,i,a,l;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,i=e.length;r<i;r++)n[r]=t(e[r],r);else if("number"==typeof e)for(n=new Array(e),r=0;r<e;r++)n[r]=t(r+1,r);else if(s(e))for(a=Object.keys(e),n=new Array(a.length),r=0,i=a.length;r<i;r++)l=a[r],n[r]=t(e[l],l,r);return o(n)&&(n._isVList=!0),n}function Ht(e,t,n,r){var i,o=this.$scopedSlots[e];if(o)n=n||{},r&&(n=O(O({},r),n)),i=o(n)||t;else{var a=this.$slots[e];a&&(a._rendered=!0),i=a||t}var l=n&&n.slot;return l?this.$createElement("template",{slot:l},i):i}function Vt(e){return Ue(this.$options,"filters",e)||j}function Wt(e,t){return Array.isArray(e)?-1===e.indexOf(t):e!==t}function Bt(e,t,n,r,i){var o=R.keyCodes[t]||n;return i&&r&&!R.keyCodes[t]?Wt(i,r):o?Wt(o,e):r?P(r)!==t:void 0}function qt(e,t,n,r,i){if(n)if(s(n)){var o;Array.isArray(n)&&(n=T(n));var a=function(a){if("class"===a||"style"===a||g(a))o=e;else{var l=e.attrs&&e.attrs.type;o=r||R.mustUseProp(t,l,a)?e.domProps||(e.domProps={}):e.attrs||(e.attrs={})}a in o||(o[a]=n[a],i&&((e.on||(e.on={}))["update:"+a]=function(e){n[a]=e}))};for(var l in n)a(l)}else;return e}function Gt(e,t){var n=this._staticTrees||(this._staticTrees=[]),r=n[e];return r&&!t?r:(Yt(r=n[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),r)}function Kt(e,t,n){return Yt(e,"__once__"+t+(n?"_"+n:""),!0),e}function Yt(e,t,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&"string"!=typeof e[r]&&Qt(e[r],t+"_"+r,n);else Qt(e,t,n)}function Qt(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}function Xt(e,t){if(t)if(c(t)){var n=e.on=e.on?O({},e.on):{};for(var r in t){var i=n[r],o=t[r];n[r]=i?[].concat(i,o):o}}else;return e}function Jt(e){e._o=Kt,e._n=h,e._s=d,e._l=Ft,e._t=Ht,e._q=z,e._i=L,e._m=Gt,e._f=Vt,e._k=Bt,e._b=qt,e._v=ge,e._e=ve,e._u=bt,e._g=Xt}function Zt(e,t,n,i,o){var l,s=o.options;b(i,"_uid")?(l=Object.create(i))._original=i:(l=i,i=i._original);var u=a(s._compiled),c=!u;this.data=e,this.props=t,this.children=n,this.parent=i,this.listeners=e.on||r,this.injections=Dt(s.inject,i),this.slots=function(){return mt(n,i)},u&&(this.$options=s,this.$slots=this.slots(),this.$scopedSlots=e.scopedSlots||r),s._scopeId?this._c=function(e,t,n,r){var o=sn(l,e,t,n,r,c);return o&&!Array.isArray(o)&&(o.fnScopeId=s._scopeId,o.fnContext=i),o}:this._c=function(e,t,n,r){return sn(l,e,t,n,r,c)}}function en(e,t,n,r){var i=me(e);return i.fnContext=n,i.fnOptions=r,t.slot&&((i.data||(i.data={})).slot=t.slot),i}function tn(e,t){for(var n in t)e[w(n)]=t[n]}Jt(Zt.prototype);var nn={init:function(e,t,n,r){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var i=e;nn.prepatch(i,i)}else{(e.componentInstance=function(e,t,n,r){var i={_isComponent:!0,parent:t,_parentVnode:e,_parentElm:n||null,_refElm:r||null},a=e.data.inlineTemplate;o(a)&&(i.render=a.render,i.staticRenderFns=a.staticRenderFns);return new e.componentOptions.Ctor(i)}(e,kt,n,r)).$mount(t?e.elm:void 0,t)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,i,o){var a=!!(o||e.$options._renderChildren||i.data.scopedSlots||e.$scopedSlots!==r);if(e.$options._parentVnode=i,e.$vnode=i,e._vnode&&(e._vnode.parent=i),e.$options._renderChildren=o,e.$attrs=i.data.attrs||r,e.$listeners=n||r,t&&e.$options.props){we(!1);for(var l=e._props,s=e.$options._propKeys||[],u=0;u<s.length;u++){var c=s[u],p=e.$options.props;l[c]=Ne(c,p,t,e)}we(!0),e.$options.propsData=t}n=n||r;var f=e.$options._parentListeners;e.$options._parentListeners=n,gt(e,n,f),a&&(e.$slots=mt(o,i.context),e.$forceUpdate())}(t.componentInstance=e.componentInstance,n.propsData,n.listeners,t,n.children)},insert:function(e){var t=e.context,n=e.componentInstance;n._isMounted||(n._isMounted=!0,_t(n,"mounted")),e.data.keepAlive&&(t._isMounted?function(e){e._inactive=!1,Pt.push(e)}(n):wt(n,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(!(n&&(t._directInactive=!0,xt(t))||t._inactive)){t._inactive=!0;for(var r=0;r<t.$children.length;r++)e(t.$children[r]);_t(t,"deactivated")}}(t,!0):t.$destroy())}},rn=Object.keys(nn);function on(e,t,n,l,u){if(!i(e)){var c=n.$options._base;if(s(e)&&(e=c.extend(e)),"function"==typeof e){var p;if(i(e.cid)&&void 0===(e=function(e,t,n){if(a(e.error)&&o(e.errorComp))return e.errorComp;if(o(e.resolved))return e.resolved;if(a(e.loading)&&o(e.loadingComp))return e.loadingComp;if(!o(e.contexts)){var r=e.contexts=[n],l=!0,u=function(){for(var e=0,t=r.length;e<t;e++)r[e].$forceUpdate()},c=M(function(n){e.resolved=pt(n,t),l||u()}),p=M(function(t){o(e.errorComp)&&(e.error=!0,u())}),f=e(c,p);return s(f)&&("function"==typeof f.then?i(e.resolved)&&f.then(c,p):o(f.component)&&"function"==typeof f.component.then&&(f.component.then(c,p),o(f.error)&&(e.errorComp=pt(f.error,t)),o(f.loading)&&(e.loadingComp=pt(f.loading,t),0===f.delay?e.loading=!0:setTimeout(function(){i(e.resolved)&&i(e.error)&&(e.loading=!0,u())},f.delay||200)),o(f.timeout)&&setTimeout(function(){i(e.resolved)&&p(null)},f.timeout))),l=!1,e.loading?e.loadingComp:e.resolved}e.contexts.push(n)}(p=e,c,n)))return function(e,t,n,r,i){var o=ve();return o.asyncFactory=e,o.asyncMeta={data:t,context:n,children:r,tag:i},o}(p,t,n,l,u);t=t||{},cn(e),o(t.model)&&function(e,t){var n=e.model&&e.model.prop||"value",r=e.model&&e.model.event||"input";(t.props||(t.props={}))[n]=t.model.value;var i=t.on||(t.on={});o(i[r])?i[r]=[t.model.callback].concat(i[r]):i[r]=t.model.callback}(e.options,t);var f=function(e,t,n){var r=t.options.props;if(!i(r)){var a={},l=e.attrs,s=e.props;if(o(l)||o(s))for(var u in r){var c=P(u);st(a,s,u,c,!0)||st(a,l,u,c,!1)}return a}}(t,e);if(a(e.options.functional))return function(e,t,n,i,a){var l=e.options,s={},u=l.props;if(o(u))for(var c in u)s[c]=Ne(c,u,t||r);else o(n.attrs)&&tn(s,n.attrs),o(n.props)&&tn(s,n.props);var p=new Zt(n,s,a,i,e),f=l.render.call(null,p._c,p);if(f instanceof de)return en(f,n,p.parent,l);if(Array.isArray(f)){for(var d=ut(f)||[],h=new Array(d.length),v=0;v<d.length;v++)h[v]=en(d[v],n,p.parent,l);return h}}(e,f,t,n,l);var d=t.on;if(t.on=t.nativeOn,a(e.options.abstract)){var h=t.slot;t={},h&&(t.slot=h)}!function(e){for(var t=e.hook||(e.hook={}),n=0;n<rn.length;n++){var r=rn[n];t[r]=nn[r]}}(t);var v=e.options.name||u;return new de("vue-component-"+e.cid+(v?"-"+v:""),t,void 0,void 0,void 0,n,{Ctor:e,propsData:f,listeners:d,tag:u,children:l},p)}}}var an=1,ln=2;function sn(e,t,n,r,u,c){return(Array.isArray(n)||l(n))&&(u=r,r=n,n=void 0),a(c)&&(u=ln),function(e,t,n,r,l){if(o(n)&&o(n.__ob__))return ve();o(n)&&o(n.is)&&(t=n.is);if(!t)return ve();0;Array.isArray(r)&&"function"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0);l===ln?r=ut(r):l===an&&(r=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(r));var u,c;if("string"==typeof t){var p;c=e.$vnode&&e.$vnode.ns||R.getTagNamespace(t),u=R.isReservedTag(t)?new de(R.parsePlatformTagName(t),n,r,void 0,void 0,e):o(p=Ue(e.$options,"components",t))?on(p,n,e,r,t):new de(t,n,r,void 0,void 0,e)}else u=on(t,n,e,r);return Array.isArray(u)?u:o(u)?(o(c)&&function e(t,n,r){t.ns=n;"foreignObject"===t.tag&&(n=void 0,r=!0);if(o(t.children))for(var l=0,s=t.children.length;l<s;l++){var u=t.children[l];o(u.tag)&&(i(u.ns)||a(r)&&"svg"!==u.tag)&&e(u,n,r)}}(u,c),o(n)&&function(e){s(e.style)&&nt(e.style);s(e.class)&&nt(e.class)}(n),u):ve()}(e,t,n,r,u)}var un=0;function cn(e){var t=e.options;if(e.super){var n=cn(e.super);if(n!==e.superOptions){e.superOptions=n;var r=function(e){var t,n=e.options,r=e.extendOptions,i=e.sealedOptions;for(var o in n)n[o]!==i[o]&&(t||(t={}),t[o]=pn(n[o],r[o],i[o]));return t}(e);r&&O(e.extendOptions,r),(t=e.options=Ie(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function pn(e,t,n){if(Array.isArray(e)){var r=[];n=Array.isArray(n)?n:[n],t=Array.isArray(t)?t:[t];for(var i=0;i<e.length;i++)(t.indexOf(e[i])>=0||n.indexOf(e[i])<0)&&r.push(e[i]);return r}return e}function fn(e){this._init(e)}function dn(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var o=e.name||n.options.name;var a=function(e){this._init(e)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=t++,a.options=Ie(n.options,e),a.super=n,a.options.props&&function(e){var t=e.options.props;for(var n in t)Lt(e.prototype,"_props",n)}(a),a.options.computed&&function(e){var t=e.options.computed;for(var n in t)Ut(e.prototype,n,t[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,U.forEach(function(e){a[e]=n[e]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=e,a.sealedOptions=O({},a.options),i[r]=a,a}}function hn(e){return e&&(e.Ctor.options.name||e.tag)}function vn(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!p(e)&&e.test(t)}function gn(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var l=hn(a.componentOptions);l&&!t(l)&&mn(n,o,r,i)}}}function mn(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,m(n,t)}!function(e){e.prototype._init=function(e){var t=this;t._uid=un++,t._isVue=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r,n._parentElm=t._parentElm,n._refElm=t._refElm;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=Ie(cn(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&>(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,i=n&&n.context;e.$slots=mt(t._renderChildren,i),e.$scopedSlots=r,e._c=function(t,n,r,i){return sn(e,t,n,r,i,!1)},e.$createElement=function(t,n,r,i){return sn(e,t,n,r,i,!0)};var o=n&&n.data;Ae(e,"$attrs",o&&o.attrs||r,null,!0),Ae(e,"$listeners",t._parentListeners||r,null,!0)}(t),_t(t,"beforeCreate"),function(e){var t=Dt(e.$options.inject,e);t&&(we(!1),Object.keys(t).forEach(function(n){Ae(e,n,t[n])}),we(!0))}(t),Mt(t),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(t),_t(t,"created"),t.$options.el&&t.$mount(t.$options.el)}}(fn),function(e){var t={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",n),e.prototype.$set=Oe,e.prototype.$delete=Te,e.prototype.$watch=function(e,t,n){if(c(t))return Rt(this,e,t,n);(n=n||{}).user=!0;var r=new jt(this,e,t,n);return n.immediate&&t.call(this,r.value),function(){r.teardown()}}}(fn),function(e){var t=/^hook:/;e.prototype.$on=function(e,n){if(Array.isArray(e))for(var r=0,i=e.length;r<i;r++)this.$on(e[r],n);else(this._events[e]||(this._events[e]=[])).push(n),t.test(e)&&(this._hasHookEvent=!0);return this},e.prototype.$once=function(e,t){var n=this;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn=t,n.$on(e,r),n},e.prototype.$off=function(e,t){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(e)){for(var r=0,i=e.length;r<i;r++)this.$off(e[r],t);return n}var o=n._events[e];if(!o)return n;if(!t)return n._events[e]=null,n;if(t)for(var a,l=o.length;l--;)if((a=o[l])===t||a.fn===t){o.splice(l,1);break}return n},e.prototype.$emit=function(e){var t=this._events[e];if(t){t=t.length>1?A(t):t;for(var n=A(arguments,1),r=0,i=t.length;r<i;r++)try{t[r].apply(this,n)}catch(t){He(t,this,'event handler for "'+e+'"')}}return this}}(fn),function(e){e.prototype._update=function(e,t){var n=this;n._isMounted&&_t(n,"beforeUpdate");var r=n.$el,i=n._vnode,o=kt;kt=n,n._vnode=e,i?n.$el=n.__patch__(i,e):(n.$el=n.__patch__(n.$el,e,t,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),kt=o,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},e.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},e.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){_t(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$options.abstract||m(t.$children,e),e._watcher&&e._watcher.teardown();for(var n=e._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),_t(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}}}(fn),function(e){Jt(e.prototype),e.prototype.$nextTick=function(e){return et(e,this)},e.prototype._render=function(){var e,t=this,n=t.$options,i=n.render,o=n._parentVnode;o&&(t.$scopedSlots=o.data.scopedSlots||r),t.$vnode=o;try{e=i.call(t._renderProxy,t.$createElement)}catch(n){He(n,t,"render"),e=t._vnode}return e instanceof de||(e=ve()),e.parent=o,e}}(fn);var yn=[String,RegExp,Array],bn={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:yn,exclude:yn,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)mn(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch("include",function(t){gn(e,function(e){return vn(t,e)})}),this.$watch("exclude",function(t){gn(e,function(e){return!vn(t,e)})})},render:function(){var e=this.$slots.default,t=dt(e),n=t&&t.componentOptions;if(n){var r=hn(n),i=this.include,o=this.exclude;if(i&&(!r||!vn(i,r))||o&&r&&vn(o,r))return t;var a=this.cache,l=this.keys,s=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;a[s]?(t.componentInstance=a[s].componentInstance,m(l,s),l.push(s)):(a[s]=t,l.push(s),this.max&&l.length>parseInt(this.max)&&mn(a,l[0],l,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return R}};Object.defineProperty(e,"config",t),e.util={warn:le,extend:O,mergeOptions:Ie,defineReactive:Ae},e.set=Oe,e.delete=Te,e.nextTick=et,e.options=Object.create(null),U.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,O(e.options.components,bn),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=A(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Ie(this.options,e),this}}(e),dn(e),function(e){U.forEach(function(t){e[t]=function(e,n){return n?("component"===t&&c(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}})}(e)}(fn),Object.defineProperty(fn.prototype,"$isServer",{get:ne}),Object.defineProperty(fn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(fn,"FunctionalRenderContext",{value:Zt}),fn.version="2.5.16";var kn=v("style,class"),xn=v("input,textarea,option,select,progress"),wn=v("contenteditable,draggable,spellcheck"),_n=v("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Cn="http://www.w3.org/1999/xlink",Pn=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},En=function(e){return Pn(e)?e.slice(6,e.length):""},An=function(e){return null==e||!1===e};function On(e){for(var t=e.data,n=e,r=e;o(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=Tn(r.data,t));for(;o(n=n.parent);)n&&n.data&&(t=Tn(t,n.data));return function(e,t){if(o(e)||o(t))return Sn(e,$n(t));return""}(t.staticClass,t.class)}function Tn(e,t){return{staticClass:Sn(e.staticClass,t.staticClass),class:o(e.class)?[e.class,t.class]:t.class}}function Sn(e,t){return e?t?e+" "+t:e:t||""}function $n(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,i=e.length;r<i;r++)o(t=$n(e[r]))&&""!==t&&(n&&(n+=" "),n+=t);return n}(e):s(e)?function(e){var t="";for(var n in e)e[n]&&(t&&(t+=" "),t+=n);return t}(e):"string"==typeof e?e:""}var jn={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},zn=v("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Ln=v("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Mn=function(e){return zn(e)||Ln(e)};var In=Object.create(null);var Un=v("text,number,password,search,email,tel,url");var Nn=Object.freeze({createElement:function(e,t){var n=document.createElement(e);return"select"!==e?n:(t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)},createElementNS:function(e,t){return document.createElementNS(jn[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setStyleScope:function(e,t){e.setAttribute(t,"")}}),Rn={create:function(e,t){Dn(t)},update:function(e,t){e.data.ref!==t.data.ref&&(Dn(e,!0),Dn(t))},destroy:function(e){Dn(e,!0)}};function Dn(e,t){var n=e.data.ref;if(o(n)){var r=e.context,i=e.componentInstance||e.elm,a=r.$refs;t?Array.isArray(a[n])?m(a[n],i):a[n]===i&&(a[n]=void 0):e.data.refInFor?Array.isArray(a[n])?a[n].indexOf(i)<0&&a[n].push(i):a[n]=[i]:a[n]=i}}var Fn=new de("",{},[]),Hn=["create","activate","update","remove","destroy"];function Vn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&o(e.data)===o(t.data)&&function(e,t){if("input"!==e.tag)return!0;var n,r=o(n=e.data)&&o(n=n.attrs)&&n.type,i=o(n=t.data)&&o(n=n.attrs)&&n.type;return r===i||Un(r)&&Un(i)}(e,t)||a(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&i(t.asyncFactory.error))}function Wn(e,t,n){var r,i,a={};for(r=t;r<=n;++r)o(i=e[r].key)&&(a[i]=r);return a}var Bn={create:qn,update:qn,destroy:function(e){qn(e,Fn)}};function qn(e,t){(e.data.directives||t.data.directives)&&function(e,t){var n,r,i,o=e===Fn,a=t===Fn,l=Kn(e.data.directives,e.context),s=Kn(t.data.directives,t.context),u=[],c=[];for(n in s)r=l[n],i=s[n],r?(i.oldValue=r.value,Qn(i,"update",t,e),i.def&&i.def.componentUpdated&&c.push(i)):(Qn(i,"bind",t,e),i.def&&i.def.inserted&&u.push(i));if(u.length){var p=function(){for(var n=0;n<u.length;n++)Qn(u[n],"inserted",t,e)};o?lt(t,"insert",p):p()}c.length&<(t,"postpatch",function(){for(var n=0;n<c.length;n++)Qn(c[n],"componentUpdated",t,e)});if(!o)for(n in l)s[n]||Qn(l[n],"unbind",e,e,a)}(e,t)}var Gn=Object.create(null);function Kn(e,t){var n,r,i=Object.create(null);if(!e)return i;for(n=0;n<e.length;n++)(r=e[n]).modifiers||(r.modifiers=Gn),i[Yn(r)]=r,r.def=Ue(t.$options,"directives",r.name);return i}function Yn(e){return e.rawName||e.name+"."+Object.keys(e.modifiers||{}).join(".")}function Qn(e,t,n,r,i){var o=e.def&&e.def[t];if(o)try{o(n.elm,e,n,r,i)}catch(r){He(r,n.context,"directive "+e.name+" "+t+" hook")}}var Xn=[Rn,Bn];function Jn(e,t){var n=t.componentOptions;if(!(o(n)&&!1===n.Ctor.options.inheritAttrs||i(e.data.attrs)&&i(t.data.attrs))){var r,a,l=t.elm,s=e.data.attrs||{},u=t.data.attrs||{};for(r in o(u.__ob__)&&(u=t.data.attrs=O({},u)),u)a=u[r],s[r]!==a&&Zn(l,r,a);for(r in(Y||X)&&u.value!==s.value&&Zn(l,"value",u.value),s)i(u[r])&&(Pn(r)?l.removeAttributeNS(Cn,En(r)):wn(r)||l.removeAttribute(r))}}function Zn(e,t,n){e.tagName.indexOf("-")>-1?er(e,t,n):_n(t)?An(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):wn(t)?e.setAttribute(t,An(n)||"false"===n?"false":"true"):Pn(t)?An(n)?e.removeAttributeNS(Cn,En(t)):e.setAttributeNS(Cn,t,n):er(e,t,n)}function er(e,t,n){if(An(n))e.removeAttribute(t);else{if(Y&&!Q&&"TEXTAREA"===e.tagName&&"placeholder"===t&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var tr={create:Jn,update:Jn};function nr(e,t){var n=t.elm,r=t.data,a=e.data;if(!(i(r.staticClass)&&i(r.class)&&(i(a)||i(a.staticClass)&&i(a.class)))){var l=On(t),s=n._transitionClasses;o(s)&&(l=Sn(l,$n(s))),l!==n._prevClass&&(n.setAttribute("class",l),n._prevClass=l)}}var rr,ir={create:nr,update:nr},or="__r",ar="__c";function lr(e,t,n,r,i){t=function(e){return e._withTask||(e._withTask=function(){Qe=!0;var t=e.apply(null,arguments);return Qe=!1,t})}(t),n&&(t=function(e,t,n){var r=rr;return function i(){null!==e.apply(null,arguments)&&sr(t,i,n,r)}}(t,e,r)),rr.addEventListener(e,t,ee?{capture:r,passive:i}:r)}function sr(e,t,n,r){(r||rr).removeEventListener(e,t._withTask||t,n)}function ur(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=e.data.on||{};rr=t.elm,function(e){if(o(e[or])){var t=Y?"change":"input";e[t]=[].concat(e[or],e[t]||[]),delete e[or]}o(e[ar])&&(e.change=[].concat(e[ar],e.change||[]),delete e[ar])}(n),at(n,r,lr,sr,t.context),rr=void 0}}var cr={create:ur,update:ur};function pr(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,r,a=t.elm,l=e.data.domProps||{},s=t.data.domProps||{};for(n in o(s.__ob__)&&(s=t.data.domProps=O({},s)),l)i(s[n])&&(a[n]="");for(n in s){if(r=s[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===l[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n){a._value=r;var u=i(r)?"":String(r);fr(a,u)&&(a.value=u)}else a[n]=r}}}function fr(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(o(r)){if(r.lazy)return!1;if(r.number)return h(n)!==h(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var dr={create:pr,update:pr},hr=k(function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach(function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t});function vr(e){var t=gr(e.style);return e.staticStyle?O(e.staticStyle,t):t}function gr(e){return Array.isArray(e)?T(e):"string"==typeof e?hr(e):e}var mr,yr=/^--/,br=/\s*!important$/,kr=function(e,t,n){if(yr.test(t))e.style.setProperty(t,n);else if(br.test(n))e.style.setProperty(t,n.replace(br,""),"important");else{var r=wr(t);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)e.style[r]=n[i];else e.style[r]=n}},xr=["Webkit","Moz","ms"],wr=k(function(e){if(mr=mr||document.createElement("div").style,"filter"!==(e=w(e))&&e in mr)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<xr.length;n++){var r=xr[n]+t;if(r in mr)return r}});function _r(e,t){var n=t.data,r=e.data;if(!(i(n.staticStyle)&&i(n.style)&&i(r.staticStyle)&&i(r.style))){var a,l,s=t.elm,u=r.staticStyle,c=r.normalizedStyle||r.style||{},p=u||c,f=gr(t.data.style)||{};t.data.normalizedStyle=o(f.__ob__)?O({},f):f;var d=function(e,t){var n,r={};if(t)for(var i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=vr(i.data))&&O(r,n);(n=vr(e.data))&&O(r,n);for(var o=e;o=o.parent;)o.data&&(n=vr(o.data))&&O(r,n);return r}(t,!0);for(l in p)i(d[l])&&kr(s,l,"");for(l in d)(a=d[l])!==p[l]&&kr(s,l,null==a?"":a)}}var Cr={create:_r,update:_r};function Pr(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function Er(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function Ar(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&O(t,Or(e.name||"v")),O(t,e),t}return"string"==typeof e?Or(e):void 0}}var Or=k(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),Tr=B&&!Q,Sr="transition",$r="animation",jr="transition",zr="transitionend",Lr="animation",Mr="animationend";Tr&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(jr="WebkitTransition",zr="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Lr="WebkitAnimation",Mr="webkitAnimationEnd"));var Ir=B?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ur(e){Ir(function(){Ir(e)})}function Nr(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),Pr(e,t))}function Rr(e,t){e._transitionClasses&&m(e._transitionClasses,t),Er(e,t)}function Dr(e,t,n){var r=Hr(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var l=i===Sr?zr:Mr,s=0,u=function(){e.removeEventListener(l,c),n()},c=function(t){t.target===e&&++s>=a&&u()};setTimeout(function(){s<a&&u()},o+1),e.addEventListener(l,c)}var Fr=/\b(transform|all)(,|$)/;function Hr(e,t){var n,r=window.getComputedStyle(e),i=r[jr+"Delay"].split(", "),o=r[jr+"Duration"].split(", "),a=Vr(i,o),l=r[Lr+"Delay"].split(", "),s=r[Lr+"Duration"].split(", "),u=Vr(l,s),c=0,p=0;return t===Sr?a>0&&(n=Sr,c=a,p=o.length):t===$r?u>0&&(n=$r,c=u,p=s.length):p=(n=(c=Math.max(a,u))>0?a>u?Sr:$r:null)?n===Sr?o.length:s.length:0,{type:n,timeout:c,propCount:p,hasTransform:n===Sr&&Fr.test(r[jr+"Property"])}}function Vr(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max.apply(null,t.map(function(t,n){return Wr(t)+Wr(e[n])}))}function Wr(e){return 1e3*Number(e.slice(0,-1))}function Br(e,t){var n=e.elm;o(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._leaveCb());var r=Ar(e.data.transition);if(!i(r)&&!o(n._enterCb)&&1===n.nodeType){for(var a=r.css,l=r.type,u=r.enterClass,c=r.enterToClass,p=r.enterActiveClass,f=r.appearClass,d=r.appearToClass,v=r.appearActiveClass,g=r.beforeEnter,m=r.enter,y=r.afterEnter,b=r.enterCancelled,k=r.beforeAppear,x=r.appear,w=r.afterAppear,_=r.appearCancelled,C=r.duration,P=kt,E=kt.$vnode;E&&E.parent;)P=(E=E.parent).context;var A=!P._isMounted||!e.isRootInsert;if(!A||x||""===x){var O=A&&f?f:u,T=A&&v?v:p,S=A&&d?d:c,$=A&&k||g,j=A&&"function"==typeof x?x:m,z=A&&w||y,L=A&&_||b,I=h(s(C)?C.enter:C);0;var U=!1!==a&&!Q,N=Kr(j),R=n._enterCb=M(function(){U&&(Rr(n,S),Rr(n,T)),R.cancelled?(U&&Rr(n,O),L&&L(n)):z&&z(n),n._enterCb=null});e.data.show||lt(e,"insert",function(){var t=n.parentNode,r=t&&t._pending&&t._pending[e.key];r&&r.tag===e.tag&&r.elm._leaveCb&&r.elm._leaveCb(),j&&j(n,R)}),$&&$(n),U&&(Nr(n,O),Nr(n,T),Ur(function(){Rr(n,O),R.cancelled||(Nr(n,S),N||(Gr(I)?setTimeout(R,I):Dr(n,l,R)))})),e.data.show&&(t&&t(),j&&j(n,R)),U||N||R()}}}function qr(e,t){var n=e.elm;o(n._enterCb)&&(n._enterCb.cancelled=!0,n._enterCb());var r=Ar(e.data.transition);if(i(r)||1!==n.nodeType)return t();if(!o(n._leaveCb)){var a=r.css,l=r.type,u=r.leaveClass,c=r.leaveToClass,p=r.leaveActiveClass,f=r.beforeLeave,d=r.leave,v=r.afterLeave,g=r.leaveCancelled,m=r.delayLeave,y=r.duration,b=!1!==a&&!Q,k=Kr(d),x=h(s(y)?y.leave:y);0;var w=n._leaveCb=M(function(){n.parentNode&&n.parentNode._pending&&(n.parentNode._pending[e.key]=null),b&&(Rr(n,c),Rr(n,p)),w.cancelled?(b&&Rr(n,u),g&&g(n)):(t(),v&&v(n)),n._leaveCb=null});m?m(_):_()}function _(){w.cancelled||(e.data.show||((n.parentNode._pending||(n.parentNode._pending={}))[e.key]=e),f&&f(n),b&&(Nr(n,u),Nr(n,p),Ur(function(){Rr(n,u),w.cancelled||(Nr(n,c),k||(Gr(x)?setTimeout(w,x):Dr(n,l,w)))})),d&&d(n,w),b||k||w())}}function Gr(e){return"number"==typeof e&&!isNaN(e)}function Kr(e){if(i(e))return!1;var t=e.fns;return o(t)?Kr(Array.isArray(t)?t[0]:t):(e._length||e.length)>1}function Yr(e,t){!0!==t.data.show&&Br(t)}var Qr=function(e){var t,n,r={},s=e.modules,u=e.nodeOps;for(t=0;t<Hn.length;++t)for(r[Hn[t]]=[],n=0;n<s.length;++n)o(s[n][Hn[t]])&&r[Hn[t]].push(s[n][Hn[t]]);function c(e){var t=u.parentNode(e);o(t)&&u.removeChild(t,e)}function p(e,t,n,i,l,s,c){if(o(e.elm)&&o(s)&&(e=s[c]=me(e)),e.isRootInsert=!l,!function(e,t,n,i){var l=e.data;if(o(l)){var s=o(e.componentInstance)&&l.keepAlive;if(o(l=l.hook)&&o(l=l.init)&&l(e,!1,n,i),o(e.componentInstance))return f(e,t),a(s)&&function(e,t,n,i){for(var a,l=e;l.componentInstance;)if(l=l.componentInstance._vnode,o(a=l.data)&&o(a=a.transition)){for(a=0;a<r.activate.length;++a)r.activate[a](Fn,l);t.push(l);break}d(n,e.elm,i)}(e,t,n,i),!0}}(e,t,n,i)){var p=e.data,v=e.children,g=e.tag;o(g)?(e.elm=e.ns?u.createElementNS(e.ns,g):u.createElement(g,e),y(e),h(e,v,t),o(p)&&m(e,t),d(n,e.elm,i)):a(e.isComment)?(e.elm=u.createComment(e.text),d(n,e.elm,i)):(e.elm=u.createTextNode(e.text),d(n,e.elm,i))}}function f(e,t){o(e.data.pendingInsert)&&(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,g(e)?(m(e,t),y(e)):(Dn(e),t.push(e))}function d(e,t,n){o(e)&&(o(n)?n.parentNode===e&&u.insertBefore(e,t,n):u.appendChild(e,t))}function h(e,t,n){if(Array.isArray(t))for(var r=0;r<t.length;++r)p(t[r],n,e.elm,null,!0,t,r);else l(e.text)&&u.appendChild(e.elm,u.createTextNode(String(e.text)))}function g(e){for(;e.componentInstance;)e=e.componentInstance._vnode;return o(e.tag)}function m(e,n){for(var i=0;i<r.create.length;++i)r.create[i](Fn,e);o(t=e.data.hook)&&(o(t.create)&&t.create(Fn,e),o(t.insert)&&n.push(e))}function y(e){var t;if(o(t=e.fnScopeId))u.setStyleScope(e.elm,t);else for(var n=e;n;)o(t=n.context)&&o(t=t.$options._scopeId)&&u.setStyleScope(e.elm,t),n=n.parent;o(t=kt)&&t!==e.context&&t!==e.fnContext&&o(t=t.$options._scopeId)&&u.setStyleScope(e.elm,t)}function b(e,t,n,r,i,o){for(;r<=i;++r)p(n[r],o,e,t,!1,n,r)}function k(e){var t,n,i=e.data;if(o(i))for(o(t=i.hook)&&o(t=t.destroy)&&t(e),t=0;t<r.destroy.length;++t)r.destroy[t](e);if(o(t=e.children))for(n=0;n<e.children.length;++n)k(e.children[n])}function x(e,t,n,r){for(;n<=r;++n){var i=t[n];o(i)&&(o(i.tag)?(w(i),k(i)):c(i.elm))}}function w(e,t){if(o(t)||o(e.data)){var n,i=r.remove.length+1;for(o(t)?t.listeners+=i:t=function(e,t){function n(){0==--n.listeners&&c(e)}return n.listeners=t,n}(e.elm,i),o(n=e.componentInstance)&&o(n=n._vnode)&&o(n.data)&&w(n,t),n=0;n<r.remove.length;++n)r.remove[n](e,t);o(n=e.data.hook)&&o(n=n.remove)?n(e,t):t()}else c(e.elm)}function _(e,t,n,r){for(var i=n;i<r;i++){var a=t[i];if(o(a)&&Vn(e,a))return i}}function C(e,t,n,l){if(e!==t){var s=t.elm=e.elm;if(a(e.isAsyncPlaceholder))o(t.asyncFactory.resolved)?A(e.elm,t,n):t.isAsyncPlaceholder=!0;else if(a(t.isStatic)&&a(e.isStatic)&&t.key===e.key&&(a(t.isCloned)||a(t.isOnce)))t.componentInstance=e.componentInstance;else{var c,f=t.data;o(f)&&o(c=f.hook)&&o(c=c.prepatch)&&c(e,t);var d=e.children,h=t.children;if(o(f)&&g(t)){for(c=0;c<r.update.length;++c)r.update[c](e,t);o(c=f.hook)&&o(c=c.update)&&c(e,t)}i(t.text)?o(d)&&o(h)?d!==h&&function(e,t,n,r,a){for(var l,s,c,f=0,d=0,h=t.length-1,v=t[0],g=t[h],m=n.length-1,y=n[0],k=n[m],w=!a;f<=h&&d<=m;)i(v)?v=t[++f]:i(g)?g=t[--h]:Vn(v,y)?(C(v,y,r),v=t[++f],y=n[++d]):Vn(g,k)?(C(g,k,r),g=t[--h],k=n[--m]):Vn(v,k)?(C(v,k,r),w&&u.insertBefore(e,v.elm,u.nextSibling(g.elm)),v=t[++f],k=n[--m]):Vn(g,y)?(C(g,y,r),w&&u.insertBefore(e,g.elm,v.elm),g=t[--h],y=n[++d]):(i(l)&&(l=Wn(t,f,h)),i(s=o(y.key)?l[y.key]:_(y,t,f,h))?p(y,r,e,v.elm,!1,n,d):Vn(c=t[s],y)?(C(c,y,r),t[s]=void 0,w&&u.insertBefore(e,c.elm,v.elm)):p(y,r,e,v.elm,!1,n,d),y=n[++d]);f>h?b(e,i(n[m+1])?null:n[m+1].elm,n,d,m,r):d>m&&x(0,t,f,h)}(s,d,h,n,l):o(h)?(o(e.text)&&u.setTextContent(s,""),b(s,null,h,0,h.length-1,n)):o(d)?x(0,d,0,d.length-1):o(e.text)&&u.setTextContent(s,""):e.text!==t.text&&u.setTextContent(s,t.text),o(f)&&o(c=f.hook)&&o(c=c.postpatch)&&c(e,t)}}}function P(e,t,n){if(a(n)&&o(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r<t.length;++r)t[r].data.hook.insert(t[r])}var E=v("attrs,class,staticClass,staticStyle,key");function A(e,t,n,r){var i,l=t.tag,s=t.data,u=t.children;if(r=r||s&&s.pre,t.elm=e,a(t.isComment)&&o(t.asyncFactory))return t.isAsyncPlaceholder=!0,!0;if(o(s)&&(o(i=s.hook)&&o(i=i.init)&&i(t,!0),o(i=t.componentInstance)))return f(t,n),!0;if(o(l)){if(o(u))if(e.hasChildNodes())if(o(i=s)&&o(i=i.domProps)&&o(i=i.innerHTML)){if(i!==e.innerHTML)return!1}else{for(var c=!0,p=e.firstChild,d=0;d<u.length;d++){if(!p||!A(p,u[d],n,r)){c=!1;break}p=p.nextSibling}if(!c||p)return!1}else h(t,u,n);if(o(s)){var v=!1;for(var g in s)if(!E(g)){v=!0,m(t,n);break}!v&&s.class&&nt(s.class)}}else e.data!==t.text&&(e.data=t.text);return!0}return function(e,t,n,l,s,c){if(!i(t)){var f=!1,d=[];if(i(e))f=!0,p(t,d,s,c);else{var h=o(e.nodeType);if(!h&&Vn(e,t))C(e,t,d,l);else{if(h){if(1===e.nodeType&&e.hasAttribute(I)&&(e.removeAttribute(I),n=!0),a(n)&&A(e,t,d))return P(t,d,!0),e;e=function(e){return new de(u.tagName(e).toLowerCase(),{},[],void 0,e)}(e)}var v=e.elm,m=u.parentNode(v);if(p(t,d,v._leaveCb?null:m,u.nextSibling(v)),o(t.parent))for(var y=t.parent,b=g(t);y;){for(var w=0;w<r.destroy.length;++w)r.destroy[w](y);if(y.elm=t.elm,b){for(var _=0;_<r.create.length;++_)r.create[_](Fn,y);var E=y.data.hook.insert;if(E.merged)for(var O=1;O<E.fns.length;O++)E.fns[O]()}else Dn(y);y=y.parent}o(m)?x(0,[e],0,0):o(e.tag)&&k(e)}}return P(t,d,f),t.elm}o(e)&&k(e)}}({nodeOps:Nn,modules:[tr,ir,cr,dr,Cr,B?{create:Yr,activate:Yr,remove:function(e,t){!0!==e.data.show?qr(e,t):t()}}:{}].concat(Xn)});Q&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&ii(e,"input")});var Xr={inserted:function(e,t,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?lt(n,"postpatch",function(){Xr.componentUpdated(e,t,n)}):Jr(e,t,n.context),e._vOptions=[].map.call(e.options,ti)):("textarea"===n.tag||Un(e.type))&&(e._vModifiers=t.modifiers,t.modifiers.lazy||(e.addEventListener("compositionstart",ni),e.addEventListener("compositionend",ri),e.addEventListener("change",ri),Q&&(e.vmodel=!0)))},componentUpdated:function(e,t,n){if("select"===n.tag){Jr(e,t,n.context);var r=e._vOptions,i=e._vOptions=[].map.call(e.options,ti);if(i.some(function(e,t){return!z(e,r[t])}))(e.multiple?t.value.some(function(e){return ei(e,i)}):t.value!==t.oldValue&&ei(t.value,i))&&ii(e,"change")}}};function Jr(e,t,n){Zr(e,t,n),(Y||X)&&setTimeout(function(){Zr(e,t,n)},0)}function Zr(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var o,a,l=0,s=e.options.length;l<s;l++)if(a=e.options[l],i)o=L(r,ti(a))>-1,a.selected!==o&&(a.selected=o);else if(z(ti(a),r))return void(e.selectedIndex!==l&&(e.selectedIndex=l));i||(e.selectedIndex=-1)}}function ei(e,t){return t.every(function(t){return!z(t,e)})}function ti(e){return"_value"in e?e._value:e.value}function ni(e){e.target.composing=!0}function ri(e){e.target.composing&&(e.target.composing=!1,ii(e.target,"input"))}function ii(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function oi(e){return!e.componentInstance||e.data&&e.data.transition?e:oi(e.componentInstance._vnode)}var ai={model:Xr,show:{bind:function(e,t,n){var r=t.value,i=(n=oi(n)).data&&n.data.transition,o=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(n.data.show=!0,Br(n,function(){e.style.display=o})):e.style.display=r?o:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=oi(n)).data&&n.data.transition?(n.data.show=!0,r?Br(n,function(){e.style.display=e.__vOriginalDisplay}):qr(n,function(){e.style.display="none"})):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}}},li={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function si(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?si(dt(t.children)):e}function ui(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[w(o)]=i[o];return t}function ci(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var pi={name:"transition",props:li,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(function(e){return e.tag||ft(e)})).length){0;var r=this.mode;0;var i=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return i;var o=si(i);if(!o)return i;if(this._leaving)return ci(e,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:l(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var s=(o.data||(o.data={})).transition=ui(this),u=this._vnode,c=si(u);if(o.data.directives&&o.data.directives.some(function(e){return"show"===e.name})&&(o.data.show=!0),c&&c.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(o,c)&&!ft(c)&&(!c.componentInstance||!c.componentInstance._vnode.isComment)){var p=c.data.transition=O({},s);if("out-in"===r)return this._leaving=!0,lt(p,"afterLeave",function(){t._leaving=!1,t.$forceUpdate()}),ci(e,i);if("in-out"===r){if(ft(o))return u;var f,d=function(){f()};lt(s,"afterEnter",d),lt(s,"enterCancelled",d),lt(p,"delayLeave",function(e){f=e})}}return i}}},fi=O({tag:String,moveClass:String},li);function di(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function hi(e){e.data.newPos=e.elm.getBoundingClientRect()}function vi(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var o=e.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete fi.mode;var gi={Transition:pi,TransitionGroup:{props:fi,render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=ui(this),l=0;l<i.length;l++){var s=i[l];if(s.tag)if(null!=s.key&&0!==String(s.key).indexOf("__vlist"))o.push(s),n[s.key]=s,(s.data||(s.data={})).transition=a;else;}if(r){for(var u=[],c=[],p=0;p<r.length;p++){var f=r[p];f.data.transition=a,f.data.pos=f.elm.getBoundingClientRect(),n[f.key]?u.push(f):c.push(f)}this.kept=e(t,null,u),this.removed=c}return e(t,null,o)},beforeUpdate:function(){this.__patch__(this._vnode,this.kept,!1,!0),this._vnode=this.kept},updated:function(){var e=this.prevChildren,t=this.moveClass||(this.name||"v")+"-move";e.length&&this.hasMove(e[0].elm,t)&&(e.forEach(di),e.forEach(hi),e.forEach(vi),this._reflow=document.body.offsetHeight,e.forEach(function(e){if(e.data.moved){var n=e.elm,r=n.style;Nr(n,t),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(zr,n._moveCb=function e(r){r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(zr,e),n._moveCb=null,Rr(n,t))})}}))},methods:{hasMove:function(e,t){if(!Tr)return!1;if(this._hasMove)return this._hasMove;var n=e.cloneNode();e._transitionClasses&&e._transitionClasses.forEach(function(e){Er(n,e)}),Pr(n,t),n.style.display="none",this.$el.appendChild(n);var r=Hr(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}}};fn.config.mustUseProp=function(e,t,n){return"value"===n&&xn(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},fn.config.isReservedTag=Mn,fn.config.isReservedAttr=kn,fn.config.getTagNamespace=function(e){return Ln(e)?"svg":"math"===e?"math":void 0},fn.config.isUnknownElement=function(e){if(!B)return!0;if(Mn(e))return!1;if(e=e.toLowerCase(),null!=In[e])return In[e];var t=document.createElement(e);return e.indexOf("-")>-1?In[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:In[e]=/HTMLUnknownElement/.test(t.toString())},O(fn.options.directives,ai),O(fn.options.components,gi),fn.prototype.__patch__=B?Qr:S,fn.prototype.$mount=function(e,t){return function(e,t,n){return e.$el=t,e.$options.render||(e.$options.render=ve),_t(e,"beforeMount"),new jt(e,function(){e._update(e._render(),n)},S,null,!0),n=!1,null==e.$vnode&&(e._isMounted=!0,_t(e,"mounted")),e}(this,e=e&&B?function(e){if("string"==typeof e){var t=document.querySelector(e);return t||document.createElement("div")}return e}(e):void 0,t)},B&&setTimeout(function(){R.devtools&&re&&re.emit("init",fn)},0),t.a=fn},function(e,t,n){var r=n(3),i=n(11),o=n(12),a=n(10),l=n(15),s=function(e,t,n){var u,c,p,f,d=e&s.F,h=e&s.G,v=e&s.S,g=e&s.P,m=e&s.B,y=h?r:v?r[t]||(r[t]={}):(r[t]||{}).prototype,b=h?i:i[t]||(i[t]={}),k=b.prototype||(b.prototype={});for(u in h&&(n=t),n)p=((c=!d&&y&&void 0!==y[u])?y:n)[u],f=m&&c?l(p,r):g&&"function"==typeof p?l(Function.call,p):p,y&&a(y,u,p,e&s.U),b[u]!=p&&o(b,u,f),g&&k[u]!=p&&(k[u]=p)};r.core=i,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t,n){var r=n(63)("wks"),i=n(25),o=n(3).Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";function r(e,t,n,r,i,o,a,l){var s,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),a?(s=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},u._ssrRegister=s):i&&(s=l?function(){i.call(this,this.$root.$options.shadowRoot)}:i),s)if(u.functional){u._injectStyles=s;var c=u.render;u.render=function(e,t){return s.call(t),c(e,t)}}else{var p=u.beforeCreate;u.beforeCreate=p?[].concat(p,s):[s]}return{exports:e,options:u}}n.d(t,"a",function(){return r})},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(9),i=n(64),o=n(44),a=Object.defineProperty;t.f=n(8)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports=!n(6)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(4);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){var r=n(3),i=n(12),o=n(14),a=n(25)("src"),l=Function.toString,s=(""+l).split("toString");n(11).inspectSource=function(e){return l.call(e)},(e.exports=function(e,t,n,l){var u="function"==typeof n;u&&(o(n,"name")||i(n,"name",t)),e[t]!==n&&(u&&(o(n,a)||i(n,a,e[t]?""+e[t]:s.join(String(t)))),e===r?e[t]=n:l?e[t]?e[t]=n:i(e,t,n):(delete e[t],i(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||l.call(this)})},function(e,t){var n=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},function(e,t,n){var r=n(7),i=n(26);e.exports=n(8)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(21);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var r=n(6);e.exports=function(e,t){return!!e&&r(function(){t?e.call(null,function(){},1):e.call(null)})}},function(e,t,n){"use strict";var r=n(0);t.a=new r.a},function(e,t){e.exports={}},function(e,t,n){var r=n(27),i=n(16);e.exports=function(e){return r(i(e))}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){var r=n(47),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){var r=n(16);e.exports=function(e){return Object(r(e))}},function(e,t,n){for(var r=n(41),i=n(28),o=n(10),a=n(3),l=n(12),s=n(19),u=n(2),c=u("iterator"),p=u("toStringTag"),f=s.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=i(d),v=0;v<h.length;v++){var g,m=h[v],y=d[m],b=a[m],k=b&&b.prototype;if(k&&(k[c]||l(k,c,f),k[p]||l(k,p,m),s[m]=f,y))for(g in r)k[g]||o(k,g,r[g],!0)}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(13);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){var r=n(66),i=n(49);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t,n){var r=n(7).f,i=n(14),o=n(2)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t,n){var r=n(15),i=n(27),o=n(23),a=n(22),l=n(105);e.exports=function(e,t){var n=1==e,s=2==e,u=3==e,c=4==e,p=6==e,f=5==e||p,d=t||l;return function(t,l,h){for(var v,g,m=o(t),y=i(m),b=r(l,h,3),k=a(y.length),x=0,w=n?d(t,k):s?d(t,0):void 0;k>x;x++)if((f||x in y)&&(g=b(v=y[x],x,m),e))if(n)w[x]=g;else if(g)switch(e){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return p?-1:u||c?c:w}}},function(e,t,n){"use strict";function r(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}n.d(t,"a",function(){return r})},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e){return(i="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":r(e)})(e)}n.d(t,"a",function(){return i})},function(e,t,n){var r=n(1);r(r.S+r.F,"Object",{assign:n(107)})},function(e,t,n){"use strict";var r=n(1),i=n(30)(1);r(r.P+r.F*!n(17)([].map,!0),"Array",{map:function(e){return i(this,e,arguments[1])}})},function(e,t,n){"use strict";var r=n(1),i=n(30)(0),o=n(17)([].forEach,!0);r(r.P+r.F*!o,"Array",{forEach:function(e){return i(this,e,arguments[1])}})},function(e,t,n){"use strict";var r=n(1),i=n(30)(2);r(r.P+r.F*!n(17)([].filter,!0),"Array",{filter:function(e){return i(this,e,arguments[1])}})},function(e,t,n){"use strict";var r=n(93),i=n(65),o=n(19),a=n(20);e.exports=n(45)(Array,"Array",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):i(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},function(e,t){e.exports=!1},function(e,t,n){var r=n(4),i=n(3).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},function(e,t,n){var r=n(4);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var r=n(42),i=n(1),o=n(10),a=n(12),l=n(19),s=n(94),u=n(29),c=n(97),p=n(2)("iterator"),f=!([].keys&&"next"in[].keys()),d=function(){return this};e.exports=function(e,t,n,h,v,g,m){s(n,t,h);var y,b,k,x=function(e){if(!f&&e in P)return P[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},w=t+" Iterator",_="values"==v,C=!1,P=e.prototype,E=P[p]||P["@@iterator"]||v&&P[v],A=E||x(v),O=v?_?x("entries"):A:void 0,T="Array"==t&&P.entries||E;if(T&&(k=c(T.call(new e)))!==Object.prototype&&k.next&&(u(k,w,!0),r||"function"==typeof k[p]||a(k,p,d)),_&&E&&"values"!==E.name&&(C=!0,A=function(){return E.call(this)}),r&&!m||!f&&!C&&P[p]||a(P,p,A),l[t]=A,l[w]=d,v)if(y={values:_?A:x("values"),keys:g?A:x("keys"),entries:O},m)for(b in y)b in P||o(P,b,y[b]);else i(i.P+i.F*(f||C),t,y);return y}},function(e,t,n){var r=n(9),i=n(95),o=n(49),a=n(48)("IE_PROTO"),l=function(){},s=function(){var e,t=n(43)("iframe"),r=o.length;for(t.style.display="none",n(68).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),s=e.F;r--;)delete s.prototype[o[r]];return s()};e.exports=Object.create||function(e,t){var n;return null!==e?(l.prototype=r(e),n=new l,l.prototype=null,n[a]=e):n=s(),void 0===t?n:i(n,t)}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(63)("keys"),i=n(25);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(15),i=n(98),o=n(99),a=n(9),l=n(22),s=n(100),u={},c={};(t=e.exports=function(e,t,n,p,f){var d,h,v,g,m=f?function(){return e}:s(e),y=r(n,p,t?2:1),b=0;if("function"!=typeof m)throw TypeError(e+" is not iterable!");if(o(m)){for(d=l(e.length);d>b;b++)if((g=t?y(a(h=e[b])[0],h[1]):y(e[b]))===u||g===c)return g}else for(v=m.call(e);!(h=v.next()).done;)if((g=i(v,y,h.value,t))===u||g===c)return g}).BREAK=u,t.RETURN=c},function(e,t,n){var r=n(10);e.exports=function(e,t,n){for(var i in t)r(e,i,t[i],n);return e}},function(e,t,n){var r=n(25)("meta"),i=n(4),o=n(14),a=n(7).f,l=0,s=Object.isExtensible||function(){return!0},u=!n(6)(function(){return s(Object.preventExtensions({}))}),c=function(e){a(e,r,{value:{i:"O"+ ++l,w:{}}})},p=e.exports={KEY:r,NEED:!1,fastKey:function(e,t){if(!i(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!o(e,r)){if(!s(e))return"F";if(!t)return"E";c(e)}return e[r].i},getWeak:function(e,t){if(!o(e,r)){if(!s(e))return!0;if(!t)return!1;c(e)}return e[r].w},onFreeze:function(e){return u&&p.NEED&&s(e)&&!o(e,r)&&c(e),e}}},function(e,t,n){var r=n(78),i=n(26),o=n(20),a=n(44),l=n(14),s=n(64),u=Object.getOwnPropertyDescriptor;t.f=n(8)?u:function(e,t){if(e=o(e),t=a(t,!0),s)try{return u(e,t)}catch(e){}if(l(e,t))return i(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return a});var r=n(36),i=(n(37),n(31));function o(e,t,n){switch(t){case"components":e[t]||(e[t]={}),Object.assign(e[t],n);break;case"mixins":!function(){var r;e[t]||(e[t]=[]),(r=e[t]).push.apply(r,Object(i.a)(n))}();break;default:throw new Error("Unknown option name.")}}function a(e,t){var n=e.$localePath;return"object"===Object(r.a)(t)&&t[n]?t[n]:t}},function(e,t){var n=/^(attrs|props|on|nativeOn|class|style|hook)$/;function r(e,t){return function(){e&&e.apply(this,arguments),t&&t.apply(this,arguments)}}e.exports=function(e){return e.reduce(function(e,t){var i,o,a,l,s;for(a in t)if(i=e[a],o=t[a],i&&n.test(a))if("class"===a&&("string"==typeof i&&(s=i,e[a]=i={},i[s]=!0),"string"==typeof o&&(s=o,t[a]=o={},o[s]=!0)),"on"===a||"nativeOn"===a||"hook"===a)for(l in o)i[l]=r(i[l],o[l]);else if(Array.isArray(i))e[a]=i.concat(o);else if(Array.isArray(o))e[a]=[i].concat(o);else for(l in o)i[l]=o[l];else e[a]=t[a];return e},{})}},function(e,t,n){var r=n(23),i=n(28);n(79)("keys",function(){return function(e){return i(r(e))}})},function(e,t,n){"use strict";var r=n(3),i=n(7),o=n(8),a=n(2)("species");e.exports=function(e){var t=r[e];o&&t&&!t[a]&&i.f(t,a,{configurable:!0,get:function(){return this}})}},function(e,t,n){var r=n(66),i=n(49).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},function(e,t,n){var r=n(7).f,i=Function.prototype,o=/^\s*function ([^ (]*)/;"name"in i||n(8)&&r(i,"name",{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var r=n(117)(!0);n(45)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){var r=n(4),i=n(121).set;e.exports=function(e,t,n){var o,a=t.constructor;return a!==n&&"function"==typeof a&&(o=a.prototype)!==n.prototype&&r(o)&&i&&i(e,o),e}},function(e,t,n){var r=n(11),i=n(3),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n(42)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){e.exports=!n(8)&&!n(6)(function(){return 7!=Object.defineProperty(n(43)("div"),"a",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(14),i=n(20),o=n(67)(!1),a=n(48)("IE_PROTO");e.exports=function(e,t){var n,l=i(e),s=0,u=[];for(n in l)n!=a&&r(l,n)&&u.push(n);for(;t.length>s;)r(l,n=t[s++])&&(~o(u,n)||u.push(n));return u}},function(e,t,n){var r=n(20),i=n(22),o=n(96);e.exports=function(e){return function(t,n,a){var l,s=r(t),u=i(s.length),c=o(a,u);if(e&&n!=n){for(;u>c;)if((l=s[c++])!=l)return!0}else for(;u>c;c++)if((e||c in s)&&s[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var r=n(3).document;e.exports=r&&r.documentElement},function(e,t,n){"use strict";var r,i,o,a,l=n(42),s=n(3),u=n(15),c=n(70),p=n(1),f=n(4),d=n(21),h=n(50),v=n(51),g=n(71),m=n(72).set,y=n(102)(),b=n(73),k=n(103),x=n(104),w=n(74),_=s.TypeError,C=s.process,P=C&&C.versions,E=P&&P.v8||"",A=s.Promise,O="process"==c(C),T=function(){},S=i=b.f,$=!!function(){try{var e=A.resolve(1),t=(e.constructor={})[n(2)("species")]=function(e){e(T,T)};return(O||"function"==typeof PromiseRejectionEvent)&&e.then(T)instanceof t&&0!==E.indexOf("6.6")&&-1===x.indexOf("Chrome/66")}catch(e){}}(),j=function(e){var t;return!(!f(e)||"function"!=typeof(t=e.then))&&t},z=function(e,t){if(!e._n){e._n=!0;var n=e._c;y(function(){for(var r=e._v,i=1==e._s,o=0,a=function(t){var n,o,a,l=i?t.ok:t.fail,s=t.resolve,u=t.reject,c=t.domain;try{l?(i||(2==e._h&&I(e),e._h=1),!0===l?n=r:(c&&c.enter(),n=l(r),c&&(c.exit(),a=!0)),n===t.promise?u(_("Promise-chain cycle")):(o=j(n))?o.call(n,s,u):s(n)):u(r)}catch(e){c&&!a&&c.exit(),u(e)}};n.length>o;)a(n[o++]);e._c=[],e._n=!1,t&&!e._h&&L(e)})}},L=function(e){m.call(s,function(){var t,n,r,i=e._v,o=M(e);if(o&&(t=k(function(){O?C.emit("unhandledRejection",i,e):(n=s.onunhandledrejection)?n({promise:e,reason:i}):(r=s.console)&&r.error&&r.error("Unhandled promise rejection",i)}),e._h=O||M(e)?2:1),e._a=void 0,o&&t.e)throw t.v})},M=function(e){return 1!==e._h&&0===(e._a||e._c).length},I=function(e){m.call(s,function(){var t;O?C.emit("rejectionHandled",e):(t=s.onrejectionhandled)&&t({promise:e,reason:e._v})})},U=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),z(t,!0))},N=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw _("Promise can't be resolved itself");(t=j(e))?y(function(){var r={_w:n,_d:!1};try{t.call(e,u(N,r,1),u(U,r,1))}catch(e){U.call(r,e)}}):(n._v=e,n._s=1,z(n,!1))}catch(e){U.call({_w:n,_d:!1},e)}}};$||(A=function(e){h(this,A,"Promise","_h"),d(e),r.call(this);try{e(u(N,this,1),u(U,this,1))}catch(e){U.call(this,e)}},(r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(52)(A.prototype,{then:function(e,t){var n=S(g(this,A));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=O?C.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&z(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r;this.promise=e,this.resolve=u(N,e,1),this.reject=u(U,e,1)},b.f=S=function(e){return e===A||e===a?new o(e):i(e)}),p(p.G+p.W+p.F*!$,{Promise:A}),n(29)(A,"Promise"),n(58)("Promise"),a=n(11).Promise,p(p.S+p.F*!$,"Promise",{reject:function(e){var t=S(this);return(0,t.reject)(e),t.promise}}),p(p.S+p.F*(l||!$),"Promise",{resolve:function(e){return w(l&&this===a?A:this,e)}}),p(p.S+p.F*!($&&n(75)(function(e){A.all(e).catch(T)})),"Promise",{all:function(e){var t=this,n=S(t),r=n.resolve,i=n.reject,o=k(function(){var n=[],o=0,a=1;v(e,!1,function(e){var l=o++,s=!1;n.push(void 0),a++,t.resolve(e).then(function(e){s||(s=!0,n[l]=e,--a||r(n))},i)}),--a||r(n)});return o.e&&i(o.v),n.promise},race:function(e){var t=this,n=S(t),r=n.reject,i=k(function(){v(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}})},function(e,t,n){var r=n(13),i=n(2)("toStringTag"),o="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),i))?n:o?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},function(e,t,n){var r=n(9),i=n(21),o=n(2)("species");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[o])?t:i(n)}},function(e,t,n){var r,i,o,a=n(15),l=n(101),s=n(68),u=n(43),c=n(3),p=c.process,f=c.setImmediate,d=c.clearImmediate,h=c.MessageChannel,v=c.Dispatch,g=0,m={},y=function(){var e=+this;if(m.hasOwnProperty(e)){var t=m[e];delete m[e],t()}},b=function(e){y.call(e.data)};f&&d||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return m[++g]=function(){l("function"==typeof e?e:Function(e),t)},r(g),g},d=function(e){delete m[e]},"process"==n(13)(p)?r=function(e){p.nextTick(a(y,e,1))}:v&&v.now?r=function(e){v.now(a(y,e,1))}:h?(o=(i=new h).port2,i.port1.onmessage=b,r=a(o.postMessage,o,1)):c.addEventListener&&"function"==typeof postMessage&&!c.importScripts?(r=function(e){c.postMessage(e+"","*")},c.addEventListener("message",b,!1)):r="onreadystatechange"in u("script")?function(e){s.appendChild(u("script")).onreadystatechange=function(){s.removeChild(this),y.call(e)}}:function(e){setTimeout(a(y,e,1),0)}),e.exports={set:f,clear:d}},function(e,t,n){"use strict";var r=n(21);e.exports.f=function(e){return new function(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=r(t),this.reject=r(n)}(e)}},function(e,t,n){var r=n(9),i=n(4),o=n(73);e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=o.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){var r=n(2)("iterator"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},e(o)}catch(e){}return n}},function(e,t,n){"use strict";var r=n(1),i=n(11),o=n(3),a=n(71),l=n(74);r(r.P+r.R,"Promise",{finally:function(e){var t=a(this,i.Promise||o.Promise),n="function"==typeof e;return this.then(n?function(n){return l(t,e()).then(function(){return n})}:e,n?function(n){return l(t,e()).then(function(){throw n})}:e)}})},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(1),i=n(11),o=n(6);e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],a={};a[e]=t(n),r(r.S+r.F*o(function(){n(1)}),"Object",a)}},function(e,t,n){var r=n(4);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t,n){"use strict";function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}n.d(t,"a",function(){return r})},function(e,t,n){var r; +/*! + * smooth-scroll v15.0.0: Animate scrolling to anchor links + * (c) 2018 Chris Ferdinandi + * MIT License + * http://github.com/cferdinandi/smooth-scroll + */ +/*! + * smooth-scroll v15.0.0: Animate scrolling to anchor links + * (c) 2018 Chris Ferdinandi + * MIT License + * http://github.com/cferdinandi/smooth-scroll + */ +!function(n,i){void 0===(r=function(){return function(e){"use strict";var t={ignore:"[data-scroll-ignore]",header:null,topOnEmptyHash:!0,speed:500,speedAsDuration:!1,durationMax:null,durationMin:null,clip:!0,offset:0,easing:"easeInOutCubic",customEasing:null,updateURL:!0,popstate:!0,emitEvents:!0},n=function(){var e={};return Array.prototype.forEach.call(arguments,function(t){for(var n in t){if(!t.hasOwnProperty(n))return;e[n]=t[n]}}),e},r=function(e){var t;try{t=decodeURIComponent(e)}catch(n){t=e}return t},i=function(e){"#"===e.charAt(0)&&(e=e.substr(1));for(var t,n,r=String(e),i=r.length,o=-1,a="",l=r.charCodeAt(0);++o<i;){if(0===(t=r.charCodeAt(o)))throw new InvalidCharacterError("Invalid character: the input contains U+0000.");t>=1&&t<=31||127==t||0===o&&t>=48&&t<=57||1===o&&t>=48&&t<=57&&45===l?a+="\\"+t.toString(16)+" ":a+=t>=128||45===t||95===t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122?r.charAt(o):"\\"+r.charAt(o)}try{n=decodeURIComponent("#"+a)}catch(e){n="#"+a}return n},o=function(){return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},a=function(t){return t?function(t){return parseInt(e.getComputedStyle(t).height,10)}(t)+t.offsetTop:0},l=function(t,n,r,i){if(n.emitEvents&&"function"==typeof e.CustomEvent){var o=new CustomEvent(t,{bubbles:!0,detail:{anchor:r,toggle:i}});document.dispatchEvent(o)}};return function(s,u){var c,p,f,d,h,v,g={};g.cancelScroll=function(e){cancelAnimationFrame(v),v=null,e||l("scrollCancel",c)},g.animateScroll=function(r,i,s){var u=n(c||t,s||{}),p="[object Number]"===Object.prototype.toString.call(r),h=p||!r.tagName?null:r;if(p||h){var m=e.pageYOffset;u.header&&!f&&(f=document.querySelector(u.header)),d||(d=a(f));var y,b,k,x=p?r:function(t,n,r,i){var a=0;if(t.offsetParent)do{a+=t.offsetTop,t=t.offsetParent}while(t);a=Math.max(a-n-r,0),i&&(a=Math.min(a,o()-e.innerHeight));return a}(h,d,parseInt("function"==typeof u.offset?u.offset(r,i):u.offset,10),u.clip),w=x-m,_=o(),C=0,P=function(e,t){var n=t.speedAsDuration?t.speed:Math.abs(e/1e3*t.speed);return t.durationMax&&n>t.durationMax?t.durationMax:t.durationMin&&n<t.durationMin?t.durationMin:n}(w,u),E=function(t,n){var o=e.pageYOffset;if(t==n||o==n||(m<n&&e.innerHeight+o)>=_)return g.cancelScroll(!0),function(t,n,r){0===t&&document.body.focus();if(r)return;t.focus(),document.activeElement!==t&&(t.setAttribute("tabindex","-1"),t.focus(),t.style.outline="none");e.scrollTo(0,n)}(r,n,p),l("scrollStop",u,r,i),y=null,v=null,!0},A=function(t){y||(y=t),b=(C+=t-y)/parseInt(P,10),k=m+w*function(e,t){var n;"easeInQuad"===e.easing&&(n=t*t);"easeOutQuad"===e.easing&&(n=t*(2-t));"easeInOutQuad"===e.easing&&(n=t<.5?2*t*t:(4-2*t)*t-1);"easeInCubic"===e.easing&&(n=t*t*t);"easeOutCubic"===e.easing&&(n=--t*t*t+1);"easeInOutCubic"===e.easing&&(n=t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1);"easeInQuart"===e.easing&&(n=t*t*t*t);"easeOutQuart"===e.easing&&(n=1- --t*t*t*t);"easeInOutQuart"===e.easing&&(n=t<.5?8*t*t*t*t:1-8*--t*t*t*t);"easeInQuint"===e.easing&&(n=t*t*t*t*t);"easeOutQuint"===e.easing&&(n=1+--t*t*t*t*t);"easeInOutQuint"===e.easing&&(n=t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t);e.customEasing&&(n=e.customEasing(t));return n||t}(u,b=b>1?1:b),e.scrollTo(0,Math.floor(k)),E(k,x)||(v=e.requestAnimationFrame(A),y=t)};0===e.pageYOffset&&e.scrollTo(0,0),function(e,t,n){if(t)return;if(!history.pushState||!n.updateURL)return;history.pushState({smoothScroll:JSON.stringify(n),anchor:e.id},document.title,e===document.documentElement?"#top":"#"+e.id)}(r,p,u),l("scrollStart",u,r,i),g.cancelScroll(!0),e.requestAnimationFrame(A)}};var m=function(t){if(!function(t){if("matchMedia"in e&&e.matchMedia("(prefers-reduced-motion)").matches)return!0;return!1}()&&0===t.button&&!t.metaKey&&!t.ctrlKey&&"closest"in t.target&&(p=t.target.closest(s))&&"a"===p.tagName.toLowerCase()&&!t.target.closest(c.ignore)&&p.hostname===e.location.hostname&&p.pathname===e.location.pathname&&/#/.test(p.href)){var n=i(r(p.hash)),o=c.topOnEmptyHash&&"#"===n?document.documentElement:document.querySelector(n);(o=o||"#top"!==n?o:document.documentElement)&&(t.preventDefault(),g.animateScroll(o,p))}},y=function(e){if(null!==history.state&&history.state.smoothScroll&&history.state.smoothScroll===JSON.stringify(c)&&history.state.anchor){var t=document.querySelector(i(r(history.state.anchor)));t&&g.animateScroll(t,null,{updateURL:!1})}},b=function(e){h||(h=setTimeout(function(){h=null,d=a(f)},66))};return g.destroy=function(){c&&(document.removeEventListener("click",m,!1),e.removeEventListener("resize",b,!1),e.removeEventListener("popstate",y,!1),g.cancelScroll(),c=null,null,p=null,f=null,d=null,h=null,v=null)},g.init=function(r){if(!("querySelector"in document&&"addEventListener"in e&&"requestAnimationFrame"in e&&"closest"in e.Element.prototype))throw"Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.";g.destroy(),c=n(t,r||{}),f=c.header?document.querySelector(c.header):null,d=a(f),document.addEventListener("click",m,!1),f&&e.addEventListener("resize",b,!1),c.updateURL&&c.popstate&&e.addEventListener("popstate",y,!1)},g.init(u),g}}(n)}.apply(t,[]))||(e.exports=r)}("undefined"!=typeof global?global:"undefined"!=typeof window?window:this)},function(e,t){var n="Expected a function",r=NaN,i="[object Symbol]",o=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,s=/^0o[0-7]+$/i,u=parseInt,c="object"==typeof global&&global&&global.Object===Object&&global,p="object"==typeof self&&self&&self.Object===Object&&self,f=c||p||Function("return this")(),d=Object.prototype.toString,h=Math.max,v=Math.min,g=function(){return f.Date.now()};function m(e,t,r){var i,o,a,l,s,u,c=0,p=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError(n);function m(t){var n=i,r=o;return i=o=void 0,c=t,l=e.apply(r,n)}function k(e){var n=e-u;return void 0===u||n>=t||n<0||f&&e-c>=a}function x(){var e=g();if(k(e))return w(e);s=setTimeout(x,function(e){var n=t-(e-u);return f?v(n,a-(e-c)):n}(e))}function w(e){return s=void 0,d&&i?m(e):(i=o=void 0,l)}function _(){var e=g(),n=k(e);if(i=arguments,o=this,u=e,n){if(void 0===s)return function(e){return c=e,s=setTimeout(x,t),p?m(e):l}(u);if(f)return s=setTimeout(x,t),m(u)}return void 0===s&&(s=setTimeout(x,t)),l}return t=b(t)||0,y(r)&&(p=!!r.leading,a=(f="maxWait"in r)?h(b(r.maxWait)||0,t):a,d="trailing"in r?!!r.trailing:d),_.cancel=function(){void 0!==s&&clearTimeout(s),c=0,i=u=o=s=void 0},_.flush=function(){return void 0===s?l:w(g())},_}function y(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function b(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&d.call(e)==i}(e))return r;if(y(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=y(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var n=l.test(e);return n||s.test(e)?u(e.slice(2),n?2:8):a.test(e)?r:+e}e.exports=function(e,t,r){var i=!0,o=!0;if("function"!=typeof e)throw new TypeError(n);return y(r)&&(i="leading"in r?!!r.leading:i,o="trailing"in r?!!r.trailing:o),m(e,t,{leading:i,maxWait:t,trailing:o})}},function(e,t){var n="Expected a function",r=NaN,i="[object Symbol]",o=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,s=/^0o[0-7]+$/i,u=parseInt,c="object"==typeof global&&global&&global.Object===Object&&global,p="object"==typeof self&&self&&self.Object===Object&&self,f=c||p||Function("return this")(),d=Object.prototype.toString,h=Math.max,v=Math.min,g=function(){return f.Date.now()};function m(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function y(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&d.call(e)==i}(e))return r;if(m(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=m(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var n=l.test(e);return n||s.test(e)?u(e.slice(2),n?2:8):a.test(e)?r:+e}e.exports=function(e,t,r){var i,o,a,l,s,u,c=0,p=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError(n);function b(t){var n=i,r=o;return i=o=void 0,c=t,l=e.apply(r,n)}function k(e){var n=e-u;return void 0===u||n>=t||n<0||f&&e-c>=a}function x(){var e=g();if(k(e))return w(e);s=setTimeout(x,function(e){var n=t-(e-u);return f?v(n,a-(e-c)):n}(e))}function w(e){return s=void 0,d&&i?b(e):(i=o=void 0,l)}function _(){var e=g(),n=k(e);if(i=arguments,o=this,u=e,n){if(void 0===s)return function(e){return c=e,s=setTimeout(x,t),p?b(e):l}(u);if(f)return s=setTimeout(x,t),b(u)}return void 0===s&&(s=setTimeout(x,t)),l}return t=y(t)||0,m(r)&&(p=!!r.leading,a=(f="maxWait"in r)?h(y(r.maxWait)||0,t):a,d="trailing"in r?!!r.trailing:d),_.cancel=function(){void 0!==s&&clearTimeout(s),c=0,i=u=o=s=void 0},_.flush=function(){return void 0===s?l:w(g())},_}},function(e,t,n){"use strict";var r=n(1),i=n(30)(3);r(r.P+r.F*!n(17)([].some,!0),"Array",{some:function(e){return i(this,e,arguments[1])}})},function(e,t,n){n(88)("replace",2,function(e,t,n){return[function(r,i){"use strict";var o=e(this),a=void 0==r?void 0:r[t];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},n]})},function(e,t,n){var r=n(4),i=n(13),o=n(2)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[o])?!!t:"RegExp"==i(e))}},function(e,t,n){"use strict";var r=n(12),i=n(10),o=n(6),a=n(16),l=n(2);e.exports=function(e,t,n){var s=l(e),u=n(a,s,""[e]),c=u[0],p=u[1];o(function(){var t={};return t[s]=function(){return 7},7!=""[e](t)})&&(i(String.prototype,e,c),r(RegExp.prototype,s,2==t?function(e,t){return p.call(e,this,t)}:function(e){return p.call(e,this)}))}},function(e,t,n){"use strict";var r=n(1),i=n(67)(!1),o=[].indexOf,a=!!o&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(17)(o)),"Array",{indexOf:function(e){return a?o.apply(this,arguments)||0:i(this,e,arguments[1])}})},function(e,t,n){var r=n(13);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(1),i=n(16),o=n(6),a=n(125),l="["+a+"]",s=RegExp("^"+l+l+"*"),u=RegExp(l+l+"*$"),c=function(e,t,n){var i={},l=o(function(){return!!a[e]()||"​…"!="​…"[e]()}),s=i[e]=l?t(p):a[e];n&&(i[n]=s),r(r.P+r.F*l,"String",i)},p=c.trim=function(e,t){return e=String(i(e)),1&t&&(e=e.replace(s,"")),2&t&&(e=e.replace(u,"")),e};e.exports=c},function(e,t,n){e.exports=n(132)},function(e,t,n){var r=n(2)("unscopables"),i=Array.prototype;void 0==i[r]&&n(12)(i,r,{}),e.exports=function(e){i[r][e]=!0}},function(e,t,n){"use strict";var r=n(46),i=n(26),o=n(29),a={};n(12)(a,n(2)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+" Iterator")}},function(e,t,n){var r=n(7),i=n(9),o=n(28);e.exports=n(8)?Object.defineProperties:function(e,t){i(e);for(var n,a=o(t),l=a.length,s=0;l>s;)r.f(e,n=a[s++],t[n]);return e}},function(e,t,n){var r=n(47),i=Math.max,o=Math.min;e.exports=function(e,t){return(e=r(e))<0?i(e+t,0):o(e,t)}},function(e,t,n){var r=n(14),i=n(23),o=n(48)("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){var r=n(9);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(t){var o=e.return;throw void 0!==o&&r(o.call(e)),t}}},function(e,t,n){var r=n(19),i=n(2)("iterator"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||o[i]===e)}},function(e,t,n){var r=n(70),i=n(2)("iterator"),o=n(19);e.exports=n(11).getIteratorMethod=function(e){if(void 0!=e)return e[i]||e["@@iterator"]||o[r(e)]}},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(3),i=n(72).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,l=r.Promise,s="process"==n(13)(a);e.exports=function(){var e,t,n,u=function(){var r,i;for(s&&(r=a.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(s)n=function(){a.nextTick(u)};else if(!o||r.navigator&&r.navigator.standalone)if(l&&l.resolve){var c=l.resolve(void 0);n=function(){c.then(u)}}else n=function(){i.call(r,u)};else{var p=!0,f=document.createTextNode("");new o(u).observe(f,{characterData:!0}),n=function(){f.data=p=!p}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(3).navigator;e.exports=r&&r.userAgent||""},function(e,t,n){var r=n(106);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(4),i=n(90),o=n(2)("species");e.exports=function(e){var t;return i(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!i(t.prototype)||(t=void 0),r(t)&&null===(t=t[o])&&(t=void 0)),void 0===t?Array:t}},function(e,t,n){"use strict";var r=n(28),i=n(77),o=n(78),a=n(23),l=n(27),s=Object.assign;e.exports=!s||n(6)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=s({},e)[n]||Object.keys(s({},t)).join("")!=r})?function(e,t){for(var n=a(e),s=arguments.length,u=1,c=i.f,p=o.f;s>u;)for(var f,d=l(arguments[u++]),h=c?r(d).concat(c(d)):r(d),v=h.length,g=0;v>g;)p.call(d,f=h[g++])&&(n[f]=d[f]);return n}:s},function(e,t,n){var r=n(4),i=n(53).onFreeze;n(79)("freeze",function(e){return function(t){return e&&r(t)?e(i(t)):t}})},function(e,t,n){"use strict";var r=n(1),i=n(22),o=n(110),a="".startsWith;r(r.P+r.F*n(111)("startsWith"),"String",{startsWith:function(e){var t=o(this,e,"startsWith"),n=i(Math.min(arguments.length>1?arguments[1]:void 0,t.length)),r=String(e);return a?a.call(t,r,n):t.slice(n,n+r.length)===r}})},function(e,t,n){var r=n(87),i=n(16);e.exports=function(e,t,n){if(r(t))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(e))}},function(e,t,n){var r=n(2)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,!"/./"[e](t)}catch(e){}}return!0}},function(e,t,n){"use strict";var r=n(1),i=n(113);r(r.P+r.F*!n(17)([].reduce,!0),"Array",{reduce:function(e){return i(this,e,arguments.length,arguments[1],!1)}})},function(e,t,n){var r=n(21),i=n(23),o=n(27),a=n(22);e.exports=function(e,t,n,l,s){r(t);var u=i(e),c=o(u),p=a(u.length),f=s?p-1:0,d=s?-1:1;if(n<2)for(;;){if(f in c){l=c[f],f+=d;break}if(f+=d,s?f<0:p<=f)throw TypeError("Reduce of empty array with no initial value")}for(;s?f>=0:p>f;f+=d)f in c&&(l=t(l,c[f],f,u));return l}},function(e,t,n){var r=n(1),i=n(115),o=n(20),a=n(54),l=n(116);r(r.S,"Object",{getOwnPropertyDescriptors:function(e){for(var t,n,r=o(e),s=a.f,u=i(r),c={},p=0;u.length>p;)void 0!==(n=s(r,t=u[p++]))&&l(c,t,n);return c}})},function(e,t,n){var r=n(59),i=n(77),o=n(9),a=n(3).Reflect;e.exports=a&&a.ownKeys||function(e){var t=r.f(o(e)),n=i.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";var r=n(7),i=n(26);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){var r=n(47),i=n(16);e.exports=function(e){return function(t,n){var o,a,l=String(i(t)),s=r(n),u=l.length;return s<0||s>=u?e?"":void 0:(o=l.charCodeAt(s))<55296||o>56319||s+1===u||(a=l.charCodeAt(s+1))<56320||a>57343?e?l.charAt(s):o:e?l.slice(s,s+2):a-56320+(o-55296<<10)+65536}}},function(e,t,n){"use strict";var r=n(119),i=n(80);e.exports=n(120)("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(i(this,"Set"),e=0===e?0:e,e)}},r)},function(e,t,n){"use strict";var r=n(7).f,i=n(46),o=n(52),a=n(15),l=n(50),s=n(51),u=n(45),c=n(65),p=n(58),f=n(8),d=n(53).fastKey,h=n(80),v=f?"_s":"size",g=function(e,t){var n,r=d(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,u){var c=e(function(e,r){l(e,c,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[v]=0,void 0!=r&&s(r,n,e[u],e)});return o(c.prototype,{clear:function(){for(var e=h(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[v]=0},delete:function(e){var n=h(this,t),r=g(n,e);if(r){var i=r.n,o=r.p;delete n._i[r.i],r.r=!0,o&&(o.n=i),i&&(i.p=o),n._f==r&&(n._f=i),n._l==r&&(n._l=o),n[v]--}return!!r},forEach:function(e){h(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(h(this,t),e)}}),f&&r(c.prototype,"size",{get:function(){return h(this,t)[v]}}),c},def:function(e,t,n){var r,i,o=g(e,t);return o?o.v=n:(e._l=o={i:i=d(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=o),r&&(r.n=o),e[v]++,"F"!==i&&(e._i[i]=o)),e},getEntry:g,setStrong:function(e,t,n){u(e,t,function(e,n){this._t=h(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?c(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,c(1))},n?"entries":"values",!n,!0),p(t)}}},function(e,t,n){"use strict";var r=n(3),i=n(1),o=n(10),a=n(52),l=n(53),s=n(51),u=n(50),c=n(4),p=n(6),f=n(75),d=n(29),h=n(62);e.exports=function(e,t,n,v,g,m){var y=r[e],b=y,k=g?"set":"add",x=b&&b.prototype,w={},_=function(e){var t=x[e];o(x,e,"delete"==e?function(e){return!(m&&!c(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(m&&!c(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return m&&!c(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof b&&(m||x.forEach&&!p(function(){(new b).entries().next()}))){var C=new b,P=C[k](m?{}:-0,1)!=C,E=p(function(){C.has(1)}),A=f(function(e){new b(e)}),O=!m&&p(function(){for(var e=new b,t=5;t--;)e[k](t,t);return!e.has(-0)});A||((b=t(function(t,n){u(t,b,e);var r=h(new y,t,b);return void 0!=n&&s(n,g,r[k],r),r})).prototype=x,x.constructor=b),(E||O)&&(_("delete"),_("has"),g&&_("get")),(O||P)&&_(k),m&&x.clear&&delete x.clear}else b=v.getConstructor(t,e,g,k),a(b.prototype,n),l.NEED=!0;return d(b,e),w[e]=b,i(i.G+i.W+i.F*(b!=y),w),m||v.setStrong(b,e,g),b}},function(e,t,n){var r=n(4),i=n(9),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n(15)(Function.call,n(54).f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},function(e,t,n){},function(e,t,n){Promise.all([n.e(0),n.e(86)]).then(n.t.bind(null,133,7))},function(e,t,n){"use strict";var r=n(3),i=n(14),o=n(13),a=n(62),l=n(44),s=n(6),u=n(59).f,c=n(54).f,p=n(7).f,f=n(91).trim,d=r.Number,h=d,v=d.prototype,g="Number"==o(n(46)(v)),m="trim"in String.prototype,y=function(e){var t=l(e,!1);if("string"==typeof t&&t.length>2){var n,r,i,o=(t=m?t.trim():f(t,3)).charCodeAt(0);if(43===o||45===o){if(88===(n=t.charCodeAt(2))||120===n)return NaN}else if(48===o){switch(t.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+t}for(var a,s=t.slice(2),u=0,c=s.length;u<c;u++)if((a=s.charCodeAt(u))<48||a>i)return NaN;return parseInt(s,r)}}return+t};if(!d(" 0o1")||!d("0b1")||d("+0x1")){d=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof d&&(g?s(function(){v.valueOf.call(n)}):"Number"!=o(n))?a(new h(y(t)),n,d):y(t)};for(var b,k=n(8)?u(h):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),x=0;k.length>x;x++)i(h,b=k[x])&&!i(d,b)&&p(d,b,c(h,b));d.prototype=v,v.constructor=d,n(10)(r,"Number",d)}},function(e,t){e.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(e,t,n){"use strict";var r=n(32);n.n(r).a},function(e,t,n){var r=n(1);r(r.S+r.F*!n(8),"Object",{defineProperty:n(7).f})},function(e,t,n){},function(e,t,n){"use strict";var r=n(33);n.n(r).a},function(e,t,n){"use strict";var r=n(34);n.n(r).a},function(e,t,n){"use strict";var r=n(35);n.n(r).a},function(e,t,n){"use strict";n.r(t);n(41),n(69),n(76),n(38),n(24),n(39),n(37);var r=n(0);function i(e,t){0}function o(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}var a={name:"router-view",functional:!0,props:{name:{type:String,default:"default"}},render:function(e,t){var n=t.props,r=t.children,i=t.parent,o=t.data;o.routerView=!0;for(var a=i.$createElement,l=n.name,s=i.$route,u=i._routerViewCache||(i._routerViewCache={}),c=0,p=!1;i&&i._routerRoot!==i;)i.$vnode&&i.$vnode.data.routerView&&c++,i._inactive&&(p=!0),i=i.$parent;if(o.routerViewDepth=c,p)return a(u[l],o,r);var f=s.matched[c];if(!f)return u[l]=null,a();var d=u[l]=f.components[l];o.registerRouteInstance=function(e,t){var n=f.instances[l];(t&&n!==e||!t&&n===e)&&(f.instances[l]=t)},(o.hook||(o.hook={})).prepatch=function(e,t){f.instances[l]=t.componentInstance};var h=o.props=function(e,t){switch(typeof t){case"undefined":return;case"object":return t;case"function":return t(e);case"boolean":return t?e.params:void 0;default:0}}(s,f.props&&f.props[l]);if(h){h=o.props=function(e,t){for(var n in t)e[n]=t[n];return e}({},h);var v=o.attrs=o.attrs||{};for(var g in h)d.props&&g in d.props||(v[g]=h[g],delete h[g])}return a(d,o,r)}};var l=/[!'()*]/g,s=function(e){return"%"+e.charCodeAt(0).toString(16)},u=/%2C/g,c=function(e){return encodeURIComponent(e).replace(l,s).replace(u,",")},p=decodeURIComponent;function f(e){var t={};return(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach(function(e){var n=e.replace(/\+/g," ").split("="),r=p(n.shift()),i=n.length>0?p(n.join("=")):null;void 0===t[r]?t[r]=i:Array.isArray(t[r])?t[r].push(i):t[r]=[t[r],i]}),t):t}function d(e){var t=e?Object.keys(e).map(function(t){var n=e[t];if(void 0===n)return"";if(null===n)return c(t);if(Array.isArray(n)){var r=[];return n.forEach(function(e){void 0!==e&&(null===e?r.push(c(t)):r.push(c(t)+"="+c(e)))}),r.join("&")}return c(t)+"="+c(n)}).filter(function(e){return e.length>0}).join("&"):null;return t?"?"+t:""}var h=/\/?$/;function v(e,t,n,r){var i=r&&r.options.stringifyQuery,o=t.query||{};try{o=g(o)}catch(e){}var a={name:t.name||e&&e.name,meta:e&&e.meta||{},path:t.path||"/",hash:t.hash||"",query:o,params:t.params||{},fullPath:y(t,i),matched:e?function(e){var t=[];for(;e;)t.unshift(e),e=e.parent;return t}(e):[]};return n&&(a.redirectedFrom=y(n,i)),Object.freeze(a)}function g(e){if(Array.isArray(e))return e.map(g);if(e&&"object"==typeof e){var t={};for(var n in e)t[n]=g(e[n]);return t}return e}var m=v(null,{path:"/"});function y(e,t){var n=e.path,r=e.query;void 0===r&&(r={});var i=e.hash;return void 0===i&&(i=""),(n||"/")+(t||d)(r)+i}function b(e,t){return t===m?e===t:!!t&&(e.path&&t.path?e.path.replace(h,"")===t.path.replace(h,"")&&e.hash===t.hash&&k(e.query,t.query):!(!e.name||!t.name)&&(e.name===t.name&&e.hash===t.hash&&k(e.query,t.query)&&k(e.params,t.params)))}function k(e,t){if(void 0===e&&(e={}),void 0===t&&(t={}),!e||!t)return e===t;var n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(function(n){var r=e[n],i=t[n];return"object"==typeof r&&"object"==typeof i?k(r,i):String(r)===String(i)})}var x,w=[String,Object],_=[String,Array],C={name:"router-link",props:{to:{type:w,required:!0},tag:{type:String,default:"a"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:_,default:"click"}},render:function(e){var t=this,n=this.$router,r=this.$route,i=n.resolve(this.to,r,this.append),o=i.location,a=i.route,l=i.href,s={},u=n.options.linkActiveClass,c=n.options.linkExactActiveClass,p=null==u?"router-link-active":u,f=null==c?"router-link-exact-active":c,d=null==this.activeClass?p:this.activeClass,g=null==this.exactActiveClass?f:this.exactActiveClass,m=o.path?v(null,o,null,n):a;s[g]=b(r,m),s[d]=this.exact?s[g]:function(e,t){return 0===e.path.replace(h,"/").indexOf(t.path.replace(h,"/"))&&(!t.hash||e.hash===t.hash)&&function(e,t){for(var n in t)if(!(n in e))return!1;return!0}(e.query,t.query)}(r,m);var y=function(e){P(e)&&(t.replace?n.replace(o):n.push(o))},k={click:P};Array.isArray(this.event)?this.event.forEach(function(e){k[e]=y}):k[this.event]=y;var w={class:s};if("a"===this.tag)w.on=k,w.attrs={href:l};else{var _=function e(t){if(t)for(var n,r=0;r<t.length;r++){if("a"===(n=t[r]).tag)return n;if(n.children&&(n=e(n.children)))return n}}(this.$slots.default);if(_){_.isStatic=!1;var C=x.util.extend;(_.data=C({},_.data)).on=k,(_.data.attrs=C({},_.data.attrs)).href=l}else w.on=k}return e(this.tag,w,this.$slots.default)}};function P(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.defaultPrevented||void 0!==e.button&&0!==e.button)){if(e.currentTarget&&e.currentTarget.getAttribute){var t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function E(e){if(!E.installed||x!==e){E.installed=!0,x=e;var t=function(e){return void 0!==e},n=function(e,n){var r=e.$options._parentVnode;t(r)&&t(r=r.data)&&t(r=r.registerRouteInstance)&&r(e,n)};e.mixin({beforeCreate:function(){t(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,n(this,this)},destroyed:function(){n(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("router-view",a),e.component("router-link",C);var r=e.config.optionMergeStrategies;r.beforeRouteEnter=r.beforeRouteLeave=r.beforeRouteUpdate=r.created}}var A="undefined"!=typeof window;function O(e,t,n){var r=e.charAt(0);if("/"===r)return e;if("?"===r||"#"===r)return t+e;var i=t.split("/");n&&i[i.length-1]||i.pop();for(var o=e.replace(/^\//,"").split("/"),a=0;a<o.length;a++){var l=o[a];".."===l?i.pop():"."!==l&&i.push(l)}return""!==i[0]&&i.unshift(""),i.join("/")}function T(e){return e.replace(/\/\//g,"/")}var S=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)},$=q,j=U,z=function(e,t){return D(U(e,t))},L=D,M=B,I=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function U(e,t){for(var n,r=[],i=0,o=0,a="",l=t&&t.delimiter||"/";null!=(n=I.exec(e));){var s=n[0],u=n[1],c=n.index;if(a+=e.slice(o,c),o=c+s.length,u)a+=u[1];else{var p=e[o],f=n[2],d=n[3],h=n[4],v=n[5],g=n[6],m=n[7];a&&(r.push(a),a="");var y=null!=f&&null!=p&&p!==f,b="+"===g||"*"===g,k="?"===g||"*"===g,x=n[2]||l,w=h||v;r.push({name:d||i++,prefix:f||"",delimiter:x,optional:k,repeat:b,partial:y,asterisk:!!m,pattern:w?H(w):m?".*":"[^"+F(x)+"]+?"})}}return o<e.length&&(a+=e.substr(o)),a&&r.push(a),r}function N(e){return encodeURI(e).replace(/[\/?#]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}function R(e){return encodeURI(e).replace(/[?#]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}function D(e){for(var t=new Array(e.length),n=0;n<e.length;n++)"object"==typeof e[n]&&(t[n]=new RegExp("^(?:"+e[n].pattern+")$"));return function(n,r){for(var i="",o=n||{},a=(r||{}).pretty?N:encodeURIComponent,l=0;l<e.length;l++){var s=e[l];if("string"!=typeof s){var u,c=o[s.name];if(null==c){if(s.optional){s.partial&&(i+=s.prefix);continue}throw new TypeError('Expected "'+s.name+'" to be defined')}if(S(c)){if(!s.repeat)throw new TypeError('Expected "'+s.name+'" to not repeat, but received `'+JSON.stringify(c)+"`");if(0===c.length){if(s.optional)continue;throw new TypeError('Expected "'+s.name+'" to not be empty')}for(var p=0;p<c.length;p++){if(u=a(c[p]),!t[l].test(u))throw new TypeError('Expected all "'+s.name+'" to match "'+s.pattern+'", but received `'+JSON.stringify(u)+"`");i+=(0===p?s.prefix:s.delimiter)+u}}else{if(u=s.asterisk?R(c):a(c),!t[l].test(u))throw new TypeError('Expected "'+s.name+'" to match "'+s.pattern+'", but received "'+u+'"');i+=s.prefix+u}}else i+=s}return i}}function F(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function H(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function V(e,t){return e.keys=t,e}function W(e){return e.sensitive?"":"i"}function B(e,t,n){S(t)||(n=t||n,t=[]);for(var r=(n=n||{}).strict,i=!1!==n.end,o="",a=0;a<e.length;a++){var l=e[a];if("string"==typeof l)o+=F(l);else{var s=F(l.prefix),u="(?:"+l.pattern+")";t.push(l),l.repeat&&(u+="(?:"+s+u+")*"),o+=u=l.optional?l.partial?s+"("+u+")?":"(?:"+s+"("+u+"))?":s+"("+u+")"}}var c=F(n.delimiter||"/"),p=o.slice(-c.length)===c;return r||(o=(p?o.slice(0,-c.length):o)+"(?:"+c+"(?=$))?"),o+=i?"$":r&&p?"":"(?="+c+"|$)",V(new RegExp("^"+o,W(n)),t)}function q(e,t,n){return S(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return V(e,t)}(e,t):S(e)?function(e,t,n){for(var r=[],i=0;i<e.length;i++)r.push(q(e[i],t,n).source);return V(new RegExp("(?:"+r.join("|")+")",W(n)),t)}(e,t,n):function(e,t,n){return B(U(e,n),t,n)}(e,t,n)}$.parse=j,$.compile=z,$.tokensToFunction=L,$.tokensToRegExp=M;var G=Object.create(null);function K(e,t,n){try{return(G[e]||(G[e]=$.compile(e)))(t||{},{pretty:!0})}catch(e){return""}}function Y(e,t,n,r){var i=t||[],o=n||Object.create(null),a=r||Object.create(null);e.forEach(function(e){!function e(t,n,r,i,o,a){var l=i.path;var s=i.name;0;var u=i.pathToRegexpOptions||{};var c=function(e,t,n){n||(e=e.replace(/\/$/,""));if("/"===e[0])return e;if(null==t)return e;return T(t.path+"/"+e)}(l,o,u.strict);"boolean"==typeof i.caseSensitive&&(u.sensitive=i.caseSensitive);var p={path:c,regex:function(e,t){var n=$(e,[],t);0;return n}(c,u),components:i.components||{default:i.component},instances:{},name:s,parent:o,matchAs:a,redirect:i.redirect,beforeEnter:i.beforeEnter,meta:i.meta||{},props:null==i.props?{}:i.components?i.props:{default:i.props}};i.children&&i.children.forEach(function(i){var o=a?T(a+"/"+i.path):void 0;e(t,n,r,i,p,o)});if(void 0!==i.alias){var f=Array.isArray(i.alias)?i.alias:[i.alias];f.forEach(function(a){var l={path:a,children:i.children};e(t,n,r,l,o,p.path||"/")})}n[p.path]||(t.push(p.path),n[p.path]=p);s&&(r[s]||(r[s]=p))}(i,o,a,e)});for(var l=0,s=i.length;l<s;l++)"*"===i[l]&&(i.push(i.splice(l,1)[0]),s--,l--);return{pathList:i,pathMap:o,nameMap:a}}function Q(e,t,n,r){var i="string"==typeof e?{path:e}:e;if(i.name||i._normalized)return i;if(!i.path&&i.params&&t){(i=X({},i))._normalized=!0;var o=X(X({},t.params),i.params);if(t.name)i.name=t.name,i.params=o;else if(t.matched.length){var a=t.matched[t.matched.length-1].path;i.path=K(a,o,t.path)}else 0;return i}var l=function(e){var t="",n="",r=e.indexOf("#");r>=0&&(t=e.slice(r),e=e.slice(0,r));var i=e.indexOf("?");return i>=0&&(n=e.slice(i+1),e=e.slice(0,i)),{path:e,query:n,hash:t}}(i.path||""),s=t&&t.path||"/",u=l.path?O(l.path,s,n||i.append):s,c=function(e,t,n){void 0===t&&(t={});var r,i=n||f;try{r=i(e||"")}catch(e){r={}}for(var o in t)r[o]=t[o];return r}(l.query,i.query,r&&r.options.parseQuery),p=i.hash||l.hash;return p&&"#"!==p.charAt(0)&&(p="#"+p),{_normalized:!0,path:u,query:c,hash:p}}function X(e,t){for(var n in t)e[n]=t[n];return e}function J(e,t){var n=Y(e),r=n.pathList,i=n.pathMap,o=n.nameMap;function a(e,n,a){var l=Q(e,n,!1,t),u=l.name;if(u){var c=o[u];if(!c)return s(null,l);var p=c.regex.keys.filter(function(e){return!e.optional}).map(function(e){return e.name});if("object"!=typeof l.params&&(l.params={}),n&&"object"==typeof n.params)for(var f in n.params)!(f in l.params)&&p.indexOf(f)>-1&&(l.params[f]=n.params[f]);if(c)return l.path=K(c.path,l.params),s(c,l,a)}else if(l.path){l.params={};for(var d=0;d<r.length;d++){var h=r[d],v=i[h];if(Z(v.regex,l.path,l.params))return s(v,l,a)}}return s(null,l)}function l(e,n){var r=e.redirect,i="function"==typeof r?r(v(e,n,null,t)):r;if("string"==typeof i&&(i={path:i}),!i||"object"!=typeof i)return s(null,n);var l=i,u=l.name,c=l.path,p=n.query,f=n.hash,d=n.params;if(p=l.hasOwnProperty("query")?l.query:p,f=l.hasOwnProperty("hash")?l.hash:f,d=l.hasOwnProperty("params")?l.params:d,u){o[u];return a({_normalized:!0,name:u,query:p,hash:f,params:d},void 0,n)}if(c){var h=function(e,t){return O(e,t.parent?t.parent.path:"/",!0)}(c,e);return a({_normalized:!0,path:K(h,d),query:p,hash:f},void 0,n)}return s(null,n)}function s(e,n,r){return e&&e.redirect?l(e,r||n):e&&e.matchAs?function(e,t,n){var r=a({_normalized:!0,path:K(n,t.params)});if(r){var i=r.matched,o=i[i.length-1];return t.params=r.params,s(o,t)}return s(null,t)}(0,n,e.matchAs):v(e,n,r,t)}return{match:a,addRoutes:function(e){Y(e,r,i,o)}}}function Z(e,t,n){var r=t.match(e);if(!r)return!1;if(!n)return!0;for(var i=1,o=r.length;i<o;++i){var a=e.keys[i-1],l="string"==typeof r[i]?decodeURIComponent(r[i]):r[i];a&&(n[a.name]=l)}return!0}var ee=Object.create(null);function te(){window.history.replaceState({key:fe()},""),window.addEventListener("popstate",function(e){re(),e.state&&e.state.key&&function(e){ce=e}(e.state.key)})}function ne(e,t,n,r){if(e.app){var i=e.options.scrollBehavior;i&&e.app.$nextTick(function(){var e=function(){var e=fe();if(e)return ee[e]}(),o=i(t,n,r?e:null);o&&("function"==typeof o.then?o.then(function(t){le(t,e)}).catch(function(e){0}):le(o,e))})}}function re(){var e=fe();e&&(ee[e]={x:window.pageXOffset,y:window.pageYOffset})}function ie(e){return ae(e.x)||ae(e.y)}function oe(e){return{x:ae(e.x)?e.x:window.pageXOffset,y:ae(e.y)?e.y:window.pageYOffset}}function ae(e){return"number"==typeof e}function le(e,t){var n="object"==typeof e;if(n&&"string"==typeof e.selector){var r=document.querySelector(e.selector);if(r){var i=e.offset&&"object"==typeof e.offset?e.offset:{};t=function(e,t){var n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{x:r.left-n.left-t.x,y:r.top-n.top-t.y}}(r,i=function(e){return{x:ae(e.x)?e.x:0,y:ae(e.y)?e.y:0}}(i))}else ie(e)&&(t=oe(e))}else n&&ie(e)&&(t=oe(e));t&&window.scrollTo(t.x,t.y)}var se=A&&function(){var e=window.navigator.userAgent;return(-1===e.indexOf("Android 2.")&&-1===e.indexOf("Android 4.0")||-1===e.indexOf("Mobile Safari")||-1!==e.indexOf("Chrome")||-1!==e.indexOf("Windows Phone"))&&(window.history&&"pushState"in window.history)}(),ue=A&&window.performance&&window.performance.now?window.performance:Date,ce=pe();function pe(){return ue.now().toFixed(3)}function fe(){return ce}function de(e,t){re();var n=window.history;try{t?n.replaceState({key:ce},"",e):(ce=pe(),n.pushState({key:ce},"",e))}catch(n){window.location[t?"replace":"assign"](e)}}function he(e){de(e,!0)}function ve(e,t,n){var r=function(i){i>=e.length?n():e[i]?t(e[i],function(){r(i+1)}):r(i+1)};r(0)}function ge(e){return function(t,n,r){var i=!1,a=0,l=null;me(e,function(e,t,n,s){if("function"==typeof e&&void 0===e.cid){i=!0,a++;var u,c=ke(function(t){(function(e){return e.__esModule||be&&"Module"===e[Symbol.toStringTag]})(t)&&(t=t.default),e.resolved="function"==typeof t?t:x.extend(t),n.components[s]=t,--a<=0&&r()}),p=ke(function(e){var t="Failed to resolve async component "+s+": "+e;l||(l=o(e)?e:new Error(t),r(l))});try{u=e(c,p)}catch(e){p(e)}if(u)if("function"==typeof u.then)u.then(c,p);else{var f=u.component;f&&"function"==typeof f.then&&f.then(c,p)}}}),i||r()}}function me(e,t){return ye(e.map(function(e){return Object.keys(e.components).map(function(n){return t(e.components[n],e.instances[n],e,n)})}))}function ye(e){return Array.prototype.concat.apply([],e)}var be="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function ke(e){var t=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!t)return t=!0,e.apply(this,n)}}var xe=function(e,t){this.router=e,this.base=function(e){if(!e)if(A){var t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else e="/";"/"!==e.charAt(0)&&(e="/"+e);return e.replace(/\/$/,"")}(t),this.current=m,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};function we(e,t,n,r){var i=me(e,function(e,r,i,o){var a=function(e,t){"function"!=typeof e&&(e=x.extend(e));return e.options[t]}(e,t);if(a)return Array.isArray(a)?a.map(function(e){return n(e,r,i,o)}):n(a,r,i,o)});return ye(r?i.reverse():i)}function _e(e,t){if(t)return function(){return e.apply(t,arguments)}}xe.prototype.listen=function(e){this.cb=e},xe.prototype.onReady=function(e,t){this.ready?e():(this.readyCbs.push(e),t&&this.readyErrorCbs.push(t))},xe.prototype.onError=function(e){this.errorCbs.push(e)},xe.prototype.transitionTo=function(e,t,n){var r=this,i=this.router.match(e,this.current);this.confirmTransition(i,function(){r.updateRoute(i),t&&t(i),r.ensureURL(),r.ready||(r.ready=!0,r.readyCbs.forEach(function(e){e(i)}))},function(e){n&&n(e),e&&!r.ready&&(r.ready=!0,r.readyErrorCbs.forEach(function(t){t(e)}))})},xe.prototype.confirmTransition=function(e,t,n){var r=this,a=this.current,l=function(e){o(e)&&(r.errorCbs.length?r.errorCbs.forEach(function(t){t(e)}):(i(),console.error(e))),n&&n(e)};if(b(e,a)&&e.matched.length===a.matched.length)return this.ensureURL(),l();var s=function(e,t){var n,r=Math.max(e.length,t.length);for(n=0;n<r&&e[n]===t[n];n++);return{updated:t.slice(0,n),activated:t.slice(n),deactivated:e.slice(n)}}(this.current.matched,e.matched),u=s.updated,c=s.deactivated,p=s.activated,f=[].concat(function(e){return we(e,"beforeRouteLeave",_e,!0)}(c),this.router.beforeHooks,function(e){return we(e,"beforeRouteUpdate",_e)}(u),p.map(function(e){return e.beforeEnter}),ge(p));this.pending=e;var d=function(t,n){if(r.pending!==e)return l();try{t(e,a,function(e){!1===e||o(e)?(r.ensureURL(!0),l(e)):"string"==typeof e||"object"==typeof e&&("string"==typeof e.path||"string"==typeof e.name)?(l(),"object"==typeof e&&e.replace?r.replace(e):r.push(e)):n(e)})}catch(e){l(e)}};ve(f,d,function(){var n=[];ve(function(e,t,n){return we(e,"beforeRouteEnter",function(e,r,i,o){return function(e,t,n,r,i){return function(o,a,l){return e(o,a,function(e){l(e),"function"==typeof e&&r.push(function(){!function e(t,n,r,i){n[r]?t(n[r]):i()&&setTimeout(function(){e(t,n,r,i)},16)}(e,t.instances,n,i)})})}}(e,i,o,t,n)})}(p,n,function(){return r.current===e}).concat(r.router.resolveHooks),d,function(){if(r.pending!==e)return l();r.pending=null,t(e),r.router.app&&r.router.app.$nextTick(function(){n.forEach(function(e){e()})})})})},xe.prototype.updateRoute=function(e){var t=this.current;this.current=e,this.cb&&this.cb(e),this.router.afterHooks.forEach(function(n){n&&n(e,t)})};var Ce=function(e){function t(t,n){var r=this;e.call(this,t,n);var i=t.options.scrollBehavior;i&&te();var o=Pe(this.base);window.addEventListener("popstate",function(e){var n=r.current,a=Pe(r.base);r.current===m&&a===o||r.transitionTo(a,function(e){i&&ne(t,e,n,!0)})})}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.go=function(e){window.history.go(e)},t.prototype.push=function(e,t,n){var r=this,i=this.current;this.transitionTo(e,function(e){de(T(r.base+e.fullPath)),ne(r.router,e,i,!1),t&&t(e)},n)},t.prototype.replace=function(e,t,n){var r=this,i=this.current;this.transitionTo(e,function(e){he(T(r.base+e.fullPath)),ne(r.router,e,i,!1),t&&t(e)},n)},t.prototype.ensureURL=function(e){if(Pe(this.base)!==this.current.fullPath){var t=T(this.base+this.current.fullPath);e?de(t):he(t)}},t.prototype.getCurrentLocation=function(){return Pe(this.base)},t}(xe);function Pe(e){var t=window.location.pathname;return e&&0===t.indexOf(e)&&(t=t.slice(e.length)),(t||"/")+window.location.search+window.location.hash}var Ee=function(e){function t(t,n,r){e.call(this,t,n),r&&function(e){var t=Pe(e);if(!/^\/#/.test(t))return window.location.replace(T(e+"/#"+t)),!0}(this.base)||Ae()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.setupListeners=function(){var e=this,t=this.router.options.scrollBehavior,n=se&&t;n&&te(),window.addEventListener(se?"popstate":"hashchange",function(){var t=e.current;Ae()&&e.transitionTo(Oe(),function(r){n&&ne(e.router,r,t,!0),se||$e(r.fullPath)})})},t.prototype.push=function(e,t,n){var r=this,i=this.current;this.transitionTo(e,function(e){Se(e.fullPath),ne(r.router,e,i,!1),t&&t(e)},n)},t.prototype.replace=function(e,t,n){var r=this,i=this.current;this.transitionTo(e,function(e){$e(e.fullPath),ne(r.router,e,i,!1),t&&t(e)},n)},t.prototype.go=function(e){window.history.go(e)},t.prototype.ensureURL=function(e){var t=this.current.fullPath;Oe()!==t&&(e?Se(t):$e(t))},t.prototype.getCurrentLocation=function(){return Oe()},t}(xe);function Ae(){var e=Oe();return"/"===e.charAt(0)||($e("/"+e),!1)}function Oe(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.slice(t+1)}function Te(e){var t=window.location.href,n=t.indexOf("#");return(n>=0?t.slice(0,n):t)+"#"+e}function Se(e){se?de(Te(e)):window.location.hash=e}function $e(e){se?he(Te(e)):window.location.replace(Te(e))}var je=function(e){function t(t,n){e.call(this,t,n),this.stack=[],this.index=-1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.push=function(e,t,n){var r=this;this.transitionTo(e,function(e){r.stack=r.stack.slice(0,r.index+1).concat(e),r.index++,t&&t(e)},n)},t.prototype.replace=function(e,t,n){var r=this;this.transitionTo(e,function(e){r.stack=r.stack.slice(0,r.index).concat(e),t&&t(e)},n)},t.prototype.go=function(e){var t=this,n=this.index+e;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,function(){t.index=n,t.updateRoute(r)})}},t.prototype.getCurrentLocation=function(){var e=this.stack[this.stack.length-1];return e?e.fullPath:"/"},t.prototype.ensureURL=function(){},t}(xe),ze=function(e){void 0===e&&(e={}),this.app=null,this.apps=[],this.options=e,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=J(e.routes||[],this);var t=e.mode||"hash";switch(this.fallback="history"===t&&!se&&!1!==e.fallback,this.fallback&&(t="hash"),A||(t="abstract"),this.mode=t,t){case"history":this.history=new Ce(this,e.base);break;case"hash":this.history=new Ee(this,e.base,this.fallback);break;case"abstract":this.history=new je(this,e.base);break;default:0}},Le={currentRoute:{configurable:!0}};function Me(e,t){return e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}ze.prototype.match=function(e,t,n){return this.matcher.match(e,t,n)},Le.currentRoute.get=function(){return this.history&&this.history.current},ze.prototype.init=function(e){var t=this;if(this.apps.push(e),!this.app){this.app=e;var n=this.history;if(n instanceof Ce)n.transitionTo(n.getCurrentLocation());else if(n instanceof Ee){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen(function(e){t.apps.forEach(function(t){t._route=e})})}},ze.prototype.beforeEach=function(e){return Me(this.beforeHooks,e)},ze.prototype.beforeResolve=function(e){return Me(this.resolveHooks,e)},ze.prototype.afterEach=function(e){return Me(this.afterHooks,e)},ze.prototype.onReady=function(e,t){this.history.onReady(e,t)},ze.prototype.onError=function(e){this.history.onError(e)},ze.prototype.push=function(e,t,n){this.history.push(e,t,n)},ze.prototype.replace=function(e,t,n){this.history.replace(e,t,n)},ze.prototype.go=function(e){this.history.go(e)},ze.prototype.back=function(){this.go(-1)},ze.prototype.forward=function(){this.go(1)},ze.prototype.getMatchedComponents=function(e){var t=e?e.matched?e:this.resolve(e).route:this.currentRoute;return t?[].concat.apply([],t.matched.map(function(e){return Object.keys(e.components).map(function(t){return e.components[t]})})):[]},ze.prototype.resolve=function(e,t,n){var r=Q(e,t||this.history.current,n,this),i=this.match(r,t),o=i.redirectedFrom||i.fullPath;return{location:r,route:i,href:function(e,t,n){var r="hash"===n?"#"+t:t;return e?T(e+"/"+r):r}(this.history.base,o,this.mode),normalizedTo:r,resolved:i}},ze.prototype.addRoutes=function(e){this.matcher.addRoutes(e),this.history.current!==m&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(ze.prototype,Le),ze.install=E,ze.version="3.0.1",A&&window.Vue&&window.Vue.use(ze);var Ie=ze;n(108),n(109),n(57),n(112),n(114);var Ue=n(55),Ne=n(31),Re=(n(60),n(40),n(61),n(118),{created:function(){this.$ssrContext&&(this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.description=this.$page.description||this.$description)},mounted:function(){this.currentMetaTags=new Set,this.updateMeta()},methods:{updateMeta:function(){var e=this;document.title=this.$title,document.documentElement.lang=this.$lang;var t=this.$page.frontmatter.meta||[],n=t.slice(0);0===t.filter(function(e){return"description"===e.name}).length&&n.push({name:"description",content:this.$description});var r=document.querySelectorAll('meta[name="description"]');r.length&&r.forEach(function(t){return e.currentMetaTags.add(t)}),this.currentMetaTags=new Set(De(n,this.currentMetaTags))}},watch:{$page:function(){this.updateMeta()}},beforeDestroy:function(){De(null,this.currentMetaTags)}});function De(e,t){if(t&&Object(Ne.a)(t).forEach(function(e){document.head.removeChild(e)}),e)return e.map(function(e){var t=document.createElement("meta");return Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])}),document.head.appendChild(t),t})}var Fe=n(82),He=n.n(Fe),Ve={created:function(){var e=this;this.$vuepress.$on("AsyncMarkdownContentMounted",function(){if(e.$vuepress.$set("contentMounted",!0),e.$smoothScroll=new He.a('a[href*="#"]',{speed:1,speedAsDuration:!0,easing:"easeInOutCubic"}),e.$route.hash){var t=decodeURIComponent(e.$route.hash);try{var n=document.getElementById(t.slice(1)).querySelector("a.header-anchor");setTimeout(function(){window.scroll({top:n.offsetTop-70,left:0,behavior:"auto"})})}catch(e){console.error(e)}}})},watch:{"$route.path":function(){this.$vuepress.$set("contentMounted",!1),this.$smoothScroll.destroy()}},beforeDestroy:function(){this.$smoothScroll.destroy()}},We=(n(86),n(85),n(83));var Be={mounted:function(){var e=this;this.$vuepress.$on("AsyncMarkdownContentMounted",function(t){"default"===t&&window.addEventListener("scroll",e.onScroll)}),this.$vuepress.$on("AnchorHashChange",function(t){e.$router.replace(decodeURIComponent(t.hash))})},methods:{onScroll:n.n(We)()(function(){this.$sidebarLinks=[].slice.call(document.querySelectorAll(".sidebar-link"));var e=function(e){return[].slice.call(document.querySelectorAll(".header-anchor")).filter(function(t){return e.some(function(e){return e.hash===t.hash})}).map(function(e){return{el:e,hash:decodeURIComponent(e.hash),top:e.getBoundingClientRect().top-90}})}(this.$sidebarLinks);0!==e.length&&(this.$lastAnchor=this.$currentAnchor,this.$currentAnchor=function(e){var t=e.length;if(e[0].top>0&&e[0].top<10)return e[0];if(e[t-1].top<0)return e[t-1];for(var n=0;n<t;n++){var r=e[n],i=e[n+1];if(r.top<0&&i.top>0)return i.top<10?i:r}return e[0]}(e),this.$lastAnchor&&this.$lastAnchor.hash===this.$currentAnchor.hash||this.$vuepress.$emit("AnchorHashChange",this.$currentAnchor))},300)},beforeDestroy:function(){window.removeEventListener("scroll",this.onScroll)}},qe={"/":'\n <div>\n <div>Note that this is the document of <b>1.x</b>, since it\'s still in <b>alpha</b> stage and things may change or break until we reach <b>beta</b> phase, for now we recommend that you use the <b>0.x</b> in the production environment.</div>\n <br>\n <ul>\n <li>0.x docs: <a style="color: #fff;" href="https://v0.vuepress.vuejs.org/"><code>v0.vuepress.vuejs.org</code></a>\n </li>\n <li>Install 0.x: <code>yarn add vuepress</code></li>\n <li>Install 1.x alpha: <code>yarn add vuepress@next</code></li>\n </ul>\n </div>\n',"/zh/":'\n <div>\n <div>请注意这是 <b>1.x</b> 的文档,由于目前 1.x 仍处于 <b>alpha</b> 阶段,在我们到达 <b>beta</b> 阶段之前,有些 API 可能会变化、应用也可能不够稳定,所以目前我们推荐你在生产环境中使用 <b>0.x</b> .</div>\n <br>\n <ul>\n <li>0.x 的文档: <a style="color: #fff;" href="https://v0.vuepress.vuejs.org/"><code>v0.vuepress.vuejs.org</code></a>\n </li>\n <li>安装 0.x: <code>yarn add vuepress</code></li>\n <li>安装 1.x alpha: <code>yarn add vuepress@next</code></li>\n </ul>\n </div>\n'},Ge={"/":"Got it","/zh/":"知道了"},Ke={methods:{notice:function(){var e=this;setTimeout(function(){e.$notification=e.$toasted.show(qe[e.$localePath],{containerClass:"compatibility-notification",closeOnSwipe:!1,action:{text:Ge[e.$localePath],onClick:function(e,t){t.goAway(0)}}})},500)}},watch:{$page:function(){this.$notification&&this.$notification.goAway(0)},$localePath:function(){this.$notification&&this.$notification.goAway(0),this.notice()}},mounted:function(){this.notice()}},Ye=(n(122),Object.assign||function(e){for(var t,n=1;n<arguments.length;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}),Qe=["IMG"],Xe=[27,81],Je=function(e){return-1<Qe.indexOf(e.tagName)},Ze=function(e){return e.naturalWidth!==e.width},et=function(e){return e&&1===e.nodeType},tt=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},n=t.margin,r=void 0===n?0:n,i=t.background,o=void 0===i?"#fff":i,a=t.scrollOffset,l=void 0===a?48:a,s=t.metaClick,u=t.container,c=t.template,p=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{bubbles:!1,cancelable:!1,detail:void 0};if("function"==typeof window.CustomEvent)return new CustomEvent(e,t);var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n},f=function(){if(C.original){if(C.original.dispatchEvent(p("show")),P=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,E=!0,C.zoomed=function(e){var t=e.getBoundingClientRect(),n=t.top,r=t.left,i=t.width,o=t.height,a=e.cloneNode(),l=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,s=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;return a.removeAttribute("id"),a.style.position="absolute",a.style.top=n+l+"px",a.style.left=r+s+"px",a.style.width=i+"px",a.style.height=o+"px",a.style.transform="",a}(C.original),document.body.appendChild(_),x.template){var e=et(x.template)?x.template:document.querySelector(x.template);C.template=document.createElement("div"),C.template.appendChild(e.content.cloneNode(!0)),document.body.appendChild(C.template)}if(document.body.appendChild(C.zoomed),requestAnimationFrame(function(){document.body.classList.add("medium-zoom--open")}),C.original.style.visibility="hidden",C.zoomed.classList.add("medium-zoom-image--open"),C.zoomed.addEventListener("click",d),C.zoomed.addEventListener("transitionend",g),C.original.getAttribute("data-zoom-target")){C.zoomedHd=C.zoomed.cloneNode(),C.zoomedHd.src=C.zoomed.getAttribute("data-zoom-target"),C.zoomedHd.onerror=function(){clearInterval(t),console.error("Unable to reach the zoom image target "+C.zoomedHd.src),C.zoomedHd=null,k()};var t=setInterval(function(){C.zoomedHd.naturalWidth&&(clearInterval(t),C.zoomedHd.classList.add("medium-zoom-image--open"),C.zoomedHd.addEventListener("click",d),document.body.appendChild(C.zoomedHd),k())},10)}else k()}},d=function e(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,n=function(){E||!C.original||(C.original.dispatchEvent(p("hide")),E=!0,document.body.classList.remove("medium-zoom--open"),C.zoomed.style.transform="",C.zoomedHd&&(C.zoomedHd.style.transform="",C.zoomedHd.removeEventListener("click",e)),C.template&&(C.template.style.transition="opacity 150ms",C.template.style.opacity=0),C.zoomed.removeEventListener("click",e),C.zoomed.addEventListener("transitionend",m))};0<t?setTimeout(n,t):n()},h=function(e){e&&e.target?(C.original=e.target,f()):C.original?d():(C.original=w[0],f())},v=function(e){return(e.metaKey||e.ctrlKey)&&x.metaClick?window.open(e.target.getAttribute("data-original")||e.target.parentNode.href||e.target.src,"_blank"):(e.preventDefault(),void h(e))},g=function e(){E=!1,C.zoomed.removeEventListener("transitionend",e),C.original.dispatchEvent(p("shown"))},m=function e(){C.original&&(C.original.style.visibility="",document.body.removeChild(C.zoomed),C.zoomedHd&&document.body.removeChild(C.zoomedHd),document.body.removeChild(_),C.zoomed.classList.remove("medium-zoom-image--open"),C.template&&document.body.removeChild(C.template),E=!1,C.zoomed.removeEventListener("transitionend",e),C.original.dispatchEvent(p("hidden")),C.original=null,C.zoomed=null,C.zoomedHd=null,C.template=null)},y=function(){if(!E&&C.original){var e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(P-e)>x.scrollOffset&&d(150)}},b=function(e){-1<Xe.indexOf(e.keyCode||e.which)&&d()},k=function(){var e=Math.min;if(C.original){var t,n,r={width:window.innerWidth,height:window.innerHeight,left:0,top:0,right:0,bottom:0};if(x.container)if(x.container instanceof Object)Ye(r,x.container),t=r.width-r.left-r.right-2*x.margin,n=r.height-r.top-r.bottom-2*x.margin;else{var i=(et(x.container)?x.container:document.querySelector(x.container)).getBoundingClientRect(),o=i.width,a=i.height,l=i.left,s=i.top;Ye(r,{width:o,height:a,left:l,top:s})}t=t||r.width-2*x.margin,n=n||r.height-2*x.margin;var u=C.zoomedHd||C.original,c=u.naturalWidth,p=void 0===c?t:c,f=u.naturalHeight,d=void 0===f?n:f,h=u.getBoundingClientRect(),v=h.top,g=h.left,m=h.width,y=h.height,b=e(e(p,t)/m,e(d,n)/y)||1,k="scale("+b+") translate3d("+((t-m)/2-g+x.margin+r.left)/b+"px, "+((n-y)/2-v+x.margin+r.top)/b+"px, 0)";C.zoomed.style.transform=k,C.zoomedHd&&(C.zoomedHd.style.transform=k)}},x={margin:r,background:o,scrollOffset:l,metaClick:void 0===s||s,container:u,template:c};e instanceof Object&&Ye(x,e);var w=function(e){try{return Array.isArray(e)?e.filter(Je):function(e){return NodeList.prototype.isPrototypeOf(e)||HTMLCollection.prototype.isPrototypeOf(e)}(e)?Array.apply(null,e).filter(Je):et(e)?[e].filter(Je):"string"==typeof e?Array.apply(null,document.querySelectorAll(e)).filter(Je):Array.apply(null,document.querySelectorAll(Qe.map(function(e){return e.toLowerCase()}).join(","))).filter(Ze)}catch(e){throw new TypeError("The provided selector is invalid.\nExpects a CSS selector, a Node element, a NodeList, an HTMLCollection or an array.\nSee: https://github.com/francoischalifour/medium-zoom")}}(e),_=function(e){var t=document.createElement("div");return t.classList.add("medium-zoom-overlay"),t.style.backgroundColor=e,t}(x.background),C={original:null,zoomed:null,zoomedHd:null,template:null},P=0,E=!1;return w.forEach(function(e){e.classList.add("medium-zoom-image"),e.addEventListener("click",v)}),_.addEventListener("click",d),document.addEventListener("scroll",y),document.addEventListener("keyup",b),window.addEventListener("resize",d),{show:h,hide:d,toggle:h,update:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};return e.background&&(_.style.backgroundColor=e.background),e.container&&e.container instanceof Object&&(e.container=Ye({},x.container,e.container)),Ye(x,e)},addEventListeners:function(e,t){w.forEach(function(n){n.addEventListener(e,t)})},detach:function(){C.zoomed&&d();var e=p("detach");w.forEach(function(t){t.classList.remove("medium-zoom-image"),t.removeEventListener("click",v),t.dispatchEvent(e)}),w.splice(0,w.length),_.removeEventListener("click",d),document.removeEventListener("scroll",y),document.removeEventListener("keyup",b),window.removeEventListener("resize",d)},images:w,options:x}},nt=Object.freeze({default:tt});!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}(".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--open .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s}.medium-zoom-image--open{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}");var rt=nt&&tt||nt,it=[Re,Ve,Be,Ke,{data:function(){return{zoom:null}},mounted:function(){this.updateZoom()},updated:function(){this.updateZoom()},methods:{updateZoom:function(){var e=this;setTimeout(function(){e.zoom&&e.zoom.detach(),e.zoom=rt(".content img")},1e3)}}}],ot={NotFound:function(){return Promise.all([n.e(0),n.e(2)]).then(n.bind(null,200))},Layout:function(){return Promise.all([n.e(0),n.e(3)]).then(n.bind(null,198))}},at={"v-5f47092a":function(){return n.e(4).then(n.bind(null,201))},"v-6c5fc9c8":function(){return n.e(5).then(n.bind(null,202))},"v-f101f21e":function(){return n.e(6).then(n.bind(null,203))},"v-0b806790":function(){return n.e(7).then(n.bind(null,204))},"v-12cc79f5":function(){return n.e(8).then(n.bind(null,205))},"v-b8125dae":function(){return n.e(9).then(n.bind(null,206))},"v-d9182f9e":function(){return n.e(10).then(n.bind(null,207))},"v-033d45d1":function(){return n.e(11).then(n.bind(null,208))},"v-ad74f8de":function(){return n.e(12).then(n.bind(null,209))},"v-f3d1fa9e":function(){return n.e(13).then(n.bind(null,210))},"v-ab4c378a":function(){return n.e(14).then(n.bind(null,211))},"v-7cd0bad1":function(){return n.e(15).then(n.bind(null,212))},"v-08f0e899":function(){return Promise.all([n.e(0),n.e(16)]).then(n.bind(null,213))},"v-73a1ffe7":function(){return n.e(17).then(n.bind(null,214))},"v-9bbf781e":function(){return Promise.all([n.e(0),n.e(18)]).then(n.bind(null,215))},"v-0c007bde":function(){return n.e(19).then(n.bind(null,216))},"v-62e373c2":function(){return n.e(20).then(n.bind(null,217))},"v-2b9871b1":function(){return n.e(21).then(n.bind(null,218))},"v-2974388c":function(){return n.e(22).then(n.bind(null,219))},"v-7137159d":function(){return n.e(23).then(n.bind(null,220))},"v-9fe26cde":function(){return n.e(24).then(n.bind(null,221))},"v-0ae2187e":function(){return n.e(25).then(n.bind(null,222))},"v-c0e74fa2":function(){return n.e(26).then(n.bind(null,223))},"v-7d57859e":function(){return n.e(27).then(n.bind(null,224))},"v-9efdcf9e":function(){return n.e(28).then(n.bind(null,225))},"v-1349babb":function(){return n.e(29).then(n.bind(null,226))},"v-1a2e151e":function(){return n.e(30).then(n.bind(null,227))},"v-39bcd9aa":function(){return n.e(31).then(n.bind(null,228))},"v-6bd9329e":function(){return n.e(32).then(n.bind(null,229))},"v-1109b1e6":function(){return n.e(33).then(n.bind(null,230))},"v-28868a81":function(){return n.e(34).then(n.bind(null,231))},"v-4698ddf1":function(){return n.e(35).then(n.bind(null,232))},"v-623a2a9e":function(){return n.e(36).then(n.bind(null,233))},"v-f98ded9e":function(){return n.e(37).then(n.bind(null,234))},"v-231ac194":function(){return n.e(38).then(n.bind(null,235))},"v-7a64f6cd":function(){return n.e(39).then(n.bind(null,236))},"v-0b490c71":function(){return n.e(40).then(n.bind(null,237))},"v-7ad1071e":function(){return n.e(41).then(n.bind(null,238))},"v-3f63904c":function(){return n.e(42).then(n.bind(null,239))},"v-10b5110c":function(){return n.e(43).then(n.bind(null,240))},"v-ebb53e8c":function(){return n.e(44).then(n.bind(null,241))},"v-8a44f5de":function(){return n.e(45).then(n.bind(null,242))},"v-06a6fcde":function(){return n.e(46).then(n.bind(null,243))},"v-702150de":function(){return n.e(47).then(n.bind(null,244))},"v-79cc5742":function(){return n.e(48).then(n.bind(null,245))},"v-1c56c0f1":function(){return n.e(49).then(n.bind(null,246))},"v-5146a7d5":function(){return n.e(50).then(n.bind(null,247))},"v-d96365d2":function(){return n.e(51).then(n.bind(null,248))},"v-dee22a1e":function(){return n.e(52).then(n.bind(null,249))},"v-13d555e6":function(){return n.e(53).then(n.bind(null,250))},"v-21c13651":function(){return Promise.all([n.e(0),n.e(54)]).then(n.bind(null,251))},"v-d64a679e":function(){return n.e(55).then(n.bind(null,252))},"v-27cb566a":function(){return Promise.all([n.e(0),n.e(56)]).then(n.bind(null,253))},"v-055e5b26":function(){return n.e(57).then(n.bind(null,254))},"v-a0abb79e":function(){return n.e(58).then(n.bind(null,255))},"v-2b6a20b2":function(){return n.e(59).then(n.bind(null,256))},"v-6a8f55a0":function(){return n.e(60).then(n.bind(null,257))},"v-0777e811":function(){return n.e(61).then(n.bind(null,258))},"v-13c3b83d":function(){return n.e(62).then(n.bind(null,259))},"v-16a56d5e":function(){return n.e(63).then(n.bind(null,260))},"v-7d450c31":function(){return n.e(64).then(n.bind(null,261))},"v-5d2011b7":function(){return n.e(65).then(n.bind(null,262))},"v-0a2f9b97":function(){return n.e(66).then(n.bind(null,263))},"v-04b0701a":function(){return n.e(67).then(n.bind(null,264))},"v-5018c21e":function(){return n.e(68).then(n.bind(null,265))},"v-3a99f9f1":function(){return n.e(69).then(n.bind(null,266))},"v-3e039e07":function(){return n.e(70).then(n.bind(null,267))},"v-dde06fde":function(){return n.e(71).then(n.bind(null,268))},"v-c1c5155e":function(){return n.e(72).then(n.bind(null,269))},"v-18ff4ceb":function(){return n.e(73).then(n.bind(null,270))},"v-12882f97":function(){return n.e(74).then(n.bind(null,271))},"v-5ac1e007":function(){return n.e(75).then(n.bind(null,272))},"v-1be851da":function(){return n.e(76).then(n.bind(null,273))},"v-51cb3a5e":function(){return n.e(77).then(n.bind(null,274))},"v-2387d583":function(){return n.e(78).then(n.bind(null,275))},"v-de9df3da":function(){return n.e(79).then(n.bind(null,276))},"v-0e31c04c":function(){return n.e(80).then(n.bind(null,277))},"v-c412911e":function(){return n.e(81).then(n.bind(null,278))},"v-cf9b39a6":function(){return n.e(82).then(n.bind(null,279))},"v-d5e7c27c":function(){return n.e(83).then(n.bind(null,280))},"v-57665ba3":function(){return n.e(84).then(n.bind(null,281))},"v-50b78a11":function(){return n.e(85).then(n.bind(null,282))}},lt={computed:{layout:function(){return this.$page.path?this.$page.frontmatter.layout||"Layout":"NotFound"}}},st=n(5),ut=Object(st.a)(lt,function(){var e=this.$createElement;return(this._self._c||e)(this.layout,{tag:"component"})},[],!1,null,null,null).exports;Object(Ue.a)(ut,"mixins",it),Object(Ue.a)(ut,"components",Object.assign({},ot,at));var ct=[{name:"v-5f47092a",path:"/",component:ut},{path:"/index.html",redirect:"/"},{name:"v-6c5fc9c8",path:"/faq/",component:ut},{path:"/faq/index.html",redirect:"/faq/"},{name:"v-f101f21e",path:"/guide/assets.html",component:ut},{name:"v-0b806790",path:"/guide/",component:ut},{path:"/guide/index.html",redirect:"/guide/"},{name:"v-12cc79f5",path:"/guide/basic-config.html",component:ut},{name:"v-b8125dae",path:"/guide/deploy.html",component:ut},{name:"v-d9182f9e",path:"/guide/directory-structure.html",component:ut},{name:"v-033d45d1",path:"/guide/frontmatter.html",component:ut},{name:"v-ad74f8de",path:"/guide/getting-started.html",component:ut},{name:"v-f3d1fa9e",path:"/guide/global-computed.html",component:ut},{name:"v-ab4c378a",path:"/guide/i18n.html",component:ut},{name:"v-7cd0bad1",path:"/guide/markdown-slot.html",component:ut},{name:"v-08f0e899",path:"/guide/markdown.html",component:ut},{name:"v-73a1ffe7",path:"/guide/permalinks.html",component:ut},{name:"v-9bbf781e",path:"/guide/using-vue.html",component:ut},{name:"v-0c007bde",path:"/miscellaneous/design-concepts.html",component:ut},{name:"v-62e373c2",path:"/miscellaneous/glossary.html",component:ut},{name:"v-2b9871b1",path:"/miscellaneous/migration-guide.html",component:ut},{name:"v-2974388c",path:"/plugin/",component:ut},{path:"/plugin/index.html",redirect:"/plugin/"},{name:"v-7137159d",path:"/plugin/context-api.html",component:ut},{name:"v-9fe26cde",path:"/plugin/life-cycle.html",component:ut},{name:"v-0ae2187e",path:"/plugin/official/plugin-active-header-links.html",component:ut},{name:"v-c0e74fa2",path:"/plugin/official/plugin-back-to-top.html",component:ut},{name:"v-7d57859e",path:"/plugin/official/plugin-blog.html",component:ut},{name:"v-9efdcf9e",path:"/plugin/official/plugin-google-analytics.html",component:ut},{name:"v-1349babb",path:"/plugin/official/plugin-i18n-ui.html",component:ut},{name:"v-1a2e151e",path:"/plugin/official/plugin-last-updated.html",component:ut},{name:"v-39bcd9aa",path:"/plugin/official/plugin-medium-zoom.html",component:ut},{name:"v-6bd9329e",path:"/plugin/official/plugin-pagination.html",component:ut},{name:"v-1109b1e6",path:"/plugin/official/plugin-pwa.html",component:ut},{name:"v-28868a81",path:"/plugin/official/plugin-register-components.html",component:ut},{name:"v-4698ddf1",path:"/plugin/official/plugin-search.html",component:ut},{name:"v-623a2a9e",path:"/plugin/using-a-plugin.html",component:ut},{name:"v-f98ded9e",path:"/plugin/writing-a-plugin.html",component:ut},{name:"v-231ac194",path:"/theme/",component:ut},{path:"/theme/index.html",redirect:"/theme/"},{name:"v-7a64f6cd",path:"/theme/option-api.html",component:ut},{name:"v-0b490c71",path:"/theme/using-a-theme.html",component:ut},{name:"v-7ad1071e",path:"/theme/writing-a-theme.html",component:ut},{name:"v-3f63904c",path:"/zh/",component:ut},{path:"/zh/index.html",redirect:"/zh/"},{name:"v-10b5110c",path:"/zh/faq/",component:ut},{path:"/zh/faq/index.html",redirect:"/zh/faq/"},{name:"v-ebb53e8c",path:"/zh/guide/",component:ut},{path:"/zh/guide/index.html",redirect:"/zh/guide/"},{name:"v-8a44f5de",path:"/zh/guide/assets.html",component:ut},{name:"v-06a6fcde",path:"/zh/guide/basic-config.html",component:ut},{name:"v-702150de",path:"/zh/guide/deploy.html",component:ut},{name:"v-79cc5742",path:"/zh/guide/directory-structure.html",component:ut},{name:"v-1c56c0f1",path:"/zh/guide/frontmatter.html",component:ut},{name:"v-5146a7d5",path:"/zh/guide/getting-started.html",component:ut},{name:"v-d96365d2",path:"/zh/guide/global-computed.html",component:ut},{name:"v-dee22a1e",path:"/zh/guide/i18n.html",component:ut},{name:"v-13d555e6",path:"/zh/guide/markdown-slot.html",component:ut},{name:"v-21c13651",path:"/zh/guide/markdown.html",component:ut},{name:"v-d64a679e",path:"/zh/guide/permalinks.html",component:ut},{name:"v-27cb566a",path:"/zh/guide/using-vue.html",component:ut},{name:"v-055e5b26",path:"/zh/miscellaneous/design-concepts.html",component:ut},{name:"v-a0abb79e",path:"/zh/miscellaneous/glossary.html",component:ut},{name:"v-2b6a20b2",path:"/zh/miscellaneous/migration-guide.html",component:ut},{name:"v-6a8f55a0",path:"/zh/plugin/",component:ut},{path:"/zh/plugin/index.html",redirect:"/zh/plugin/"},{name:"v-0777e811",path:"/zh/plugin/context-api.html",component:ut},{name:"v-13c3b83d",path:"/zh/plugin/life-cycle.html",component:ut},{name:"v-16a56d5e",path:"/zh/plugin/official/plugin-active-header-links.html",component:ut},{name:"v-7d450c31",path:"/zh/plugin/official/plugin-back-to-top.html",component:ut},{name:"v-5d2011b7",path:"/zh/plugin/official/plugin-blog.html",component:ut},{name:"v-0a2f9b97",path:"/zh/plugin/official/plugin-google-analytics.html",component:ut},{name:"v-04b0701a",path:"/zh/plugin/official/plugin-last-updated.html",component:ut},{name:"v-5018c21e",path:"/zh/plugin/official/plugin-i18n-ui.html",component:ut},{name:"v-3a99f9f1",path:"/zh/plugin/official/plugin-medium-zoom.html",component:ut},{name:"v-3e039e07",path:"/zh/plugin/official/plugin-pagination.html",component:ut},{name:"v-dde06fde",path:"/zh/plugin/official/plugin-pwa.html",component:ut},{name:"v-c1c5155e",path:"/zh/plugin/official/plugin-register-components.html",component:ut},{name:"v-18ff4ceb",path:"/zh/plugin/official/plugin-search.html",component:ut},{name:"v-12882f97",path:"/zh/plugin/using-a-plugin.html",component:ut},{name:"v-5ac1e007",path:"/zh/plugin/writing-a-plugin.html",component:ut},{name:"v-1be851da",path:"/zh/theme/",component:ut},{path:"/zh/theme/index.html",redirect:"/zh/theme/"},{name:"v-51cb3a5e",path:"/zh/theme/option-api.html",component:ut},{name:"v-2387d583",path:"/zh/theme/using-a-theme.html",component:ut},{name:"v-de9df3da",path:"/zh/theme/writing-a-theme.html",component:ut},{name:"v-0e31c04c",path:"/config/",component:ut},{path:"/config/index.html",redirect:"/config/"},{name:"v-c412911e",path:"/plugin/option-api.html",component:ut},{name:"v-cf9b39a6",path:"/theme/default-theme-config.html",component:ut},{name:"v-d5e7c27c",path:"/zh/config/",component:ut},{path:"/zh/config/index.html",redirect:"/zh/config/"},{name:"v-57665ba3",path:"/zh/plugin/option-api.html",component:ut},{name:"v-50b78a11",path:"/zh/theme/default-theme-config.html",component:ut},{path:"*",component:ut}],pt={title:"",description:"",base:"/",pages:[{title:"Home",frontmatter:{home:!0,heroImage:"/hero.png",actionText:"Get Started →",actionLink:"/guide/",footer:"MIT Licensed | Copyright © 2018-present Evan You"},regularPath:"/",key:"v-5f47092a",path:"/",headersToExtract:["h2","h3"],headers:[{level:3,title:"As Easy as 1, 2, 3",slug:"as-easy-as-1-2-3"}],lastUpdated:"10/29/2018, 1:49:51 PM"},{title:"FAQ",frontmatter:{sidebar:"auto"},regularPath:"/faq/",key:"v-6c5fc9c8",path:"/faq/",headersToExtract:["h2","h3"],headers:[{level:2,title:"Why can't palette.styl and index.styl merge into one API?",slug:"why-can-t-palette-styl-and-index-styl-merge-into-one-api"},{level:2,title:"What's the differences between the clientDynamicModules and enhanceAppFiles?",slug:"what-s-the-differences-between-the-clientdynamicmodules-and-enhanceappfiles"},{level:2,title:"When do I need to use enhanceAppFiles?",slug:"when-do-i-need-to-use-enhanceappfiles"},{level:2,title:"When do I need to use clientDynamicModules?",slug:"when-do-i-need-to-use-clientdynamicmodules"}],lastUpdated:"10/5/2018, 10:31:53 AM"},{title:"Asset Handling",frontmatter:{},regularPath:"/guide/assets.html",key:"v-f101f21e",path:"/guide/assets.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Relative URLs",slug:"relative-urls"},{level:2,title:"Public Files",slug:"public-files"},{level:2,title:"Base URL",slug:"base-url"}],lastUpdated:"10/7/2018, 1:27:52 PM"},{title:"Introduction",frontmatter:{},regularPath:"/guide/",key:"v-0b806790",path:"/guide/",headersToExtract:["h2","h3"],headers:[{level:2,title:"How It Works",slug:"how-it-works"},{level:2,title:"Features",slug:"features"},{level:2,title:"Why Not ...?",slug:"why-not"},{level:3,title:"Nuxt",slug:"nuxt"},{level:3,title:"Docsify / Docute",slug:"docsify-docute"},{level:3,title:"Hexo",slug:"hexo"},{level:3,title:"GitBook",slug:"gitbook"}],lastUpdated:"11/26/2018, 9:12:14 PM"},{title:"Configuration",frontmatter:{},regularPath:"/guide/basic-config.html",key:"v-12cc79f5",path:"/guide/basic-config.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Config File",slug:"config-file"},{level:2,title:"Theme Configuration",slug:"theme-configuration"},{level:2,title:"App Level Enhancements",slug:"app-level-enhancements"}],lastUpdated:"11/6/2018, 9:41:57 PM"},{title:"Deploying",frontmatter:{},regularPath:"/guide/deploy.html",key:"v-b8125dae",path:"/guide/deploy.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"GitHub Pages",slug:"github-pages"},{level:2,title:"GitLab Pages and GitLab CI",slug:"gitlab-pages-and-gitlab-ci"},{level:2,title:"Netlify",slug:"netlify"},{level:2,title:"Google Firebase",slug:"google-firebase"},{level:2,title:"Surge",slug:"surge"},{level:2,title:"Heroku",slug:"heroku"},{level:2,title:"Now",slug:"now"}],lastUpdated:"10/5/2018, 8:04:52 AM"},{title:"Directory Structure",frontmatter:{},regularPath:"/guide/directory-structure.html",key:"v-d9182f9e",path:"/guide/directory-structure.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Default Page Routing",slug:"default-page-routing"}],lastUpdated:"10/21/2018, 12:39:13 PM"},{title:"Front Matter",frontmatter:{},regularPath:"/guide/frontmatter.html",key:"v-033d45d1",path:"/guide/frontmatter.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Alternative Front Matter Formats",slug:"alternative-front-matter-formats"},{level:2,title:"Predefined Variables",slug:"predefined-variables"},{level:3,title:"title",slug:"title"},{level:3,title:"lang",slug:"lang"},{level:3,title:"description",slug:"description"},{level:3,title:"layout",slug:"layout"},{level:3,title:"permalink",slug:"permalink"},{level:3,title:"metaTitle",slug:"metatitle"},{level:3,title:"meta",slug:"meta"},{level:2,title:"Predefined Variables Powered By Default Theme",slug:"predefined-variables-powered-by-default-theme"},{level:3,title:"navbar",slug:"navbar"},{level:3,title:"sidebar",slug:"sidebar"}],lastUpdated:"11/7/2018, 12:24:37 PM"},{title:"Getting Started",frontmatter:{},regularPath:"/guide/getting-started.html",key:"v-ad74f8de",path:"/guide/getting-started.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Global Installation",slug:"global-installation"},{level:2,title:"Inside an Existing Project",slug:"inside-an-existing-project"}],lastUpdated:"8/10/2018, 12:16:51 AM"},{title:"Global Computed",frontmatter:{},regularPath:"/guide/global-computed.html",key:"v-f3d1fa9e",path:"/guide/global-computed.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"$site",slug:"site"},{level:2,title:"$page",slug:"page"},{level:2,title:"$frontmatter",slug:"frontmatter"},{level:2,title:"$lang",slug:"lang"},{level:2,title:"$localePath",slug:"localepath"},{level:2,title:"$title",slug:"title"},{level:2,title:"$description",slug:"description"},{level:2,title:"$themeConfig",slug:"themeconfig"}],lastUpdated:"11/7/2018, 12:24:37 PM"},{title:"Internationalization",frontmatter:{},regularPath:"/guide/i18n.html",key:"v-ab4c378a",path:"/guide/i18n.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Site Level i18n Config",slug:"site-level-i18n-config"},{level:2,title:"Default Theme i18n Config",slug:"default-theme-i18n-config"}],lastUpdated:"10/5/2018, 10:31:53 AM"},{title:"Markdown Slot",frontmatter:{},regularPath:"/guide/markdown-slot.html",key:"v-7cd0bad1",path:"/guide/markdown-slot.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Why do I need Markdown Slot?",slug:"why-do-i-need-markdown-slot"},{level:2,title:"Named Slots",slug:"named-slots"},{level:2,title:"Default Slot Content",slug:"default-slot-content"},{level:2,title:"Example",slug:"example"}],lastUpdated:"11/29/2018, 10:24:39 AM"},{title:"Markdown Extensions",frontmatter:{},regularPath:"/guide/markdown.html",key:"v-08f0e899",path:"/guide/markdown.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Header Anchors",slug:"header-anchors"},{level:2,title:"Links",slug:"links"},{level:3,title:"Internal Links",slug:"internal-links"},{level:3,title:"External Links",slug:"external-links"},{level:2,title:"Front Matter",slug:"front-matter"},{level:2,title:"GitHub-Style Tables",slug:"github-style-tables"},{level:2,title:"Emoji 🎉",slug:"emoji"},{level:2,title:"Table of Contents",slug:"table-of-contents"},{level:2,title:"Custom Containers",slug:"custom-containers"},{level:2,title:"Line Highlighting in Code Blocks",slug:"line-highlighting-in-code-blocks"},{level:2,title:"Line Numbers",slug:"line-numbers"},{level:2,title:"Import Code Snippets",slug:"import-code-snippets"},{level:2,title:"Advanced Configuration",slug:"advanced-configuration"}],lastUpdated:"11/26/2018, 9:02:27 PM"},{title:"Permalinks",frontmatter:{},regularPath:"/guide/permalinks.html",key:"v-73a1ffe7",path:"/guide/permalinks.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Background",slug:"background"},{level:2,title:"Permalinks",slug:"permalinks-2"},{level:3,title:"Configure Permalinks",slug:"configure-permalinks"},{level:3,title:"Template Variables",slug:"template-variables"}],lastUpdated:"11/11/2018, 9:10:45 PM"},{title:"Using Vue in Markdown",frontmatter:{},regularPath:"/guide/using-vue.html",key:"v-9bbf781e",path:"/guide/using-vue.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Browser API Access Restrictions",slug:"browser-api-access-restrictions"},{level:2,title:"Templating",slug:"templating"},{level:3,title:"Interpolation",slug:"interpolation"},{level:3,title:"Directives",slug:"directives"},{level:3,title:"Access to Site & Page Data",slug:"access-to-site-page-data"},{level:2,title:"Escaping",slug:"escaping"},{level:2,title:"Using Components",slug:"using-components"},{level:3,title:"Using Components In Headers",slug:"using-components-in-headers"},{level:2,title:"Using Pre-processors",slug:"using-pre-processors"},{level:2,title:"Script & Style Hoisting",slug:"script-style-hoisting"},{level:2,title:"Built-In Components",slug:"built-in-components"},{level:3,title:"OutboundLink",slug:"outboundlink"},{level:3,title:"ClientOnly",slug:"clientonly"},{level:3,title:"Content",slug:"content"},{level:3,title:"Badge",slug:"badge"}],lastUpdated:"11/7/2018, 12:32:35 PM"},{title:"Design Concepts of VuePress 1.x",frontmatter:{sidebar:"auto"},regularPath:"/miscellaneous/design-concepts.html",key:"v-0c007bde",path:"/miscellaneous/design-concepts.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Pluggable",slug:"pluggable"},{level:3,title:"Decoupling",slug:"decoupling"},{level:3,title:"Configuration management",slug:"configuration-management"},{level:3,title:".vuepress/config.js is also a plugin",slug:"vuepress-config-js-is-also-a-plugin"},{level:3,title:"theme/index.js is also a plugin",slug:"theme-index-js-is-also-a-plugin"},{level:3,title:"Apply plugins in a plugin",slug:"apply-plugins-in-a-plugin"},{level:2,title:"Convention over configuration.",slug:"convention-over-configuration"},{level:2,title:"Reasonable priority management.",slug:"reasonable-priority-management"},{level:3,title:"Loading Priority",slug:"loading-priority"},{level:3,title:"Overriding",slug:"overriding"},{level:2,title:"Others",slug:"others"}],lastUpdated:"11/17/2018, 3:12:05 PM"},{title:"Glossary",frontmatter:{sidebar:"auto"},regularPath:"/miscellaneous/glossary.html",key:"v-62e373c2",path:"/miscellaneous/glossary.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"frontmatter",slug:"frontmatter"},{level:2,title:"permalink",slug:"permalink"},{level:2,title:"regularPath",slug:"regularpath"},{level:2,title:"headers",slug:"headers"},{level:2,title:"siteConfig",slug:"siteconfig"},{level:2,title:"themeConfig",slug:"themeconfig"},{level:2,title:"themePath",slug:"themepath"},{level:2,title:"themeEntryFile",slug:"themeentryfile"},{level:2,title:"layout",slug:"layout"}],lastUpdated:"11/3/2018, 4:26:21 PM"},{title:"Migration from 0.x",frontmatter:{sidebar:"auto"},regularPath:"/miscellaneous/migration-guide.html",key:"v-2b9871b1",path:"/miscellaneous/migration-guide.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Site Config",slug:"site-config"},{level:3,title:"ga",slug:"ga"},{level:3,title:"markdown.config",slug:"markdown-config"},{level:3,title:"serviceWorker",slug:"serviceworker"},{level:2,title:"Default Theme Config",slug:"default-theme-config"},{level:3,title:".vuepress/override.styl",slug:"vuepress-override-styl"},{level:3,title:".vuepress/style.styl",slug:"vuepress-style-styl"}],lastUpdated:"11/4/2018, 12:31:34 PM"},{title:"Plugin",frontmatter:{},regularPath:"/plugin/",key:"v-2974388c",path:"/plugin/",headersToExtract:["h2","h3"],lastUpdated:"11/13/2018, 11:31:30 AM"},{title:"Context API",frontmatter:{},regularPath:"/plugin/context-api.html",key:"v-7137159d",path:"/plugin/context-api.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"ctx.isProd",slug:"ctx-isprod"},{level:2,title:"ctx.sourceDir",slug:"ctx-sourcedir"},{level:2,title:"ctx.tempPath",slug:"ctx-temppath"},{level:2,title:"ctx.outDir",slug:"ctx-outdir"},{level:2,title:"ctx.themePath",slug:"ctx-themepath"},{level:2,title:"ctx.base",slug:"ctx-base"},{level:2,title:"ctx.writeTemp",slug:"ctx-writetemp"}],lastUpdated:"10/25/2018, 1:34:49 PM"},{title:"Life Cycle",frontmatter:{},regularPath:"/plugin/life-cycle.html",key:"v-9fe26cde",path:"/plugin/life-cycle.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"ready",slug:"ready"},{level:2,title:"updated",slug:"updated"},{level:2,title:"generated",slug:"generated"}],lastUpdated:"11/2/2018, 4:05:48 AM"},{title:"active-header-links",frontmatter:{title:"active-header-links",metaTitle:"Active-Header-Links Plugin | VuePress"},regularPath:"/plugin/official/plugin-active-header-links.html",key:"v-0ae2187e",path:"/plugin/official/plugin-active-header-links.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Install",slug:"install"},{level:2,title:"Usage",slug:"usage"},{level:3,title:"Passing Options",slug:"passing-options"},{level:2,title:"Options",slug:"options"},{level:3,title:"sidebarLinkSelector",slug:"sidebarlinkselector"},{level:3,title:"headerAnchorSelector",slug:"headeranchorselector"},{level:3,title:"headerTopOffset",slug:"headertopoffset"}],lastUpdated:"11/16/2018, 12:06:34 AM"},{title:"back-to-top",frontmatter:{title:"back-to-top",metaTitle:"Back-To-Top Plugin | VuePress"},regularPath:"/plugin/official/plugin-back-to-top.html",key:"v-c0e74fa2",path:"/plugin/official/plugin-back-to-top.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Install",slug:"install"},{level:2,title:"Usage",slug:"usage"}],lastUpdated:"11/13/2018, 11:31:30 AM"},{title:"blog",frontmatter:{title:"blog",metaTitle:"Blog Plugin | VuePress"},regularPath:"/plugin/official/plugin-blog.html",key:"v-7d57859e",path:"/plugin/official/plugin-blog.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Install",slug:"install"},{level:2,title:"Usage",slug:"usage"},{level:2,title:"Options",slug:"options"},{level:3,title:"postsDir",slug:"postsdir"},{level:3,title:"categoryIndexPageUrl",slug:"categoryindexpageurl"},{level:3,title:"tagIndexPageUrl",slug:"tagindexpageurl"},{level:3,title:"permalink",slug:"permalink"}],lastUpdated:"11/13/2018, 11:13:38 AM"},{title:"google-analytics",frontmatter:{title:"google-analytics",metaTitle:"Google Analytics Plugin | VuePress"},regularPath:"/plugin/official/plugin-google-analytics.html",key:"v-9efdcf9e",path:"/plugin/official/plugin-google-analytics.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Install",slug:"install"},{level:2,title:"Usage",slug:"usage"},{level:2,title:"Options",slug:"options"},{level:3,title:"ga",slug:"ga"}],lastUpdated:"11/13/2018, 11:13:38 AM"},{title:"i18n-ui",frontmatter:{title:"i18n-ui",metaTitle:"I18n-UI Plugin | VuePress"},regularPath:"/plugin/official/plugin-i18n-ui.html",key:"v-1349babb",path:"/plugin/official/plugin-i18n-ui.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Install",slug:"install"},{level:2,title:"Usage",slug:"usage"},{level:2,title:"Options",slug:"options"},{level:3,title:"route",slug:"route"}],lastUpdated:"11/13/2018, 11:13:38 AM"},{title:"last-updated",frontmatter:{title:"last-updated",metaTitle:"Last-Updated Plugin | VuePress"},regularPath:"/plugin/official/plugin-last-updated.html",key:"v-1a2e151e",path:"/plugin/official/plugin-last-updated.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Usage",slug:"usage"},{level:2,title:"Options",slug:"options"},{level:3,title:"transformer",slug:"transformer"}],lastUpdated:"11/25/2018, 12:37:31 PM"},{title:"medium-zoom",frontmatter:{title:"medium-zoom",metaTitle:"Medium-Zoom Plugin | VuePress"},regularPath:"/plugin/official/plugin-medium-zoom.html",key:"v-39bcd9aa",path:"/plugin/official/plugin-medium-zoom.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Install",slug:"install"},{level:2,title:"Usage",slug:"usage"},{level:2,title:"Options",slug:"options"},{level:3,title:"selector",slug:"selector"}],lastUpdated:"11/13/2018, 11:13:38 AM"},{title:"pagination",frontmatter:{title:"pagination",metaTitle:"Pagination Plugin | VuePress"},regularPath:"/plugin/official/plugin-pagination.html",key:"v-6bd9329e",path:"/plugin/official/plugin-pagination.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Install",slug:"install"},{level:2,title:"Usage",slug:"usage"},{level:2,title:"Options",slug:"options"},{level:3,title:"postsFilter",slug:"postsfilter"},{level:3,title:"postsSorter",slug:"postssorter"}],lastUpdated:"11/13/2018, 11:13:38 AM"},{title:"pwa",frontmatter:{title:"pwa",metaTitle:"PWA Plugin | VuePress"},regularPath:"/plugin/official/plugin-pwa.html",key:"v-1109b1e6",path:"/plugin/official/plugin-pwa.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Install",slug:"install"},{level:2,title:"Usage",slug:"usage"},{level:2,title:"Options",slug:"options"},{level:3,title:"serviceWorker",slug:"serviceworker"},{level:3,title:"updatePopup",slug:"updatepopup"},{level:3,title:"popupComponent",slug:"popupcomponent"},{level:2,title:"Migration from 0.x",slug:"migration-from-0-x"},{level:3,title:"Service Worker",slug:"service-worker"},{level:3,title:"SW-Update Popup",slug:"sw-update-popup"},{level:2,title:"Customize the UI of SW-Update Popup",slug:"customize-the-ui-of-sw-update-popup"}],lastUpdated:"11/13/2018, 11:13:38 AM"},{title:"register-components",frontmatter:{title:"register-components",metaTitle:"Register Components Plugin | VuePress"},regularPath:"/plugin/official/plugin-register-components.html",key:"v-28868a81",path:"/plugin/official/plugin-register-components.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Install",slug:"install"},{level:2,title:"Usage",slug:"usage"},{level:2,title:"Options",slug:"options"},{level:3,title:"componentsDir",slug:"componentsdir"},{level:3,title:"components",slug:"components"}],lastUpdated:"11/17/2018, 10:38:26 AM"},{title:"search",frontmatter:{title:"search",metaTitle:"Search Plugin | VuePress"},regularPath:"/plugin/official/plugin-search.html",key:"v-4698ddf1",path:"/plugin/official/plugin-search.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Install",slug:"install"},{level:2,title:"Usage",slug:"usage"},{level:2,title:"Options",slug:"options"},{level:3,title:"searchMaxSuggestions",slug:"searchmaxsuggestions"},{level:2,title:"Tips",slug:"tips"},{level:3,title:"Tweak the default colors.",slug:"tweak-the-default-colors"}],lastUpdated:"11/13/2018, 11:13:38 AM"},{title:"Using a Plugin",frontmatter:{},regularPath:"/plugin/using-a-plugin.html",key:"v-623a2a9e",path:"/plugin/using-a-plugin.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Use plugins from a dependency",slug:"use-plugins-from-a-dependency"},{level:2,title:"Plugin Shorthand",slug:"plugin-shorthand"},{level:2,title:"Plugin options",slug:"plugin-options"},{level:3,title:"Babel Style",slug:"babel-style"},{level:3,title:"Object Style",slug:"object-style"}],lastUpdated:"10/25/2018, 1:34:49 PM"},{title:"Writing a Plugin",frontmatter:{},regularPath:"/plugin/writing-a-plugin.html",key:"v-f98ded9e",path:"/plugin/writing-a-plugin.html",headersToExtract:["h2","h3"],lastUpdated:"10/25/2018, 1:34:49 PM"},{title:"Theme",frontmatter:{},regularPath:"/theme/",key:"v-231ac194",path:"/theme/",headersToExtract:["h2","h3"],lastUpdated:"10/25/2018, 2:07:44 PM"},{title:"Option API",frontmatter:{metaTitle:"Option API | Theme"},regularPath:"/theme/option-api.html",key:"v-7a64f6cd",path:"/theme/option-api.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"plugins",slug:"plugins"},{level:2,title:"extend",slug:"extend"}],lastUpdated:"11/7/2018, 9:20:14 AM"},{title:"Using a theme",frontmatter:{},regularPath:"/theme/using-a-theme.html",key:"v-0b490c71",path:"/theme/using-a-theme.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Using a theme from a dependency",slug:"using-a-theme-from-a-dependency"},{level:2,title:"Theme Shorthand",slug:"theme-shorthand"}],lastUpdated:"10/26/2018, 2:20:54 PM"},{title:"Writing a theme",frontmatter:{},regularPath:"/theme/writing-a-theme.html",key:"v-7ad1071e",path:"/theme/writing-a-theme.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Content Outlet",slug:"content-outlet"},{level:2,title:"Directory Structure",slug:"directory-structure"},{level:2,title:"Layout Component",slug:"layout-component"},{level:2,title:"Apply plugins",slug:"apply-plugins"},{level:2,title:"Site and Page Metadata",slug:"site-and-page-metadata"},{level:2,title:"Content Excerpt",slug:"content-excerpt"},{level:2,title:"App Level Enhancements",slug:"app-level-enhancements"}],excerpt:'<h1 id="writing-a-theme"><a class="header-anchor" href="#writing-a-theme" aria-hidden="true">#</a> Writing a theme</h1>\n<p>To write a theme, create a <code>.vuepress/theme</code> directory in your docs root, and then create a <code>Layout.vue</code> file:</p>\n<pre class="vue-container"><code><p>.\n└─ .vuepress\n └─ <code>theme</code>\n   └─ Layout.vue</p>\n</code></pre><p>From there it\'s the same as developing a normal Vue application. It is entirely up to you how to organize your theme.</p>\n<h2 id="content-outlet"><a class="header-anchor" href="#content-outlet" aria-hidden="true">#</a> Content Outlet</h2>\n<p>The compiled content of the current <code>.md</code> file being rendered will be available as a special <code><Content/></code> global component. You will need to render it somewhere in your layout in order to display the content of the page. The simplest theme can be just a single <code>Layout.vue</code> component with the following content:</p>\n\x3c!--beforebegin--\x3e<div class="language-html extra-class">\x3c!--afterbegin--\x3e<pre v-pre class="language-html"><code><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>template</span><span class="token punctuation">></span></span>\n <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>theme-container<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>Content</span><span class="token punctuation">/></span></span>\n <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>template</span><span class="token punctuation">></span></span>\n</code></pre>\n\x3c!--beforeend--\x3e</div>\x3c!--afterend--\x3e<p><strong>Also see:</strong></p>\n<ul>\n<li><router-link to="./../guide/markdown-slot.html">Markdown Slot</router-link></li>\n</ul>\n<h2 id="directory-structure"><a class="header-anchor" href="#directory-structure" aria-hidden="true">#</a> Directory Structure</h2>\n<p>Just one <code>Layout.vue</code> might not be enough, and you might also want to define more layout components in the theme for using on different pages. You may also want to customize the <router-link to="./../config/#palette-styl">palette</router-link>, and even apply some plugins.</p>\n<p>So it\'s time to reorganize your theme, an agreed theme directory structure is as follows:</p>\n<pre class="vue-container"><code><p>themePath\n├── <code>global-components</code> <em>(<strong>Optional</strong>)</em>\n│ └── xxx.vue\n├── <code>components</code> <em>(<strong>Optional</strong>)</em>\n│ └── xxx.vue\n├── <code>layouts</code>\n│   ├── Layout.vue <em>(<strong>Required</strong>)</em>\n│   └── 404.vue <em>(<strong>Optional</strong>)</em>\n├── <code>styles</code> <em>(<strong>Optional</strong>)</em>\n│   ├── index.styl\n│   └── palette.styl\n├── <code>templates</code> <em>(<strong>Optional</strong>)</em>\n│   ├── dev.html\n│   └── ssr.html\n├── <code>index.js</code> <em>(<strong>Only required when you publish it as an npm package</strong>)</em>\n├── <code>enhanceApp.js</code> <em>(<strong>Optional</strong>)</em>\n└── package.json</p>\n</code></pre><ul>\n<li><code>theme/global-components</code>: Components under this directory will be automatically registered as global components. For details, please refer to <a href="https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-register-components" target="_blank" rel="noopener noreferrer">@vuepress/plugin-register-components<OutboundLink/></a>.</li>\n<li><code>theme/components</code>: Your components.</li>\n<li><code>theme/layouts</code>: Layout components of the theme, where <code>Layout.vue</code> is required.</li>\n<li><code>theme/styles</code>: Global style and palette.</li>\n<li><code>theme/templates</code>: Modify default template.</li>\n<li><code>theme/index.js</code>: Entry file of theme configuration.</li>\n<li><code>theme/enhanceApp.js</code>: Theme level enhancements.</li>\n</ul>\n<div class="warning custom-block"><p class="custom-block-title">Note</p>\n<p>When you want to publish your theme as an npm package, make sure the package has <code>index.js</code>, and set <code>"main"</code> field at <code>package.json</code> to <code>index.js</code> so that VuePress can resolve and get the correct <router-link to="./../miscellaneous/glossary.html#theme-side">themePath</router-link>.</p>\n\x3c!--beforebegin--\x3e<div class="language-json extra-class">\x3c!--afterbegin--\x3e<pre v-pre class="language-json"><code><span class="token punctuation">{</span>\n ...\n <span class="token property">"main"</span><span class="token operator">:</span> <span class="token string">"index.js"</span>\n ...\n<span class="token punctuation">}</span>\n</code></pre>\n\x3c!--beforeend--\x3e</div>\x3c!--afterend--\x3e</div>\n<h2 id="layout-component"><a class="header-anchor" href="#layout-component" aria-hidden="true">#</a> Layout Component</h2>\n<p>Suppose your theme layouts folder is as follows:</p>\n<pre class="vue-container"><code><p>theme\n└── <code>layouts</code>\n   ├── Layout.vue\n   ├── AnotherLayout.vue\n   └── 404.vue</p>\n</code></pre><p>Then, all the pages will use <code>Layout.vue</code> as layout component by default, while the routes not matching will use <code>404.vue</code>.</p>\n<p>If you want to switch the layout of the some page to <code>AnotherLayout.vue</code>, you just need to update the frontmatter of this page:</p>\n\x3c!--beforebegin--\x3e<div class="language-markdown extra-class">\x3c!--afterbegin--\x3e<pre v-pre class="language-markdown"><code><span class="token hr punctuation">---</span>\n<span class="token title important">layout: AnotherLayout\n<span class="token punctuation">---</span></span>\n</code></pre>\n\x3c!--beforeend--\x3e</div>\x3c!--afterend--\x3e<h2 id="apply-plugins"><a class="header-anchor" href="#apply-plugins" aria-hidden="true">#</a> Apply plugins</h2>\n<p>You can apply some plugins to the theme via <code>theme/index.js</code>.</p>\n\x3c!--beforebegin--\x3e<div class="language-js extra-class">\x3c!--afterbegin--\x3e<pre v-pre class="language-js"><code>module<span class="token punctuation">.</span>exports <span class="token operator">=</span> <span class="token punctuation">{</span>\n plugins<span class="token punctuation">:</span> <span class="token punctuation">[</span>\n <span class="token string">\'@vuepress/pwa\'</span><span class="token punctuation">,</span>\n <span class="token punctuation">{</span> \n serviceWorker<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>\n updatePopup<span class="token punctuation">:</span> <span class="token boolean">true</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">]</span>\n<span class="token punctuation">}</span>\n</code></pre>\n\x3c!--beforeend--\x3e</div>\x3c!--afterend--\x3e<h2 id="site-and-page-metadata"><a class="header-anchor" href="#site-and-page-metadata" aria-hidden="true">#</a> Site and Page Metadata</h2>\n<p>The <code>Layout</code> component will be invoked once for every <code>.md</code> file in <code>docs</code>, and the metadata for the entire site and that specific page will be exposed respectively as <code>this.$site</code> and <code>this.$page</code> properties which are injected into every component in the app.</p>\n<p>This is the value of <code>$site</code> of this very website:</p>\n\x3c!--beforebegin--\x3e<div class="language-json extra-class">\x3c!--afterbegin--\x3e<pre v-pre class="language-json"><code><span class="token punctuation">{</span>\n <span class="token property">"title"</span><span class="token operator">:</span> <span class="token string">"VuePress"</span><span class="token punctuation">,</span>\n <span class="token property">"description"</span><span class="token operator">:</span> <span class="token string">"Vue-powered Static Site Generator"</span><span class="token punctuation">,</span>\n <span class="token property">"base"</span><span class="token operator">:</span> <span class="token string">"/"</span><span class="token punctuation">,</span>\n <span class="token property">"pages"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n <span class="token punctuation">{</span>\n <span class="token property">"lastUpdated"</span><span class="token operator">:</span> <span class="token number">1524027677000</span><span class="token punctuation">,</span>\n <span class="token property">"path"</span><span class="token operator">:</span> <span class="token string">"/"</span><span class="token punctuation">,</span>\n <span class="token property">"title"</span><span class="token operator">:</span> <span class="token string">"VuePress"</span><span class="token punctuation">,</span>\n <span class="token property">"frontmatter"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>\n <span class="token punctuation">}</span><span class="token punctuation">,</span>\n ...\n <span class="token punctuation">]</span>\n<span class="token punctuation">}</span>\n</code></pre>\n\x3c!--beforeend--\x3e</div>\x3c!--afterend--\x3e<p><code>title</code>, <code>description</code> and <code>base</code> are copied from respective fields in <code>.vuepress/config.js</code>. <code>pages</code> contains an array of metadata objects for each page, including its path, page title (explicitly specified in <router-link to="./../guide/markdown.html#front-matter">YAML front matter</router-link> or inferred from the first header on the page), and any YAML front matter data in that file.</p>\n<p>This is the <code>$page</code> object for this page you are looking at:</p>\n\x3c!--beforebegin--\x3e<div class="language-json extra-class">\x3c!--afterbegin--\x3e<pre v-pre class="language-json"><code><span class="token punctuation">{</span>\n <span class="token property">"lastUpdated"</span><span class="token operator">:</span> <span class="token number">1524847549000</span><span class="token punctuation">,</span>\n <span class="token property">"path"</span><span class="token operator">:</span> <span class="token string">"/guide/custom-themes.html"</span><span class="token punctuation">,</span>\n <span class="token property">"title"</span><span class="token operator">:</span> <span class="token string">"Custom Themes"</span><span class="token punctuation">,</span>\n <span class="token property">"headers"</span><span class="token operator">:</span> <span class="token punctuation">[</span>/* ... */<span class="token punctuation">]</span><span class="token punctuation">,</span>\n <span class="token property">"frontmatter"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>\n<span class="token punctuation">}</span>\n</code></pre>\n\x3c!--beforeend--\x3e</div>\x3c!--afterend--\x3e<p>If the user provided <code>themeConfig</code> in <code>.vuepress/config.js</code>, it will also be available as <code>$site.themeConfig</code>. You can use this to allow users to customize behavior of your theme - for example, specifying categories and page order. You can then use these data together with <code>$site.pages</code> to dynamically construct navigation links.</p>\n<p>Finally, don\'t forget that <code>this.$route</code> and <code>this.$router</code> are also available as part of Vue Router\'s API.</p>\n<div class="tip custom-block"><p class="custom-block-title">TIP</p>\n<p><code>lastUpdated</code> is the UNIX timestamp of this file\'s last git commit, for more details, refer to <router-link to="./../theme/default-theme-config.html#last-updated">Last Updated</router-link>.</p>\n</div>\n<h2 id="content-excerpt"><a class="header-anchor" href="#content-excerpt" aria-hidden="true">#</a> Content Excerpt</h2>\n<p>If a markdown file contains a `</p>\n',lastUpdated:"11/17/2018, 2:19:33 PM"},{title:"Home",frontmatter:{home:!0,heroImage:"/hero.png",actionText:"快速上手 →",actionLink:"/zh/guide/",features:[{title:"简洁至上",details:"以 Markdown 为中心的项目结构,以最少的配置帮助你专注于写作。"},{title:"Vue驱动",details:"享受 Vue + webpack 的开发体验,可以在 Markdown 中使用 Vue 组件,又可以使用 Vue 来开发自定义主题。"},{title:"高性能",details:"VuePress 会为每个页面预渲染生成静态的 HTML,同时,每个页面被加载的时候,将作为 SPA 运行。"}],footer:"MIT Licensed | Copyright © 2018-present Evan You"},regularPath:"/zh/",key:"v-3f63904c",path:"/zh/",headersToExtract:["h2","h3"],headers:[{level:3,title:"像数 1, 2, 3 一样容易",slug:"像数-1-2-3-一样容易"}],lastUpdated:"2018/10/29 下午1:49:51"},{title:"FAQ",frontmatter:{sidebar:"auto"},regularPath:"/zh/faq/",key:"v-10b5110c",path:"/zh/faq/",headersToExtract:["h2","h3"],headers:[{level:2,title:"Why can't palette.styl and index.styl merge into one API?",slug:"why-can-t-palette-styl-and-index-styl-merge-into-one-api"},{level:2,title:"What's the differences between the clientDynamicModules and enhanceAppFiles?",slug:"what-s-the-differences-between-the-clientdynamicmodules-and-enhanceappfiles"},{level:2,title:"When do I need to use enhanceAppFiles?",slug:"when-do-i-need-to-use-enhanceappfiles"},{level:2,title:"When do I need to use clientDynamicModules?",slug:"when-do-i-need-to-use-clientdynamicmodules"}],lastUpdated:"2018/10/5 下午2:32:09"},{title:"介绍",frontmatter:{},regularPath:"/zh/guide/",key:"v-ebb53e8c",path:"/zh/guide/",headersToExtract:["h2","h3"],headers:[{level:2,title:"它是如何工作的?",slug:"它是如何工作的?"},{level:2,title:"特性",slug:"特性"},{level:2,title:"为什么不是...?",slug:"为什么不是"},{level:3,title:"Nuxt",slug:"nuxt"},{level:3,title:"Docsify / Docute",slug:"docsify-docute"},{level:3,title:"Hexo",slug:"hexo"},{level:3,title:"GitBook",slug:"gitbook"}],lastUpdated:"2018/11/26 下午9:12:14"},{title:"静态资源",frontmatter:{},regularPath:"/zh/guide/assets.html",key:"v-8a44f5de",path:"/zh/guide/assets.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"相对路径",slug:"相对路径"},{level:2,title:"公共文件",slug:"公共文件"},{level:2,title:"基础路径",slug:"基础路径"}],lastUpdated:"2018/8/10 上午12:16:51"},{title:"基本配置",frontmatter:{},regularPath:"/zh/guide/basic-config.html",key:"v-06a6fcde",path:"/zh/guide/basic-config.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"配置文件",slug:"配置文件"},{level:2,title:"主题配置",slug:"主题配置"},{level:2,title:"应用级别的配置",slug:"应用级别的配置"}],lastUpdated:"2018/10/5 上午10:31:53"},{title:"部署",frontmatter:{},regularPath:"/zh/guide/deploy.html",key:"v-702150de",path:"/zh/guide/deploy.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"GitHub Pages",slug:"github-pages"},{level:2,title:"GitLab Pages and GitLab CI",slug:"gitlab-pages-and-gitlab-ci"},{level:2,title:"Netlify",slug:"netlify"},{level:2,title:"Google Firebase",slug:"google-firebase"},{level:2,title:"Surge",slug:"surge"},{level:2,title:"Heroku",slug:"heroku"}],lastUpdated:"2018/8/10 上午12:16:51"},{title:"目录结构",frontmatter:{},regularPath:"/zh/guide/directory-structure.html",key:"v-79cc5742",path:"/zh/guide/directory-structure.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"默认的页面路由",slug:"默认的页面路由"}],lastUpdated:"2018/10/21 下午12:39:13"},{title:"Front Matter",frontmatter:{},regularPath:"/zh/guide/frontmatter.html",key:"v-1c56c0f1",path:"/zh/guide/frontmatter.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"其他格式的 Front Matter",slug:"其他格式的-front-matter"},{level:2,title:"预定义变量",slug:"预定义变量"},{level:3,title:"title",slug:"title"},{level:3,title:"lang",slug:"lang"},{level:3,title:"description",slug:"description"},{level:3,title:"layout",slug:"layout"},{level:3,title:"permalink",slug:"permalink"},{level:3,title:"metaTitle",slug:"metatitle"},{level:3,title:"meta",slug:"meta"},{level:2,title:"默认主题的预定义变量",slug:"默认主题的预定义变量"},{level:3,title:"navbar",slug:"navbar"},{level:3,title:"sidebar",slug:"sidebar"}],lastUpdated:"2018/11/7 下午12:32:35"},{title:"快速上手",frontmatter:{},regularPath:"/zh/guide/getting-started.html",key:"v-5146a7d5",path:"/zh/guide/getting-started.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"全局安装",slug:"全局安装"},{level:2,title:"现有项目",slug:"现有项目"}],lastUpdated:"2018/9/26 下午1:25:08"},{title:"全局计算属性",frontmatter:{},regularPath:"/zh/guide/global-computed.html",key:"v-d96365d2",path:"/zh/guide/global-computed.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"$site",slug:"site"},{level:2,title:"$page",slug:"page"},{level:2,title:"$frontmatter",slug:"frontmatter"},{level:2,title:"$lang",slug:"lang"},{level:2,title:"$localePath",slug:"localepath"},{level:2,title:"$title",slug:"title"},{level:2,title:"$description",slug:"description"},{level:2,title:"$themeConfig",slug:"themeconfig"}],lastUpdated:"2018/11/7 下午12:24:37"},{title:"多语言支持",frontmatter:{},regularPath:"/zh/guide/i18n.html",key:"v-dee22a1e",path:"/zh/guide/i18n.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"站点多语言配置",slug:"站点多语言配置"},{level:2,title:"默认主题多语言配置",slug:"默认主题多语言配置"}],lastUpdated:"2018/10/5 上午10:31:53"},{title:"Markdown 插槽",frontmatter:{},regularPath:"/zh/guide/markdown-slot.html",key:"v-13d555e6",path:"/zh/guide/markdown-slot.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"为什么需要 Markdown 插槽",slug:"为什么需要-markdown-插槽"},{level:2,title:"具名插槽",slug:"具名插槽"},{level:2,title:"插槽的默认内容",slug:"插槽的默认内容"},{level:2,title:"例子",slug:"例子"}],lastUpdated:"2018/11/29 上午10:24:39"},{title:"Markdown 拓展",frontmatter:{},regularPath:"/zh/guide/markdown.html",key:"v-21c13651",path:"/zh/guide/markdown.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Header Anchors",slug:"header-anchors"},{level:2,title:"链接",slug:"链接"},{level:3,title:"内部链接",slug:"内部链接"},{level:3,title:"外部链接",slug:"外部链接"},{level:2,title:"Front Matter",slug:"front-matter"},{level:2,title:"GitHub 风格的表格",slug:"github-风格的表格"},{level:2,title:"Emoji",slug:"emoji"},{level:2,title:"目录",slug:"目录"},{level:2,title:"自定义容器",slug:"自定义容器"},{level:2,title:"代码块中的行高亮",slug:"代码块中的行高亮"},{level:2,title:"行号",slug:"行号"},{level:2,title:"导入代码段",slug:"导入代码段"},{level:2,title:"进阶配置",slug:"进阶配置"}],lastUpdated:"2018/11/26 下午9:03:21"},{title:"永久链接",frontmatter:{},regularPath:"/zh/guide/permalinks.html",key:"v-d64a679e",path:"/zh/guide/permalinks.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"背景",slug:"背景"},{level:2,title:"永久链接",slug:"永久链接-2"},{level:3,title:"配置永久链接",slug:"配置永久链接"},{level:3,title:"模板变量",slug:"模板变量"}],lastUpdated:"2018/11/13 上午11:37:04"},{title:"在 Markdown 中 使用 Vue",frontmatter:{},regularPath:"/zh/guide/using-vue.html",key:"v-27cb566a",path:"/zh/guide/using-vue.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"浏览器的 API 访问限制",slug:"浏览器的-api-访问限制"},{level:2,title:"模板语法",slug:"模板语法"},{level:3,title:"插值",slug:"插值"},{level:3,title:"指令",slug:"指令"},{level:3,title:"访问网站以及页面的数据",slug:"访问网站以及页面的数据"},{level:2,title:"Escaping",slug:"escaping"},{level:2,title:"使用组件",slug:"使用组件"},{level:3,title:"在标题中使用组件",slug:"在标题中使用组件"},{level:2,title:"使用预处理器",slug:"使用预处理器"},{level:2,title:"脚本和样式提升",slug:"脚本和样式提升"},{level:2,title:"内置的组件",slug:"内置的组件"},{level:3,title:"OutboundLink",slug:"outboundlink"},{level:3,title:"ClientOnly",slug:"clientonly"},{level:3,title:"Content",slug:"content"},{level:3,title:"Badge",slug:"badge"}],lastUpdated:"2018/11/7 下午12:32:35"},{title:"VuePress 1.x 的设计理念",frontmatter:{sidebar:"auto"},regularPath:"/zh/miscellaneous/design-concepts.html",key:"v-055e5b26",path:"/zh/miscellaneous/design-concepts.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"插件化",slug:"插件化"},{level:3,title:"解耦",slug:"解耦"},{level:3,title:"配置的管理",slug:"配置的管理"},{level:3,title:".vuepress/config.js 也是插件",slug:"vuepress-config-js-也是插件"},{level:3,title:"theme/index.js 也是插件",slug:"theme-index-js-也是插件"},{level:3,title:"在插件中使用插件",slug:"在插件中使用插件"},{level:2,title:"约定大于配置",slug:"约定大于配置"},{level:2,title:"合理的优先级管理",slug:"合理的优先级管理"},{level:3,title:"加载优先级",slug:"加载优先级"},{level:3,title:"Overriding",slug:"overriding"},{level:2,title:"其他",slug:"其他"}],lastUpdated:"2018/11/17 下午3:12:05"},{title:"术语",frontmatter:{sidebar:"auto"},regularPath:"/zh/miscellaneous/glossary.html",key:"v-a0abb79e",path:"/zh/miscellaneous/glossary.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"frontmatter",slug:"frontmatter"},{level:2,title:"permalink",slug:"permalink"},{level:2,title:"regularPath",slug:"regularpath"},{level:2,title:"headers",slug:"headers"},{level:2,title:"siteConfig",slug:"siteconfig"},{level:2,title:"themeConfig",slug:"themeconfig"},{level:2,title:"themePath",slug:"themepath"},{level:2,title:"themeEntryFile",slug:"themeentryfile"},{level:2,title:"layout",slug:"layout"}],lastUpdated:"2018/11/3 下午4:26:21"},{title:"从 VuePress 0.x 迁移",frontmatter:{sidebar:"auto"},regularPath:"/zh/miscellaneous/migration-guide.html",key:"v-2b6a20b2",path:"/zh/miscellaneous/migration-guide.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"站点配置",slug:"站点配置"},{level:3,title:"ga",slug:"ga"},{level:3,title:"markdown.config",slug:"markdown-config"},{level:3,title:"serviceWorker",slug:"serviceworker"},{level:2,title:"默认主题配置",slug:"默认主题配置"},{level:3,title:".vuepress/override.styl",slug:"vuepress-override-styl"},{level:3,title:".vuepress/style.styl",slug:"vuepress-style-styl"}],lastUpdated:"2018/11/4 下午12:31:34"},{title:"插件",frontmatter:{},regularPath:"/zh/plugin/",key:"v-6a8f55a0",path:"/zh/plugin/",headersToExtract:["h2","h3"],lastUpdated:"2018/11/13 上午11:31:30"},{title:"Context API",frontmatter:{},regularPath:"/zh/plugin/context-api.html",key:"v-0777e811",path:"/zh/plugin/context-api.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"ctx.isProd",slug:"ctx-isprod"},{level:2,title:"ctx.sourceDir",slug:"ctx-sourcedir"},{level:2,title:"ctx.tempPath",slug:"ctx-temppath"},{level:2,title:"ctx.outDir",slug:"ctx-outdir"},{level:2,title:"ctx.themePath",slug:"ctx-themepath"},{level:2,title:"ctx.base",slug:"ctx-base"},{level:2,title:"ctx.writeTemp",slug:"ctx-writetemp"}],lastUpdated:"2018/10/25 下午1:34:49"},{title:"生命周期",frontmatter:{},regularPath:"/zh/plugin/life-cycle.html",key:"v-13c3b83d",path:"/zh/plugin/life-cycle.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"ready",slug:"ready"},{level:2,title:"updated",slug:"updated"},{level:2,title:"generated",slug:"generated"}],lastUpdated:"2018/10/25 下午1:34:49"},{title:"active-header-links",frontmatter:{title:"active-header-links",metaTitle:"Active-Header-Links 插件 | VuePress"},regularPath:"/zh/plugin/official/plugin-active-header-links.html",key:"v-16a56d5e",path:"/zh/plugin/official/plugin-active-header-links.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Install",slug:"install"},{level:2,title:"Usage",slug:"usage"},{level:2,title:"Options",slug:"options"},{level:3,title:"sidebarLinkSelector",slug:"sidebarlinkselector"},{level:3,title:"headerAnchorSelector",slug:"headeranchorselector"}],lastUpdated:"2018/11/13 上午11:31:30"},{title:"back-to-top",frontmatter:{title:"back-to-top",metaTitle:"Back-To-Top 插件 | VuePress"},regularPath:"/zh/plugin/official/plugin-back-to-top.html",key:"v-7d450c31",path:"/zh/plugin/official/plugin-back-to-top.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"安装",slug:"安装"},{level:2,title:"使用",slug:"使用"}],lastUpdated:"2018/11/13 上午11:31:30"},{title:"blog",frontmatter:{title:"blog",metaTitle:"Blog 插件 | VuePress"},regularPath:"/zh/plugin/official/plugin-blog.html",key:"v-5d2011b7",path:"/zh/plugin/official/plugin-blog.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"安装",slug:"安装"},{level:2,title:"使用",slug:"使用"},{level:2,title:"选项",slug:"选项"},{level:3,title:"postsDir",slug:"postsdir"},{level:3,title:"categoryIndexPageUrl",slug:"categoryindexpageurl"},{level:3,title:"tagIndexPageUrl",slug:"tagindexpageurl"},{level:3,title:"permalink",slug:"permalink"}],lastUpdated:"2018/11/13 上午11:31:30"},{title:"google-analytics",frontmatter:{title:"google-analytics",metaTitle:"Google Analytics 插件 | VuePress"},regularPath:"/zh/plugin/official/plugin-google-analytics.html",key:"v-0a2f9b97",path:"/zh/plugin/official/plugin-google-analytics.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"安装",slug:"安装"},{level:2,title:"使用",slug:"使用"},{level:2,title:"选项",slug:"选项"},{level:3,title:"ga",slug:"ga"}],lastUpdated:"2018/11/13 上午11:31:30"},{title:"last-updated",frontmatter:{title:"last-updated",metaTitle:"Last-Updated 插件 | VuePress"},regularPath:"/zh/plugin/official/plugin-last-updated.html",key:"v-04b0701a",path:"/zh/plugin/official/plugin-last-updated.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"使用",slug:"使用"},{level:2,title:"选项",slug:"选项"},{level:3,title:"transformer",slug:"transformer"}],lastUpdated:"2018/11/25 下午12:37:31"},{title:"i18n-ui",frontmatter:{title:"i18n-ui",metaTitle:"I18n-UI 插件 | VuePress"},regularPath:"/zh/plugin/official/plugin-i18n-ui.html",key:"v-5018c21e",path:"/zh/plugin/official/plugin-i18n-ui.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"安装",slug:"安装"},{level:2,title:"使用",slug:"使用"},{level:2,title:"选项",slug:"选项"},{level:3,title:"route",slug:"route"}],lastUpdated:"2018/11/13 上午11:31:30"},{title:"medium-zoom",frontmatter:{title:"medium-zoom",metaTitle:"Medium-Zoom 插件 | VuePress"},regularPath:"/zh/plugin/official/plugin-medium-zoom.html",key:"v-3a99f9f1",path:"/zh/plugin/official/plugin-medium-zoom.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Install",slug:"install"},{level:2,title:"Usage",slug:"usage"},{level:2,title:"Options",slug:"options"},{level:3,title:"selector",slug:"selector"}],lastUpdated:"2018/11/13 上午11:31:30"},{title:"pagination",frontmatter:{title:"pagination",metaTitle:"Pagination 插件 | VuePress"},regularPath:"/zh/plugin/official/plugin-pagination.html",key:"v-3e039e07",path:"/zh/plugin/official/plugin-pagination.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"安装",slug:"安装"},{level:2,title:"使用",slug:"使用"},{level:2,title:"选项",slug:"选项"},{level:3,title:"postsFilter",slug:"postsfilter"},{level:3,title:"postsSorter",slug:"postssorter"}],lastUpdated:"2018/11/13 上午11:31:30"},{title:"pwa",frontmatter:{title:"pwa",metaTitle:"PWA 插件 | VuePress"},regularPath:"/zh/plugin/official/plugin-pwa.html",key:"v-dde06fde",path:"/zh/plugin/official/plugin-pwa.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"安装",slug:"安装"},{level:2,title:"使用",slug:"使用"},{level:2,title:"选项",slug:"选项"},{level:3,title:"serviceWorker",slug:"serviceworker"},{level:3,title:"updatePopup",slug:"updatepopup"},{level:3,title:"popupComponent",slug:"popupcomponent"},{level:2,title:"从 0.x 迁移",slug:"从-0-x-迁移"},{level:3,title:"Service Worker",slug:"service-worker"},{level:3,title:"SW-Update Popup",slug:"sw-update-popup"},{level:2,title:"自定义 SW-Update Popup 的 UI",slug:"自定义-sw-update-popup-的-ui"}],lastUpdated:"2018/11/13 上午11:31:30"},{title:"register-components",frontmatter:{title:"register-components",metaTitle:"注册组件的插件 | VuePress"},regularPath:"/zh/plugin/official/plugin-register-components.html",key:"v-c1c5155e",path:"/zh/plugin/official/plugin-register-components.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"安装",slug:"安装"},{level:2,title:"使用",slug:"使用"},{level:2,title:"选项",slug:"选项"},{level:3,title:"componentsDir",slug:"componentsdir"},{level:3,title:"components",slug:"components"}],lastUpdated:"2018/11/17 上午10:38:26"},{title:"search",frontmatter:{title:"search",metaTitle:"Search 插件 | VuePress"},regularPath:"/zh/plugin/official/plugin-search.html",key:"v-18ff4ceb",path:"/zh/plugin/official/plugin-search.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"安装",slug:"安装"},{level:2,title:"使用",slug:"使用"},{level:2,title:"选项",slug:"选项"},{level:3,title:"searchMaxSuggestions",slug:"searchmaxsuggestions"},{level:2,title:"技巧",slug:"技巧"},{level:3,title:"调整默认颜色",slug:"调整默认颜色"}],lastUpdated:"2018/11/13 上午11:31:30"},{title:"使用插件",frontmatter:{},regularPath:"/zh/plugin/using-a-plugin.html",key:"v-12882f97",path:"/zh/plugin/using-a-plugin.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"使用来自依赖的插件",slug:"使用来自依赖的插件"},{level:2,title:"插件的缩写",slug:"插件的缩写"},{level:2,title:"插件的选项",slug:"插件的选项"},{level:3,title:"Babel 式",slug:"babel-式"},{level:3,title:"对象式",slug:"对象式"}],lastUpdated:"2018/10/25 下午1:34:49"},{title:"开发插件",frontmatter:{},regularPath:"/zh/plugin/writing-a-plugin.html",key:"v-5ac1e007",path:"/zh/plugin/writing-a-plugin.html",headersToExtract:["h2","h3"],lastUpdated:"2018/10/25 下午1:34:49"},{title:"Theme",frontmatter:{},regularPath:"/zh/theme/",key:"v-1be851da",path:"/zh/theme/",headersToExtract:["h2","h3"],lastUpdated:"2018/10/25 下午2:07:44"},{title:"Option API",frontmatter:{metaTitle:"Option API | Theme"},regularPath:"/zh/theme/option-api.html",key:"v-51cb3a5e",path:"/zh/theme/option-api.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"plugins",slug:"plugins"}],lastUpdated:"2018/11/7 上午9:20:14"},{title:"使用主题",frontmatter:{},regularPath:"/zh/theme/using-a-theme.html",key:"v-2387d583",path:"/zh/theme/using-a-theme.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"使用 dependency 中的主题",slug:"使用-dependency-中的主题"},{level:2,title:"主题的缩写",slug:"主题的缩写"}],lastUpdated:"2018/10/26 下午2:20:54"},{title:"开发主题",frontmatter:{},regularPath:"/zh/theme/writing-a-theme.html",key:"v-de9df3da",path:"/zh/theme/writing-a-theme.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"获取渲染内容",slug:"获取渲染内容"},{level:2,title:"内容摘抄",slug:"内容摘抄"},{level:2,title:"目录结构",slug:"目录结构"},{level:2,title:"布局组件",slug:"布局组件"},{level:2,title:"使用插件",slug:"使用插件"},{level:2,title:"网站和页面的元数据",slug:"网站和页面的元数据"},{level:2,title:"应用配置",slug:"应用配置"}],excerpt:'<h1 id="开发主题"><a class="header-anchor" href="#开发主题" aria-hidden="true">#</a> 开发主题</h1>\n<p>想要书写一个主题,首先在你文档根目录创建一个 <code>.vuepress/theme</code> 目录,接着创建一个 <code>Layout.vue</code> 文件:</p>\n<pre class="vue-container"><code><p>.\n└─ .vuepress\n └─ <code>theme</code>\n   └─ Layout.vue</p>\n</code></pre><p>到这里,就像开发一个普通的 Vue 应用一样。如何组织你的主题,这完全取决于你。</p>\n<h2 id="获取渲染内容"><a class="header-anchor" href="#获取渲染内容" aria-hidden="true">#</a> 获取渲染内容</h2>\n<p>当前的 <code>.md</code> 文件渲染的内容,可以作为一个独特的全局组件 <code><Content/></code> 来使用,你可能想要它显示在页面中的某个地方。一个最简单的主题,可以是一个唯一的 <code>Layout.vue</code> 组件,并包含以下内容:</p>\n\x3c!--beforebegin--\x3e<div class="language-html extra-class">\x3c!--afterbegin--\x3e<pre v-pre class="language-html"><code><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>template</span><span class="token punctuation">></span></span>\n <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>theme-container<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>Content</span><span class="token punctuation">/></span></span>\n <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>template</span><span class="token punctuation">></span></span>\n</code></pre>\n\x3c!--beforeend--\x3e</div>\x3c!--afterend--\x3e<p><strong>更多请阅读:</strong></p>\n<ul>\n<li><router-link to="./../guide/markdown-slot.html">Markdown 插槽</router-link></li>\n</ul>\n<h2 id="内容摘抄"><a class="header-anchor" href="#内容摘抄" aria-hidden="true">#</a> 内容摘抄</h2>\n<p>如果一个 markdown 文件中有一个 `</p>\n',lastUpdated:"2018/11/7 下午12:32:35"},{title:"Config Reference",frontmatter:{sidebar:"auto"},regularPath:"/config/",key:"v-0e31c04c",path:"/config/",headersToExtract:["h2","h3"],headers:[{level:2,title:"Basic Config",slug:"basic-config"},{level:3,title:"base",slug:"base"},{level:3,title:"title",slug:"title"},{level:3,title:"description",slug:"description"},{level:3,title:"head",slug:"head"},{level:3,title:"host",slug:"host"},{level:3,title:"port",slug:"port"},{level:3,title:"dest",slug:"dest"},{level:3,title:"ga",slug:"ga"},{level:3,title:"locales",slug:"locales"},{level:3,title:"shouldPrefetch",slug:"shouldprefetch"},{level:3,title:"contentLoading",slug:"contentloading"},{level:3,title:"cache",slug:"cache"},{level:2,title:"Styling",slug:"styling"},{level:3,title:"palette.styl",slug:"palette-styl"},{level:3,title:"index.styl",slug:"index-styl"},{level:2,title:"Theming",slug:"theming"},{level:3,title:"theme",slug:"theme"},{level:3,title:"themeConfig",slug:"themeconfig"},{level:2,title:"Pluggable",slug:"pluggable"},{level:3,title:"plugins",slug:"plugins"},{level:2,title:"Markdown",slug:"markdown"},{level:3,title:"markdown.lineNumbers",slug:"markdown-linenumbers"},{level:3,title:"markdown.slugify",slug:"markdown-slugify"},{level:3,title:"markdown.anchor",slug:"markdown-anchor"},{level:3,title:"markdown.externalLinks",slug:"markdown-externallinks"},{level:3,title:"markdown.toc",slug:"markdown-toc"},{level:3,title:"markdown.extendMarkdown",slug:"markdown-extendmarkdown"},{level:2,title:"Build Pipeline",slug:"build-pipeline"},{level:3,title:"postcss",slug:"postcss"},{level:3,title:"stylus",slug:"stylus"},{level:3,title:"scss",slug:"scss"},{level:3,title:"sass",slug:"sass"},{level:3,title:"less",slug:"less"},{level:3,title:"configureWebpack",slug:"configurewebpack"},{level:3,title:"chainWebpack",slug:"chainwebpack"},{level:2,title:"Browser Compatibility",slug:"browser-compatibility"},{level:3,title:"evergreen",slug:"evergreen"}],lastUpdated:"11/19/2018, 6:09:37 AM"},{title:"Option API",frontmatter:{},regularPath:"/plugin/option-api.html",key:"v-c412911e",path:"/plugin/option-api.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"name",slug:"name"},{level:2,title:"plugins",slug:"plugins"},{level:2,title:"chainWebpack",slug:"chainwebpack"},{level:2,title:"define",slug:"define"},{level:2,title:"alias",slug:"alias"},{level:2,title:"enhanceDevServer",slug:"enhancedevserver"},{level:2,title:"extendMarkdown",slug:"extendmarkdown"},{level:2,title:"chainMarkdown",slug:"chainmarkdown"},{level:2,title:"enhanceAppFiles",slug:"enhanceappfiles"},{level:2,title:"clientDynamicModules",slug:"clientdynamicmodules"},{level:2,title:"extendPageData",slug:"extendpagedata"},{level:2,title:"clientRootMixin",slug:"clientrootmixin"},{level:2,title:"additionalPages",slug:"additionalpages"},{level:2,title:"globalUIComponents",slug:"globaluicomponents"}],lastUpdated:"11/13/2018, 11:38:27 AM"},{title:"Default Theme Config",frontmatter:{},regularPath:"/theme/default-theme-config.html",key:"v-cf9b39a6",path:"/theme/default-theme-config.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"Homepage",slug:"homepage"},{level:2,title:"Navbar",slug:"navbar"},{level:3,title:"Navbar Links",slug:"navbar-links"},{level:3,title:"Disable the Navbar",slug:"disable-the-navbar"},{level:2,title:"Sidebar",slug:"sidebar"},{level:3,title:"Nested Header Links",slug:"nested-header-links"},{level:3,title:"Displaying Header Links of All Pages",slug:"displaying-header-links-of-all-pages"},{level:3,title:"Extract Headers",slug:"extract-headers"},{level:3,title:"Active Header Links",slug:"active-header-links"},{level:3,title:"Sidebar Groups",slug:"sidebar-groups"},{level:3,title:"Multiple Sidebars",slug:"multiple-sidebars"},{level:3,title:"Auto Sidebar for Single Pages",slug:"auto-sidebar-for-single-pages"},{level:3,title:"Disabling the Sidebar",slug:"disabling-the-sidebar"},{level:2,title:"Search Box",slug:"search-box"},{level:3,title:"Built-in Search",slug:"built-in-search"},{level:3,title:"Algolia Search",slug:"algolia-search"},{level:2,title:"Last Updated",slug:"last-updated"},{level:2,title:"Service Worker",slug:"service-worker"},{level:3,title:"Popup UI to refresh contents",slug:"popup-ui-to-refresh-contents"},{level:2,title:"Prev / Next Links",slug:"prev-next-links"},{level:2,title:"Git Repo and Edit Links",slug:"git-repo-and-edit-links"},{level:2,title:"Custom Page Class",slug:"custom-page-class"},{level:2,title:"Custom Layout for Specific Pages",slug:"custom-layout-for-specific-pages"},{level:2,title:"Ejecting",slug:"ejecting"}],lastUpdated:"11/26/2018, 9:08:08 PM"},{title:"配置",frontmatter:{sidebar:"auto"},regularPath:"/zh/config/",key:"v-d5e7c27c",path:"/zh/config/",headersToExtract:["h2","h3"],headers:[{level:2,title:"基本配置",slug:"基本配置"},{level:3,title:"base",slug:"base"},{level:3,title:"title",slug:"title"},{level:3,title:"description",slug:"description"},{level:3,title:"head",slug:"head"},{level:3,title:"host",slug:"host"},{level:3,title:"port",slug:"port"},{level:3,title:"dest",slug:"dest"},{level:3,title:"ga",slug:"ga"},{level:3,title:"locales",slug:"locales"},{level:3,title:"shouldPrefetch",slug:"shouldprefetch"},{level:3,title:"contentLoading",slug:"contentloading"},{level:3,title:"cache",slug:"cache"},{level:2,title:"Styling",slug:"styling"},{level:3,title:"palette.styl",slug:"palette-styl"},{level:3,title:"index.styl",slug:"index-styl"},{level:2,title:"主题",slug:"主题"},{level:3,title:"theme",slug:"theme"},{level:3,title:"themeConfig",slug:"themeconfig"},{level:2,title:"Pluggable",slug:"pluggable"},{level:3,title:"plugins",slug:"plugins"},{level:2,title:"Markdown",slug:"markdown"},{level:3,title:"markdown.lineNumbers",slug:"markdown-linenumbers"},{level:3,title:"markdown.slugify",slug:"markdown-slugify"},{level:3,title:"markdown.anchor",slug:"markdown-anchor"},{level:3,title:"markdown.externalLinks",slug:"markdown-externallinks"},{level:3,title:"markdown.toc",slug:"markdown-toc"},{level:3,title:"markdown.extendMarkdown",slug:"markdown-extendmarkdown"},{level:2,title:"构建流程",slug:"构建流程"},{level:3,title:"postcss",slug:"postcss"},{level:3,title:"stylus",slug:"stylus"},{level:3,title:"scss",slug:"scss"},{level:3,title:"sass",slug:"sass"},{level:3,title:"less",slug:"less"},{level:3,title:"configureWebpack",slug:"configurewebpack"},{level:3,title:"chainWebpack",slug:"chainwebpack"},{level:2,title:"浏览器兼容性",slug:"浏览器兼容性"},{level:3,title:"evergreen",slug:"evergreen"}],lastUpdated:"2018/11/17 下午2:15:59"},{title:"Option API",frontmatter:{metaTitle:"Option API | Plugin"},regularPath:"/zh/plugin/option-api.html",key:"v-57665ba3",path:"/zh/plugin/option-api.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"name",slug:"name"},{level:2,title:"plugins",slug:"plugins"},{level:2,title:"chainWebpack",slug:"chainwebpack"},{level:2,title:"define",slug:"define"},{level:2,title:"alias",slug:"alias"},{level:2,title:"enhanceDevServer",slug:"enhancedevserver"},{level:2,title:"extendMarkdown",slug:"extendmarkdown"},{level:2,title:"chainMarkdown",slug:"chainmarkdown"},{level:2,title:"enhanceAppFiles",slug:"enhanceappfiles"},{level:2,title:"clientDynamicModules",slug:"clientdynamicmodules"},{level:2,title:"extendPageData",slug:"extendpagedata"},{level:2,title:"clientRootMixin",slug:"clientrootmixin"},{level:2,title:"additionalPages",slug:"additionalpages"},{level:2,title:"globalUIComponents",slug:"globaluicomponents"}],lastUpdated:"2018/11/13 上午11:38:27"},{title:"默认主题配置",frontmatter:{},regularPath:"/zh/theme/default-theme-config.html",key:"v-50b78a11",path:"/zh/theme/default-theme-config.html",headersToExtract:["h2","h3"],headers:[{level:2,title:"首页",slug:"首页"},{level:2,title:"导航栏",slug:"导航栏"},{level:3,title:"导航栏链接",slug:"导航栏链接"},{level:3,title:"禁用导航栏",slug:"禁用导航栏"},{level:2,title:"侧边栏",slug:"侧边栏"},{level:3,title:"嵌套的标题链接",slug:"嵌套的标题链接"},{level:3,title:"显示所有页面的标题链接",slug:"显示所有页面的标题链接"},{level:3,title:"活动的标题链接",slug:"活动的标题链接"},{level:3,title:"侧边栏分组",slug:"侧边栏分组"},{level:3,title:"多个侧边栏",slug:"多个侧边栏"},{level:3,title:"自动生成侧栏",slug:"自动生成侧栏"},{level:3,title:"禁用侧边栏",slug:"禁用侧边栏"},{level:2,title:"搜索框",slug:"搜索框"},{level:3,title:"内置搜索",slug:"内置搜索"},{level:3,title:"Algolia 搜索",slug:"algolia-搜索"},{level:2,title:"最后更新时间",slug:"最后更新时间"},{level:2,title:"Service Worker",slug:"service-worker"},{level:3,title:"刷新内容的弹窗",slug:"刷新内容的弹窗"},{level:2,title:"上 / 下一篇链接",slug:"上-下一篇链接"},{level:2,title:"Git 仓库和编辑链接",slug:"git-仓库和编辑链接"},{level:2,title:"自定义页面类",slug:"自定义页面类"},{level:2,title:"特定页面的自定义布局",slug:"特定页面的自定义布局"}],lastUpdated:"2018/11/19 下午8:56:31"}],themeConfig:{repo:"vuejs/vuepress",editLinks:!0,docsDir:"packages/docs/docs",algolia:{apiKey:"3a539aab83105f01761a137c61004d85",indexName:"vuepress"},locales:{"/":{label:"English",selectText:"Languages",editLinkText:"Edit this page on GitHub",lastUpdated:"Last Updated",nav:[{text:"Guide",link:"/guide/"},{text:"Config Reference",link:"/config/"},{text:"Plugin",link:"/plugin/"},{text:"Theme",link:"/theme/"},{text:"Learn More",items:[{text:"Contributing Guide",items:[{text:"Design Concepts",link:"/miscellaneous/design-concepts.html"},{text:"FAQ",link:"/faq/"},{text:"Glossary",link:"/miscellaneous/glossary.html"}]},{text:"Miscellaneous",items:[{text:"Migrate from 0.x",link:"/miscellaneous/migration-guide.html"},{text:"Changelog",link:"https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md"}]}]}],sidebar:{"/guide/":[{title:"Guide",collapsable:!1,children:["","getting-started","directory-structure","basic-config","assets","markdown","using-vue","i18n","deploy"]},{title:"Advanced",collapsable:!1,children:["frontmatter","permalinks","markdown-slot","global-computed"]}],"/plugin/":[{title:"Plugin",collapsable:!1,children:[["","Introduction"],"using-a-plugin","writing-a-plugin","life-cycle","option-api","context-api"]},{title:"Official Plugins",collapsable:!1,children:["official/plugin-search","official/plugin-active-header-links","official/plugin-pwa","official/plugin-blog","official/plugin-pagination","official/plugin-google-analytics","official/plugin-i18n-ui","official/plugin-last-updated","official/plugin-medium-zoom","official/plugin-back-to-top","official/plugin-register-components"]}],"/theme/":[{title:"Theme",collapsable:!1,children:[["","Introduction"],"using-a-theme","writing-a-theme","option-api","default-theme-config"]}]}},"/zh/":{label:"简体中文",selectText:"选择语言",editLinkText:"在 GitHub 上编辑此页",lastUpdated:"上次更新",nav:[{text:"指南",link:"/zh/guide/"},{text:"配置",link:"/zh/config/"},{text:"插件",link:"/zh/plugin/"},{text:"主题",link:"/zh/theme/"},{text:"了解更多",items:[{text:"开发指南",items:[{text:"设计理念",link:"/zh/miscellaneous/design-concepts.html"},{text:"FAQ",link:"/zh/faq/"},{text:"术语",link:"/zh/miscellaneous/glossary.html"}]},{text:"其他",items:[{text:"从 0.x 迁移",link:"/zh/miscellaneous/migration-guide.html"},{text:"Changelog",link:"https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md"}]}]}],sidebar:{"/zh/guide/":[{title:"指南",collapsable:!1,children:["","getting-started","directory-structure","basic-config","assets","markdown","using-vue","i18n","deploy"]},{title:"深入",collapsable:!1,children:["frontmatter","permalinks","markdown-slot","global-computed"]}],"/zh/plugin/":[{title:"插件",collapsable:!1,children:[["","介绍"],"using-a-plugin","writing-a-plugin","life-cycle","option-api","context-api"]},{title:"官方插件",collapsable:!1,children:["official/plugin-search","official/plugin-active-header-links","official/plugin-pwa","official/plugin-blog","official/plugin-pagination","official/plugin-google-analytics","official/plugin-i18n-ui","official/plugin-last-updated","official/plugin-medium-zoom","official/plugin-back-to-top","official/plugin-register-components"]}],"/zh/theme/":[{title:"主题",collapsable:!1,children:[["","介绍"],"using-a-theme","writing-a-theme","option-api","default-theme-config"]}]}}}},locales:{"/":{lang:"en-US",title:"VuePress",description:"Vue-powered Static Site Generator",path:"/"},"/zh/":{lang:"zh-CN",title:"VuePress",description:"Vue 驱动的静态网站生成器",path:"/zh/"}}};n(123);r.a.component("Bit",function(){return Promise.all([n.e(0),n.e(87)]).then(n.bind(null,285))}),r.a.component("OtherComponent",function(){return n.e(88).then(n.bind(null,286))}),r.a.component("UpgradePath",function(){return Promise.all([n.e(0),n.e(89)]).then(n.bind(null,287))}),r.a.component("demo-1",function(){return n.e(90).then(n.bind(null,283))}),r.a.component("diagram-markdown-slot-relationship",function(){return n.e(91).then(n.bind(null,288))}),r.a.component("svg-container",function(){return Promise.all([n.e(0),n.e(92)]).then(n.bind(null,289))}),r.a.component("Foo-Bar",function(){return n.e(93).then(n.bind(null,284))}),r.a.component("Badge",function(){return Promise.all([n.e(0),n.e(94)]).then(n.bind(null,290))});n(124);var ft=n(84),dt=n.n(ft),ht={props:{threshold:{type:Number,default:300}},data:function(){return{scrollTop:null}},mounted:function(){var e=this;this.scrollTop=this.getScrollTop(),window.addEventListener("scroll",dt()(function(){e.scrollTop=e.getScrollTop()},100))},methods:{getScrollTop:function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},scrollToTop:function(){window.scrollTo({top:0,behavior:"smooth"}),this.scrollTop=0}},computed:{show:function(){return this.scrollTop>this.threshold}}},vt=(n(126),Object(st.a)(ht,function(){var e=this.$createElement,t=this._self._c||e;return t("transition",{attrs:{name:"fade"}},[this.show?t("svg",{staticClass:"go-to-top",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 49.484 28.284"},on:{click:this.scrollToTop}},[t("g",{attrs:{transform:"translate(-229 -126.358)"}},[t("rect",{attrs:{fill:"currentColor",width:"35",height:"5",rx:"2",transform:"translate(229 151.107) rotate(-45)"}}),this._v(" "),t("rect",{attrs:{fill:"currentColor",width:"35",height:"5",rx:"2",transform:"translate(274.949 154.642) rotate(-135)"}})])]):this._e()])},[],!1,null,"1a383dce",null).exports),gt=function(){return Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))};function mt(e,t){var n=function(e){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];t&&t[e]&&t[e].apply(t,n)};"serviceWorker"in navigator&&window.addEventListener("load",function(){gt()?(!function(e,t){fetch(e).then(function(n){404===n.status||-1===n.headers.get("content-type").indexOf("javascript")?(t("error",new Error("Service worker not found at "+e)),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(e){e.unregister()})):yt(e,t)}).catch(function(e){navigator.onLine?t("error",e):t("offline")})}(e,n),navigator.serviceWorker.ready.then(function(e){n("ready",e)})):yt(e,n)})}function yt(e,t){navigator.serviceWorker.register(e).then(function(e){t("registered",e),e.waiting?t("updated",e):e.onupdatefound=function(){t("updatefound",e);var n=e.installing;n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?t("updated",e):t("cached",e))}}}).catch(function(e){t("error",e)})}n(127);function bt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function kt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function xt(e,t,n){return t&&kt(e.prototype,t),n&&kt(e,n),e}var wt=function(){function e(t){bt(this,e),Object.defineProperty(this,"registration",{value:t,configurable:!0,writable:!0})}return xt(e,[{key:"update",value:function(){return this.registration.update()}},{key:"skipWaiting",value:function(){var e=this.registration.waiting;return e?(console.log("[vuepress:sw] Doing worker.skipWaiting()."),new Promise(function(t,n){var r=new MessageChannel;r.port1.onmessage=function(e){console.log("[vuepress:sw] Done worker.skipWaiting()."),e.data.error?n(e.data.error):t(e.data)},e.postMessage({type:"skip-waiting"},[r.port2])})):Promise.resolve()}}]),e}(),_t=n(18);r.a.component("SWUpdatePopup",function(){return Promise.all([n.e(0),n.e(95)]).then(n.bind(null,199))});n(128);var Ct=[{},function(e){e.Vue.mixin({computed:{$dataBlock:function(){return this.$options.__data__block__}}})},{},function(e){e.Vue.component("BackToTop",vt)},function(e){var t=e.router,n=e.isServer;t.onReady(function(){n||mt("".concat("/","service-worker.js"),{ready:function(){console.log("[vuepress:sw] Service worker is active."),_t.a.$emit("sw-ready")},cached:function(e){console.log("[vuepress:sw] Content has been cached for offline use."),_t.a.$emit("sw-cached",new wt(e))},updated:function(e){console.log("[vuepress:sw] Content updated."),_t.a.$emit("sw-updated",new wt(e))},offline:function(){console.log("[vuepress:sw] No internet connection found. App is running in offline mode."),_t.a.$emit("sw-offline")},error:function(e){console.error("[vuepress:sw] Error during service worker registration:",e),_t.a.$emit("sw-error",e),ga("send","exception",{exDescription:e.message,exFatal:!1})}})})},function(e){var t=e.Vue;e.isServer||n.e(97).then(n.t.bind(null,195,7)).then(function(e){t.use(e.default)})},function(e){var t=e.router;"undefined"!=typeof window&&(function(e,t,n,r,i,o,a){e.GoogleAnalyticsObject=i,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,o=t.createElement(n),a=t.getElementsByTagName(n)[0],o.async=1,o.src="https://www.google-analytics.com/analytics.js",a.parentNode.insertBefore(o,a)}(window,document,"script",0,"ga"),ga("create","UA-128189152-1","auto"),ga("send","pageview"),t.afterEach(function(e){ga("set","page",e.fullPath),ga("send","pageview")}))}],Pt=["BackToTop","SWUpdatePopup"];n(89);var Et=n(36);function At(e,t){return!t||"object"!==Object(Et.a)(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ot(e){return(Ot=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Tt(e,t){return(Tt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var St=function(){function e(){bt(this,e),this.store=new r.a({data:{state:{}}})}return xt(e,[{key:"$get",value:function(e){return this.store.state[e]}},{key:"$set",value:function(e,t){r.a.set(this.store.state,e,t)}},{key:"$emit",value:function(){var e;(e=this.store).$emit.apply(e,arguments)}},{key:"$on",value:function(){var e;(e=this.store).$on.apply(e,arguments)}}]),e}(),$t=function(e){function t(){return bt(this,t),At(this,Ot(t).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Tt(e,t)}(t,St),xt(t,[{key:"isPageExists",value:function(e){return Boolean(at[e])}},{key:"isPageLoaded",value:function(e){return Boolean(r.a.component(e))}},{key:"getPageAsyncComponent",value:function(e){if(!this.isPageExists(e))throw new Error("Cannot found ".concat(e));return at[e]}},{key:"loadPageAsyncComponent",value:function(e){return this.getPageAsyncComponent(e)()}},{key:"registerPageAsyncComponent",value:function(e){r.a.component(e,this.getPageAsyncComponent(e))}}]),t}(),jt={install:function(e){var t=new $t;e.$vuepress=t,e.prototype.$vuepress=t}},zt=n(81),Lt=n(56),Mt=n.n(Lt),It=function(){return Math.random().toString(36).substring(2)},Ut={name:"ContentLoader",functional:!0,props:{width:{type:Number,default:400},height:{type:Number,default:130},speed:{type:Number,default:2},preserveAspectRatio:{type:String,default:"xMidYMid meet"},primaryColor:{type:String,default:"#f9f9f9"},secondaryColor:{type:String,default:"#ecebeb"},uniqueKey:{type:String},animate:{type:Boolean,default:!0}},render:function(e,t){var n=t.props,r=t.data,i=t.children,o=n.uniqueKey?"".concat(n.uniqueKey,"-idClip"):It(),a=n.uniqueKey?"".concat(n.uniqueKey,"-idGradient"):It();return e("svg",Mt()([r,{attrs:{viewBox:"0 0 ".concat(n.width," ").concat(n.height),version:"1.1",preserveAspectRatio:n.preserveAspectRatio}}]),[e("rect",{style:{fill:"url(#".concat(a,")")},attrs:{"clip-path":"url(#".concat(o,")"),x:"0",y:"0",width:n.width,height:n.height}}),e("defs",[e("clipPath",{attrs:{id:o}},[i||e("rect",{attrs:{x:"0",y:"0",rx:"5",ry:"5",width:n.width,height:n.height}})]),e("linearGradient",{attrs:{id:a}},[e("stop",{attrs:{offset:"0%","stop-color":n.primaryColor}},[n.animate?e("animate",{attrs:{attributeName:"offset",values:"-2; 1",dur:"".concat(n.speed,"s"),repeatCount:"indefinite"}}):null]),e("stop",{attrs:{offset:"50%","stop-color":n.secondaryColor}},[n.animate?e("animate",{attrs:{attributeName:"offset",values:"-1.5; 1.5",dur:"".concat(n.speed,"s"),repeatCount:"indefinite"}}):null]),e("stop",{attrs:{offset:"100%","stop-color":n.primaryColor}},[n.animate?e("animate",{attrs:{attributeName:"offset",values:"-1; 2",dur:"".concat(n.speed,"s"),repeatCount:"indefinite"}}):null])])])])}},Nt={components:{ContentLoader:Ut}},Rt=(n(129),{components:{ContentLoading:Object(st.a)(Nt,function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"content content-loading"},[t("ContentLoader",{attrs:{height:120,width:300,speed:.5,primaryColor:"#f3f3f3",secondaryColor:"#ecebeb"}},[t("rect",{attrs:{x:"0",y:"5",rx:"5",ry:"5",width:"117",height:"10"}}),this._v(" "),t("rect",{attrs:{x:"0",y:"25",rx:"5",ry:"5",width:"85",height:"10"}}),this._v(" "),t("rect",{attrs:{x:"0",y:"60",rx:"5",ry:"5",width:"250",height:"10"}}),this._v(" "),t("rect",{attrs:{x:"0",y:"80",rx:"5",ry:"5",width:"280",height:"10"}}),this._v(" "),t("rect",{attrs:{x:"0",y:"100",rx:"5",ry:"5",width:"201",height:"10"}})])],1)},[],!1,null,null,null).exports},props:{pageKey:String,slotKey:String},data:function(){return{layout:"ContentLoading",noTransition:!0}},computed:{$pageKey:function(){return this.pageKey||this.$page.key},disableTransition:function(){return!this.layout||"ContentLoading"===this.layout||this.noTransition}},created:function(){this.loadContent(this.$pageKey)},watch:{$pageKey:function(e){this.$vuepress.$set("contentMounted",!1),this.reloadContent(e)}},methods:{loadContent:function(e){this.layout=null,this.$vuepress.isPageExists(e)&&(this.$ssrContext||(this.$vuepress.registerPageAsyncComponent(e),this.layout=e))},reloadContent:function(e){var t=this;if(this.$vuepress.isPageLoaded(e))return this.layout=e,void(this.noTransition=!0);this.layout="ContentLoading",this.$vuepress.isPageExists(e)&&(this.noTransition=!1,this.$ssrContext||Promise.all([this.$vuepress.loadPageAsyncComponent(e),new Promise(function(e){return setTimeout(e,300)})]).then(function(n){var i=Object(zt.a)(n,1)[0];t.$vuepress.$emit("AsyncMarkdownAssetLoaded",t.pageKey),r.a.component(e,i.default),t.layout=null,setTimeout(function(){t.layout=e})}))}}}),Dt=(n(130),Object(st.a)(Rt,function(){var e=this.$createElement,t=this._self._c||e;return t("transition",{attrs:{name:this.disableTransition?null:"fade"}},[this.layout?t(this.layout,{tag:"component",attrs:{"slot-key":this.slotKey||"default"}}):t("div",{staticClass:"conent"})],1)},[],!1,null,null,null).exports),Ft=(String,String,{functional:!0,props:{slotKey:String,required:!0},render:function(e,t){var n=t.props,r=t.slots;return e("div",{class:["content",n.slotKey]},r()[n.slotKey])}}),Ht=(n(131),Object(st.a)({},function(e,t){var n=t._c;return n("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[n("path",{attrs:{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}}),t._v(" "),n("polygon",{attrs:{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"}})])},[],!0,null,null,null).exports);r.a.config.productionTip=!1,r.a.use(Ie),r.a.use(jt),r.a.mixin(function(e,t){!function(e){e.locales&&Object.keys(e.locales).forEach(function(t){e.locales[t].path=t}),Object.freeze(e)}(t),r.a.$vuepress.$set("siteData",t);var n=new(e(r.a.$vuepress.$get("siteData"))),i=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(n)),o={};return Object.keys(i).reduce(function(e,t){return t.startsWith("$")&&(e[t]=i[t].get),e},o),{computed:o}}(function(e){return function(){function t(){bt(this,t)}return xt(t,[{key:"setPage",value:function(e){this.__page=e}},{key:"$site",get:function(){return e}},{key:"$themeConfig",get:function(){return this.$site.themeConfig}},{key:"$frontmatter",get:function(){return this.$page.frontmatter}},{key:"$localeConfig",get:function(){var e,t,n=this.$site.locales,r=void 0===n?{}:n;for(var i in r)"/"===i?t=r[i]:0===this.$page.path.indexOf(i)&&(e=r[i]);return e||t||{}}},{key:"$siteTitle",get:function(){return this.$localeConfig.title||this.$site.title||""}},{key:"$title",get:function(){var e=this.$page,t=this.$page.frontmatter.metaTitle;if("string"==typeof t)return t;var n=this.$siteTitle,r=e.frontmatter.home?null:e.frontmatter.title||e.title;return n?r?r+" | "+n:n:r||"VuePress"}},{key:"$description",get:function(){var e=function(e){if(e){var t=e.filter(function(e){return"description"===e.name})[0];if(t)return t.content}}(this.$page.frontmatter.meta);return e||this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||""}},{key:"$lang",get:function(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}},{key:"$localePath",get:function(){return this.$localeConfig.path||"/"}},{key:"$themeLocaleConfig",get:function(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}},{key:"$page",get:function(){return this.__page?this.__page:function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(r.path.toLowerCase()===t.toLowerCase())return r}return{path:"",frontmatter:{}}}(this.$site.pages,this.$route.path)}}]),t}()},pt)),r.a.component("Content",Dt),r.a.component("ContentSlotsDistributor",Ft),r.a.component("OutboundLink",Ht),r.a.component("ClientOnly",{functional:!0,render:function(e,t){var n=t.parent,r=t.children;if(n._isMounted)return r;n.$once("hook:mounted",function(){n.$forceUpdate()})}}),r.a.prototype.$withBase=function(e){var t=this.$site.base;return"/"===e.charAt(0)?t+e.slice(1):e};var Vt=function(e){var t=new Ie({base:pt.base,mode:"history",fallback:!1,routes:ct});t.beforeEach(function(e,t,n){/(\/|\.html)$/.test(e.path)?n():n(Object.assign({},e,{path:e.path+"/"}))});var n={};try{Ct.forEach(function(i){"function"==typeof i&&i({Vue:r.a,options:n,router:t,siteData:pt,isServer:e})})}catch(e){console.error(e)}return{app:new r.a(Object.assign(n,{router:t,render:function(e){return e("div",{attrs:{id:"app"}},[e("router-view",{ref:"layout"}),e("div",{class:"global-ui"},Pt.map(function(t){return e(t)}))])}})),router:t}}(!1),Wt=Vt.app,Bt=Vt.router;window.__VUEPRESS_VERSION__={version:"1.0.0-alpha.27",hash:"c6e1f74"},Bt.onReady(function(){Wt.$mount("#app")})}]); \ No newline at end of file diff --git a/vuepress/assets/js/vendors~docsearch.67496cf7.js b/vuepress/assets/js/vendors~docsearch.67496cf7.js new file mode 100644 index 0000000000..18306502fb --- /dev/null +++ b/vuepress/assets/js/vendors~docsearch.67496cf7.js @@ -0,0 +1,3 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[96],{196:function(t,e,n){ +/*! docsearch 2.5.2 | © Algolia | github.com/algolia/docsearch */ +!function(e,n){t.exports=n()}("undefined"!=typeof self&&self,function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=21)}([function(t,e,n){"use strict";var r=n(1);function i(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}t.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(){return!!/(msie|trident)/i.test(navigator.userAgent)&&navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]},escapeRegExChars:function(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(t){return"number"==typeof t},toStr:function(t){return void 0===t||null===t?"":t+""},cloneDeep:function(t){var e=this.mixin({},t),n=this;return this.each(e,function(t,r){t&&(n.isArray(t)?e[r]=[].concat(t):n.isObject(t)&&(e[r]=n.cloneDeep(t)))}),e},error:function(t){throw new Error(t)},every:function(t,e){var n=!0;return t?(this.each(t,function(r,i){if(!(n=e.call(null,r,i,t)))return!1}),!!n):n},any:function(t,e){var n=!1;return t?(this.each(t,function(r,i){if(e.call(null,r,i,t))return n=!0,!1}),n):n},getUniqueId:function(){var t=0;return function(){return t++}}(),templatify:function(t){if(this.isFunction(t))return t;var e=r.element(t);return"SCRIPT"===e.prop("tagName")?function(){return e.text()}:function(){return String(t)}},defer:function(t){setTimeout(t,0)},noop:function(){},formatPrefix:function(t,e){return e?"":t+"-"},className:function(t,e,n){return(n?"":".")+t+e},escapeHighlightedString:function(t,e,n){e=e||"<em>";var r=document.createElement("div");r.appendChild(document.createTextNode(e)),n=n||"</em>";var s=document.createElement("div");s.appendChild(document.createTextNode(n));var o=document.createElement("div");return o.appendChild(document.createTextNode(t)),o.innerHTML.replace(RegExp(i(r.innerHTML),"g"),e).replace(RegExp(i(s.innerHTML),"g"),n)}}},function(t,e,n){"use strict";t.exports={element:null}},function(t,e){var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString;t.exports=function(t,e,i){if("[object Function]"!==r.call(e))throw new TypeError("iterator must be a function");var s=t.length;if(s===+s)for(var o=0;o<s;o++)e.call(i,t[o],o,t);else for(var a in t)n.call(t,a)&&e.call(i,t[a],a,t)}},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e){t.exports=function(t){return JSON.parse(JSON.stringify(t))}},function(t,e,n){"use strict";var r=n(12);function i(t,e){var r=n(2),i=this;"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):i.stack=(new Error).stack||"Cannot get a stacktrace, browser is too old",this.name="AlgoliaSearchError",this.message=t||"Unknown error",e&&r(e,function(t,e){i[e]=t})}function s(t,e){function n(){var n=Array.prototype.slice.call(arguments,0);"string"!=typeof n[0]&&n.unshift(e),i.apply(this,n),this.name="AlgoliaSearch"+t+"Error"}return r(n,i),n}r(i,Error),t.exports={AlgoliaSearchError:i,UnparsableJSON:s("UnparsableJSON","Could not parse the incoming response as JSON, see err.more for details"),RequestTimeout:s("RequestTimeout","Request timedout before getting a response"),Network:s("Network","Network issue, see err.more for details"),JSONPScriptFail:s("JSONPScriptFail","<script> was loaded but did not call our provided callback"),JSONPScriptError:s("JSONPScriptError","<script> unable to load due to an `error` event on it"),Unknown:s("Unknown","Unknown error occured")}},function(t,e,n){(function(r){function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==r&&"env"in r&&(t=Object({NODE_ENV:"production"}).DEBUG),t}(e=t.exports=n(39)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var n=this.useColors;if(t[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+t[0]+(n?"%c ":" ")+"+"+e.humanize(this.diff),!n)return;var r="color: "+this.color;t.splice(1,0,r,"color: inherit");var i=0,s=0;t[0].replace(/%[a-zA-Z%]/g,function(t){"%%"!==t&&"%c"===t&&(s=++i)}),t.splice(s,0,r)},e.save=function(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){if("undefined"!=typeof window&&window.process&&"renderer"===window.process.type)return!0;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())}).call(e,n(9))},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},function(t,e,n){var r=n(2);t.exports=function(t,e){var n=[];return r(t,function(r,i){n.push(e(r,i,t))}),n}},function(t,e){var n,r,i=t.exports={};function s(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(t){if(n===setTimeout)return setTimeout(t,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(t){n=s}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(t){r=o}}();var u,c=[],l=!1,h=-1;function p(){l&&u&&(l=!1,u.length?c=u.concat(c):h=-1,c.length&&f())}function f(){if(!l){var t=a(p);l=!0;for(var e=c.length;e;){for(u=c,c=[];++h<e;)u&&u[h].run();h=-1,e=c.length}u=null,l=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function d(t,e){this.fun=t,this.array=e}function g(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];c.push(new d(t,e)),1!==c.length||l||a(f)},d.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(t,e,n){"use strict";var r=n(55),i=/\s+/;function s(t,e,n,r){var s;if(!n)return this;for(e=e.split(i),n=r?function(t,e){return t.bind?t.bind(e):function(){t.apply(e,[].slice.call(arguments,0))}}(n,r):n,this._callbacks=this._callbacks||{};s=e.shift();)this._callbacks[s]=this._callbacks[s]||{sync:[],async:[]},this._callbacks[s][t].push(n);return this}function o(t,e,n){return function(){for(var r,i=0,s=t.length;!r&&i<s;i+=1)r=!1===t[i].apply(e,n);return!r}}t.exports={onSync:function(t,e,n){return s.call(this,"sync",t,e,n)},onAsync:function(t,e,n){return s.call(this,"async",t,e,n)},off:function(t){var e;if(!this._callbacks)return this;t=t.split(i);for(;e=t.shift();)delete this._callbacks[e];return this},trigger:function(t){var e,n,s,a,u;if(!this._callbacks)return this;t=t.split(i),s=[].slice.call(arguments,1);for(;(e=t.shift())&&(n=this._callbacks[e]);)a=o(n.sync,this,[e].concat(s)),u=o(n.async,this,[e].concat(s)),a()&&r(u);return this}}},function(t,e,n){"use strict";var r=n(0),i={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};r.isMsie()&&r.mixin(i.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),r.isMsie()&&r.isMsie()<=7&&r.mixin(i.input,{marginTop:"-1px"}),t.exports=i},function(t,e){"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},function(t,e,n){t.exports=function(t,e){return function(n,i,s){if("function"==typeof n&&"object"==typeof i||"object"==typeof s)throw new r.AlgoliaSearchError("index.search usage is index.search(query, params, cb)");0===arguments.length||"function"==typeof n?(s=n,n=""):1!==arguments.length&&"function"!=typeof i||(s=i,i=void 0),"object"==typeof n&&null!==n?(i=n,n=void 0):void 0!==n&&null!==n||(n="");var o,a="";return void 0!==n&&(a+=t+"="+encodeURIComponent(n)),void 0!==i&&(i.additionalUA&&(o=i.additionalUA,delete i.additionalUA),a=this.as._getSearchParams(i,a)),this._search(a,e,s,o)}};var r=n(5)},function(t,e){!function(e,n){t.exports=function(t){var e=function(){var e,n,r,i,s,o,a=[],u=a.concat,c=a.filter,l=a.slice,h=t.document,p={},f={},d={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},g=/^\s*<(\w+|!)[^>]*>/,m=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,v=/^(?:body|html)$/i,b=/([A-Z])/g,w=["val","css","html","text","data","width","height","offset"],_=h.createElement("table"),x=h.createElement("tr"),S={tr:h.createElement("tbody"),tbody:_,thead:_,tfoot:_,td:x,th:x,"*":h.createElement("div")},C=/complete|loaded|interactive/,A=/^[\w-]*$/,T={},E=T.toString,O={},k=h.createElement("div"),N={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},I=Array.isArray||function(t){return t instanceof Array};function j(t){return null==t?String(t):T[E.call(t)]||"object"}function R(t){return"function"==j(t)}function D(t){return null!=t&&t==t.window}function $(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function P(t){return"object"==j(t)}function L(t){return P(t)&&!D(t)&&Object.getPrototypeOf(t)==Object.prototype}function q(t){var e=!!t&&"length"in t&&t.length,n=r.type(t);return"function"!=n&&!D(t)&&("array"==n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function H(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function M(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function F(t,e){return"number"!=typeof e||d[H(t)]?e:e+"px"}function B(t){return"children"in t?l.call(t.children):r.map(t.childNodes,function(t){if(1==t.nodeType)return t})}function U(t,e){var n,r=t?t.length:0;for(n=0;n<r;n++)this[n]=t[n];this.length=r,this.selector=e||""}function V(t,e){return null==e?r(t):r(t).filter(e)}function K(t,e,n,r){return R(e)?e.call(t,n,r):e}function J(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function z(t,n){var r=t.className||"",i=r&&r.baseVal!==e;if(n===e)return i?r.baseVal:r;i?r.baseVal=n:t.className=n}function W(t){try{return t?"true"==t||"false"!=t&&("null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?r.parseJSON(t):t):t}catch(e){return t}}return O.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var r,i=t.parentNode,s=!i;return s&&(i=k).appendChild(t),r=~O.qsa(i,e).indexOf(t),s&&k.removeChild(t),r},s=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},o=function(t){return c.call(t,function(e,n){return t.indexOf(e)==n})},O.fragment=function(t,n,i){var s,o,a;return m.test(t)&&(s=r(h.createElement(RegExp.$1))),s||(t.replace&&(t=t.replace(y,"<$1></$2>")),n===e&&(n=g.test(t)&&RegExp.$1),n in S||(n="*"),(a=S[n]).innerHTML=""+t,s=r.each(l.call(a.childNodes),function(){a.removeChild(this)})),L(i)&&(o=r(s),r.each(i,function(t,e){w.indexOf(t)>-1?o[t](e):o.attr(t,e)})),s},O.Z=function(t,e){return new U(t,e)},O.isZ=function(t){return t instanceof O.Z},O.init=function(t,n){var i;if(!t)return O.Z();if("string"==typeof t)if("<"==(t=t.trim())[0]&&g.test(t))i=O.fragment(t,RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=O.qsa(h,t)}else{if(R(t))return r(h).ready(t);if(O.isZ(t))return t;if(I(t))i=function(t){return c.call(t,function(t){return null!=t})}(t);else if(P(t))i=[t],t=null;else if(g.test(t))i=O.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=O.qsa(h,t)}}return O.Z(i,t)},(r=function(t,e){return O.init(t,e)}).extend=function(t){var r,i=l.call(arguments,1);return"boolean"==typeof t&&(r=t,t=i.shift()),i.forEach(function(i){!function t(r,i,s){for(n in i)s&&(L(i[n])||I(i[n]))?(L(i[n])&&!L(r[n])&&(r[n]={}),I(i[n])&&!I(r[n])&&(r[n]=[]),t(r[n],i[n],s)):i[n]!==e&&(r[n]=i[n])}(t,i,r)}),t},O.qsa=function(t,e){var n,r="#"==e[0],i=!r&&"."==e[0],s=r||i?e.slice(1):e,o=A.test(s);return t.getElementById&&o&&r?(n=t.getElementById(s))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:l.call(o&&!r&&t.getElementsByClassName?i?t.getElementsByClassName(s):t.getElementsByTagName(e):t.querySelectorAll(e))},r.contains=h.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},r.type=j,r.isFunction=R,r.isWindow=D,r.isArray=I,r.isPlainObject=L,r.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},r.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},r.inArray=function(t,e,n){return a.indexOf.call(e,t,n)},r.camelCase=s,r.trim=function(t){return null==t?"":String.prototype.trim.call(t)},r.uuid=0,r.support={},r.expr={},r.noop=function(){},r.map=function(t,e){var n,i,s,o=[];if(q(t))for(i=0;i<t.length;i++)null!=(n=e(t[i],i))&&o.push(n);else for(s in t)null!=(n=e(t[s],s))&&o.push(n);return function(t){return t.length>0?r.fn.concat.apply([],t):t}(o)},r.each=function(t,e){var n,r;if(q(t)){for(n=0;n<t.length;n++)if(!1===e.call(t[n],n,t[n]))return t}else for(r in t)if(!1===e.call(t[r],r,t[r]))return t;return t},r.grep=function(t,e){return c.call(t,e)},t.JSON&&(r.parseJSON=JSON.parse),r.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){T["[object "+e+"]"]=e.toLowerCase()}),r.fn={constructor:O.Z,length:0,forEach:a.forEach,reduce:a.reduce,push:a.push,sort:a.sort,splice:a.splice,indexOf:a.indexOf,concat:function(){var t,e,n=[];for(t=0;t<arguments.length;t++)e=arguments[t],n[t]=O.isZ(e)?e.toArray():e;return u.apply(O.isZ(this)?this.toArray():this,n)},map:function(t){return r(r.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return r(l.apply(this,arguments))},ready:function(t){return C.test(h.readyState)&&h.body?t(r):h.addEventListener("DOMContentLoaded",function(){t(r)},!1),this},get:function(t){return t===e?l.call(this):this[t>=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return a.every.call(this,function(e,n){return!1!==t.call(e,n,e)}),this},filter:function(t){return R(t)?this.not(this.not(t)):r(c.call(this,function(e){return O.matches(e,t)}))},add:function(t,e){return r(o(this.concat(r(t,e))))},is:function(t){return this.length>0&&O.matches(this[0],t)},not:function(t){var n=[];if(R(t)&&t.call!==e)this.each(function(e){t.call(this,e)||n.push(this)});else{var i="string"==typeof t?this.filter(t):q(t)&&R(t.item)?l.call(t):r(t);this.forEach(function(t){i.indexOf(t)<0&&n.push(t)})}return r(n)},has:function(t){return this.filter(function(){return P(t)?r.contains(this,t):r(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!P(t)?t:r(t)},last:function(){var t=this[this.length-1];return t&&!P(t)?t:r(t)},find:function(t){var e=this;return t?"object"==typeof t?r(t).filter(function(){var t=this;return a.some.call(e,function(e){return r.contains(e,t)})}):1==this.length?r(O.qsa(this[0],t)):this.map(function(){return O.qsa(this,t)}):r()},closest:function(t,e){var n=[],i="object"==typeof t&&r(t);return this.each(function(r,s){for(;s&&!(i?i.indexOf(s)>=0:O.matches(s,t));)s=s!==e&&!$(s)&&s.parentNode;s&&n.indexOf(s)<0&&n.push(s)}),r(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=r.map(n,function(t){if((t=t.parentNode)&&!$(t)&&e.indexOf(t)<0)return e.push(t),t});return V(e,t)},parent:function(t){return V(o(this.pluck("parentNode")),t)},children:function(t){return V(this.map(function(){return B(this)}),t)},contents:function(){return this.map(function(){return this.contentDocument||l.call(this.childNodes)})},siblings:function(t){return V(this.map(function(t,e){return c.call(B(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return r.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=function(t){var e,n;p[t]||(e=h.createElement(t),h.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),p[t]=n);return p[t]}(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=R(t);if(this[0]&&!e)var n=r(t).get(0),i=n.parentNode||this.length>1;return this.each(function(s){r(this).wrapAll(e?t.call(this,s):i?n.cloneNode(!0):n)})},wrapAll:function(t){if(this[0]){var e;for(r(this[0]).before(t=r(t));(e=t.children()).length;)t=e.first();r(t).append(this)}return this},wrapInner:function(t){var e=R(t);return this.each(function(n){var i=r(this),s=i.contents(),o=e?t.call(this,n):t;s.length?s.wrapAll(o):i.append(o)})},unwrap:function(){return this.parent().each(function(){r(this).replaceWith(r(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var n=r(this);(t===e?"none"==n.css("display"):t)?n.show():n.hide()})},prev:function(t){return r(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return r(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var n=this.innerHTML;r(this).empty().append(K(this,t,e,n))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=K(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(t,r){var i;return"string"!=typeof t||1 in arguments?this.each(function(e){if(1===this.nodeType)if(P(t))for(n in t)J(this,n,t[n]);else J(this,t,K(this,r,e,this.getAttribute(t)))}):0 in this&&1==this[0].nodeType&&null!=(i=this[0].getAttribute(t))?i:e},removeAttr:function(t){return this.each(function(){1===this.nodeType&&t.split(" ").forEach(function(t){J(this,t)},this)})},prop:function(t,e){return t=N[t]||t,1 in arguments?this.each(function(n){this[t]=K(this,e,n,this[t])}):this[0]&&this[0][t]},removeProp:function(t){return t=N[t]||t,this.each(function(){delete this[t]})},data:function(t,n){var r="data-"+t.replace(b,"-$1").toLowerCase(),i=1 in arguments?this.attr(r,n):this.attr(r);return null!==i?W(i):e},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each(function(e){this.value=K(this,t,e,this.value)})):this[0]&&(this[0].multiple?r(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(e){if(e)return this.each(function(t){var n=r(this),i=K(this,e,t,n.offset()),s=n.offsetParent().offset(),o={top:i.top-s.top,left:i.left-s.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)});if(!this.length)return null;if(h.documentElement!==this[0]&&!r.contains(h.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+t.pageXOffset,top:n.top+t.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(t,e){if(arguments.length<2){var i=this[0];if("string"==typeof t){if(!i)return;return i.style[s(t)]||getComputedStyle(i,"").getPropertyValue(t)}if(I(t)){if(!i)return;var o={},a=getComputedStyle(i,"");return r.each(t,function(t,e){o[e]=i.style[s(e)]||a.getPropertyValue(e)}),o}}var u="";if("string"==j(t))e||0===e?u=H(t)+":"+F(t,e):this.each(function(){this.style.removeProperty(H(t))});else for(n in t)t[n]||0===t[n]?u+=H(n)+":"+F(n,t[n])+";":this.each(function(){this.style.removeProperty(H(n))});return this.each(function(){this.style.cssText+=";"+u})},index:function(t){return t?this.indexOf(r(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return!!t&&a.some.call(this,function(t){return this.test(z(t))},M(t))},addClass:function(t){return t?this.each(function(e){if("className"in this){i=[];var n=z(this),s=K(this,t,e,n);s.split(/\s+/g).forEach(function(t){r(this).hasClass(t)||i.push(t)},this),i.length&&z(this,n+(n?" ":"")+i.join(" "))}}):this},removeClass:function(t){return this.each(function(n){if("className"in this){if(t===e)return z(this,"");i=z(this),K(this,t,n,i).split(/\s+/g).forEach(function(t){i=i.replace(M(t)," ")}),z(this,i.trim())}})},toggleClass:function(t,n){return t?this.each(function(i){var s=r(this),o=K(this,t,i,z(this));o.split(/\s+/g).forEach(function(t){(n===e?!s.hasClass(t):n)?s.addClass(t):s.removeClass(t)})}):this},scrollTop:function(t){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),i=v.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(r(t).css("margin-top"))||0,n.left-=parseFloat(r(t).css("margin-left"))||0,i.top+=parseFloat(r(e[0]).css("border-top-width"))||0,i.left+=parseFloat(r(e[0]).css("border-left-width"))||0,{top:n.top-i.top,left:n.left-i.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||h.body;t&&!v.test(t.nodeName)&&"static"==r(t).css("position");)t=t.offsetParent;return t})}},r.fn.detach=r.fn.remove,["width","height"].forEach(function(t){var n=t.replace(/./,function(t){return t[0].toUpperCase()});r.fn[t]=function(i){var s,o=this[0];return i===e?D(o)?o["inner"+n]:$(o)?o.documentElement["scroll"+n]:(s=this.offset())&&s[t]:this.each(function(e){(o=r(this)).css(t,K(this,i,e,o[t]()))})}}),["after","prepend","before","append"].forEach(function(n,i){var s=i%2;r.fn[n]=function(){var n,o,a=r.map(arguments,function(t){var i=[];return"array"==(n=j(t))?(t.forEach(function(t){return t.nodeType!==e?i.push(t):r.zepto.isZ(t)?i=i.concat(t.get()):void(i=i.concat(O.fragment(t)))}),i):"object"==n||null==t?t:O.fragment(t)}),u=this.length>1;return a.length<1?this:this.each(function(e,n){o=s?n:n.parentNode,n=0==i?n.nextSibling:1==i?n.firstChild:2==i?n:null;var c=r.contains(h.documentElement,o);a.forEach(function(e){if(u)e=e.cloneNode(!0);else if(!o)return r(e).remove();o.insertBefore(e,n),c&&function t(e,n){n(e);for(var r=0,i=e.childNodes.length;r<i;r++)t(e.childNodes[r],n)}(e,function(e){if(!(null==e.nodeName||"SCRIPT"!==e.nodeName.toUpperCase()||e.type&&"text/javascript"!==e.type||e.src)){var n=e.ownerDocument?e.ownerDocument.defaultView:t;n.eval.call(n,e.innerHTML)}})})})},r.fn[s?n+"To":"insert"+(i?"Before":"After")]=function(t){return r(t)[n](this),this}}),O.Z.prototype=U.prototype=r.fn,O.uniq=o,O.deserializeValue=W,r.zepto=O,r}();return function(e){var n,r=1,i=Array.prototype.slice,s=e.isFunction,o=function(t){return"string"==typeof t},a={},u={},c="onfocusin"in t,l={focus:"focusin",blur:"focusout"},h={mouseenter:"mouseover",mouseleave:"mouseout"};function p(t){return t._zid||(t._zid=r++)}function f(t,e,n,r){if((e=d(e)).ns)var i=function(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}(e.ns);return(a[p(t)]||[]).filter(function(t){return t&&(!e.e||t.e==e.e)&&(!e.ns||i.test(t.ns))&&(!n||p(t.fn)===p(n))&&(!r||t.sel==r)})}function d(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function g(t,e){return t.del&&!c&&t.e in l||!!e}function m(t){return h[t]||c&&l[t]||t}function y(t,r,i,s,o,u,c){var l=p(t),f=a[l]||(a[l]=[]);r.split(/\s/).forEach(function(r){if("ready"==r)return e(document).ready(i);var a=d(r);a.fn=i,a.sel=o,a.e in h&&(i=function(t){var n=t.relatedTarget;if(!n||n!==this&&!e.contains(this,n))return a.fn.apply(this,arguments)}),a.del=u;var l=u||i;a.proxy=function(e){if(!(e=S(e)).isImmediatePropagationStopped()){e.data=s;var r=l.apply(t,e._args==n?[e]:[e].concat(e._args));return!1===r&&(e.preventDefault(),e.stopPropagation()),r}},a.i=f.length,f.push(a),"addEventListener"in t&&t.addEventListener(m(a.e),a.proxy,g(a,c))})}function v(t,e,n,r,i){var s=p(t);(e||"").split(/\s/).forEach(function(e){f(t,e,n,r).forEach(function(e){delete a[s][e.i],"removeEventListener"in t&&t.removeEventListener(m(e.e),e.proxy,g(e,i))})})}u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",e.event={add:y,remove:v},e.proxy=function(t,n){var r=2 in arguments&&i.call(arguments,2);if(s(t)){var a=function(){return t.apply(n,r?r.concat(i.call(arguments)):arguments)};return a._zid=p(t),a}if(o(n))return r?(r.unshift(t[n],t),e.proxy.apply(null,r)):e.proxy(t[n],t);throw new TypeError("expected function")},e.fn.bind=function(t,e,n){return this.on(t,e,n)},e.fn.unbind=function(t,e){return this.off(t,e)},e.fn.one=function(t,e,n,r){return this.on(t,e,n,r,1)};var b=function(){return!0},w=function(){return!1},_=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,x={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};function S(t,r){return!r&&t.isDefaultPrevented||(r||(r=t),e.each(x,function(e,n){var i=r[e];t[e]=function(){return this[n]=b,i&&i.apply(r,arguments)},t[n]=w}),t.timeStamp||(t.timeStamp=Date.now()),(r.defaultPrevented!==n?r.defaultPrevented:"returnValue"in r?!1===r.returnValue:r.getPreventDefault&&r.getPreventDefault())&&(t.isDefaultPrevented=b)),t}function C(t){var e,r={originalEvent:t};for(e in t)_.test(e)||t[e]===n||(r[e]=t[e]);return S(r,t)}e.fn.delegate=function(t,e,n){return this.on(e,t,n)},e.fn.undelegate=function(t,e,n){return this.off(e,t,n)},e.fn.live=function(t,n){return e(document.body).delegate(this.selector,t,n),this},e.fn.die=function(t,n){return e(document.body).undelegate(this.selector,t,n),this},e.fn.on=function(t,r,a,u,c){var l,h,p=this;return t&&!o(t)?(e.each(t,function(t,e){p.on(t,r,a,e,c)}),p):(o(r)||s(u)||!1===u||(u=a,a=r,r=n),u!==n&&!1!==a||(u=a,a=n),!1===u&&(u=w),p.each(function(n,s){c&&(l=function(t){return v(s,t.type,u),u.apply(this,arguments)}),r&&(h=function(t){var n,o=e(t.target).closest(r,s).get(0);if(o&&o!==s)return n=e.extend(C(t),{currentTarget:o,liveFired:s}),(l||u).apply(o,[n].concat(i.call(arguments,1)))}),y(s,t,u,a,r,h||l)}))},e.fn.off=function(t,r,i){var a=this;return t&&!o(t)?(e.each(t,function(t,e){a.off(t,r,e)}),a):(o(r)||s(i)||!1===i||(i=r,r=n),!1===i&&(i=w),a.each(function(){v(this,t,i,r)}))},e.fn.trigger=function(t,n){return(t=o(t)||e.isPlainObject(t)?e.Event(t):S(t))._args=n,this.each(function(){t.type in l&&"function"==typeof this[t.type]?this[t.type]():"dispatchEvent"in this?this.dispatchEvent(t):e(this).triggerHandler(t,n)})},e.fn.triggerHandler=function(t,n){var r,i;return this.each(function(s,a){(r=C(o(t)?e.Event(t):t))._args=n,r.target=a,e.each(f(a,t.type||t),function(t,e){if(i=e.proxy(r),r.isImmediatePropagationStopped())return!1})}),i},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(t){e.fn[t]=function(e){return 0 in arguments?this.bind(t,e):this.trigger(t)}}),e.Event=function(t,e){o(t)||(t=(e=t).type);var n=document.createEvent(u[t]||"Events"),r=!0;if(e)for(var i in e)"bubbles"==i?r=!!e[i]:n[i]=e[i];return n.initEvent(t,r,!0),S(n)}}(e),function(t){var n,r=[];e.fn.remove=function(){return this.each(function(){this.parentNode&&("IMG"===this.tagName&&(r.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",n&&clearTimeout(n),n=setTimeout(function(){r=[]},6e4)),this.parentNode.removeChild(this))})}}(),function(t){var e={},n=t.fn.data,r=t.camelCase,i=t.expando="Zepto"+ +new Date,s=[];function o(n,o,a){var u=n[i]||(n[i]=++t.uuid),c=e[u]||(e[u]=function(e){var n={};return t.each(e.attributes||s,function(e,i){0==i.name.indexOf("data-")&&(n[r(i.name.replace("data-",""))]=t.zepto.deserializeValue(i.value))}),n}(n));return void 0!==o&&(c[r(o)]=a),c}t.fn.data=function(s,a){return void 0===a?t.isPlainObject(s)?this.each(function(e,n){t.each(s,function(t,e){o(n,t,e)})}):0 in this?function(s,a){var u=s[i],c=u&&e[u];if(void 0===a)return c||o(s);if(c){if(a in c)return c[a];var l=r(a);if(l in c)return c[l]}return n.call(t(s),a)}(this[0],s):void 0:this.each(function(){o(this,s,a)})},t.data=function(e,n,r){return t(e).data(n,r)},t.hasData=function(n){var r=n[i],s=r&&e[r];return!!s&&!t.isEmptyObject(s)},t.fn.removeData=function(n){return"string"==typeof n&&(n=n.split(/\s+/)),this.each(function(){var s=this[i],o=s&&e[s];o&&t.each(n||o,function(t){delete o[n?r(this):t]})})},["remove","empty"].forEach(function(e){var n=t.fn[e];t.fn[e]=function(){var t=this.find("*");return"remove"===e&&(t=t.add(this)),t.removeData(),n.call(this)}})}(e),e}(e)}(window)},function(t,e,n){"use strict";var r=n(0),i=n(1);function s(t){t&&t.el||r.error("EventBus initialized without el"),this.$el=i.element(t.el)}r.mixin(s.prototype,{trigger:function(t){var e=[].slice.call(arguments,1),n=r.Event("autocomplete:"+t);return this.$el.trigger(n,e),n}}),t.exports=s},function(t,e,n){"use strict";t.exports={wrapper:'<span class="%ROOT%"></span>',dropdown:'<span class="%PREFIX%%DROPDOWN_MENU%"></span>',dataset:'<div class="%PREFIX%%DATASET%-%CLASS%"></div>',suggestions:'<span class="%PREFIX%%SUGGESTIONS%"></span>',suggestion:'<div class="%PREFIX%%SUGGESTION%"></div>'}},function(t,e){t.exports="0.29.0"},function(t,e,n){"use strict";t.exports=function(t){var e=t.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(e)return[e[1],e[2],e[3]]}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t){return t&&t.__esModule?t:{default:t}}(n(14));e.default=r.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default="2.5.2"},function(t,e,n){"use strict";var r=function(t){return t&&t.__esModule?t:{default:t}}(n(22));t.exports=r.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(n(23)),i=o(n(24)),s=o(n(20));function o(t){return t&&t.__esModule?t:{default:t}}var a=(0,r.default)(i.default);a.version=s.default,e.default=a},function(t,e,n){"use strict";var r=Function.prototype.bind;t.exports=function(t){var e=function(){for(var e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];return new(r.apply(t,[null].concat(n)))};return e.__proto__=t,e.prototype=t.prototype,e}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},i=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),s=p(n(25)),o=p(n(28)),a=p(n(51)),u=p(n(66)),c=p(n(67)),l=p(n(20)),h=p(n(19));function p(t){return t&&t.__esModule?t:{default:t}}var f=function(){function t(e){var n=e.apiKey,i=e.indexName,s=e.inputSelector,c=e.appId,h=void 0===c?"BH4D9OD16A":c,p=e.debug,f=void 0!==p&&p,d=e.algoliaOptions,g=void 0===d?{}:d,m=e.autocompleteOptions,y=void 0===m?{debug:!1,hint:!1,autoselect:!0}:m,v=e.transformData,b=void 0!==v&&v,w=e.queryHook,_=void 0!==w&&w,x=e.handleSelected,S=void 0!==x&&x,C=e.enhancedSearchInput,A=void 0!==C&&C,T=e.layout,E=void 0===T?"collumns":T;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),t.checkArguments({apiKey:n,indexName:i,inputSelector:s,debug:f,algoliaOptions:g,autocompleteOptions:y,transformData:b,queryHook:_,handleSelected:S,enhancedSearchInput:A,layout:E}),this.apiKey=n,this.appId=h,this.indexName=i,this.input=t.getInputFromSelector(s),this.algoliaOptions=r({hitsPerPage:5},g);var O=!(!y||!y.debug)&&y.debug;y.debug=f||O,this.autocompleteOptions=y,this.autocompleteOptions.cssClasses=this.autocompleteOptions.cssClasses||{},this.autocompleteOptions.cssClasses.prefix=this.autocompleteOptions.cssClasses.prefix||"ds",S=S||this.handleSelected,this.isSimpleLayout="simple"===E,this.client=(0,o.default)(this.appId,this.apiKey),this.client.addAlgoliaAgent("docsearch.js "+l.default),A&&(this.input=t.injectSearchBox(this.input)),this.autocomplete=(0,a.default)(this.input,y,[{source:this.getAutocompleteSource(b,_),templates:{suggestion:t.getSuggestionTemplate(this.isSimpleLayout),footer:u.default.footer,empty:t.getEmptyTemplate()}}]),this.autocomplete.on("autocomplete:selected",S.bind(null,this.autocomplete.autocomplete)),this.autocomplete.on("autocomplete:shown",this.handleShown.bind(null,this.input)),A&&t.bindSearchBoxEvent()}return i(t,[{key:"getAutocompleteSource",value:function(e,n){var r=this;return function(i,s){n&&(i=n(i)||i),r.client.search([{indexName:r.indexName,query:i,params:r.algoliaOptions}]).then(function(n){var r=n.results[0].hits;e&&(r=e(r)||r),s(t.formatHits(r))})}}},{key:"handleSelected",value:function(t,e,n){t.setVal(""),window.location.href=n.url}},{key:"handleShown",value:function(t){var e=t.offset().left+t.width()/2,n=(0,h.default)(document).width()/2;isNaN(n)&&(n=900);var r=e-n>=0?"algolia-autocomplete-right":"algolia-autocomplete-left",i=e-n<0?"algolia-autocomplete-right":"algolia-autocomplete-left",s=(0,h.default)(".algolia-autocomplete");s.hasClass(r)||s.addClass(r),s.hasClass(i)&&s.removeClass(i)}}],[{key:"checkArguments",value:function(e){if(!e.apiKey||!e.indexName)throw new Error("Usage:\n documentationSearch({\n apiKey,\n indexName,\n inputSelector,\n [ appId ],\n [ algoliaOptions.{hitsPerPage} ]\n [ autocompleteOptions.{hint,debug} ]\n})");if(!t.getInputFromSelector(e.inputSelector))throw new Error("Error: No input element in the page matches "+e.inputSelector)}},{key:"injectSearchBox",value:function(t){t.before(u.default.searchBox);var e=t.prev().prev().find("input");return t.remove(),e}},{key:"bindSearchBoxEvent",value:function(){(0,h.default)('.searchbox [type="reset"]').on("click",function(){(0,h.default)("input#docsearch").focus(),(0,h.default)(this).addClass("hide"),a.default.autocomplete.setVal("")}),(0,h.default)("input#docsearch").on("keyup",function(){var t=document.querySelector("input#docsearch"),e=document.querySelector('.searchbox [type="reset"]');e.className="searchbox__reset",0===t.value.length&&(e.className+=" hide")})}},{key:"getInputFromSelector",value:function(t){var e=(0,h.default)(t).filter("input");return e.length?(0,h.default)(e[0]):null}},{key:"formatHits",value:function(e){var n=c.default.deepClone(e).map(function(t){return t._highlightResult&&(t._highlightResult=c.default.mergeKeyWithParent(t._highlightResult,"hierarchy")),c.default.mergeKeyWithParent(t,"hierarchy")}),r=c.default.groupBy(n,"lvl0");return h.default.each(r,function(t,e){var n=c.default.groupBy(e,"lvl1"),i=c.default.flattenAndFlagFirst(n,"isSubCategoryHeader");r[t]=i}),(r=c.default.flattenAndFlagFirst(r,"isCategoryHeader")).map(function(e){var n=t.formatURL(e),r=c.default.getHighlightedValue(e,"lvl0"),i=c.default.getHighlightedValue(e,"lvl1")||r,s=c.default.compact([c.default.getHighlightedValue(e,"lvl2")||i,c.default.getHighlightedValue(e,"lvl3"),c.default.getHighlightedValue(e,"lvl4"),c.default.getHighlightedValue(e,"lvl5"),c.default.getHighlightedValue(e,"lvl6")]).join('<span class="aa-suggestion-title-separator" aria-hidden="true"> › </span>'),o=c.default.getSnippetedValue(e,"content"),a=i&&""!==i||s&&""!==s,u=s&&""!==s&&s!==i,l=!u&&i&&""!==i&&i!==r;return{isLvl0:!l&&!u,isLvl1:l,isLvl2:u,isLvl1EmptyOrDuplicate:!i||""===i||i===r,isCategoryHeader:e.isCategoryHeader,isSubCategoryHeader:e.isSubCategoryHeader,isTextOrSubcatoryNonEmpty:a,category:r,subcategory:i,title:s,text:o,url:n}})}},{key:"formatURL",value:function(t){var e=t.url,n=t.anchor;return e?-1!==e.indexOf("#")?e:n?t.url+"#"+t.anchor:e:n?"#"+t.anchor:(console.warn("no anchor nor url for : ",JSON.stringify(t)),null)}},{key:"getEmptyTemplate",value:function(){return function(t){return s.default.compile(u.default.empty).render(t)}}},{key:"getSuggestionTemplate",value:function(t){var e=t?u.default.suggestionSimple:u.default.suggestion,n=s.default.compile(e);return function(t){return n.render(t)}}}]),t}();e.default=f},function(t,e,n){var r=n(26);r.Template=n(27).Template,r.template=r.Template,t.exports=r},function(t,e,n){!function(t){var e=/\S/,n=/\"/g,r=/\n/g,i=/\r/g,s=/\\/g,o=/\u2028/,a=/\u2029/;function u(t){"}"===t.n.substr(t.n.length-1)&&(t.n=t.n.substring(0,t.n.length-1))}function c(t){return t.trim?t.trim():t.replace(/^\s*|\s*$/g,"")}function l(t,e,n){if(e.charAt(n)!=t.charAt(0))return!1;for(var r=1,i=t.length;r<i;r++)if(e.charAt(n+r)!=t.charAt(r))return!1;return!0}t.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},t.scan=function(n,r){var i=n.length,s=0,o=null,a=null,h="",p=[],f=!1,d=0,g=0,m="{{",y="}}";function v(){h.length>0&&(p.push({tag:"_t",text:new String(h)}),h="")}function b(n,r){if(v(),n&&function(){for(var n=!0,r=g;r<p.length;r++)if(!(n=t.tags[p[r].tag]<t.tags._v||"_t"==p[r].tag&&null===p[r].text.match(e)))return!1;return n}())for(var i,s=g;s<p.length;s++)p[s].text&&((i=p[s+1])&&">"==i.tag&&(i.indent=p[s].text.toString()),p.splice(s,1));else r||p.push({tag:"\n"});f=!1,g=p.length}function w(t,e){var n="="+y,r=t.indexOf(n,e),i=c(t.substring(t.indexOf("=",e)+1,r)).split(" ");return m=i[0],y=i[i.length-1],r+n.length-1}for(r&&(r=r.split(" "),m=r[0],y=r[1]),d=0;d<i;d++)0==s?l(m,n,d)?(--d,v(),s=1):"\n"==n.charAt(d)?b(f):h+=n.charAt(d):1==s?(d+=m.length-1,"="==(o=(a=t.tags[n.charAt(d+1)])?n.charAt(d+1):"_v")?(d=w(n,d),s=0):(a&&d++,s=2),f=d):l(y,n,d)?(p.push({tag:o,n:c(h),otag:m,ctag:y,i:"/"==o?f-m.length:d+y.length}),h="",d+=y.length-1,s=0,"{"==o&&("}}"==y?d++:u(p[p.length-1]))):h+=n.charAt(d);return b(f,!0),p};var h={_t:!0,"\n":!0,$:!0,"/":!0};function p(t,e){for(var n=0,r=e.length;n<r;n++)if(e[n].o==t.n)return t.tag="#",!0}function f(t,e,n){for(var r=0,i=n.length;r<i;r++)if(n[r].c==t&&n[r].o==e)return!0}function d(t){var e=[];for(var n in t.partials)e.push('"'+m(n)+'":{name:"'+m(t.partials[n].name)+'", '+d(t.partials[n])+"}");return"partials: {"+e.join(",")+"}, subs: "+function(t){var e=[];for(var n in t)e.push('"'+m(n)+'": function(c,p,t,i) {'+t[n]+"}");return"{ "+e.join(",")+" }"}(t.subs)}t.stringify=function(e,n,r){return"{code: function (c,p,i) { "+t.wrapMain(e.code)+" },"+d(e)+"}"};var g=0;function m(t){return t.replace(s,"\\\\").replace(n,'\\"').replace(r,"\\n").replace(i,"\\r").replace(o,"\\u2028").replace(a,"\\u2029")}function y(t){return~t.indexOf(".")?"d":"f"}function v(t,e){var n="<"+(e.prefix||"")+t.n+g++;return e.partials[n]={name:t.n,partials:{}},e.code+='t.b(t.rp("'+m(n)+'",c,p,"'+(t.indent||"")+'"));',n}function b(t,e){e.code+="t.b(t.t(t."+y(t.n)+'("'+m(t.n)+'",c,p,0)));'}function w(t){return"t.b("+t+");"}t.generate=function(e,n,r){g=0;var i={code:"",subs:{},partials:{}};return t.walk(e,i),r.asString?this.stringify(i,n,r):this.makeTemplate(i,n,r)},t.wrapMain=function(t){return'var t=this;t.b(i=i||"");'+t+"return t.fl();"},t.template=t.Template,t.makeTemplate=function(t,e,n){var r=this.makePartials(t);return r.code=new Function("c","p","i",this.wrapMain(t.code)),new this.template(r,e,this,n)},t.makePartials=function(t){var e,n={subs:{},partials:t.partials,name:t.name};for(e in n.partials)n.partials[e]=this.makePartials(n.partials[e]);for(e in t.subs)n.subs[e]=new Function("c","p","t","i",t.subs[e]);return n},t.codegen={"#":function(e,n){n.code+="if(t.s(t."+y(e.n)+'("'+m(e.n)+'",c,p,1),c,p,0,'+e.i+","+e.end+',"'+e.otag+" "+e.ctag+'")){t.rs(c,p,function(c,p,t){',t.walk(e.nodes,n),n.code+="});c.pop();}"},"^":function(e,n){n.code+="if(!t.s(t."+y(e.n)+'("'+m(e.n)+'",c,p,1),c,p,1,0,0,"")){',t.walk(e.nodes,n),n.code+="};"},">":v,"<":function(e,n){var r={partials:{},code:"",subs:{},inPartial:!0};t.walk(e.nodes,r);var i=n.partials[v(e,n)];i.subs=r.subs,i.partials=r.partials},$:function(e,n){var r={subs:{},code:"",partials:n.partials,prefix:e.n};t.walk(e.nodes,r),n.subs[e.n]=r.code,n.inPartial||(n.code+='t.sub("'+m(e.n)+'",c,p,i);')},"\n":function(t,e){e.code+=w('"\\n"'+(t.last?"":" + i"))},_v:function(t,e){e.code+="t.b(t.v(t."+y(t.n)+'("'+m(t.n)+'",c,p,0)));'},_t:function(t,e){e.code+=w('"'+m(t.text)+'"')},"{":b,"&":b},t.walk=function(e,n){for(var r,i=0,s=e.length;i<s;i++)(r=t.codegen[e[i].tag])&&r(e[i],n);return n},t.parse=function(e,n,r){return function e(n,r,i,s){var o,a=[],u=null,c=null;for(o=i[i.length-1];n.length>0;){if(c=n.shift(),o&&"<"==o.tag&&!(c.tag in h))throw new Error("Illegal content in < super tag.");if(t.tags[c.tag]<=t.tags.$||p(c,s))i.push(c),c.nodes=e(n,c.tag,i,s);else{if("/"==c.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+c.n);if(u=i.pop(),c.n!=u.n&&!f(c.n,u.n,s))throw new Error("Nesting error: "+u.n+" vs. "+c.n);return u.end=c.i,a}"\n"==c.tag&&(c.last=0==n.length||"\n"==n[0].tag)}a.push(c)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return a}(e,0,[],(r=r||{}).sectionTags||[])},t.cache={},t.cacheKey=function(t,e){return[t,!!e.asString,!!e.disableLambda,e.delimiters,!!e.modelGet].join("||")},t.compile=function(e,n){n=n||{};var r=t.cacheKey(e,n),i=this.cache[r];if(i){var s=i.partials;for(var o in s)delete s[o].instance;return i}return i=this.generate(this.parse(this.scan(e,n.delimiters),e,n),e,n),this.cache[r]=i}}(e)},function(t,e,n){!function(t){function e(t,e,n){var r;return e&&"object"==typeof e&&(void 0!==e[t]?r=e[t]:n&&e.get&&"function"==typeof e.get&&(r=e.get(t))),r}t.Template=function(t,e,n,r){t=t||{},this.r=t.code||this.r,this.c=n,this.options=r||{},this.text=e||"",this.partials=t.partials||{},this.subs=t.subs||{},this.buf=""},t.Template.prototype={r:function(t,e,n){return""},v:function(t){return t=u(t),a.test(t)?t.replace(n,"&").replace(r,"<").replace(i,">").replace(s,"'").replace(o,"""):t},t:u,render:function(t,e,n){return this.ri([t],e||{},n)},ri:function(t,e,n){return this.r(t,e,n)},ep:function(t,e){var n=this.partials[t],r=e[n.name];if(n.instance&&n.base==r)return n.instance;if("string"==typeof r){if(!this.c)throw new Error("No compiler available.");r=this.c.compile(r,this.options)}if(!r)return null;if(this.partials[t].base=r,n.subs){for(key in e.stackText||(e.stackText={}),n.subs)e.stackText[key]||(e.stackText[key]=void 0!==this.activeSub&&e.stackText[this.activeSub]?e.stackText[this.activeSub]:this.text);r=function(t,e,n,r,i,s){function o(){}function a(){}var u;o.prototype=t,a.prototype=t.subs;var c=new o;for(u in c.subs=new a,c.subsText={},c.buf="",r=r||{},c.stackSubs=r,c.subsText=s,e)r[u]||(r[u]=e[u]);for(u in r)c.subs[u]=r[u];for(u in i=i||{},c.stackPartials=i,n)i[u]||(i[u]=n[u]);for(u in i)c.partials[u]=i[u];return c}(r,n.subs,n.partials,this.stackSubs,this.stackPartials,e.stackText)}return this.partials[t].instance=r,r},rp:function(t,e,n,r){var i=this.ep(t,n);return i?i.ri(e,n,r):""},rs:function(t,e,n){var r=t[t.length-1];if(c(r))for(var i=0;i<r.length;i++)t.push(r[i]),n(t,e,this),t.pop();else n(t,e,this)},s:function(t,e,n,r,i,s,o){var a;return(!c(t)||0!==t.length)&&("function"==typeof t&&(t=this.ms(t,e,n,r,i,s,o)),a=!!t,!r&&a&&e&&e.push("object"==typeof t?t:e[e.length-1]),a)},d:function(t,n,r,i){var s,o=t.split("."),a=this.f(o[0],n,r,i),u=this.options.modelGet,l=null;if("."===t&&c(n[n.length-2]))a=n[n.length-1];else for(var h=1;h<o.length;h++)void 0!==(s=e(o[h],a,u))?(l=a,a=s):a="";return!(i&&!a)&&(i||"function"!=typeof a||(n.push(l),a=this.mv(a,n,r),n.pop()),a)},f:function(t,n,r,i){for(var s=!1,o=!1,a=this.options.modelGet,u=n.length-1;u>=0;u--)if(void 0!==(s=e(t,n[u],a))){o=!0;break}return o?(i||"function"!=typeof s||(s=this.mv(s,n,r)),s):!i&&""},ls:function(t,e,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(u(t.call(e,r)),e,n)),this.options.delimiters=s,!1},ct:function(t,e,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(t,this.options).render(e,n)},b:function(t){this.buf+=t},fl:function(){var t=this.buf;return this.buf="",t},ms:function(t,e,n,r,i,s,o){var a,u=e[e.length-1],c=t.call(u);return"function"==typeof c?!!r||(a=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,u,n,a.substring(i,s),o)):c},mv:function(t,e,n){var r=e[e.length-1],i=t.call(r);return"function"==typeof i?this.ct(u(i.call(r)),r,n):i},sub:function(t,e,n,r){var i=this.subs[t];i&&(this.activeSub=t,i(e,n,this,r),this.activeSub=!1)}};var n=/&/g,r=/</g,i=/>/g,s=/\'/g,o=/\"/g,a=/[&<>\"\']/;function u(t){return String(null===t||void 0===t?"":t)}var c=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}}(e)},function(t,e,n){"use strict";var r=n(29),i=n(41);t.exports=i(r,"(lite) ")},function(t,e,n){t.exports=u;var r=n(5),i=n(30),s=n(31),o=n(38),a=Object({NODE_ENV:"production"}).RESET_APP_DATA_TIMER&&parseInt(Object({NODE_ENV:"production"}).RESET_APP_DATA_TIMER,10)||12e4;function u(t,e,i){var s=n(6)("algoliasearch"),o=n(4),a=n(7),u=n(8),l="Usage: algoliasearch(applicationID, apiKey, opts)";if(!0!==i._allowEmptyCredentials&&!t)throw new r.AlgoliaSearchError("Please provide an application ID. "+l);if(!0!==i._allowEmptyCredentials&&!e)throw new r.AlgoliaSearchError("Please provide an API key. "+l);this.applicationID=t,this.apiKey=e,this.hosts={read:[],write:[]};var h=(i=i||{}).protocol||"https:";if(this._timeouts=i.timeouts||{connect:1e3,read:2e3,write:3e4},i.timeout&&(this._timeouts.connect=this._timeouts.read=this._timeouts.write=i.timeout),/:$/.test(h)||(h+=":"),"http:"!==i.protocol&&"https:"!==i.protocol)throw new r.AlgoliaSearchError("protocol must be `http:` or `https:` (was `"+i.protocol+"`)");if(this._checkAppIdData(),i.hosts)a(i.hosts)?(this.hosts.read=o(i.hosts),this.hosts.write=o(i.hosts)):(this.hosts.read=o(i.hosts.read),this.hosts.write=o(i.hosts.write));else{var p=u(this._shuffleResult,function(e){return t+"-"+e+".algolianet.com"});this.hosts.read=[this.applicationID+"-dsn.algolia.net"].concat(p),this.hosts.write=[this.applicationID+".algolia.net"].concat(p)}this.hosts.read=u(this.hosts.read,c(h)),this.hosts.write=u(this.hosts.write,c(h)),this.extraHeaders={},this.cache=i._cache||{},this._ua=i._ua,this._useCache=!(void 0!==i._useCache&&!i._cache)||i._useCache,this._useFallback=void 0===i.useFallback||i.useFallback,this._setTimeout=i._setTimeout,s("init done, %j",this)}function c(t){return function(e){return t+"//"+e.toLowerCase()}}function l(t){if(void 0===Array.prototype.toJSON)return JSON.stringify(t);var e=Array.prototype.toJSON;delete Array.prototype.toJSON;var n=JSON.stringify(t);return Array.prototype.toJSON=e,n}function h(t){var e={};for(var n in t){var r;if(Object.prototype.hasOwnProperty.call(t,n))r="x-algolia-api-key"===n||"x-algolia-application-id"===n?"**hidden for security purposes**":t[n],e[n]=r}return e}u.prototype.initIndex=function(t){return new s(this,t)},u.prototype.setExtraHeader=function(t,e){this.extraHeaders[t.toLowerCase()]=e},u.prototype.getExtraHeader=function(t){return this.extraHeaders[t.toLowerCase()]},u.prototype.unsetExtraHeader=function(t){delete this.extraHeaders[t.toLowerCase()]},u.prototype.addAlgoliaAgent=function(t){-1===this._ua.indexOf(";"+t)&&(this._ua+=";"+t)},u.prototype._jsonRequest=function(t){this._checkAppIdData();var e,s,o=n(6)("algoliasearch:"+t.url),a=t.additionalUA||"",u=t.cache,c=this,p=0,f=!1,d=c._useFallback&&c._request.fallback&&t.fallback;this.apiKey.length>500&&void 0!==t.body&&(void 0!==t.body.params||void 0!==t.body.requests)?(t.body.apiKey=this.apiKey,s=this._computeRequestHeaders(a,!1)):s=this._computeRequestHeaders(a),void 0!==t.body&&(e=l(t.body)),o("request start");var g=[];var m=function n(i,m){c._checkAppIdData();var y,v=new Date;if(c._useCache&&(y=t.url),c._useCache&&e&&(y+="_body_"+m.body),c._useCache&&u&&void 0!==u[y])return o("serving response from cache"),c._promise.resolve(JSON.parse(u[y]));if(p>=c.hosts[t.hostType].length)return!d||f?(o("could not get any response"),c._promise.reject(new r.AlgoliaSearchError("Cannot connect to the AlgoliaSearch API. Send an email to support@algolia.com to report and resolve the issue. Application id was: "+c.applicationID,{debugData:g}))):(o("switching to fallback"),p=0,m.method=t.fallback.method,m.url=t.fallback.url,m.jsonBody=t.fallback.body,m.jsonBody&&(m.body=l(m.jsonBody)),s=c._computeRequestHeaders(a),m.timeouts=c._getTimeoutsForRequest(t.hostType),c._setHostIndexByType(0,t.hostType),f=!0,n(c._request.fallback,m));var b=c._getHostByType(t.hostType),w=b+m.url,_={body:m.body,jsonBody:m.jsonBody,method:m.method,headers:s,timeouts:m.timeouts,debug:o};return o("method: %s, url: %s, headers: %j, timeouts: %d",_.method,w,_.headers,_.timeouts),i===c._request.fallback&&o("using fallback"),i.call(c,w,_).then(function(t){var n=t&&t.body&&t.body.message&&t.body.status||t.statusCode||t&&t.body&&200;o("received response: statusCode: %s, computed statusCode: %d, headers: %j",t.statusCode,n,t.headers);var i=2===Math.floor(n/100),a=new Date;if(g.push({currentHost:b,headers:h(s),content:e||null,contentLength:void 0!==e?e.length:null,method:m.method,timeouts:m.timeouts,url:m.url,startTime:v,endTime:a,duration:a-v,statusCode:n}),i)return c._useCache&&u&&(u[y]=t.responseText),t.body;if(4!==Math.floor(n/100))return p+=1,x();o("unrecoverable error");var l=new r.AlgoliaSearchError(t.body&&t.body.message,{debugData:g,statusCode:n});return c._promise.reject(l)},function(a){o("error: %s, stack: %s",a.message,a.stack);var u=new Date;return g.push({currentHost:b,headers:h(s),content:e||null,contentLength:void 0!==e?e.length:null,method:m.method,timeouts:m.timeouts,url:m.url,startTime:v,endTime:u,duration:u-v}),a instanceof r.AlgoliaSearchError||(a=new r.Unknown(a&&a.message,a)),p+=1,a instanceof r.Unknown||a instanceof r.UnparsableJSON||p>=c.hosts[t.hostType].length&&(f||!d)?(a.debugData=g,c._promise.reject(a)):a instanceof r.RequestTimeout?(o("retrying request with higher timeout"),c._incrementHostIndex(t.hostType),c._incrementTimeoutMultipler(),m.timeouts=c._getTimeoutsForRequest(t.hostType),n(i,m)):x()});function x(){return o("retrying request"),c._incrementHostIndex(t.hostType),n(i,m)}}(c._request,{url:t.url,method:t.method,body:e,jsonBody:t.body,timeouts:c._getTimeoutsForRequest(t.hostType)});if("function"!=typeof t.callback)return m;m.then(function(e){i(function(){t.callback(null,e)},c._setTimeout||setTimeout)},function(e){i(function(){t.callback(e)},c._setTimeout||setTimeout)})},u.prototype._getSearchParams=function(t,e){if(void 0===t||null===t)return e;for(var n in t)null!==n&&void 0!==t[n]&&t.hasOwnProperty(n)&&(e+=""===e?"":"&",e+=n+"="+encodeURIComponent("[object Array]"===Object.prototype.toString.call(t[n])?l(t[n]):t[n]));return e},u.prototype._computeRequestHeaders=function(t,e){var r=n(2),i={"x-algolia-agent":t?this._ua+";"+t:this._ua,"x-algolia-application-id":this.applicationID};return!1!==e&&(i["x-algolia-api-key"]=this.apiKey),this.userToken&&(i["x-algolia-usertoken"]=this.userToken),this.securityTags&&(i["x-algolia-tagfilters"]=this.securityTags),r(this.extraHeaders,function(t,e){i[e]=t}),i},u.prototype.search=function(t,e,r){var i=n(7),s=n(8);if(!i(t))throw new Error("Usage: client.search(arrayOfQueries[, callback])");"function"==typeof e?(r=e,e={}):void 0===e&&(e={});var o=this,a={requests:s(t,function(t){var e="";return void 0!==t.query&&(e+="query="+encodeURIComponent(t.query)),{indexName:t.indexName,params:o._getSearchParams(t.params,e)}})},u=s(a.requests,function(t,e){return e+"="+encodeURIComponent("/1/indexes/"+encodeURIComponent(t.indexName)+"?"+t.params)}).join("&"),c="/1/indexes/*/queries";return void 0!==e.strategy&&(c+="?strategy="+e.strategy),this._jsonRequest({cache:this.cache,method:"POST",url:c,body:a,hostType:"read",fallback:{method:"GET",url:"/1/indexes/*",body:{params:u}},callback:r})},u.prototype.setSecurityTags=function(t){if("[object Array]"===Object.prototype.toString.call(t)){for(var e=[],n=0;n<t.length;++n)if("[object Array]"===Object.prototype.toString.call(t[n])){for(var r=[],i=0;i<t[n].length;++i)r.push(t[n][i]);e.push("("+r.join(",")+")")}else e.push(t[n]);t=e.join(",")}this.securityTags=t},u.prototype.setUserToken=function(t){this.userToken=t},u.prototype.clearCache=function(){this.cache={}},u.prototype.setRequestTimeout=function(t){t&&(this._timeouts.connect=this._timeouts.read=this._timeouts.write=t)},u.prototype.setTimeouts=function(t){this._timeouts=t},u.prototype.getTimeouts=function(){return this._timeouts},u.prototype._getAppIdData=function(){var t=o.get(this.applicationID);return null!==t&&this._cacheAppIdData(t),t},u.prototype._setAppIdData=function(t){return t.lastChange=(new Date).getTime(),this._cacheAppIdData(t),o.set(this.applicationID,t)},u.prototype._checkAppIdData=function(){var t=this._getAppIdData(),e=(new Date).getTime();return null===t||e-t.lastChange>a?this._resetInitialAppIdData(t):t},u.prototype._resetInitialAppIdData=function(t){var e=t||{};return e.hostIndexes={read:0,write:0},e.timeoutMultiplier=1,e.shuffleResult=e.shuffleResult||function(t){var e,n,r=t.length;for(;0!==r;)n=Math.floor(Math.random()*r),e=t[r-=1],t[r]=t[n],t[n]=e;return t}([1,2,3]),this._setAppIdData(e)},u.prototype._cacheAppIdData=function(t){this._hostIndexes=t.hostIndexes,this._timeoutMultiplier=t.timeoutMultiplier,this._shuffleResult=t.shuffleResult},u.prototype._partialAppIdDataUpdate=function(t){var e=n(2),r=this._getAppIdData();return e(t,function(t,e){r[e]=t}),this._setAppIdData(r)},u.prototype._getHostByType=function(t){return this.hosts[t][this._getHostIndexByType(t)]},u.prototype._getTimeoutMultiplier=function(){return this._timeoutMultiplier},u.prototype._getHostIndexByType=function(t){return this._hostIndexes[t]},u.prototype._setHostIndexByType=function(t,e){var r=n(4)(this._hostIndexes);return r[e]=t,this._partialAppIdDataUpdate({hostIndexes:r}),t},u.prototype._incrementHostIndex=function(t){return this._setHostIndexByType((this._getHostIndexByType(t)+1)%this.hosts[t].length,t)},u.prototype._incrementTimeoutMultipler=function(){var t=Math.max(this._timeoutMultiplier+1,4);return this._partialAppIdDataUpdate({timeoutMultiplier:t})},u.prototype._getTimeoutsForRequest=function(t){return{connect:this._timeouts.connect*this._timeoutMultiplier,complete:this._timeouts[t]*this._timeoutMultiplier}}},function(t,e){t.exports=function(t,e){e(t,0)}},function(t,e,n){var r=n(13),i=n(32),s=n(33);function o(t,e){this.indexName=e,this.as=t,this.typeAheadArgs=null,this.typeAheadValueOption=null,this.cache={}}t.exports=o,o.prototype.clearCache=function(){this.cache={}},o.prototype.search=r("query"),o.prototype.similarSearch=r("similarQuery"),o.prototype.browse=function(t,e,r){var i,s,o=n(34);0===arguments.length||1===arguments.length&&"function"==typeof arguments[0]?(i=0,r=arguments[0],t=void 0):"number"==typeof arguments[0]?(i=arguments[0],"number"==typeof arguments[1]?s=arguments[1]:"function"==typeof arguments[1]&&(r=arguments[1],s=void 0),t=void 0,e=void 0):"object"==typeof arguments[0]?("function"==typeof arguments[1]&&(r=arguments[1]),e=arguments[0],t=void 0):"string"==typeof arguments[0]&&"function"==typeof arguments[1]&&(r=arguments[1],e=void 0),e=o({},e||{},{page:i,hitsPerPage:s,query:t});var a=this.as._getSearchParams(e,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/browse",body:{params:a},hostType:"read",callback:r})},o.prototype.browseFrom=function(t,e){return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/browse",body:{cursor:t},hostType:"read",callback:e})},o.prototype.searchForFacetValues=function(t,e){var r=n(4),i=n(35);if(void 0===t.facetName||void 0===t.facetQuery)throw new Error("Usage: index.searchForFacetValues({facetName, facetQuery, ...params}[, callback])");var s=t.facetName,o=i(r(t),function(t){return"facetName"===t}),a=this.as._getSearchParams(o,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/facets/"+encodeURIComponent(s)+"/query",hostType:"read",body:{params:a},callback:e})},o.prototype.searchFacet=i(function(t,e){return this.searchForFacetValues(t,e)},s("index.searchFacet(params[, callback])","index.searchForFacetValues(params[, callback])")),o.prototype._search=function(t,e,n,r){return this.as._jsonRequest({cache:this.cache,method:"POST",url:e||"/1/indexes/"+encodeURIComponent(this.indexName)+"/query",body:{params:t},hostType:"read",fallback:{method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName),body:{params:t}},callback:n,additionalUA:r})},o.prototype.getObject=function(t,e,n){1!==arguments.length&&"function"!=typeof e||(n=e,e=void 0);var r="";if(void 0!==e){r="?attributes=";for(var i=0;i<e.length;++i)0!==i&&(r+=","),r+=e[i]}return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/"+encodeURIComponent(t)+r,hostType:"read",callback:n})},o.prototype.getObjects=function(t,e,r){var i=n(7),s=n(8);if(!i(t))throw new Error("Usage: index.getObjects(arrayOfObjectIDs[, callback])");var o=this;1!==arguments.length&&"function"!=typeof e||(r=e,e=void 0);var a={requests:s(t,function(t){var n={indexName:o.indexName,objectID:t};return e&&(n.attributesToRetrieve=e.join(",")),n})};return this.as._jsonRequest({method:"POST",url:"/1/indexes/*/objects",hostType:"read",body:a,callback:r})},o.prototype.as=null,o.prototype.indexName=null,o.prototype.typeAheadArgs=null,o.prototype.typeAheadValueOption=null},function(t,e){t.exports=function(t,e){var n=!1;return function(){return n||(console.warn(e),n=!0),t.apply(this,arguments)}}},function(t,e){t.exports=function(t,e){return"algoliasearch: `"+t+"` was replaced by `"+e+"`. Please see https://github.com/algolia/algoliasearch-client-javascript/wiki/Deprecated#"+t.toLowerCase().replace(/[\.\(\)]/g,"")}},function(t,e,n){var r=n(2);t.exports=function t(e){var n=Array.prototype.slice.call(arguments);return r(n,function(n){for(var r in n)n.hasOwnProperty(r)&&("object"==typeof e[r]&&"object"==typeof n[r]?e[r]=t({},e[r],n[r]):void 0!==n[r]&&(e[r]=n[r]))}),e}},function(t,e,n){t.exports=function(t,e){var r=n(36),i={};return n(2)(r(t),function(n){!0!==e(n)&&(i[n]=t[n])}),i}},function(t,e,n){"use strict";var r=Object.prototype.hasOwnProperty,i=Object.prototype.toString,s=Array.prototype.slice,o=n(37),a=Object.prototype.propertyIsEnumerable,u=!a.call({toString:null},"toString"),c=a.call(function(){},"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],h=function(t){var e=t.constructor;return e&&e.prototype===t},p={$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},f=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!p["$"+t]&&r.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{h(window[t])}catch(t){return!0}}catch(t){return!0}return!1}(),d=function(t){var e=null!==t&&"object"==typeof t,n="[object Function]"===i.call(t),s=o(t),a=e&&"[object String]"===i.call(t),p=[];if(!e&&!n&&!s)throw new TypeError("Object.keys called on a non-object");var d=c&&n;if(a&&t.length>0&&!r.call(t,0))for(var g=0;g<t.length;++g)p.push(String(g));if(s&&t.length>0)for(var m=0;m<t.length;++m)p.push(String(m));else for(var y in t)d&&"prototype"===y||!r.call(t,y)||p.push(String(y));if(u)for(var v=function(t){if("undefined"==typeof window||!f)return h(t);try{return h(t)}catch(t){return!1}}(t),b=0;b<l.length;++b)v&&"constructor"===l[b]||!r.call(t,l[b])||p.push(l[b]);return p};d.shim=function(){if(Object.keys){if(!function(){return 2===(Object.keys(arguments)||"").length}(1,2)){var t=Object.keys;Object.keys=function(e){return o(e)?t(s.call(e)):t(e)}}}else Object.keys=d;return Object.keys||d},t.exports=d},function(t,e,n){"use strict";var r=Object.prototype.toString;t.exports=function(t){var e=r.call(t),n="[object Arguments]"===e;return n||(n="[object Array]"!==e&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===r.call(t.callee)),n}},function(t,e,n){(function(e){var r,i=n(6)("algoliasearch:src/hostIndexState.js"),s="algoliasearch-client-js",o={state:{},set:function(t,e){return this.state[t]=e,this.state[t]},get:function(t){return this.state[t]||null}},a={set:function(t,n){o.set(t,n);try{var r=JSON.parse(e.localStorage[s]);return r[t]=n,e.localStorage[s]=JSON.stringify(r),r[t]}catch(e){return u(t,e)}},get:function(t){try{return JSON.parse(e.localStorage[s])[t]||null}catch(e){return u(t,e)}}};function u(t,n){return i("localStorage failed with",n),function(){try{e.localStorage.removeItem(s)}catch(t){}}(),(r=o).get(t)}function c(t,e){return 1===arguments.length?r.get(t):r.set(t,e)}function l(){try{return"localStorage"in e&&null!==e.localStorage&&(e.localStorage[s]||e.localStorage.setItem(s,JSON.stringify({})),!0)}catch(t){return!1}}r=l()?a:o,t.exports={get:c,set:c,supportsLocalStorage:l}}).call(e,n(3))},function(t,e,n){var r;function i(t){function n(){if(n.enabled){var t=n,i=+new Date,s=i-(r||i);t.diff=s,t.prev=r,t.curr=i,r=i;for(var o=new Array(arguments.length),a=0;a<o.length;a++)o[a]=arguments[a];o[0]=e.coerce(o[0]),"string"!=typeof o[0]&&o.unshift("%O");var u=0;o[0]=o[0].replace(/%([a-zA-Z%])/g,function(n,r){if("%%"===n)return n;u++;var i=e.formatters[r];if("function"==typeof i){var s=o[u];n=i.call(t,s),o.splice(u,1),u--}return n}),e.formatArgs.call(t,o),(n.log||e.log||console.log.bind(console)).apply(t,o)}}return n.namespace=t,n.enabled=e.enabled(t),n.useColors=e.useColors(),n.color=function(t){var n,r=0;for(n in t)r=(r<<5)-r+t.charCodeAt(n),r|=0;return e.colors[Math.abs(r)%e.colors.length]}(t),"function"==typeof e.init&&e.init(n),n}(e=t.exports=i.debug=i.default=i).coerce=function(t){return t instanceof Error?t.stack||t.message:t},e.disable=function(){e.enable("")},e.enable=function(t){e.save(t),e.names=[],e.skips=[];for(var n=("string"==typeof t?t:"").split(/[\s,]+/),r=n.length,i=0;i<r;i++)n[i]&&("-"===(t=n[i].replace(/\*/g,".*?"))[0]?e.skips.push(new RegExp("^"+t.substr(1)+"$")):e.names.push(new RegExp("^"+t+"$")))},e.enabled=function(t){var n,r;for(n=0,r=e.skips.length;n<r;n++)if(e.skips[n].test(t))return!1;for(n=0,r=e.names.length;n<r;n++)if(e.names[n].test(t))return!0;return!1},e.humanize=n(40),e.names=[],e.skips=[],e.formatters={}},function(t,e){var n=1e3,r=60*n,i=60*r,s=24*i,o=365.25*s;function a(t,e,n){if(!(t<e))return t<1.5*e?Math.floor(t/e)+" "+n:Math.ceil(t/e)+" "+n+"s"}t.exports=function(t,e){e=e||{};var u=typeof t;if("string"===u&&t.length>0)return function(t){if((t=String(t)).length>100)return;var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(!e)return;var a=parseFloat(e[1]);switch((e[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return a*o;case"days":case"day":case"d":return a*s;case"hours":case"hour":case"hrs":case"hr":case"h":return a*i;case"minutes":case"minute":case"mins":case"min":case"m":return a*r;case"seconds":case"second":case"secs":case"sec":case"s":return a*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}(t);if("number"===u&&!1===isNaN(t))return e.long?function(t){return a(t,s,"day")||a(t,i,"hour")||a(t,r,"minute")||a(t,n,"second")||t+" ms"}(t):function(t){if(t>=s)return Math.round(t/s)+"d";if(t>=i)return Math.round(t/i)+"h";if(t>=r)return Math.round(t/r)+"m";if(t>=n)return Math.round(t/n)+"s";return t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},function(t,e,n){"use strict";var r=n(42),i=r.Promise||n(43).Promise;t.exports=function(t,e){var s=n(12),o=n(5),a=n(45),u=n(47),c=n(48);function l(t,e,r){var i=n(4),s=n(49);return void 0===(r=i(r||{})).protocol&&(r.protocol=s()),r._ua=r._ua||l.ua,new p(t,e,r)}e=e||"",l.version=n(50),l.ua="Algolia for vanilla JavaScript "+e+l.version,l.initPlaces=c(l),r.__algolia={debug:n(6),algoliasearch:l};var h={hasXMLHttpRequest:"XMLHttpRequest"in r,hasXDomainRequest:"XDomainRequest"in r};function p(){t.apply(this,arguments)}return h.hasXMLHttpRequest&&(h.cors="withCredentials"in new XMLHttpRequest),s(p,t),p.prototype._request=function(t,e){return new i(function(n,r){if(h.cors||h.hasXDomainRequest){t=a(t,e.headers);var i,s,u=e.body,c=h.cors?new XMLHttpRequest:new XDomainRequest,l=!1;i=setTimeout(p,e.timeouts.connect),c.onprogress=function(){l||f()},"onreadystatechange"in c&&(c.onreadystatechange=function(){!l&&c.readyState>1&&f()}),c.onload=function(){if(s)return;var t;clearTimeout(i);try{t={body:JSON.parse(c.responseText),responseText:c.responseText,statusCode:c.status,headers:c.getAllResponseHeaders&&c.getAllResponseHeaders()||{}}}catch(e){t=new o.UnparsableJSON({more:c.responseText})}t instanceof o.UnparsableJSON?r(t):n(t)},c.onerror=function(t){if(s)return;clearTimeout(i),r(new o.Network({more:t}))},c instanceof XMLHttpRequest?c.open(e.method,t,!0):c.open(e.method,t),h.cors&&(u&&("POST"===e.method?c.setRequestHeader("content-type","application/x-www-form-urlencoded"):c.setRequestHeader("content-type","application/json")),c.setRequestHeader("accept","application/json")),c.send(u)}else r(new o.Network("CORS not supported"));function p(){s=!0,c.abort(),r(new o.RequestTimeout)}function f(){l=!0,clearTimeout(i),i=setTimeout(p,e.timeouts.complete)}})},p.prototype._request.fallback=function(t,e){return t=a(t,e.headers),new i(function(n,r){u(t,e,function(t,e){t?r(t):n(e)})})},p.prototype._promise={reject:function(t){return i.reject(t)},resolve:function(t){return i.resolve(t)},delay:function(t){return new i(function(e){setTimeout(e,t)})}},l}},function(t,e,n){(function(e){var n;n="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},t.exports=n}).call(e,n(3))},function(t,e,n){(function(e,r){!function(e,n){t.exports=n()}(0,function(){"use strict";function t(t){return"function"==typeof t}var i=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},s=0,o=void 0,a=void 0,u=function(t,e){g[s]=t,g[s+1]=e,2===(s+=2)&&(a?a(m):y())};var c="undefined"!=typeof window?window:void 0,l=c||{},h=l.MutationObserver||l.WebKitMutationObserver,p="undefined"==typeof self&&void 0!==e&&"[object process]"==={}.toString.call(e),f="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(m,1)}}var g=new Array(1e3);function m(){for(var t=0;t<s;t+=2){(0,g[t])(g[t+1]),g[t]=void 0,g[t+1]=void 0}s=0}var y=void 0;function v(t,e){var n=arguments,r=this,i=new this.constructor(_);void 0===i[w]&&q(i);var s=r._state;return s?function(){var t=n[s-1];u(function(){return P(s,i,t,r._result)})}():j(r,i,t,e),i}function b(t){if(t&&"object"==typeof t&&t.constructor===this)return t;var e=new this(_);return O(e,t),e}y=p?function(){return e.nextTick(m)}:h?function(){var t=0,e=new h(m),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}():f?function(){var t=new MessageChannel;return t.port1.onmessage=m,function(){return t.port2.postMessage(0)}}():void 0===c?function(){try{var t=n(44);return void 0!==(o=t.runOnLoop||t.runOnContext)?function(){o(m)}:d()}catch(t){return d()}}():d();var w=Math.random().toString(36).substring(16);function _(){}var x=void 0,S=1,C=2,A=new D;function T(t){try{return t.then}catch(t){return A.error=t,A}}function E(e,n,r){n.constructor===e.constructor&&r===v&&n.constructor.resolve===b?function(t,e){e._state===S?N(t,e._result):e._state===C?I(t,e._result):j(e,void 0,function(e){return O(t,e)},function(e){return I(t,e)})}(e,n):r===A?(I(e,A.error),A.error=null):void 0===r?N(e,n):t(r)?function(t,e,n){u(function(t){var r=!1,i=function(t,e,n,r){try{t.call(e,n,r)}catch(t){return t}}(n,e,function(n){r||(r=!0,e!==n?O(t,n):N(t,n))},function(e){r||(r=!0,I(t,e))},t._label);!r&&i&&(r=!0,I(t,i))},t)}(e,n,r):N(e,n)}function O(t,e){t===e?I(t,new TypeError("You cannot resolve a promise with itself")):!function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}(e)?N(t,e):E(t,e,T(e))}function k(t){t._onerror&&t._onerror(t._result),R(t)}function N(t,e){t._state===x&&(t._result=e,t._state=S,0!==t._subscribers.length&&u(R,t))}function I(t,e){t._state===x&&(t._state=C,t._result=e,u(k,t))}function j(t,e,n,r){var i=t._subscribers,s=i.length;t._onerror=null,i[s]=e,i[s+S]=n,i[s+C]=r,0===s&&t._state&&u(R,t)}function R(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r=void 0,i=void 0,s=t._result,o=0;o<e.length;o+=3)r=e[o],i=e[o+n],r?P(n,r,i,s):i(s);t._subscribers.length=0}}function D(){this.error=null}var $=new D;function P(e,n,r,i){var s=t(r),o=void 0,a=void 0,u=void 0,c=void 0;if(s){if((o=function(t,e){try{return t(e)}catch(t){return $.error=t,$}}(r,i))===$?(c=!0,a=o.error,o.error=null):u=!0,n===o)return void I(n,new TypeError("A promises callback cannot return that same promise."))}else o=i,u=!0;n._state!==x||(s&&u?O(n,o):c?I(n,a):e===S?N(n,o):e===C&&I(n,o))}var L=0;function q(t){t[w]=L++,t._state=void 0,t._result=void 0,t._subscribers=[]}function H(t,e){this._instanceConstructor=t,this.promise=new t(_),this.promise[w]||q(this.promise),i(e)?(this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?N(this.promise,this._result):(this.length=this.length||0,this._enumerate(e),0===this._remaining&&N(this.promise,this._result))):I(this.promise,new Error("Array Methods must be provided an Array"))}function M(t){this[w]=L++,this._result=this._state=void 0,this._subscribers=[],_!==t&&("function"!=typeof t&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof M?function(t,e){try{e(function(e){O(t,e)},function(e){I(t,e)})}catch(e){I(t,e)}}(this,t):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}return H.prototype._enumerate=function(t){for(var e=0;this._state===x&&e<t.length;e++)this._eachEntry(t[e],e)},H.prototype._eachEntry=function(t,e){var n=this._instanceConstructor,r=n.resolve;if(r===b){var i=T(t);if(i===v&&t._state!==x)this._settledAt(t._state,e,t._result);else if("function"!=typeof i)this._remaining--,this._result[e]=t;else if(n===M){var s=new n(_);E(s,t,i),this._willSettleAt(s,e)}else this._willSettleAt(new n(function(e){return e(t)}),e)}else this._willSettleAt(r(t),e)},H.prototype._settledAt=function(t,e,n){var r=this.promise;r._state===x&&(this._remaining--,t===C?I(r,n):this._result[e]=n),0===this._remaining&&N(r,this._result)},H.prototype._willSettleAt=function(t,e){var n=this;j(t,void 0,function(t){return n._settledAt(S,e,t)},function(t){return n._settledAt(C,e,t)})},M.all=function(t){return new H(this,t).promise},M.race=function(t){var e=this;return i(t)?new e(function(n,r){for(var i=t.length,s=0;s<i;s++)e.resolve(t[s]).then(n,r)}):new e(function(t,e){return e(new TypeError("You must pass an array to race."))})},M.resolve=b,M.reject=function(t){var e=new this(_);return I(e,t),e},M._setScheduler=function(t){a=t},M._setAsap=function(t){u=t},M._asap=u,M.prototype={constructor:M,then:v,catch:function(t){return this.then(null,t)}},M.polyfill=function(){var t=void 0;if(void 0!==r)t=r;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var n=null;try{n=Object.prototype.toString.call(e.resolve())}catch(t){}if("[object Promise]"===n&&!e.cast)return}t.Promise=M},M.Promise=M,M})}).call(e,n(9),n(3))},function(t,e){},function(t,e,n){"use strict";t.exports=function(t,e){/\?/.test(t)?t+="&":t+="?";return t+r(e)};var r=n(46)},function(t,e,n){"use strict";var r=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}};t.exports=function(t,e,n,a){return e=e||"&",n=n||"=",null===t&&(t=void 0),"object"==typeof t?s(o(t),function(o){var a=encodeURIComponent(r(o))+n;return i(t[o])?s(t[o],function(t){return a+encodeURIComponent(r(t))}).join(e):a+encodeURIComponent(r(t[o]))}).join(e):a?encodeURIComponent(r(a))+n+encodeURIComponent(r(t)):""};var i=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function s(t,e){if(t.map)return t.map(e);for(var n=[],r=0;r<t.length;r++)n.push(e(t[r],r));return n}var o=Object.keys||function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(n);return e}},function(t,e,n){"use strict";t.exports=function(t,e,n){if("GET"!==e.method)return void n(new Error("Method "+e.method+" "+t+" is not supported by JSONP."));e.debug("JSONP: start");var s=!1,o=!1;i+=1;var a=document.getElementsByTagName("head")[0],u=document.createElement("script"),c="algoliaJSONP_"+i,l=!1;window[c]=function(t){!function(){try{delete window[c],delete window[c+"_loaded"]}catch(t){window[c]=window[c+"_loaded"]=void 0}}(),o?e.debug("JSONP: Late answer, ignoring"):(s=!0,f(),n(null,{body:t}))},t+="&callback="+c,e.jsonBody&&e.jsonBody.params&&(t+="&"+e.jsonBody.params);var h=setTimeout(function(){e.debug("JSONP: Script timeout"),o=!0,f(),n(new r.RequestTimeout)},e.timeouts.complete);function p(){e.debug("JSONP: success"),l||o||(l=!0,s||(e.debug("JSONP: Fail. Script loaded but did not call the callback"),f(),n(new r.JSONPScriptFail)))}function f(){clearTimeout(h),u.onload=null,u.onreadystatechange=null,u.onerror=null,a.removeChild(u)}u.onreadystatechange=function(){"loaded"!==this.readyState&&"complete"!==this.readyState||p()},u.onload=p,u.onerror=function(){if(e.debug("JSONP: Script error"),l||o)return;f(),n(new r.JSONPScriptError)},u.async=!0,u.defer=!0,u.src=t,a.appendChild(u)};var r=n(5),i=0},function(t,e,n){t.exports=function(t){return function(e,i,s){var o=n(4);(s=s&&o(s)||{}).hosts=s.hosts||["places-dsn.algolia.net","places-1.algolianet.com","places-2.algolianet.com","places-3.algolianet.com"],0!==arguments.length&&"object"!=typeof e&&void 0!==e||(e="",i="",s._allowEmptyCredentials=!0);var a=t(e,i,s),u=a.initIndex("places");return u.search=r("query","/1/places/query"),u.getObject=function(t,e){return this.as._jsonRequest({method:"GET",url:"/1/places/"+encodeURIComponent(t),hostType:"read",callback:e})},u}};var r=n(13)},function(t,e,n){"use strict";t.exports=function(){var t=window.document.location.protocol;"http:"!==t&&"https:"!==t&&(t="http:");return t}},function(t,e,n){"use strict";t.exports="3.24.7"},function(t,e,n){"use strict";t.exports=n(52)},function(t,e,n){"use strict";var r=n(14);n(1).element=r;var i=n(0);i.isArray=r.isArray,i.isFunction=r.isFunction,i.isObject=r.isPlainObject,i.bind=r.proxy,i.each=function(t,e){r.each(t,function(t,n){return e(n,t)})},i.map=r.map,i.mixin=r.extend,i.Event=r.Event;var s="aaAutocomplete",o=n(53),a=n(15);function u(t,e,n,u){n=i.isArray(n)?n:[].slice.call(arguments,2);var c=r(t).each(function(t,i){var c=r(i),l=new a({el:c}),h=u||new o({input:c,eventBus:l,dropdownMenuContainer:e.dropdownMenuContainer,hint:void 0===e.hint||!!e.hint,minLength:e.minLength,autoselect:e.autoselect,autoselectOnBlur:e.autoselectOnBlur,openOnFocus:e.openOnFocus,templates:e.templates,debug:e.debug,cssClasses:e.cssClasses,datasets:n,keyboardShortcuts:e.keyboardShortcuts,appendTo:e.appendTo,autoWidth:e.autoWidth});c.data(s,h)});return c.autocomplete={},i.each(["open","close","getVal","setVal","destroy","getWrapper"],function(t){c.autocomplete[t]=function(){var e,n=arguments;return c.each(function(i,o){var a=r(o).data(s);e=a[t].apply(a,n)}),e}}),c}u.sources=o.sources,u.escapeHighlightedString=i.escapeHighlightedString;var c="autocomplete"in window,l=window.autocomplete;u.noConflict=function(){return c?window.autocomplete=l:delete window.autocomplete,u},t.exports=u},function(t,e,n){"use strict";var r="aaAttrs",i=n(0),s=n(1),o=n(15),a=n(54),u=n(61),c=n(16),l=n(11);function h(t){var e,n;if((t=t||{}).input||i.error("missing input"),this.isActivated=!1,this.debug=!!t.debug,this.autoselect=!!t.autoselect,this.autoselectOnBlur=!!t.autoselectOnBlur,this.openOnFocus=!!t.openOnFocus,this.minLength=i.isNumber(t.minLength)?t.minLength:1,this.autoWidth=void 0===t.autoWidth||!!t.autoWidth,t.hint=!!t.hint,t.hint&&t.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=t.css=i.mixin({},l,t.appendTo?l.appendTo:{}),this.cssClasses=t.cssClasses=i.mixin({},l.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix=i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=t.listboxId=[this.cssClasses.root,"listbox",i.getUniqueId()].join("-");var a=function(t){var e,n,o,a;e=s.element(t.input),n=s.element(c.wrapper.replace("%ROOT%",t.cssClasses.root)).css(t.css.wrapper),t.appendTo||"block"!==e.css("display")||"table"!==e.parent().css("display")||n.css("display","table-cell");var u=c.dropdown.replace("%PREFIX%",t.cssClasses.prefix).replace("%DROPDOWN_MENU%",t.cssClasses.dropdownMenu);o=s.element(u).css(t.css.dropdown).attr({role:"listbox",id:t.listboxId}),t.templates&&t.templates.dropdownMenu&&o.html(i.templatify(t.templates.dropdownMenu)());(a=e.clone().css(t.css.hint).css(function(t){return{backgroundAttachment:t.css("background-attachment"),backgroundClip:t.css("background-clip"),backgroundColor:t.css("background-color"),backgroundImage:t.css("background-image"),backgroundOrigin:t.css("background-origin"),backgroundPosition:t.css("background-position"),backgroundRepeat:t.css("background-repeat"),backgroundSize:t.css("background-size")}}(e))).val("").addClass(i.className(t.cssClasses.prefix,t.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),a.removeData&&a.removeData();e.data(r,{"aria-autocomplete":e.attr("aria-autocomplete"),"aria-expanded":e.attr("aria-expanded"),"aria-owns":e.attr("aria-owns"),autocomplete:e.attr("autocomplete"),dir:e.attr("dir"),role:e.attr("role"),spellcheck:e.attr("spellcheck"),style:e.attr("style"),type:e.attr("type")}),e.addClass(i.className(t.cssClasses.prefix,t.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":t.datasets&&t.datasets[0]&&t.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":t.ariaLabel,"aria-owns":t.listboxId}).css(t.hint?t.css.input:t.css.inputWithNoHint);try{e.attr("dir")||e.attr("dir","auto")}catch(t){}return(n=t.appendTo?n.appendTo(s.element(t.appendTo).eq(0)).eq(0):e.wrap(n).parent()).prepend(t.hint?a:null).append(o),{wrapper:n,input:e,hint:a,menu:o}}(t);this.$node=a.wrapper;var u=this.$input=a.input;e=a.menu,n=a.hint,t.dropdownMenuContainer&&s.element(t.dropdownMenuContainer).css("position","relative").append(e.css("top","0")),u.on("blur.aa",function(t){var n=document.activeElement;i.isMsie()&&(e[0]===n||e[0].contains(n))&&(t.preventDefault(),t.stopImmediatePropagation(),i.defer(function(){u.focus()}))}),e.on("mousedown.aa",function(t){t.preventDefault()}),this.eventBus=t.eventBus||new o({el:u}),this.dropdown=new h.Dropdown({appendTo:t.appendTo,wrapper:this.$node,menu:e,datasets:t.datasets,templates:t.templates,cssClasses:t.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new h.Input({input:u,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(t),this._setLanguageDirection()}i.mixin(h.prototype,{_bindKeyboardShortcuts:function(t){if(t.keyboardShortcuts){var e=this.$input,n=[];i.each(t.keyboardShortcuts,function(t){"string"==typeof t&&(t=t.toUpperCase().charCodeAt(0)),n.push(t)}),s.element(document).keydown(function(t){var r=t.target||t.srcElement,i=r.tagName;if(!r.isContentEditable&&"INPUT"!==i&&"SELECT"!==i&&"TEXTAREA"!==i){var s=t.which||t.keyCode;-1!==n.indexOf(s)&&(e.focus(),t.stopPropagation(),t.preventDefault())}})}},_onSuggestionClicked:function(t,e){var n;(n=this.dropdown.getDatumForSuggestion(e))&&this._select(n)},_onCursorMoved:function(t,e){var n=this.dropdown.getDatumForCursor(),r=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(r),n&&(e&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var t=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",t.width+"px");var e=this.$node[0].getBoundingClientRect(),n=t.bottom-e.top;this.$node.css("top",n+"px");var r=t.left-e.left;this.$node.css("left",r+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var t=this.input.getQuery();t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var t,e;t=this.dropdown.getDatumForCursor(),e=this.dropdown.getDatumForTopSuggestion(),this.debug||(this.autoselectOnBlur&&t?this._select(t):this.autoselectOnBlur&&e?this._select(e):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(t,e){var n,r;n=this.dropdown.getDatumForCursor(),r=this.dropdown.getDatumForTopSuggestion(),n?(this._select(n),e.preventDefault()):this.autoselect&&r&&(this._select(r),e.preventDefault())},_onTabKeyed:function(t,e){var n;(n=this.dropdown.getDatumForCursor())?(this._select(n),e.preventDefault()):this._autocomplete(!0)},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(t,e){this.input.clearHintIfInvalid(),e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var t=this.input.getLanguageDirection();this.dir!==t&&(this.dir=t,this.$node.css("direction",t),this.dropdown.setLanguageDirection(t))},_updateHint:function(){var t,e,n,r,s;(t=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(e=this.input.getInputValue(),n=a.normalizeQuery(e),r=i.escapeRegExChars(n),(s=new RegExp("^(?:"+r+")(.+$)","i").exec(t.value))?this.input.setHint(e+s[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(t){var e,n,r,i;e=this.input.getHint(),n=this.input.getQuery(),r=t||this.input.isCursorAtEnd(),e&&n!==e&&r&&((i=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(i.value),this.eventBus.trigger("autocompleted",i.raw,i.datasetName))},_select:function(t){void 0!==t.value&&this.input.setQuery(t.value),this.input.setInputValue(t.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",t.raw,t.datasetName).isDefaultPrevented()&&(this.dropdown.close(),i.defer(i.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var t=this.input.getInputValue();t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(t){t=i.toStr(t),this.isActivated?this.input.setInputValue(t):(this.input.setQuery(t),this.input.setInputValue(t,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),function(t,e){var n=t.find(i.className(e.prefix,e.input));i.each(n.data(r),function(t,e){void 0===t?n.removeAttr(e):n.attr(e,t)}),n.detach().removeClass(i.className(e.prefix,e.input,!0)).insertAfter(t),n.removeData&&n.removeData(r);t.remove()}(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),h.Dropdown=u,h.Input=a,h.sources=n(63),t.exports=h},function(t,e,n){"use strict";var r;r={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var i=n(0),s=n(1),o=n(10);function a(t){var e,n,o,a,u=this;(t=t||{}).input||i.error("input is missing"),e=i.bind(this._onBlur,this),n=i.bind(this._onFocus,this),o=i.bind(this._onKeydown,this),a=i.bind(this._onInput,this),this.$hint=s.element(t.hint),this.$input=s.element(t.input).on("blur.aa",e).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=i.noop),i.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",function(t){r[t.which||t.keyCode]||i.defer(i.bind(u._onInput,u,t))}):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=function(t){return s.element('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:t.css("font-family"),fontSize:t.css("font-size"),fontStyle:t.css("font-style"),fontVariant:t.css("font-variant"),fontWeight:t.css("font-weight"),wordSpacing:t.css("word-spacing"),letterSpacing:t.css("letter-spacing"),textIndent:t.css("text-indent"),textRendering:t.css("text-rendering"),textTransform:t.css("text-transform")}).insertAfter(t)}(this.$input)}function u(t){return t.altKey||t.ctrlKey||t.metaKey||t.shiftKey}a.normalizeQuery=function(t){return(t||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},i.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(t){var e=r[t.which||t.keyCode];this._managePreventDefault(e,t),e&&this._shouldTrigger(e,t)&&this.trigger(e+"Keyed",t)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(t,e){var n,r,i;switch(t){case"tab":r=this.getHint(),i=this.getInputValue(),n=r&&r!==i&&!u(e);break;case"up":case"down":n=!u(e);break;default:n=!1}n&&e.preventDefault()},_shouldTrigger:function(t,e){var n;switch(t){case"tab":n=!u(e);break;default:n=!0}return n},_checkInputValue:function(){var t,e,n;n=!(!(e=function(t,e){return a.normalizeQuery(t)===a.normalizeQuery(e)}(t=this.getInputValue(),this.query))||!this.query)&&this.query.length!==t.length,this.query=t,e?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(t){this.query=t},getInputValue:function(){return this.$input.val()},setInputValue:function(t,e){void 0===t&&(t=this.query),this.$input.val(t),e?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(t){this.$input.attr("aria-activedescendant",t)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(t){this.$hint.val(t)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var t,e,n;n=(t=this.getInputValue())!==(e=this.getHint())&&0===e.indexOf(t),""!==t&&n&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var t=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=t},isCursorAtEnd:function(){var t,e,n;return t=this.$input.val().length,e=this.$input[0].selectionStart,i.isNumber(e)?e===t:!document.selection||((n=document.selection.createRange()).moveStart("character",-t),t===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),t.exports=a},function(t,e,n){"use strict";var r,i,s,o=[n(56),n(57),n(58),n(59),n(60)],a=-1,u=[],c=!1;function l(){r&&i&&(r=!1,i.length?u=i.concat(u):a=-1,u.length&&h())}function h(){if(!r){c=!1,r=!0;for(var t=u.length,e=setTimeout(l);t;){for(i=u,u=[];i&&++a<t;)i[a].run();a=-1,t=u.length}i=null,a=-1,r=!1,clearTimeout(e)}}for(var p=-1,f=o.length;++p<f;)if(o[p]&&o[p].test&&o[p].test()){s=o[p].install(h);break}function d(t,e){this.fun=t,this.array=e}d.prototype.run=function(){var t=this.fun,e=this.array;switch(e.length){case 0:return t();case 1:return t(e[0]);case 2:return t(e[0],e[1]);case 3:return t(e[0],e[1],e[2]);default:return t.apply(null,e)}},t.exports=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];u.push(new d(t,e)),c||r||(c=!0,s())}},function(t,e,n){"use strict";(function(t){e.test=function(){return void 0!==t&&!t.browser},e.install=function(e){return function(){t.nextTick(e)}}}).call(e,n(9))},function(t,e,n){"use strict";(function(t){var n=t.MutationObserver||t.WebKitMutationObserver;e.test=function(){return n},e.install=function(e){var r=0,i=new n(e),s=t.document.createTextNode("");return i.observe(s,{characterData:!0}),function(){s.data=r=++r%2}}}).call(e,n(3))},function(t,e,n){"use strict";(function(t){e.test=function(){return!t.setImmediate&&void 0!==t.MessageChannel},e.install=function(e){var n=new t.MessageChannel;return n.port1.onmessage=e,function(){n.port2.postMessage(0)}}}).call(e,n(3))},function(t,e,n){"use strict";(function(t){e.test=function(){return"document"in t&&"onreadystatechange"in t.document.createElement("script")},e.install=function(e){return function(){var n=t.document.createElement("script");return n.onreadystatechange=function(){e(),n.onreadystatechange=null,n.parentNode.removeChild(n),n=null},t.document.documentElement.appendChild(n),e}}}).call(e,n(3))},function(t,e,n){"use strict";e.test=function(){return!0},e.install=function(t){return function(){setTimeout(t,0)}}},function(t,e,n){"use strict";var r=n(0),i=n(1),s=n(10),o=n(62),a=n(11);function u(t){var e,n,s,o=this;(t=t||{}).menu||r.error("menu is required"),r.isArray(t.datasets)||r.isObject(t.datasets)||r.error("1 or more datasets required"),t.datasets||r.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=t.minLength||0,this.templates={},this.appendTo=t.appendTo||!1,this.css=r.mixin({},a,t.appendTo?a.appendTo:{}),this.cssClasses=t.cssClasses=r.mixin({},a.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix||r.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),e=r.bind(this._onSuggestionClick,this),n=r.bind(this._onSuggestionMouseEnter,this),s=r.bind(this._onSuggestionMouseLeave,this);var c=r.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=i.element(t.menu).on("mouseenter.aa",c,n).on("mouseleave.aa",c,s).on("click.aa",c,e),this.$container=t.appendTo?t.wrapper:this.$menu,t.templates&&t.templates.header&&(this.templates.header=r.templatify(t.templates.header),this.$menu.prepend(this.templates.header())),t.templates&&t.templates.empty&&(this.templates.empty=r.templatify(t.templates.empty),this.$empty=i.element('<div class="'+r.className(this.cssClasses.prefix,this.cssClasses.empty,!0)+'"></div>'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=r.map(t.datasets,function(e){return function(t,e,n){return new u.Dataset(r.mixin({$menu:t,cssClasses:n},e))}(o.$menu,e,t.cssClasses)}),r.each(this.datasets,function(t){var e=t.getRoot();e&&0===e.parent().length&&o.$menu.append(e),t.onSync("rendered",o._onRendered,o)}),t.templates&&t.templates.footer&&(this.templates.footer=r.templatify(t.templates.footer),this.$menu.append(this.templates.footer()));var l=this;i.element(window).resize(function(){l._redraw()})}r.mixin(u.prototype,s,{_onSuggestionClick:function(t){this.trigger("suggestionClicked",i.element(t.currentTarget))},_onSuggestionMouseEnter:function(t){var e=i.element(t.currentTarget);if(!e.hasClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout(function(){n._setCursor(e,!1)},0)}},_onSuggestionMouseLeave:function(t){if(t.relatedTarget&&i.element(t.relatedTarget).closest("."+r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0)return;this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(t,e){if(this.isEmpty=r.every(this.datasets,function(t){return t.isEmpty()}),this.isEmpty)if(e.length>=this.minLength&&this.trigger("empty"),this.$empty)if(e.length<this.minLength)this._hide();else{var n=this.templates.empty({query:this.datasets[0]&&this.datasets[0].query});this.$empty.html(n),this.$empty.show(),this._show()}else r.any(this.datasets,function(t){return t.templates&&t.templates.empty})?e.length<this.minLength?this._hide():this._show():this._hide();else this.isOpen&&(this.$empty&&(this.$empty.empty(),this.$empty.hide()),e.length>=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(r.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(r.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(t,e){t.first().addClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",e)},_removeCursor:function(){this._getCursor().removeClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(t){var e,n,r,i;this.isOpen&&(n=this._getCursor(),e=this._getSuggestions(),this._removeCursor(),-1!==(r=((r=e.index(n)+t)+1)%(e.length+1)-1)?(r<-1&&(r=e.length-1),this._setCursor(i=e.eq(r),!0),this._ensureVisible(i)):this.trigger("cursorRemoved"))},_ensureVisible:function(t){var e,n,r,i;n=(e=t.position().top)+t.height()+parseInt(t.css("margin-top"),10)+parseInt(t.css("margin-bottom"),10),r=this.$menu.scrollTop(),i=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),e<0?this.$menu.scrollTop(r+e):i<n&&this.$menu.scrollTop(r+(n-i))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,this.isEmpty||this._show(),this.trigger("opened"))},setLanguageDirection:function(t){this.$menu.css("ltr"===t?this.css.ltr:this.css.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(t){var e=null;return t.length&&(e={raw:o.extractDatum(t),value:o.extractValue(t),datasetName:o.extractDatasetName(t)}),e},getCurrentCursor:function(){return this._getCursor().first()},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},cursorTopSuggestion:function(){this._setCursor(this._getSuggestions().first(),!1)},update:function(t){r.each(this.datasets,function(e){e.update(t)})},empty:function(){r.each(this.datasets,function(t){t.clear()}),this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){this.$menu.off(".aa"),this.$menu=null,r.each(this.datasets,function(t){t.destroy()})}}),u.Dataset=o,t.exports=u},function(t,e,n){"use strict";var r="aaDataset",i="aaValue",s="aaDatum",o=n(0),a=n(1),u=n(16),c=n(11),l=n(10);function h(t){(t=t||{}).templates=t.templates||{},t.source||o.error("missing source"),t.name&&!function(t){return/^[_a-zA-Z0-9-]+$/.test(t)}(t.name)&&o.error("invalid dataset name: "+t.name),this.query=null,this._isEmpty=!0,this.highlight=!!t.highlight,this.name=void 0===t.name||null===t.name?o.getUniqueId():t.name,this.source=t.source,this.displayFn=function(t){return t=t||"value",o.isFunction(t)?t:function(e){return e[t]}}(t.display||t.displayKey),this.templates=function(t,e){return{empty:t.empty&&o.templatify(t.empty),header:t.header&&o.templatify(t.header),footer:t.footer&&o.templatify(t.footer),suggestion:t.suggestion||function(t){return"<p>"+e(t)+"</p>"}}}(t.templates,this.displayFn),this.css=o.mixin({},c,t.appendTo?c.appendTo:{}),this.cssClasses=t.cssClasses=o.mixin({},c.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix||o.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var e=o.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=t.$menu&&t.$menu.find(e+"-"+this.name).length>0?a.element(t.$menu.find(e+"-"+this.name)[0]):a.element(u.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=t.$menu,this.clearCachedSuggestions()}h.extractDatasetName=function(t){return a.element(t).data(r)},h.extractValue=function(t){return a.element(t).data(i)},h.extractDatum=function(t){var e=a.element(t).data(s);return"string"==typeof e&&(e=JSON.parse(e)),e},o.mixin(h.prototype,l,{_render:function(t,e){if(this.$el){var n,c=this,l=[].slice.call(arguments,2);this.$el.empty(),n=e&&e.length,this._isEmpty=!n,!n&&this.templates.empty?this.$el.html(function(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!0}].concat(e),c.templates.empty.apply(this,e)}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null):n&&this.$el.html(function(){var t,n,l=[].slice.call(arguments,0),h=this,p=u.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return t=a.element(p).css(this.css.suggestions),n=o.map(e,function(t){var e,n=u.suggestion.replace("%PREFIX%",h.cssClasses.prefix).replace("%SUGGESTION%",h.cssClasses.suggestion);return(e=a.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(c.templates.suggestion.apply(this,[t].concat(l)))).data(r,c.name),e.data(i,c.displayFn(t)||void 0),e.data(s,JSON.stringify(t)),e.children().each(function(){a.element(this).css(h.css.suggestionChild)}),e}),t.append.apply(t,n),t}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null),this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",t)}function h(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!n}].concat(e),c.templates.header.apply(this,e)}function p(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!n}].concat(e),c.templates.footer.apply(this,e)}},getRoot:function(){return this.$el},update:function(t){function e(e){if(!this.canceled&&t===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(t,e,n),this._render.apply(this,[t,e].concat(n))}}this.query=t,this.canceled=!1,this.shouldFetchFromCache(t)?e.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs)):this.source(t,e.bind(this))},cacheSuggestions:function(t,e,n){this.cachedQuery=t,this.cachedSuggestions=e,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(t){return this.cachedQuery===t&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.cancel(),this.$el.empty(),this.trigger("rendered","")},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),t.exports=h},function(t,e,n){"use strict";t.exports={hits:n(64),popularIn:n(65)}},function(t,e,n){"use strict";var r=n(0),i=n(17),s=n(18);t.exports=function(t,e){var n=s(t.as._ua);return n&&n[0]>=3&&n[1]>20&&((e=e||{}).additionalUA="autocomplete.js "+i),function(n,i){t.search(n,e,function(t,e){t?r.error(t.message):i(e.hits,e)})}}},function(t,e,n){"use strict";var r=n(0),i=n(17),s=n(18);t.exports=function(t,e,n,o){var a=s(t.as._ua);if(a&&a[0]>=3&&a[1]>20&&((e=e||{}).additionalUA="autocomplete.js "+i),!n.source)return r.error("Missing 'source' key");var u=r.isFunction(n.source)?n.source:function(t){return t[n.source]};if(!n.index)return r.error("Missing 'index' key");var c=n.index;return o=o||{},function(a,l){t.search(a,e,function(t,a){if(t)r.error(t.message);else{if(a.hits.length>0){var h=a.hits[0],p=r.mixin({hitsPerPage:0},n);delete p.source,delete p.index;var f=s(c.as._ua);return f&&f[0]>=3&&f[1]>20&&(e.additionalUA="autocomplete.js "+i),void c.search(u(h),p,function(t,e){if(t)r.error(t.message);else{var n=[];if(o.includeAll){var i=o.allTitle||"All departments";n.push(r.mixin({facet:{value:i,count:e.nbHits}},r.cloneDeep(h)))}r.each(e.facets,function(t,e){r.each(t,function(t,i){n.push(r.mixin({facet:{facet:e,value:i,count:t}},r.cloneDeep(h)))})});for(var s=1;s<a.hits.length;++s)n.push(a.hits[s]);l(n,a)}})}l([])}})}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r="algolia-docsearch-suggestion",i={suggestion:'\n <div class="'+r+"\n {{#isCategoryHeader}}"+r+"__main{{/isCategoryHeader}}\n {{#isSubCategoryHeader}}"+r+'__secondary{{/isSubCategoryHeader}}\n ">\n <div class="'+r+'--category-header">\n <span class="'+r+'--category-header-lvl0">{{{category}}}</span>\n </div>\n <div class="'+r+'--wrapper">\n <div class="'+r+'--subcategory-column">\n <span class="'+r+'--subcategory-column-text">{{{subcategory}}}</span>\n </div>\n {{#isTextOrSubcatoryNonEmpty}}\n <div class="'+r+'--content">\n <div class="'+r+'--subcategory-inline">{{{subcategory}}}</div>\n <div class="'+r+'--title">{{{title}}}</div>\n {{#text}}<div class="'+r+'--text">{{{text}}}</div>{{/text}}\n </div>\n {{/isTextOrSubcatoryNonEmpty}}\n </div>\n </div>\n ',suggestionSimple:'\n <div class="'+r+"\n {{#isCategoryHeader}}"+r+"__main{{/isCategoryHeader}}\n {{#isSubCategoryHeader}}"+r+'__secondary{{/isSubCategoryHeader}}\n suggestion-layout-simple\n ">\n <div class="'+r+'--category-header">\n {{^isLvl0}}\n <span class="'+r+"--category-header-lvl0 "+r+'--category-header-item">{{{category}}}</span>\n {{^isLvl1}}\n {{^isLvl1EmptyOrDuplicate}}\n <span class="'+r+"--category-header-lvl1 "+r+'--category-header-item">\n {{{subcategory}}}\n </span>\n {{/isLvl1EmptyOrDuplicate}}\n {{/isLvl1}}\n {{/isLvl0}}\n <div class="'+r+"--title "+r+'--category-header-item">\n {{#isLvl2}}\n {{{title}}}\n {{/isLvl2}}\n {{#isLvl1}}\n {{{subcategory}}}\n {{/isLvl1}}\n {{#isLvl0}}\n {{{category}}}\n {{/isLvl0}}\n </div>\n </div>\n <div class="'+r+'--wrapper">\n {{#text}}\n <div class="'+r+'--content">\n <div class="'+r+'--text">{{{text}}}</div>\n </div>\n {{/text}}\n </div>\n </div>\n ',footer:'\n <div class="algolia-docsearch-footer">\n Search by <a class="algolia-docsearch-footer--logo" href="https://www.algolia.com/docsearch">Algolia</a>\n </div>\n ',empty:'\n <div class="'+r+'">\n <div class="'+r+'--wrapper">\n <div class="'+r+"--content "+r+'--no-results">\n <div class="'+r+'--title">\n <div class="'+r+'--text">\n No results found for query <b>"{{query}}"</b>\n </div>\n </div>\n </div>\n </div>\n </div>\n ',searchBox:'\n <form novalidate="novalidate" onsubmit="return false;" class="searchbox">\n <div role="search" class="searchbox__wrapper">\n <input id="docsearch" type="search" name="search" placeholder="Search the docs" autocomplete="off" required="required" class="searchbox__input"/>\n <button type="submit" title="Submit your search query." class="searchbox__submit" >\n <svg width=12 height=12 role="img" aria-label="Search">\n <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-search-13"></use>\n </svg>\n </button>\n <button type="reset" title="Clear the search query." class="searchbox__reset hide">\n <svg width=12 height=12 role="img" aria-label="Reset">\n <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-clear-3"></use>\n </svg>\n </button>\n </div>\n</form>\n\n<div class="svg-icons" style="height: 0; width: 0; position: absolute; visibility: hidden">\n <svg xmlns="http://www.w3.org/2000/svg">\n <symbol id="sbx-icon-clear-3" viewBox="0 0 40 40"><path d="M16.228 20L1.886 5.657 0 3.772 3.772 0l1.885 1.886L20 16.228 34.343 1.886 36.228 0 40 3.772l-1.886 1.885L23.772 20l14.342 14.343L40 36.228 36.228 40l-1.885-1.886L20 23.772 5.657 38.114 3.772 40 0 36.228l1.886-1.885L16.228 20z" fill-rule="evenodd"></symbol>\n <symbol id="sbx-icon-search-13" viewBox="0 0 40 40"><path d="M26.806 29.012a16.312 16.312 0 0 1-10.427 3.746C7.332 32.758 0 25.425 0 16.378 0 7.334 7.333 0 16.38 0c9.045 0 16.378 7.333 16.378 16.38 0 3.96-1.406 7.593-3.746 10.426L39.547 37.34c.607.608.61 1.59-.004 2.203a1.56 1.56 0 0 1-2.202.004L26.807 29.012zm-10.427.627c7.322 0 13.26-5.938 13.26-13.26 0-7.324-5.938-13.26-13.26-13.26-7.324 0-13.26 5.936-13.26 13.26 0 7.322 5.936 13.26 13.26 13.26z" fill-rule="evenodd"></symbol>\n </svg>\n</div>\n '};e.default=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(t){return t&&t.__esModule?t:{default:t}}(n(19));var s={mergeKeyWithParent:function(t,e){if(void 0===t[e])return t;if("object"!==r(t[e]))return t;var n=i.default.extend({},t,t[e]);return delete n[e],n},groupBy:function(t,e){var n={};return i.default.each(t,function(t,r){if(void 0===r[e])throw new Error("[groupBy]: Object has no key "+e);var i=r[e];"string"==typeof i&&(i=i.toLowerCase()),Object.prototype.hasOwnProperty.call(n,i)||(n[i]=[]),n[i].push(r)}),n},values:function(t){return Object.keys(t).map(function(e){return t[e]})},flatten:function(t){var e=[];return t.forEach(function(t){Array.isArray(t)?t.forEach(function(t){e.push(t)}):e.push(t)}),e},flattenAndFlagFirst:function(t,e){var n=this.values(t).map(function(t){return t.map(function(t,n){return t[e]=0===n,t})});return this.flatten(n)},compact:function(t){var e=[];return t.forEach(function(t){t&&e.push(t)}),e},getHighlightedValue:function(t,e){return t._highlightResult&&t._highlightResult.hierarchy_camel&&t._highlightResult.hierarchy_camel[e]&&t._highlightResult.hierarchy_camel[e].matchLevel&&"none"!==t._highlightResult.hierarchy_camel[e].matchLevel&&t._highlightResult.hierarchy_camel[e].value?t._highlightResult.hierarchy_camel[e].value:t._highlightResult&&t._highlightResult&&t._highlightResult[e]&&t._highlightResult[e].value?t._highlightResult[e].value:t[e]},getSnippetedValue:function(t,e){if(!t._snippetResult||!t._snippetResult[e]||!t._snippetResult[e].value)return t[e];var n=t._snippetResult[e].value;return n[0]!==n[0].toUpperCase()&&(n="…"+n),-1===[".","!","?"].indexOf(n[n.length-1])&&(n+="…"),n},deepClone:function(t){return JSON.parse(JSON.stringify(t))}};e.default=s}])})},197:function(t,e,n){}}]); \ No newline at end of file diff --git a/vuepress/assets/js/vendors~notification.cb8b10f9.js b/vuepress/assets/js/vendors~notification.cb8b10f9.js new file mode 100644 index 0000000000..f2172ad804 --- /dev/null +++ b/vuepress/assets/js/vendors~notification.cb8b10f9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[97],{195:function(t,e,n){t.exports=function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/dist/",e(e.s=6)}([function(t,e,n){"use strict";function r(){c=!1}function i(t){if(t){if(t!==a){if(t.length!==l.length)throw new Error("Custom alphabet for shortid must be "+l.length+" unique characters. You submitted "+t.length+" characters: "+t);var e=t.split("").filter(function(t,e,n){return e!==n.lastIndexOf(t)});if(e.length)throw new Error("Custom alphabet for shortid must be "+l.length+" unique characters. These characters were not unique: "+e.join(", "));a=t,r()}}else a!==l&&(a=l,r())}function o(){return c||(c=function(){a||i(l);for(var t,e=a.split(""),n=[],r=u.nextValue();e.length>0;)r=u.nextValue(),t=Math.floor(r*e.length),n.push(e.splice(t,1)[0]);return n.join("")}())}var a,s,c,u=n(19),l="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";t.exports={get:function(){return a||l},characters:function(t){return i(t),a},seed:function(t){u.seed(t),s!==t&&(r(),s=t)},lookup:function(t){return o()[t]},shuffled:o}},function(t,e,n){"use strict";var r=n(5),i=n.n(r);e.a={animateIn:function(t){i()({targets:t,translateY:"-35px",opacity:1,duration:300,easing:"easeOutCubic"})},animateOut:function(t,e){i()({targets:t,opacity:0,marginTop:"-40px",duration:300,easing:"easeOutExpo",complete:e})},animateOutBottom:function(t,e){i()({targets:t,opacity:0,marginBottom:"-40px",duration:300,easing:"easeOutExpo",complete:e})},animateReset:function(t){i()({targets:t,left:0,opacity:1,duration:300,easing:"easeOutExpo"})},animatePanning:function(t,e,n){i()({targets:t,duration:10,easing:"easeOutQuad",left:e,opacity:n})},animatePanEnd:function(t,e){i()({targets:t,opacity:0,duration:300,easing:"easeOutExpo",complete:e})},clearAnimation:function(t){var e=i.a.timeline();t.forEach(function(t){e.add({targets:t.el,opacity:0,right:"-40px",duration:300,offset:"-=150",easing:"easeOutExpo",complete:function(){t.remove()}})})}}},function(t,e,n){"use strict";t.exports=n(16)},function(t,e,n){"use strict";n.d(e,"a",function(){return s});var r=n(8),i=n(1),o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a=n(2);n(11).polyfill();var s=function t(e){var n=this;return this.id=a.generate(),this.options=e,this.cached_options={},this.global={},this.groups=[],this.toasts=[],u(this),this.group=function(e){e||(e={}),e.globalToasts||(e.globalToasts={}),Object.assign(e.globalToasts,n.global);var r=new t(e);return n.groups.push(r),r},this.register=function(t,e,r){return l(n,t,e,r=r||{})},this.show=function(t,e){return c(n,t,e)},this.success=function(t,e){return(e=e||{}).type="success",c(n,t,e)},this.info=function(t,e){return(e=e||{}).type="info",c(n,t,e)},this.error=function(t,e){return(e=e||{}).type="error",c(n,t,e)},this.remove=function(t){n.toasts=n.toasts.filter(function(e){return e.el.hash!==t.hash}),t.parentNode&&t.parentNode.removeChild(t)},this.clear=function(t){return i.a.clearAnimation(n.toasts,function(){t&&t()}),n.toasts=[],!0},this},c=function(t,e,i){var a=null;if("object"!==(void 0===(i=i||{})?"undefined":o(i)))return console.error("Options should be a type of object. given : "+i),null;t.options.singleton&&t.toasts.length>0&&(t.cached_options=i,t.toasts[t.toasts.length-1].goAway(0));var s=Object.assign({},t.options);return Object.assign(s,i),a=n.i(r.a)(t,e,s),t.toasts.push(a),a},u=function(t){var e=t.options.globalToasts,n=function(e,n){return"string"==typeof n&&t[n]?t[n].apply(t,[e,{}]):c(t,e,n)};e&&(t.global={},Object.keys(e).forEach(function(r){t.global[r]=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e[r].apply(null,[t,n])}}))},l=function(t,e,n,r){t.options.globalToasts||(t.options.globalToasts={}),t.options.globalToasts[e]=function(t,e){var i=null;return"string"==typeof n&&(i=n),"function"==typeof n&&(i=n(t)),e(i,r)},u(t)}},function(t,e,n){n(22);var r=n(21)(null,null,null,null);t.exports=r.exports},function(t,e,n){(function(n){var r,i,o,a={scope:{}};a.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,n){if(n.get||n.set)throw new TypeError("ES3 does not support getters and setters.");t!=Array.prototype&&t!=Object.prototype&&(t[e]=n.value)},a.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:void 0!==n&&null!=n?n:t},a.global=a.getGlobal(this),a.SYMBOL_PREFIX="jscomp_symbol_",a.initSymbol=function(){a.initSymbol=function(){},a.global.Symbol||(a.global.Symbol=a.Symbol)},a.symbolCounter_=0,a.Symbol=function(t){return a.SYMBOL_PREFIX+(t||"")+a.symbolCounter_++},a.initSymbolIterator=function(){a.initSymbol();var t=a.global.Symbol.iterator;t||(t=a.global.Symbol.iterator=a.global.Symbol("iterator")),"function"!=typeof Array.prototype[t]&&a.defineProperty(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return a.arrayIterator(this)}}),a.initSymbolIterator=function(){}},a.arrayIterator=function(t){var e=0;return a.iteratorPrototype(function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}})},a.iteratorPrototype=function(t){return a.initSymbolIterator(),(t={next:t})[a.global.Symbol.iterator]=function(){return this},t},a.array=a.array||{},a.iteratorFromArray=function(t,e){a.initSymbolIterator(),t instanceof String&&(t+="");var n=0,r={next:function(){if(n<t.length){var i=n++;return{value:e(i,t[i]),done:!1}}return r.next=function(){return{done:!0,value:void 0}},r.next()}};return r[Symbol.iterator]=function(){return r},r},a.polyfill=function(t,e,n,r){if(e){for(n=a.global,t=t.split("."),r=0;r<t.length-1;r++){var i=t[r];i in n||(n[i]={}),n=n[i]}t=t[t.length-1],r=n[t],(e=e(r))!=r&&null!=e&&a.defineProperty(n,t,{configurable:!0,writable:!0,value:e})}},a.polyfill("Array.prototype.keys",function(t){return t||function(){return a.iteratorFromArray(this,function(t){return t})}},"es6-impl","es3");var s=this;i=[],r=function(){function t(t){if(!L.col(t))try{return document.querySelectorAll(t)}catch(t){}}function e(t,e){for(var n=t.length,r=2<=arguments.length?arguments[1]:void 0,i=[],o=0;o<n;o++)if(o in t){var a=t[o];e.call(r,a,o,t)&&i.push(a)}return i}function n(t){return t.reduce(function(t,e){return t.concat(L.arr(e)?n(e):e)},[])}function r(e){return L.arr(e)?e:(L.str(e)&&(e=t(e)||e),e instanceof NodeList||e instanceof HTMLCollection?[].slice.call(e):[e])}function i(t,e){return t.some(function(t){return t===e})}function o(t){var e,n={};for(e in t)n[e]=t[e];return n}function a(t,e){var n,r=o(t);for(n in t)r[n]=e.hasOwnProperty(n)?e[n]:t[n];return r}function c(t,e){var n,r=o(t);for(n in e)r[n]=L.und(t[n])?e[n]:t[n];return r}function u(t){if(t=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(t))return t[2]}function l(t,e){return L.fnc(t)?t(e.target,e.id,e.total):t}function f(t,e){if(e in t.style)return getComputedStyle(t).getPropertyValue(e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function p(t,e){return L.dom(t)&&i(k,e)?"transform":L.dom(t)&&(t.getAttribute(e)||L.svg(t)&&t[e])?"attribute":L.dom(t)&&"transform"!==e&&f(t,e)?"css":null!=t[e]?"object":void 0}function h(t,n){var r=function(t){return-1<t.indexOf("translate")||"perspective"===t?"px":-1<t.indexOf("rotate")||-1<t.indexOf("skew")?"deg":void 0}(n),r=-1<n.indexOf("scale")?1:0+r;if(!(t=t.style.transform))return r;for(var i=[],o=[],a=[],s=/(\w+)\((.+?)\)/g;i=s.exec(t);)o.push(i[1]),a.push(i[2]);return(t=e(a,function(t,e){return o[e]===n})).length?t[0]:r}function d(t,e){switch(p(t,e)){case"transform":return h(t,e);case"css":return f(t,e);case"attribute":return t.getAttribute(e)}return t[e]||0}function m(t,e){var n=/^(\*=|\+=|-=)/.exec(t);if(!n)return t;var r=u(t)||0;switch(e=parseFloat(e),t=parseFloat(t.replace(n[0],"")),n[0][0]){case"+":return e+t+r;case"-":return e-t+r;case"*":return e*t+r}}function v(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function g(t){t=t.points;for(var e,n=0,r=0;r<t.numberOfItems;r++){var i=t.getItem(r);0<r&&(n+=v(e,i)),e=i}return n}function y(t){if(t.getTotalLength)return t.getTotalLength();switch(t.tagName.toLowerCase()){case"circle":return 2*Math.PI*t.getAttribute("r");case"rect":return 2*t.getAttribute("width")+2*t.getAttribute("height");case"line":return v({x:t.getAttribute("x1"),y:t.getAttribute("y1")},{x:t.getAttribute("x2"),y:t.getAttribute("y2")});case"polyline":return g(t);case"polygon":var e=t.points;return g(t)+v(e.getItem(e.numberOfItems-1),e.getItem(0))}}function b(t,e){function n(n){return n=void 0===n?0:n,t.el.getPointAtLength(1<=e+n?e+n:0)}var r=n(),i=n(-1),o=n(1);switch(t.property){case"x":return r.x;case"y":return r.y;case"angle":return 180*Math.atan2(o.y-i.y,o.x-i.x)/Math.PI}}function x(t,e){var n,r=/-?\d*\.?\d+/g;if(n=L.pth(t)?t.totalLength:t,L.col(n))if(L.rgb(n)){var i=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(n);n=i?"rgba("+i[1]+",1)":n}else n=L.hex(n)?function(t){t=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,n,r){return e+e+n+n+r+r});var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);t=parseInt(e[1],16);var n=parseInt(e[2],16),e=parseInt(e[3],16);return"rgba("+t+","+n+","+e+",1)"}(n):L.hsl(n)?function(t){function e(t,e,n){return 0>n&&(n+=1),1<n&&--n,n<1/6?t+6*(e-t)*n:.5>n?e:n<2/3?t+(e-t)*(2/3-n)*6:t}var n=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(t)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(t);t=parseInt(n[1])/360;var r=parseInt(n[2])/100,i=parseInt(n[3])/100,n=n[4]||1;if(0==r)i=r=t=i;else{var o=.5>i?i*(1+r):i+r-i*r,a=2*i-o,i=e(a,o,t+1/3),r=e(a,o,t);t=e(a,o,t-1/3)}return"rgba("+255*i+","+255*r+","+255*t+","+n+")"}(n):void 0;else i=(i=u(n))?n.substr(0,n.length-i.length):n,n=e&&!/\s/g.test(n)?i+e:i;return{original:n+="",numbers:n.match(r)?n.match(r).map(Number):[0],strings:L.str(t)||e?n.split(r):[]}}function T(t){return e(t=t?n(L.arr(t)?t.map(r):r(t)):[],function(t,e,n){return n.indexOf(t)===e})}function w(t,e){var n=o(e);if(L.arr(t)){var i=t.length;2!==i||L.obj(t[0])?L.fnc(e.duration)||(n.duration=e.duration/i):t={value:t}}return r(t).map(function(t,n){return n=n?0:e.delay,t=L.obj(t)&&!L.pth(t)?t:{value:t},L.und(t.delay)&&(t.delay=n),t}).map(function(t){return c(t,n)})}function E(t,e){var n;return t.tweens.map(function(r){var i=(r=function(t,e){var n,r={};for(n in t){var i=l(t[n],e);L.arr(i)&&1===(i=i.map(function(t){return l(t,e)})).length&&(i=i[0]),r[n]=i}return r.duration=parseFloat(r.duration),r.delay=parseFloat(r.delay),r}(r,e)).value,o=d(e.target,t.name),a=n?n.to.original:o,a=L.arr(i)?i[0]:a,s=m(L.arr(i)?i[1]:i,a),o=u(s)||u(a)||u(o);return r.from=x(a,o),r.to=x(s,o),r.start=n?n.end:t.offset,r.end=r.start+r.delay+r.duration,r.easing=function(t){return L.arr(t)?N.apply(this,t):j[t]}(r.easing),r.elasticity=(1e3-Math.min(Math.max(r.elasticity,1),999))/1e3,r.isPath=L.pth(i),r.isColor=L.col(r.from.original),r.isColor&&(r.round=1),n=r})}function C(t,r){return e(n(t.map(function(t){return r.map(function(e){var n=p(t.target,e.name);if(n){var r=E(e,t);e={type:n,property:e.name,animatable:t,tweens:r,duration:r[r.length-1].end,delay:r[0].delay}}else e=void 0;return e})})),function(t){return!L.und(t)})}function S(t,e,n,r){var i="delay"===t;return e.length?(i?Math.min:Math.max).apply(Math,e.map(function(e){return e[t]})):i?r.delay:n.offset+r.delay+r.duration}function O(t){var e,n=a(M,t),r=a(P,t),i=function(t){var e=T(t);return e.map(function(t,n){return{target:t,id:n,total:e.length}})}(t.targets),o=[],s=c(n,r);for(e in t)s.hasOwnProperty(e)||"targets"===e||o.push({name:e,offset:s.offset,tweens:w(t[e],r)});return t=C(i,o),c(n,{children:[],animatables:i,animations:t,duration:S("duration",t,n,r),delay:S("delay",t,n,r)})}function A(t){function n(){return window.Promise&&new Promise(function(t){return p=t})}function r(t){return d.reversed?d.duration-t:t}function i(t){for(var n=0,r={},i=d.animations,o=i.length;n<o;){var a=i[n],s=a.animatable,c=a.tweens,u=c.length-1,l=c[u];u&&(l=e(c,function(e){return t<e.end})[0]||l);for(var c=Math.min(Math.max(t-l.start-l.delay,0),l.duration)/l.duration,p=isNaN(c)?1:l.easing(c,l.elasticity),c=l.to.strings,h=l.round,u=[],m=void 0,m=l.to.numbers.length,v=0;v<m;v++){var g=void 0,g=l.to.numbers[v],y=l.from.numbers[v],g=l.isPath?b(l.value,p*g):y+p*(g-y);h&&(l.isColor&&2<v||(g=Math.round(g*h)/h)),u.push(g)}if(l=c.length)for(m=c[0],p=0;p<l;p++)h=c[p+1],v=u[p],isNaN(v)||(m=h?m+(v+h):m+(v+" "));else m=u[0];_[a.type](s.target,a.property,m,r,s.id),a.currentValue=m,n++}if(n=Object.keys(r).length)for(i=0;i<n;i++)I||(I=f(document.body,"transform")?"transform":"-webkit-transform"),d.animatables[i].target.style[I]=r[i].join(" ");d.currentTime=t,d.progress=t/d.duration*100}function o(t){d[t]&&d[t](d)}function a(){d.remaining&&!0!==d.remaining&&d.remaining--}function s(t){var e=d.duration,s=d.offset,f=s+d.delay,m=d.currentTime,v=d.reversed,g=r(t);if(d.children.length){var y=d.children,b=y.length;if(g>=d.currentTime)for(var x=0;x<b;x++)y[x].seek(g);else for(;b--;)y[b].seek(g)}(g>=f||!e)&&(d.began||(d.began=!0,o("begin")),o("run")),g>s&&g<e?i(g):(g<=s&&0!==m&&(i(0),v&&a()),(g>=e&&m!==e||!e)&&(i(e),v||a())),o("update"),t>=e&&(d.remaining?(u=c,"alternate"===d.direction&&(d.reversed=!d.reversed)):(d.pause(),d.completed||(d.completed=!0,o("complete"),"Promise"in window&&(p(),h=n()))),l=0)}t=void 0===t?{}:t;var c,u,l=0,p=null,h=n(),d=O(t);return d.reset=function(){var t=d.direction,e=d.loop;for(d.currentTime=0,d.progress=0,d.paused=!0,d.began=!1,d.completed=!1,d.reversed="reverse"===t,d.remaining="alternate"===t&&1===e?2:e,i(0),t=d.children.length;t--;)d.children[t].reset()},d.tick=function(t){c=t,u||(u=c),s((l+c-u)*A.speed)},d.seek=function(t){s(r(t))},d.pause=function(){var t=X.indexOf(d);-1<t&&X.splice(t,1),d.paused=!0},d.play=function(){d.paused&&(d.paused=!1,u=0,l=r(d.currentTime),X.push(d),D||R())},d.reverse=function(){d.reversed=!d.reversed,u=0,l=r(d.currentTime)},d.restart=function(){d.pause(),d.reset(),d.play()},d.finished=h,d.reset(),d.autoplay&&d.play(),d}var I,M={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},P={duration:1e3,delay:0,easing:"easeOutElastic",elasticity:500,round:0},k="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),L={arr:function(t){return Array.isArray(t)},obj:function(t){return-1<Object.prototype.toString.call(t).indexOf("Object")},pth:function(t){return L.obj(t)&&t.hasOwnProperty("totalLength")},svg:function(t){return t instanceof SVGElement},dom:function(t){return t.nodeType||L.svg(t)},str:function(t){return"string"==typeof t},fnc:function(t){return"function"==typeof t},und:function(t){return void 0===t},hex:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},rgb:function(t){return/^rgb/.test(t)},hsl:function(t){return/^hsl/.test(t)},col:function(t){return L.hex(t)||L.rgb(t)||L.hsl(t)}},N=function(){function t(t,e,n){return(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t}return function(e,n,r,i){if(0<=e&&1>=e&&0<=r&&1>=r){var o=new Float32Array(11);if(e!==n||r!==i)for(var a=0;11>a;++a)o[a]=t(.1*a,e,r);return function(a){if(e===n&&r===i)return a;if(0===a)return 0;if(1===a)return 1;for(var s=0,c=1;10!==c&&o[c]<=a;++c)s+=.1;var c=s+(a-o[--c])/(o[c+1]-o[c])*.1,u=3*(1-3*r+3*e)*c*c+2*(3*r-6*e)*c+3*e;if(.001<=u){for(s=0;4>s&&0!=(u=3*(1-3*r+3*e)*c*c+2*(3*r-6*e)*c+3*e);++s)var l=t(c,e,r)-a,c=c-l/u;a=c}else if(0===u)a=c;else{var c=s,s=s+.1,f=0;do{0<(u=t(l=c+(s-c)/2,e,r)-a)?s=l:c=l}while(1e-7<Math.abs(u)&&10>++f);a=l}return t(a,n,i)}}}}(),j=function(){function t(t,e){return 0===t||1===t?t:-Math.pow(2,10*(t-1))*Math.sin(2*(t-1-e/(2*Math.PI)*Math.asin(1))*Math.PI/e)}var e,n="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),r={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],t],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(e,n){return 1-t(1-e,n)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(e,n){return.5>e?t(2*e,n)/2:1-t(-2*e+2,n)/2}]},i={linear:N(.25,.25,.75,.75)},o={};for(e in r)o.type=e,r[o.type].forEach(function(t){return function(e,r){i["ease"+t.type+n[r]]=L.fnc(e)?e:N.apply(s,e)}}(o)),o={type:o.type};return i}(),_={css:function(t,e,n){return t.style[e]=n},attribute:function(t,e,n){return t.setAttribute(e,n)},object:function(t,e,n){return t[e]=n},transform:function(t,e,n,r,i){r[i]||(r[i]=[]),r[i].push(e+"("+n+")")}},X=[],D=0,R=function(){function t(){D=requestAnimationFrame(e)}function e(e){var n=X.length;if(n){for(var r=0;r<n;)X[r]&&X[r].tick(e),r++;t()}else cancelAnimationFrame(D),D=0}return t}();return A.version="2.2.0",A.speed=1,A.running=X,A.remove=function(t){t=T(t);for(var e=X.length;e--;)for(var n=X[e],r=n.animations,o=r.length;o--;)i(t,r[o].animatable.target)&&(r.splice(o,1),r.length||n.pause())},A.getValue=d,A.path=function(e,n){var r=L.str(e)?t(e)[0]:e,i=n||100;return function(t){return{el:r,property:t,totalLength:y(r)*(i/100)}}},A.setDashoffset=function(t){var e=y(t);return t.setAttribute("stroke-dasharray",e),e},A.bezier=N,A.easings=j,A.timeline=function(t){var e=A(t);return e.pause(),e.duration=0,e.add=function(n){return e.children.forEach(function(t){t.began=!0,t.completed=!0}),r(n).forEach(function(n){var r=c(n,a(P,t||{}));r.targets=r.targets||t.targets,n=e.duration;var i=r.offset;r.autoplay=!1,r.direction=e.direction,r.offset=L.und(i)?n:m(i,n),e.began=!0,e.completed=!0,e.seek(r.offset),(r=A(r)).began=!0,r.completed=!0,r.duration>n&&(e.duration=r.duration),e.children.push(r)}),e.seek(0),e.reset(),e.autoplay&&e.restart(),e},e},A.random=function(t,e){return Math.floor(Math.random()*(e-t+1))+t},A},void 0!==(o="function"==typeof r?r.apply(e,i):r)&&(t.exports=o)}).call(e,n(25))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),i=n(4),o=n.n(i),a={install:function(t,e){e||(e={});var n=new r.a(e);t.component("toasted",o.a),t.toasted=t.prototype.$toasted=n}};"undefined"!=typeof window&&window.Vue&&(window.Toasted=a),e.default=a},function(t,e,n){"use strict";n.d(e,"a",function(){return a});var r=n(1),i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=function(t,e,n){return setTimeout(function(){n.cached_options.position&&n.cached_options.position.includes("bottom")?r.a.animateOutBottom(t,function(){n.remove(t)}):r.a.animateOut(t,function(){n.remove(t)})},e),!0},a=function(t,e){var n=!1;return{el:t,text:function(e){return function(t,e){("object"===("undefined"==typeof HTMLElement?"undefined":i(HTMLElement))?e instanceof HTMLElement:e&&"object"===(void 0===e?"undefined":i(e))&&null!==e&&1===e.nodeType&&"string"==typeof e.nodeName)?t.appendChild(e):t.innerHTML=e}(t,e),this},goAway:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:800;return n=!0,o(t,r,e)},remove:function(){e.remove(t)},disposed:function(){return n}}}},function(t,e,n){"use strict";var r=n(12),i=n.n(r),o=n(1),a=n(7),s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c=n(2),u={},l=null,f=function(t){return t.className=t.className||null,t.onComplete=t.onComplete||null,t.position=t.position||"top-right",t.duration=t.duration||null,t.theme=t.theme||"primary",t.type=t.type||"default",t.containerClass=t.containerClass||null,t.fullWidth=t.fullWidth||!1,t.icon=t.icon||null,t.action=t.action||null,t.fitToScreen=t.fitToScreen||null,t.closeOnSwipe=void 0===t.closeOnSwipe||t.closeOnSwipe,t.iconPack=t.iconPack||"material",t.className&&"string"==typeof t.className&&(t.className=t.className.split(" ")),t.className||(t.className=[]),t.theme&&t.className.push(t.theme.trim()),t.type&&t.className.push(t.type),t.containerClass&&"string"==typeof t.containerClass&&(t.containerClass=t.containerClass.split(" ")),t.containerClass||(t.containerClass=[]),t.position&&t.containerClass.push(t.position.trim()),t.fullWidth&&t.containerClass.push("full-width"),t.fitToScreen&&t.containerClass.push("fit-to-screen"),u=t,t},p=function(t,e){var r=document.createElement("div");if(r.classList.add("toasted"),r.hash=c.generate(),e.className&&e.className.forEach(function(t){r.classList.add(t)}),("object"===("undefined"==typeof HTMLElement?"undefined":s(HTMLElement))?t instanceof HTMLElement:t&&"object"===(void 0===t?"undefined":s(t))&&null!==t&&1===t.nodeType&&"string"==typeof t.nodeName)?r.appendChild(t):r.innerHTML=t,h(e,r),e.closeOnSwipe){var u=new i.a(r,{prevent_default:!1});u.on("pan",function(t){var e=t.deltaX;r.classList.contains("panning")||r.classList.add("panning");var n=1-Math.abs(e/80);n<0&&(n=0),o.a.animatePanning(r,e,n)}),u.on("panend",function(t){var n=t.deltaX;Math.abs(n)>80?o.a.animatePanEnd(r,function(){"function"==typeof e.onComplete&&e.onComplete(),r.parentNode&&l.remove(r)}):(r.classList.remove("panning"),o.a.animateReset(r))})}if(Array.isArray(e.action))e.action.forEach(function(t){var e=m(t,n.i(a.a)(r,l));e&&r.appendChild(e)});else if("object"===s(e.action)){var f=m(e.action,n.i(a.a)(r,l));f&&r.appendChild(f)}return r},h=function(t,e){if(t.icon){var n=document.createElement("i");switch(t.iconPack){case"fontawesome":n.classList.add("fa");var r=t.icon.name?t.icon.name:t.icon;r.includes("fa-")?n.classList.add(r.trim()):n.classList.add("fa-"+r.trim());break;case"mdi":n.classList.add("mdi");var i=t.icon.name?t.icon.name:t.icon;i.includes("mdi-")?n.classList.add(i.trim()):n.classList.add("mdi-"+i.trim());break;case"custom-class":var o=t.icon.name?t.icon.name:t.icon;"string"==typeof o?o.split(" ").forEach(function(t){n.classList.add(t)}):Array.isArray(o)&&o.forEach(function(t){n.classList.add(t.trim())});break;default:n.classList.add("material-icons"),n.textContent=t.icon.name?t.icon.name:t.icon}t.icon.after&&n.classList.add("after"),d(t,n,e)}},d=function(t,e,n){t.icon&&(t.icon.after&&t.icon.name?n.appendChild(e):(t.icon.name,n.insertBefore(e,n.firstChild)))},m=function(t,e){if(!t)return null;var n=document.createElement("a");if(n.classList.add("action"),n.classList.add("ripple"),t.text&&(n.text=t.text),t.href&&(n.href=t.href),t.icon){n.classList.add("icon");var r=document.createElement("i");switch(u.iconPack){case"fontawesome":r.classList.add("fa"),t.icon.includes("fa-")?r.classList.add(t.icon.trim()):r.classList.add("fa-"+t.icon.trim());break;case"mdi":r.classList.add("mdi"),t.icon.includes("mdi-")?r.classList.add(t.icon.trim()):r.classList.add("mdi-"+t.icon.trim());break;case"custom-class":"string"==typeof t.icon?t.icon.split(" ").forEach(function(t){n.classList.add(t)}):Array.isArray(t.icon)&&t.icon.forEach(function(t){n.classList.add(t.trim())});break;default:r.classList.add("material-icons"),r.textContent=t.icon}n.appendChild(r)}return t.class&&("string"==typeof t.class?t.class.split(" ").forEach(function(t){n.classList.add(t)}):Array.isArray(t.class)&&t.class.forEach(function(t){n.classList.add(t.trim())})),t.push&&n.addEventListener("click",function(n){n.preventDefault(),u.router?(u.router.push(t.push),t.push.dontClose||e.goAway(0)):console.warn("[vue-toasted] : Vue Router instance is not attached. please check the docs")}),t.onClick&&"function"==typeof t.onClick&&n.addEventListener("click",function(n){t.onClick&&(n.preventDefault(),t.onClick(n,e))}),n};e.a=function(t,e,r){l=t,r=f(r);var i=document.getElementById(l.id);null===i&&((i=document.createElement("div")).id=l.id,document.body.appendChild(i)),r.containerClass.unshift("toasted-container"),i.className!==r.containerClass.join(" ")&&(i.className="",r.containerClass.forEach(function(t){i.classList.add(t)}));var s=p(e,r);e&&i.appendChild(s),s.style.opacity=0,o.a.animateIn(s);var c=r.duration,u=void 0;return null!==c&&(u=setInterval(function(){null===s.parentNode&&window.clearInterval(u),s.classList.contains("panning")||(c-=20),c<=0&&(o.a.animateOut(s,function(){"function"==typeof r.onComplete&&r.onComplete(),s.parentNode&&l.remove(s)}),window.clearInterval(u))},20)),n.i(a.a)(s,l)}},function(t,e,n){(t.exports=n(10)()).push([t.i,".toasted{padding:0 20px}.toasted.rounded{border-radius:24px}.toasted.primary{border-radius:2px;min-height:38px;line-height:1.1em;background-color:#353535;padding:0 20px;font-size:15px;font-weight:300;color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.toasted.primary.success{background:#4caf50}.toasted.primary.error{background:#f44336}.toasted.primary.info{background:#3f51b5}.toasted.primary .action{color:#a1c2fa}.toasted.bubble{border-radius:30px;min-height:38px;line-height:1.1em;background-color:#ff7043;padding:0 20px;font-size:15px;font-weight:300;color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.toasted.bubble.success{background:#4caf50}.toasted.bubble.error{background:#f44336}.toasted.bubble.info{background:#3f51b5}.toasted.bubble .action{color:#8e2b0c}.toasted.outline{border-radius:30px;min-height:38px;line-height:1.1em;background-color:#fff;border:1px solid #676767;padding:0 20px;font-size:15px;color:#676767;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);font-weight:700}.toasted.outline.success{color:#4caf50;border-color:#4caf50}.toasted.outline.error{color:#f44336;border-color:#f44336}.toasted.outline.info{color:#3f51b5;border-color:#3f51b5}.toasted.outline .action{color:#607d8b}.toasted-container{position:fixed;z-index:10000}.toasted-container,.toasted-container.full-width{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.toasted-container.full-width{max-width:86%;width:100%}.toasted-container.full-width.fit-to-screen{min-width:100%}.toasted-container.full-width.fit-to-screen .toasted:first-child{margin-top:0}.toasted-container.full-width.fit-to-screen.top-right{top:0;right:0}.toasted-container.full-width.fit-to-screen.top-left{top:0;left:0}.toasted-container.full-width.fit-to-screen.top-center{top:0;left:0;-webkit-transform:translateX(0);transform:translateX(0)}.toasted-container.full-width.fit-to-screen.bottom-right{right:0;bottom:0}.toasted-container.full-width.fit-to-screen.bottom-left{left:0;bottom:0}.toasted-container.full-width.fit-to-screen.bottom-center{left:0;bottom:0;-webkit-transform:translateX(0);transform:translateX(0)}.toasted-container.top-right{top:10%;right:7%}.toasted-container.top-left{top:10%;left:7%}.toasted-container.top-center{top:10%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.toasted-container.bottom-right{right:5%;bottom:7%}.toasted-container.bottom-left{left:5%;bottom:7%}.toasted-container.bottom-center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:7%}.toasted-container.bottom-left .toasted,.toasted-container.top-left .toasted{float:left}.toasted-container.bottom-right .toasted,.toasted-container.top-right .toasted{float:right}.toasted-container .toasted{top:35px;width:auto;clear:both;margin-top:10px;position:relative;max-width:100%;height:auto;word-break:normal;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;box-sizing:inherit}.toasted-container .toasted .fa,.toasted-container .toasted .material-icons,.toasted-container .toasted .mdi{margin-right:.5rem;margin-left:-.4rem}.toasted-container .toasted .fa.after,.toasted-container .toasted .material-icons.after,.toasted-container .toasted .mdi.after{margin-left:.5rem;margin-right:-.4rem}.toasted-container .toasted .action{text-decoration:none;font-size:.8rem;padding:8px;margin:5px -7px 5px 7px;border-radius:3px;text-transform:uppercase;letter-spacing:.03em;font-weight:600;cursor:pointer}.toasted-container .toasted .action.icon{padding:4px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toasted-container .toasted .action.icon .fa,.toasted-container .toasted .action.icon .material-icons,.toasted-container .toasted .action.icon .mdi{margin-right:0;margin-left:4px}.toasted-container .toasted .action.icon:hover{text-decoration:none}.toasted-container .toasted .action:hover{text-decoration:underline}@media only screen and (max-width:600px){#toasted-container{min-width:100%}#toasted-container .toasted:first-child{margin-top:0}#toasted-container.top-right{top:0;right:0}#toasted-container.top-left{top:0;left:0}#toasted-container.top-center{top:0;left:0;-webkit-transform:translateX(0);transform:translateX(0)}#toasted-container.bottom-right{right:0;bottom:0}#toasted-container.bottom-left{left:0;bottom:0}#toasted-container.bottom-center{left:0;bottom:0;-webkit-transform:translateX(0);transform:translateX(0)}#toasted-container.bottom-center,#toasted-container.top-center{-ms-flex-align:stretch!important;align-items:stretch!important}#toasted-container.bottom-left .toasted,#toasted-container.bottom-right .toasted,#toasted-container.top-left .toasted,#toasted-container.top-right .toasted{float:none}#toasted-container .toasted{border-radius:0}}",""])},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e<this.length;e++){var n=this[e];n[2]?t.push("@media "+n[2]+"{"+n[1]+"}"):t.push(n[1])}return t.join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},i=0;i<this.length;i++){var o=this[i][0];"number"==typeof o&&(r[o]=!0)}for(i=0;i<e.length;i++){var a=e[i];"number"==typeof a[0]&&r[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]="("+a[2]+") and ("+n+")"),t.push(a))}},t}},function(t,e,n){"use strict";function r(t,e){if(void 0===t||null===t)throw new TypeError("Cannot convert first argument to object");for(var n=Object(t),r=1;r<arguments.length;r++){var i=arguments[r];if(void 0!==i&&null!==i)for(var o=Object.keys(Object(i)),a=0,s=o.length;a<s;a++){var c=o[a],u=Object.getOwnPropertyDescriptor(i,c);void 0!==u&&u.enumerable&&(n[c]=i[c])}}return n}t.exports={assign:r,polyfill:function(){Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:r})}}},function(t,e,n){var r;!function(i,o,a,s){"use strict";function c(t,e,n){return setTimeout(h(t,n),e)}function u(t,e,n){return!!Array.isArray(t)&&(l(t,n[e],n),!0)}function l(t,e,n){var r;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==s)for(r=0;r<t.length;)e.call(n,t[r],r,t),r++;else for(r in t)t.hasOwnProperty(r)&&e.call(n,t[r],r,t)}function f(t,e,n){var r="DEPRECATED METHOD: "+e+"\n"+n+" AT \n";return function(){var e=new Error("get-stack-trace"),n=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=i.console&&(i.console.warn||i.console.log);return o&&o.call(i.console,r,n),t.apply(this,arguments)}}function p(t,e,n){var r,i=e.prototype;(r=t.prototype=Object.create(i)).constructor=t,r._super=i,n&&nt(r,n)}function h(t,e){return function(){return t.apply(e,arguments)}}function d(t,e){return typeof t==ot?t.apply(e&&e[0]||s,e):t}function m(t,e){return t===s?e:t}function v(t,e,n){l(x(e),function(e){t.addEventListener(e,n,!1)})}function g(t,e,n){l(x(e),function(e){t.removeEventListener(e,n,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function x(t){return t.trim().split(/\s+/g)}function T(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var r=0;r<t.length;){if(n&&t[r][n]==e||!n&&t[r]===e)return r;r++}return-1}function w(t){return Array.prototype.slice.call(t,0)}function E(t,e,n){for(var r=[],i=[],o=0;o<t.length;){var a=e?t[o][e]:t[o];T(i,a)<0&&r.push(t[o]),i[o]=a,o++}return n&&(r=e?r.sort(function(t,n){return t[e]>n[e]}):r.sort()),r}function C(t,e){for(var n,r,i=e[0].toUpperCase()+e.slice(1),o=0;o<rt.length;){if(n=rt[o],(r=n?n+i:e)in t)return r;o++}return s}function S(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow||i}function O(t,e){var n=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){d(t.options.enable,[t])&&n.handler(e)},this.init()}function A(t,e,n){var r=n.pointers.length,i=n.changedPointers.length,o=e&vt&&r-i==0,a=e&(yt|bt)&&r-i==0;n.isFirst=!!o,n.isFinal=!!a,o&&(t.session={}),n.eventType=e,function(t,e){var n=t.session,r=e.pointers,i=r.length;n.firstInput||(n.firstInput=M(e)),i>1&&!n.firstMultiple?n.firstMultiple=M(e):1===i&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,s=a?a.center:o.center,c=e.center=P(r);e.timeStamp=ct(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=j(s,c),e.distance=N(s,c),function(t,e){var n=e.center,r=t.offsetDelta||{},i=t.prevDelta||{},o=t.prevInput||{};e.eventType!==vt&&o.eventType!==yt||(i=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},r=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=i.x+(n.x-r.x),e.deltaY=i.y+(n.y-r.y)}(n,e),e.offsetDirection=L(e.deltaX,e.deltaY);var u=k(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=st(u.x)>st(u.y)?u.x:u.y,e.scale=a?function(t,e){return N(e[0],e[1],Mt)/N(t[0],t[1],Mt)}(a.pointers,r):1,e.rotation=a?function(t,e){return j(e[1],e[0],Mt)+j(t[1],t[0],Mt)}(a.pointers,r):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,I(n,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function I(t,e){var n,r,i,o,a=t.lastInterval||e,c=e.timeStamp-a.timeStamp;if(e.eventType!=bt&&(c>mt||a.velocity===s)){var u=e.deltaX-a.deltaX,l=e.deltaY-a.deltaY,f=k(c,u,l);r=f.x,i=f.y,n=st(f.x)>st(f.y)?f.x:f.y,o=L(u,l),t.lastInterval=e}else n=a.velocity,r=a.velocityX,i=a.velocityY,o=a.direction;e.velocity=n,e.velocityX=r,e.velocityY=i,e.direction=o}function M(t){for(var e=[],n=0;n<t.pointers.length;)e[n]={clientX:at(t.pointers[n].clientX),clientY:at(t.pointers[n].clientY)},n++;return{timeStamp:ct(),pointers:e,center:P(e),deltaX:t.deltaX,deltaY:t.deltaY}}function P(t){var e=t.length;if(1===e)return{x:at(t[0].clientX),y:at(t[0].clientY)};for(var n=0,r=0,i=0;i<e;)n+=t[i].clientX,r+=t[i].clientY,i++;return{x:at(n/e),y:at(r/e)}}function k(t,e,n){return{x:e/t||0,y:n/t||0}}function L(t,e){return t===e?xt:st(t)>=st(e)?t<0?Tt:wt:e<0?Et:Ct}function N(t,e,n){n||(n=It);var r=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return Math.sqrt(r*r+i*i)}function j(t,e,n){n||(n=It);var r=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return 180*Math.atan2(i,r)/Math.PI}function _(){this.evEl=kt,this.evWin=Lt,this.pressed=!1,O.apply(this,arguments)}function X(){this.evEl=_t,this.evWin=Xt,O.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function D(){this.evTarget=Rt,this.evWin=Ft,this.started=!1,O.apply(this,arguments)}function R(){this.evTarget=Yt,this.targetIds={},O.apply(this,arguments)}function F(){O.apply(this,arguments);var t=h(this.handler,this);this.touch=new R(this.manager,t),this.mouse=new _(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function z(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var n={x:e.clientX,y:e.clientY};this.lastTouches.push(n);var r=this.lastTouches;setTimeout(function(){var t=r.indexOf(n);t>-1&&r.splice(t,1)},qt)}}function Y(t,e){this.manager=t,this.set(e)}function q(t){this.options=nt({},this.defaults,t||{}),this.id=ft++,this.manager=null,this.options.enable=m(this.options.enable,!0),this.state=Jt,this.simultaneous={},this.requireFail=[]}function H(t){return t&re?"cancel":t&ee?"end":t&te?"move":t&Kt?"start":""}function V(t){return t==Ct?"down":t==Et?"up":t==Tt?"left":t==wt?"right":""}function W(t,e){var n=e.manager;return n?n.get(t):t}function U(){q.apply(this,arguments)}function B(){U.apply(this,arguments),this.pX=null,this.pY=null}function $(){U.apply(this,arguments)}function G(){q.apply(this,arguments),this._timer=null,this._input=null}function Z(){U.apply(this,arguments)}function Q(){U.apply(this,arguments)}function J(){q.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function K(t,e){return(e=e||{}).recognizers=m(e.recognizers,K.defaults.preset),new tt(t,e)}function tt(t,e){this.options=nt({},K.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=function(t){return new(t.options.inputClass||(ht?X:dt?R:pt?F:_))(t,A)}(this),this.touchAction=new Y(this,this.options.touchAction),et(this,!0),l(this.options.recognizers,function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])},this)}function et(t,e){var n,r=t.element;r.style&&(l(t.options.cssProps,function(i,o){n=C(r.style,o),e?(t.oldCssProps[n]=r.style[n],r.style[n]=i):r.style[n]=t.oldCssProps[n]||""}),e||(t.oldCssProps={}))}var nt,rt=["","webkit","Moz","MS","ms","o"],it=o.createElement("div"),ot="function",at=Math.round,st=Math.abs,ct=Date.now;nt="function"!=typeof Object.assign?function(t){if(t===s||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n<arguments.length;n++){var r=arguments[n];if(r!==s&&null!==r)for(var i in r)r.hasOwnProperty(i)&&(e[i]=r[i])}return e}:Object.assign;var ut=f(function(t,e,n){for(var r=Object.keys(e),i=0;i<r.length;)(!n||n&&t[r[i]]===s)&&(t[r[i]]=e[r[i]]),i++;return t},"extend","Use `assign`."),lt=f(function(t,e){return ut(t,e,!0)},"merge","Use `assign`."),ft=1,pt="ontouchstart"in i,ht=C(i,"PointerEvent")!==s,dt=pt&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),mt=25,vt=1,gt=2,yt=4,bt=8,xt=1,Tt=2,wt=4,Et=8,Ct=16,St=Tt|wt,Ot=Et|Ct,At=St|Ot,It=["x","y"],Mt=["clientX","clientY"];O.prototype={handler:function(){},init:function(){this.evEl&&v(this.element,this.evEl,this.domHandler),this.evTarget&&v(this.target,this.evTarget,this.domHandler),this.evWin&&v(S(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&g(this.element,this.evEl,this.domHandler),this.evTarget&&g(this.target,this.evTarget,this.domHandler),this.evWin&&g(S(this.element),this.evWin,this.domHandler)}};var Pt={mousedown:vt,mousemove:gt,mouseup:yt},kt="mousedown",Lt="mousemove mouseup";p(_,O,{handler:function(t){var e=Pt[t.type];e&vt&&0===t.button&&(this.pressed=!0),e>&&1!==t.which&&(e=yt),this.pressed&&(e&yt&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}});var Nt={pointerdown:vt,pointermove:gt,pointerup:yt,pointercancel:bt,pointerout:bt},jt={2:"touch",3:"pen",4:"mouse",5:"kinect"},_t="pointerdown",Xt="pointermove pointerup pointercancel";i.MSPointerEvent&&!i.PointerEvent&&(_t="MSPointerDown",Xt="MSPointerMove MSPointerUp MSPointerCancel"),p(X,O,{handler:function(t){var e=this.store,n=!1,r=t.type.toLowerCase().replace("ms",""),i=Nt[r],o=jt[t.pointerType]||t.pointerType,a="touch"==o,s=T(e,t.pointerId,"pointerId");i&vt&&(0===t.button||a)?s<0&&(e.push(t),s=e.length-1):i&(yt|bt)&&(n=!0),s<0||(e[s]=t,this.callback(this.manager,i,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(s,1))}});var Dt={touchstart:vt,touchmove:gt,touchend:yt,touchcancel:bt},Rt="touchstart",Ft="touchstart touchmove touchend touchcancel";p(D,O,{handler:function(t){var e=Dt[t.type];if(e===vt&&(this.started=!0),this.started){var n=function(t,e){var n=w(t.touches),r=w(t.changedTouches);return e&(yt|bt)&&(n=E(n.concat(r),"identifier",!0)),[n,r]}.call(this,t,e);e&(yt|bt)&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:"touch",srcEvent:t})}}});var zt={touchstart:vt,touchmove:gt,touchend:yt,touchcancel:bt},Yt="touchstart touchmove touchend touchcancel";p(R,O,{handler:function(t){var e=zt[t.type],n=function(t,e){var n=w(t.touches),r=this.targetIds;if(e&(vt|gt)&&1===n.length)return r[n[0].identifier]=!0,[n,n];var i,o,a=w(t.changedTouches),s=[],c=this.target;if(o=n.filter(function(t){return y(t.target,c)}),e===vt)for(i=0;i<o.length;)r[o[i].identifier]=!0,i++;for(i=0;i<a.length;)r[a[i].identifier]&&s.push(a[i]),e&(yt|bt)&&delete r[a[i].identifier],i++;return s.length?[E(o.concat(s),"identifier",!0),s]:void 0}.call(this,t,e);n&&this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:"touch",srcEvent:t})}});var qt=2500,Ht=25;p(F,O,{handler:function(t,e,n){var r="touch"==n.pointerType,i="mouse"==n.pointerType;if(!(i&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if(r)(function(t,e){t&vt?(this.primaryTouch=e.changedPointers[0].identifier,z.call(this,e)):t&(yt|bt)&&z.call(this,e)}).call(this,e,n);else if(i&&function(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,r=0;r<this.lastTouches.length;r++){var i=this.lastTouches[r],o=Math.abs(e-i.x),a=Math.abs(n-i.y);if(o<=Ht&&a<=Ht)return!0}return!1}.call(this,n))return;this.callback(t,e,n)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var Vt=C(it.style,"touchAction"),Wt=Vt!==s,Ut="auto",Bt="manipulation",$t="none",Gt="pan-x",Zt="pan-y",Qt=function(){if(!Wt)return!1;var t={},e=i.CSS&&i.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(n){t[n]=!e||i.CSS.supports("touch-action",n)}),t}();Y.prototype={set:function(t){"compute"==t&&(t=this.compute()),Wt&&this.manager.element.style&&Qt[t]&&(this.manager.element.style[Vt]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){d(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),function(t){if(b(t,$t))return $t;var e=b(t,Gt),n=b(t,Zt);return e&&n?$t:e||n?e?Gt:Zt:b(t,Bt)?Bt:Ut}(t.join(" "))},preventDefaults:function(t){var e=t.srcEvent,n=t.offsetDirection;if(!this.manager.session.prevented){var r=this.actions,i=b(r,$t)&&!Qt[$t],o=b(r,Zt)&&!Qt[Zt],a=b(r,Gt)&&!Qt[Gt];if(i){var s=1===t.pointers.length,c=t.distance<2,u=t.deltaTime<250;if(s&&c&&u)return}return a&&o?void 0:i||o&&n&St||a&&n&Ot?this.preventSrc(e):void 0}e.preventDefault()},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var Jt=1,Kt=2,te=4,ee=8,ne=ee,re=16;q.prototype={defaults:{},set:function(t){return nt(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(u(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=W(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return u(t,"dropRecognizeWith",this)?this:(t=W(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(u(t,"requireFailure",this))return this;var e=this.requireFail;return t=W(t,this),-1===T(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(u(t,"dropRequireFailure",this))return this;t=W(t,this);var e=T(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){n.manager.emit(e,t)}var n=this,r=this.state;r<ee&&e(n.options.event+H(r)),e(n.options.event),t.additionalEvent&&e(t.additionalEvent),r>=ee&&e(n.options.event+H(r))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;t<this.requireFail.length;){if(!(this.requireFail[t].state&(32|Jt)))return!1;t++}return!0},recognize:function(t){var e=nt({},t);if(!d(this.options.enable,[this,e]))return this.reset(),void(this.state=32);this.state&(ne|re|32)&&(this.state=Jt),this.state=this.process(e),this.state&(Kt|te|ee|re)&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},p(U,q,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,n=t.eventType,r=e&(Kt|te),i=this.attrTest(t);return r&&(n&bt||!i)?e|re:r||i?n&yt?e|ee:e&Kt?e|te:Kt:32}}),p(B,U,{defaults:{event:"pan",threshold:10,pointers:1,direction:At},getTouchAction:function(){var t=this.options.direction,e=[];return t&St&&e.push(Zt),t&Ot&&e.push(Gt),e},directionTest:function(t){var e=this.options,n=!0,r=t.distance,i=t.direction,o=t.deltaX,a=t.deltaY;return i&e.direction||(e.direction&St?(i=0===o?xt:o<0?Tt:wt,n=o!=this.pX,r=Math.abs(t.deltaX)):(i=0===a?xt:a<0?Et:Ct,n=a!=this.pY,r=Math.abs(t.deltaY))),t.direction=i,n&&r>e.threshold&&i&e.direction},attrTest:function(t){return U.prototype.attrTest.call(this,t)&&(this.state&Kt||!(this.state&Kt)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=V(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),p($,U,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[$t]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&Kt)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),p(G,q,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Ut]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distance<e.threshold,i=t.deltaTime>e.time;if(this._input=t,!r||!n||t.eventType&(yt|bt)&&!i)this.reset();else if(t.eventType&vt)this.reset(),this._timer=c(function(){this.state=ne,this.tryEmit()},e.time,this);else if(t.eventType&yt)return ne;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ne&&(t&&t.eventType&yt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=ct(),this.manager.emit(this.options.event,this._input)))}}),p(Z,U,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[$t]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&Kt)}}),p(Q,U,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:St|Ot,pointers:1},getTouchAction:function(){return B.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(St|Ot)?e=t.overallVelocity:n&St?e=t.overallVelocityX:n&Ot&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&st(e)>this.options.velocity&&t.eventType&yt},emit:function(t){var e=V(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(J,q,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Bt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distance<e.threshold,i=t.deltaTime<e.time;if(this.reset(),t.eventType&vt&&0===this.count)return this.failTimeout();if(r&&i&&n){if(t.eventType!=yt)return this.failTimeout();var o=!this.pTime||t.timeStamp-this.pTime<e.interval,a=!this.pCenter||N(this.pCenter,t.center)<e.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,a&&o?this.count+=1:this.count=1,this._input=t,0==this.count%e.taps)return this.hasRequireFailures()?(this._timer=c(function(){this.state=ne,this.tryEmit()},e.interval,this),Kt):ne}return 32},failTimeout:function(){return this._timer=c(function(){this.state=32},this.options.interval,this),32},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==ne&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),K.VERSION="2.0.7",K.defaults={domEvents:!1,touchAction:"compute",enable:!0,inputTarget:null,inputClass:null,preset:[[Z,{enable:!1}],[$,{enable:!1},["rotate"]],[Q,{direction:St}],[B,{direction:St},["swipe"]],[J],[J,{event:"doubletap",taps:2},["tap"]],[G]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},tt.prototype={set:function(t){return nt(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){this.touchAction.preventDefaults(t);var n,r=this.recognizers,i=e.curRecognizer;(!i||i&&i.state&ne)&&(i=e.curRecognizer=null);for(var o=0;o<r.length;)n=r[o],2===e.stopped||i&&n!=i&&!n.canRecognizeWith(i)?n.reset():n.recognize(t),!i&&n.state&(Kt|te|ee)&&(i=e.curRecognizer=n),o++}},get:function(t){if(t instanceof q)return t;for(var e=this.recognizers,n=0;n<e.length;n++)if(e[n].options.event==t)return e[n];return null},add:function(t){if(u(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(u(t,"remove",this))return this;if(t=this.get(t)){var e=this.recognizers,n=T(e,t);-1!==n&&(e.splice(n,1),this.touchAction.update())}return this},on:function(t,e){if(t!==s&&e!==s){var n=this.handlers;return l(x(t),function(t){n[t]=n[t]||[],n[t].push(e)}),this}},off:function(t,e){if(t!==s){var n=this.handlers;return l(x(t),function(t){e?n[t]&&n[t].splice(T(n[t],e),1):delete n[t]}),this}},emit:function(t,e){this.options.domEvents&&function(t,e){var n=o.createEvent("Event");n.initEvent(t,!0,!0),n.gesture=e,e.target.dispatchEvent(n)}(t,e);var n=this.handlers[t]&&this.handlers[t].slice();if(n&&n.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var r=0;r<n.length;)n[r](e),r++}},destroy:function(){this.element&&et(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},nt(K,{INPUT_START:vt,INPUT_MOVE:gt,INPUT_END:yt,INPUT_CANCEL:bt,STATE_POSSIBLE:Jt,STATE_BEGAN:Kt,STATE_CHANGED:te,STATE_ENDED:ee,STATE_RECOGNIZED:ne,STATE_CANCELLED:re,STATE_FAILED:32,DIRECTION_NONE:xt,DIRECTION_LEFT:Tt,DIRECTION_RIGHT:wt,DIRECTION_UP:Et,DIRECTION_DOWN:Ct,DIRECTION_HORIZONTAL:St,DIRECTION_VERTICAL:Ot,DIRECTION_ALL:At,Manager:tt,Input:O,TouchAction:Y,TouchInput:R,MouseInput:_,PointerEventInput:X,TouchMouseInput:F,SingleTouchInput:D,Recognizer:q,AttrRecognizer:U,Tap:J,Pan:B,Swipe:Q,Pinch:$,Rotate:Z,Press:G,on:v,off:g,each:l,merge:lt,extend:ut,assign:nt,inherit:p,bindFn:h,prefixed:C}),(void 0!==i?i:"undefined"!=typeof self?self:{}).Hammer=K,(r=function(){return K}.call(e,n,e,t))!==s&&(t.exports=r)}(window,document)},function(t,e){t.exports=function(t,e,n){for(var r=(2<<Math.log(e.length-1)/Math.LN2)-1,i=Math.ceil(1.6*r*n/e.length),o="";;)for(var a=t(i),s=0;s<i;s++){var c=a[s]&r;if(e[c]&&(o+=e[c]).length===n)return o}}},function(t,e,n){"use strict";var r,i,o=n(15),a=(n(0),1459707606518),s=6;t.exports=function(t){var e="",n=Math.floor(.001*(Date.now()-a));return n===i?r++:(r=0,i=n),e+=o(s),e+=o(t),r>0&&(e+=o(r)),e+=o(n)}},function(t,e,n){"use strict";var r=n(0),i=n(18),o=n(13);t.exports=function(t){for(var e,n=0,a="";!e;)a+=o(i,r.get(),1),e=t<Math.pow(16,n+1),n++;return a}},function(t,e,n){"use strict";function r(){return o(s)}var i=n(0),o=n(14),a=n(17),s=n(20)||0;t.exports=r,t.exports.generate=r,t.exports.seed=function(e){return i.seed(e),t.exports},t.exports.worker=function(e){return s=e,t.exports},t.exports.characters=function(t){return void 0!==t&&i.characters(t),i.shuffled()},t.exports.isValid=a},function(t,e,n){"use strict";var r=n(0);t.exports=function(t){return!(!t||"string"!=typeof t||t.length<6||new RegExp("[^"+r.get().replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&")+"]").test(t))}},function(t,e,n){"use strict";var r,i="object"==typeof window&&(window.crypto||window.msCrypto);r=i&&i.getRandomValues?function(t){return i.getRandomValues(new Uint8Array(t))}:function(t){for(var e=[],n=0;n<t;n++)e.push(Math.floor(256*Math.random()));return e},t.exports=r},function(t,e,n){"use strict";var r=1;t.exports={nextValue:function(){return(r=(9301*r+49297)%233280)/233280},seed:function(t){r=t}}},function(t,e,n){"use strict";t.exports=0},function(t,e){t.exports=function(t,e,n,r){var i,o=t=t||{},a=typeof t.default;"object"!==a&&"function"!==a||(i=t,o=t.default);var s="function"==typeof o?o.options:o;if(e&&(s.render=e.render,s.staticRenderFns=e.staticRenderFns),n&&(s._scopeId=n),r){var c=Object.create(s.computed||null);Object.keys(r).forEach(function(t){var e=r[t];c[t]=function(){return e}}),s.computed=c}return{esModule:i,exports:o,options:s}}},function(t,e,n){var r=n(9);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(23)("02af2e15",r,!0,{})},function(t,e,n){function r(t){for(var e=0;e<t.length;e++){var n=t[e],r=u[n.id];if(r){r.refs++;for(var i=0;i<r.parts.length;i++)r.parts[i](n.parts[i]);for(;i<n.parts.length;i++)r.parts.push(o(n.parts[i]));r.parts.length>n.parts.length&&(r.parts.length=n.parts.length)}else{for(var a=[],i=0;i<n.parts.length;i++)a.push(o(n.parts[i]));u[n.id]={id:n.id,refs:1,parts:a}}}}function i(){var t=document.createElement("style");return t.type="text/css",l.appendChild(t),t}function o(t){var e,n,r=document.querySelector("style["+v+'~="'+t.id+'"]');if(r){if(h)return d;r.parentNode.removeChild(r)}if(g){var o=p++;r=f||(f=i()),e=a.bind(null,r,o,!1),n=a.bind(null,r,o,!0)}else r=i(),e=function(t,e){var n=e.css,r=e.media,i=e.sourceMap;if(r&&t.setAttribute("media",r),m.ssrId&&t.setAttribute(v,e.id),i&&(n+="\n/*# sourceURL="+i.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}.bind(null,r),n=function(){r.parentNode.removeChild(r)};return e(t),function(r){if(r){if(r.css===t.css&&r.media===t.media&&r.sourceMap===t.sourceMap)return;e(t=r)}else n()}}function a(t,e,n,r){var i=n?"":r.css;if(t.styleSheet)t.styleSheet.cssText=y(e,i);else{var o=document.createTextNode(i),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(o,a[e]):t.appendChild(o)}}var s="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!s)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var c=n(24),u={},l=s&&(document.head||document.getElementsByTagName("head")[0]),f=null,p=0,h=!1,d=function(){},m=null,v="data-vue-ssr-id",g="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());t.exports=function(t,e,n,i){h=n,m=i||{};var o=c(t,e);return r(o),function(e){for(var n=[],i=0;i<o.length;i++){var a=o[i],s=u[a.id];s.refs--,n.push(s)}e?r(o=c(t,e)):o=[];for(var i=0;i<n.length;i++){var s=n[i];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete u[s.id]}}}};var y=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join("\n")}}()},function(t,e){t.exports=function(t,e){for(var n=[],r={},i=0;i<e.length;i++){var o=e[i],a=o[0],s=o[1],c=o[2],u=o[3],l={id:t+":"+i,css:s,media:c,sourceMap:u};r[a]?r[a].parts.push(l):n.push(r[a]={id:a,parts:[l]})}return n}},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n}])}}]); \ No newline at end of file diff --git a/vuepress/config/index.html b/vuepress/config/index.html new file mode 100644 index 0000000000..d35d75ddf3 --- /dev/null +++ b/vuepress/config/index.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html lang="en-US"> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width,initial-scale=1"> + <title>Config Reference | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/faq/index.html b/vuepress/faq/index.html new file mode 100644 index 0000000000..b18fb9eb64 --- /dev/null +++ b/vuepress/faq/index.html @@ -0,0 +1,33 @@ + + + + + + FAQ | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/guide/assets.html b/vuepress/guide/assets.html new file mode 100644 index 0000000000..302a1367aa --- /dev/null +++ b/vuepress/guide/assets.html @@ -0,0 +1,33 @@ + + + + + + Asset Handling | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/guide/basic-config.html b/vuepress/guide/basic-config.html new file mode 100644 index 0000000000..df57baebbc --- /dev/null +++ b/vuepress/guide/basic-config.html @@ -0,0 +1,33 @@ + + + + + + Configuration | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/guide/deploy.html b/vuepress/guide/deploy.html new file mode 100644 index 0000000000..30c744e9d6 --- /dev/null +++ b/vuepress/guide/deploy.html @@ -0,0 +1,33 @@ + + + + + + Deploying | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/guide/directory-structure.html b/vuepress/guide/directory-structure.html new file mode 100644 index 0000000000..3fb5d5f938 --- /dev/null +++ b/vuepress/guide/directory-structure.html @@ -0,0 +1,33 @@ + + + + + + Directory Structure | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/guide/frontmatter.html b/vuepress/guide/frontmatter.html new file mode 100644 index 0000000000..fdb6c30c89 --- /dev/null +++ b/vuepress/guide/frontmatter.html @@ -0,0 +1,33 @@ + + + + + + Front Matter | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/guide/getting-started.html b/vuepress/guide/getting-started.html new file mode 100644 index 0000000000..9b8d9e0e72 --- /dev/null +++ b/vuepress/guide/getting-started.html @@ -0,0 +1,33 @@ + + + + + + Getting Started | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/guide/global-computed.html b/vuepress/guide/global-computed.html new file mode 100644 index 0000000000..09c3b1950e --- /dev/null +++ b/vuepress/guide/global-computed.html @@ -0,0 +1,33 @@ + + + + + + Global Computed | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/guide/i18n.html b/vuepress/guide/i18n.html new file mode 100644 index 0000000000..2b827de64f --- /dev/null +++ b/vuepress/guide/i18n.html @@ -0,0 +1,33 @@ + + + + + + Internationalization | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/guide/index.html b/vuepress/guide/index.html new file mode 100644 index 0000000000..dcd6ceb2b0 --- /dev/null +++ b/vuepress/guide/index.html @@ -0,0 +1,33 @@ + + + + + + Introduction | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/guide/markdown-slot.html b/vuepress/guide/markdown-slot.html new file mode 100644 index 0000000000..05c6c9868b --- /dev/null +++ b/vuepress/guide/markdown-slot.html @@ -0,0 +1,33 @@ + + + + + + Markdown Slot | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/guide/markdown.html b/vuepress/guide/markdown.html new file mode 100644 index 0000000000..0771b370f4 --- /dev/null +++ b/vuepress/guide/markdown.html @@ -0,0 +1,33 @@ + + + + + + Markdown Extensions | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/guide/permalinks.html b/vuepress/guide/permalinks.html new file mode 100644 index 0000000000..6747f355df --- /dev/null +++ b/vuepress/guide/permalinks.html @@ -0,0 +1,33 @@ + + + + + + Permalinks | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/guide/using-vue.html b/vuepress/guide/using-vue.html new file mode 100644 index 0000000000..65f4f3f6f8 --- /dev/null +++ b/vuepress/guide/using-vue.html @@ -0,0 +1,33 @@ + + + + + + Using Vue in Markdown | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/hero.png b/vuepress/hero.png new file mode 100644 index 0000000000000000000000000000000000000000..ac6beaff060d4e383169f86b007e13ef7313d393 GIT binary patch literal 153793 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%0Aq;h1Y(#@xNill5DXwfr+?5g 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 ROru=^AazZ3N)e9H{|11FNXq~K literal 0 HcmV?d00001 diff --git a/vuepress/icons/apple-touch-icon-152x152.png b/vuepress/icons/apple-touch-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..f24d454a2ecb8851bb893192b64ee09386d30e24 GIT binary patch literal 4046 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 cK^5JQ0?3d{m_4Kdj*!1;003@kYpI!lw*K!+ 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�MrHbYR_buu=L>f*wO=Er8~{qfkYT+HoHag8)VqJoC-#@ zNT})4xRE%sP-B9?xmL5!2Y8VLa?yj@Y@r1C)6o~9GF9nWG!SI2VJ$>ejtUE%Qv&r_ zYLgZ0h3iIrw7{TyurC(g^$XT%PP5`FB3aFpP&fM-8!J#3I_ujG?;7(Xv5ni%BjYP4 z^+oydy=)_&bdxYJx`X%G5PFkUB%3h6RiOs^F?#ojsB%DbfhqzGhuv4)S1%vw@PDyE z3xWF{Y^0>+=Wg! z{>z@$rD6ej*V- z^$zKIOWOfdN4~7@ndhru01+3cxwD&_Muyja({*O;-5VnF(e$WDALNStE{1{F#ts+VR{o zSlQ*@U=Du8fgKW$lU~)O)b6FS?H1SSnKVIC=DOvbo8IUvM zVf+U4YxG%qLGd%ew7Jp8>@U`ew+A#Q=2oJHNH@_f!WadS20$KZEZ+BHAvU@FB zzRCYN5r+Z#g`C^hrH$yW7ABstwjvMM*CHGzY41bbo2zy$6E8DAOPn zUnHG?e7?u7pQ}Kqbu1jEd+=mcGea4aL6V4g(m*b7x}z|ijsjb3e|tf-3&^JK{=sWz z8sqIu9jy)#J}n}cXqtXmkb-NDVPcAKn=G9uX42zYvufu_OCr>xJ=oTNp8WA5wEqvM z{r~m8;7_C>U68iRr@|rd7UYhON#(-S_+Uf>s)hhPU{{exlxc&eD literal 0 HcmV?d00001 diff --git a/vuepress/icons/apple-touch-icon-60x60.png b/vuepress/icons/apple-touch-icon-60x60.png new file mode 100644 index 0000000000000000000000000000000000000000..cf10a5602e653bb126332934e2b7f34081c19a01 GIT binary patch literal 1491 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

aZW9cb|x>1jZDoAu$NpeWiVk@{x{! zmmBmDgx|qNN?LyIrl9$qmj{KjZ8zpa=4edK3FuFS$KFl}bWPoO*Ax#Z1c2#3JAN(O zYhi>`%H9fSnLkAq|5vs>+?U*bdfMc6TmDu+QqnN9xgfZsG25($^;v7U1nBl9Q^o*i z)&?UaYZ=~7XZa75xPKB1s~MB1m<*dN08pqiy*q!)_Kc|;EZs3&nNdMQ5#LFu+J z?*($vO)$hkMOVc16f-ep;K@_~&Y6t?0t9I0(lBkZBfic|u)3pK$Xv=A@jUQnB2sC` zbI)L9m;VNkWOao}2c3b4_u4+bg zuf-@d1$?asdD1~mORQ02#!&1Xm#41*xz}wETNqKb;kueQ*~OpcAXTpJFYUYcKoA&Z z8Ke=2Vh~cu_uTb&6AH75L!k8zo~&wRsDLs^3YkD2!~;%u6sFrzV2A5(FQ|3}+0-K- zWX)W2yq%?^)iKhyMGPB5*DnWBaLqAHLJ47;r5nvkeq3u_?J{Xaf_}6I+xpLwKS7NC z|KYU%zup)8i85jc)^Yt*I0W8;+zHUI3V7@o;3DUYasdq>DFK%im4J)F?;|B-<=}8R z>HESGa5)KyCnGII|E+YX&h4Y+xCRvyX@oGhhG4 j58+{W$RJv~NLLKlV4)8v^7hU(R-4l(}$teLl` literal 0 HcmV?d00001 diff --git a/vuepress/icons/favicon-16x16.png b/vuepress/icons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..42af00963d81b8e39a30435c60ac482d1f8756e0 GIT binary patch literal 799 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>WRE8{w#)hawXn|-Xp4{E;v!=;4B^%-x&;Cm1 zP>^*#n_J!T^1SBMI!C4h-R53dN8`?ylD}d{L%(vZvUKT)~-CgWFQy3lt zIqW5#zOL*K8HL%o&D;R|TePl5?VWhq^wrj^qed%lKKkpp-FogeyEi+p zE?K8rW7E1fuEJ{5jaaAp0~aIt+keS?T)@vXM=*X}V#VGMCm1~v-+0wr{w3CJ-R8wG zS@XVpzqP-5Mf0H?y-zh=XVL>S6E;rKnDmrMQlmoKbK9p$evXN`oe{6g>lvi)-+#c) zb+Al&$zRqtWk1@VTt6MPmq9d7^!kmXZn8k{sFt`!l%ynwlArU1(iRB6fMfqu& zIjIUIl?AB^nFS@u3=9=>9)IHDC=AokIOTu(jOWuJ24-b$y<~1-Wnu5hBFw@HE)6D! wQ<#-EhbWxBaplC3Ge=~Ou%B-5Sm33{@Jd{;RG<|Mp00i_>zopr0DGh}-~a#s literal 0 HcmV?d00001 diff --git a/vuepress/icons/favicon-32x32.png b/vuepress/icons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..46ca04dee251a4fa85a2891a145fbe20cc619d96 GIT binary patch literal 1271 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 + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + diff --git a/vuepress/index.html b/vuepress/index.html new file mode 100644 index 0000000000..ee10104a01 --- /dev/null +++ b/vuepress/index.html @@ -0,0 +1,37 @@ + + + + + + VuePress + + + + + + + + + + + + + + + +

+ + + diff --git a/vuepress/line-numbers-desktop.png b/vuepress/line-numbers-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..e16e67073ef73a31aa8d0debf66d5dad69209676 GIT binary patch literal 142346 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 literal 0 HcmV?d00001 diff --git a/vuepress/line-numbers-mobile.gif b/vuepress/line-numbers-mobile.gif new file mode 100644 index 0000000000000000000000000000000000000000..87af6cf0d8f8ab90d0c579bc4dd6c6e4077fadbb GIT binary patch literal 228039 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%0D<72#oFXn+>BRb2o`mV}QKz)HhMgwy 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

C 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%0D|V=fOZPZa7w0yAu=EAyCzG z1r0)hI1|5qhC|*mI!#^qc!%2Y4r0FVfk?fES98%2kXK>^S5Dbnaf|Bx!i@FHY#uGY zg$Q2>Vbvz9Fbd2?i0gG<<5RL65F+--wycw)GtI^*)qd4<7mVX z-DF~)PJ0krk9H%>f8YBSbg;MfNPAxNshdNkq1c0VN;NJr3Sp%Lt(VLyyD!F*FOS5+ z5B5KINMl)%ZUL<&cBerNFK$$9EfQxO+M%7)=a^;q^x(Bs^Iwa$683&23i21mQEr!a z4AH>%cXg^7?WHJDpM#?MM}Po|%&&F?tF zkKh+)DwIrl&L#58^h7Ny+DZT2AP!2BuY2jPG+Howd(a`3c5;s@I%9{|N} z&2UCu@AkgCjRpa+2o|8PbIc%A^KuMu@np>GG^46rsT!#uMu3S>ZzrOao{A}a=sYSU z0bX7?tpXgKCq8(%;Y#(i?^m@);M?E+91BJ0o&j8j|6xWQ>W zxCRIMHwoa2kqKgVWeLDDhEh(!(il5@iD9>=2TDi+_&lYcVXzB>fEGvgwXlDDq&qDH zMA^Z`jsArJU^g|;?#_QN zvOqH~j6m&^4g-y*fs3{OZ~?G(;JOryNnW=XPMsFqU|K|&w2hItjZ{eIu=}#OG6lYK z5Kt1pe$v2dy2L*`0KWqf0-BTIfByvoxMThU2C#*rgfPISNk9{T-Dn!jV`Hq_;K^iE zF{)n~>$cAe+V%wS=AzoTKoI=^hUhicG+so83EH52O(^^G(m_~hD?$&3H(o@A7g8V# zde0OWP_hFXmqyEppg9G^(}x>LM&AWvH(8(_wp+A%OoIk9`f{L>t^&LyFnQ z;nXPE@OEia0_`gRt9WwQlqM@d?H9)Wa}MJCIPlF>NTqocybWz2!$}mR*+-m@efE9r zp>0pryUK{5+bx=Q#fi zd0*#@91@q5rS#<^KtI92wyT&h^T&Z7)oQ0;yQik!JOMV4)iwho=K%1<+SBpF&y1?! zN3W{Av5|~^0C7E@lA5J4WGgFHe=j!}*d<#UHB=I8okST+z53XfIz+-gXR#tqMLpJq zO``LM%DA{|gRfZZ*FyP8W7~8p|An|3X7_S;1-D=9@3XxmU1{Zh4NBiS@OTBgF$*j0 zPsDF#J?R(BV90QlPaz4xb5}@W?om^oud&JST#F`jHwCf=z$=sD`L~{pvepORe24Z1 z_gPcmZj(>F#$yx{>bX`0yaKX*hvO&fTskv%25 zB3@Za%&`PR=zKVzCM`1ZKA-sf8_}d`#)vx*c?xe%ecxdE)f=J8h|N2+HMS6rVg}0q4?K-KpClXTe-H zcD5H-Vsa-~z(T0TKMr|~hCKKO?apw>e)t|E30iop&nzbh>JmQ~!sj4^1gzX*8KBA9P5T!5OI!`+r+PVl&`omph7!Lq5}?_ ze$}5K$P#=ZUqD5j`6r+6ychIg4OX&Tb=d3hJpN~|9VqC`0g(_`DGOCMEDjs_#$>~{ zP@sdu0CGF3|AM4s7eHXcC&`_rY`9{M@LZVt^LI5r2NSzPpus>YlA#mVzerbq&yJp- zDVUKR1`_X&CWor317uSl=uOGii*3g>TXpYy1da z0^^mHMA~AKn{?;4_3i8+T+qdtA>OD2fz)xY(BgA)+e1RoI7TT*_Nn>kUGwZVxLszu z`9ZIJnx{874Vc+E$60dLX-={=vG-1O6{hLBT+%&%jnp=3$HS;7`AE1kytUNy17dZh z9B2D=DojM|?x{OrT_e&opWHY%lPPLv6Lqk8r#COhATWx0|CuW*SvR1uuD*+kC|2^j zHcnpA!`IXhJH5C;MoHQ(&HGZqXa=SIUKfs2j#9%HiuK+dkCZ317T&h|b(~gl@uENR zh7PeRj8MiY@%du@!ta3OUUfh5jbFuduWS31K2=gL7p`KQq}>lk4?gy>RPtx}6`qCdAK0%o-EXnYrn)8$NFA|V4q_WQ42z;v< zN@nlQUjDz6wwt=`o$#ON|HY*3e*|rv_1+fw`X6{(9JsIHZAtL)g}0^DRK0g);Ux#& zor}EG@UA?nW#L@~tw-;DW!$p^@6X4-Yj|Iku)6U60$oIZp3Rg!IA5Kv-8f&9ZN4~P z%W~FVs4Mb6xNxy-U!yQBaC~v$GCNg&vA(Y4;9^7lrN+g^rk2IUE1Vwv4^6k89sF>$ z^=**L@BHZ{;TbC+$w-mQhyt*kxdk`Qu5m|b0@UE?A9=4gi&nnT-B$M)mS z-SJNSr<_Ld2~FWC|ESCVAq#T;Q(a#C z-;o7X?Aq#@OLZ6PFV|oBH)3#|bF=xzt=lbkg_Oa)`wt#GY!`wC?Hxj6cyCW{U;n_9 zp&{NdZ)9|I{MoaKmoF!UxWVk~-23?VXXGK$2M$+ONQo`h+P%^k4Cr)$O>j z=U?)4T{T75)p2qkd%-6uF$#*KC4bD6f$vtb^6qTs%4{;k8-4M=_^dpM!HJ-@r{HxXh2EDfvnf!Zn%aeYUDrVx{iL;xl&E zR=65=v>cJaRZ67KMSj7%723GgNRv9k+1cdNbklQs6epaHm1yYt)=*7WMAB)hSW$!K z<0?UK1@^^F7Xq#d%ro?gKkq7`wb|wl0+*=d^-7q}ki%m!KdOt#ILipi@pf??N(^Xa z*JbC5_(G)_?9>TK#z-)w?HE8e;D@-2P2US{3{iqh{1~A~FxcUYlr7E#p6YwGu24JA zKsD?>w2*Bmkka#G!DXfD>~m$LEM{?M=LE9wA>}w#yXWFerWE45?(1#)_SM&rCpJ#M zQzhTE;H57ZaXP%w)2@g;aI+95`Gm3FJlo?_y9;4ExrZ!4T)nFe@7O8C?L81P?6PoM z`Sh9qRJddODx;rFNVsJ6HWY)s@qV`fwJ13s%vsmfk@9o$O_pLXdx1dNX}9_7-2Rp% zY3C+-qn#YZ3R@IpW;A=_bd%c^yV#_kHDq_v0J*%j1g$SE(xDY#cYUbOyROcE-0@P| zcKN0Ig4AOTMcZ`Cui7PYOO~=X{XoK07h`rB1n*|JK~b_%L6_EtU_ z#+n{W^)9-=z*)TFoZ}^=Oi07UYcr*bK4w^{YxXXr2co+)E-Za}?x@!M#ty3_)_~ln z@z&Tr;wTs#n&^zVE$CSRR>tz3 zos6JUFo_^`F0Uok8}*H^O2HakBAE=%+Zh| zudd4@=o31m)d21nc!f6mBe z@tiljU_!{T6_ZQaYW~cj8zN!1)$2wG@6Kg)6kJ3Q@V)v2MmjDs8db!UPol^RI_P z>R_LA(oEW$U0`o}OtYc2VGA=o@UlWUg*ktDM}Ou>_Q5XODz^xiO#{GWH06RwPEHkK zxdwOdWrgw?L#!c3KhxK=E@3xx0f!37Dk@gW^c7RnXJqg7)8tix>8W24 zmY*77rl{DxMvJF~K-{|b67(Lpw;e$5y?PVBVI{=t zw_Q@^L4r9yG4dvpo-gfKk8@CKY!tz5jMJLop&@$%1{B5&P#nCJxNL6evF(DnBi65Z zF~MFzPBr-1sN~U`)Q*#x8}u|;HZ(btFAVh2!jeK|W#@aS>T8$DPUFlr7m@mqYj#nD zxs;?6n+8w_Rau`sy3JjE4N2r1{)cuaCp`9&`C6Q%-y^zqNm_Tc2__b}y0>Dr7$)(j zmy@Z*6FYEd{gxfc)%TXkgp?g>^R9h`DK`zZKlB6!<6|zz2Va`3j*){ep7$+2CurJ= zAB4TbA-WSS!;XxkV>kD~a&g9dPHdE`=nGtSLIX?I@t6%v)>YLVUpWr;-83p;G6V|aw7VwC z>hw+rsZ=V%6uH@0@5bSSDfX`0ULl#fBPU;roKt?FwK37nKH$Iu{4O2ljEn{|GZ6)g zhM+ULkZVr{s#hSDk}+;4`V%w`rF(?eR3t}H15if4~toCq9?d2fl%b_B8x6|DYbLV|k zS1wMjy!~9@WtuF(%<-AH$FSeji@{`&-C3%F#hf zIwFuR5>JQ9=;&5DW`Zv9gN~JBNLe!QfehJrhFlp#p_QRDA*>u=5M1ea3h>7QkR>On z1)hboKtnk|Ixa6T(HS&8z4#ESutvmx#d|TN1jPemXc%Q2y}>U zz~qQRGWh2r{WSft+xQIR^YI18sG}) z5moiL$%{IG9u2;Un~dawLXCw8Ezx!&!zw*dj10FBBrl&x12{lKdZHv1W=PBc=zvhA z3uh%(r)O2@W*X9&lEkd;_(b7gi_8TxApk{&845Bi$SD9BcEd8K)irJ5aYj{r#?s>) zQx?$Jn|Vzx6HkLzyTXq_S)W{BPjt_ka#I&9R3%~)lOUm&62g7kJSFXuj_P8Xw4pEy9iJzOg*-Bf znLNOg0wmC3nm@OSuu3ThSikP1BocBzJqAzHnTLR~4uybUt%=_kDt*u8y>*4Q z?mT;%pUdRuMxTU}0U(iHlqdiU$;CsV72~~$D@GTXDT!Ta<-0RnT)CpooOIulaMuQe zZ#{w~4;+b4e5iNf^s>t5JE8%tIXXeW-wc33$=MD7r>f72(Gc*(#OHU*Lg&HI_&gg? zpw=5m3k0xtfcJL`&56k-y;bYql^7hv&DKPnsRTXLsu&iC{ zk(oE=D|X(yxO=e{_bUZ+?9!*5wRl46q0F-&8P;l#D0z{%;bci@*=3EpDRz0x*w*N3@9WOA+d+`SO`->>Q7yG zQ=s(W)>;=z+BQPvf=g|7S*9W70_ zd)FXx?U7#h;>teo&gDuV~rT~ z(vVd%$Sqi1$P7aRFXVx)17}5uCf4(!+gb~E+yznAsfipwv$;x8;^A<=U!nNqaJJ zXQWy03(pecEbhgtLqAO~qFPICh|ZMVuDo~si|7S>*737DTkHpp4WKU#^nADGeSj~ttJXAhU^bFZ~SAuakT_lz& zx-VE*j@t>Y$ADpEQCpJ8jwNggA95mL3t1=@0b5Z#8@yB^q` zg9Fqs@R1?5orLXF8W@eoZ9u1MPLExz&Hku&PMH+ZD2uzW%Zw#>| zY~vZF%~E_=3}xv3AaH;yB1wO;H27p-5Lg}ra)>B)z%aT%G=|p;!oYaC=t-7nJXTa# z<9&oUqRz(V5Ye?1w8|6d0^ZP6FhWIqw3duInU7N4-Hm>tsVflK{Lxx^9ROp10h0&T zae(Mz<(TcCF|zWwz0J7e?s4bcvN>wz+X))xEIXGRD}6d*JMpQn=TldD|Bfk3E8*F&}p1nXGH&Q)pS)gAF3dK-})<2nwLjMWhGde=BtfbBSy! z)`Wsau?fG2T#&O;mzkRL$tnviXXd=ZE>(4`7Ebu=iI`{LXm zr;99j3IT;a4BO5^9DOjEvl|Fk-mlQyk8B=(9*j%FqCgmW_dZ@p4ytz$NG41wDnov3okV~IbEcTli{Os*n2ZsC>bBLVKsvB5xB?=G3W9{ zy$~b$Z(XrQYz`_<0M&A!Z;)UE;zoUY z+z)+ZP&AAGs*UvY+u?V|b_4un-1qg$;V4_|pS9tW-e_?zcrAAhLqxH7vK7=98FUnu z50tRqOM5{@(YQE?C*j-YkLSEoZRbfm0k9iK@P|hv&ySqsjG&sKivmx&3JTQw5g|@rJSIM8U4=86l9mN}k=0<1G4|B#Gqm0GCc?+K zoN0w2oY|Q%zOAkt*&{jn-H(rmU!J%vAK!f#((K##@yVIbS@4%Nhu>ZNhIuOGorsAr*`&%|~t|Jn4^Z}(GIqCjQX((TVK z51Y?gkG>dZKl7LYEolU!bv6u&fhlouB-Yodhd4zn95?ygK7o)#L?IdQ6(!j{01_I3 z2XJu|0+LFDslt$ZuS7t2XpH}Ko&-Z5|qPYM%k+h5&5p||O za#g-kuvJ7goWg~BT#yp>{8$sQHjiLC1n{ZttKK`XTL7dT*+`KKM~uK5h5_F^F7MBP zHoaG6&s3gLU(6V)6oAqws48!CIuWYnAL_ZVz~rHvL3D{NI){p~7y>LQPzia(#TY7F z2hf*-Kfdrok3H(EpzT9>A#KQ5dmhrBh}=b3RpKMPv51`nB#1+NRz(C5R*!nE!eLmS z7R0%kw_vjPUUedsJDmkj#U%P>1dhx&Wy_mI&rOWXy0Fxoa@Wdwa=XpL4DX?4y>OS( zv2y$LyI6g?&?a{)+Gs{Q+Yv*S@$zza%J-B(dfu4V)N>QP7!2rjb5Ua~iHBX(__t^W zLwh;rA4v>5Yzjsxe!8CrD@(>0(TxV!nMK#^Wd*_;#QT>$;zb3Xh*4Srp+2gZDCMb`XsiqcH6-lkwsc^1?}~#a`BrV{v{AIZEI+?NE}@kBF07PcBZ$;budIO{bn%GEl_T?c$@17kHE0v+qI+_xnzk{G8djl z`oh)7O()0K2H-5w;dqL32vbeWP~NG?b03wz;|KU{s{DZI$rT|S~nR^3~($Qz4u zBYQzg2a-45o3KZtm02@c8y|8*eXcKlYgdwl0{w3_)PYMC$A2BDuPr%saJ}(L%ddk?H=mt4bnX7?uS1+p z+0#)s2F!m)-5T>heYoY-@!yAAXG=~;-}}(=JG$-bv(rZ&{$BlkgbUx0KD4Gri0wDHvlcsO@;u?_(3bCOM|ln#&cuywv-lG??h|n4+mdm;5JU*C zFZ&>)DZ5}c0A8V{6l?r_2`dO2vh&iie65QjZS?NQ(;A&Um8ajA}DCkReE4NA_>P*>jE@;(gsF(IhGd(XJEy zX?wmuOvBmNv(&!7%9U1##Hn}f&@kuos|oXTG9Ct6wW~^(vq8;9K;5p3F7^YkQ^%@f zTVEtgso!X`r3)lwcD1WQ?JOHjwG88MKrM>Sv>E5dZ}4J>M{#XL=LngOa#g}zK*xdQ zT$n7O0~e0Xf9_Z(qS^+D22lhusP1|_>W79RyxI9SLcK^PhWkBUE?=EYL+)*Zq?;o1 z$+}}mCO?d@%5T$mcC1_phtzWEI+{w1^QT!JPKH?bt%k!WcS4=|*g4W|d^_~l(B5FP zRC+Y%rRe-LgfUrUK8&tv__AofiW>G*I9a-glcu3r&5(7Clvt&x2-2Lo~rT)_MxjFI^xOqmSfn=Qb!B{I}pxDC0l4=~hC8Fd)WdtCaNpHmh&qT@cwkfaCikz>cYOB%+z6jb9&^ z?8IMobvx+oE>VI?kc*He=)bfvv>Q09tLrSx4HYogL7G%Ia{?Rn_O*&TLW@5ehZRMsahwJj$ zuuI>>r=Bw-hwrL8-9CEyuuihgp}Jx6Rs9%?8JlCttn7?uhFdaTOjvF&m0Uk^+Z73p z@N9JpMJ@(VeknJ1LG4>M1k1jV?>p&OwQ(x0G_FjkuhF(vXTRucB0Otfx;XFz&?e)t zn-Mh_gs=qZ`mQ`j-8?wN*h=WyqOqN#?^a6N3wy-l{r+^RMr@bgwoq^ z%&5oPAV=xHt>if8_{TPJI^8BeJ+n98l>Digq#7-V*BPJZX@0(ODoP<8vAU|US@h14 z&0rUq#~n^&xy_#I-lLchtf6md3AaQ?#_eL#@yB7$9_(x$4_K3g<*oyNV+{&5D@(u0 z69WUaWc_EoRzD5YeSH?wh%g|t!SIi+Qsv|u;`;i(zx)687mLT~1j}>cz2Au4muFZP zt}b99ggo-lH;*SjG%lP#%w#a>?KYhAxB(+4 z`KuAJmj;Y4&8RVdfOk&Ls1yt|W6Nbe{Ax?hq?g=JS3{%30v%)3EukL--2rap!TKs` z%;n!=V!SOMTbrHnH(chRoY*FKoFlE=(N#%Ntd;R>OhNZ|R^@!M9wr0BfCcJ#- zS22j%kV&=b@=DU4FuS7X%w@sg2#gF3Ocg8N7OH%p()nPM^Px89oiO0=q;vF=^N}@Y z8pb6?$tBj%l%mlFvt@!2jXD_u@CxtwluNf>lFGwG7JDjIsmA&z%^mS2PSF|oY-jFWZ>v|jyps~Q|TduL; zbOg}_P6skqoMG6$;-beT2p3s409b-K!H@A1$I|D`0000+bI$kJcAMlDi>KS9(`gC7RswMN7Ts2E;KoYw zO$4yiw-K@jw$2Y6Go;tdIX5mnzQBBprzM@h(?wYB2y%b42jl#~Bpdob%-rD9@xCjS z+hQmCuVI*n>tHYOO`sgG4wVgRP?C_kLrAP!+%CFkAh=ZyP+---cs-i0oG*(Z^6|j$ zyRO}uhF8sB!at7-Ncj323OsSL(4j=Y_P2d4pSMBogo(mof#WG&pT%YCye4Xh@WAYTq zydfrKJ+2Q%WhkVZ$(DJ@MuKo&kI)MKw{3WBatAO!ye^b|e@h0RIyWWI6{)aNN6KN6 zSN^0sq8_He9+vcDD6(N42)ZbTp)fxPmh~yNdMiZsl0Bn<9q>Z!7%CYB>Y*M>r#;hAgr%!>N9)mjEJW%uk-*D$ud8Bh|2UY zZEnUkK1bRZ+C1m>FK}%FX!_Q<+7VPJ+tigXrWoIFzmDqM-rwK~{~vqz8PrtUw+nw|r4T|35PA!}SE&jZdZ-2nRZ2ua zR8T}vRM3?WiZnqHQ9*hY5D^p=G$2CgMG&NDKtMoLP*L;}+3~ub``*v9%e=GS+3&YE z-!hZTBw4ePmGk`njzh>UXvV`x2$D!Cxv9ZU5u<%9q28KtY+11H$3e~?#t2(v1lnT? z0U;+n+!M#;v)qklZ{H<5W0oKLZ@W3SsfwdLL^G7V5W{1wutS~FLX)<8@pP5hE<_7; z?<5?=yGJZI11gaB7h3}ZAR*or2y>5c0xVP9N58-qnqC;$^zHv7Q-_~U17&59L5Q<`#MJdVAIp|kU;1C&`CuDF zcdbVNkpyfCvx+|tMR&+Ix^@9GPXC>WnG}t-KAChl@mHc|qsi@mV2d?g>Wi7A|s`FE%AByE` z=e+NkA_#AT2^@1f6DKRM{c6nfR;4?fn1 znx79MN&C4P-efqlvfJGHr)?`joV@&Hs;ysraT+qxq!?Wt%Z(l&c!Pe5{?q-ls9FC8 zq@7%r_vV`Y+;gD34EDqwyvFUk%+n1k0u)?=;2u*a%3ybEUssI>G?fqD;-)WiPk}1_ zzKVeo!qX3(0`Fb*{)Y68*?iN}>bPS`@J=#-enq^oml}=?rkYK{e}$896)^R6Tj7Qv zLWuig9Ms*hzut80Y4eLu@fugBMlrcC*f7idcNemSTF^1PK5J`IagfhouDvA{YUAcL{LNQ1#G$^KNF*4YBfPPEmmhXp{QF?g~ zGHlAt(?`o?aq8E?*D=3{rZ-K^gYcKr<{^Hg%>nMAKt%9fSlB^K?Av!A+?3*>hrTo% zV2}H@aLn(mUHwvMz<%cT)Qa`K9m!#(28#ac$z!IjoR6sIq?WXW-ic@(I`q<3NM-*q z@}X$nDW^@_ig*B)QgU#~cBjHW?6}|E66<|kPR`+>RP5)z5od_7-0z$DI=V9?@>hVY z&Ay{u0XjT%+^`b~1zipb*vn!T#x1+o&mGHO4$d9@8ax1E0jk3^bs+F+w8!4B{aN3_ zWXx!}WSYTZ=}{qxW)^CM0xf`ssz-RJm^HQ0q)rX3rzu4=ijw)m&9o8 z!+dlKUz~YhdK3l$iU5UnHS~Dvsu}u7fDi;j2R8`6?|ScOZ+5g%+HP{*RqkaW2J8jG zS_$kmTuBYi-2qL%80(+sU||*qOFfG8S57Y6jfw*bQ&lClCgf&hrZvLOv3CQ)z#EcK zl?L=Ae9a8yu)|!E>8S|sLjf)xOLCj4(n4NYKMN&9ht4+l&i*2x#QT(^M~uebRNJoR zeXwoUv{XoOAsBX;E%y)B$=o1M?)#>ku(T`}JGJY)Z)WaMJL%(=MZgpf>4{?Z6LR79 zVX!g+T>t1aSyvd%4Xl+d$JACBN%_EAf}Cvtlrr;4IL&&1)FbJ$5$_8R?2fp<4hhY5 zSOZE1z)4MK#QM4%a^vSI;+8>oL|4SI&OnjlcESVzo;8Ns8~LPyiSvd)!jP+NH=ID@ z(EB821W7{E*PK3I2!{AYnDTiCGYh)^B1eTdsf3@hgOdPyd{o}g6N)=gI(#Q}Wlrj8 zpWNBSP6XL^(jf4p;qjA3pX|cZPnr~-+=XCM)>FN0~_k81UR;;cXLeuGDFbUz;NVi(n|U}`yq`kTr7`V_#7 zoW6+KzKEILhwNXFZO0TObf4@f=(P`(=O3m2{#esHqrh)5;Uh&k@6RY~#nhh4_1k~^ zYr>AGOY8%i*VU~D3x2Ih;MpJNJY31;EzZ7sKZI_n?oJ%s?fk;zW#3xP=vg8A_Ma|O ziTi$pN8QRfrE}FoC?mEUHyX>~fFOEthmb^@H<9enGsx{&88jbfI@vlZq4I7rnkwN9 zByzZkXT8S}0j}pB2@~Y%zHRYI6=x?eN$wNNBGM6@~%MB;@sbet!G&Cb~*#gW`Ho(!GfQWEsydP7hO(% zPQcK4hu7ilmjJ*yl{*egBnak#Xfwu2<$*ynBX2c7RySV;s1Iz}M}Ai0m&0-Ow>oSj zU8bu3qBxmkSrowml`WrTj)V!S3CC;WM$$!@M4_Nh zr#}}ub&!8j+FC!HSaQ_(r;1nnQ=SPyS;X>vza$L}Xe8TueaG4r6W71_N*dR%n0pGK zHw}Xh0*$m-JG9O_zkMJ0Qv^)zb_=2gdq5~Yq5-y^Rio_G7qbpA7@JFOmdh(De~~O{Djh#rACU=WZPDcxG_%%y-vsa zJQ}`}b+Jq>uZ#zA^6_c7c zAoKiq@NkPXHTb!`QB$a}jW&$LkgmL&d<^qRm5?H!dUfn3pogY}Jqgf^dQa&({AK43{180t)KG zEqtH<7QJ!fKs>6Qpw+Y_E~rJYp0&JZc)0Fvo4uG{`slGm4!U+DaJbh#zf;);v|cY1 z5UB8ZH9^hsDA|9zN6F)8X`6@uSIh;K=6HH5!10*t?<~1cU1AeB5B1!Sq&8EmpmqK$67TobR!oYSe!^F zvV^MfNTmGHR|0z=N|hi_#Mj&$JY37T0DaMT^^@AxKG_k|CrHbgC%2xU$%>tai_5#9UdikQC z6-=sqRF$i%+=NG!zt=3Z?Ff*%kUwQXWz|esWfR90g(9FZSWzcI)d`dZY<5X1>0PNd zT|lrKnn|fTA_N$`A=03?bxAbY9^%l~1^6Zv4WFqFo^V@0hsZ1M=BY;P$6R4IK$Xji z4Ac2~S=Uw&OCT#|DE{-k!r#A?32?Pxsz6f_%1p&lux2<>uc??fUd38oZ6s2!s6@C; z#dcTCNJdmssr0rA(MoMJ`*Ks6l9{T5d(G(8#-?(ucvYu^YA>#jHdU~>yUWR%7X_c2 zD$Tc5NeOCW#RAP$wq|N>S8B$}^_r_)LJlK60kQ}ID#u1rxoeKNakLOBT(_$*8rV@x z^k%hK4CHg-#!f=Ln#FC!I;xCL4NY=EAM56!iU8;6idC#KAv}G*7yy$mGAI>h5QuYX zUXKEzm1VD5_+6=)OkHAd3N=H5%(om8#7b~V0_A_@K|BZj;Oz~5NKlvX;7uYUVx|lr~&HE5kZtEJ6_bd zXb)9oO*$tsVB04Ldtv!K=J&cWs`J{DP2@_j(JE-!f12J_7bGC*HzFUN6>Z2Q@qlR~ zn4Q=j(4dN7qfUWKw0>_iVL0+eMNVYYQ;=FZ;34hlAkpS0#;N(9mw9UOg3tIo^r9&~T@s`Y0hqBI)S`U!8&Dne*JHNOa&})d+Xr zXHJn*oYJTJ2bx#kr{=zVBboRxpOgPRI^oA-Nt+HCrA+VRyBK_$=iP0;Px!pN@pWFt z-vVE=3OwBZ^$u0&k&QniqNT*>6GeG;QvRsxVo($3)1?!^ii5z@T?7ErPl_tJlsh97s^zQ;TPy5E(D6fIm93{2qCig9T2dEhO_@ZP4jUSUA`-z6*ocVof zQRvgR)J9&GNZolG*XOQW4fVfy9#qYm{XF+(@Z9I|f{!~t0xAz=P!^@OE(S)a2D~x| z*wO`FN90ww20Zt{34~4AZd&9!`$c4D!g1HQT3@D}7;_&Z!2QVYMd#~(>6Zst?h5-Rq>au&)Rz6!$*Xs>k29S?Z?kZ`p#Va6*1=FEF&@K{X2%tzbp=? zPjqhk10N-PakLl_sl zVaG;f;eJ6%$K=L!A+EfD!Of|t6)*l;LYFQ>-IJ`I85p%;@uR1h$#YP~aGrVKz{#E> zxy&(%C^G%-w2iAY@aSrx$4K^veAwZsT}nkU_N91FoUGmsu+by`eA~-L6SflbQlRsO zU;tTN?wWy1$tNEQ&kU4O%}CX6Kj+Nq>nXPRFmp|}T}AjH3Tuff3*!0OUUhwnCvHKY z_2uHLw|p;OeJUqjIRNqZj$1zQ($QlG=)hFX=iW9KJod-Eu7lus>f}Rt7lDIz8^M9s zeLY;g0$%~Lts-9jx%e`IO~gU*+%cn?1NdPNo(9SrB<0I>+aqncm{wK+f#C8ncweZj z?VSIW#0k?W$XQ4JIX~#Xk)Flhkx2Eyql0Ze2*LFUf{_vyN%-D}H;WGkA|n@_b4vJ& zCS7cW2YjG|zEJ$YenIO?-+#auj56e9US0<;O~aj~gHb|OM{)$#&D{{ryMbOYMHE+0IHxSvLI}KV#ISzqm}S22qkQ;Gj|>##VUa5U z9De1k;|ygna2zBfrqFjhtdBkJ{S zjwd~MvR&kZ>s&M}#I9{YGHQDB14q!qP$Q?E8L=*gASk(hu*l5F!L;}v zC>X!^Xw2D?p(mc3vQg#a1Es`JE{R|LA++Pc>rFsL<~f#!`BJZA2!QJiGSXDV?z8V@ zEmaY7)oY{V9ATjV#Po~1WY5UMyp)o-YBJKB@gi|$cZ_O&S9SiNYQf9ug4e3Ima1=k zR4x2gUHDtI2vt+Wt5z&rQ!K4kqEu6&rB-TKQ);eOW?NI{qE_x%Qy!pJ5n5AmOs(=% zP33vDs-&8#OttFVn(A9>H5D~A^=h~8*W7-hR@+rmJE&IovZn5}TK!T@{YSMs-)ips zR%<}rZs1kFD}4K|w0fh`?M5y2dxp2~z0Bb>W!!Ul?`Q@|LqK!rdj}u&`$uj+h|1y2 zZx_pgY^ab}dOL^T`v>($Z3o&#(=8;4tLkW$g?KtlvP%8&k~*9S*jBfTlgBt&x1aEa z+dPM1$mB<-Zre)Hl=N$#eUoXIJ}Q+@u(5|2p=92&sxHgGPNnw}=@vE@8P89xHA!p0 z+2!;XEhN`(i>GV!>{geWX_xA>urXtZFHoh5sC`eu?>P`SC^-nC`Vg=9*)+bz?4?s}tyoH$iCab9yWscte;vs{h#>XznIMcq`r z=Jfr#=_i^qU3D{qnzJwKW?z4p;Z=YAQS;5Wx;MWyS*T;Pt92~l`Z;N>d8Lo9d5;qQ zsrC{D{tx-DhN_0XrjEX*uCd;qYOlZfum1m<|Ngt+>mUAW^DqAEPWXra?hYpIKI*jR zAO34;Wo>EgU`zZj{P&*{u)poE$A8#g-~ZYE2K)nm1A`9#*DA1o+uz9li&bD$PqY8b zf3yGQzxly``0wqb7XOL=+WcSTztt80&-}ONzwqA|W9+uEKYe3=3t)EP*uN3*+SsO3UL zdS#YKJw6C=hf%1W%2ILs6Os$cD!h8De6di;zNyP#d47n1rZ>r%$YGOZWQ_An%{qdI zvfm>zRK!H(hoxnlLNPmJi!%E`>gx;~XU=ujtyf@(Qv2O^ttXYNzOC^a(<=!dFfm35 zUi(&Zfq>Q40mLzOwHalf?G^))@#Vx(-BIzU{h~lkWs;zkWVAJ2Ncw@mX;BxIIf5}i z4o%`F*<^815lUGC{kkkjhHnmwb`Xvf4Mu?5Bhr?7!ku&>Fyb5Q3d#22u(X5F0+5WT zUVod^yBO9fW6XRG#Bgldkxs*zmDZzdgy4WBqCxs)nMEus$R<#UW=Y(nt!sJZo@e7C`m5xq~ zWw@Jp*vkfP%Z5px|D*b0v|9?-bsobX(_v#^ErmwPq-v?w7n=tN9B-xpYK$ov5++z z1vA>QJ7G4AC%VJPghuv-c4XOKJam*2TLqiGO%QlUK#Hk={7s|RhcwD|Su-IFavqe! z!V*bk7W`kkJ7!`lg1Cz;P(h#TG1jO|?yCNfOmd^#7~>-6Me0f66nOU-KtaW&A4%b;T>)#1#5I*=?PCqxmApgD1ha0 z-U*e_6}ysGQjW#Gm0($CYg;$)-se7PD90MXuiZ`Ss=bPkQDLfSuu<@hNW@U^fcIlv zP{2|_=4V4MeoqjM?;95VM5vw5%6q8j7b`geMWaTf1NdB4g1N@r-WoUexD@P;w8#ew zv!3*~Y3VGE8&bhJ=eIcdiJ^(#>D`ch-q1v*m{v9QovawXlW?O!PW~&5!#oVkO3~5S z<(Y14yCojSo-tEGbf90~SUMdGFTKNaz*?Y~pMTN>kzsQPJ-Fa0mS}RTEL$IIy-K7j zeRWKLbd0>+h&4A9gcQ>qkaYB`Y9(t|I6XtwuYy z*6$T`#1;ry4Z2TN$x_#fpWkffBR{%b-%a6k=91N}AsdX-$COdGM{Zjj!7sYlUV}+C zJ4Uk^P50P$2MySlT0BK__QnK$v7Ou#W?OoB1Gdx7O+1|cu!DBXEN?$NN!u7eteZjo)$IU69J%8Vy-j0U<{4jR?8l!G6xgSQ&V_VN$ zFA<@KFna98OS`%Em1n7$3DZ_E!?6d0Dd+nn6LyKvdoLq< z4-(8>!=a_!Ne`UpKQWt;wl~N7ZGZ;f2mCMf)8UG}B(X+14&D3-fiF zDD3jFY|`&;`qdA+;O&YC=y1uwQ)#}I2Zvv;=J6kXN%J}CE>O!}dBBmMIl!l^^eXmN zV1u;vs-rBX#0t})vnWOR&eSPESgW{?7IA0NisJS}T~E7wl2i4El`jD;Y9=_uQQC1T1W&Zo91snwcC;yTrsMh>;bF&cC4sDL0?d^AI(6I{@Exu5Io42?Ux z;GQR%1?M-&<>trQGxgxii%l0dlD*HoIXCI+5`NGsapN3%Jr?7jpJRIN9if>2?&$o9 zGC?jMuUylok%&PRTh`FS_IRhrPe7YRk@cv;rX|`=awDn?b?Z(FGJh~DY5&4^2cbkZjrzDlyj%H_Ur7JJ zdtAW3`L7O)-6r*a!hc0+a>g_TZ< zkLuHs=&zE(%S;U3VbVgGR0QPm4->X(;z%YY!_n^N*!s9A1`V)vuM45ZL zg$ibY-dDjN*`Sv1@6m)vc1zg(ZC-i%t-wY zB}{-Gt7P0~rfCq8_#%_us6gC0aB~J&`i~OMN;707v6V0v0ro*9Ba;X{$V=mnP1}_P zz{Ap+dCBf!@W;mROD*Y~MA*AYXcr{~ktc(bgYy5SgiA$J6=A@@0!JkgUbjp|LV|mj zI2?5loQKn#7zkYg$;vwgX(`TNB8=DL1GaqHytTP^QUIr60Nes3?IC-TkFp8;2@Hln z$8vfD=ScX+8}!q}L{2Q)loR;W4swaM(3u84{pPw!O=`tiHn0>$x&M)HXD5o^gqj37#V))r}adeGfZvy?1!h}Tr!|+lQ zxT8)6odn!I4A(o6N+%Uvin=b|!ofpInev7Ziy}JDlL10Didek5k}G&P2Vl<`Kv%J0 zNMUR$`g)!r3w}c^_m353O435(4;IYH-1J@D9@({IR zz(o~k>POLeR~bwT$BD2@d*vX>8UT$&e+oka!y-a00NWO$jSDM#lC>Dg{Hig)uo@DZ ziX_N$=@gND;4aH_^jWHX5yIZe#bG!dA-apNp^~ow5U@x05Fs0f900iKt_q}!QO$cn z+Z`Rm(2q=~EFk+3aPcAg4Flu402Nz^$kU1Y2}nDnnkQUaWRqbCv1h7u?;}v$Cz%nO zG*w+0w_3@$%%QCYB{}4#o0MlgDkxQ@vc>Q-Jw)S0NKZ8{uBzJHC)qC#aoz&03RS#f zRz&buif;ji3EhHpqP_+;1v9BWnj#1ibMlShPQ4)VC?ae(G`5=ka_0usoRrLb2yv0h zxEO%?<9lFH@xsq?_COCyjGEJ%j95%;bp_NL{Nk56xL8+MsgehY_sG*%yj9sJNb*UQ zo8?;xg^3NAn+Wd5)vGHUmyEO3fJ(EQ>3jc5D%}k&u2i-kX(IL^V640N{daj%Zty>b zHjcnuL}8pojS}K$Iw@J~=G9&5&{!&5YWi;dnR|RK99)bdZtqlNOkwbkc;sS@&Ew){ zjWPLRRJWVp&X00{0{A`3g6U*CV*u~Ju4$~tnEDjjssokN4WSabc8mtZa~G-_bTZa( zp~s~tDrp$mu*zx3ZqBQG%<*ga!4q*RPwzeIgX^g`8!~nz?oh?=XbeBP{MVJ?kRoi_ zLq$=5BNCWW0nn62`cYu|FWTq*z;{RJ>Lg^L`t;g4=p)xtp1h|=4nNh7t$_7EVe{Xp z)f(Qv`7fSH#Qmp~+<)_5Ni_7Yl-&Q$fAvhC>H9r1jC*FB|7>^bGt-%8=D(g1Bs(ol zJFWdXZR0wL`TtY1ndBZh7EI;<>}xmHdYI^uZxW%y{cS;{*P#Q=ih3$2+QVq?TLQI>+nPt$2A%v$5hOI zn4=KO89&T%a-rMcBzT5^3d3`pDq@BZID#~=$~vfMY}Y}2H`W!M33b7BIj;kpG&~#K zVdF^Xawx!A2VF$qOwd6Gg!f*w?{B_h7Z800|<-m(EdJ9moo{EwZ;#Dx`T-J?j^rnGDRHT{eTi<5S$x?!-jC}18t^g zuy`0=JOpna+FsK>LjXZp6k-5CY5u{)8#4pk0|0Nq(9wP%moz9?r*VXZ`s0bSMkJgE z!q)-Los6L?*irdEoRjT^IUijc<(7kmXK|b$^!<;fxMA#%DJEgcBQc(AQw+UmbwYS% zjF%HQ(n*iBGa(aQ-Z7O4~II(pV$ z+VO8yT)#c_M-?|9O1>-TI(NyPK$K9hdXbpD&R8)#CTP3!TANZs{7n4-;DDXt6X<@G zKmFJr+qOLoKY+XyiAk;N{C0XDb9R<{hcKNZg@ZJhbPa4$Iy1GOnaSOQvG|)6ik(ue?aqjyqW9(=sJMpe}VS@ z+ZM}Wj&}hW*x75OA#OZc=@>tegyD`H8f$xIprfi6z|tB9fcD6E0{!ptiTNp(7BQsI?^p120|Rzc?_skc?Xr;rrspu3}*+oLG~ z*uy$6xaQvTS-{J&D}RtNAd-)r{SRc!c+c&Mp3KxxebQNReyyQywaOW1={#mT01)fO zoIZ@%NsXV;8D~4=N-X9EGp4Mk5I%B^aC&tC`6RUC+9VI-;~mZA zxMR4(Y-ddBWjo_*Q4#FjL-&uM=%*>KTZ?uhFON%2Ty+)}-61%4Wv=SKMi}x6#>7wD zmHrZ>%M!i7G9NOT-hNm0d)68FY*lDt)UXQG&-Ax_y;(X{J3HIxJiVm6nfv0a_D7Jb z_th<)sn9z1-O23uZ+1mrgWs4WZu_Mad^sxf{esz)+dOE*!0Y_W8Sh#DF8`EY0)Xqs zO^5XV?Tk;rRU&W!>j-rFA7{J|`?oXRKm-t;4Q>ynxk#un?7X`;gEzLa_x@lz<7Q?%z|COqp1gwU!CDZ3R+_$JdUBM zJIs-Z$CT!8vZ=8(3GKBLfPQrvTd@yovX0n;|Dg&)u*;j_x?2(~gqhCgnoB>}40#`b zP`Jl#jK!MbcesmwsB&YKKWACUck{yOO1;Bk30dtIb)%=!#a^_}*(3{_`-9O{0v&Rd zSRS>_WGYwoO>6$2P07?M`z!~8#s&0ThGnjjNttfgX%ET4$PictV`17Z#;j3)xaTCd1mwD;`GEn z{1@e<%-x~Sq3zPSyrdIolP76O$g5UOP%Ot6MGr3sCRkhy5O6)=faG@(L4IhRRM=#d zYQ^OT?F`d5133aIc!e~qBbLtpghBxnwBQ^8r{qm<3d^E&I>ksodRZ7O-L(w6^m_KM z)9Z7O9f#rI9OrXhvB2n=Yl1Q*l_{osZQzP{lfcI(;J{bBDS70Qwrd^(O>>VVpzS67Qr1(PM7N$PxgOc#1I1C%VFu~EGq-8- z9k?rK4%tp^2Sxz!OsiH4NJti$kF%)1D_JssQLx}3l&mQ^f5k-GaJYC#lFQ&LX~+6Y zZvukexs^@D^GC50r?nogmAK^)R8TMSg8>KC>ZZ>)jb`hVzLx=lwf*R9!WV6$#UR$j z#%OspjpPPK=EG%4+8kFhT_ugGQc?uASYPot^=f@A(hB68kJWcWjZ)sip5&>NqZX2a zDEv+;M-?3QSrmLOcXd?6%F8*OfZcbO4&NMq+Q_&EYW33QF%QL=#aeg3j-W7Q4=nzht_e@=O-{8t+4I166Hu+(a#y zpreCqxuBTKS-swqw_Eib>E`T2Uv~%9MSnU@%%+UtZRXy~03WzKevM`C{iAkRfk`ODT!`v?o{Wpt?1ntwb3 ztdhl-gIH}6rzP$9o!Cy(So++r&!3>kn~!-)@HjUA<#R$9Ekg-zBkmmO$*bt2_%zj@ zp7E!qjy~8vHFI(z{`Bi}-?vY*5=73&&Zimuj$OFob^grK&C|cnESFw8e|GiugWqS@ z?oFIO_wn)f-{;n!iCl>L+-I~C_w|L>h4^pNr+4DF-d?+K{^$D#JLi9WnYeJ__g~+4 zE&wPJ1XrNIcwz|%B@&e@m;#sDBA{(aG{G`fh8|ujy$X*ytNwZi^HDgD<5l+_A@BCL zYe}XY_>WP}K?DJ?QbZy4y`24efODY5}W zMJ#}_(mi}GokXk@EkOxyjXZ}($o_(w6cCo_L9I7sI+@AxBoxQ_b*fb^1(Do|$67_E z$oR>L{%w$#(~#z|{FbB>u_g-KyyqvS&^T99&z55TY;T;UihyijzpLPKO15mUuC@V7 z-ZF(Hz=5Elv6I}RxeSC*nHw^OUlHZU;JC(3#Zno=(wA9S@o(*Hy_TS`IS+`BL0ALh z4(YIU%aW=hlz~bKJQCk0+c2z(4O_5hkG}(4-0f&xCR1LFkg!)62{$*U@pY_#Lcv97 z>n*%N25X>|bOkMjSFrRWAmk|6e0>#gv_6*E!(tVf_7H4a78^o3UO4DaF4_2z=;EeC zZC&qDo)haG;-YgU=S)ht(j!SI7QjJQ0ePdhoFx(SXt_E^#IId+S^AY?cnlF4$ruPm zf!CRw^u5}k6Do34wlJ81LA&NC&Irg;jjOrP*#m^NxupBi#C?USSW8h@=6NbX;2VoW z+)$Qtu9Io@9dE^fEk^q&f~FS*(D_N9{YBB%0&%S5x-NVw_jC7fS`-E-z{{j zL8dV1ZF=|`Tc(D~VZ4KUo~yP#-ZFT@2S)d{sA-s0wWVA{$i=<9VvXdbR50S) zs!hY7?D3 zDQL4zEB`8AvblrMZH<(O!1Q6;y;fr zTe{lbE-_ zlRf;pRcB|kSZ3*{#Fq|^@=$@SCuL<;wP{VCUG$!*qv=Z8jdp(pbn@-Wb4uGL(fKgr zS58~gL^4R7iqWov1Vb7ZjkvI_N8y|K`6)>ZAA+*J{OrQ31nF#UD>1E}_Om8;{ql5V zp3vAWQ!Nd-n;>;fi^>OtSeAr5=1`>nne6Wew4NZa~c*`qF9+nQP%DS5=O<2w6OUCB{U8Sg&F zqbNhH4gH?!h3t}6vb_A$a}Nq^zOeK*apyh9v1-<{?9Ri1dBgPgpNsnxv@i+UU^r5w zoO8##3c{Olt~1Zz+Vy>w5p(Hnfqp{|1bqHD7!D zL$F!kXsT1uR=swK&tZv`PMI9}z!aX#neoj)IQU$;8%YnwOdaQ&@|=tB*3XPZ zpKAh6qHT`=vRS!qPxN6;=VrIAoROXmO?&v7yW!(0ug40p6Jw~`hoB=D=RpE)P*#hy zV~NjW4BR+3+V}X=!ozD*l;B+$hWA9b?7t->d~RKI2}FMMwH#0k!#I-Q$OKB5rpk zo|)obn07mW>JWq(u4^NJN`!o~v)3>)CWvsok}#U}JuTx@D5IPpU;2)1+=mvgf?|+)Z`AdChCV5|)6=in|&v0=SY2bb-=_(jh8kca><#ZpVXbQ;p zt`l@e4SPQ)EJdjZYTOswv$sV)bvpH#VpST3RYJhh&9;h+uk0Fnd`FgiNBw6zdiZe< z7E$@=emAFXDX9Uy+$le2Q_=tg2J@CCK#@mUl%p{mBpt?Inc}gg*ikb{*lxGo0u-_( zJC#Hhk$&XYgNQO|t_EtE#4Sz9^nqo#HFr99${$Hw?kH9CmKWWklpgzd%N|r>J$Uo5 z`(p|fzs4&R23ERDovp$DoBwVAz<=Vu#MD~iPFgE5y`PvdL(E(wUiwAM;d}zvL^dP77t913U=7jCKa6Y9hS&}uR^SJ~^ zA-;R7G1%)M-Y73mV9$y-bOsX@8mLKrP+t(6VAcX`LktjWTAlj)9n$_b#Oz2!wjs`p z=0vO~jIS|wz$(Y&Xs2s&j@b%>RpCIpHP9Nz#HDB`O~Qw2nXG7+X4C%RCg$_-enJ>i zti@$b4T3>XF9MP$(vZXT;yFHBEOyCb8cE$m0E8L*(nxx=XAy+=xIvI~zO!x~^d zyZgXAm<&NzA;fv_y3>6&Chzp{=RpM60D)~TfHx2>^)l1|wBLj!rPnjVT`=or;W6V$ z8c^2_SYV7>1!%_?GPwL+T|J!W82w@=$qA5XkO$G^Pvkz(*e%703`f6GLISoSL?lGE zAK3k^Y0UDuV@8lOaWi3zy;ooWW=FWaklf|v@6;YWmNp9q!^Sh3sGVQosfk2!3T@np z6cFQfHfAa<+Po%s@DbS)pm_dP7zrzf^+|%4xINR@KA7SFqo^gfI&y{#ww3`l@h%eU z4Ipu4f#BWE z8bU?hN2JIqSBVG;xFPk1lsNOLoGA)z0)+r z{A@OB?SISPUlBj>*l(y^$d8M{x`CX#)%=2>5_orfAf!O99p{_wM7x_dNFdRUe3)H} zel3*vy7g*6?!fE&tpVJ_ePYXP3V`EV{WljS0Sq%pQ^~cVjw$9%OImyL&3XTP9rZpp zedlNE6u3ScHXf*Op2+_4xck8?mxprO*&CxZlw|rUJDv=WrC^|!*aD*PWP;hSXX56d z5=0ax93=UZM{&?+nqODh0Ip@|r{*0-$BT9$NE8c*o?l4ugVI7k38A+``oY%H0W_Q8 z2l0SyJd~Y5tQ&QF6d&+D-B%~nnXo=wYc)WK4RWoUSNj;0slRkFZtzWi@x7QgKqyfN z@9d6(u4qEOC@3@LtzVami7@$92oc5Ww;fEBR-nkUdXqGKk`BrA3=EG^SHY~ zJhb3O!(};GAfX3|#J$3cuOrB)`x8%``~Ko4^YXYVvG&c?dQEA*(bWvzA(u`fMfayP zy~7W_i+o9xQSsg1w)_AG_>6`owX4hEUO$*>N+ zSR1IrL;i+@;E`_{ovCl=AplE#Lu&uscp&@9qWpQ{m8H;~#c2==HDmlPg?L3j@wFsS z9@ibdzT_sq)vG`ni~ZgIxnMFS|Am~GE_8=%b=_!j)8(bhj& zsJyZ1fTj1`Xxwt!();>GN{Yszi^1<}q<3ZH2QD-d!55=yyrsG|^FZVi0&C)8fBl`+ zfWF!e;dApa9r<1JzG8`v1%pHp#>#Y=hP*LNT$F5vD_tYQc6Pb-0eMR>bU)}l(044j zWo%8C);DMF2CO9GBQkh|6RmlTLRiUuHg%Nap(hled*;@%LDc_GLb zS){>2`rH2zz_I&9KQU2!j*tBz5IyGek_k5k_qe?ie|n;G@r2?9dlc!!b$!t4{;SKi zB*k}j4QCH$=>ten9~HZo_`v@i|GjWBiA?-|&wq!a6X+-ZxBT~bjKRL4lwbhEh%&qY z@o~Jt5n**7h_}Dm?@#`M74E&O;i&wH+!Mo`so7<8+B1_|b%Up8S;$^^aHTLn8{W@*O!oJ$E!M98a_SLw{^s95>@=WI7>=r1OC5Wk z92{nR=v!tmY;&8rYHEMs6Vb_Iyq$egh|XUQew!TkVP|gUkfn3PANb1*;`}y z!{4yl7v)0^5lk(+f#3Z^R166n5pqBOn|a#{d8uy&s253PK+6nEe4Atz>YC~YiHgz; zV~7~yzU7-Pdzz^{l}s=aCgBayzK@E9Ewk0Hc%3J7fmv>Mw!w*-WD5ullXy2tTV_y= z_KLR0$i*^1c+!H`%n`Nirrb@&5PrT{AmQGUlp_{ov2Nj^?6A$n2NORLxj&L~Gz~PT z>rN2~+p8H;uWup4E*dydrdjq@?W0({jluD+_Qhutv+^@nh(YZFTvwPR<#WLqky5_T1Z+hMQ9q{b-Ddz2cl)cRH zdqG6gk7J~(6M-3?N_j6udB(&kwNHdj+uQVug^j-X<}dEH(WUqMxq({|-@u-_IZWLU zVsm!phRean?uyL5@0XY(!3$?O-fbW8zsQmDH|>S7@E!8D+&cP^!+dE8IJ8vW90yGX z2IOH)w(wbi5F!|+n1$L9=*TZxr0CrwQW3ieaR-D2G${I6iJ?&B3(4521gkIY^7JIZjt^02#8Z7ut=E(M40m8xZm?n# zP&1!%P8`2{JzmF?Zs?_M3mG+0fH*R+bQV`EGhxituM-u_w>mt>hYAA6Qe;+o=u*}| z1D1Kgo_)zIog_ve`h+fu`0}6)VzGjn8w-M#=ZkUZuwBc+?h&T($^s6%7K{+5bp6Ao z1IJ;>0*BCNYzZM%vLh@|GSsN^Wc-JboPcwr;W3vkdy%)Gnn0svq%B$}#Qpr%T|2ye zSm%tZtl7>xj&oK*Sz=*t5-Sk0PLyiv>yG?Mqp_i(VSo?Ew(AW?RNJ*NH#mFr70Jh) z9Vl>F*M`Z>r}C3P*YyuMVEst5rpoqQPUwsDW3oAO6_?L=hdD@tUDu*_Q-$Vkr52}T z@$5EPRCCGwh&vd1vw6kG{jTmJjdqSyE?Uqmix4{qdXKU0+*dWR5>$Hy`7OfpG^KB0FK1f&}fF;o+3Xo`SHQv(*df+!+IC!wQaqzO_C z3JQW6dKE*HA}9zb3VNfWf~Yqrc5gYkpXYt|dDgqm`<%Vcr?b}H`I@z|X0m1_GynhZ zx_)W8_OS?kC@g;LG62mvhQ|BSysC^ayq){a7jfNmLyhK1Nh5BBUhh)a&I?t>Pu89& zq}+T6Y1!a;V_HWTRg?RjF?LM5f)6@Ek49PFq$8biim&8jC}A~9B5pr->hTHR$8yxp zT=SoB`(yFwp@Ut{=ZOH*h)E)UyRu4j-TS#XM?CWX`ZqFzJ}6edijSYi|v#1vc@p)w4|*RgQU(d}28 zXveHyG#({A-Y|IZVcwyOGWWf6;(bUB?*n6aWuf!o5!y_lB zK5QST$|L-?j|QbFz;Aiaq3ut!Q`|N9SW|hFK+4Ixk*KM^b}}brw7=Bg@b0EF9srvst{+sF1_|N$7g)!k;X1O8C zw<6E6A|r?w*94 z-C34;w2TsC0ApXMV`hMYu^$?*Zjo8pMq>(Muxq^<({HPs&vNNf(X=HQ^@@JLl%UDzT7}O| z#~YfK$ojmch5{K~-=E)H@QOIFUg=)#jhGsl>vU3&Q_9d6Pza&wi1FJXttxJ_ZsDRT z2W82abW4cOxskZ-=^9nuC!cHdsd3ubTM(P(#wG)=iNzf;?I@DJ<0>}99cwc=XKliK zOVtB3M8>$7xmuc77~)^|f~HI5gZu8bv1J5}n87kj@q)?qZF4T(fy8EF$1#fXWW1mr zT>QlM-S-P7K&m!dIKch!>O%|JAo~^7EeC=Euy@`9Wl>SvX zf1RFo&yK%iy66OGTDa(KK!eoKmhRu0?BJb(;kUl5fN%qe>S!{VB1^Es2V=WV`AwOB zsTVCUh#qJosAqh3%J?KkO;_4#Jw`(Gf%Rmx2S_zJ54sH2@5hC2Z7A3{tgdNyWJ(D9 z`JJxo#^}lK6=H4C?}@k8~N+B zdkRhdTd8hHqgtABNVIA9=3B3fshL1ujt%W0L!)P#%9yXhBcLwXaJ9TY>#hCfALGD> zRn{MFXP#dJ_#eMc#g>ob@agk*$w?>OWz3+3q^Q%5yk9Iw^ zyg30!J^gI9Q)Fw$(D8PXtbzGiAmdZP8SugZ;Htv1#$jWL>&MQlZ<=aj)6hxKKw^Dk zztD12J1}9f%V2bq;a-~~B{k0@-cgH~I3#B3vBufvqnpJZ#XMVI;*LuZ<1b>%c6;Bp z)a)THzuj50*%Wc~iRe%u9r>&R*1Nz##kudXJL zLWIse>z!2K?9wk)DG@xbn}6j$n7ouLWWPo|IBwf=I zA6I_tOW*i@!^8nwjZw)C^1pyrJ&jQSn65e&EYTP zI~r>>PnFT>=EbD%FB>Jr6iN3QMXY8g9n=ek+S0c$LnTN}9ig9|L57ap`G;pfauBm+ zxmXHAh3(#?Zj0%}Gk#kB>1JUB`o0I%q-Ew)b7cm1FMbx}3Ufa$PHkg7i>LDu6Z-a4 zPj}YD;?zZvBV2+_!BV*tF=fZqp|X{!-2znYh8WIkmmMaE`PxW!&A<VS zLRCmSl|_`r|7Nxt%(=r;_#RKVY~o1e1?ns1d*$4dXE?0InX>ofaU;^+zsTO*7sRgZ zdh^(=5hv%Ds^X`^Dv5kd?VbrD1`)mg7=H}JRikW5_ZzF{aE>Q(p}e5m@9*$!2w7~E zRhVBSrg2%4>OC1b+wFVtufR+q#Rvax&$g#Q5&eM{3fwpSZoUV3)i!49Qfv@?zxG^9LwKZ4SWw2g3!y< zgD=Lvm;E;K5%btB7GS6PnneCJ*$2s!_dOlQ3AUiQ+l^>g3V5ae1+i@AnnKa{9ei34 zbl!|cEIdy=Jk{xoy7>VIhg79f?n(UsTPUa`zvyY>p8ffOZqMeOo(Gv}g1QB{&d(J3 zD?QbClWMgSf2~|DV(t5~itJPQJ9FDmG(r6JKn+!*lIhXX;MGONU)o&tk8>89)8^OF z-+)9dvD^EAL@sN>4$ofy0d#iS$T<7xVWo zPrY==p7?93(ucLiNmo(Fy8q#HNx8k+vq)%6awHG?jxOO=8PTocTz6@sVYk#)t!Oa~ z{1e(n@u%VVaWHFYx;obslZVZFZKXn=-V{i+r=6t(TdgNmXU|(y(@?wpXB5_3m#%~6 z0=-y|V!!0#(DSR&!FJKAcF$3q7r*tD)Zqux8Pxz(yVr6D5UIF#x%_IpLwUl7H(R>b z+d0`^G@G>=?K|-Tm3-iBMJ(?HLnLAClh)cP4pk{zwNt&TQg>^o9jHn>sGS~Lm3~4y zBdsbUTRXF$Dzi*G>q=GD4ee9SRj0bNPv5CJeNX$$!>TjSw6kAVWq;5<`=#paZ*2~~ znj@}rPPY1->Y7fDR<$7Mn`>H~Yps*#P@T6`C*Qj|f45G-f$D;TI_G1n&!5mKOsg); z)+s8eE-KTxaHaaf4V~iV&@DxLY-@GN+X?J~V0@rc_QbRFS!mgpMYAHlLJ268A_W(A z%O|3xKdLWfODT=~BW~NL^B-wjjklK!uL;eupwqdEwIH<=5Tt=GUIMGKJ(altm8^TQ zV1gWi5yXFma&!x?(G@wKDkT8biC>i?B~Dt;GgZBwRjtqon%(M_M|0uTx4hv+!aVDm zF--`~mG7fpy#@*b!Nmo@Kk~OA^*{2rbU_-pSdhOxoeTBpw0G%s-ifH`yr*~TVa=^) zdR?z;x<2UL{!(-Mw;mr~%NN)0maXkp)$h@&?J?BvHLdNnjwsS)_ifeh_pa^Vt$*i0 z?VW@A1F^LOC-eu?Y6r6;`s;Ou%Jhe?)DGX!zuWw-|3dBEJGCSC^hY1QyHg)3n9u+1 z-^B@L^7;n_b_6*<9!QZ>P?1+uRU>PW)Yt3iZ#1NAvfAQkMRVL@<0MGOI=gP)>AOeZ zzV-1B4B8(S7IFAs)X}KJ$D(77$Hpba#h*N$fC@hD-@I^jBy#q?(6UQ)mL8f`cUd_@ zo=>U2HDY3Hg?mUOZEaG^ouTbTf@N=&G{SJz&Cc0iQy70arNAREB=+{6o_t51=GgMb zWM&nOyLG8ejI*_OblSMdY)YbiqmG_r zA?2nP`5)gBR&Y)NOK~CK3N8Zwouzo)KP|=UwRLp$4E_;Q-t>1&+4#T4lsB2t%>Ttw z{J#`a{;!r|x4$jL{}NO7^4#&aqS*JpjVbT_Z!*gN)lZy|gziMceb^EH=~26~qM85n z6PF}~l%4peqB!#ZK~a3}KNZFQCZqhXisJvNjB@gSRTQ7g&CSirFDxi5zEE6JQd<5$ z6vh9@DBrk#qwXJy;->#l6u19}qPVBGzklE#8Rg;sR22VDXO#c?>#u)vRsZky)_;j9 z5Aw=;(~-X|#dVkZPs#tQrP#^%GAu#bC~xFLb{aZQ**jb!C}2}E!fii27^0C!SGYoQ z9YMl8MlUmRbyb8e*>;;U<9_JFUR8a%rLKWK!%a0iZ)%Kim!pE_U}|I`(GG1FH135> z@_TZn`iaLOuktl2$I~EHe)r|G{Oc<~-j!B9AXX7Eh-#drxOZ!Lk`D_(;$9ysY*MO* zP~ql4ffruIiHBE>iqJyfW3w!R>M_0%0w2`ZW!q#GVw|;(3s3fFRb=E0ddd1cSR^0Q z>Kh_Kkv1^5wmFL^d@yQlA01DqoDt`y%Os^tj0@Y2uG55xoN?tD`64jinYwF z3{95Rum|-|25=qM8@%ojbLti>VdbJIJQ!TzwACRXLDyS5A(%;glMyI@g26 z@E8+2(KneY1+Oss?Y7cZ`f;*m5#i15JF)OT24*5CU1;WMIczP z0+ep#ZNf)!McluEvRo2Jjk8Sf)(-si!<0k(O%mP(6yrM)kQK!j8CmLoiahW9% zh-2F1YQIooL03u43u88t(U~kCoK%gvf}pFBOrUg2i6W4?p9y4L&4go>7?Z*tEw}Q8 zwumxquxc-W4bU0TNP18PC2`=mK)o$<i?qH}_hRBbJ zi;g~Hn2_PZ1X4X~!#7db|7EdE1%JdaZke!C9+qKKkT+uc2>$Z039ctuU-Tm`M}M$Q z(cLLUCYvq39Z6P(`nUbo&VvIz=wS^;@$GZw4$~YpjPzQT;-DnPg!f8$TkhQyFPgos zV$X);JMHY4aAzuhf;-tOdIoa zf$(r8`>2X_+pH^nMe6Kig=~af@9=HE?xR^N@b1fg->4004jK?1+{x5mH5WU>uuo{c zCHZ8WWT-qSqioh2Wdz`N%QKLDFizW*byiOW#)}5qE$f^SaxKm%Xq~T&m4(EDf(9iS zDYwq2FBDr{Ws4yK4^B3mYY8daWsOV~qE zC5R6J22eLBCcjT&wgM+1ybrqz+2=>NRDXD_eMFtDo>wl9YTFwPZ%@yXR@JIRXdHFv z3ZK3)U3%8`D9nb`sr6gV3XfICv8At2a5{_?AH0T*^cAX|ox0LgMg&bHU>YOsyZ~s& z(M5K*_5|;R_dF6$!TNo(5eghjHHZU+t5q1XY1A23qN@)jTe{eL_tyw`YT^XTH%gdY=J@un)N9Pp;3-9c&m zr0~62gn8wox`2D#sXnVmNcpyoN|BO0lFwP^E{OavY)<)B5|kKrID4i|kiJc_bzC35 zI&Dxj1Vz-{^GVi}qmBV{?~Z?=&p@GHX!Dwg%t9cNywJP%9FP&)Qf!|T((*>5o**Nz zcwRs7nZy^X3K|H1EW@HT8hNA!I_`S{E7&zosYq&Zsz^3WwoMp%NJV4}MCCD1>o*@w zeL9ZRB7-%~W=)Ns!*5!XPibDIVRy^f39A2CL&_+YENTO{ZH1w<_ZZ)ee2k4Y<~3@D zDDp0lsLc$~C?rC8j<$1?cF!Mj#*uQ;^eZR3yGa=+cJDT(drus^d{TnM5p)tr(@91Prr00M#CE4H7!B#B6)=CQE3@om z`BrP;i0`7VECllC%irDe&UKAMJY+<)cC1L4F;@hFZKEMTuhn^dZ_C~>Vsj?LKP63GW zO-xC&iF7A%2J$UEHP#0d{u+}^l9nI9JWoRv)+3B4$f@4Q(LGvtZF|(w^t6d|4WT;1 zO}S`jB^}qD_R17KTbb5p@o7| z7!bCf!}xzg;+coCTM;h?f-qA>SJJE+A&Ch>1_3^RNh@b07*;_EK$J@ql~xGNE)W{` zA~TX{ckst&3n3SNd=k&-g#69~ZDd3{8&ghTd_1KYlyO!Qayxw5H8))Z%*2wRSZ%NU zaY({k+-g;3H6vCpM5d5oyhx2Au%MeeGo~Ooffip^7>~zubk`#{f)R9#u=Mq$SRLfb zXD86I8iJAj5c|PF#B~lUBd`f$;jrLb(KXVUiJeIy=?PZB5ZDGuY(_S>U>w@QgwADP zw{xb)367z86CoP#<7`pVS?oCbb4Z$PQ9hP<62m%+4w@KIPQ%a7e(^lvTP3*v(tG*No3|h^KZYC5Wl%Gbi%$OZw)~0oI1w@>W2k^IPPi&9I4~^eWQ==3 z@J^2w-0W2i=65W_FdqYDKC%0bBl=g;A6(7L4>?L`i@Mmtrudw&%8Zj?VlNWVv7w_U z=K`_MF@lAV3rTHnW_;zEd}f+ZPCbFh-kh|Pff!`QZfHZ~32@EAc^fkH^h=sr&SA^8 z_3=9Cl|#u%G%G`1@dg6?T__#%f{-TM>w=m7gtSak_JO~?yLx@wvzihx0dxk=EOnapJGeO!ECJ`94RZ?ve@ zg;&5MHX!K2i*O79UBkeZo)ls?;fwdC<;MqEa|aEbxI!z*s;_~k3OQP~r%)QSDGO=T z&Jh#^<3RR`Y^pFBBDX=VZR?lb5YnkhXXJB&@oal-WIFijs2Tj}xZ-ESYocLP_TkdBybf>xTzz>e$mQi8~c?G<=Sk|Hu#Cc`#=X5r^Sq zF4W=yzQMyRF2ObVRGWN>`!%I7A4HrVMx+$s>!OiBknfC$N1aDVfk9Q3uLr^|XARas6aUFWlZJYaWE1M- zi|Z6S>Xc{dRDafylNWi9wG!&Ji|che>h)*p4S&{Clp2gJ8ch5fOxF?`sKpKD z9SxQ<4c0#!XiAMX7L9f@4fth%>H^|u^|)og`DdLVe~sbPJ0{eLasY*J0C8`W(gQs2 zHYwf32u$ntyhhbxOgvC0!p9hizzn^59D2f@2dISu$;@Ukf53FPNkR#Lxj>?ST}VxH z#7`cBf>m$d0$e(}@hlRhF5>b{VmAwi#;C7uA8&hbR%PKfCN z3vvPuRZuEG@CfMX(cI_L=(E}=BM zt}VPXG`uzAR9)8HR&rb(ZPm9Om}z2on(0Q6~C z_Aut@U5qOe5G%$o_XvW{=m0sb`lq|K?fw1S{x|YV0n-e zj%{{q-v~qyPWMQLUret-#Vl@#{fu<$ghDzY@uku;1h}?DaCHn{%izlt-{ij=z%a3< z!Ob{95e1OGk>6Z3(-wXTSP>Z(5a$&U16O`^3JNXwox@E5Q1Uyh*r}r&|4!+-QvR&K z+;d_hb9jq#!n|;IUpV&qOoZ+n@9WQg@nXP~lmn3l9u_y_NL9p|0X%2SS`aCOqic-SNl2dS~A~kPpA; z>C$;*P46y1yZb4;yUi7wuLr3W56k@oP+lVjNstI{fm}P|T)>3HPC@?$j`Kjz3N{b} z_~BC<#DMQVdQXV}uLH(iT)<>n3&-gBwcci4bZ|Szc5WjJ5LagJ2!MoeR z+K>ph9rN_zk&=Tp%x;IMnwZ+;*}F*~Wl(gq`NL9MYhtJTEx?|MjhPuwNoq&Xq@3Ei zc+&o6i;)w`z;tJaZ_-rAt;Y$pHd8mj0iV$2-|uuCpj+0#Jg7NordVuJRteiW+jnAw z->=l&{l4vT4dIACV0#8Cw|b%y@Wl7}teD>9E7x&nF<|i>kG``m-n~^kyydRo`cI|+ zlMzpM2ncq^x=-mKYv$46(NUN)95v00f7i5orfcC%DMWg7s-_h)Htj@dkJaniYw%DO zc=p{NS{=O|TwBNBK*^j=lmp%R#dC>zI3hMtp)w);^hrd=6M0U{#<5bya#NSyqXvUI zEDhA{dLdgoBV&Pep5u)@ecCJbP~0CIAp*Zkn83L|Zwr{(nKYHI^fczz)Kuie^66(! zmv|Dl#?T1hr5o5P5P{#t#4{fnj6B=OhlqDE=Bh)9mhFGt8ptvLGT(I#UQeDre`l`& zU_=7&;;$t;fVJAXZJm(B*nk9YOwu392^gb&m^D&)S@V;C)D~V{6M@yNhctJ;FuYfH z*1B#Wp`$-`a?|doVl|k{9njvNW4O6D$6clrtlt`|-g+Pg9CIYS~z4GjO9NyV40kEAonC%t=RnKN5e$F4>`uv3GvuCqYAxm9{-|?k7 zp-(j(PiM!A-TJ+s5lo{V$Sz?u-wzS>CM8IKsoVmhH#x6bXG4OI=nZ^#>lB@9``O&? z@pAy>c4VJ;!TIo~)T!C+`UAJc0D}8V`%+9x@f(1W)ND2RI{U+=XR}M+_0Oc;@_=f=sU^>>e z@cVK6X~5|wcr9s7lw32&d)-PzSq5b)~Ln^%YK9{k|_ z0%Tr9Y4@a;*e!B1`ARuQzdgr}T`?`Xdq`|WXl{b4hZ`s85nb<9dZGss`G zkZ8qm+b?$XX@2432CYjRQBz~v&(bN}fNa)WyC?B&|?6arR&lYFUcdZ_z z+-`;0fH?RdBTKiM*-?l0lPEq*zmwyECPQU(- zi+@PyJxi5n*13y;nZUMPzepXwKCJbMxC4hr-Y6vi4giw0s$T~JfCz+-&=+EkJ-5vu zYHqFg7fbQpKK1xjX`|)sFHS3H?YMBd{HlZ`UQbM0TZlA2ctP*zhxx}7Z?ENp;Q%gH}f&JN<{tw^zHik~!*gx~|y?<-; zt9zCHk3Q_`{MVSWR>1UfU|*)ph6A(HD|-jeX>Pj`@c85Yk)ln9Ue7-M6g*aLe^zVP zlhx44>K!)^Jbm&xe7bJ`{VQv`X1+wuwjKTR_0yTJhvvFdCD!kr{T4kxl)oYP+3fdE z-8(C{UETfkAC}@nZ~hrm?mxSJ&$D00R~P#?_>j(lsfBMrOWGKbo+T}@?`@0oo-SJu z($2yO3x2oN$tghfS@nQ#hlFI!gMf6+0v{cm6&l3aa(0zL7ZgGa4wWlN%fAJ!pu{TF z+O-6>O%Gu7aB&5|KEz6$!pN|We`f>&0g?=Q_9_!#Su57VtRJe9OwO0zSfJ;u56`_4 zb7?hm_^c&F9M1Tm?Ovtn!4AP|=sJUlA;wAD&#ROt*%GTnc5-aIVK6ph#J$ji>L-Y2lkki-p8j{S7cyh zzi8Wx+k%x}+_Nkz_&YRZR8su>J((avmX?X~z`6@h`3I@^dHbac>|O!M5CCB^@!z6G zP2VU%-pQx6)m{C;dsP6rU@X~DGX>tH9dawNuwnV!Y3z%N5XUoRH77pft@Nys0#6lk1O3=NY&@?__pUi^STx17p2# zas(r0Ak|{($+l#`7ei126kIbTCX{=QB}H6+>=mUEcXxdnfRNGIa?` zRhdUmHJWOtYDB*E+cWJOt8gGox2ZfF;BaTSX;~!WeTiz9cF`bw=GeSerE2IGYu$YF z@L@5e0t6(13XPLyBgzo~P#);0?m|EZPPGOc-veOAdPg#^5SVESKXFp(=TyQHT{Rdt zBp$K{u@nOF&+dCp8)9J4XHHV7&^hMor(7f|1#6%Xh$tyTYsDVxA($VsE9HYgeY1)xF?Fe#QG-&kwW(2=eE0e z&%clzg)W!V?NS0?N?b6v@6WH!Q4h`A^-z0Fhq&R^_LF{xiy9TLULt(Ci`zPB`&2y$ zpw(u_9W2otz69T}H72Vw!ZmsUci^Khw9_RHpsP|YWyU=qar@x3k|C3gR!&gC%$ z3g_TBVgcUiigNjZb74R9Y#Lwg<&4amMfq+&zhe7J9}EO(DTia35eF{(dPR|A#Hc%G zup0QL4}SQD7j1j-TI`mP8{qXRH>r>ee83Tvl*#J)wuOMYdy3P;v1EGEY&9^Bq&}YT zP+Floi=QX5p2eift;mslLYuJVr;jIR2#MfV#xPeJVhEyT`rsVKYSK~guoC(T7+0m+ zFSuVV{p3W}DI)3)Zf zAxd&gn^So*$VAc$+CUcf?H7@2Rxie0%~cRuZTi?rq`{ZE!rc1LAaeZrpeV2+x!I7E z`!;{JFTR3s6#v;lO%grUyMWwJI(=!f^u`IpgfR?9YQKIXk@TWL>xb#1#(b+CT33Yu zyw5ipzK<23$-VTwUL>S32_C25VGD0Nr||Z3M0`4`dBi=!O&3Gh>_hq-NVqCy2dIfr zsHdd?t_%^tj41HPf2>J?`5!reI4LkglskZw^VN_$MDRNInv%}Pd{z)Y;o)^ah!Oqg z5AM1Qh;tX#ZlJ>)6hkYrfPHqJxSKmF$Rpb4d>X`PGlB2BkC-z}g+NvQ0AR@-^?1UN za9 z6+lP=`))kNfHVqONY}>&huOwb^NwAo8&DS6%u!4MF#hjeXO1Q`Rw}vS25+1d@`p*!V#s_g>q#6p0~Q} z1RFm`L87&&P*N0%1G^8Fhwg{pP7RZO(LTt0V_g?zm`@bnlO>FC@yS)7L@0Xjh8O>= zESHX}_h2bb&MmCnVJ%0Y*h44xel&TN_cl$uXK(76l4ks==8EHmZ|3pm3!q z!DKB98%2X;TA8no-vm3XwxrO%0fdAWdUm}{vgT~khoiR>o=F{Ib%j5h`Mi4#B)%R6 zWEx3&;ykc%C6Yz{27K5Z`s=0HZNW&FJdf~LB54Sy4AbYSJ}0~tmt!x6KV=xa>Ff>c zk+GUC1`YOfzgngISsT1x!X(bm8*gNX*N%ASOx<#K-AP%PhB=R@YSGvqXN2KptmZPy z^|0x@p5paElq}G}W^}DB39nngYAv&@80=bpOV*4<=1^Cj|4nrghQ_mObY}^@OJ1;` z-C(l67Mp+Gi;}DA0+UfC<&=dPQ$nHHTn%{Eg^!EipA7GYOZdVmoh1|4qCie<$fb^$ zHhG^7YT6e*ObDl4!zho{)-JaxxpsfEfH|6ctKCHhQY%TYpq6+)vx6!w| zwzo!T@%D`cqGAYoo$BcNt3_{~Ug0@hJBHmdsA09dDIV(nwilCd3T=5X5PTY>S3C1i zpj`TtCQP-OPLAr}U$0^-&N41Yx23OUUF;l=tYLV%ZYDF?Q7-m}mIiMM9*r0yeWI2* zqNm8qExC>M1p+zV5k z*DYG`cr2?0EP2qj-(s+8R#;gc3VC^Z?FQqvZ!M;f>v(F!+)P?={ev#+RZ9ZZrM_Vp zPSI^ZyL372WFMCPK0t%I#q6EyxtZi`DXvL%mU2|ar{}_XhfQ<$0==%M?m!}2kI;wg zS`PfO$(X?2ec21F-lGHew@Tl?Khk$m36m);{h-hF!>>DR7xtReRw%^*Prd&+hEkC? z`ltbH^%Q8}FjYJr2ZMyju zedyPd9&d?T;av(O|P+sm=Hh zRCAd&?K+(0X?v5~b-fl{-KU)p1E}*X$fGUhjev6#aJ8mev#K!J)wYnq{w*b47htwf zGU;q!DzQVv+TC;uNkqBuhWCC}Ei$51bc4SUBWRAdNg2Gff;Ae+TDL$_r}V2O-t?<| z&|^8;$VKXXz|Y2ppOx5)IY#e)+I*IDx1yL{cHMj;X6naYz&F3n@79#fq}gVbF4vFA z&ooBQ&+SO<^Ng5x3zD%DiMd7ZcQ-Nds^i{P+Kvf{0jxN6UiRk4Oiba*?V8lVXDOMK z>mEvl3t zM-ii!?b#Iuel@rJYDfL9KlQuu-tXpLempV%Iu-wV1OEmq|3)|erd|Hck^U`7{;g;H z+e-c0ulsl0^6wn=zxC9=>%IT&zx?@P0o^JAJq7{2Rsnr(0sXrI?nDL*Bn1qfnVq7r z2%K5}1k@4$?>223nVKC<5|^T2H8g&2Wy02sZ{|;E7k-_-t7K# zYL~cFD^_SO>xqebaxE2{9ep}a#m>DFrqWooj9vFX3)>Dt3ukucX*_$vz?v)wn^Re} z9Q65nVdW~HWdp~z{b!7$l5a#|jRu8@3(r0*lBV~Ravihp2A{AMEJ zfkf3nNy9)X>pIzi8_gt~dPvt|P+V4P;co13j zh3xAlT{!eR0x;~~rO3EN>Ng)x`v_#%z*I)m{xi?Mvh>0fZaQ)jX{*&L1l_scK% z8}}Dmg9uTec123Wa-dWqBBSI=o#C)V1Y-ZqGn zvXPO0VNlpRls%5wAu#xviLOrJ-B!n@Xq7kzj`-GJ95t-cI~pP(ZcOnB(@{x-u=T01 z5|-iSFfJ5#I@&?`DB^fWIa25dTRw)TnYLfZmy@Y+QXZ2@vr9ajK`Nbo#pV=*7&Elu zDcqrT*++U98fV}mSn|0M%~I0Y5cLd_gWWuTy=U0rLCqA32~Gk6yK%_&kZw7w@)59K z!iPp4lQ{gF*6>k;L(ML?>ELW0$|ikJ7S*A-oPOgnt^OO4&$_PO5mqLlJi zw&HQ1EcT@E5gdZCpR@PeqCJdacUcOm1u%ij_MW1yvLkZoOTBaN!;Q&_YQk z4gogKGDoVRz=va+3G%C%N97Z3de4a}uN0}Bre@mWE_%5qYe6^{POxa3`_LU_3*##| zlOr~lG>DPQ{cPIujtep#jkCDoEdfS|44ncSVl5(!+($4goc`urontqgWhv2p;VW4_ zw0*LSRl2IX5tH48S+U^U77eYpqa%qyL64}dqnYfF-tH%U(y5k%s zBflbQ=_OH*ky~ra{WPoPqup|roy>0{r+%1?NtY)TlO_B_q2t_L5nS7O+pAt!DMJmF zn@O8oQwTzsRQe{Yx5%V}yqMDqU3#eo*mxc0IQ`fmw|DDFrxKw* zB*eO^(qhcRk&D<}=MD$NEDqF`c6X&mzScf>wE7KM&{BPi_)o|)I{q#9#tLBT zazwHnyQ*tEbnSFrq{WBem#wG&6!N{2AS!ek}_th{U#D&*Y|EY z;XYQe5lw_1MZ=;Glb1qRZkWe3xkg-9F6k98FGa-U7!!qRK|!&>IT|f0-C_=uIEMDp z)@XBSYFSJ&x{#t}UI(*$NRp*z%nL4&A35%M7DXzR`gR$ zam=2F`fSYRxC)%xx(pn3sz>y1&dX=2OhblcYdnuRD=FZ-+`0A_=2Oq+jf(DHPb3yH zF(fp(I>0PfO}k!Q3B|mQbCRq#Ar;gasr?|SvrR{yi`A~va*K;H%rXH)JeDg===E*) z$hiP_<_dMdNlLWj{yC!nMJZ#ad$H}Fnt$57?tJESKR&0z!&&~~8`F+0TGkVRtWq9gF{O1~`SdGts^TT?{jo5kJ!2?vGE*btLnPf3- zugha!V0v5-XH+`$+yOK)JjjkdS7@BEbPZBtYCMl+=jAT2DLhvnx#KyP<)<(+0IhM8)aB)BSL6KWW*nDIaX_e`3V}5feW#KAEjn8q3UE&H4=y!a<#%$a7jGGSYWo*2y`#Yot$HK4aUm0**ci>DrWRJ0*YforOW z6p{={Jubl!9QipekIL`f6YdU?H_X=?YGY0-AoFwtB=9RiaUd{-bW9T?A;m_RVJ~GQ zDlk-S3f&8Uza11ov<@H#ZdxGkjhSn>WNL<_wH*;A(It{d`cfPYla=Tru@J*YGAJ49 zqO1WNXm_NwMqU)a2w5-K5)a7v;a9k6Y6Wvx zD?m_Bx{!=y05I^iT;dYGFL1jh2mVDDvYxZGR&a;Blvwv<<$EM`M*-SGIoy~nF4pd! zV$GBzo5=TEqg$5iE`Wr)rZMy{-1K##^hb|XdPt`!(4z78Sq2cj(~ANN_HWHa`WUsS zIjq*NDcoo4K}oG$i08l~_}-P3rl+ol?DWV&G8x}e)IA_IpZ5DWA^k^q)(Q&=%(

|wN0_;V1?L)eW89^i%Fe$$@_X^vw%d< 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 literal 0 HcmV?d00001 diff --git a/vuepress/logo.png b/vuepress/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..60e17006ad07cd313788585e2f5e528fbb7cf821 GIT binary patch literal 3451 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 literal 0 HcmV?d00001 diff --git a/vuepress/manifest.json b/vuepress/manifest.json new file mode 100644 index 0000000000..82a665c4c7 --- /dev/null +++ b/vuepress/manifest.json @@ -0,0 +1,20 @@ +{ + "name": "VuePress", + "short_name": "VuePress", + "icons": [ + { + "src": "/icons/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/icons/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "start_url": "/index.html", + "display": "standalone", + "background_color": "#fff", + "theme_color": "#3eaf7c" +} diff --git a/vuepress/miscellaneous/design-concepts.html b/vuepress/miscellaneous/design-concepts.html new file mode 100644 index 0000000000..ef7dffec74 --- /dev/null +++ b/vuepress/miscellaneous/design-concepts.html @@ -0,0 +1,33 @@ + + + + + + Design Concepts of VuePress 1.x | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/miscellaneous/glossary.html b/vuepress/miscellaneous/glossary.html new file mode 100644 index 0000000000..021fb65526 --- /dev/null +++ b/vuepress/miscellaneous/glossary.html @@ -0,0 +1,33 @@ + + + + + + Glossary | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/miscellaneous/migration-guide.html b/vuepress/miscellaneous/migration-guide.html new file mode 100644 index 0000000000..6e0a2c2735 --- /dev/null +++ b/vuepress/miscellaneous/migration-guide.html @@ -0,0 +1,33 @@ + + + + + + Migration from 0.x | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin.png b/vuepress/plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..e22cec992241e4f66d5a434fdd5bda5a63853302 GIT binary patch literal 150892 zcmeFabyQXR*Eb4VkW!>UIz>dfdkY8%3MeAoN{5tmsdOq5(x3=RNhu9V3rHy44br*k z{eBmCg!6me=Y7T<_m6wuF+5|a`)t;lYsP2hcP=Qc}vdq@-w-?QD$AEFYnu$OT5JVW_J#lO$=~!(@Dg0=p-< zBKLxwZYOnRRZ$r+QSeD89awtsChxO+df8Ve!$Y@y-aEU-5UUF{CD4TjyKkNo_fBhP zbo=-kU9MkWWa5_zxceo;tb_#Z0ODr6_;gQF=0h7Ul}4ii_4!HlxM1lfPf-J1ev1*L zMi`P!s6Q=V=z_jV6CT>lV0%Bu!N@3zYYo_VG?N)J(vsP*HFRoOLyiU~Zs{Ag-1|2^ zMPON+|B33}PZ_OuwQc|}E4X07{b64cQ^by>8}HK?8cNpM_fLmRHQbB5ld15p1Q&8Y zqY(A8D3L_Qa>euN!a3_6r>FYk@E8)l740lUuh_v1FvD}gDKwOPRCNiPCl=p`A9lAW zwh+J0<_8*T=RJzs46=gJq{g+zw`PD%Homt9Tzt7_7^rPv*hhwe+uN@94R!MIt}VAU znYK<+?#p2c1Vh?KDa6_VdE{o7!54gOs)aH+KTN7jP?iE%>dH&w=ii1pb76D3h z18=MYlyd?43h1S@gsWxewa$-o%*&zZqoT@TXzR262ytPQli69ld=C2y4W6yfKJfDeFZUkzlzy9iCz$|G$?G;dECn-;WyEjE$x*?!xcaV z=cSqb;+I`$K!`F@-Rb)^38#?Iems17m5q9wCDng5;BjJyY{|umFNC*a*1#*diGi~Cn3!c&ddyE@hA^bsQvzf7MfYY z!Xt5-*Ga}V>|f=}QF-yS+Gf$b;jGTW$JkDl&@^Ptmr}=gLS7y~RjY||P9(6{FtN{; zi&_s$iILU7@{=jn=j&wt0>(yz`Xc)KyZ)sb1-tcI1T*%tGrNiZ7vy~G{C^JqI>shCc_S31!BYA(zeT}tp4Sv`M5izfY4Jp#@6YmkXI zWs?i8I!g3YLuKq9pF1f8mghviP=BPML}MEx6TJBSSxX9qHipx9*&GJP7d&SS89X#P zy8F+=OzB+%xC{gP7}x`tC&Hi8b;=REeEOEbUHbWTcr;zQ+~s?Li|}7B^j^GaGMl3B zdNw3OO@FS5Vu~;*6+83Vhi7pqk;bz_!EKI>B9rMPb1G|W1*q{GRMrX^M zW6>p#KwKk~$i|;s9*E^>R0OWS01sXKkbqek}Z|pRnXNPfsd$qeh^ji40QKBK;6Yzzcejz zE%U1SRZik}tN}zlSAVi3+$+ghC5@8jOLbL=e82mX@2Bgp%fHV3!XQsHmcn^wYZ`2( zT4b!ru@se-kd~hoK5@HVvfi#c>?)vC+`ZQr+sX%l&0?`q^0s7!}^GZK~&c*`?yxyQZ7z9-~beeG`deLi(QmE!x3 z)#fq3BI1Gu9u_+nmzt}ZH+Jv+k3(%-V&D*lDhZIkI0m%{VK1m^Vh16C-ZD|1C} zZ02~*m+q^brd=huYqug(=ks2tm+BVY+^8bSeU!?lY7zDzv_~lCOW+5>Vdetn=-Z-# zYhnB!tWv3R#Pr-Uo@8u)49itaQB3+ylE@?ctn63WNZIQ$3P+_m+_}yz(Jg0JiY>)o zmHL@n?qvNT*bN#D5mlc&BdX-Q{5@li0({=zNVxIhM&uU{si4$ggSc^-+9$Pi3}SB{ zzd@I|DB~0|9ikJ$6Cyz2L{=@p#dnKS!=TG>edvBIZ(mVI(U;An%iXOlmY+0o`uXhB zN`qaZcOPt6cHn!`m8K5pl;f3*JSY5K;R z&{*Z+55o=fmz{5?ZY?l7-rh4`Fpak=Z`saG4AKeEd7%?OOyP#(_Q@makPqX7ly|M6 z{{#QtNH%7B=HA;?({fH1oV3ULmUrr#`)`f?oZ}s{oJyF`UUL6&vzzJLqv95HwWnEm z3x>T$xirHGL+iu1Wry?DOG(pJy@$I*KUjuX%HN4@bFS*UEUwONJam5NY>iml=t3B} zbi0bJ^KZ^LuWWnH7%fN67q-tv<>lnnAOcq0-ci`oZM>qHA)Qm3=$+1+pqbU1N7B~N z(u$?f>0j;Odh9v&o>o%Xv|}$N{)_OJ#j(AyRJ_>;Upf;hVo4)ORw)`^jptZj2flW$ zMyy^ON6?2b?BKJ#pyd{{lbSlb`XjUdZuK1|#n3oSzAdvNoz16nVPvkY*|C*eD~29M zy$vIwJi&zZ#f_{DO5u6oUddxI%F!J$f-JTM6Vr@2jJo$MxLJh6U7Xfed68!E@3xej z5_Clm8!r5~Y;U5S@ScyyZDvg)s8GESHy!UD!M*Kw?#4F@%r$D?e|g{iUdr-{8_zyd zV|?KYo|>((Xxrp;m$y;rVoC_P(FpN~@u<5=Tunyn*Ie>=o^gMERMj5T`k{rqO|i-P z8{O>NDaz@r)xsSUdq)tmx2H5_h-bIjp2Sz0ZAZ}F|ELv!X@aS>p*qf&q4My`-mT4# zHH9f3#%dFGg#2f&wNJM%C75v8bXS=8qWV_1HqI8#e&*=V`{?kc)>jAECII=i`^ zWr_3d#1WH^!uIv_>us8QZZE9vYIF`h!fF|aUbwDTaImK2Bf&@XBM7}-K&>RN?-PMu zvsQocH-qkIRXqhkrWkoEg%$;gJmb8o&BEb!Vu|qFTUtMgd(5obgeQcL$|x2pdsbLf z*jcZ;RnWOhZOAkKhImT4sV-@*zD&}`G~|>+%a!)B5)#EbT4D|RBPm5ul~8xGoVwp zuRv9uYooN8RJiqhYs;+|k!uB~kiK|s|J};M$jayH;?6Q#*+^HFdDO>nhq3xRmg*5f zGS`oX5iO|=wGIAR;T_?xcp2I@;`}waHTN_lHQmDeD6MSlZA8}N+iV;gH^Wt_)I_Sb z(WdLx3Ewc|DB&i56XA0fKHQw#)>v|CXG|)6^5j>4u6^n(d%`6_uXnW>lT+y7IF0OO zI-;)4)Aw2)Wwf*Iw&5qh{==H zUMat0scQek za6{^0k5$v(Ko+v=AZvMP>hn_V-P%hd(-jmhdh0hfYLmj*X+*@C++F#(XL;uB z>q$2_tn{R+M=07ZQ?(gkslUuZIZqK6eZD4M7$x%-O2@d4k7T5$+by&go*eRcJ4)(% z9#`<0QOFILtL%7`P#>f46WWkbY`^#zzI8tHS*>$qAZObbUGm@_6qH+D4x4w_QS3f? z;8Idi1(H)8!m1BHTA(C2vmee7;@|^I4hG%L8=+f$b3pi`+p0*CH$e}y30RNiH0)7O zNSL5ssJHGhuA-ozCY#+?cTm4`TiD3PirwI$jo~A9XRF8HY7`VvXJPQs>XCy1t+SP- zwY{*j82#}T!r(LXH3vQI@g)uxV)W{Flxd}G>>knbvGcNX(u-r$($b3BJv0`+CoS{) zcJO~<^rj9DkA*onoSdB4op{)7>`XYggoK1RIJr5vx!J%KZ1yhJ4hGI_*7gi1ME;>8 z{m9is z6gbK)=^OW*Q5T0@ytP%MI9CZV@i4V8@h(ckc_UKL@NVAczZrYu#$60zPQ&MS-xLIK zKD}NLQbUUgyB0uB?2nmtRq$$cR9{)1e|m}4ozx_Z_BejWR-m=w{ThM z373%T&O$7UA)H1e5I^VD7@|pzaFF=4aBmb;7#b$tfA`@QR!9e4#C>r#zyI@fXqeXt zJMhM2{yRE<9)X2ziYdqWK3e*JcrY3-S_#H~&({e(_){1;jNtYMrvFipi>S;0M>!#S z5h>n&-e{5LxBf8u-+X{edAt2j>|-)sO`)Ux@>Y}Je|j!Z8}(nc{iA`uYWq*T{6*W@ zF!0w&|4UH%8{5ugvA-$dzvS}2ne=S!^0xr_&(h^@0dlqi{#$_jEkOP$M*mAF{o5s+ z4W<87B7X~zzXixYSU4L>|8bwc1;|;i`CEYeEkMq8v}a<+F--mzAb$&xzXb@;!2d0+ z{CS3t4)a|l7Cq0_2DMf~+?J6FqDOT@&Ynk4)rY$IVhs`$yy5539$XgU?$Nb(xZP)} zZCN>OVVFVnDb(sy92tX5NE6&a@{G+>BGG@+2n+4^B*l5}Nts_RriP*2BL#zaSHGNa z5F}L5blG`f2a7QR^-jh|qSRh?)=`C&SKzcOFhX4+cHDuL;d}(ONTWRYx%DK)HNron zn-T%N<$G83VNwKhxf1S+&)gczM@u93Y9r8ez)0R_2Fn!FG%4o=78r+X`1E^ua926^ z^iGcWQ@2@$z!=~u`LIa6a*YJLO=hFWP`&;>pHP`I;oRpM?AIk#eab5lAHjpZHW%~4 z(Ck>jApG-tLP6lxepep1AcqMX6Sj+;4LZ|OFOFSv z&hz%DEUs8*Br3VAIU}r;cy9S8a>Rvsf7g4+Sb6M}Rsk#EYVriN*aayY7eLlZxYjd^hU!U5w=cIhWzwvyzu*YlE9W zeK*N;31~mwh97&ETVDzh;TZeA-sWiwA@7bM* zQ(;kI#Q+-SSi1>u6P!#5hbKolNkDPnq{%d|x*zb~;o$QuT%2z?ZcG2iEEg&&Y?r9d zI4jV$S)*~5$NBE5f6zu;M&0sneJe?e#?1n(+gyYhgyMsX-+|Xb7x)PvPgqUA{ZN8J zsogEt9yL1w#RnC=A-7yn+o^x|T+*ZzP{tok{UiWLW16yuC9r00AEO{ zJThhm(d`HNlOYq$>&w5)_e8G%btJ>GLMShP*7h(He@4o8CI`O8SN3YUeGN^LHWJd< z?cfwlyg5A7i>OpDO>#peuvZoOc&Ihz* z&K(9^ivd`jVO$ULj|ad%EGpYTr1Xi#>5KTBF!UVFj#*zSsr(gI>>nJ%X8_aOF$Adi zO$mVMnS1oK0C3XaUVp{`ZY;bxZSc77ZIw}knQB1ix-7G2jy?aH_<2w#)D3c zrT!IcJ=7Yp9~SycW)3zcUhb3dd*~9rWd&BSw$2GTwL%uKf+mv=fBRdf#z(T%4E&3^ z_#ulyqh5#v!SOPoN6gbxR)jrielK%|vLqg|(xlM=7ldG`n49woxCVfw631F3LW13x zvgGE752%-#&Ah|7;&=jv8IA64X+oPE^s_})1J;KJ+x+>TsA zfk2R5z(Tvt@`sz^yXP9~Ld>+bJVh7wnHyv|e&BWBOw^}9Ox&4)on-I%ED=2vfySvkKy>NxM9 z0x>|FLRVu2WvMzq{)fWHHcM9_D@2fG(_kX%#%YLcss`A0vs2e)Xfl_o`JyK-Aztcu zSE@$E*U$SsIc&hbx5(zfmj8Bt{A=LjAe;UUox<=MKha9Y7@KX!&lxe35AvG)D!M0T z82%)bh@@k}nkR%e3ps+!B4rSCY;nXYqfRnIgHCmXu%PSrJl-Egm>cH=qxfWl%-ZDY zR|nkJ#{j!8;u0a}vlu|15A7l6Eg_s{KT#7bLQo$34h%jQKuRrQW|`)Dn$3@Pdt^UC zaK%WZA&#LuF}m(tuLqB~>lZ5~)8D#bnqu>MbJPKa7+SdgYi~ak0T>`fKnkJb3xDDK zbkQ(t0iBK0`BtSr;e!?l0?tyiflDZD)b)9H_W=z*l^8vm6XF%{K&3-$+p=M!J*Zv zEKnHv*~4hD?C`5lg1q}B#UM<_qH=S&pM?DQG!hZ^1=pS;;FMqFL7 z(RqzIntJ46S2Wk7Ax+ra7mz3a#2F{+jkV2I~ zLb{;(-4PhNDG;OsMS|k%t!)zuCQ9LzS3F4LTjw z(AjPtiPW=}S9j;Fk4jMQNhR11`L4C>rZeA`*q?~yH!B`_7OrjoWYOu%aODbXRo`~a zPOX_+T|qMX^#o327)@Pnqn_H@eT+gnpodV=fTw>f2TwZIL#3x)+UUko-&SAaM2iUx zdASm~7FTAjOQBJNMn{9`jB&<=MuBJcH`a0VoU4> z9#qb@mTwK_?>AS^dyF2YxsSY@@q5WrKFXWn*JVSFL4FP7DP_fHP#Iti#Sj&t7f=i# z0x?8kREZzXl}zPV zDQyewwb*{Op4`W6Ef*W9M!Im7ugF!a?I$`bx_kOp3C)hGm|_Y(kb+BOUZ4U`Q09Iv zc?$mw2>!RUcVp(bysQt5rb_zsy(O^Kspo^&B2{ohRcz)*iIl}>;Ew*w`M-p!4-(|{ zwtMZrulL2PNNI?FLJFvWI_Gs+128Jw5y;YQ1+e$@Kv#Tgj|C80+HV6U6a0m-E=oud8qG zrpZn;ArgrMwnD1rt88n1_hs~wzdqghayL21etAJC^{{o|`bS`+e>IbWJE3*fur_*+M+ML_2^LkI# z1P`;G>U!_tpqIXDg2+-E)2x_X+q`cwdWly(+CqIl&-YNBo|X8O=FtQiw`51HQJ)Dl z5o#i@or%HyU%0{40ZLUXMJ1IxlzBW*fpc6g{*ihaWSN1;f_098a_lw~h8Vtc6=Y62 z_Mn~oViVnq+H+mh5IMzwBcW2Fcq=7pduQ6{LAD4{=)Lyc>Ddd#bSW%+uhNR0`?W!h zHM2*a2w>U`67T&;+XV125VJ4BMB;_4`__cuSn(8++YmF1# zl{!Z)N|{Am$)4LcxvaY8M(}5bd3c^kY|mD%1nXHAAnw{uXS~~_iqnhrs;=5~5}$gz z^Q|f`ch6-M1AkhHX-9Tk02NuhD1aK=ju57Rblvpq>S?Jxr2&j0*3XJe^Kcah?a);ty*!6boI#W zhex=Q!}3;~q_w%L5%B)tHQSL#dSRb8b(MECydfhxTh^ORZinc(?|Y|_>4nfxIm#t; zu9%$T4_+bhWY^CcX(S->3|}pgn)vC79#Ak}X;lv5;h+jF%0F2U6;=wR6eaAIYSVCM zc29>PlgSWsw>7IvArc9nWJewXvux{`76R#tLT)tnk!YUW! zXnT)Ps8citY3#T}NAZyc4$70%bZfuiqRGl2LIp)9yza$*0+GN)yzQyO@ZifB)}3xL zyAAHGVg7X-RV6AbGgVzz$`KR99NQvm2|EY4Mrsvq?CghqCX-)FJxr*OZ3>f>6bMH; z(cN;Jx{-|0At%Xk)!hoNm2GF_(QMR#^o?fpk%uy%q~Ljvhxrdc!7$-C$2%TYnO4tY zW+pFkGyBk7(+%9jlb1r#TCAAuD z4B9$9fKt-!sFhw;k4|0ceth5L%c3cBCg=CNiN%#ORc|k3slM{k71wpS5cQoyBI8~{ z@pqOyC*Cx_dsQSW{|6viG8gn1f4;Xl-TTU>s6`@=S0=}(kX?dHd~aAbSkcW$+i}Un zNOI*xZpn6unXTjs1Lo(D7S99U*uH&xRNssXw>d-~jpdKvR5X1A(DI9903)J*97qUs zx~58L-z-p~s!Tb;7sn)}kj%m4dnf}m6p8sL|W+! zlonwSz_df<0l+i?z@VW3hz&xZ>}r1kYY})C#a}ngdbRqUJCD|p%kEb3s8hWXw%&H~ z!2ToTI_o>qqo?|soqBi&lRY+#)kz2Ok7&aBw<31BXPtgg?AcU@Iw_V5CM}6fsQQ5_ zmnVTT^|S{AwF9VZ2~>5@WoG2AreEeU%-hE>Ejk-%{N|K+q zr`yg7X%d06h8|T40CbtuuKaNflDF*<&ghw)wsoxLsD9U@c`bBYeG)KBZeqp=F)IU? zs?je3gG>}3N>D1Bh?pIEB9~Jwpl(H6zayT=vt{KQs%J}{d!fimm`&qyBL`C92o)oD z*I?WPHJAP1dQDRjVfn?zI|N% zyjdrQr*jOnFo?`#kv3LWJ}DlloxXE8ZPc?zP?@yR(*B;vB*#APuGIX^)ifp`CYu32 z7ND^QhM04*6A-yB0?6><x9s6H`ZI@X58^9Zki(*|it!|!p z<R^&bZ9?>Lp5rSs6gpkH9-nXB7kx zeXT%H4t#Vt4w)@{PQiMu2kMp`6vpFu%k2jalx|X^G8Kq7UxV*#i!!oHWM}%MJkGA5 zqitBaEC9m3dLiQLiEDmMti+J(i%smKiX&;~nk00PLU1 z2xeq2gN(pOIXMuZ7n-%jsvPFg^LtrclkxGmkjt@Uqy4rv8gr2damK3M_lffS{lgiX zqo#S(jb0m1omU!e8htMp5idpd+q(6~PTMdm4O~yESm_LkKbW2k3lBE-6dLL4wNe(A z?p@sZDy|oz7frpzJ_#&&St(-mj3wcaC2w6j&gM81dwEF&jk*FE*E0ngTC*f5^4PDD zUU!}Q@KuRaSJidot;eL3$%@u}uel(K>b-fvUu9hqx^qWwd})Y|OjAoPr?{mYIR>5Q zLzCt)znZRq$Snm*Y}?`!1~B~q5PLEwLnFWki1noZJc=yY+4IqQg*LGDGrMFgVWqyE z#+AQE*UQj-ZtPNHwUt2CR6>$K6#u|*c;~+Acm}5YQM`nR=VlH~oj_iB^%M@WIr3dy zuG=yJaxdCyBFZ8x#Oq+0Vl6LYRNKyMEnW;4X_rtXJFPxLOwCZTj}nf5ow{*h5vrn? zN$KfM`)V~%Zf!rzwUeq@SEsI?j1!!FnKk*Yk^a-DeX`&(;YtwJqtOvPuNmfRqUnzd zOCHWN=ih0jIY$(Cp$fTGGFMPOxofM{Q0=wuz4MuB&-437=dGw;MANpo^H`|9w;%w7 z4KK`q#LL^;I|l*a3IM?Iv=UEF8UWx@;Pr#6xRR`}D)}+#n45h%limY|gBVvxL z!s_o8J4t8P3H=A~@H!L70=i^Q4bSd(BoHDzzBoikV^hy~^v6cUW;wa|#i57eaOaB--;8Ug9g{?!-0jJg;lan2{nyt$Gc zI%`c-z4f;m^{4^3wGIqt8eJ)1*5#X^kRhI~#_1EN+jgTNlU?5LiQNg3SHe-Z)$I*l zn|gz2MCxieC+LqeqnjTJxFFvcHu$K>E4od^6&h9JEVB#E+!2RbxEIWK0T;j9#ijx% z+ZGfykN7u4B@cMkPqo+gBK9q{x%WbCM*>wQ+2V75NMz=sb1i(92&`={%bl7<+fVNE zcvvYoQO7Xx%s2V`91?+3?-(RDx%V1llb`PX2NlZ#6T0uUt`i~72LiK=RVKp^xUIxy zH+4JSlFP5`=ISS-Z}mUw?u#<~1`(1wJtmxeGaS5t5){c9i6{fe=~ z>f><)TJn2Oonj?yF3WoX2Af}R=Ih@uNZ9RGbP!ztrq^hX*f}-*Lp{KfhY&fBb*1z4 zFMOP&Ys2y3mp^MP7PY<0H%P7eXr6k0wU?PXWOQWRlqwWu+Cqcl$%x~<+mw2l%$q-1 ztU>w-T0q(Q$wKa^XzSeeA(g0o+_4tQ{W4}?0F8M;9_0R%l7!np&;#grfWw6TN{2bf z2@itf&*W@Z5YFbOe+FUlLJ6=ltpT_f+ygknFMB%@;0$)qsCDosRsy^Q7*k8eivD-D z2YI>~ct2yjCJsXfCvZf+yW|1j%Vz`~c$`<+nL#&1>jmWAZFwDlRip_<-~V;)=PFc8 z4+|v$dMGJxt{Lc&eJ^bjamX89dq%pKfNBD)(85&vCi6ac21-}QXOe+-HH(+la>Yl3;0%O79BGA^!;o|SJrFn23@-{|=mA=CiXiFxT9J0a|ltS8@ zH6W&Q0Mphg%#UGgpd7ThTpW1HG$V9qX=%z;p{<(Q5sZ`z6~>0I z{%ESHWcrta7I)08QJw4G2<8OM`&zOY!^ck?jpX zHj-NIRKS?vDaA0OULEG#^2LK5MRWdBKSO&7&?d*8P9mL>3Xp$snwJbpjrxa45t5U9}y%aag_T1oU7%XABSrzjR{HBH8*d2!xhlj z#Wza&wjH&K9>b~Lo}#_?YCrC1L*dH+_y`$Eaxgdy zjPUSDSBPoY$31cvJ(?O?#9);Kr-Iiw$D<}E8e9H$c~T@miw2Qc#pARf^-B@tMF<0w_;leG-L9flUW8SeycQYKJ}u zEEmu7Q3B%?T;tr&Q)&Pk4qUqGMOU-vg1}J-305|j`F;15ipb-wjBzOrtWGr0mfKnB|v5z<;$d{9BA`CTq)f|fX?e(W7kI=mdcOkf)9iSQ|5n>x|A zDy3Y64JYoJP$Dk3p;&zsVEPA!C_ah+(sM;2S{y#&fID%VJRoocIuKZ+=_wf`yrIu> zBf?`XJFgL}VGK;Xz9S3Bqm_9TuDp69F>eAJh(g&ott;l>fC}#IGA5@ApvlHj7zz*& zdNcIGm78)vSX1Ac766=fPZt$;lbQC(HRjn*hVu5{Ip=+_@+e6$mJrK*ZsCbW>G%u- zcs?wr2ikaZ4*_Xt@xtjPAkF+}P!kKUDISoncyzl0BK@(ZOVX%Drw~fkt|mkFNWFz7>sZXtb^MM**(cIG{*n=NbF`@sHL;Jc z$OH#Ix(ZFRXIugDiJHeCf%>t|fei`BV1mGSp@qCBZ_YMVfMhnK!U#VT#UKm20bLGd zbig1vXz9QmSWG|eoe0GS(!8dm_!&JMGw26WAE)+>-s7`Kp9T;MOcT;yoZK=4O>>gz zQBQFIxvI|)XiKNWeMycriUsbFyZSo%BnX;=QmB_;UFfXjfEFh-oF2z6OFEXGR}n4+ zpS&J=GLGTq06Be^2)1NhV~Q<^LB9tzKrt>r`qm6N?||5DRlt7LN4@p9BuT`@IYD zW`LayApL8l7bySMF?<<7(k@vN=UCs*!5xgRZY!L0#l@h0wKy3po)zZ*m8+Oyy?Fi4 z-vt0f|LZn?-RA#Fx0ykw_B;rTt=2c_7R;-hzr>WhRJ;+dFhW|bVZTY9zx#Zx-oFAA znvihh;IBwX@rm_2$tD`mg6qG=z$ZaKZ!8IeI?TelBAw2s$|8o!Xn~F2rb+$$?+Mi& z*y5P8nK(Jak%Km^j@zoUj!E0W?GvM?OFkOA`y&={aA43@x;$Xfz`X6IlwH&nU=TWK zcoLOT%0Mvr#V>wBx*3Z1P_6v$xHv%H5s-oAEDYDWXL1j^Z;lgWAFAlbEnq6}ua%YK z)N(8YNNQJo#>JUxexQ;^VL^o>xY7q&J6N1lIevD;EAZ&IU1nVWVjP~51FLnB_s%$1 z#OHVg3dBCRAgXrUX#NCcay)3~M(jkHrw`+m*UwbK0;4OLM>T@SWk?f!Y)P)&4qrpZm;H3gK|VO%2;rraVoN_WC>JyV;HRO`>Mfb=a6%~a?Lu@P-4D?-s*El9-jIKIp3tZ(R?U~j&y>4j9278|(!lwop4&sa zVW4dZhKn70S;a$@gtK~XimB;JSD5sg9io!(+??4N{A#jJTww~o9Xr9czylg4pnYC14L#PSo%O`={$M^ms&Oen;~Yk1T`PlZaBy9_=!(t!~(N z>Aa1?r&Xr^xH~X8x!PMP&=5|oWj90tac2sR=>BZQ6y4TOIgUOpUHWGRgJ2Cjq$W{G zj1uYCPMmMrtUy(0jKc)h)@m}N)I!^>4t@Hb9JakU4hH8zk@k=l>-UQkZ6qfiVEUdihR%%e*&XpEug{@89EMmP-RD51DVe`D1OU%1y}W1W=2mauKnUEp7J3Aa@!7a zV3QnMew<^Qn3ltLk1?>sf`5#f-;~f^5~!Csm{D#tDol>g&N3FW2h+jz=V0-9V&dPO ze-x2%8P;`R*dF)27Zkum_GF|1Xs$CU9~`^7+Ojk_pZx=Bu-|yF7g#>=)y*qx)j;3)yLpSIfv$&M9@+BbDm~I0KBbIaPEOs;91zv zc3AqP`(lZ2l;cd;;3S)E-v_-WtqCko-J^16U{IVY2|uE+4l4%5=OI)tN6O=zB+@M` z2MMN>{c5Urw{uru&}j55o8+*JW_NeT!C?@z?4fo$orZ>2w{9Np}$WL`Ac&GJP@C|!eJUR80{e1U-IS*FG zK-aNj9NVQxb!=y_iV)G}R*}OM3*H`B#J;WRB$=?+@T`C$r3qXJ-kSmKOr(Vw(0k?; zPLnS`Y?qV02rfxTWDKx?t@4Q2ni-4m@LD~@2$_Vdr6FtKNoYCIXaOzfQbS&yJqKHp z)1`Z7sD~!Ns&`cMuwE0o@*fG>6@(>7g;eq}mhzy=CZRvGJ68X_hg*)NQn74iXvAVI9S%ZhWO z%%DS0TF%*bbKZdh%oIE81{Nb2ywbjR(7XUPRG?=0%|omxAg2_*x@O57Pjxx%(Wlkd zsoKlrVAGexx&GHeeecNj{Avh5h$V!O-;SgSotWS3ct;mu1XvSNOzHrv6$93^Gn7^# zAhB^S^!M9-UE(oMp1T0vDY!TGYDt1Tva#X=L$7t`DIv^1^9ov3K(-+__k{j`U@GwxbObNP3f>6;5 z{Kqa){0pcUQa;tJefD5pjz>5z5hmX7hRgnO1!21-k~6i?X}f+8DyaTl+O&J&6P zu$kkyukQVLV=@17fLZt%*q$aL6Ed7GaYt}CObxKbouTw+dh`|)i?rRXnxv?(vkgow zSf8c2lG1|Z;0-1c7>xY{r#XlhS`uuo@neqg27?UPts;;SrGW6TJ70T;i(SS@e# z+iNsoRWSWg;jtM$wGbG<9UV_$iPd4xH6clA#A8%*`_RiP&Z*R+0gG) zCp9dUQ*hVaIZ~jG#3F~(B2-(btV}ncF)5B%!u24@`NOySgbkKzWG1)kT5u+N8a-*e zTwS{RtiI;v@B0xN{*+gkNXD6|%cHKMv-Vs|_hbmswfeCW6Z$EvH?PpWD&XrbPI4f| zk*CtZ>Pq;QNcAlIjp52=n?pYSP#ykQvdA8C3X7aiG9lV5*cM*mNzT?!4vqpP8kRV= z6Z(;(PqM4Mh{7&_fVv5z+FPn6#^wy&~9p%sU&BY2&zgbJV*hoUf>ej!7C|Ueu(-^gZ5oa%$FPmNc zU29^lcZn!Z!>GHUSz+{Ox|4Mxwt7g-^>KeWU|*69_ab-~lan_55>y!R0`~8`;o}7C z7yR=&0X!P8Uzk9Ze};X3i2V)TD`BJ4Jo!sOD_@e`3=Fah8-DSfk5@CL6qLx-)ppmM z7pzYvs!kHw4~jj~ZzuirX0n3{ccGV8+1+z=!K;B-AelnKJ#|G+dOkra{IJ+|L_~s! zg7}hH&4LJWvsiG;rae0GF1bR#f29pY`O%0$WhS(muXr^BaFX%`qyh2^=HM^`^WhyZ z;$da7~u9%;XQa+%1{?Aq5$nAt}I&WJh|u1~8w2T91X znPD=Tilui+pMAYB$Y+mYH`WKZY!BDCR@PW2I*2c#+9V2!g$=!3X-3frrVf4Wb#&*T z-Cl{vvq1kxtgy>UpU0u&{!A>=i)$;|!sy1z3!fQE>BX!{CeM!>B8EQ;Z1sW~lMYl4 zeg&2r_26*SWvcds4-0sijGJ8An+PEV3+4iPIz+Mv-*fd{*;@!n=erpoq$esXg6;gyak_9(I?G@gQ zi3z=A8svsuyN~?j^}x|lkGlzni1q4sD^>3n^VaoZiTy_pCY>uxN{Eq1EmQNhO)_G7 z4b?=w$hCx$OvEhqwKkzweX@;TRK$tmD|eLLXOH63I$)hE)t7AcOLuDaSd$V~*AsTW zuQ-Gosl1f?k$B*9^_pO`n2%ekFw*dR#H3Nenah&jX0Pf zCFI|GoFKBx$BIi_HCH_yQj+;KA;0Tw$to4ioRxG5awM{Ywa&%R)WtOM7t ztk`Q+Rm>y4w)J z&uwUZm7DG98Jw{~ID4118N7(@Rej~%h==U-7wqt!{kNWa1 z+cNBMMDl}mXJi-MsKm5=KGKi%XrgL?!*<8Uvu_1#=;mFeLXrvnxwx5n%Ti+!fP+LYVO?2su5-()$ICSzuv4rBz6I(HG^x0B@K}t=r_C z1rk1%`=ME3e%?NDgxHh(#)qosHg6CED_-Nog=))YVEDKTmd-%6MOvVS8otaa;j;)G zSxLy!pH9jm9FGHx>0`YQ$wh1?ZtENzY@Zhv)7+{lj{X2dDL>PC2c)ey6C#h z6W$O8cC>CKkxLH*ltthFVeYZSrXBVOkK>c*IcOAWKavs%_W`4&oHhJr>@gFS~tHz&ywHap%^kR=Ctajb;D=Bq;Q*M~u znPo+eEa>c6+jER=C%r4^HO{kEGrAH;b99)0jYo#}+IA9F566MuC_BaNkXsg^p~Vlh z7-UGOmHN83+(p-h7IzK_y{=n!xqV+m+KBXwN?^;L2SJHOuF>SQR>u4ZUcpulzn5+= zUwvPXccnpa>{I-;M6v~&9htZMK@1EVQ~ewLeRLYU zedTWxPp^Z&%7?^ML7IZ*Y74wFKK=V**Vk@IPGf#8tl)WBDlg@V`#1I0@ z#rFH*uzlIa@(-J&a)oxMzMK9flOT{gA{+2yeih{pJDT-p;^?`n4<1^KVO|Z8hQk?? zMyp>^BA9D-q`V}xWl>Pkz$Pmk?x4*=jEaUAa2Zv2YMj5`RL8ArclgI@vFR?3!hMmg zePOTlI$HDx^ML{@J%`=moePO99xX3M^fm&nF}v$9@8tZL)qd9gE%r^RfAafC99Q}& zx8af;$xD@6Ug9cSE-E`C_Oy;M4Kq|(Ex5a{a9fvO%XGMrj)FqKQyNDgcT23haz!iV zi|Y|e_t^bpm_yV4)Hpp1lhzyM_ixW>0mqnfsF8wtAGB`qTWhBJ#(&;PSL{V^)c!yy z^VT8Rrt?Q0TW6)?$iwe;dpMY}>YF;lwsSrstpkS3F1PaB24bEq3a*$j+37i%T;3v9 zGF$%O>U9-LMlhK44M6>SLqxho%a z{1ho_YXw1(x7`;*zqM@3e8*rd{Dy{mpy_3`Rk?h<5fQX3R1bh{fJtFVvPhYA=eJFwTnA=DEH1+!`Id8)(z%u~@x-WaChqd+5oM;J8+9N+Ywq zyJXmpb=Mo$B|w=`3K$3ve)5}73g8PZeSTJQ%+p?@pGUK3=8hXVl7rGA%u_HwB_rEU zHE#c#-qOO65$Yj2nw*Nmphxh`;pZxsr7&h7C^B(00Sqp_|b#*8-I zOBT9Yuj#nB9i3Y7Qap?;r`a3(zS%}rX9Z^<&^YAIUBV1#-9V7#lg6P;UP={ufepc= z2n8sMBwZBJPy^arg#RF|k4W(YvvNdkm&B)dbhHBbt?7Axi;!U#{vUJk?++CnZ!h(# z2`$_od66}56s%f&h_BN@h4*-9)827yD(N-qK%96_vbeJ@GLt`Xy@(}FWPvq~=gIx{ zXWfUg_Imqn9XGs_p0h6`*=AE8Y??&%Yrum)ExPL=uW6-Uq9A|un*V`4?v732;teIS zZVS$@-vo);SN7``{psQUqC`wxr$D0hhU-E0P5;qbJa%YY+-)lYR`yFbXw6Cqp8s|jB zdx+b`I*Q*Kny}A`QK6S+mLmlN?q?xB=czrC{UG1ac7fBvfDs0xUpok6o}ooUZJ?2a z(_;Z(MIhtFv6`)k}w7_;8N`Bz}&|yx>mfYu8-5a*A z?vYq@M8Kkc?}z9FK&*ZMDpL=Bc@|$5+A~1GhIs zuGQSY1U@Kr!sQKsHAb;-b>rla^02E0!h3|80iD(7^C?OS}!TKniM|&8aEz& zD7AJ_g)osIf|PTY{vxCt7oZ$^8~H#;Ik%6MBXl5AJmb4(;WX#zW>uABcPY`B{@10s zz)UB_#1*};J?$79!$6H%n`kF;(T%jxY>b^j6vX}Y+rwM^HUmDG3q1!iYEl1-y*Ces z`u+aLGss$$N-2yAQKE$GB*~WSSx3p9J?mi5zS**`$-b{+XK119`)OXuCoIV}00fns;$Ms(sE)wxp^|cml^TwLfMBj=m zg`8}ZT5*W=GVix@Q4jrX%G)xlgG_Zq$g9wBsc-b(e&9AJ-n^UT!8EiAzjS zH3^x+ZyafvVRe#VmEZIvqxTwWI`UER>Ca;+)4d*XXO5N6wRJA#X;lzZm_5D;i-5wj zj#cQ%lCOE0)vaPE7xJxR`Cv(G>Vfo-S*8NBJT{TY2btyizFBfKA9eHmt{z#=eOInu zDGP;((3MOfXr1jD%6c(yxy(O$qA+4+cS<;U!=)Q{_7x(%gF3(LUXgX@ix$aw1~*(( zw@!9J0B7D=a4&Bruu0|InrATX$ZVtfScU#B!8m*GUcY(MIn~5G z3k%Cdb4_cj59v|qh4Fntl-0$BKe{Um9;?4n>2)&i#P(;oWBLeJW@4Pwk(KNH{QTS9 za+BLe5|~x&IXo}WP~x3L$YX-5HKe3&XmBw=l40AAYj>9JS?3(@@axQHz$8{I(kO?t z%&ZYB`aQ?B?;(81IqJ0OF!#+)y`L|Yl`HRe_nWU2OuEG1ClTz(ErmgD({ikhPh;l_ z7RA#X^HZiXWD9Ow$dTHL=$ph2Sut{$nJbyP9D24*M>)-Zvu5z>^_F3E+x1(J9z`;w z{hO3Zz@gPxZ&!_erW9)`hz>)3nd)+BQ_AV77n_4b-PDh(9SaJ$?491s_fr`2 zPoAZYoSIGU_yo)}uM?JQ?Y!p3@gdiCG3Id>LQ&D3uHqXmP5L9wFTJJRyi(}oc4=DK zaKo=p{L>;^i-9CP31pbrWIEQ0;P}$xEl#XVdB420Ygu0sY!9{gAA-rSOG#DV|LKST z`e_sZnFYEIlwNaNVx*IR70BVy>u!GkGfuY))F8?!07 zfjZug^t$@K8_gM=BU6q!GK~zyc)ev>+ZSiu=*v6a%M@Nmz-xTKFeu!}e6aK~@O^yd z!2Nzra<0;_O?OvK!Qj=Zzto=cP;_DS3h=ZZiY#~1)REoDD~R3`Sx1QPsKw|6bj7&D zd94l_xL19>D)NmPz>F+{kY9;L%7=w)#fCcuo16E7KW)YH+l;>H*;L0WzuwjLrLzh$LGp?J=CYOHke+8tq~^sk#=`7F#? zfOS2(=k4tsZgrgdIndnOS^&6|#5RY`YH^(v%4+@6q_;z@^#2B>0hCBGdi^&*+>h{U zmw~`Bw=YT=_0sU|@y(;i!6)SSupI}IeLYgj14;G)B-s$>D*BC3HLdmcr?T8SVrz*s z6fp^`_pU4%hB9ecEM7*Ta}@VcWI*zCQHz&~dQhco(R7mlowHv;w(1)G zbkkjI`an-bdgVH}>!31asC(#|jQ6_57LChHP8PO3af}0{&8UK-G7LD(LQfwtg-g4D zjE7=b(;JO{>M^~(_wuU|L4D~%K39PU-BgCo11N{Lcf9>nHu%fxPtdEvM3xls&F%e` z=%jQ7ozm~zN*m3ztxj=&Kuc*FPzh34q6}wTl2r;LA(%}-V4>rsr)Xh$l5%OpR-{x2Mka~3v_y*2*0{~~*527xzU?Yc>A*JZ_tk9rSd)&7!_q3)A?WHX@ z*U!-06F-D&mZ74|rQWQ~bac{vgKKcbJo2Pdma2Zi0XHi5ysGBJ+xCI8sY5!=xu(WN zq%mpyj`&J@mU~H`P~Uwq3~slNP8K}=l0u^NA039wsfz40YFhD?6(!t=3M>jo^4}~9 zXlj>eT&sY|SfTlP9`_nb8mpD0-6NScP+vq=qT_e4hVX+dto5&=`%Os+N?OOQ`4WnZuop?U0=HZBh8QD88e*=c29twN7_=QPOGY*wl3I zlR1Yh9j%e0b@?#UhtJqt_Y5^BK+f@hqs`#+M!otZ?Z2I14v)xqKd!Z4-J4WAx4wb= zm}eo(@j-sLzui`sNG5ENAmDgAur@gah#n)d5uW^n8!k22X=OJbexdz#{=<*a z=K=*7*#N6N@Mvt=7eLTz15Oq$k{$dOJm%Z`L(D67QRib3>2;1nU#)ppj@x+S&t z;~n_lzZpX)SkDd%z@R87ZQ%Uo1l|NL0;Pp@A!<;34&P4;)qnf=j`EcroaY_KVNd?S zFNcK@Vm+P#X(a|JhnO9_j{VEcf=~pdbF>-(JCqlzz+1c-t`%bgi%JHOKd1TYr%`uz1ShGENx=olDJfq!Imc^(y-9roaZv7kkT2jJfRmvbC=@&Wk3B!*u$wKw z+>c7}Y+bDT0QOr&ruI>7txj0GRy!#T@}mJ@x{vJQU73~B(9=NU0OtGCj)jD*0{q&Q zee=yfCHRZF5xE?eZj(kQB)SD2Rztqh?pQeg{2jv%m)m|0`5%@B)_IzpoGl<1dXFa^ zD@Ol14NBU`>Mq-%6tw05#e&x$B?;N6qS0jPo3dXYhy8OD)b*g#ktU<0yc_Ux{2Js4 z0GEo4?Bg#n7^N!^z>>le1PK3X@0XJ$sNDkhM{`!cOgUL$lov~?e}43D8=P@G{(rW( z$lZapj^Z%7{@s#e;5fso@o_iR3+|}A{XbgVQuzC+oC@`FrpsS>d_92JKfz>mwziv= zr?|MJ!L^&WfPOzRfNaB-ZT1xqI_-V%0|_jM+2u|Zudq1wD+rd*;`~UqomSj zJ`wGkL%uHLx&51~d7bZl@`T;otXw!3yuSH_ztk1#2mGY^?!7`(hhKlMjlT!t;T52K zr$d{XWq@b2J089<%Bwk~CK=5VVFn^3Bg}0^Sl9W>_p1&8C;oL@;5$m?YF&vDKRT8k zAmY~R0l+Pc8jg4mJ~D9q(er=GKpc3W?ng5y2Er)yce_1x_0ZzgC-1QV zNwqhsGB|zZ#L$t0Jwnj^;0ygp==e}!IqeCon9l|uLR3pBUYrMWcr+(WCgy_E>Sp-A zzq-uDWifsEHUv>g$esWxKcRL8-}`(!@yBr9Y}tvO1e*6?Wc+8H`Qn-|>D5=TKgYSh z84!%cCP({$Wvs{IbrF>^6GuYQZLJ?ge64CNc`5at`auKTWTHv>O;JS0D#tX#ShCgR zwETHm_?@%wE!n)Qa~T1E>m^bjf=>NvZtc?|)b{$yZIn_h9SPZ&6D4~LW|pBdg$2-F z|80X@KHoRQMlM;l?eL$gJNJ9*)gw?~a_t_Z0*gC+oa8c$xD(=Xoo6^;+EJbCkzRFV zGft>3PL2%qM2G?X&k7unJ%n{jtgdsvhu$fm8gfu}V=Lz1UA?tOO7l0K_C#`4zS_AB zge5}W9D_gUS@c+t>7R>&)_7Y3Jm$57+Hao=?qGx)NqIcJ170;MQ$4n9{wu1XFfCb3 zf?J6P=;|ztV*HfVPhwO`;zg~^cOrs9fBo0KoL@!&i~5>bOaj%zdKF=3XT6*q(`ir>EC6 zq=u@^^itJ;r9_flau<@|H_X2bXD=#q&6Ex=!$^vd(2(V-rP$N#=fdOJ|6_CCwg z4p~1iRs*1opXU^3z{;hRfDTa%F4v6pYpAn)#3!gh1tcF*hj&iD*bv4M-ak6j{;i%2 z&MOYA!wY`y;9-2v!BNt(Nfbk8@KOz&!SwJ%#@cjUj=8q+#C@$7$P3<5C&=ICuQ=6r zj;%$Eehmo@KJi^t^~OI12WglAc+gVRfk36^DZ$o7t)-PAIj|jD3NOzd!YJF~baL=r zq8ixyY1`c#Xt(}Xi4udr?!PeJRaQ{Frq=1O_`}*?8PsKz6h~%{`(tw zBf;(mqXJ0}EDZ2(>FIfN>LIudPWUhY1$9OV_u2pbC`ibTD*=Q?W_6#1V*l^5Axtng znXqzj`X!*$u-N>r^B=l!U^F9!AWz*e9X~h_xGvb^ZN*TB0~GjL8bF9^y_Yl~gZk%@ z`H+ERlC6d*xNaYszqSHP9xdBS1+f@<>>|J*<*Vlf{(WQMXiFH4c4{im2p>G`HK4zd zv;`&YD>n#t_W}B&6{OaLV&6aC4qgKg-`(896ZZSR9o2_(A zu>aFPzbpcbWM_Nl=)uE2gKB|P;bShw{fGOU26&g{*@s&p|9mItjqmb-JneXw*R%Z|FyRNb&>}W^T1dC z|8tV?dYE+xp{v9+CQ<^M-W^lknU5?MnPuv18@#BZXcdgRw+wP@DK+=VApYwiV(0Z{ zUc68^i%4ut`xqiH2Tz*xzvpo%mfq(ONXW^gew{doM=}>dazbC@2xXKICb$J^1NT!M zRsO^rqa||P%j@auAw3#|**QzD0pZP)BYq%d;tDXlZg|08T=#;%=p74kV^wLRUP@4n zd=eQ+u^*malR|OuQ()?EL=t!$#27C5`oHz7N9vy}zH(?v>1;EUsZnuTGX#WJt z*JpgXhfekv?67rV%*bK6Y@qE(Gu|knG}bJpZ1I9TPhWZVWwkemqo?UvBYsEse{_|A z93JU`XFe&W`xh|Qr*Rca_Za2Ulvqy`%gQ1t;7m%qv|4QuGZ$f|6q#B$dOm4#f=ifR zMt)|7WYz9C3E3^irNYA0gft!Nt}aWS;iO6Hf&J4HvBe! z6TK~NzL63Gl|}lNEV-fmMIBcLvHiA{YV1CWIpiY&ki>@1*S}~7-b~h?VO2QSjO<*h ziS!m|5nDPm5$jrUhh8m_QN@JzuWS&_fP>KS)6@zEa(NEv&d)27c=C&FV z6n1v{`V{?ZJrJx%i)K=9LMkBz12{Io`$PSOgFJ&?2}pwPO!MCuzs%mMR;6z8&Q^V( zs^0Kqi->tyt;ecW3_onG><86;u3=T{?ddO;UF$T59FlZWs!}**@Of=?xiZ@x=Hm*g zHf)A^e(w7Zy!aWQo;SVeVhjiBC=Iqq;q&V++@zO-DMuBj?j$49E3=zb=Yj|IKM=4k zH&#j#n5TpRBI!Mr>N(-GptDSY?&-YA9diBA^S3!A4kj1{Z$+W5-U@0=ANsICusvbmm0Gz>f|QA|NMAgne1hb6jIZv z$AOhK+X?Ls@tm>g%h{2W1sDYZj6PZ&!8_F(HrZN_?Ck^SA( zhmBw2zerbrGBmv{&mGSLf$IQ)*Vq_z_!PqqSsJ=);&Bx{R&Oyi*+(~IjBe6AP+y)n zC#+W*CsD*N<(*^ka@F?hlAE*0_}7#yH?`j@xqHQ@zK)peiE{5;z8}L++DM2U3wFr3 z_~$Nwa}*#8LcvZpXstzZ88sHGsP6StokP*dd^k3J%4o+2L4NR{M{-~>(v~zTR#BFQ z9y)|L58W)}`q6fSQqYKh&K)3VlX(XK+L*~v?ot)pF-;{K}Gps0+WLIx=(I#3T~K)Hh6Txjg2UQWrK z1p$F|(h1=6zK0>qSqq*?i9rXWk|hf@TS0;ZRnsmN*)=p9q?b%d2zV7rOdA9_=7)&S z!A+VkX}T}FCNZAmcDsFVDsrm3f9eUS?eLMP=tYS{Ms})d=Y$%RcL6V;JlCC3b7iPa zb(p?zDf3K+CLfWYz=}9=1N6&Z%Yjs6x!1Du%y090Ss>N%Qn}x&>BCXq&#RMGur_C(p)>_xwFLy(bAjbDY3QM3Z7p`r?P;bLzJ4wz1I> z@xBGkk3Tihd}(=3|4Am6zUha|LE7hC&3F6~#w2Za*uX^6zFWFO;Fp;o8&#l5^tcxr8Y>`NDUiPx#f;o8rot}!F7anW z`K;5bs@rePKWz#=f(D76`0`>hO?>^MO3Ai^NkqiqJ`e-1ku&vVcKDsOS$8YBs9b9N zrk%QWJKC7hrx#?EZ0iHBnf5b&T2>H*&-Zr6t{+{fB5b4^Z0Y8xIr>Fs*_*{C7uxT% zAbHOLiCusJOR#KNd8I*YMpjzhSlKkzaBbF6P>^4A`oKW>?ITdZzuF5%Ps`Z$gg96;Vu`~T^3Mj_JhooMBbhz3M zYEY>0SeqX1#Sb8nG75;@R*1$oTq7)PaK!( zTVZ(^x3K7dMBPzPF;0fUuwYz)RP4Glfh1*bQV<}rB4|0?ATxiBKlRz`U^!3^h_cXm z;c|{uPt3+m1%=C3?*9x4%fIa{^8(m}VzutAPxFk$=}s;$5=LdGntFbW`8h|Afg(2) zYj}BN#rG{7RJ2NH9yAh|X6O;0{ci6=mf=?0RgYJM*S;FR^u&1dPcdnpE1R=ajq%=Ur+ zC$PW>dpqIWtjKn+URC0%FcjGLb;Swj%A?8`si08-=?YXf^vjsXd ztjVJdy!*=YUz`?6p>tD1j^&0e&MEl*(pTJNT%yWf&$hdxn7%pW=|{n}v)l(cbtr(+ z&w;pN{AY`hcWY(Ood}Y(94Z}{3@;p?st>=pufswxTfi!7BO@zeJG)ZYG~i-B@FlJf zfA=gRm8+QNzf&JRy@8JYWFDHUj!G9|9mk)XM7T?bvj-i4x+tG^x)Eu6F&p!ix(&~i zbll$swW}>S&i~g-+KMK(%*jFvC-36alE(cY0aQbz9h<^O7p#%WS%O4!AA^YCzzYHk zi%IKw12KNJcM52KVlMj2Z4KY-vvzL3Fro`;YCVr1AJjtNmLT#ym)F~!Urm2d^rhLF z=Oo`&=-Chud!aB%4`O|{I1-J|&p4+@aRNm8mC5Mf2Xyrv7Yl(4dTwLLvR|x)BG_G{ zv52W39sLDQ`g|I2f;B%ZsMel~)f)l$$`{@rSQ>^O#^7D5%XNsmdMJuP8|J2_bgxO_ z1=NZKx~IpglX22~aIjK7idLk?&~_6y>%uus}O=<%rA`!qY={P+K%i z$o}H}lD7}p$zDQhTp`hxm>btj4U2TBJI=-R6SDHWE5IRy>b)xaTcQ_-oxK;;<7l+5 zz^XfWbMg?05ZHf7+uN8z(k)RV@)H`88@}AEC()nqAWcIvDwKh`_n?RKyyH%@HKtaj=xK%}QFR&}!}b6<12 z4of-mw5UirJ$1V5QPbf-lNG;n4;Rfsj@_a!D@}3^R?Oltt-J7nHz40pqyafK`<$45XU7&u+X2Km)$7z#2?AOA zZUDfIhA$)?yef?mk12dkLku$GBe$IX6fpt5|5ZUrt9Bwq=EOAq&pWqaE9~wr-Ht4hxEH*^H`3DH z(G-b8TqlzCW@>MmY=|Y+GR7XUL(3;Mgjo$4Tn=8j)AArx2tIO>pWy}7*`+?+rY9%5 z3)YTGr9MFGbSc^_$y>o_7AsVl#Ig2%&wfyqY>T$G#YcuAG$#^JPK}nch^UH|=uf@{ zEo+iZ*I>sWk&Gsu_$`uNNNtk%8_1tXnECY2&CW-&Ya6D|%b4~Zz!aJr9=Uf+FeP1H zKZ1{4xB;y3%2}g#xeN`EpDA@p1xj*&by_cs%*q<62(BN7j}T9K=6+U~ig{F(P0Vks zAaPIVp}|*|DxlnbZa5Z=ea1@@MLAHhV^5ZzwI`U~r8y;X{DG6}K=8v!9y_!fxMEpi z<-M5yURz-C(=;mQ(?V_b%_0xn+BCTbD?6q<3aD5fJoNkM*_?M)-X~!1Xn0UkgWgwJe-e~Ovwz{u@je?fK{66tyI?ah`G+O!NRv}IK>IegSgOIy1wqevE3n< zC(ZM<^SQY5C9`VPsF&VGeTrdG_MZyRRSKefYP-7*D|XLS5PQ~q3~M*)$6dZ4ZE-VL z-kD16?Y)^Jl;*Y}f^jp^%UAD@NWY7CY1A>Z8a%81WaiB)#aeG3cbMlMGoLYo6S(>Y z%6LHv#-@FKqoXcD=V%MH@NTZWxtO>$$G7CKJ8R)~F^L!1%^oy3J++SQ)Gc&Y{;i@b4KwQk!n^^^Pb?!6rN3G!h=Sn3d&# zfq?2%aXriOn+ug;U1jB88nw1`UA+9;-%^9@WqBPRn(v?~z8W1P>3J*f4r+OI9Y2{h zAY$gf)GcYea`D4f5tYp>Hd4^0JN6{qz!pE9m=w9>&96wE4|CmCAdI1LaRQEIZ<{6S zs<2CYuedP_+8mf={+2k;>6$Xs+D$?ky1?8^#m$fAPq$I36QrYd^7?pxGxXHnt9ktk z5^jmLh^JNih=Z2SCkC^Fp2d3gc=g&ls&u6CHs(RlM+>UtbcMzn{?<-!Z}m?tj6ThY z=Vb4~U8SU6-BG@**)^#=d9Q0SV-u6=te50$V4pS|Goa}{z?=Bxco&f%5W-7{8FTk~ z7+O2%Wi}CvG8QVeC#{fob~Y3eCdYkqk+VKIP)Rx^9|< zAlb0qI?^f|!|*Vk#e|)jDjU;sv}q;Yrklo7Zuh+1?p~fOc2pE~oPK0v1O#5F4)*aT^<)Cuz9?!lwtN4AgZKJjz9eE znBhL;zLk_pBXTS&ax^FC0}$cHhNDqAh9MUta>lzJTrinB9L`)#Mk;0mI~3HhFx5-w z)?L8to+9-2FMIv6#ag7}+c?ovm0gzev^V&A76o`|3giZ6vIab-8E=db&J&*{H3To$ zDu`C1)!nxllXyKl>}~K}??NV6AMmwQn8&PkH9ys~axrhgOFE8oRW78oZ>Fu6VjH+_ zgjc_o?Ct4$@E_3(unv(WCN%Va_r1g;~q{0k=W$qT#7WBDs~3W!p?4g<$&`E5Zg!) zvcb2(MA>IzD0$H9V>|VJnhpBoC<<(``eGU1b=pX&x$L2ShvoAGFAG!d3NA(D`LqQZ zw#BD61k-0{P!WObDpQ@FY^E2^z@UDwo${T-e=GlJSX(}#Hhtqed#YPLT|Zo2$7W`JYY)vq1Se(am=FlfK*F?cGi%M zDSb&Tr%Q_xh2O_>xAm)uIH`-a0RmqumMW9|8LRA3m7QXUmJ;OzB8_c9qW9Rg+}SeI z(|7M_1#NLQ=<|Y9R2f@1W4xg6u016XF&9Chq}k?XYT>t-1+r4jojtGBsW0Oy3R<I&s1hVmjDzMVBX zEE$%`yQm$0R+JPLX*p218y(B&V`Dif`LQ}yE>Kyi#=i70ARS)J`M zFE5a}2cJh?G&8$gS#tNxN6xg7%u;7z9?|;7_SdLck9e!f#-{N5pRc7vM!?I2=3Y2W zFsL|HE};$Y`t!C=^Lk>DI^8sL>1J`o2vzhj*$dSK zoT^&7ty0Mbwd65C&q7t#43yIG2&KJL_;Wzrz(eAsQ=?7_80-$xq8yXwcUNE#`4Ec(KC|}8GRsDX1AaT=8onxCzXy=%Q3xStO9ulmSL3(LO& zbP2#ya0@)>0Qi_go=8oom-xE;%FA)eUf3S#QEYQ%jCV}>K&Ec)Coe#wk^5l(-KdSW71j0S^7=C4GKjOS!^vdMuSoxin4XNDt%f()?vT8v5VTc^;4dSY!K9m zNB)vyZmWBH9||km-SsbN7`-cTh$KTMs-obQrFnouQ~nWC?)>IvG%7+lImJ+`+o|aL z)5f|<3YEFI9uXU%82nptgN;1D4y6>ALLE0=&H)Yhx3uq>^}2I*=%R3Db*w9cW1RKu z6G39y2F$5mlwl<&oWTyi@hL$@fESZqFGoxVwSZ?5ideII_iOsh4p%mllN|=*SRS7M z>GuGM04d8=Yod(p(u0>=s085EYqRKj+p@iO-bmib7CuBX!4|m=ZVfJIc233#t+zX` zu2lY9UK#S(#e7lv8W&^|);j#ogXn!IO(uzMr~AF;TJXb@TIE@4<=G{jS9|)YZmb)9 zzv8hYZuaR}h@jQCy8_NF8hrTHHwp$%W1J$b>B(;Gih_Pvf#cyX{n`j2%;9d^drLfo zTp10A@84?}?8tp6p~5@c-M0sk9}a^ux!bgO)Hj1uiYpRi?keAV65B;_UC61JoNVn` z@d!nnK-*?tf~bnCWfXcns3Bxhs4`Z_X{JIwNm$$}#;pa3DzeRJO+IU*p%$>CRhD_o zBGT?vgaqFJ870V0rG4{}ENWvkEr&}iV~w{QvdXPqs9_&iAc{pMy43yEzN;|yO=ZTk zJ1Tqn)9DZQG)a9s9oJdYePm7kiwzmst!?DUa_Tx-2#pJ@Gs!CM84g8`rfA$GQtYyi ziNGF$@g%w^zxRItJBZ%TJBLqqGO_P9-2$ljB9;#^HAV1Y z`X0JC%27gZ=2pSl;4irhj|pTtW=>l|TWRlArpdH>RmHH?3T~stwwCtBR7T8Jkr@87 zE|jTX!0^>IS}s`;qVYDa_%o~S{&AbZ#+-tpmCtBBaw0{r&giWl4wPsK()F1DblA%tHW(i(veM5(>ALucEI*X@DKZ|R=4vx292FcVobEc{oK%q zy1~FU+^45~Y77gK?e;}Y=XBHwTUDtp7bzW#$jJ&l)-!ZbWsV=JGLJDQXK&!^yR-(9 z{aa>q8n6oY-4|Vym#R@43Jq_5P_J!mRFlCvEAjWt;8G2Ki)XlRm3S_u_^bc&Z>DCO z;8T1gCQ89C(x~FUB^nT%IQ~AC_X%i1Tjpd3)-f$yCtgfS;&OT)aU>BrXKo&h|Nh(w z1n%gVB+%Uh38JBTM)Hxf3p-q;rS*}*U#qZMr3gGO5`Ct8RnNqK^IPCL9(1*!-oSs# zA&p_rGPk3yw{xDbT4O}QJR*y2=Ay;F=n>!l{CHz>AfUS2o0d=2G?u^iae4`8x zSg^~2^_UF}>yc{7=otP+&#Hdg1F`M?i9ZFb5ujGCe&Ebt4R`-kX0foPV@*rRj zGWKrnI*wahd5!x~%!>3@mfCE6RCeTdGE67#%@(mc_kwJ~D}}_w!XFyrWQTUq_Cj zf=Y+a#t?J6=fJwACGn$5#`ad&P)$j1%lulL&?Dkev$~a&$CxR@TtUXw8tk?!+eLA?Wq^xl zG;`f#v+H=bet|)$<-})eH)I1O|!k5hO29n!c5avpDQ|HUF%%j}eLvR0Xm; zQC=ENdPSvGdd44GGG&{Sq5eB3Ev`}!RKI7c%nNYdLXO(kS-LU= zrOPF!wM(EGJ5XiAqkf+-d)B~;I+C$H&GgNOK^0~zge_<-cM;vOUcaIZ^%GSQ(^T9R z*eV%9Q`z$v-mxskeg;nSMxmxKt|2{;mi7}ySQmCc7v6F(BE^k2!(#W&LKQN?0MmFT ziCbjj)jGabU`}ICag{K%`$e2E62V-2AwAWU zCU_Ue_MUkT;okWjCK5IrE5DGDRXla=!BLQqtmhmP{o{|o4E27A%*tv(M42$0r0~<} z@aF->zBjME0b6zMC2tGj(`O0OlWRE|Gc$~~ACL1Fe$QowQ6>1^uHTzc70m`wt3v!bLL^(!i9=yeWxdqM zsc5ckFqM#C+~5%G+V9p!U%`BDVw4hVyIE*P zc={7xjmek{Myv73BkLV&J(wcHSd3{coO=FTjmz7Vlb5DmMxCSTj-Vs)2%~?hPwU?L zq?VP1Pa9d)KJ3u))zb49LfY|emI6<7qF~%LN?fnZCneVKmFuwJsd6RbPae_lGNo3F z7W$pP3pmGHjL`^86n$UMi;7wA7ts{oRpECWa^$GS+-AtBY*%(}KTi*_b06jf{w9uq z+nhkk+C?NcnvrSH50!E#hDjr`haZdZempwQZG%F)#m6z)IeWLOOI+|QFjIKKpAd`X zV_v@|adLV03&wcCRG_LttsJ|jV)m(~Q-<@hld1|uV|`IuX2+C$W``M%wo%qV4|+|i zI)~s{MYe=>N1u7}W97_~+-8Dv{VrnN>_dQ#;HN2OzE@s&;$o1Rr9tU~&(_MX5Z~tLN*6tvfs27%hvxL(& z*ih`V)lX6wY#t#BO+FmddBQBO@%j+W?O2E#AmU;a7D7; zwI`;Y((ano?c|8qAu>{xNT!kWtqP+F(f&Rw3lc62AHvvXCru=1wa@}9CWn>coz&~G z>8hQ}nL~?J7bYB4ulJ?V$g_Nx9yVwc#xVVi6!$%Ox2fL?>tFe5NHT`?)~3NYA2rO$ zwjwJ=5h=0x1C&bM^5P=od8755Z`?@5Hs%Vgn6Lh#JquHX2+H-T= zS4UdJHTxfnJZ6p(+SYfT+=w&1Kg(QWYjSk$NfikRiP_~P9YLda5lp#V*91Ok(#^T; zYSXW!ahF4hA(B4NS6Nzzzwv}u&zjP&DdH`m<(#m{Da7NCf?kF3Rxf?VAG1fG@*9Il zztiyM=LlJEmpFdrZaGD)JY`P8sQBeY4cIBj%e!^Kch;XmZ}Ggk)c*-&c$>zVFlZ=$`Icrhu0{mdN}v*eC>Y=3&X264T7 zeOEn`o!OLiw(?1`Z`Q}ITI_a8I6K>Qx@c1b&isi+gWt*`fir@gJzt5LdSR|RGQgUH zkDIH{gZ=TWSr$*!^)F^_$NW>QhVD9A|HQF|)^)a(AEO@$8TrfJr`LlawRYlH-x=Cw ztzh;}e%R{n0o}9rvOY&wscxyOyEHX=B~u-{dvB&VnIkEPiK)C@XNF%X4!frJr9V=) zQSHe>%r49%S&zN^YO>{m^Frw!lU!95jPe|n@aynuPnOoR^j+?w zf6V|+do(dVm1Do=kV_A0lqUQH%%O{*R%vwlCjn`(s5hQW5qrOGIBrQiDeYDBeT5mN zy3!9h6>M8dA&fWRpN5_`6hG1Ku(GurP~^S*(>Bc~_EroDNlt_lS>1LbPi&}d^5OZ2 z#i6K{*)?Kaqt-#a2VARNtT50VJ>}TtwtEtjMy2Q<$;LCimEIc|`0OeJQ%vL{)+NkCllXX_mK#0@GjB{w>Fvp4><&>8>vC&y zPkT~%g=IIXWdQn}W{ZR^#;(Zl!BniBM+<&eGaY=8r6_84x~+aICtF}L>vlJdl~o^% z@B*z<-s#ST8xm<83Bk8lu9_5P4Ynekhw!51=5s`h=QGm<8qlhg_Bq9W zKW}o)ZH037?t;7m&Fo6p+}z4k+obZVBdS<{28mgCEHu5?>(q#B{(!>aOa z@_mB9%Rt~;ubv$slEcBjBwz2c@WDq0)sx1MhR*Kq@CaNBvWghj%(xxfZ<M?T)%8oYvf5n3oUS$HPo#{W0g{nKgR1FF z`&^#} zAoz0nyiZa6?)K)6;(WOtNkPY=p{1{F!G71A%BL*E*5Y}Da9hWCTbT(4CopB?^)R`1 z5XVq#I?6FhZB-8W-^xL>mqse=d%)lescLWU^02!X z>hRp`JKl#@Cw41~<@*wTClL{rgG7$f7v$-E2ESa&aNgdd7RF7qBtnFV8F$UW9$FHu zm)`1lal2wciQPysI;AUG2aR!J)g%h z0v8i0er*gGHui(A8h@@#co|dO-H@%O*msXm`VWSUj}JB3_Wc@6;{gWQkZiI)L7q0SE1CS9z6&O53E!{~kW-32#Fm=7teu>l`w zjGWkmAa6xpyM5JKvXxT5s-L3*KH_af)7v7!VSE%U_3@b zN-F;^2lm+|BOZCvtP6`nz-K1Ek;L>Pf2fe1Kfg5D^-jRuv88jZ>P2X*d1z2n%N6G; zj%Rroz=}$>7&9ek8CT(*CQ!SV*RP3EetQN{I$ISw_lH-FN+48`pCsc+GM)b*XoGEp z1OCZlg1c)N-I;Qupn2%o#$EXtiK)iylce`c<(T-B9h)3*-=%nmQ&@CAcgpr4KR(?X z+?zjZsq0+aQd&g{6X_X1R%aH6&FkCd{BE782%9GR9`xw#ZHC0@E>FBbImH!NT670) z3@C&Rv6-xA{#O9omH3IduxW zatA8yn?x4u8m~tra=Bbl)s@E486PgU8KeUgiT9EvZRer+YXA}3pjJ~-&H$t=oNj?pq;j>B9S#ag$PPPcd05{8MQEt7|Vbuv8O*0{t`6+XYeUmy{%6A zwu^S(3p3^$1`J-#FQCQ_>B-zL%0c~2aM_HLB{qKT9p_k8XbU}7${Bi>SED*hY${{8 zre1&5^Z?#F956;@A@ZXI*X;g~Io~-blkBTMJJsys(T5z_-MGXh&}G7P(d7crl4|Y^ z+1322UfkiW7j8_et8+=_rCblLq-B>SV&Yaey6bVW9 zmbOwQb!N;Vy%||Y<<7k~B-wV{y0C7>z3yRBoarue?jB1?Uw=kAnwW-4-R@%q(+PtS zAvNMczKKVmdk}6~j{hA1czF*R0IZHw8 zu;%^T{T_>{D>Ppq)*q3wU$lNr2Z6hy4$}e~U8F%wj1_1qsMWtd1`I2Z(e5lgy?Lm2 zl~tFG;Up1zamL+~xUxgeJ&XT>!5tR~BYW^Ll>Y9|Tm~DD@iT5Ly9u7>X7A;KA@GJ1 zu8OqzS9~|FOD3E*+TV|>&>YSizX6ZVsw}#vsX|oOY!ORYd&3^-nnfk`PzGF{2NZxz zG4F2*dg3q73>Wa5pBt>&T#B0~gD9ngR1a8>JgFRIf~w_CE&Es&(+UWSU`idh$ynWY zWe0Au404ltuAnd0Rc4kGV^z<~csVN-{3YiK%!U+}$<&$IpE#r#jkr&ip##EOl0EzS zL^p>;LxtPAeX3{@qvxw(OZoV=&!)5bsvpfDEQ`0 z%q0EZu@d6=HLLlN@Y}M#Z8iyuv0BUe_Naw1J7>U6(7x4>~*VpwP0L{d5NfF@jp6`e-;d zn+)%}ciggQryYJgPv`56ck;uB__;Jh3d=BfS@!!L@j1;1m`7trZsY$ZPH7Sb{K^9&>QNvP<9hxOM@@{gof@1?}HVJVQH!$)YO z;=V~}l+Gd*l7a7EW0D$pFm?j)&ubErIhxV$#c98u3Ha5I$L*MW5XPUV6Fv$$M_y#> zyUVJY63aqzFAAXOARER<`da42GgoLT7OVSy`#_uX_qDlrmbJyQWtXn6^p3~M-4B>) z56IVjX3w4K6VgD>+sG{^aW;o~bmzI~kHgbpqNpvauF4^PnQtYfDHedTcN-sj!cXcV zbgjp&!0Ug-9e>O`C%dgE1C?Fm8RADh-Xts!2rbXTUV#A(`q%a(4CCs{sLSq6v;iU< zh>td#5o#+A#ycdbEPx!ux7S)sr+q+GJ*@-@-crbRDBJp7cAg{q)Z;mCq?dBaz^R9v zk6@;^NLv{Exze7#tl!(q)Y%@XG?Wd)T6br%3K#Xb-Mg(*{j^`GiTFlj_U!!G16q>G zK50}7B6eFg+~@rhDd9JKLRVt??H3-Qd%A?LKV}tE2UK3|`c$zxH%O}MV6rD2y+7IW zOIL0JbXHrRTQPD~x>oFuf+Rq=;SaSQt_rog2l6LnM8;;wg96t*`D1CqJs)5Sgr2;IK*DKB0| zwE5^dvMauQg5xxthx2&xXWB4W`C^$i`Z5CTIN`PJdUDS^77C^RnP(YK^MIc`n5QbM zXN5$IN{2$ZC*0Oc8IUljE2Y%VdrN8T)8(t=ShPWLx^mH&hv9zy^l{U})9hd0xPl=O zwpcy?vV(~v@EH~)4+~TAl1rd?wdEkn#iIWt zxtKE9;lF0sbMu%diIpzKpHcs+N`_8HJQBh_w1sZhHqWer@L*i^CKdj-2bwR1bW-jq z95X#tAf-3y(-90BEH_rBRRCFB^#1W?Fs^oj9CEmXZM}52UnT<9gXfm+b!R5TG-8CY(wn%*2b<|L*{k<{K&PWLbUt>GshwL&qm6C zQ-P1TE_(P>((TFh^8yWq5H0=0&I&OwT2#ON!w2ZjVGbkD8?9}o%+oW~h#@`naV(2N*pzps8NwFZb4R$RJ+4fmLl6nb8I~ zOQ#v3x>0S6TO?qYJgP|6pz~P*L5FhKFZv*g-G)Z#`DDejto!pvuA?JnzE;A~gu-0Fo~QjqX3U(?Ai7l2++o(~VZ- zhaYq_=YfNLLU|DadBH?9?_~gMdQ*?1rQmM?;Jtk;?DK&Svg3k!QhdYXP!n_rv?n%# zsl7Hm!DxiVfydn=Pme>%pTv~6EW=+&N`UDpk#1;Q2HcQy)Gf1^9{=|;kMkD*fY(On zR3wAmq_$#T^N$k>T$Jz;T{y_i?yxup-(f*zwo`}ebPB-FjA{YESz`VFvG>+tQGVUO zFe#;UDJ=~G64Eh>h>ClBi>?e&8>3CgQB!fgZ=DgnnQ9S-ND|vE>@2oA9J!{WIB1+W1 zfZDdF8$!*h*TA<6uPjP-_%VwxSi1U$}&&kYYIuc-ZPBWYLYdxBycYv20v&1*C#qQ z>T*Zt;L#sv6-$;bypJZ7romWZ0~Mlw9Mj=q9sLI`k%2o9y3uzHAp3``1epgThK1(I z-J}qJn|n56@3F8&?}WJ9cOJiD}#3BI-?H|GvnnL=uI9ce(>-wqz`o9%zqpI=!8KJdV9;+ zh|FTNAo*et$D3-DjdSpGN-2WNu-eY-?mgCVn83qpBSB)*8aD4T!oGV(0@@6vn0%8k5&r+iO55VeoT73S60bRI?RSQgw7{lrYE=L&hq7nzu zU$!S~OAWCzO}h*4lur#B8hUmc^P2L*fWO1UVv+dQsc`?iVDV74dM(h!Gg5ot>OKu` zG<5uI@0%e6mv=8%x3j<9nKF3mzIaDRV4ZXr3&V?1@0sHTX{}FD;X3O5H1N8%X)XHl zk5_FBU*b23s{w$x5OY=X9K9&cYvhOaKUNMbA9WLe;Ms}JiC>36*H?s&6Z3BVudeBV zyPP&kN)vvy$?fe4TLnO9iFi&uJ>r=o4D*5H$t>sl~ILMS+S3|`awPaJ`l^gwS>5jDH~@$gM?!7UJwuB~*QTw07Yse^8! z}4~!NDD!zQ2d5%O}g<-)N-#x<}P+5GIY-0Kz%OO%VIw$|fOPAOS@wBP@ zw)CmJC6daDrP2lg%3|xH!evht14G4MYv-`=y=T++@gX&ZIjP_h%MJNx4djX$4H8b2 zkH@%o4w%I@Z((-!xPBQNTj@V=L(CK-Bwm(HC3kPk8CB|#1-_c>%HYTR$&Dn(W*Ozw zpYa792mX3N|LR@z86tO~#gxN#Uy7Uwj0vwF-}1%OIcOv3CBPCcZ6S@;apM%uctocu zlE;Q}9=PygP3inu4F4@V8YijL=e#>=qw?5gfi#4jueHDZn&tc zpuGk3)8o02{&)`%wGYbA9(Ga%t;`r1yMA90JN#OOhmk2`-Rj0)KZl-c*Dc?c-BZjx z>UCSh4P;(yGk?VVdGg?3qszuGj~b``kr?RevBzY9E~o{K3mVHk^VIV08a<*b*YkNv zPsLHc(Noe?5MW`~L^_}jexN~eI(THhzA)&J@F)LoQU0q%QRJ{1OhN@=H}g!{Jelc) zr@6r66J*^o-Vr)BY0{Ka@%e3UqQHDev1fT8&^QO7CHzCeYI9)9 zj(C|8u#^fo)Zg$FcQ8f@q=bhv;?kq#YeCx=Wae86hGLC2PA8P0QX$T?Wmq^;u{-#y zPr}iPF`o#Gg7@40gKJfav>IM?2b`N%o`^%rft2O~ni6zoAm`9%3}W>6vzE`JZS8AC z(EU?dX{j(}2Z%Z;=0u)DIkrG5lWtKWdpLyvPfM&e#w=m*R4@(Hbnq|wZ>lG-7h`qP zF?Og-9X1!<&h#u~B1S_KxPI&U)q7wRX<9e6!#3b<1hexHeYG1C-@qHn{t|&F432AO z1hKVxgC*yvpSCz)yQR=ix!jX=8tUbO~# z&GM+s9M4+*|C<$m_VCfk#+$~`hq9dI02q`f%Q&PCsfE}6Rl&0#-G;&@^r$cFAJ#t{ zKYH_u(BZ7;7>SJK-ba*;YUybl%4C88t?kH6{dtZP_h?8}+~>SU<_HHJ8=VdobF{pY z__OAa97g$v$N!~?dn-lSQ|PN?8nV(uGmL!Z`3x-{^Ju+ru!?%1)pcjwOgXZXed~P10Mu@T zM}#wwOcp@W*}gfX82S$+;wEz(jd_zFt>~z0)jy}aq*4eyxlC(f`!DhV?}#`QfDjv{ z3*?5-F|dJrq>q}oClKM0JK}NN*$QQl6nVLj4`+xf{ctF_zd&h%dvBgp&(Tw;a_tBy zMU((ZxdDzxRP$ov7h{p{H^tf*@=h43{#lr#KVSyfT!(sUV36o|DA@$YawCWgcP%|l zfdeC*eYGE3EAJkx))Qp8RYW~FxM5~KkoP{QAwnATgF8E!FMpO!RP@HV^YkMd5<*I1 zR&IBw9UiPU4BYcSHa8INkui`Hd&>%R zni*ReZmJ@xQlRN-Pr79Rx-mV+z*)E=DQ&eGxfFOe^qsEEdvrzWi?V;U1~UVGtdKCH zj)Viu!Esj<%m-@&#?-hdn3@>K$wgOhYrDg`Uri=(LRWiWCw2;SeoY}3wHdr?UA43j zbXS(h*msE<>o1XR0WTkXKpoA53Z^+{bpm`pLM{Jx{PQSPA(;U0XB!_-3;91k5X*dMlD7d8{TQ*|m zfMrSo0usLvGcZ?hAh14mF>BYr$S(=V^QLyZ2dD1k_XevVmX?LHHHG9H-S4IiwwkyfKGOd0F5%#Qh>I!AVA)>sObyv zLq(p;pT=Gl{GKX~a`8U{g2io&a79Uxlt5|Dy}-4<^cltrqPkIm&unrDHGoW)J82Nr zt2bd+VL_XHP?P6zs_w9}OUr}%nk6~biYr8&xKMl9p`p^3HEZy_-b{Je$Jt|x1wlSo z0fNifPq#?Y{6L6VblLPdpr;>F84Ga{pj(VI7z8>x7Y>9b!pzTha)80KhZ<7dF0m0x zTw3$6|C=_Dfy<0?#~I2d3;^1uc|J-(NQSJj1Gfe=R47LNr6LhSUU!yI0}*2gibK0u zsWq!hZ7wKgslPlz@E;IQW&x_`$xNZ;`6pGnZnMQpKYE`2qW*lB6v)5)`Cd(>#=!1U z`%VYAkM&2fw@3kaGn}H%Azgs3rRArs1GZI)f$)32XhEpEgRiw*E;9U9aYj(g!3(tW z-oRd`5fZYLo~a*LxJmS9AkdEa5rA2Gg_#YO%O$eOc~3 zzh??80xONz70|^=m5RCr9#mk_GoiMi;r;he3J_w4O@y(gdB9Ku?|L9)%>najnr{QO zOc&s^`j$}^Q)f*B8thKt^;tKCx6a&A{(A^jFa&RfsVV>`7~&Y5jnEJ&Hjo6qaxyYC z8}|7}!J9XsYDCOfkYcJqsWm(0N82Vsnw7~vw=jTK4<|zAkFb_)@GjnN5_>9}G2FRDXk_(7J_5cyKTaE#N;XY9X2~b_;c_Cm_SVlkC%p67) zU;-eXQ}Cxl0IUDN4*~2F0GJ^c6$G$oz^8e2V;WvEU|m^FQ}8s|G{rChthcpyg5JuQcy;w23{5plwTWY?A-ly(Af{h2KbCT8-0}wG)TS{ z$Ccl7$Sjxu0Pg=S@&6S|Ed5=4%!jC2mtIsd^2hjt?eG0dYhht-cRtf(>-{{Jqur;! z_m~Pczy{F52VD6i>w`uB_k@R7ETfI2ui^q^Ngu5n+|5htdi}gaC#2^zR&8;F`~}l` zg?{y$hLPv!7PcnZg510wyT2vD;I@Z@4}igs(k@sAE*PBRegHJMGc-7v-+a(@(nopF z;DcarkFZClp+<|w;o!>^!+u8E^r1MpjZgPJy6SKD{c?_YATnP5j>fpSq-wi@_mvhD zBbZ zX8S@d*aJBH0kR(qlqvBj9UACplc9%DHtc!Wtp{&-rX5+BGUDHdo$Ao4Ixuj~J|!{5 zv~rYB{kG{IBGQh2kSPJBXz~rYkOn6J4feX)`?xlwMF7w5tK427%jjBmJL#z+mjNrw zMD#k`Haw~JkYZprkAC0)`rDMx8yAA2WQ^kt35l~0NguI2{$GjBX5NPUAw=<$y~HEA zmd^wEchm87LAJ~b*s`-{EWDW%t~Ib+s;69&2np_LR#iB*D}b);kH8qkUiWCWw*EQE zY+!6tm(q1W?wBJs_GJ539 z*75do3d`u%7KqN2FY!N)$JCFP@~-rJGXKIlr{t>;y=5ewtqz|~;mSeHtQ1ppA~w& zeA_Ds9Z2N@Gw=ue^HBBxGX*l_O`{3+r@C>GX+e^nbh$~p)kXbUTv(3BDMCgyfG6t8 zq7&R6vF@+rpQAE=r7OAGvDx&JE+c+_yt!s;hl+lHYCo*TUw2Rb2VCOA_J&$2f-_~V ze_eIvqwDZ+VK(;w!-Y0>_e)I-&af&oIzo{Qe+KFGgWzHNGbQDP^f&Pj?1Xh=;&i{?L#&pzPpHi3jBN zL%`;k?WA4k(syc>(OCIw*9Hm|iZZxxZ+2RbAc`Iq)R z+_no@=`5+Ky6)_K66Mb z&QO`(UntB;yLo>%`D1L-Nc4o8sPh}$-od`Dt{M#;m%>m#vR=+t7OCpzI>PxL+S$4} zm?$jkuhEKAVrgBT^4+YheS-6Rc(C)W^`4hVwY&NVU)j{bJD^JMo*zIWfVTeZO4ql#Rx+3=n}K8;puGa)s^hCkU|d807WJ&ZZkMISU3 zv|F-mgem@6jr@^j*6ezL`Qx?x0eSyTSfA)t!Fp3(W$CS-<@vpSXPRgc54FVdN(9Tt zJFAukmHVk2Q6Z8;^rE~e${+;@=tfDl&{f|BB5`{x5cW2xrk}?zlr=DEWKUkvcklKK zg1WpNGsCK?AQ>&|Ev24^SNP_2*3Bz*(%{5uAmdcfHIAwA`mwB`GzT9nZw-t%H*vClX(PH8^iXkTr-;m?9lYv^aC2?EG!Z< zeZ`Aqn{(VW2CE(;BQeZMudKa#eL3nSc<(hQer43F&kC;|Gq@2}6G@KQ_l6wv9+lji zL5F*kAk@mU0#+R<1m$)gzVLylMhFJGHbCJbUgwnPh*$W$=Irkc-T#9oKtf< z3+#Wl^X!28F2z!vtnVO)E{#az_Wi!nT(@RUdF>1F5+%b-w!go0Vp~ta=gkMdm(BI8 zgg8jwH#b@tj<6mi>OtI3sK}oZx#Yu5UnCgzwz%74b^cX&6}vo@-x*<6Z0v(aTpW{| zUpDhJyQ=uc`^X2Ko!txHBjLUXnVr(R=B)bmS~4>)3o?Y_r@g1D91NSvIJX{p);lQq z(=V_yx>YGN zaGc?&?_5Q#c}GQPK{70YB2I}9X8=lDw18<#ANjchgb2rTzFAwmPb^#~@jqh|2R@m( zG90GH_Les)-W)EIlvBEwu-QJPQI%6FVY!Cl_1GM;x2~C~>b+6zpUoRU)`Q6N*sG7P zT6IPZ?vF?Oq^hzf3o=Drc5XSSy|Ogd<-4K2J1DbNhx{-WPx~N367AsoI?m7wvyTkV z4H&C{#Y}aGTH3`SSSClL2<}iBf(`#9~iD z?x^}^NcH==biA=^e!pxpUYXsunEqP2Ow(cOG*%V4gwPS^O6Q(y3fB5So$y0_8g7P)pr?&oyEZA;H9~R;* zlU~cv*V>`nn$c+VowDuC|Fy6fT=w<-3j(-5-zCjo>#f20HHbK8P?NJwl0D(U>|D^l z9#QQ7oGpTcQFQCMSCi_xNJ?63S3z+CTgevDUv%M77T9*3~55$fqZ1>&gEH z*WQ6??RIPpN)rm|@+p+4nMAk0*UtgN%j6AiAGe{>BQ_Wnh8!B}Q4^F3lFDmk{M zmw=UPo?85gR*d6frKln5HNV?p@DswhV$Rh;K|<<2%bs7`vdf_u3?}(~yFE$Pb<8M# zUk0AE$;6SzxpHg8njx{cWsh>nuCDDg6@mP|<*k1gq!iF8mrIw%4DeLO1)k5{CYUB0 zpOmy@Lvp!w6}UFEHX$IM6ucM6zwGyCNIc%@E}(ARdSTXVq&LIdmy_&(mzSaRVExQ} zzC91O{f@Sg>S5u{y5>c9i%vvkOxpfKWapJziRB{}FEC!v$k_Kx81$6UA#C)z3``a2 zJ9V{O9_a27yQN~I^9$@d*T1)(^~{sLe`znH!2D1 zTYJ{i`xI4#+De~BwktA6*(rG!R@o_w%-^lva3*~5-FL37FN&7DrqJ9_D{rx`wS&-< z3|QCb&`$u}DsYg=uAEYS`ZveMIN=Kd~M*zPk!N(v=klV z7cqERHfB4X`apVZS2SU-m7*cUdy*i$rUPCqphVZVK3rj2MyreXvfR6&Is98pHy{Hg z$z&-y@m(}+Z(vJVmqGB64zIoV-sq>1-QQlfC%8K=1=?E#WhrFXOHvbO)Knk}nCG1= z)IhzX_s|O}2OVN7JGYe>qMFHd30Ktzmzg;)i6)k2Cb*;`f8P4}jrILIul02OmGOWq zkG2^L3C3AFZ_hw%^g1Q%m7?ws3EfUp2ZWRvyndafHI?WT#oRw)9o^lYJ{3FjUX#ua zr1yym7vNx76EuLUS>?*8h7jR|j(ZCxn|i3Zd@95lJ!AFP<7}8$)@`5R zRsApEpYspY=Tr(zuHHcmHC@QB=F3yrL{-Qx##*i+O#5usi}j6n=9+nm#L{(oT0Qb4 z=1MrXrjQ$99xe%AV>xSdD8qv|!<1RD@y#ZxMB+;%#!GZA>D?@viSLuibwbpvd5@;j zayxMNANe|e^|_?JEd<^8;_#1x<@ZU$)pb?WG`4>x!R(q~|FCbb5AE z4Qw?;^=yN@4F;+!MvJd4fNG;donU0*;}BYje_j%qWMF<8-F;;Ovdj~Wy}UlcZ?GG& z?x#`1N4Y09Ah_Q>H}Mu_t-E%4Hy4}VwtrIeAUH3c!l#Qq0K_|Ar;!KFq3OOs0ezp^ z=hw0=eRjC;&zRC^ugNZUUdaxLXLTxQ(}Y5xj*6uh%7fIp#t(maSa>^hvdO>~yS-xb z1(&_7N0RflsCd)NQ>P#Ar%Vj{;#dYerPDnB;Gs%O-L~xT@@xF?XwvZdYrcVvZ<{|& zsPyst?yqZ>aQnJ9L6@gnZ1Q+_1XIR$IEeMlf@6Cm(CnsrC6KEafX({Le1~uZx4$|)1 z>eihDt~rAbeks}0%xLUi`Za&BQAK$BfI({8YYD+lNr3O5g%DjyQy8hQkPl1G5a2C+ zBuY(56@bvJj5n(K!k01Vv0s(V8&o%k`mS;bmqW{OEi%03gKWJ>hVB*al;*h-t9Nd1 zlR%j?&f!^+&HUAeguRvQh`$_q5ZWf zZ|=O73=iDFPTlJbUtNc735>!WSe!OC6-Gi08i;-w$o@_x@=$d_jVKe5?^u}J>Txc5 z7i$peP;J+*)Io@zC0^!uaBeA7#P^F_jM)0S0-N2tV^rb~5k7=66z6X(eV^TW)u8Y+ zoWG*Uhg&J;!bphs!Hn)5e4;oma{7CkZwN3#@rzk=!gtPl4p(d$YZHg>k2m>x zZ;sI@QSWrsHIw*rp@M01^U?#2G*HCc!WMzUTw=duwR0klf98ZqT)y@$VF)>mvjJ=(j z7uHp^`_xaru@jwtyByEDJ$T)jym;<2Bct;|$w-Dz5ZzbhsgK{kjaNRcdwDLaIoPY7 zzHTOi1sgql_9G)>q2;6xh$HJl@fC9qEc`*7N0a}?;TA{P{K0KtZ{A)Agz~32kUy<{ zUV{SGmtdR6%pl{Az)Yk+l}mW=LV+yon;aCG1%k-Tw(=Xtsq~&a1d*BLb@;*ukW(7n z+oOfeMBxk%*D!oGeez?{Z@B2y+d{+8UrX{MjELz5YY ze3KdV9!`}$=4bxJcJO@IcD*q=#Pr4Rt*Lh(y(k(CtDh3Ye|GsYl0PF+@@vYZ;cM?m z8$tZk;=ttQ1ZQ|<7N&Sf-><24ZOWn^smD*gHXg8tSnPiyIPYL?s30l1(7UwumX95- zu6b{cxW!{6vQ7z4uN#0(v$wy9S-f+=KK? zU_)O(hZ_03Bzx{G>*y5^ao0ToJm(CunLnHIp0Ihap*E}J6AEuZ@oc$oe;achZ$?QQ zmfUk9)?VsDTywLXe!*X~s=8dhlgNS^P;p6Y^GcF06WpJVsN*jxAcNI>%CqzjyW%%I z(cI))tjmpHmf0F`b=zJ=1!b>Wx?1g*&zcP*)?+Aj#pg#w6GmjW8qEyWZ5^wwG=$li zONnI+Fb%z>GO9i>5xXqy*m~Ytg?&!4WHNozMZsu}MRARREU*HRh3!MkUrdviQlE_2@tY`-aw%%8hO zQn`*Y^;>R2pM%2>;3{s@jq$HccBuT=?$;bT4g4y+eQ^p9)N%SzK`wj-3hH7XKu5sF zpFs?F|6o9|njk4S*pZR|&)JB}1jWXrtf_@KbzsZvV0&W2KwN*QB`-SfbC9~W^mTf2 z<}-wS9{trKo$_NNJKAfac0-vFnH%4F7ZC0lWm!fCqig5*s$#mt$@%V`ODSSZSngdb?oyIVs?$>9YmI7)|B z*ZPNq?WMdc9DxI_=CtBZGP(u%AFkb4ZbP5B?=Uq;ne^Shs?2xp%>hGHW!7Q^Ax)@g z`hq~<*v!r{NNmbz-EG-n39kXq7d~XbLAaL8$jCG(H9DXKczz9dCOhQ06!5I@Nain| zxxwxvDyx4l(q5Z5bH}2PSs6OwAy>3zf-x$9;l7gd7(jbsA^?p2u!cDv(&fIFdER89 z!5hRabEgC0K3~IOc=i=|&aW?${=Hh$d>=@Ty@9kApl zhq0OaLxL)l)RclvMUqO??d$d1>Km1-h1m^oiRo-G^tSn=VhkGc49EhFts-qaJp6?1-kIA8 zj{#Q~Ze$pM&D{cEMy2=BFS~;p7Cvy0hwyI1q`823TIdmc9?TYr_ZCTN43#y${5cZ=ij_{Qc96TE*l>lx zK#-+H4IITOWA}s6PdJ9+81T0PD^PKbYXeXv!UA+^L8tKrS|$^KZbdSDOs19`Kyu2t z0OVhJus@jX$Mbp^p3ohDf{ID|JDxBGC@!p#K}%8ggzW=Tw}P_HlTLmBb|&@NJXE)I zJTcf_ZU%oBgKRUCn`r@5gC#fuEUyNBx(^vCA!s%ztu%fFNN#&sU4DwWCpW-shS#1Z zU|j%ZiHVO_#lazS5CHAu2q+L@hcO;tFcfWk%5v@v+f{Bqi$^>eR_^KHT4~WHJ^017 zA2`wz=FyOU_9-VJ7L2%bpkrfkpx&+4o#5>nU61Yt z>OUN{tb)~#lD>ZCWFt$Xl)Wp%Z)hL_IU%l{mIhrCL5Yd$E6HlxQ(5ZIft~fA<{}k3q zJ;EPhg)478xI^pkAb;K-ymR8zl=)&Pqjpm_TVoa|l=mQnasl9}(<*_b3H}Jw>s}!! zR6#?oV&}1H>+JU;{KAFPZ=r0ZNEut&59@5w5i^4~P$~59zx^e+U~DkTL!S_SQey~E z)de$LkTZ8Gz&?4JUuBW&F*1`)6 zKzFkQtRcAE`mF|9=>Q4<$Onj0Xe0`xMQ>hJM>ZTP)rq@}5NCoVY+(oXIo{KC-ypPWOkxfvA!u+s05Y4C(RQB#7w!5QZvuu1H9r9GYl9P*VSHT5JY(EFZ(bH3L0VpyKpirqb5Wr z1z!?t3q-Mtta>z9wn->-oG&bd%FrSyI9SHIq@9anF$8F?VzRfmBdPD{D&2}=PiKM{931FiZz9(mqE@%#sdnw1RR1s%-! zi!er8j2DBm#lxE$JCUA0N@LgpbnGgn$ph*A2kbnH zUP_dXG~c||t_oCUqZZUL1jsKd|K@rwh=|t1u*9G}87c(Yps`{9OOjYcP-;zMY{>*l zuxE&ls-s(sAUhJN63qdADGthaN_JNp6h@Y0WN7?!oSDMl56ET)jRP8c^XxplKs}`K zBP2SggG$82sYzq1Fxd6*uI9uE48p4*BzTIZNF(r- zChNPxz^}*ESH!i6K;*P%I^G<@5~hKnyR*S?uXL>twPoBBdvltVn4dSD`pw# z+`QgP5ZzAavRJ!039eFG+8!5VV@)#x??dPlb!2HC0-q54_U8G2NC6zT#+4KBeeqv7 z7!7}q3=-Qc-<)(_;EI(vHczdWPK(=~Mr zF>H9Gl2H!;5o9A{}g z&g~V+<;|E)YF^H*PN{*>AXA9r5umL2)-7_0qXQ=wgS$r3ezY?Z7Dk`Ur` zn)vnJ77G3Wv7jyvcsh|Ts3H$!1K|DFo`=!H-ztVXs-yQaf@oM97VcrEc0Qf_v{ui{+F$$@i#)A|_YBu&$gqrc>0|Pdc-8KK~A-1uu5eQZC+f_`7~?m z0SR)fQRzjtLwqWN+ZPERDh#X+A4waWCON;H<2>;@F*MimWOY#i# z6G~#)|1Bl3U&rBSu7$s^T(B5zHf{MzK2oEw;va+;~0qhZX?Br@E7drQisK|9VM=BaKF= zP|i6*&2?mffsUxToYumlDr^{|J6MIO=o#<^B_KqhJ3#vnqs$Xg9sk4QXOlX{FGsocx+?oLWmFGS+4%-230bV)VA&N>sQ3 z*#AkgUutz4sS4L`^QFjI%RQHsn|md%bm>O=xT(M|;z50 z9sR?lXOzB-wVkc4*AzBNOf7COF)=h5^n0?5&LwJfz=0rwl)!o*2cd>#-1(AQQmo;a8o zwBF5eoJXImQ|iGyORIh{V8a~BeV$k^`>Y^m z0vo!!v)JwRS=pua*q1|Sng#^aEkxS;U(uq1^)&M%<^Li91Ie(?P#J`x4KdRa8zt4U zo~l~DLUt@2{BB)O@WxjWqoCstyzwqGmOoydjllRwmDW^W{VSX@iH&d2^z**EEA#Mn zsvg~=-Rn24)FJsjxxIODv$Fa@zrh(u?ng3!tzbLMN_c8> zqUtHC&(b}A?S)g@b>~DpdI~`

FY<))?zpPyt`%}A5}T;>!x!uI3Pht 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 sN}+$H(5PR + + + + + Context API | VuePress + + + + + + + + + + + + + + + +

+ + + diff --git a/vuepress/plugin/index.html b/vuepress/plugin/index.html new file mode 100644 index 0000000000..8a764ad5f1 --- /dev/null +++ b/vuepress/plugin/index.html @@ -0,0 +1,33 @@ + + + + + + Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/life-cycle.html b/vuepress/plugin/life-cycle.html new file mode 100644 index 0000000000..1ede1b9098 --- /dev/null +++ b/vuepress/plugin/life-cycle.html @@ -0,0 +1,33 @@ + + + + + + Life Cycle | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/official/plugin-active-header-links.html b/vuepress/plugin/official/plugin-active-header-links.html new file mode 100644 index 0000000000..499777d379 --- /dev/null +++ b/vuepress/plugin/official/plugin-active-header-links.html @@ -0,0 +1,33 @@ + + + + + + Active-Header-Links Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/official/plugin-back-to-top.html b/vuepress/plugin/official/plugin-back-to-top.html new file mode 100644 index 0000000000..0125fd3ce6 --- /dev/null +++ b/vuepress/plugin/official/plugin-back-to-top.html @@ -0,0 +1,33 @@ + + + + + + Back-To-Top Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/official/plugin-blog.html b/vuepress/plugin/official/plugin-blog.html new file mode 100644 index 0000000000..d0353d189d --- /dev/null +++ b/vuepress/plugin/official/plugin-blog.html @@ -0,0 +1,33 @@ + + + + + + Blog Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/official/plugin-google-analytics.html b/vuepress/plugin/official/plugin-google-analytics.html new file mode 100644 index 0000000000..e01f7a9fd0 --- /dev/null +++ b/vuepress/plugin/official/plugin-google-analytics.html @@ -0,0 +1,33 @@ + + + + + + Google Analytics Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/official/plugin-i18n-ui.html b/vuepress/plugin/official/plugin-i18n-ui.html new file mode 100644 index 0000000000..adc580437d --- /dev/null +++ b/vuepress/plugin/official/plugin-i18n-ui.html @@ -0,0 +1,33 @@ + + + + + + I18n-UI Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/official/plugin-last-updated.html b/vuepress/plugin/official/plugin-last-updated.html new file mode 100644 index 0000000000..2f863c40bc --- /dev/null +++ b/vuepress/plugin/official/plugin-last-updated.html @@ -0,0 +1,33 @@ + + + + + + Last-Updated Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/official/plugin-medium-zoom.html b/vuepress/plugin/official/plugin-medium-zoom.html new file mode 100644 index 0000000000..8579afc0c9 --- /dev/null +++ b/vuepress/plugin/official/plugin-medium-zoom.html @@ -0,0 +1,33 @@ + + + + + + Medium-Zoom Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/official/plugin-pagination.html b/vuepress/plugin/official/plugin-pagination.html new file mode 100644 index 0000000000..af2789bdbd --- /dev/null +++ b/vuepress/plugin/official/plugin-pagination.html @@ -0,0 +1,33 @@ + + + + + + Pagination Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/official/plugin-pwa.html b/vuepress/plugin/official/plugin-pwa.html new file mode 100644 index 0000000000..3c334d7139 --- /dev/null +++ b/vuepress/plugin/official/plugin-pwa.html @@ -0,0 +1,33 @@ + + + + + + PWA Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/official/plugin-register-components.html b/vuepress/plugin/official/plugin-register-components.html new file mode 100644 index 0000000000..ab5d40edb3 --- /dev/null +++ b/vuepress/plugin/official/plugin-register-components.html @@ -0,0 +1,33 @@ + + + + + + Register Components Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/official/plugin-search.html b/vuepress/plugin/official/plugin-search.html new file mode 100644 index 0000000000..5a207eec34 --- /dev/null +++ b/vuepress/plugin/official/plugin-search.html @@ -0,0 +1,33 @@ + + + + + + Search Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/option-api.html b/vuepress/plugin/option-api.html new file mode 100644 index 0000000000..4c1b2b83cf --- /dev/null +++ b/vuepress/plugin/option-api.html @@ -0,0 +1,33 @@ + + + + + + Option API | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/using-a-plugin.html b/vuepress/plugin/using-a-plugin.html new file mode 100644 index 0000000000..b92a757b6b --- /dev/null +++ b/vuepress/plugin/using-a-plugin.html @@ -0,0 +1,33 @@ + + + + + + Using a Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/plugin/writing-a-plugin.html b/vuepress/plugin/writing-a-plugin.html new file mode 100644 index 0000000000..5aa7015fde --- /dev/null +++ b/vuepress/plugin/writing-a-plugin.html @@ -0,0 +1,33 @@ + + + + + + Writing a Plugin | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/service-worker.js b/vuepress/service-worker.js new file mode 100644 index 0000000000..bd78979ef6 --- /dev/null +++ b/vuepress/service-worker.js @@ -0,0 +1,840 @@ +/** + * Welcome to your Workbox-powered service worker! + * + * You'll need to register this file in your web app and you should + * disable HTTP caching for this file too. + * See https://goo.gl/nhQhGp + * + * The rest of the code is auto-generated. Please don't update this file + * directly; instead, make changes to your Workbox build configuration + * and re-run your build process. + * See https://goo.gl/2aRDsh + */ + +importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.4.1/workbox-sw.js"); + +/** + * The workboxSW.precacheAndRoute() method efficiently caches and responds to + * requests for URLs in the manifest. + * See https://goo.gl/S9QRab + */ +self.__precacheManifest = [ + { + "url": "404.html", + "revision": "fa85d7d584dc7bea4455be2a5ffc2048" + }, + { + "url": "architecture.png", + "revision": "9a93cf6cea38878e19c5816d1af28b17" + }, + { + "url": "assets/css/0.styles.6cc590e0.css", + "revision": "6bd0dcdd1ab90caa74a8cb29ce06b346" + }, + { + "url": "assets/img/search.83621669.svg", + "revision": "83621669651b9a3d4bf64d1a670ad856" + }, + { + "url": "assets/js/10.90b6f866.js", + "revision": "baa689abdb9628769f9a873d7b82d9a1" + }, + { + "url": "assets/js/11.bb178c57.js", + "revision": "73739560bf7dc62e7a392fac77f2b450" + }, + { + "url": "assets/js/12.1501540a.js", + "revision": "c8938a46563a73f5c08b05e6514fa3c7" + }, + { + "url": "assets/js/13.6e978c39.js", + "revision": "da95f21e9b3ac8f07d729193e4106e98" + }, + { + "url": "assets/js/14.136ae6a3.js", + "revision": "e2752338b4e9be2e6b71c7d141126505" + }, + { + "url": "assets/js/15.0c645d16.js", + "revision": "ed70fec3995440ff9d3946cdb08a07e1" + }, + { + "url": "assets/js/16.8741a547.js", + "revision": "5e48e1bb4ece2f3d500c5f9809bc6470" + }, + { + "url": "assets/js/17.5e50cd1d.js", + "revision": "8e3b449a7ee4ea493a6c6f8334ab385e" + }, + { + "url": "assets/js/18.790476d7.js", + "revision": "6cf09cc57e7a877e4a3b315d4d2a83af" + }, + { + "url": "assets/js/19.6749c256.js", + "revision": "98dc52f86bde09e7aae3c940c7e7a3e1" + }, + { + "url": "assets/js/2.9a3d3cef.js", + "revision": "8f36f4f50f53fd00748dee7f8d95f74f" + }, + { + "url": "assets/js/20.52144952.js", + "revision": "04f2e8f439504d7c9571438a5dd14e79" + }, + { + "url": "assets/js/21.a733da80.js", + "revision": "9d570cde10bf28f221982a16f1fcaec4" + }, + { + "url": "assets/js/22.cca14839.js", + "revision": "0003a5af94cf3233151ac8136ca4c87c" + }, + { + "url": "assets/js/23.d93cc55b.js", + "revision": "f672411658c2b638fd3c3d074c3634d3" + }, + { + "url": "assets/js/24.1e5b5d2a.js", + "revision": "d3803e4ec183798b5d443015319d0024" + }, + { + "url": "assets/js/25.7c13839d.js", + "revision": "04230a8dd0494905af2131bfcd3f1ec8" + }, + { + "url": "assets/js/26.2a3806b6.js", + "revision": "a511473e7f4044e28bc4f249f958af22" + }, + { + "url": "assets/js/27.c450e6fb.js", + "revision": "3e4d7ad2e8045ed8a5c3c7ad1e3f3446" + }, + { + "url": "assets/js/28.9169fe43.js", + "revision": "b26f8485e6658795b0ad641111980263" + }, + { + "url": "assets/js/29.0a1ff843.js", + "revision": "cefc989e840a2ed4c00a1c78dce7fc93" + }, + { + "url": "assets/js/3.be112e9f.js", + "revision": "17a762cec95508edfaeff0ff0bf080f1" + }, + { + "url": "assets/js/30.25e010af.js", + "revision": "9c57108104600183d57c2cf47c671311" + }, + { + "url": "assets/js/31.effc1422.js", + "revision": "28fbe26659b3c702cb95a01c8ce3dc56" + }, + { + "url": "assets/js/32.86f38218.js", + "revision": "3c16da411556e13ec0eb1e37d40e2f61" + }, + { + "url": "assets/js/33.0fab7803.js", + "revision": "0bb25e3f7d10b89319beb5fe0163bcb0" + }, + { + "url": "assets/js/34.5e0d5a74.js", + "revision": "64db1e68580a94f63fb13edca681f0c6" + }, + { + "url": "assets/js/35.e4e7fe67.js", + "revision": "09d144be64f0b067c423a35e6c62d4a6" + }, + { + "url": "assets/js/36.ca792103.js", + "revision": "df99e4d75db81e6893a882ac5e1595e8" + }, + { + "url": "assets/js/37.6d74e878.js", + "revision": "d9baa21dc9d3e1acf031989b144f9e0e" + }, + { + "url": "assets/js/38.a1c5df9a.js", + "revision": "2084401a86b23a4f6c48c39e10b29e9f" + }, + { + "url": "assets/js/39.b0d2ff36.js", + "revision": "5a2efb3750d6b054690d19a957ec0b6d" + }, + { + "url": "assets/js/4.d16007cf.js", + "revision": "fa5ecdabe72e4c06a09ef2d1fd5fec71" + }, + { + "url": "assets/js/40.af5932b9.js", + "revision": "6596306c2956a0d82afdd135ea0c81bc" + }, + { + "url": "assets/js/41.e26383c5.js", + "revision": "561161e8444a9214944b32389c7242aa" + }, + { + "url": "assets/js/42.bf69bddd.js", + "revision": "a8649c156b20bb2c6fa464e2b198f15b" + }, + { + "url": "assets/js/43.c0368a24.js", + "revision": "dd840c3db11236d97a3b9a21eb199ef7" + }, + { + "url": "assets/js/44.d601f92a.js", + "revision": "66e712829e4a40a4be80a3bf396de919" + }, + { + "url": "assets/js/45.5939c636.js", + "revision": "8e74b3fadcc2484a6f7312c948142d16" + }, + { + "url": "assets/js/46.2bc10ed6.js", + "revision": "e97566d0704aa655aff9d594cf4adfc2" + }, + { + "url": "assets/js/47.15e6f040.js", + "revision": "d07f333d2cb815fbf033e49fe412241e" + }, + { + "url": "assets/js/48.a114b415.js", + "revision": "844fa3a19240f33680552c85cfb16a6a" + }, + { + "url": "assets/js/49.a51c6fdf.js", + "revision": "392bc4dc5323204abbc0cb8cd887dfbe" + }, + { + "url": "assets/js/5.18c31fb7.js", + "revision": "9fec2400e0d8d81ced30148764cf6753" + }, + { + "url": "assets/js/50.ed42f747.js", + "revision": "f87379a4a5b6ec24644727e0d28c0154" + }, + { + "url": "assets/js/51.f6a2c8b3.js", + "revision": "00e531e431d66e6406d9ff9b2c7201a4" + }, + { + "url": "assets/js/52.522513d8.js", + "revision": "68ff330e415772fff7d6de0c297dc1e9" + }, + { + "url": "assets/js/53.2bdd820d.js", + "revision": "1a9395f61d62c49923858a7c96a441ab" + }, + { + "url": "assets/js/54.15937a2d.js", + "revision": "03f4971b204f13ba08ad1827f30acd9c" + }, + { + "url": "assets/js/55.d78fbc49.js", + "revision": "563ba99e1767d48c4f2b55ae6faa03c7" + }, + { + "url": "assets/js/56.934f8911.js", + "revision": "0aa12e4a99331c67efb5a14f45942025" + }, + { + "url": "assets/js/57.f2538317.js", + "revision": "d0e925f4b9dbd68ce7088db4bb78b881" + }, + { + "url": "assets/js/58.f465a17a.js", + "revision": "4dc2bb50bef801f593558fd225f63e40" + }, + { + "url": "assets/js/59.00cd99d8.js", + "revision": "37fa2d1810afca0b53640a141ba8a3b6" + }, + { + "url": "assets/js/6.8ca9ae3b.js", + "revision": "1551893be82c11a67eae83eef9191080" + }, + { + "url": "assets/js/60.e2e817e9.js", + "revision": "b1608481edb2bad2b5979f8af84a860e" + }, + { + "url": "assets/js/61.e351f282.js", + "revision": "ac6f224dfeebac73d202dd4fead73f9d" + }, + { + "url": "assets/js/62.7cb85843.js", + "revision": "bdc89ce1359c712ffe0139b1829880e7" + }, + { + "url": "assets/js/63.7a736cf3.js", + "revision": "268298729dada6031f410a91f8506b63" + }, + { + "url": "assets/js/64.589ebe9e.js", + "revision": "03414faefc2c257ca726335e9b0fb724" + }, + { + "url": "assets/js/65.c7b9d4e8.js", + "revision": "0ddc4df55b4c5ce6363a9a06a152a85a" + }, + { + "url": "assets/js/66.ee83944c.js", + "revision": "75096f9ce12c38c73e0fba0e98e08a43" + }, + { + "url": "assets/js/67.1b7b5854.js", + "revision": "eb2676966d3935920905dbd9d232fc60" + }, + { + "url": "assets/js/68.b4e58228.js", + "revision": "b4688404a5db120f551f7cd6f0aa9aac" + }, + { + "url": "assets/js/69.73f71dfd.js", + "revision": "85975294dc9c5786add3b25e0e3c8f06" + }, + { + "url": "assets/js/7.6d6f900c.js", + "revision": "9534a88e035528d410f1940a923eef5f" + }, + { + "url": "assets/js/70.d0ec8013.js", + "revision": "4ef52d9ecccc1d3a2498dc48b6b5b497" + }, + { + "url": "assets/js/71.34cb1f27.js", + "revision": "e5fa8ca5a4fb1337d0dbea1094cdfce5" + }, + { + "url": "assets/js/72.6528f86e.js", + "revision": "5758b850b6323680e6874db3f9a9e85e" + }, + { + "url": "assets/js/73.ceac5146.js", + "revision": "28c1fd2556e9c8138b72c978ce56a964" + }, + { + "url": "assets/js/74.907fe0dc.js", + "revision": "0ba63e8907a0bcd6d2b637b2681d42c0" + }, + { + "url": "assets/js/75.3ff1a49a.js", + "revision": "ac47b888beb64a8dbe8fcf4e40dec2e9" + }, + { + "url": "assets/js/76.22069a19.js", + "revision": "501eb60ccfc6b27c19dcbe66ca8879ac" + }, + { + "url": "assets/js/77.8c5d4344.js", + "revision": "fbf4c1a19c791b4ef1e1ef1f3d49c992" + }, + { + "url": "assets/js/78.79c9fb4c.js", + "revision": "c846da8dec28af9a9d0604d6521ad4a4" + }, + { + "url": "assets/js/79.776ba4c9.js", + "revision": "53982c838f805eee1f01c365fac3e75c" + }, + { + "url": "assets/js/8.a7e0b975.js", + "revision": "a16c175ab2f5c3598688645205202887" + }, + { + "url": "assets/js/80.c82818bd.js", + "revision": "1c18b0194c0dc1ccaf75bb54d5159149" + }, + { + "url": "assets/js/81.95ebb7bf.js", + "revision": "2eb079b0615bd30b993f709bd1c90a33" + }, + { + "url": "assets/js/82.230a5beb.js", + "revision": "20a65a9601fa45935dfddb89673688ef" + }, + { + "url": "assets/js/83.ca9f99e0.js", + "revision": "3fc78085ef318e696f286a6302b38145" + }, + { + "url": "assets/js/84.4ef99674.js", + "revision": "9b4c1ed5f55605b9d207734e272b6040" + }, + { + "url": "assets/js/85.05d2f860.js", + "revision": "e66366cf0a5f40c935438c08bddaa0b8" + }, + { + "url": "assets/js/86.a3020788.js", + "revision": "e67563bad632624a294381dc6c21e561" + }, + { + "url": "assets/js/87.f276c65b.js", + "revision": "c1fda4ce5ee7a305dfefa02d619d987d" + }, + { + "url": "assets/js/88.4a8aea21.js", + "revision": "130ce7a99b096690d858ce0465aa886b" + }, + { + "url": "assets/js/89.b51fcc0a.js", + "revision": "ff567f7a8b7ebdd80137e2d6a4a977bb" + }, + { + "url": "assets/js/9.164bd82f.js", + "revision": "22b86469c3c00300eb63037624cf00e4" + }, + { + "url": "assets/js/90.3bdc019a.js", + "revision": "77f53ed52ba683eae81ed34dedb0ec63" + }, + { + "url": "assets/js/91.cd31807c.js", + "revision": "3ad0b2398bc237a8bc39601c9e5ed3a1" + }, + { + "url": "assets/js/92.a4808ccd.js", + "revision": "b5ebfdfb9a829d16f07a849e612b1c72" + }, + { + "url": "assets/js/93.09fb2654.js", + "revision": "c3ef659b3480519b1f6148a974bf55dc" + }, + { + "url": "assets/js/94.c8b3bda3.js", + "revision": "6e2d24678172976fb12497f959b57a88" + }, + { + "url": "assets/js/95.36017126.js", + "revision": "0eec52d853cbc9b3b8a3f9541a97e416" + }, + { + "url": "assets/js/app.8ac36d9d.js", + "revision": "97c608a56e8a18fdb5b4d0ecddbb31d9" + }, + { + "url": "assets/js/vendors~docsearch.67496cf7.js", + "revision": "659afd0c7550d3ee568dd4d7d06cdbd8" + }, + { + "url": "assets/js/vendors~notification.cb8b10f9.js", + "revision": "00ced81f12eeb0e26ed044184aa6937f" + }, + { + "url": "config/index.html", + "revision": "b7a81a37616486c4429eb6dd0560cf5b" + }, + { + "url": "faq/index.html", + "revision": "1d3ac7493d1540d62ba0ffc895052307" + }, + { + "url": "guide/assets.html", + "revision": "d84367c86062c14277646097d3d9b235" + }, + { + "url": "guide/basic-config.html", + "revision": "07286349125f16cbe49bf7882a9ca84c" + }, + { + "url": "guide/deploy.html", + "revision": "e30ff3b60e85048f0b66d6fe0e0b19d4" + }, + { + "url": "guide/directory-structure.html", + "revision": "c6af70dfc4936ab5ed4cc75163401cdd" + }, + { + "url": "guide/frontmatter.html", + "revision": "6dcfeda6a1dc8929aa7e75fa164d1fa3" + }, + { + "url": "guide/getting-started.html", + "revision": "401b8427f75f9f3841368abaf1fd7ca9" + }, + { + "url": "guide/global-computed.html", + "revision": "47e8d4e58c62af09297b0ed5965c4906" + }, + { + "url": "guide/i18n.html", + "revision": "3c3391bd5d94c31f6b25612c2c4c9004" + }, + { + "url": "guide/index.html", + "revision": "caf1fc989c0b72acbc3ea14786131cd4" + }, + { + "url": "guide/markdown-slot.html", + "revision": "daae60b387296bb945bf03d151034484" + }, + { + "url": "guide/markdown.html", + "revision": "6e85b3be9d3aca88a3786ece21ae155a" + }, + { + "url": "guide/permalinks.html", + "revision": "85cb479e78190d9f673abfd3e81add87" + }, + { + "url": "guide/using-vue.html", + "revision": "81fce031e358cf3d1b67428c35bf4739" + }, + { + "url": "hero.png", + "revision": "d1fed5cb9d0a4c4269c3bcc4d74d9e64" + }, + { + "url": "icons/android-chrome-192x192.png", + "revision": "f130a0b70e386170cf6f011c0ca8c4f4" + }, + { + "url": "icons/android-chrome-512x512.png", + "revision": "0ff1bc4d14e5c9abcacba7c600d97814" + }, + { + "url": "icons/apple-touch-icon-120x120.png", + "revision": "936d6e411cabd71f0e627011c3f18fe2" + }, + { + "url": "icons/apple-touch-icon-152x152.png", + "revision": "1a034e64d80905128113e5272a5ab95e" + }, + { + "url": "icons/apple-touch-icon-180x180.png", + "revision": "c43cd371a49ee4ca17ab3a60e72bdd51" + }, + { + "url": "icons/apple-touch-icon-60x60.png", + "revision": "9a2b5c0f19de617685b7b5b42464e7db" + }, + { + "url": "icons/apple-touch-icon-76x76.png", + "revision": "af28d69d59284dd202aa55e57227b11b" + }, + { + "url": "icons/apple-touch-icon.png", + "revision": "66830ea6be8e7e94fb55df9f7b778f2e" + }, + { + "url": "icons/favicon-16x16.png", + "revision": "4bb1a55479d61843b89a2fdafa7849b3" + }, + { + "url": "icons/favicon-32x32.png", + "revision": "98b614336d9a12cb3f7bedb001da6fca" + }, + { + "url": "icons/msapplication-icon-144x144.png", + "revision": "b89032a4a5a1879f30ba05a13947f26f" + }, + { + "url": "icons/mstile-150x150.png", + "revision": "058a3335d15a3eb84e7ae3707ba09620" + }, + { + "url": "icons/safari-pinned-tab.svg", + "revision": "f22d501a35a87d9f21701cb031f6ea17" + }, + { + "url": "index.html", + "revision": "632c9e52be433b4d03f73cc0e1c48a21" + }, + { + "url": "line-numbers-desktop.png", + "revision": "7c8ccab7c4953ac2fb9e4bc93ecd25ac" + }, + { + "url": "line-numbers-mobile.gif", + "revision": "580b860f45436c9a15a9f3bd036edd97" + }, + { + "url": "logo.png", + "revision": "cf23526f451784ff137f161b8fe18d5a" + }, + { + "url": "miscellaneous/design-concepts.html", + "revision": "d39c4009169b889790bceecfc2882547" + }, + { + "url": "miscellaneous/glossary.html", + "revision": "849627787b08757555ea19e0dc7453de" + }, + { + "url": "miscellaneous/migration-guide.html", + "revision": "ecf1dd55008b979304db7e280146f957" + }, + { + "url": "plugin.png", + "revision": "3e325210d3e3752e32818385fc4afbc9" + }, + { + "url": "plugin/context-api.html", + "revision": "5e0b10c1d47cb55274f2e2b55cca4242" + }, + { + "url": "plugin/index.html", + "revision": "b1014ca7b7d720ebf6e88930fa892a3b" + }, + { + "url": "plugin/life-cycle.html", + "revision": "3cb229231a105366b8dd3582dd42b11a" + }, + { + "url": "plugin/official/plugin-active-header-links.html", + "revision": "da717b44371f3206814f10ad1a3bd564" + }, + { + "url": "plugin/official/plugin-back-to-top.html", + "revision": "9d521caa4bbab7f850132d1196c63ebd" + }, + { + "url": "plugin/official/plugin-blog.html", + "revision": "9266dc421455a31575c857950fd644f1" + }, + { + "url": "plugin/official/plugin-google-analytics.html", + "revision": "422cbf94c8567673979a5b37bd26c817" + }, + { + "url": "plugin/official/plugin-i18n-ui.html", + "revision": "33e2e7a2d495c73cf5a8b10258cb2b8c" + }, + { + "url": "plugin/official/plugin-last-updated.html", + "revision": "560087e5ff2ef4efa6e9e5363c3e8160" + }, + { + "url": "plugin/official/plugin-medium-zoom.html", + "revision": "dc2e5c750f9376883491a0d7f99f4d2c" + }, + { + "url": "plugin/official/plugin-pagination.html", + "revision": "d4dd56e12537af3ce5b1c0ddf53a636a" + }, + { + "url": "plugin/official/plugin-pwa.html", + "revision": "a4b2226a1e1ca842c8d6c4b76d79015f" + }, + { + "url": "plugin/official/plugin-register-components.html", + "revision": "4e27173ce445803b798cd375f9337510" + }, + { + "url": "plugin/official/plugin-search.html", + "revision": "deb67a05fe2d106b31c9b66a1302427e" + }, + { + "url": "plugin/option-api.html", + "revision": "c0772acf1541990d3d267569e9c41a55" + }, + { + "url": "plugin/using-a-plugin.html", + "revision": "3dc05a410c43722ffd4cfc4936bda571" + }, + { + "url": "plugin/writing-a-plugin.html", + "revision": "6c67cdb90d51e50cb45918f902a2fb52" + }, + { + "url": "theme/default-theme-config.html", + "revision": "0141cf9ef5029d491dd371794f6c8561" + }, + { + "url": "theme/index.html", + "revision": "5a1c52c80bcc779abec2670acd918555" + }, + { + "url": "theme/option-api.html", + "revision": "c030fba86f46b9cef2cd5c0ab264500f" + }, + { + "url": "theme/using-a-theme.html", + "revision": "cce70d0d57916a763d1eb8338a740bf4" + }, + { + "url": "theme/writing-a-theme.html", + "revision": "91ae26ef2b10c736b5989e2eb8c4c697" + }, + { + "url": "zh/config/index.html", + "revision": "1699d7bd1b268e874774b93caae49a17" + }, + { + "url": "zh/faq/index.html", + "revision": "f7331834570b88cee9ff8bc05b4fe25c" + }, + { + "url": "zh/guide/assets.html", + "revision": "f9a0c90d064b072c73592ab0837cf388" + }, + { + "url": "zh/guide/basic-config.html", + "revision": "68bd961fa238fef745801ee4d63592f5" + }, + { + "url": "zh/guide/deploy.html", + "revision": "d95c3eb567f93a7d006fd189f56b646c" + }, + { + "url": "zh/guide/directory-structure.html", + "revision": "22a48889091a610b9f0f0fa699582b65" + }, + { + "url": "zh/guide/frontmatter.html", + "revision": "37e5830c3be190b36d3947536b326c8b" + }, + { + "url": "zh/guide/getting-started.html", + "revision": "9e0513e53efe03cbf848c47ecb91cc4f" + }, + { + "url": "zh/guide/global-computed.html", + "revision": "95fce1273c97e8dfc619f5a2bf0e8447" + }, + { + "url": "zh/guide/i18n.html", + "revision": "2c3f98b49bd53cc0e10b9960e25b3dc2" + }, + { + "url": "zh/guide/index.html", + "revision": "3357aefd585f1addd94a60e77ebb0101" + }, + { + "url": "zh/guide/markdown-slot.html", + "revision": "3a61e2ce8a2f826bbef4bc60280b7fcb" + }, + { + "url": "zh/guide/markdown.html", + "revision": "d9decb4dc5f80b34a85def46ee6d983d" + }, + { + "url": "zh/guide/permalinks.html", + "revision": "c49eeee8ccd8e4a534d192e5f1f45190" + }, + { + "url": "zh/guide/using-vue.html", + "revision": "962e94bcc75d3fb87f1f74ffad529c80" + }, + { + "url": "zh/index.html", + "revision": "7ab9882dc945794d05184c0966a31f2a" + }, + { + "url": "zh/miscellaneous/design-concepts.html", + "revision": "843e71d6fa2ee6196f1c43b52528b077" + }, + { + "url": "zh/miscellaneous/glossary.html", + "revision": "ea076a62eb0c76c0df2d13418462b310" + }, + { + "url": "zh/miscellaneous/migration-guide.html", + "revision": "024c039454c4f2c11f398906b276531d" + }, + { + "url": "zh/plugin/context-api.html", + "revision": "be072de787697b382d46af538fdaf296" + }, + { + "url": "zh/plugin/index.html", + "revision": "4be1e32d297fab68758fb5ea10978e82" + }, + { + "url": "zh/plugin/life-cycle.html", + "revision": "02174c5484d38540bb6dcedf9ece56ab" + }, + { + "url": "zh/plugin/official/plugin-active-header-links.html", + "revision": "937792345753be9af4229a2a6d4a096a" + }, + { + "url": "zh/plugin/official/plugin-back-to-top.html", + "revision": "74e0e44ee8967084add1225b13949082" + }, + { + "url": "zh/plugin/official/plugin-blog.html", + "revision": "59b36a164fbc5beab3d3700bb3b8f621" + }, + { + "url": "zh/plugin/official/plugin-google-analytics.html", + "revision": "5140b0815403c2ff96d062e6a379c01c" + }, + { + "url": "zh/plugin/official/plugin-i18n-ui.html", + "revision": "468357cc64f011665b9357c7f064ade6" + }, + { + "url": "zh/plugin/official/plugin-last-updated.html", + "revision": "17312166f6d80eb326c879264e711cc3" + }, + { + "url": "zh/plugin/official/plugin-medium-zoom.html", + "revision": "aeab486788fb9c87044fa837f2e98efd" + }, + { + "url": "zh/plugin/official/plugin-pagination.html", + "revision": "aff976c9b6a9476ef61c83eb22d40c9d" + }, + { + "url": "zh/plugin/official/plugin-pwa.html", + "revision": "0f2d12dbb16197f3adfddbc42cece8b1" + }, + { + "url": "zh/plugin/official/plugin-register-components.html", + "revision": "65341ff633d458f0e2bcd677c5824bd5" + }, + { + "url": "zh/plugin/official/plugin-search.html", + "revision": "784ec689d697abc9f7b6e484d7ca1100" + }, + { + "url": "zh/plugin/option-api.html", + "revision": "716ff8329035fa3d9344d3b4d9fbedf2" + }, + { + "url": "zh/plugin/using-a-plugin.html", + "revision": "da63ac0e04602445b84261b2f835c9cd" + }, + { + "url": "zh/plugin/writing-a-plugin.html", + "revision": "24fc7ead58dc52ef741253caf6393725" + }, + { + "url": "zh/theme/default-theme-config.html", + "revision": "2feaf9feb65e534c6c120f00098bf37f" + }, + { + "url": "zh/theme/index.html", + "revision": "2a6654da6f8900976d4f08fc2c60addc" + }, + { + "url": "zh/theme/option-api.html", + "revision": "06c4f78e4a4fce8ea91b11a74ceb02b5" + }, + { + "url": "zh/theme/using-a-theme.html", + "revision": "ab8fa97cd9ef862be9731e665ac46191" + }, + { + "url": "zh/theme/writing-a-theme.html", + "revision": "c3fdc7c3c5c4dfe77cfdba2fef0f33a4" + } +].concat(self.__precacheManifest || []); +workbox.precaching.suppressWarnings(); +workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); +addEventListener('message', event => { + const replyPort = event.ports[0] + const message = event.data + if (replyPort && message && message.type === 'skip-waiting') { + event.waitUntil( + self.skipWaiting().then( + () => replyPort.postMessage({ error: null }), + error => replyPort.postMessage({ error }) + ) + ) + } +}) diff --git a/vuepress/theme/default-theme-config.html b/vuepress/theme/default-theme-config.html new file mode 100644 index 0000000000..549224610b --- /dev/null +++ b/vuepress/theme/default-theme-config.html @@ -0,0 +1,33 @@ + + + + + + Default Theme Config | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/theme/index.html b/vuepress/theme/index.html new file mode 100644 index 0000000000..6c85bf9cd4 --- /dev/null +++ b/vuepress/theme/index.html @@ -0,0 +1,33 @@ + + + + + + Theme | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/theme/option-api.html b/vuepress/theme/option-api.html new file mode 100644 index 0000000000..a24b6913f3 --- /dev/null +++ b/vuepress/theme/option-api.html @@ -0,0 +1,33 @@ + + + + + + Option API | Theme + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/theme/using-a-theme.html b/vuepress/theme/using-a-theme.html new file mode 100644 index 0000000000..276ecf3b75 --- /dev/null +++ b/vuepress/theme/using-a-theme.html @@ -0,0 +1,33 @@ + + + + + + Using a theme | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/theme/writing-a-theme.html b/vuepress/theme/writing-a-theme.html new file mode 100644 index 0000000000..30e43063e9 --- /dev/null +++ b/vuepress/theme/writing-a-theme.html @@ -0,0 +1,33 @@ + + + + + + Writing a theme | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/config/index.html b/vuepress/zh/config/index.html new file mode 100644 index 0000000000..98c97ca61d --- /dev/null +++ b/vuepress/zh/config/index.html @@ -0,0 +1,33 @@ + + + + + + 配置 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/faq/index.html b/vuepress/zh/faq/index.html new file mode 100644 index 0000000000..3165539d22 --- /dev/null +++ b/vuepress/zh/faq/index.html @@ -0,0 +1,33 @@ + + + + + + FAQ | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/guide/assets.html b/vuepress/zh/guide/assets.html new file mode 100644 index 0000000000..c8cdbdcd38 --- /dev/null +++ b/vuepress/zh/guide/assets.html @@ -0,0 +1,33 @@ + + + + + + 静态资源 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/guide/basic-config.html b/vuepress/zh/guide/basic-config.html new file mode 100644 index 0000000000..c4de489aeb --- /dev/null +++ b/vuepress/zh/guide/basic-config.html @@ -0,0 +1,33 @@ + + + + + + 基本配置 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/guide/deploy.html b/vuepress/zh/guide/deploy.html new file mode 100644 index 0000000000..1c5dbd2e14 --- /dev/null +++ b/vuepress/zh/guide/deploy.html @@ -0,0 +1,33 @@ + + + + + + 部署 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/guide/directory-structure.html b/vuepress/zh/guide/directory-structure.html new file mode 100644 index 0000000000..5af381be18 --- /dev/null +++ b/vuepress/zh/guide/directory-structure.html @@ -0,0 +1,33 @@ + + + + + + 目录结构 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/guide/frontmatter.html b/vuepress/zh/guide/frontmatter.html new file mode 100644 index 0000000000..7510db91cc --- /dev/null +++ b/vuepress/zh/guide/frontmatter.html @@ -0,0 +1,33 @@ + + + + + + Front Matter | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/guide/getting-started.html b/vuepress/zh/guide/getting-started.html new file mode 100644 index 0000000000..ab001c19d3 --- /dev/null +++ b/vuepress/zh/guide/getting-started.html @@ -0,0 +1,33 @@ + + + + + + 快速上手 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/guide/global-computed.html b/vuepress/zh/guide/global-computed.html new file mode 100644 index 0000000000..fc729d5453 --- /dev/null +++ b/vuepress/zh/guide/global-computed.html @@ -0,0 +1,33 @@ + + + + + + 全局计算属性 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/guide/i18n.html b/vuepress/zh/guide/i18n.html new file mode 100644 index 0000000000..adba364f6e --- /dev/null +++ b/vuepress/zh/guide/i18n.html @@ -0,0 +1,33 @@ + + + + + + 多语言支持 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/guide/index.html b/vuepress/zh/guide/index.html new file mode 100644 index 0000000000..bc3ba90c21 --- /dev/null +++ b/vuepress/zh/guide/index.html @@ -0,0 +1,33 @@ + + + + + + 介绍 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/guide/markdown-slot.html b/vuepress/zh/guide/markdown-slot.html new file mode 100644 index 0000000000..fd0531a727 --- /dev/null +++ b/vuepress/zh/guide/markdown-slot.html @@ -0,0 +1,33 @@ + + + + + + Markdown 插槽 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/guide/markdown.html b/vuepress/zh/guide/markdown.html new file mode 100644 index 0000000000..fd693b6f02 --- /dev/null +++ b/vuepress/zh/guide/markdown.html @@ -0,0 +1,33 @@ + + + + + + Markdown 拓展 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/guide/permalinks.html b/vuepress/zh/guide/permalinks.html new file mode 100644 index 0000000000..e6997f1621 --- /dev/null +++ b/vuepress/zh/guide/permalinks.html @@ -0,0 +1,33 @@ + + + + + + 永久链接 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/guide/using-vue.html b/vuepress/zh/guide/using-vue.html new file mode 100644 index 0000000000..9082977b04 --- /dev/null +++ b/vuepress/zh/guide/using-vue.html @@ -0,0 +1,33 @@ + + + + + + 在 Markdown 中 使用 Vue | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/index.html b/vuepress/zh/index.html new file mode 100644 index 0000000000..9615e8190e --- /dev/null +++ b/vuepress/zh/index.html @@ -0,0 +1,37 @@ + + + + + + VuePress + + + + + + + + + + + + + + + +
hero

VuePress

+ Vue 驱动的静态网站生成器 +

快速上手 →

简洁至上

以 Markdown 为中心的项目结构,以最少的配置帮助你专注于写作。

Vue驱动

享受 Vue + webpack 的开发体验,可以在 Markdown 中使用 Vue 组件,又可以使用 Vue 来开发自定义主题。

高性能

VuePress 会为每个页面预渲染生成静态的 HTML,同时,每个页面被加载的时候,将作为 SPA 运行。

+ + + diff --git a/vuepress/zh/miscellaneous/design-concepts.html b/vuepress/zh/miscellaneous/design-concepts.html new file mode 100644 index 0000000000..f8b827e722 --- /dev/null +++ b/vuepress/zh/miscellaneous/design-concepts.html @@ -0,0 +1,33 @@ + + + + + + VuePress 1.x 的设计理念 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/miscellaneous/glossary.html b/vuepress/zh/miscellaneous/glossary.html new file mode 100644 index 0000000000..ea6c8896aa --- /dev/null +++ b/vuepress/zh/miscellaneous/glossary.html @@ -0,0 +1,33 @@ + + + + + + 术语 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/miscellaneous/migration-guide.html b/vuepress/zh/miscellaneous/migration-guide.html new file mode 100644 index 0000000000..95d939a8b0 --- /dev/null +++ b/vuepress/zh/miscellaneous/migration-guide.html @@ -0,0 +1,33 @@ + + + + + + 从 VuePress 0.x 迁移 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/context-api.html b/vuepress/zh/plugin/context-api.html new file mode 100644 index 0000000000..26afa592fa --- /dev/null +++ b/vuepress/zh/plugin/context-api.html @@ -0,0 +1,33 @@ + + + + + + Context API | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/index.html b/vuepress/zh/plugin/index.html new file mode 100644 index 0000000000..c63cfd1d11 --- /dev/null +++ b/vuepress/zh/plugin/index.html @@ -0,0 +1,33 @@ + + + + + + 插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/life-cycle.html b/vuepress/zh/plugin/life-cycle.html new file mode 100644 index 0000000000..4afdeb7190 --- /dev/null +++ b/vuepress/zh/plugin/life-cycle.html @@ -0,0 +1,33 @@ + + + + + + 生命周期 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/official/plugin-active-header-links.html b/vuepress/zh/plugin/official/plugin-active-header-links.html new file mode 100644 index 0000000000..cf0b932faf --- /dev/null +++ b/vuepress/zh/plugin/official/plugin-active-header-links.html @@ -0,0 +1,33 @@ + + + + + + Active-Header-Links 插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/official/plugin-back-to-top.html b/vuepress/zh/plugin/official/plugin-back-to-top.html new file mode 100644 index 0000000000..ff0be53653 --- /dev/null +++ b/vuepress/zh/plugin/official/plugin-back-to-top.html @@ -0,0 +1,33 @@ + + + + + + Back-To-Top 插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/official/plugin-blog.html b/vuepress/zh/plugin/official/plugin-blog.html new file mode 100644 index 0000000000..a1744d6b5f --- /dev/null +++ b/vuepress/zh/plugin/official/plugin-blog.html @@ -0,0 +1,33 @@ + + + + + + Blog 插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/official/plugin-google-analytics.html b/vuepress/zh/plugin/official/plugin-google-analytics.html new file mode 100644 index 0000000000..53f7455ed1 --- /dev/null +++ b/vuepress/zh/plugin/official/plugin-google-analytics.html @@ -0,0 +1,33 @@ + + + + + + Google Analytics 插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/official/plugin-i18n-ui.html b/vuepress/zh/plugin/official/plugin-i18n-ui.html new file mode 100644 index 0000000000..4b7501d3cc --- /dev/null +++ b/vuepress/zh/plugin/official/plugin-i18n-ui.html @@ -0,0 +1,33 @@ + + + + + + I18n-UI 插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/official/plugin-last-updated.html b/vuepress/zh/plugin/official/plugin-last-updated.html new file mode 100644 index 0000000000..79616e4d43 --- /dev/null +++ b/vuepress/zh/plugin/official/plugin-last-updated.html @@ -0,0 +1,33 @@ + + + + + + Last-Updated 插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/official/plugin-medium-zoom.html b/vuepress/zh/plugin/official/plugin-medium-zoom.html new file mode 100644 index 0000000000..d77e3e3468 --- /dev/null +++ b/vuepress/zh/plugin/official/plugin-medium-zoom.html @@ -0,0 +1,33 @@ + + + + + + Medium-Zoom 插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/official/plugin-pagination.html b/vuepress/zh/plugin/official/plugin-pagination.html new file mode 100644 index 0000000000..a6d944d623 --- /dev/null +++ b/vuepress/zh/plugin/official/plugin-pagination.html @@ -0,0 +1,33 @@ + + + + + + Pagination 插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/official/plugin-pwa.html b/vuepress/zh/plugin/official/plugin-pwa.html new file mode 100644 index 0000000000..d06b73a5b8 --- /dev/null +++ b/vuepress/zh/plugin/official/plugin-pwa.html @@ -0,0 +1,33 @@ + + + + + + PWA 插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/official/plugin-register-components.html b/vuepress/zh/plugin/official/plugin-register-components.html new file mode 100644 index 0000000000..1a52415664 --- /dev/null +++ b/vuepress/zh/plugin/official/plugin-register-components.html @@ -0,0 +1,33 @@ + + + + + + 注册组件的插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/official/plugin-search.html b/vuepress/zh/plugin/official/plugin-search.html new file mode 100644 index 0000000000..1398e9be57 --- /dev/null +++ b/vuepress/zh/plugin/official/plugin-search.html @@ -0,0 +1,33 @@ + + + + + + Search 插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/option-api.html b/vuepress/zh/plugin/option-api.html new file mode 100644 index 0000000000..d5c4fc2f3f --- /dev/null +++ b/vuepress/zh/plugin/option-api.html @@ -0,0 +1,33 @@ + + + + + + Option API | Plugin + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/using-a-plugin.html b/vuepress/zh/plugin/using-a-plugin.html new file mode 100644 index 0000000000..32f9af8031 --- /dev/null +++ b/vuepress/zh/plugin/using-a-plugin.html @@ -0,0 +1,33 @@ + + + + + + 使用插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/plugin/writing-a-plugin.html b/vuepress/zh/plugin/writing-a-plugin.html new file mode 100644 index 0000000000..40bccbab35 --- /dev/null +++ b/vuepress/zh/plugin/writing-a-plugin.html @@ -0,0 +1,33 @@ + + + + + + 开发插件 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/theme/default-theme-config.html b/vuepress/zh/theme/default-theme-config.html new file mode 100644 index 0000000000..64ea962612 --- /dev/null +++ b/vuepress/zh/theme/default-theme-config.html @@ -0,0 +1,33 @@ + + + + + + 默认主题配置 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/theme/index.html b/vuepress/zh/theme/index.html new file mode 100644 index 0000000000..4af54c8d94 --- /dev/null +++ b/vuepress/zh/theme/index.html @@ -0,0 +1,33 @@ + + + + + + Theme | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/theme/option-api.html b/vuepress/zh/theme/option-api.html new file mode 100644 index 0000000000..7bf5f9ebc1 --- /dev/null +++ b/vuepress/zh/theme/option-api.html @@ -0,0 +1,33 @@ + + + + + + Option API | Theme + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/theme/using-a-theme.html b/vuepress/zh/theme/using-a-theme.html new file mode 100644 index 0000000000..370f36bcd4 --- /dev/null +++ b/vuepress/zh/theme/using-a-theme.html @@ -0,0 +1,33 @@ + + + + + + 使用主题 | VuePress + + + + + + + + + + + + + + + + + + + diff --git a/vuepress/zh/theme/writing-a-theme.html b/vuepress/zh/theme/writing-a-theme.html new file mode 100644 index 0000000000..0d297be134 --- /dev/null +++ b/vuepress/zh/theme/writing-a-theme.html @@ -0,0 +1,33 @@ + + + + + + 开发主题 | VuePress + + + + + + + + + + + + + + + + + + + From 3763e2e3ed8ff7228e7d781e643930f6e972c3aa Mon Sep 17 00:00:00 2001 From: Brian Retterer Date: Wed, 14 Nov 2018 13:37:13 -0500 Subject: [PATCH 06/11] mend --- packages/docs/docs/.vuepress/config.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/docs/docs/.vuepress/config.js b/packages/docs/docs/.vuepress/config.js index b4745ab6a4..ef96f6975f 100644 --- a/packages/docs/docs/.vuepress/config.js +++ b/packages/docs/docs/.vuepress/config.js @@ -29,7 +29,6 @@ module.exports = ctx => ({ ], theme: '@vuepress/vue', themeConfig: { - extractHeaders: ['h2', 'h3', 'h4'], repo: 'vuejs/vuepress', editLinks: true, docsDir: 'packages/docs/docs', From 3ed55e060abd888dec799332c66878c0cc862c10 Mon Sep 17 00:00:00 2001 From: Brian Retterer Date: Thu, 15 Nov 2018 09:45:05 -0500 Subject: [PATCH 07/11] Updates for PR review --- packages/@vuepress/markdown-loader/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vuepress/markdown-loader/index.js b/packages/@vuepress/markdown-loader/index.js index f4fd02ab9b..ffae113128 100644 --- a/packages/@vuepress/markdown-loader/index.js +++ b/packages/@vuepress/markdown-loader/index.js @@ -42,7 +42,7 @@ module.exports = function (src) { if (!isProd && !isServer) { const inferredTitle = inferTitle(frontmatter.data, frontmatter.content) - const headers = extractHeaders(content, ['h2', 'h3'], markdown) + const headers = extractHeaders(content, options.extractHeaders || ['h2', 'h3'], markdown) delete frontmatter.content // diff frontmatter and title, since they are not going to be part of the From 06465e1499e1a0b3646e7708137042af5afb88ee Mon Sep 17 00:00:00 2001 From: Brian Retterer Date: Mon, 26 Nov 2018 19:05:51 -0500 Subject: [PATCH 08/11] Moves the extract headers option to the markdown config --- packages/@vuepress/core/lib/index.js | 1 + packages/@vuepress/core/lib/prepare/Page.js | 58 +++++++++---------- packages/@vuepress/markdown-loader/index.js | 17 +++++- .../docs/docs/theme/default-theme-config.md | 4 +- 4 files changed, 44 insertions(+), 36 deletions(-) diff --git a/packages/@vuepress/core/lib/index.js b/packages/@vuepress/core/lib/index.js index 43a6d0124b..8f0a3bd45a 100644 --- a/packages/@vuepress/core/lib/index.js +++ b/packages/@vuepress/core/lib/index.js @@ -3,3 +3,4 @@ exports.dev = require('./dev') exports.build = require('./build') exports.eject = require('./eject') +exports.loadConfig = require('./prepare/loadConfig') diff --git a/packages/@vuepress/core/lib/prepare/Page.js b/packages/@vuepress/core/lib/prepare/Page.js index 8a3f8807a5..45079237b3 100644 --- a/packages/@vuepress/core/lib/prepare/Page.js +++ b/packages/@vuepress/core/lib/prepare/Page.js @@ -98,37 +98,33 @@ module.exports = class Page { } if (this._content) { - if (this._filePath.endsWith('.md')) { - const { excerpt, data, content } = parseFrontmatter(this._content) - this._strippedContent = content - this.frontmatter = data - - // infer title - const title = inferTitle(this.frontmatter, this._strippedContent) - if (title) { - this.title = title - } - - // headers - const headers = extractHeaders( - this._strippedContent, - this._siteConfig.themeConfig.extractHeaders || ['h2', 'h3'], - markdown - ) - if (headers.length) { - this.headers = headers - } - - if (excerpt) { - const { html } = markdown.render(excerpt) - this.excerpt = html - } - } else if (this._filePath.endsWith('.vue')) { - const { data = {}} = parseVueFrontmatter(this._content) - // When Vue SFCs are source files, make them as layout components directly. - this.frontmatter = Object.assign({ - layout: this.key - }, data) + const { excerpt, data, content } = parseFrontmatter(this._content) + this._strippedContent = content + this.frontmatter = data + + // infer title + const title = inferTitle(this.frontmatter, this._strippedContent) + if (title) { + this.title = title + } + + // headers + this.headersToExtract = ['h2', 'h3'] + if (this._siteConfig.markdown && this._siteConfig.markdown.extractHeaders) { + this.headersToExtract = this._siteConfig.markdown.extractHeaders + } + const headers = extractHeaders( + this._strippedContent, + this.headersToExtract, + markdown + ) + if (headers.length) { + this.headers = headers + } + + if (excerpt) { + const { html } = markdown.render(excerpt) + this.excerpt = html } } diff --git a/packages/@vuepress/markdown-loader/index.js b/packages/@vuepress/markdown-loader/index.js index ffae113128..cddec895b5 100644 --- a/packages/@vuepress/markdown-loader/index.js +++ b/packages/@vuepress/markdown-loader/index.js @@ -6,7 +6,11 @@ const { EventEmitter } = require('events') const { getOptions } = require('loader-utils') -const { fs, path, hash, parseFrontmatter, inferTitle, extractHeaders } = require('@vuepress/shared-utils') +const { loadConfig } = require('@vuepress/core') +const { + fs, path, hash, parseFrontmatter, inferTitle, extractHeaders, + datatypes: { isFunction } +} = require('@vuepress/shared-utils') const LRU = require('lru-cache') const md = require('@vuepress/markdown') @@ -26,7 +30,10 @@ module.exports = function (src) { if (!markdown) { markdown = md() } - + let config = loadConfig(path.resolve(sourceDir, '.vuepress'), false) + if (isFunction(config)) { + config = config(this) + } // we implement a manual cache here because this loader is chained before // vue-loader, and will be applied on the same file multiple times when // selecting the individual blocks. @@ -42,7 +49,11 @@ module.exports = function (src) { if (!isProd && !isServer) { const inferredTitle = inferTitle(frontmatter.data, frontmatter.content) - const headers = extractHeaders(content, options.extractHeaders || ['h2', 'h3'], markdown) + let headersToExtract = ['h2', 'h3'] + if (config.markdown && config.markdown.extractHeaders) { + headersToExtract = this._siteConfig.markdown.extractHeaders + } + const headers = extractHeaders(content, headersToExtract, markdown) delete frontmatter.content // diff frontmatter and title, since they are not going to be part of the diff --git a/packages/docs/docs/theme/default-theme-config.md b/packages/docs/docs/theme/default-theme-config.md index 46a55d52e8..92bf491ae1 100644 --- a/packages/docs/docs/theme/default-theme-config.md +++ b/packages/docs/docs/theme/default-theme-config.md @@ -158,11 +158,11 @@ module.exports = { While preparing the page, headers are extracted from the markdown file and stored in `this.$page.headers`. By default, VuePress will extract `h2` and `h3` elements for you. -You can override the headers it pulls out in your `themeConfig` options. +You can override the headers it pulls out in your `markdown` options. ``` js module.exports = { - themeConfig: { + markdown: { extractHeaders: [ 'h2', 'h3', 'h4' ] } } From 905e2bf4f25fbfb87155eb61c8522ce2f94f6b48 Mon Sep 17 00:00:00 2001 From: Brian Retterer Date: Sun, 16 Dec 2018 12:09:37 -0500 Subject: [PATCH 09/11] Add siteConfig to the options for markdown-loader --- packages/@vuepress/core/lib/prepare/Page.js | 60 +++++++++++-------- .../core/lib/webpack/createBaseConfig.js | 2 +- packages/@vuepress/markdown-loader/index.js | 5 +- 3 files changed, 38 insertions(+), 29 deletions(-) diff --git a/packages/@vuepress/core/lib/prepare/Page.js b/packages/@vuepress/core/lib/prepare/Page.js index 45079237b3..0d3cead59d 100644 --- a/packages/@vuepress/core/lib/prepare/Page.js +++ b/packages/@vuepress/core/lib/prepare/Page.js @@ -47,7 +47,7 @@ module.exports = class Page { frontmatter = {}, permalinkPattern, siteConfig - }) { + }, context) { this.title = title this._meta = meta this._filePath = filePath @@ -98,33 +98,41 @@ module.exports = class Page { } if (this._content) { - const { excerpt, data, content } = parseFrontmatter(this._content) - this._strippedContent = content - this.frontmatter = data - - // infer title - const title = inferTitle(this.frontmatter, this._strippedContent) - if (title) { - this.title = title - } + if (this._filePath.endsWith('.md')) { + const { excerpt, data, content } = parseFrontmatter(this._content) + this._strippedContent = content + this.frontmatter = data - // headers - this.headersToExtract = ['h2', 'h3'] - if (this._siteConfig.markdown && this._siteConfig.markdown.extractHeaders) { - this.headersToExtract = this._siteConfig.markdown.extractHeaders - } - const headers = extractHeaders( - this._strippedContent, - this.headersToExtract, - markdown - ) - if (headers.length) { - this.headers = headers - } + // infer title + const title = inferTitle(this.frontmatter, this._strippedContent) + if (title) { + this.title = title + } + + // headers + this.headersToExtract = ['h2', 'h3'] + if (this._siteConfig.markdown && this._siteConfig.markdown.extractHeaders) { + this.headersToExtract = this._siteConfig.markdown.extractHeaders + } + const headers = extractHeaders( + this._strippedContent, + this.headersToExtract, + markdown + ) + if (headers.length) { + this.headers = headers + } - if (excerpt) { - const { html } = markdown.render(excerpt) - this.excerpt = html + if (excerpt) { + const { html } = markdown.render(excerpt) + this.excerpt = html + } + } else if (this._filePath.endsWith('.vue')) { + const { data = {}} = parseVueFrontmatter(this._content) + // When Vue SFCs are source files, make them as layout components directly. + this.frontmatter = Object.assign({ + layout: this.key + }, data) } } diff --git a/packages/@vuepress/core/lib/webpack/createBaseConfig.js b/packages/@vuepress/core/lib/webpack/createBaseConfig.js index c04aae63d5..7e49022d80 100644 --- a/packages/@vuepress/core/lib/webpack/createBaseConfig.js +++ b/packages/@vuepress/core/lib/webpack/createBaseConfig.js @@ -116,7 +116,7 @@ module.exports = function createBaseConfig ({ mdRule .use('markdown-loader') .loader(require.resolve('@vuepress/markdown-loader')) - .options({ sourceDir, markdown }) + .options({ sourceDir, markdown, siteConfig }) config.module .rule('pug') diff --git a/packages/@vuepress/markdown-loader/index.js b/packages/@vuepress/markdown-loader/index.js index cddec895b5..460ab52e84 100644 --- a/packages/@vuepress/markdown-loader/index.js +++ b/packages/@vuepress/markdown-loader/index.js @@ -26,6 +26,7 @@ module.exports = function (src) { const isServer = this.target === 'node' const options = getOptions(this) const { sourceDir } = options + const { siteConfig } = options let { markdown } = options if (!markdown) { markdown = md() @@ -50,8 +51,8 @@ module.exports = function (src) { if (!isProd && !isServer) { const inferredTitle = inferTitle(frontmatter.data, frontmatter.content) let headersToExtract = ['h2', 'h3'] - if (config.markdown && config.markdown.extractHeaders) { - headersToExtract = this._siteConfig.markdown.extractHeaders + if (siteConfig.markdown && siteConfig.markdown.extractHeaders) { + headersToExtract = siteConfig.markdown.extractHeaders } const headers = extractHeaders(content, headersToExtract, markdown) delete frontmatter.content From 6eae7f21eb4d783768717783284fd98632a9322b Mon Sep 17 00:00:00 2001 From: Brian Retterer Date: Sun, 16 Dec 2018 12:22:13 -0500 Subject: [PATCH 10/11] Revert "Moves the extract headers option to the markdown config" This reverts commit 06465e1499e1a0b3646e7708137042af5afb88ee. --- packages/@vuepress/core/lib/index.js | 1 - packages/@vuepress/markdown-loader/index.js | 11 ++--------- packages/docs/docs/theme/default-theme-config.md | 4 ++-- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/packages/@vuepress/core/lib/index.js b/packages/@vuepress/core/lib/index.js index 8f0a3bd45a..43a6d0124b 100644 --- a/packages/@vuepress/core/lib/index.js +++ b/packages/@vuepress/core/lib/index.js @@ -3,4 +3,3 @@ exports.dev = require('./dev') exports.build = require('./build') exports.eject = require('./eject') -exports.loadConfig = require('./prepare/loadConfig') diff --git a/packages/@vuepress/markdown-loader/index.js b/packages/@vuepress/markdown-loader/index.js index 460ab52e84..8b57fd8fb0 100644 --- a/packages/@vuepress/markdown-loader/index.js +++ b/packages/@vuepress/markdown-loader/index.js @@ -6,11 +6,7 @@ const { EventEmitter } = require('events') const { getOptions } = require('loader-utils') -const { loadConfig } = require('@vuepress/core') -const { - fs, path, hash, parseFrontmatter, inferTitle, extractHeaders, - datatypes: { isFunction } -} = require('@vuepress/shared-utils') +const { fs, path, hash, parseFrontmatter, inferTitle, extractHeaders } = require('@vuepress/shared-utils') const LRU = require('lru-cache') const md = require('@vuepress/markdown') @@ -31,10 +27,7 @@ module.exports = function (src) { if (!markdown) { markdown = md() } - let config = loadConfig(path.resolve(sourceDir, '.vuepress'), false) - if (isFunction(config)) { - config = config(this) - } + // we implement a manual cache here because this loader is chained before // vue-loader, and will be applied on the same file multiple times when // selecting the individual blocks. diff --git a/packages/docs/docs/theme/default-theme-config.md b/packages/docs/docs/theme/default-theme-config.md index 92bf491ae1..46a55d52e8 100644 --- a/packages/docs/docs/theme/default-theme-config.md +++ b/packages/docs/docs/theme/default-theme-config.md @@ -158,11 +158,11 @@ module.exports = { While preparing the page, headers are extracted from the markdown file and stored in `this.$page.headers`. By default, VuePress will extract `h2` and `h3` elements for you. -You can override the headers it pulls out in your `markdown` options. +You can override the headers it pulls out in your `themeConfig` options. ``` js module.exports = { - markdown: { + themeConfig: { extractHeaders: [ 'h2', 'h3', 'h4' ] } } From 0ec8c5e5afd95e1c41c5958adfd3c224a63573c8 Mon Sep 17 00:00:00 2001 From: Brian Retterer Date: Sun, 16 Dec 2018 12:25:52 -0500 Subject: [PATCH 11/11] Revert --- packages/@vuepress/core/lib/index.js | 1 - packages/@vuepress/markdown-loader/index.js | 11 ++--------- packages/docs/docs/theme/default-theme-config.md | 4 ++-- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/packages/@vuepress/core/lib/index.js b/packages/@vuepress/core/lib/index.js index 8f0a3bd45a..43a6d0124b 100644 --- a/packages/@vuepress/core/lib/index.js +++ b/packages/@vuepress/core/lib/index.js @@ -3,4 +3,3 @@ exports.dev = require('./dev') exports.build = require('./build') exports.eject = require('./eject') -exports.loadConfig = require('./prepare/loadConfig') diff --git a/packages/@vuepress/markdown-loader/index.js b/packages/@vuepress/markdown-loader/index.js index 460ab52e84..8b57fd8fb0 100644 --- a/packages/@vuepress/markdown-loader/index.js +++ b/packages/@vuepress/markdown-loader/index.js @@ -6,11 +6,7 @@ const { EventEmitter } = require('events') const { getOptions } = require('loader-utils') -const { loadConfig } = require('@vuepress/core') -const { - fs, path, hash, parseFrontmatter, inferTitle, extractHeaders, - datatypes: { isFunction } -} = require('@vuepress/shared-utils') +const { fs, path, hash, parseFrontmatter, inferTitle, extractHeaders } = require('@vuepress/shared-utils') const LRU = require('lru-cache') const md = require('@vuepress/markdown') @@ -31,10 +27,7 @@ module.exports = function (src) { if (!markdown) { markdown = md() } - let config = loadConfig(path.resolve(sourceDir, '.vuepress'), false) - if (isFunction(config)) { - config = config(this) - } + // we implement a manual cache here because this loader is chained before // vue-loader, and will be applied on the same file multiple times when // selecting the individual blocks. diff --git a/packages/docs/docs/theme/default-theme-config.md b/packages/docs/docs/theme/default-theme-config.md index 92bf491ae1..46a55d52e8 100644 --- a/packages/docs/docs/theme/default-theme-config.md +++ b/packages/docs/docs/theme/default-theme-config.md @@ -158,11 +158,11 @@ module.exports = { While preparing the page, headers are extracted from the markdown file and stored in `this.$page.headers`. By default, VuePress will extract `h2` and `h3` elements for you. -You can override the headers it pulls out in your `markdown` options. +You can override the headers it pulls out in your `themeConfig` options. ``` js module.exports = { - markdown: { + themeConfig: { extractHeaders: [ 'h2', 'h3', 'h4' ] } }