2026-08-18 · 1 分钟阅读

Shiki 高亮与 Mac 窗口代码预览

文章里的代码有两种样子:普通高亮块,以及套上 Mac 窗口铬的预览。

普通代码块

默认围栏就是普通块:

<script setup lang="ts">
const colorMode = useColorMode()
const isDark = computed(() => colorMode.value === "dark")
</script>

Mac 窗口预览

MacWindow 包住围栏,得到红绿灯标题栏:

utils/cn.ts
import { clsx, type ClassValue } from "clsx"
import { twMerge } from "tailwind-merge"

export function cn(...inputs: ClassValue[]) {
  return twMerge(clsx(inputs))
}

主题切换

Shiki 一次输出 light / dark 两套 token。页面根节点带 .dark 时换色,不重新请求。

克制

窗口只用于需要「这是一段可运行源码」的地方。不要给每一段 snippet 都加铬。

相关文章