Browse Source

upd: doc site modify

richard1015 5 years ago
parent
commit
ef43bf33f0

+ 4 - 4
src/config.ts

@@ -53,13 +53,13 @@ export const nav = [
         author: 'richard1015'
         author: 'richard1015'
       },
       },
       {
       {
-        name: 'price',
-        sort: 1,
+        name: 'Price',
+        sort: 4,
         cName: '价格组件',
         cName: '价格组件',
         type: 'component',
         type: 'component',
         show: true,
         show: true,
-        desc: ''
-        // author: 'hahaha'
+        desc: '价格组件',
+        author: 'ailululu'
       }
       }
     ]
     ]
   },
   },

+ 0 - 2
src/sites/assets/styles/md-style.scss

@@ -2,10 +2,8 @@
 
 
 .doc-content-document {
 .doc-content-document {
   position: relative;
   position: relative;
-  margin: 10px;
   width: 800px;
   width: 800px;
   background: #fff;
   background: #fff;
-  border-left: 1px solid #eee;
   padding-left: 58px;
   padding-left: 58px;
   .card {
   .card {
     margin-bottom: 24px;
     margin-bottom: 24px;

+ 3 - 0
src/sites/assets/util/ref.ts

@@ -0,0 +1,3 @@
+import { ref } from 'vue';
+
+export const currentRoute = ref('/');

+ 1 - 0
src/sites/doc/App.vue

@@ -20,5 +20,6 @@ export default defineComponent({
   width: 100%;
   width: 100%;
   display: flex;
   display: flex;
   flex-direction: column;
   flex-direction: column;
+  padding-top: $doc-header-height;
 }
 }
 </style>
 </style>

+ 5 - 0
src/sites/doc/components/Header.vue

@@ -13,6 +13,11 @@ export default defineComponent({
 <style lang="scss">
 <style lang="scss">
 .doc {
 .doc {
   &-header {
   &-header {
+    position: fixed;
+    z-index: 2;
+    top: 0;
+    left: 0;
+    right: 0;
     background: $doc-header-bg;
     background: $doc-header-bg;
     background-size: cover;
     background-size: cover;
     background-position: center;
     background-position: center;

+ 28 - 15
src/sites/doc/components/Nav.vue

@@ -12,8 +12,8 @@
     <ol v-for="_nav in nav" :key="_nav">
     <ol v-for="_nav in nav" :key="_nav">
       <li>{{ _nav.name }}</li>
       <li>{{ _nav.name }}</li>
       <ul>
       <ul>
-        <li class="active" v-for="_package in _nav.packages" :key="_package">
-          <router-link :to="_package.name.toLocaleLowerCase()">
+        <li :class="{ active: isActive(_package.name) }" v-for="_package in _nav.packages" :key="_package">
+          <router-link :to="_package.name.toLowerCase()">
             {{ _package.name }}&nbsp;&nbsp;<b>{{ _package.cName }}</b>
             {{ _package.name }}&nbsp;&nbsp;<b>{{ _package.cName }}</b>
           </router-link>
           </router-link>
         </li>
         </li>
@@ -22,14 +22,22 @@
   </div>
   </div>
 </template>
 </template>
 <script lang="ts">
 <script lang="ts">
-import { defineComponent, reactive } from 'vue';
+import { defineComponent, reactive, computed } from 'vue';
+import { currentRoute } from '@/sites/assets/util/ref';
 import { nav } from '@/config';
 import { nav } from '@/config';
 export default defineComponent({
 export default defineComponent({
   name: 'doc-nav',
   name: 'doc-nav',
   setup() {
   setup() {
-    return reactive({
-      nav
+    const isActive = computed(() => {
+      return function(name: string) {
+        return currentRoute.value == name.toLowerCase();
+      };
     });
     });
+    return {
+      isActive,
+      nav: reactive(nav),
+      currentRoute
+    };
   }
   }
 });
 });
 </script>
 </script>
@@ -37,11 +45,16 @@ export default defineComponent({
 <style lang="scss">
 <style lang="scss">
 .doc {
 .doc {
   &-nav {
   &-nav {
+    position: fixed;
+    top: $doc-header-height + 50;
+    left: 0;
+    bottom: 0;
+    z-index: 1;
     background: $white;
     background: $white;
-    width: 291px;
-    flex-shrink: 0;
-    height: 100%;
-    padding: 50px 0 50px 35px;
+    width: 290px;
+    border-right: 1px solid #eee;
+    overflow: auto;
+    padding-left: 35px;
     ol {
     ol {
       &.introduce {
       &.introduce {
         padding-left: 5px;
         padding-left: 5px;
@@ -66,12 +79,12 @@ export default defineComponent({
             content: '';
             content: '';
             left: 0;
             left: 0;
             top: 50%;
             top: 50%;
-            margin-top: -14px;
-            bottom: 0;
-            width: 6px;
-            height: 28px;
-            background: $doc-default-primary-bg;
-            border-radius: 3px;
+            width: 22px;
+            margin-top: -5px;
+            height: 10px;
+            transform: rotate(90deg);
+            background: url(https://img10.360buyimg.com/imagetools/jfs/t1/136135/19/14659/946/5fa20aa8E33a9aa26/d329fbe669171208.png) no-repeat;
+            background-size: 100% 100%;
           }
           }
         }
         }
       }
       }

+ 4 - 2
src/sites/doc/router.ts

@@ -6,9 +6,11 @@ const pagesRouter: Array<RouteRecordRaw> = [];
 const files = require.context('@/packages', true, /doc\.md$/);
 const files = require.context('@/packages', true, /doc\.md$/);
 files.keys().forEach(component => {
 files.keys().forEach(component => {
   const componentEntity = files(component).default;
   const componentEntity = files(component).default;
+  const name = `${component.split('/')[1]}`;
   pagesRouter.push({
   pagesRouter.push({
-    path: `/${component.split('/')[1]}`,
-    component: componentEntity
+    path: name,
+    component: componentEntity,
+    name
   });
   });
 });
 });
 const routes: Array<RouteRecordRaw> = [
 const routes: Array<RouteRecordRaw> = [

+ 11 - 3
src/sites/doc/views/Index.vue

@@ -1,13 +1,13 @@
 <template>
 <template>
   <doc-header></doc-header>
   <doc-header></doc-header>
+  <doc-nav></doc-nav>
   <div class="doc-content">
   <div class="doc-content">
-    <doc-nav></doc-nav>
-    <doc-demo-preview :url="demoUrl"></doc-demo-preview>
     <div class="doc-content-document">
     <div class="doc-content-document">
       <router-view />
       <router-view />
     </div>
     </div>
+    <doc-footer></doc-footer>
+    <doc-demo-preview :url="demoUrl"></doc-demo-preview>
   </div>
   </div>
-  <doc-footer></doc-footer>
 </template>
 </template>
 <script lang="ts">
 <script lang="ts">
 import { defineComponent, reactive } from 'vue';
 import { defineComponent, reactive } from 'vue';
@@ -16,6 +16,7 @@ import Header from '@/sites/doc/components/Header.vue';
 import Nav from '@/sites/doc/components/Nav.vue';
 import Nav from '@/sites/doc/components/Nav.vue';
 import Footer from '@/sites/doc/components/Footer.vue';
 import Footer from '@/sites/doc/components/Footer.vue';
 import DemoPreview from '@/sites/doc/components/DemoPreview.vue';
 import DemoPreview from '@/sites/doc/components/DemoPreview.vue';
+import { currentRoute } from '@/sites/assets/util/ref';
 export default defineComponent({
 export default defineComponent({
   name: 'doc',
   name: 'doc',
   components: {
   components: {
@@ -31,6 +32,7 @@ export default defineComponent({
 
 
     onBeforeRouteUpdate(to => {
     onBeforeRouteUpdate(to => {
       const { origin, pathname } = window.location;
       const { origin, pathname } = window.location;
+      currentRoute.value = to.name as string;
       data.demoUrl = `${origin}${pathname.replace('index.html', '')}demo.html#${to.path}`;
       data.demoUrl = `${origin}${pathname.replace('index.html', '')}demo.html#${to.path}`;
     });
     });
 
 
@@ -42,7 +44,13 @@ export default defineComponent({
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 .doc {
 .doc {
   &-content {
   &-content {
+    margin-left: 290px;
     display: flex;
     display: flex;
+    flex-direction: column;
+
+    &-document {
+      min-height: 800px;
+    }
   }
   }
 }
 }
 </style>
 </style>

+ 1 - 1
src/sites/mobile/components/Index.vue

@@ -12,7 +12,7 @@
         <li>{{ _nav.name }}</li>
         <li>{{ _nav.name }}</li>
         <ul>
         <ul>
           <li v-for="_package in _nav.packages" :key="_package">
           <li v-for="_package in _nav.packages" :key="_package">
-            <router-link :to="_package.name.toLocaleLowerCase()">{{ _package.name }}&nbsp;&nbsp;{{ _package.cName }} </router-link>
+            <router-link :to="_package.name.toLowerCase()">{{ _package.name }}&nbsp;&nbsp;{{ _package.cName }} </router-link>
           </li>
           </li>
         </ul>
         </ul>
       </ol>
       </ol>