diff --git a/app/.vuepress/config.js b/app/.vuepress/config.js
new file mode 100644
index 0000000..0afa0a5
--- /dev/null
+++ b/app/.vuepress/config.js
@@ -0,0 +1,35 @@
+const path = require('path')
+
+const rootDir = path.resolve()
+
+module.exports = {
+ themeConfig: {
+ nav: [
+ { text: 'Home', link: '/' },
+ { text: 'Components', link: '/components/' },
+ ]
+ },
+ plugins: [
+ [
+ 'vuepress-plugin-component-catalog',
+ {
+ // All options
+ rootDir,
+
+ // Specify the target to create a catalog
+ include: ['**/components/**'],
+
+ distDirPrefix: 'components',
+
+ // import path alias
+ alias: {
+ '@': 'src/*',
+ },
+ // vue cli option
+ vueCli: {
+ configPath: `${rootDir}/vue.config.js`,
+ },
+ },
+ ],
+ ],
+};
diff --git a/app/.vuepress/theme/LICENSE b/app/.vuepress/theme/LICENSE
new file mode 100644
index 0000000..15f1f7e
--- /dev/null
+++ b/app/.vuepress/theme/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2018-present, Yuxi (Evan) You
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/app/.vuepress/theme/components/AlgoliaSearchBox.vue b/app/.vuepress/theme/components/AlgoliaSearchBox.vue
new file mode 100644
index 0000000..41b62af
--- /dev/null
+++ b/app/.vuepress/theme/components/AlgoliaSearchBox.vue
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
diff --git a/app/.vuepress/theme/components/DropdownLink.vue b/app/.vuepress/theme/components/DropdownLink.vue
new file mode 100644
index 0000000..ec45fae
--- /dev/null
+++ b/app/.vuepress/theme/components/DropdownLink.vue
@@ -0,0 +1,179 @@
+
+