Skip to content

Commit b57fa3f

Browse files
committed
update
1 parent e1e4311 commit b57fa3f

File tree

18 files changed

+370
-208
lines changed

18 files changed

+370
-208
lines changed

.npmrc

Lines changed: 0 additions & 1 deletion
This file was deleted.

.vitepress/config.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,25 @@ export default defineConfig({
6767
// 主题配置
6868
themeConfig: {
6969
search: {
70-
provider: 'local'
70+
provider: 'local',
71+
options: {
72+
translations: {
73+
button: {
74+
buttonText: '搜索文档',
75+
buttonAriaLabel: '搜索文档'
76+
},
77+
modal: {
78+
noResultsText: '无法找到相关结果',
79+
resetButtonTitle: '清除查询条件',
80+
displayDetails: '显示详细信息',
81+
footer: {
82+
selectText: '选择',
83+
navigateText: '切换',
84+
closeText: '关闭'
85+
}
86+
}
87+
}
88+
}
7189
},
7290
footer: {
7391
message: 'Released under the MIT License.',

.vitepress/sidebar/learn.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,12 @@ import uniappItems from './learn/uniapp';
3333
import dockerItem from './learn/docker';
3434
import androidItems from './learn/android';
3535

36-
const learnSidebar: DefaultTheme.SidebarItem[] = [
36+
const learnSidebar: (DefaultTheme.SidebarItem & { icon?: string })[] = [
3737
{
38+
icon: infoIcon,
3839
text: infoIcon + '关于',
3940
link: '/learn/'
4041
},
41-
// {
42-
// text: infoIcon + 'test',
43-
// link: '/test/pendingTasks.md'
44-
// },
4542
{
4643
text: webIcon + '前端',
4744
collapsed: false,

.vitepress/theme/App.vue

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
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+
38+
<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/>
164+
</template>
165+
166+
<style scoped>
167+
.Layout {
168+
display: flex;
169+
flex-direction: column;
170+
min-height: 100vh;
171+
}
172+
</style>

.vitepress/theme/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { h } from 'vue';
12
import DefaultTheme from 'vitepress/theme';
23
import 'element-plus/dist/index.css';
34
import vSetup from '../components/vSetup.vue';
@@ -15,12 +16,11 @@ import 'viewerjs/dist/viewer.min.css';
1516
import 'vitepress-plugin-codeblocks-fold/style/index.scss';
1617
import codeblocksFold from 'vitepress-plugin-codeblocks-fold';
1718
import './styles/index.scss';
18-
import { toRefs } from 'vue';
1919
import 'virtual:uno.css';
20-
import 'overlayscrollbars/overlayscrollbars.css';
20+
import App from './App.vue';
2121

2222
export default {
23-
...DefaultTheme,
23+
Layout: () => h(App),
2424
enhanceApp(ctx: EnhanceAppContext) {
2525
DefaultTheme.enhanceApp(ctx);
2626
// 注册全局组件

.vitepress/theme/styles/index.scss

Lines changed: 7 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ html, body {
2727
font-size: 16px;
2828
font-weight: 500;
2929
font-family: $defaultFontFamily;
30+
scroll-behavior: smooth;
3031
}
3132

3233
[class*='level-'].VPSidebarItem.is-link > .item > .link:hover .text {
@@ -139,7 +140,6 @@ html, body {
139140
}
140141
}
141142

142-
143143
.group {
144144
user-select: none;
145145

@@ -178,58 +178,10 @@ html, body {
178178
background-color: rgba(0, 0, 0, .9);
179179
}
180180

181-
/* 设置全局滚动条样式 */
182-
* {
183-
/*--ms-滚动条--*/
184-
scrollbar-width: auto;
185-
scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
186-
187-
/*-webkit-滚动条*/
188-
&::-webkit-scrollbar {
189-
width: 8px;
190-
height: 8px;
191-
background-color: transparent;
192-
}
193-
194-
/*-webkit-滑块*/
195-
&::-webkit-scrollbar-thumb {
196-
height: 50px;
197-
outline-offset: -2px;
198-
outline: 2px white solid;
199-
border-radius: 4px;
200-
border: 2px transparent solid;
201-
background-color: rgba(0, 0, 0, 0.2);
202-
}
203-
204-
/*-webkit-滑块hover效果*/
205-
&::-webkit-scrollbar-thumb:hover {
206-
height: 50px;
207-
border-radius: 4px;
208-
background-color: rgba(0, 0, 0, .4);
209-
}
210-
211-
/*-webkit-滚动框*/
212-
&::-webkit-scrollbar-track-piece {
213-
-webkit-border-radius: 0;
214-
background-color: transparent;
215-
}
216-
217-
/* -webkit-滑轨 */
218-
&::-webkit-scrollbar-track {
219-
right: 0;
220-
background-color: transparent;
221-
}
222-
223-
/* -webkit-滑轨两头的按钮 */
224-
&::-webkit-scrollbar-button {
225-
// display: none;
226-
height: 8px;
227-
width: 8px;
228-
background-color: transparent;
229-
}
230-
231-
/* -webkit-边角 */
232-
&::-webkit-scrollbar-corner {
233-
background-color: transparent;
234-
}
181+
.star-point-bg {
182+
background-color: unset !important;
183+
backdrop-filter: saturate(50%) blur(4px);
184+
-webkit-backdrop-filter: saturate(50%) blur(4px);
185+
background-image: radial-gradient(transparent 1px, var(--vp-c-bg-soft) 1px);
186+
background-size: 4px 4px;
235187
}

package.json

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,16 @@
1111
},
1212
"dependencies": {
1313
"@element-plus/icons-vue": "^2.3.1",
14+
"@vueuse/core": "^12.0.0",
1415
"element-plus": "^2.7.2",
1516
"lodash-es": "^4.17.21",
1617
"markdown-it-mathjax3": "^4.3.2",
1718
"markdown-it-task-lists": "^2.1.1",
18-
"overlayscrollbars": "^2.10.0",
19-
"overlayscrollbars-vue": "^0.5.9",
2019
"viewerjs": "^1.11.6",
2120
"vitepress": "^1.1.4",
2221
"vitepress-plugin-codeblocks-fold": "^1.2.32",
2322
"vitepress-plugin-comment-with-giscus": "^1.1.15",
24-
"vitepress-plugin-image-viewer": "^1.1.4",
23+
"vitepress-plugin-image-viewer": "^1.1.6",
2524
"vue": "^3.4.26"
2625
},
2726
"devDependencies": {
@@ -33,9 +32,9 @@
3332
"@unocss/preset-rem-to-px": "^0.55.7",
3433
"eslint": "^9.10.0",
3534
"eslint-plugin-vue": "^9.28.0",
36-
"sass": "^1.75.0",
35+
"sass": "1.62.1",
3736
"typescript-eslint": "^8.4.0",
38-
"unocss": "^0.55.7",
37+
"unocss": "^0.65.2",
3938
"vite": "^4.5.3"
4039
}
4140
}

0 commit comments

Comments
 (0)