diff --git a/docs/.vuepress/theme.ts b/docs/.vuepress/theme.ts
index 625a7243..4297e650 100644
--- a/docs/.vuepress/theme.ts
+++ b/docs/.vuepress/theme.ts
@@ -7,11 +7,13 @@ export const theme = themePlume({
hostname: 'https://pengzhanbo.cn',
repo: 'https://github.com/pengzhanbo/vuepress-theme-plume',
docsDir: 'docs',
+
avatar: {
url: '/images/blogger.jpg',
name: 'Plume Theme',
description: 'The Theme for Vuepress 2.0',
},
+
social: [{ icon: 'github', link: 'https://github.com/pengzhanbo' }],
footer: { copyright: 'Copyright © 2022-present pengzhanbo' },
@@ -26,10 +28,10 @@ export const theme = themePlume({
},
},
plugins: {
- // docsearch: {
- // apiKey: '111',
- // appId: '111',
- // indexName: '1234',
- // }
+ docsearch: {
+ apiKey: '111',
+ appId: '111',
+ indexName: '1234',
+ },
},
})
diff --git a/eslint.config.js b/eslint.config.js
index 29c01be0..f3e6261e 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -11,4 +11,7 @@ export default config({
__VUE_OPTIONS_API__: 'readonly',
__VUE_PROD_DEVTOOLS__: 'readonly',
},
+ rules: {
+ 'vue/no-v-text-v-html-on-component': 'off',
+ },
})
diff --git a/plugins/plugin-copy-code/src/client/clientConfig.ts b/plugins/plugin-copy-code/src/client/clientConfig.ts
index 06ba938d..b0e3727a 100644
--- a/plugins/plugin-copy-code/src/client/clientConfig.ts
+++ b/plugins/plugin-copy-code/src/client/clientConfig.ts
@@ -1,7 +1,7 @@
import { defineClientConfig } from '@vuepress/client'
import { setupCopyCode } from './setupCopyCode.js'
-import './styles/button.scss'
+import './styles/button.css'
export default defineClientConfig({
setup() {
diff --git a/plugins/plugin-copy-code/src/client/styles/button.scss b/plugins/plugin-copy-code/src/client/styles/button.css
similarity index 100%
rename from plugins/plugin-copy-code/src/client/styles/button.scss
rename to plugins/plugin-copy-code/src/client/styles/button.css
diff --git a/stylelint.config.js b/stylelint.config.js
index ce1a5d7e..7f6cb898 100644
--- a/stylelint.config.js
+++ b/stylelint.config.js
@@ -5,7 +5,7 @@ export default stylelintConfig({
'selector-pseudo-element-no-unknown': [true, {
ignorePseudoElements: ['input-placeholder'],
}],
- 'no-descending-specificity': null,
+ // 'no-descending-specificity': null,
'custom-property-empty-line-before': null,
'property-no-vendor-prefix': null,
'selector-no-vendor-prefix': null,
diff --git a/theme/src/client/components/Archives.vue b/theme/src/client/components/Archives.vue
index 31bd7311..c9ad6caf 100644
--- a/theme/src/client/components/Archives.vue
+++ b/theme/src/client/components/Archives.vue
@@ -29,7 +29,9 @@ const { archives } = useArchives()
diff --git a/theme/src/client/components/Friends.vue b/theme/src/client/components/Friends.vue
index f3a25bb0..c607228f 100644
--- a/theme/src/client/components/Friends.vue
+++ b/theme/src/client/components/Friends.vue
@@ -22,11 +22,19 @@ const list = computed(() => matter.value.list || [])
{{ matter.description }}
-
+
{{ editNavLink.text }}
diff --git a/theme/src/client/components/FriendsItem.vue b/theme/src/client/components/FriendsItem.vue
index c6fb11de..6ff8411a 100644
--- a/theme/src/client/components/FriendsItem.vue
+++ b/theme/src/client/components/FriendsItem.vue
@@ -9,11 +9,23 @@ defineProps<{
-
-
+
+
+
-
+
{{ friend.name }}
diff --git a/theme/src/client/components/Home.vue b/theme/src/client/components/Home.vue
index 4b2d9a00..be40bfc4 100644
--- a/theme/src/client/components/Home.vue
+++ b/theme/src/client/components/Home.vue
@@ -2,8 +2,6 @@
import { usePageFrontmatter, withBase } from '@vuepress/client'
import { computed } from 'vue'
import type { PlumeThemeHomeFrontmatter } from '../../shared/index.js'
-
-// import { useThemeLocaleData } from '../composables/index.js'
import { useDarkMode } from '../composables/darkMode.js'
import VButton from './VButton.vue'
diff --git a/theme/src/client/components/Nav/NavBarHamburger.vue b/theme/src/client/components/Nav/NavBarHamburger.vue
index 8e46ef33..1a494e45 100644
--- a/theme/src/client/components/Nav/NavBarHamburger.vue
+++ b/theme/src/client/components/Nav/NavBarHamburger.vue
@@ -46,6 +46,37 @@ defineEmits<(e: 'click') => void>()
overflow: hidden;
}
+.top,
+.middle,
+.bottom {
+ position: absolute;
+ width: 16px;
+ height: 2px;
+ background-color: var(--vp-c-text-1);
+ transition:
+ top 0.25s,
+ background-color 0.5s,
+ transform 0.25s;
+}
+
+.top {
+ top: 0;
+ left: 0;
+ transform: translateX(0);
+}
+
+.middle {
+ top: 6px;
+ left: 0;
+ transform: translateX(8px);
+}
+
+.bottom {
+ top: 12px;
+ left: 0;
+ transform: translateX(4px);
+}
+
.navbar-hamburger:hover .top {
top: 0;
left: 0;
@@ -88,35 +119,4 @@ defineEmits<(e: 'click') => void>()
background-color 0.25s,
transform 0.25s;
}
-
-.top,
-.middle,
-.bottom {
- position: absolute;
- width: 16px;
- height: 2px;
- background-color: var(--vp-c-text-1);
- transition:
- top 0.25s,
- background-color 0.5s,
- transform 0.25s;
-}
-
-.top {
- top: 0;
- left: 0;
- transform: translateX(0);
-}
-
-.middle {
- top: 6px;
- left: 0;
- transform: translateX(8px);
-}
-
-.bottom {
- top: 12px;
- left: 0;
- transform: translateX(4px);
-}
diff --git a/theme/src/client/components/Nav/NavBarSearch.vue b/theme/src/client/components/Nav/NavBarSearch.vue
index e236bf8e..09970773 100644
--- a/theme/src/client/components/Nav/NavBarSearch.vue
+++ b/theme/src/client/components/Nav/NavBarSearch.vue
@@ -3,236 +3,3 @@
-
-
diff --git a/theme/src/client/components/Nav/NavScreen.vue b/theme/src/client/components/Nav/NavScreen.vue
index 7a940f8a..facb9f42 100644
--- a/theme/src/client/components/Nav/NavScreen.vue
+++ b/theme/src/client/components/Nav/NavScreen.vue
@@ -47,6 +47,12 @@ const isLocked = useScrollLock(inBrowser ? document.body : null)
transition: background-color 0.5s;
}
+.container {
+ max-width: 288px;
+ padding: 24px 0 96px;
+ margin: 0 auto;
+}
+
.nav-screen.fade-enter-active,
.nav-screen.fade-leave-active {
transition: opacity 0.25s;
@@ -73,12 +79,6 @@ const isLocked = useScrollLock(inBrowser ? document.body : null)
}
}
-.container {
- max-width: 288px;
- padding: 24px 0 96px;
- margin: 0 auto;
-}
-
.menu + .translations,
.menu + .appearance,
.translations + .appearance {
diff --git a/theme/src/client/components/Nav/NavScreenMenuGroup.vue b/theme/src/client/components/Nav/NavScreenMenuGroup.vue
index b6f8803f..2392319b 100644
--- a/theme/src/client/components/Nav/NavScreenMenuGroup.vue
+++ b/theme/src/client/components/Nav/NavScreenMenuGroup.vue
@@ -79,16 +79,6 @@ function toggle() {
padding-bottom: 10px;
}
-.nav-screen-menu-group.open .button {
- padding-bottom: 6px;
- color: var(--vp-c-brand-1);
-}
-
-.nav-screen-menu-group.open .button-icon {
- /* rtl:ignore */
- transform: rotate(45deg);
-}
-
.button {
display: flex;
align-items: center;
@@ -106,8 +96,9 @@ function toggle() {
color: var(--vp-c-brand-1);
}
-.button-text i {
- font-style: normal;
+.nav-screen-menu-group.open .button {
+ padding-bottom: 6px;
+ color: var(--vp-c-brand-1);
}
.button-icon {
@@ -119,6 +110,15 @@ function toggle() {
transform 0.25s;
}
+.nav-screen-menu-group.open .button-icon {
+ /* rtl:ignore */
+ transform: rotate(45deg);
+}
+
+.button-text i {
+ font-style: normal;
+}
+
.group:first-child {
padding-top: 0;
}
diff --git a/theme/src/client/components/Page.vue b/theme/src/client/components/Page.vue
index a1035cc7..8a3c06db 100644
--- a/theme/src/client/components/Page.vue
+++ b/theme/src/client/components/Page.vue
@@ -55,68 +55,6 @@ onContentUpdated(() => zoom?.refresh())
diff --git a/theme/src/client/components/PageFooter.vue b/theme/src/client/components/PageFooter.vue
index af714786..2d7316a2 100644
--- a/theme/src/client/components/PageFooter.vue
+++ b/theme/src/client/components/PageFooter.vue
@@ -25,7 +25,11 @@ const showFooter = computed(() => {