Vitepress

为您的 Vitepress 应用添加暗黑模式。

暗黑模式

安装依赖

pnpm add @vueuse/core

可选步骤,为主题按钮添加图标。

pnpm add -D @iconify/vue @iconify-json/radix-icons

添加模式切换器

在您的网站上放置一个模式切换器,用于在亮色模式和暗黑模式之间切换。

我们使用 @vueuse/core 中的 useToggle

一个带有实用函数功能的布尔值切换器。

vue
<script setup lang="ts">
import { useToggle } from '@vueuse/core'
import { useData } from 'vitepress'
import { Button } from '@/registry/default/ui/button'

const { frontmatter, isDark } = useData()
const toggleDark = useToggle(isDark)
</script>

<template>
  <Button variant="outline">
    <Icon icon="radix-icons:moon" class="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
    <Icon icon="radix-icons:sun" class="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
    <span class="sr-only">切换主题</span>
  </Button>
</template>
Edit this page on GitHub