diff --git a/theme/src/client/components/BackToTop.vue b/theme/src/client/components/BackToTop.vue new file mode 100644 index 00000000..e1a71c34 --- /dev/null +++ b/theme/src/client/components/BackToTop.vue @@ -0,0 +1,174 @@ + + + + + diff --git a/theme/src/client/components/icons/IconBackToTop.vue b/theme/src/client/components/icons/IconBackToTop.vue new file mode 100644 index 00000000..0151adb6 --- /dev/null +++ b/theme/src/client/components/icons/IconBackToTop.vue @@ -0,0 +1,3 @@ + diff --git a/theme/src/client/layouts/Layout.vue b/theme/src/client/layouts/Layout.vue index 67806821..bc841307 100644 --- a/theme/src/client/layouts/Layout.vue +++ b/theme/src/client/layouts/Layout.vue @@ -14,6 +14,7 @@ import Page from '../components/Page.vue' import Sidebar from '../components/Sidebar.vue' import SkipLink from '../components/SkipLink.vue' import VFooter from '../components/VFooter.vue' +import BackToTop from '../components/BackToTop.vue' import { useCloseSidebarOnEscape, useSidebar, @@ -56,6 +57,7 @@ provide('is-sidebar-open', isSidebarOpen) + diff --git a/theme/src/shared/frontmatter.ts b/theme/src/shared/frontmatter.ts index fed67553..04c537b0 100644 --- a/theme/src/shared/frontmatter.ts +++ b/theme/src/shared/frontmatter.ts @@ -26,6 +26,7 @@ export interface PlumeThemePageFrontmatter { contributors?: boolean prev?: string | NavItemWithLink next?: string | NavItemWithLink + backToTop?: boolean } export interface PlumeThemePostFrontmatter extends PlumeThemePageFrontmatter {