From 4396295cbddec8e051ccdacad2732ee086a6e405 Mon Sep 17 00:00:00 2001 From: sendevia Date: Mon, 3 Nov 2025 17:53:26 +0800 Subject: [PATCH] feat: rename functions for better clarity in theme utilities --- .vitepress/theme/utils/colorPalette.ts | 6 +++--- .vitepress/theme/utils/sectionWrapper.ts | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.vitepress/theme/utils/colorPalette.ts b/.vitepress/theme/utils/colorPalette.ts index 394c566..77d6185 100644 --- a/.vitepress/theme/utils/colorPalette.ts +++ b/.vitepress/theme/utils/colorPalette.ts @@ -8,7 +8,7 @@ import { CorePalette, hexFromArgb, Blend, argbFromHex } from "@material/material * @param tones 调色板的色相 * @return CorePalette Object */ -function paletteProperty(argbColor: number, name: string, append: "a1" | "a2" | "a3" | "n1" | "n2" | "error", tones: number[]) { +function createPaletteProvider(argbColor: number, name: string, append: "a1" | "a2" | "a3" | "n1" | "n2" | "error", tones: number[]) { const palette = CorePalette.of(argbColor); return { rawPalette: { @@ -78,12 +78,12 @@ export async function generateColorPalette(baseColor: number) { ]; for (const palette of palettes) { - const paletteObject = paletteProperty(baseColor, palette.name, palette.append, palette.tones); + const paletteObject = createPaletteProvider(baseColor, palette.name, palette.append, palette.tones); setPalette(paletteObject); } for (const palette of harmonizedPalettes) { - const paletteObject = paletteProperty(Blend.harmonize(argbFromHex(palette.color), baseColor), palette.name, palette.append, palette.tones); + const paletteObject = createPaletteProvider(Blend.harmonize(argbFromHex(palette.color), baseColor), palette.name, palette.append, palette.tones); setPalette(paletteObject); } } diff --git a/.vitepress/theme/utils/sectionWrapper.ts b/.vitepress/theme/utils/sectionWrapper.ts index c589905..582162e 100644 --- a/.vitepress/theme/utils/sectionWrapper.ts +++ b/.vitepress/theme/utils/sectionWrapper.ts @@ -1,6 +1,9 @@ import type MarkdownIt from "markdown-it"; -export function sectionWrapper(md: MarkdownIt): void { +/** + * 将连续的标题块包裹为独立的 section(headline-block),便于样式与交互处理 + */ +export function wrapHeadingsAsSections(md: MarkdownIt): void { md.core.ruler.before("inline", "group_sections", (state) => { const tokens = state.tokens; const newTokens: any[] = [];