Skip to content

Commit 2fe61c4

Browse files
committed
Update
1 parent 0bc58de commit 2fe61c4

File tree

78 files changed

+371
-307
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+371
-307
lines changed

.vitepress/components/vModal.vue

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,26 @@
22
<template>
33
<div class="dialog-modal">
44
<ClientOnly>
5-
<ElDialog v-bind="$attrs" :draggable="true" :width="width">
6-
<slot></slot>
5+
<ElDialog
6+
v-bind="$attrs"
7+
:draggable="true"
8+
:width="width"
9+
>
10+
<slot/>
711
</ElDialog>
812
</ClientOnly>
913
</div>
10-
1114
</template>
1215

1316
<script setup lang="ts">
14-
import {ElDialog} from 'element-plus';
15-
import {onMounted, ref} from 'vue';
17+
import { onMounted, ref } from 'vue';
1618
1719
// 数据:对话框默认宽度
1820
const width = ref<string>('42%');
1921
2022
const isBigScreen = () => {
21-
return window.screen.width > 1400
22-
}
23+
return window.screen.width > 1400;
24+
};
2325
2426
onMounted(() => {
2527
width.value = isBigScreen() ? '42%' : '95%';

.vitepress/components/vScratchPaper.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@
1111

1212
<script setup lang="ts">
1313
import { ref } from 'vue';
14-
import { ElInput } from 'element-plus'
1514
16-
const textarea = ref<string>('')
15+
const textarea = ref<string>('');
1716
</script>
1817

1918
<style scoped lang="scss">

.vitepress/components/vSetup.vue

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
11
<!--页面建设中提示-->
22
<template>
33
<div class="construction-message">
4-
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="100.001px"
5-
height="70px" viewBox="0 0 100 68">
4+
<svg
5+
version="1.1"
6+
xmlns="http://www.w3.org/2000/svg"
7+
xmlns:xlink="http://www.w3.org/1999/xlink"
8+
x="0px"
9+
y="0px"
10+
width="100.001px"
11+
height="70px"
12+
viewBox="0 0 100 68"
13+
>
614
<g id="large">
715
<g>
8-
<path d="M55.777,38.473l6.221-1.133c0.017-1.791-0.123-3.573-0.41-5.324l-6.321-0.19c-0.438-2.053-1.135-4.048-2.076-5.931
16+
<path
17+
d="M55.777,38.473l6.221-1.133c0.017-1.791-0.123-3.573-0.41-5.324l-6.321-0.19c-0.438-2.053-1.135-4.048-2.076-5.931
918
l4.82-4.094c-0.868-1.552-1.874-3.028-3.005-4.417l-5.569,2.999c-1.385-1.54-2.98-2.921-4.771-4.099l2.124-5.954
1019
c-0.759-0.452-1.543-0.878-2.357-1.269c-0.811-0.39-1.625-0.732-2.449-1.046l-3.325,5.381c-2.038-0.665-4.113-1.052-6.183-1.174
1120
L31.34,6.002c-1.792-0.02-3.571,0.119-5.32,0.406l-0.191,6.32c-2.056,0.439-4.051,1.137-5.936,2.08l-4.097-4.82
@@ -19,19 +28,20 @@
1928
c1.537-1.385,2.914-2.98,4.093-4.772l5.953,2.127c0.448-0.761,0.878-1.545,1.268-2.356c0.388-0.808,0.729-1.631,1.047-2.458
2029
l-5.378-3.324C55.268,42.615,55.655,40.542,55.777,38.473z M42.302,42.435c-3.002,6.243-10.495,8.872-16.737,5.866
2130
c-6.244-2.999-8.872-10.493-5.867-16.736c3.002-6.244,10.495-8.873,16.736-5.869C42.676,28.698,45.306,36.19,42.302,42.435z"
22-
/>
31+
/>
2332
<animateTransform
2433
attributeName="transform"
2534
begin="0s"
2635
dur="6s"
2736
type="rotate"
2837
from="0 31 37"
2938
to="360 31 37"
30-
repeatCount="indefinite">
31-
</animateTransform>
39+
repeatCount="indefinite"
40+
/>
3241
</g>
3342
<g id="small">
34-
<path d="M93.068,19.253L99,16.31c-0.371-1.651-0.934-3.257-1.679-4.776l-6.472,1.404c-0.902-1.436-2.051-2.735-3.42-3.819
43+
<path
44+
d="M93.068,19.253L99,16.31c-0.371-1.651-0.934-3.257-1.679-4.776l-6.472,1.404c-0.902-1.436-2.051-2.735-3.42-3.819
3545
l2.115-6.273c-0.706-0.448-1.443-0.867-2.213-1.238c-0.774-0.371-1.559-0.685-2.351-0.958l-3.584,5.567
3646
c-1.701-0.39-3.432-0.479-5.118-0.284L73.335,0c-1.652,0.367-3.256,0.931-4.776,1.672l1.404,6.47
3747
c-1.439,0.899-2.744,2.047-3.835,3.419c-2.208-0.746-4.38-1.476-6.273-2.114c-0.451,0.71-0.874,1.448-1.244,2.229
@@ -42,16 +52,17 @@
4252
c-0.425-1.952-0.912-4.194-1.404-6.473c1.439-0.902,2.744-2.057,3.835-3.436l6.273,2.11c0.444-0.7,0.856-1.43,1.225-2.197
4353
c0.372-0.777,0.691-1.569,0.963-2.361l-5.568-3.586C93.181,22.677,93.269,20.939,93.068,19.253z M84.365,24.062
4454
c-1.693,3.513-5.908,4.991-9.418,3.302c-3.513-1.689-4.99-5.906-3.301-9.419c1.688-3.513,5.906-4.991,9.417-3.302
45-
C84.573,16.331,86.05,20.549,84.365,24.062z"/>
55+
C84.573,16.331,86.05,20.549,84.365,24.062z"
56+
/>
4657
<animateTransform
4758
attributeName="transform"
4859
begin="0s"
4960
dur="4s"
5061
type="rotate"
5162
from="0 78 21"
5263
to="-360 78 21"
53-
repeatCount="indefinite">
54-
</animateTransform>
64+
repeatCount="indefinite"
65+
/>
5566
</g>
5667
</g>
5768
</svg>
@@ -66,6 +77,9 @@
6677
</div>
6778
</template>
6879

80+
<script setup lang="ts">
81+
</script>
82+
6983
<style scoped lang="scss">
7084
.construction-message {
7185
position: relative;

.vitepress/config.ts

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ import testSidebar from './sidebar/test';
77
import { qqGroupIcon } from './sidebar/icons';
88
import UnoCSS from 'unocss/vite';
99
import path from 'path';
10+
import AutoImport from 'unplugin-auto-import/vite';
11+
import Components from 'unplugin-vue-components/vite';
12+
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';
1013

1114
const customElements: string[] = [ 'mjx-container' ];
1215

@@ -25,13 +28,28 @@ export default defineConfig({
2528
vite: {
2629
resolve: {
2730
alias: {
28-
'@': path.join(__dirname, '../src/'),
29-
'@img': path.join(__dirname, '../src/public/images/')
31+
'@': path.resolve(__dirname, '../src'),
32+
'@img': path.resolve(__dirname, '../src/public/images')
3033
}
3134
},
3235
plugins: [
33-
// @ts-expect-error unocss plugin
34-
UnoCSS()
36+
UnoCSS(),
37+
AutoImport({
38+
imports: [ 'vue', 'vitepress' ],
39+
resolvers: [
40+
ElementPlusResolver()
41+
],
42+
dts: '../auto-imports.d.ts'
43+
}),
44+
Components({
45+
resolvers: [
46+
ElementPlusResolver()
47+
],
48+
dirs: [ '../.vitepress/components' ],
49+
extensions: [ 'vue', 'md' ],
50+
include: [ /\.vue$/, /\.vue\?vue/, /\.md$/ ],
51+
dts: '../components.d.ts'
52+
})
3553
]
3654
},
3755
sitemap: {
@@ -51,6 +69,9 @@ export default defineConfig({
5169
// light: 'github-dark',
5270
// dark: 'github-dark'
5371
// },
72+
image: {
73+
lazyLoading: true
74+
},
5475
config: (md) => {
5576
md.use(mathjax3);
5677
md.use(taskLists);

.vitepress/theme/App.vue

Lines changed: 8 additions & 167 deletions
Original file line numberDiff line numberDiff line change
@@ -1,172 +1,13 @@
1-
<script setup lang="ts">
2-
import { useRoute } from 'vitepress';
3-
import { computed, provide, useSlots, watch } from 'vue';
4-
import VPBackdrop from 'vitepress/dist/client/theme-default/components/VPBackdrop.vue';
5-
import VPContent from 'vitepress/dist/client/theme-default/components/VPContent.vue';
6-
import VPFooter from 'vitepress/dist/client/theme-default/components/VPFooter.vue';
7-
import VPLocalNav from 'vitepress/dist/client/theme-default/components/VPLocalNav.vue';
8-
import VPNav from 'vitepress/dist/client/theme-default/components/VPNav.vue';
9-
import VPSidebar from 'vitepress/dist/client/theme-default/components/VPSidebar.vue';
10-
import VPSkipLink from 'vitepress/dist/client/theme-default/components/VPSkipLink.vue';
11-
import { useData } from 'vitepress/dist/client/theme-default/composables/data';
12-
import { useCloseSidebarOnEscape, useSidebar } from 'vitepress/dist/client/theme-default/composables/sidebar';
13-
14-
const {
15-
isOpen: isSidebarOpen,
16-
open: openSidebar,
17-
close: closeSidebar,
18-
sidebarGroups,
19-
hasSidebar
20-
} = useSidebar();
21-
22-
// console.log('sidebarGroups:', sidebarGroups.value);
23-
// console.log('hasSidebar:', hasSidebar.value);
24-
25-
const route = useRoute();
26-
watch(() => route.path, closeSidebar);
27-
28-
useCloseSidebarOnEscape(isSidebarOpen, closeSidebar);
29-
30-
const { frontmatter } = useData();
31-
32-
const slots = useSlots();
33-
const heroImageSlotExists = computed(() => !!slots['home-hero-image']);
34-
35-
provide('hero-image-slot-exists', heroImageSlotExists);
36-
</script>
37-
381
<template>
39-
<div
40-
v-if="frontmatter.layout !== false"
41-
class="Layout"
42-
:class="frontmatter.pageClass"
43-
>
44-
<slot name="layout-top"/>
45-
<VPSkipLink/>
46-
<VPBackdrop
47-
class="backdrop"
48-
:show="isSidebarOpen"
49-
@click="closeSidebar"
50-
/>
51-
<VPNav>
52-
<template #nav-bar-title-before>
53-
<slot name="nav-bar-title-before"/>
54-
</template>
55-
<template #nav-bar-title-after>
56-
<slot name="nav-bar-title-after"/>
57-
</template>
58-
<template #nav-bar-content-before>
59-
<slot name="nav-bar-content-before"/>
60-
</template>
61-
<template #nav-bar-content-after>
62-
<slot name="nav-bar-content-after"/>
63-
</template>
64-
<template #nav-screen-content-before>
65-
<slot name="nav-screen-content-before"/>
66-
</template>
67-
<template #nav-screen-content-after>
68-
<slot name="nav-screen-content-after"/>
69-
</template>
70-
</VPNav>
71-
<VPLocalNav
72-
:open="isSidebarOpen"
73-
@open-menu="openSidebar"
74-
/>
75-
76-
<VPSidebar :open="isSidebarOpen">
77-
<template #sidebar-nav-before>
78-
<slot name="sidebar-nav-before"/>
79-
</template>
80-
<template #sidebar-nav-after>
81-
<slot name="sidebar-nav-after"/>
82-
</template>
83-
</VPSidebar>
84-
85-
<VPContent>
86-
<template #page-top>
87-
<slot name="page-top"/>
88-
</template>
89-
<template #page-bottom>
90-
<slot name="page-bottom"/>
91-
</template>
92-
93-
<template #not-found>
94-
<slot name="not-found"/>
95-
</template>
96-
<template #home-hero-before>
97-
<slot name="home-hero-before"/>
98-
</template>
99-
<template #home-hero-info-before>
100-
<slot name="home-hero-info-before"/>
101-
</template>
102-
<template #home-hero-info>
103-
<slot name="home-hero-info"/>
104-
</template>
105-
<template #home-hero-info-after>
106-
<slot name="home-hero-info-after"/>
107-
</template>
108-
<template #home-hero-actions-after>
109-
<slot name="home-hero-actions-after"/>
110-
</template>
111-
<template #home-hero-image>
112-
<slot name="home-hero-image"/>
113-
</template>
114-
<template #home-hero-after>
115-
<slot name="home-hero-after"/>
116-
</template>
117-
<template #home-features-before>
118-
<slot name="home-features-before"/>
119-
</template>
120-
<template #home-features-after>
121-
<slot name="home-features-after"/>
122-
</template>
123-
124-
<template #doc-footer-before>
125-
<slot name="doc-footer-before"/>
126-
</template>
127-
<template #doc-before>
128-
<slot name="doc-before"/>
129-
</template>
130-
<template #doc-after>
131-
<slot name="doc-after"/>
132-
</template>
133-
<template #doc-top>
134-
<slot name="doc-top"/>
135-
</template>
136-
<template #doc-bottom>
137-
<slot name="doc-bottom"/>
138-
</template>
139-
140-
<template #aside-top>
141-
<slot name="aside-top"/>
142-
</template>
143-
<template #aside-bottom>
144-
<slot name="aside-bottom"/>
145-
</template>
146-
<template #aside-outline-before>
147-
<slot name="aside-outline-before"/>
148-
</template>
149-
<template #aside-outline-after>
150-
<slot name="aside-outline-after"/>
151-
</template>
152-
<template #aside-ads-before>
153-
<slot name="aside-ads-before"/>
154-
</template>
155-
<template #aside-ads-after>
156-
<slot name="aside-ads-after"/>
157-
</template>
158-
</VPContent>
159-
160-
<VPFooter/>
161-
<slot name="layout-bottom"/>
162-
</div>
163-
<Content v-else/>
2+
<Content/>
1643
</template>
1654

5+
<script setup lang="ts">
6+
import { useData } from 'vitepress';
7+
const { page, theme, frontmatter } = useData();
8+
console.log(theme.value);
9+
</script>
10+
16611
<style scoped>
167-
.Layout {
168-
display: flex;
169-
flex-direction: column;
170-
min-height: 100vh;
171-
}
12+
17213
</style>

.vitepress/theme/index.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
import { h } from 'vue';
22
import DefaultTheme from 'vitepress/theme';
33
import 'element-plus/dist/index.css';
4-
import vSetup from '../components/vSetup.vue';
5-
import vPageTips from '../components/vPageTips.vue';
6-
import vDisplayList from '../components/vDisplayList.vue';
7-
import vScratchPaper from '../components/vScratchPaper.vue';
4+
import 'element-plus/theme-chalk/dark/css-vars.css';
85
import hideFooter from '../plugins/hideFooter/hideFooter';
96
import { EnhanceAppContext, useData, useRoute } from 'vitepress';
107
import googleAnalysis from './scripts/googleAnalysis';
118
import giscusTalk from 'vitepress-plugin-comment-with-giscus';
129
import vImageViewer from 'vitepress-plugin-image-viewer/lib/vImageViewer.vue';
1310
import imageViewer from 'vitepress-plugin-image-viewer';
14-
import vModal from '../components/vModal.vue';
1511
import 'viewerjs/dist/viewer.min.css';
1612
import 'vitepress-plugin-codeblocks-fold/style/index.scss';
1713
import codeblocksFold from 'vitepress-plugin-codeblocks-fold';
@@ -20,16 +16,12 @@ import 'virtual:uno.css';
2016
import App from './App.vue';
2117

2218
export default {
23-
Layout: () => h(App),
19+
// Layout: () => h(App),
20+
...DefaultTheme,
2421
enhanceApp(ctx: EnhanceAppContext) {
2522
DefaultTheme.enhanceApp(ctx);
2623
// 注册全局组件
27-
ctx.app.component('vSetup', vSetup);
28-
ctx.app.component('vPageTips', vPageTips);
29-
ctx.app.component('vDisplayList', vDisplayList);
30-
ctx.app.component('vScratchPaper', vScratchPaper);
3124
ctx.app.component('vImageViewer', vImageViewer);
32-
ctx.app.component('vModal', vModal);
3325
},
3426
setup() {
3527
// 获取前言和路由

0 commit comments

Comments
 (0)