From 28c544ed8293f24be0d69c033b53f2fab2809b7f Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Wed, 9 Sep 2020 15:12:56 +0200 Subject: [PATCH] feat: wip preview, need to wait for features on vitepress --- docs/.vitepress/components/Bit.vue | 8 + docs/.vitepress/components/ExamplePreview.vue | 203 ++++++++++++++++++ .../components/ExamplePreviewBarButton.vue | 59 +++++ .../example-preview/ExamplePreviewBar.vue | 185 ++++++++++++++++ .../ExamplePreviewExplorer.vue | 74 +++++++ .../example-preview/icons/brackets.vue | 27 +++ .../example-preview/icons/codesandbox.svg | 8 + .../example-preview/icons/left-arrow.svg | 5 + .../example-preview/icons/play-window.svg | 3 + .../example-preview/icons/right-arrow.svg | 5 + docs/.vitepress/example-preview/utils.js | 31 +++ docs/.vitepress/theme/index.js | 14 ++ docs/index.md | 2 + 13 files changed, 624 insertions(+) create mode 100644 docs/.vitepress/components/Bit.vue create mode 100644 docs/.vitepress/components/ExamplePreview.vue create mode 100644 docs/.vitepress/components/ExamplePreviewBarButton.vue create mode 100644 docs/.vitepress/example-preview/ExamplePreviewBar.vue create mode 100644 docs/.vitepress/example-preview/ExamplePreviewExplorer.vue create mode 100644 docs/.vitepress/example-preview/icons/brackets.vue create mode 100644 docs/.vitepress/example-preview/icons/codesandbox.svg create mode 100644 docs/.vitepress/example-preview/icons/left-arrow.svg create mode 100644 docs/.vitepress/example-preview/icons/play-window.svg create mode 100644 docs/.vitepress/example-preview/icons/right-arrow.svg create mode 100644 docs/.vitepress/example-preview/utils.js create mode 100644 docs/.vitepress/theme/index.js diff --git a/docs/.vitepress/components/Bit.vue b/docs/.vitepress/components/Bit.vue new file mode 100644 index 00000000..0c219ae5 --- /dev/null +++ b/docs/.vitepress/components/Bit.vue @@ -0,0 +1,8 @@ + diff --git a/docs/.vitepress/components/ExamplePreview.vue b/docs/.vitepress/components/ExamplePreview.vue new file mode 100644 index 00000000..140108fd --- /dev/null +++ b/docs/.vitepress/components/ExamplePreview.vue @@ -0,0 +1,203 @@ + + + + + + diff --git a/docs/.vitepress/components/ExamplePreviewBarButton.vue b/docs/.vitepress/components/ExamplePreviewBarButton.vue new file mode 100644 index 00000000..7afd1f88 --- /dev/null +++ b/docs/.vitepress/components/ExamplePreviewBarButton.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/docs/.vitepress/example-preview/ExamplePreviewBar.vue b/docs/.vitepress/example-preview/ExamplePreviewBar.vue new file mode 100644 index 00000000..1f5a402e --- /dev/null +++ b/docs/.vitepress/example-preview/ExamplePreviewBar.vue @@ -0,0 +1,185 @@ + + + + + diff --git a/docs/.vitepress/example-preview/ExamplePreviewExplorer.vue b/docs/.vitepress/example-preview/ExamplePreviewExplorer.vue new file mode 100644 index 00000000..59b2b468 --- /dev/null +++ b/docs/.vitepress/example-preview/ExamplePreviewExplorer.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/docs/.vitepress/example-preview/icons/brackets.vue b/docs/.vitepress/example-preview/icons/brackets.vue new file mode 100644 index 00000000..0733aa6e --- /dev/null +++ b/docs/.vitepress/example-preview/icons/brackets.vue @@ -0,0 +1,27 @@ + diff --git a/docs/.vitepress/example-preview/icons/codesandbox.svg b/docs/.vitepress/example-preview/icons/codesandbox.svg new file mode 100644 index 00000000..d3653e0d --- /dev/null +++ b/docs/.vitepress/example-preview/icons/codesandbox.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/.vitepress/example-preview/icons/left-arrow.svg b/docs/.vitepress/example-preview/icons/left-arrow.svg new file mode 100644 index 00000000..6e3af469 --- /dev/null +++ b/docs/.vitepress/example-preview/icons/left-arrow.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/.vitepress/example-preview/icons/play-window.svg b/docs/.vitepress/example-preview/icons/play-window.svg new file mode 100644 index 00000000..b41582f5 --- /dev/null +++ b/docs/.vitepress/example-preview/icons/play-window.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/.vitepress/example-preview/icons/right-arrow.svg b/docs/.vitepress/example-preview/icons/right-arrow.svg new file mode 100644 index 00000000..d917d074 --- /dev/null +++ b/docs/.vitepress/example-preview/icons/right-arrow.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/.vitepress/example-preview/utils.js b/docs/.vitepress/example-preview/utils.js new file mode 100644 index 00000000..a79ed322 --- /dev/null +++ b/docs/.vitepress/example-preview/utils.js @@ -0,0 +1,31 @@ +import { getParameters } from 'codesandbox/lib/api/define' + +export function getCodesandboxParameters(files) { + const data = { + files: { + 'package.json': { + content: { + main: 'main.js', + dependencies: { + vue: 'latest', + 'vue-router': 'latest', + }, + }, + }, + ...files.reduce( + (fileMap, file) => ({ + ...fileMap, + ...file, + }), + {} + ), + }, + } + + return getParameters(data) +} + +const scriptRE = /\s*]*>[\s\S]*<\/script>\s*/m +export function removeScriptSection(content) { + return content.replace(scriptRE, '') +} diff --git a/docs/.vitepress/theme/index.js b/docs/.vitepress/theme/index.js new file mode 100644 index 00000000..44a39893 --- /dev/null +++ b/docs/.vitepress/theme/index.js @@ -0,0 +1,14 @@ +import DefaultTheme from 'vitepress/dist/client/theme-default' +import Bit from '../components/Bit.vue' +import ExampleButton from '../components/ExamplePreviewBarButton.vue' + +/** @type {import('vitepress').Theme} */ +const config = { + ...DefaultTheme, + enhanceApp({ app }) { + app.component('Bit', Bit) + app.component('ExampleButton', ExampleButton) + }, +} + +export default config diff --git a/docs/index.md b/docs/index.md index 6b0397e8..1aed690b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -16,3 +16,5 @@ Vue Router is the official router for [Vue.js](http://vuejs.org). It deeply inte [Get started](./guide/) or play with the [playground](https://github.com/vuejs/vue-router-next/tree/master/playground) (see [`README.md`](https://github.com/vuejs/vue-router-next) to run them). + + -- 2.39.5