From bee3b7f9e74788779b3fa604a4b11dab093969a4 Mon Sep 17 00:00:00 2001 From: FuTseYi Date: Fri, 6 Feb 2026 22:28:37 +0800 Subject: [PATCH] feat(theme): add reading progress indicator component --- docs/.vitepress/theme/Layout.vue | 4 + .../theme/components/ReadingProgress.vue | 228 ++++++++++++++++++ docs/.vitepress/theme/index.js | 2 + 3 files changed, 234 insertions(+) create mode 100644 docs/.vitepress/theme/components/ReadingProgress.vue diff --git a/docs/.vitepress/theme/Layout.vue b/docs/.vitepress/theme/Layout.vue index 847658c..2dd6032 100644 --- a/docs/.vitepress/theme/Layout.vue +++ b/docs/.vitepress/theme/Layout.vue @@ -4,6 +4,7 @@ import { useData } from 'vitepress' import TextType from './components/TextType.vue' import GitHubStars from './components/GitHubStars.vue' import { onMounted, ref, watch } from 'vue' +import ReadingProgress from './components/ReadingProgress.vue' import { Setting } from '@element-plus/icons-vue' const { frontmatter } = useData() @@ -211,6 +212,9 @@ watch(lineHeight, (next) => { + + + diff --git a/docs/.vitepress/theme/index.js b/docs/.vitepress/theme/index.js index 1ef6385..5bbe248 100644 --- a/docs/.vitepress/theme/index.js +++ b/docs/.vitepress/theme/index.js @@ -15,6 +15,7 @@ import CategoryIndex from './components/CategoryIndex.vue' import ArticleGrid from './components/ArticleGrid.vue' import StepBar from './components/StepBar.vue' import ChapterIntroduction from './components/ChapterIntroduction.vue' +import ReadingProgress from './components/ReadingProgress.vue' import WebTerminal from './components/appendix/terminal-intro/WebTerminal.vue' import TerminalGrid from './components/appendix/terminal-intro/TerminalGrid.vue' import CellInspector from './components/appendix/terminal-intro/CellInspector.vue' @@ -439,6 +440,7 @@ export default { app.component('ArticleGrid', ArticleGrid) app.component('StepBar', StepBar) app.component('ChapterIntroduction', ChapterIntroduction) + app.component('ReadingProgress', ReadingProgress) app.component('WebTerminal', WebTerminal) app.component('TerminalGrid', TerminalGrid) app.component('CellInspector', CellInspector)