UNPKG

vuepress-theme-plume

Version:

A Blog&Document Theme for VuePress 2.0

76 lines (73 loc) 2.61 kB
import { defineClientConfig } from "vuepress/client"; import { enhanceScrollBehavior, setupCollection, setupDarkMode, setupEncrypt, setupHeaders, setupSidebar, setupThemeData, setupWatermark } from "./composables/index.js"; import VPBadge from "@theme/global/VPBadge.vue"; import VPCard from "@theme/global/VPCard.vue"; import VPCardGrid from "@theme/global/VPCardGrid.vue"; import VPCardMasonry from "@theme/global/VPCardMasonry.vue"; import VPImageCard from "@theme/global/VPImageCard.vue"; import VPLinkCard from "@theme/global/VPLinkCard.vue"; import VPHomeBox from "@theme/Home/VPHomeBox.vue"; import VPButton from "@theme/VPButton.vue"; import VPIcon from "@theme/VPIcon.vue"; import VPLink from "@theme/VPLink.vue"; import { hasGlobalComponent } from "@vuepress/helper/client"; import { h, resolveComponent } from "vue"; import Layout from "./layouts/Layout.vue"; import NotFound from "./layouts/NotFound.vue"; import "./styles/index.css"; //#region src/client/globalComponents.ts function globalComponents(app) { app.component("Badge", VPBadge); app.component("VPBadge", VPBadge); app.component("VPCard", VPCard); app.component("Card", VPCard); app.component("VPCardGrid", VPCardGrid); app.component("CardGrid", VPCardGrid); app.component("VPLinkCard", VPLinkCard); app.component("LinkCard", VPLinkCard); app.component("VPImageCard", VPImageCard); app.component("ImageCard", VPImageCard); app.component("VPCardMasonry", VPCardMasonry); app.component("CardMasonry", VPCardMasonry); app.component("VPLink", VPLink); app.component("Icon", VPIcon); app.component("VPIcon", VPIcon); app.component("VPButton", VPButton); app.component("HomeBox", VPHomeBox); app.component("VPHomeBox", VPHomeBox); app.component("DocComment", (props) => { if (hasGlobalComponent("CommentService")) return h(resolveComponent("CommentService"), props); return null; }); app.component("DocGitContributors", () => { if (hasGlobalComponent("GitContributors")) return h(resolveComponent("GitContributors")); return null; }); app.component("DocGitChangelog", () => { if (hasGlobalComponent("GitChangelog")) return h(resolveComponent("GitChangelog")); return null; }); } //#endregion //#region src/client/config.ts var config_default = defineClientConfig({ enhance({ app, router }) { setupThemeData(app); setupDarkMode(app); enhanceScrollBehavior(router); globalComponents(app); }, setup() { setupCollection(); setupSidebar(); setupHeaders(); setupEncrypt(); setupWatermark(); }, layouts: { Layout, NotFound } }); //#endregion export { config_default as default };