This commit is contained in:
2025-12-29 00:15:20 +08:00
parent ff9b8d6a87
commit a95f624fa2
24 changed files with 405 additions and 290 deletions

View File

@@ -29,6 +29,7 @@ const bgStyle = computed(() =>
<!-- <link <!-- <link
rel="stylesheet" rel="stylesheet"
href="https://chinese-fonts-cdn.deno.dev/packages/maple-mono-cn/dist/MapleMono-CN-Regular/result.css" /> --> href="https://chinese-fonts-cdn.deno.dev/packages/maple-mono-cn/dist/MapleMono-CN-Regular/result.css" /> -->
<meta name="color-scheme" content="light dark" />
<div class="relative"> <div class="relative">
<div <div
v-if="currentBg" v-if="currentBg"

View File

@@ -1,24 +1,114 @@
@import url("https://cdn.jsdelivr.net/npm/@chinese-fonts/maple-mono-cn@2.0.0/dist/MapleMono-CN-Regular/result.css");
@import url("https://fontsapi.zeoseven.com/521/main/result.css");
/* @import url("https://fontsapi.zeoseven.com/292/main/result.css"); */
@import "tailwindcss"; @import "tailwindcss";
@plugin "@tailwindcss/typography"; @plugin "@tailwindcss/typography";
@plugin "@tailwindcss/forms"; @plugin "@tailwindcss/forms";
/* @import "@chinese-fonts/maple-mono-cn/dist/MapleMono-CN-Regular/results.css"; */
@custom-variant dark (&:where(.dark, .dark *)); @custom-variant dark (&:where(.dark, .dark *));
/* @import "tailwindcss/preflight"; /* @import "tailwindcss/preflight";
@tailwind utilities; */ @tailwind utilities; */
/* @import url("https://fonts.rhen.cloud/maplemono-cn-regular/result.css"); */
/* @import url("https://chinese-fonts-cdn.deno.dev/packages/maple-mono-cn/dist/MapleMono-CN-Regular/result.css"); */
/* @import "tailwindcss/preflight"; */ /* @import "tailwindcss/preflight"; */
/* @imoprt "utilities"; */ /* @imoprt "utilities"; */
/* @import url("https://fontsapi.zeoseven.com/292/main/result.css"); */
/* @theme { /* @theme {
--font-roboto: "LXGW WenKai", sans-serif; --font-roboto: "LXGW WenKai", sans-serif;
}
body {
font-familt: var(--font-roboto);
} */ } */
/* @theme { @theme {
--font-roboto: "Maple Mono CN", sans-serif; --font-roboto: "JetBrains Maple Mono", sans-serif;
--font-display: "JetBrains Maple Mono", sans-serif;
--font-mono: "JetBrains Maple Mono", monospace;
--font-display--font-feature-settings: "zero", "cv03", "ss03", "ss05", "cv97", "cv98"; --font-display--font-feature-settings: "zero", "cv03", "ss03", "ss05", "cv97", "cv98";
} */ }
html {
/* font-family: var(--font-roboto); */
font-family: "JetBrains Maple Mono";
font-weight: normal;
}
.text-primary {
color: var(--site-primary) !important;
}
.bg-primary {
background-color: var(--site-primary) !important;
}
.border-primary {
border-color: var(--site-primary) !important;
}
.bg-primary-10 {
/* Use computed RGB to form translucent background when available */
background-color: rgba(var(--site-primary-rgb), 0.08);
/* Fallback for browsers that support color-mix (optional) */
background-color: color-mix(in srgb, var(--site-primary) 8%, transparent);
}
.hover-bg-primary:hover {
background-color: var(--site-primary) !important;
}
.hover-text-primary:hover {
color: var(--site-primary) !important;
}
/* Support group hover coloring: apply to elements with class `group-text-primary` when parent has `group` */
.group:hover .group-text-primary {
color: var(--site-primary) !important;
}
/* Selection helper */
.selection-bg-primary::selection {
background-color: rgba(var(--site-primary-rgb), 0.3);
}
/* Primary gradient utilities */
.bg-primary-gradient {
background-image: linear-gradient(
135deg,
var(--site-primary),
color-mix(in srgb, var(--site-primary) 65%, white 35%)
);
}
.bg-primary-gradient-r {
background-image: linear-gradient(
90deg,
var(--site-primary),
color-mix(in srgb, var(--site-primary) 65%, white 35%)
);
}
/* Prose (content) color overrides to follow site primary */
.prose a {
color: var(--site-primary);
}
.dark .prose a {
color: var(--site-primary);
}
.prose a:hover {
text-decoration: underline;
}
.prose blockquote {
border-left-width: 4px;
border-left-style: solid;
border-left-color: var(--site-primary);
background-color: rgba(var(--site-primary-rgb), 0.05);
padding-top: 0.25rem;
padding-bottom: 0.25rem;
}
.prose code {
color: var(--site-primary);
background-color: rgba(var(--site-primary-rgb), 0.08);
padding: 0.125rem 0.25rem;
border-radius: 0.25rem;
}
.prose pre {
background-color: var(--code-bg, #111827);
}

View File

@@ -1,5 +1,4 @@
<script setup lang="ts"> <script setup lang="ts">
import { formatDate } from "~/utils/helper";
interface Props { interface Props {
title?: string; title?: string;
image?: string; image?: string;
@@ -26,7 +25,7 @@ withDefaults(defineProps<Props>(), {
<div <div
class="flex items-center text-sm font-bold text-violet-600 dark:text-violet-400 bg-violet-500/10 px-3 py-1 rounded-full border border-violet-500/20"> class="flex items-center text-sm font-bold text-violet-600 dark:text-violet-400 bg-violet-500/10 px-3 py-1 rounded-full border border-violet-500/20">
<LogoDate class="mr-2 w-4 h-4" /> <LogoDate class="mr-2 w-4 h-4" />
{{ formatDate(date) }} {{ date }}
</div> </div>
<div class="flex items-center gap-2 flex-wrap"> <div class="flex items-center gap-2 flex-wrap">
<template v-for="tag in tags" :key="tag"> <template v-for="tag in tags" :key="tag">
@@ -52,12 +51,12 @@ withDefaults(defineProps<Props>(), {
<div class="relative group max-w-4xl mx-auto mb-12"> <div class="relative group max-w-4xl mx-auto mb-12">
<div <div
class="absolute inset-0 bg-gradient-to-tr from-violet-500/20 to-fuchsia-500/20 rounded-3xl blur-2xl opacity-0 group-hover:opacity-100 transition-opacity duration-700"></div> class="absolute inset-0 bg-linear-to-tr from-violet-500/20 to-fuchsia-500/20 rounded-3xl blur-2xl opacity-0 group-hover:opacity-100 transition-opacity duration-700"></div>
<NuxtImg <NuxtImg
:src="image || ''" :src="image || ''"
:alt="alt || ''" :alt="alt || ''"
width="1200" width="1200"
class="relative rounded-3xl shadow-2xl w-full aspect-[21/9] object-cover border border-white/20 dark:border-white/5 transition-transform duration-700 group-hover:scale-[1.01]" /> class="relative rounded-3xl shadow-2xl w-full aspect-21/9 object-cover border border-white/20 dark:border-white/5 transition-transform duration-700 group-hover:scale-[1.01]" />
</div> </div>
</header> </header>
</template> </template>

View File

@@ -2,10 +2,27 @@
const { path } = useRoute(); const { path } = useRoute();
const articles = await queryCollection("content").path(path).first(); const articles = await queryCollection("content").path(path).first();
const links = articles?.body?.toc?.links || []; interface TocLink {
id: string;
text: string;
children?: TocLink[];
}
const links = (articles?.body?.toc?.links || []) as TocLink[];
const activeId = ref(""); const activeId = ref("");
const flattenLinks = (links: TocLink[]) => {
let flat: TocLink[] = [];
links.forEach((link) => {
flat.push(link);
if (link.children) {
flat = flat.concat(flattenLinks(link.children));
}
});
return flat;
};
onMounted(() => { onMounted(() => {
const observer = new IntersectionObserver( const observer = new IntersectionObserver(
(entries) => { (entries) => {
@@ -18,7 +35,7 @@ onMounted(() => {
{ rootMargin: "-100px 0% -80% 0%" }, { rootMargin: "-100px 0% -80% 0%" },
); );
links.forEach((link) => { flattenLinks(links).forEach((link) => {
const el = document.getElementById(link.id); const el = document.getElementById(link.id);
if (el) observer.observe(el); if (el) observer.observe(el);
}); });
@@ -37,9 +54,8 @@ onMounted(() => {
Table Of Content Table Of Content
</h3> </h3>
<nav class="space-y-1"> <nav class="space-y-1">
<template v-for="link in links" :key="link.id">
<NuxtLink <NuxtLink
v-for="link in links"
:key="link.id"
:to="`#${link.id}`" :to="`#${link.id}`"
class="block text-sm py-1.5 px-3 rounded-xl transition-all duration-200" class="block text-sm py-1.5 px-3 rounded-xl transition-all duration-200"
:class="[ :class="[
@@ -49,6 +65,37 @@ onMounted(() => {
]"> ]">
{{ link.text }} {{ link.text }}
</NuxtLink> </NuxtLink>
<div v-if="link.children" class="ml-3 space-y-1">
<template v-for="child in link.children" :key="child.id">
<NuxtLink
:to="`#${child.id}`"
class="block text-xs py-1.5 px-3 rounded-xl transition-all duration-200"
:class="[
activeId === child.id
? 'text-violet-600 dark:text-violet-400 bg-violet-500/10 font-bold translate-x-1'
: 'text-zinc-500 dark:text-zinc-500 hover:text-violet-600 dark:hover:text-violet-400 hover:bg-violet-500/5',
]">
{{ child.text }}
</NuxtLink>
<div v-if="child.children" class="ml-3 space-y-1">
<NuxtLink
v-for="grandchild in child.children"
:key="grandchild.id"
:to="`#${grandchild.id}`"
class="block text-xs py-1.5 px-3 rounded-xl transition-all duration-200"
:class="[
activeId === grandchild.id
? 'text-violet-600 dark:text-violet-400 bg-violet-500/10 font-bold translate-x-1'
: 'text-zinc-400 dark:text-zinc-600 hover:text-violet-600 dark:hover:text-violet-400 hover:bg-violet-500/5',
]">
{{ grandchild.text }}
</NuxtLink>
</div>
</template>
</div>
</template>
</nav> </nav>
</div> </div>
</div> </div>

View File

@@ -1,14 +1,13 @@
<script lang="ts" setup> <script lang="ts" setup>
interface Props { interface Props {
path: string; path?: string;
title: string; title?: string;
date: string; date?: string;
description: string; description?: string;
image: string; image?: string;
alt: string; alt?: string;
ogImage: string; tags?: Array<string>;
tags: Array<string>; published?: boolean;
published: boolean;
} }
withDefaults(defineProps<Props>(), { withDefaults(defineProps<Props>(), {

View File

@@ -4,7 +4,7 @@
<template> <template>
<code <code
class="bg-violet-500/10 text-violet-600 dark:text-violet-400 px-1.5 py-0.5 rounded-md font-mono text-[0.9em]" class="bg-primary-10 text-primary dark:text-primary px-1.5 py-0.5 rounded-md font-mono text-[0.9em]"
><slot ><slot
/></code> /></code>
</template> </template>

View File

@@ -1,119 +1,159 @@
<script setup lang="ts"> <script setup lang="ts">
const props = defineProps({ /**
code: { * 代码块组件 Props 定义
type: String, */
default: "", interface Props {
}, code?: string; // 代码内容
language: { language?: string; // 编程语言
type: String, filename?: string; // 文件名
default: null, highlights?: number[]; // 需要高亮的行号
}, meta?: string; // 元数据
filename: { }
type: String,
default: null, const props = withDefaults(defineProps<Props>(), {
}, code: "",
highlights: { language: undefined,
type: Array as () => number[], filename: undefined,
default: () => [], highlights: () => [],
}, meta: undefined,
meta: {
type: String,
default: null,
},
}); });
// 剪贴板复制功能
const { copy, copied } = useClipboard({ source: props.code }); const { copy, copied } = useClipboard({ source: props.code });
// macOS 窗口控制按钮颜色配置
const WINDOW_CONTROLS = [
{ color: "#ff5f56", label: "close" },
{ color: "#ffbd2e", label: "minimize" },
{ color: "#27c93f", label: "maximize" },
] as const;
// 是否显示头部(当有文件名或语言信息时显示)
const showHeader = computed(() => props.filename || props.language);
</script> </script>
<template> <template>
<div <div
class="group relative my-6 overflow-hidden rounded-2xl border border-white/10 bg-[#282a36] shadow-2xl line-numbers"> class="relative my-6 overflow-hidden rounded-2xl border border-zinc-200 bg-zinc-50/50 shadow-sm dark:border-white/5 dark:bg-[#282a36] dark:shadow-2xl">
<!-- 代码块头部 --> <!-- 代码块头部 -->
<div <header
v-if="filename || language" v-if="showHeader"
class="flex items-center justify-between px-4 py-2 bg-black/20 border-b border-white/5"> class="flex items-center justify-between border-b border-zinc-200 bg-zinc-100/60 px-4 py-2.5 dark:border-white/5 dark:bg-white/5">
<div class="flex items-center gap-2"> <!-- 左侧窗口控制按钮 + 文件名 -->
<div class="flex gap-1.5"> <div class="flex min-w-0 items-center gap-2">
<div class="w-3 h-3 rounded-full bg-[#ff5f56] shadow-[0_0_8px_rgba(255,95,86,0.2)]"></div> <!-- macOS 风格的窗口控制按钮 -->
<div <div class="flex shrink-0 gap-1.5">
class="w-3 h-3 rounded-full bg-[#ffbd2e] shadow-[0_0_8px_rgba(255,189,46,0.2)]"></div>
<div class="w-3 h-3 rounded-full bg-[#27c93f] shadow-[0_0_8px_rgba(39,201,63,0.2)]"></div>
</div>
<span v-if="filename" class="ml-2 text-xs font-mono text-zinc-400 truncate max-w-[200px]">{{
filename
}}</span>
</div>
<div class="flex items-center gap-3">
<span <span
v-if="language" v-for="control in WINDOW_CONTROLS"
class="text-[10px] font-bold uppercase tracking-widest text-zinc-500" :key="control.label"
>{{ language }}</span :style="{ backgroundColor: control.color }"
> class="h-3 w-3 rounded-full shadow-[0_0_8px_rgba(0,0,0,0.2)]"
<!-- 复制按钮 --> :aria-label="control.label" />
<button
class="p-1.5 rounded-md hover:bg-white/10 text-zinc-400 hover:text-white transition-all duration-200 active:scale-95"
:class="{ 'text-emerald-400': copied }"
@click="copy()">
<Icon :name="copied ? 'heroicons:check' : 'heroicons:clipboard'" class="w-3.5 h-3.5" />
</button>
</div>
</div> </div>
<!-- 代码内容 --> <!-- 文件名显示 -->
<div class="relative group/code"> <span
v-if="filename"
class="ml-2 max-w-50 truncate font-mono text-xs text-zinc-600 dark:text-zinc-400">
{{ filename }}
</span>
</div>
<!-- 右侧语言标签 + 复制按钮 -->
<div class="flex shrink-0 items-center gap-3">
<!-- 编程语言标签 -->
<span
v-if="language"
class="text-[0.625rem] font-bold uppercase tracking-widest text-zinc-500 dark:text-zinc-500">
{{ language }}
</span>
<!-- 复制按钮 -->
<button
aria-label="复制代码"
class="rounded-md p-1.5 text-zinc-700 transition-all duration-200 hover:bg-gray-200/40 hover:text-zinc-900 active:scale-95 dark:text-zinc-300 dark:hover:bg-white/10 dark:hover:text-white"
:class="{ 'text-emerald-500 dark:text-emerald-400': copied }"
:title="copied ? '已复制' : '复制代码'"
@click="copy()">
<Icon :name="copied ? 'heroicons:check' : 'heroicons:clipboard'" class="h-4 w-4" />
</button>
</div>
</header>
<!-- 代码内容区域 -->
<div class="relative">
<pre <pre
class="!m-0 !bg-transparent !p-4 overflow-x-auto custom-scrollbar font-mono text-sm leading-relaxed selection:bg-violet-500/30"><slot /></pre> class="custom-scrollbar m-0! text-zinc-700 dark:text-white! overflow-x-auto bg-transparent! p-4! font-mono text-sm leading-relaxed"><slot /></pre>
</div> </div>
</div> </div>
</template> </template>
<style scoped> <style scoped>
/* 自定义滚动条样式 */
.custom-scrollbar::-webkit-scrollbar { .custom-scrollbar::-webkit-scrollbar {
height: 4px; height: 4px;
} }
.custom-scrollbar::-webkit-scrollbar-track { .custom-scrollbar::-webkit-scrollbar-track {
background: transparent; background: transparent;
} }
.custom-scrollbar::-webkit-scrollbar-thumb { .custom-scrollbar::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.05); background: rgba(0, 0, 0, 0.08);
border-radius: 10px; border-radius: 10px;
} }
.custom-scrollbar:hover::-webkit-scrollbar-thumb { .custom-scrollbar:hover::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.15);
}
:global(.dark) .custom-scrollbar::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.05);
}
:global(.dark) .custom-scrollbar:hover::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.15); background: rgba(255, 255, 255, 0.15);
} }
/* 行号实现 */ /* 行号功能 */
.line-numbers :deep(code) { :deep(code) {
counter-reset: step; counter-reset: line-number;
counter-increment: step 0;
display: grid; display: grid;
min-width: 100%; min-width: 100%;
} }
.line-numbers :deep(.line) { :deep(.line) {
display: inline-flex; display: inline-flex;
min-height: 1.5rem; min-height: 1.5rem;
} }
.line-numbers :deep(.line::before) { :deep(.line::before) {
content: counter(step); content: counter(line-number);
counter-increment: step; counter-increment: line-number;
width: 2rem; width: 2rem;
margin-right: 1.5rem; margin-right: 1.5rem;
display: inline-block; display: inline-block;
text-align: right; text-align: right;
color: rgba(255, 255, 255, 0.15); color: rgba(40, 42, 54, 0.3);
user-select: none; user-select: none;
font-size: 0.75rem; font-size: 0.75rem;
flex-shrink: 0; flex-shrink: 0;
} }
/* 高亮行样式 */ :global(.dark) :deep(.line::before) {
.line-numbers :deep(.line.highlight) { color: #6272a4 !important;
background-color: rgba(139, 92, 246, 0.1); }
/* 代码行高亮 */
:deep(.line.highlight) {
background-color: rgba(var(--site-primary-rgb), 0.12);
margin: 0 -1rem; margin: 0 -1rem;
padding: 0 1rem; padding: 0 1rem;
border-left: 2px solid #bd93f9; border-left: 2px solid var(--site-primary);
width: calc(100% + 2rem); width: calc(100% + 2rem);
} }
:global(.dark) :deep(.line.highlight) {
background-color: rgba(var(--site-primary-rgb), 0.08);
}
</style> </style>

View File

@@ -4,7 +4,7 @@
<template v-for="link in links" :key="link.url"> <template v-for="link in links" :key="link.url">
<NuxtLink <NuxtLink
:to="link.url" :to="link.url"
class="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-white/40 backdrop-blur-md border border-white/40 text-zinc-700 text-sm font-semibold transition-all duration-300 hover:bg-white/60 hover:border-white/60 hover:text-violet-600 hover:-translate-y-1 hover:shadow-lg dark:bg-slate-800/40 dark:border-white/10 dark:text-zinc-300 dark:hover:bg-slate-800/60 dark:hover:text-white"> class="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-white/40 backdrop-blur-md border border-white/40 text-zinc-700 text-sm font-semibold transition-all duration-300 hover:bg-white/60 hover:border-white/60 hover-text-primary hover:-translate-y-1 hover:shadow-lg dark:bg-slate-800/40 dark:border-white/10 dark:text-zinc-300 dark:hover:bg-slate-800/60 dark:hover:text-white">
<span v-if="iconFor(link)" class="inline-flex items-center justify-center w-5 h-5"> <span v-if="iconFor(link)" class="inline-flex items-center justify-center w-5 h-5">
<Icon <Icon
v-if="iconFor(link).name" v-if="iconFor(link).name"

View File

@@ -39,11 +39,8 @@ const versions = computed(() => {
<section class="py-12 px-4"> <section class="py-12 px-4">
<div class="max-w-xl mx-auto"> <div class="max-w-xl mx-auto">
<div class="flex items-center gap-3 mb-6"> <div class="flex items-center gap-3 mb-6">
<div class="p-2 bg-violet-500/10 rounded-lg"> <div class="p-2 bg-primary-10 rounded-lg">
<Icon <Icon name="heroicons:cpu-chip" size="1.5em" class="text-primary" />
name="heroicons:cpu-chip"
size="1.5em"
class="text-violet-600 dark:text-violet-400" />
</div> </div>
<h2 class="text-2xl font-bold text-zinc-800 dark:text-zinc-100 tracking-tight">技术信息</h2> <h2 class="text-2xl font-bold text-zinc-800 dark:text-zinc-100 tracking-tight">技术信息</h2>
</div> </div>
@@ -63,7 +60,7 @@ const versions = computed(() => {
<Icon <Icon
v-if="item.icon" v-if="item.icon"
:name="item.icon" :name="item.icon"
class="w-4 h-4 text-zinc-400 group-hover:text-violet-500 transition-colors" /> class="w-4 h-4 text-zinc-400 group-text-primary transition-colors" />
<span class="text-zinc-800 dark:text-zinc-200 text-sm font-bold">{{ <span class="text-zinc-800 dark:text-zinc-200 text-sm font-bold">{{
item.value item.value
}}</span> }}</span>

View File

@@ -88,7 +88,6 @@ const fetchHitokoto = async () => {
try { try {
const resp = await fetch(buildHitokotoUrl()); const resp = await fetch(buildHitokotoUrl());
const data = await resp.json(); const data = await resp.json();
console.log(data);
quote.value = data.hitokoto || ""; quote.value = data.hitokoto || "";
from.value = data.from || ""; from.value = data.from || "";
fromWho.value = data.from_who || ""; fromWho.value = data.from_who || "";

View File

@@ -17,12 +17,23 @@ function isActive(path: string) {
<div class="flex justify-center px-6 container max-w-5xl mx-auto items-center h-full"> <div class="flex justify-center px-6 container max-w-5xl mx-auto items-center h-full">
<nav class="items-center"> <nav class="items-center">
<div <div
class="inline-flex items-center gap-3 bg-white/50 dark:bg-slate-900/50 backdrop-blur-xl shadow-[0_4px_20px_-2px_rgba(0,0,0,0.1)] border border-white/40 dark:border-white/5 rounded-full px-3 py-2 transition-all duration-300 hover:shadow-xl"> class="inline-flex items-center gap-3 bg-white/70 dark:bg-slate-900/50 backdrop-blur-xl shadow-[0_4px_20px_-2px_rgba(0,0,0,0.1)] border border-zinc-200/50 dark:border-white/5 rounded-full px-3 py-2 transition-all duration-300 hover:shadow-xl">
<div class="hidden sm:flex items-center justify-center h-8 w-8 rounded-full bg-white/0"> <div class="hidden sm:flex items-center justify-center h-8 w-8 rounded-full bg-white/0">
<NuxtLink <NuxtLink
to="/" to="/"
class="relative rounded-full hover:bg-violet-400/40 dark:hover:bg-violet-200/40 p-1"> class="relative rounded-full p-1"
<Icon name="fa-solid:cat" size="16" class="text-zinc-700 dark:text-zinc-200" /> :class="{
'shadow-md dark:shadow-sm dark:shadow-zinc-50 scale-105': isActive('/'),
'hover:bg-violet-400/40 dark:hover:bg-violet/10': !isActive('/'),
}">
<Icon
name="fa-solid:cat"
size="16"
class="text-zinc-700 dark:text-zinc-200"
:class="{
'shadow-sm scale-105 font-bold': isActive('/'),
'hover:bg-violet-400/40 dark:hover:bg-violet/10': !isActive('/'),
}" />
</NuxtLink> </NuxtLink>
</div> </div>
@@ -30,17 +41,14 @@ function isActive(path: string) {
<li v-for="link in siteConfig.navbar.links" :key="link.path"> <li v-for="link in siteConfig.navbar.links" :key="link.path">
<NuxtLink <NuxtLink
:to="link.path" :to="link.path"
class="relative px-2 py-1 rounded-full transition-all duration-200 flex items-center" class="relative px-2 py-1 rounded-full transition-all duration-200 flex items-center text-zinc-700 dark:text-zinc-200"
:class="{ :class="{
'bg-gradient-to-r from-violet-500/80 to-fuchsia-500/80 text-white shadow-md scale-105': 'shadow-md dark:shadow-sm dark:shadow-zinc-50 scale-105 font-bold': isActive(
isActive(link.path), link.path,
'hover:bg-white/50 dark:hover:bg-white/10': !isActive(link.path), ),
'hover:bg-violet-400/40 dark:hover:bg-violet/10': !isActive(link.path),
}"> }">
<Icon <Icon v-if="link.icon" :name="link.icon" size="16" class="mr-2" />
v-if="link.icon"
:name="link.icon"
size="16"
class="text-zinc-700 dark:text-zinc-200 mr-2" />
<span class="hidden sm:inline-block px-auto">{{ link.name }}</span> <span class="hidden sm:inline-block px-auto">{{ link.name }}</span>
<span class="sm:hidden">{{ link.name }}</span> <span class="sm:hidden">{{ link.name }}</span>
</NuxtLink> </NuxtLink>
@@ -54,9 +62,9 @@ function isActive(path: string) {
class="relative h-9 w-9 rounded-full bg-white/20 dark:bg-white/5 flex items-center justify-center transition-all duration-300 hover:scale-110 hover:bg-white/40 dark:hover:bg-white/10 focus:outline-none shadow-sm border border-white/20" class="relative h-9 w-9 rounded-full bg-white/20 dark:bg-white/5 flex items-center justify-center transition-all duration-300 hover:scale-110 hover:bg-white/40 dark:hover:bg-white/10 focus:outline-none shadow-sm border border-white/20"
@click="onClick(colorMode.value === 'light' ? 'dark' : 'light')"> @click="onClick(colorMode.value === 'light' ? 'dark' : 'light')">
<Icon <Icon
name="fa-regular:sun" name="fa-regular:moon"
size="18" size="18"
class="icon-svg transition-all duration-300 text-yellow-400" class="icon-svg transition-all duration-300 text-zinc-700 dark:text-white-200"
:class=" :class="
colorMode.value === 'light' colorMode.value === 'light'
? 'opacity-100 scale-100' ? 'opacity-100 scale-100'
@@ -64,9 +72,9 @@ function isActive(path: string) {
" /> " />
<Icon <Icon
name="fa-regular:moon" name="fa-regular:sun"
size="18" size="18"
class="icon-svg absolute transition-all duration-300 text-indigo-200" class="icon-svg absolute transition-all duration-300 text-yellow-400"
:class=" :class="
colorMode.value === 'dark' colorMode.value === 'dark'
? 'opacity-100 scale-100' ? 'opacity-100 scale-100'

View File

@@ -11,7 +11,7 @@ import SocialLinks from "./SocialLinks.vue";
<div class="mb-8"> <div class="mb-8">
<div class="relative h-32 w-32 group"> <div class="relative h-32 w-32 group">
<div <div
class="absolute inset-0 bg-gradient-to-tr from-violet-500 to-fuchsia-500 rounded-full blur-xl opacity-30 group-hover:opacity-50 transition-opacity duration-500"></div> class="absolute inset-0 bg-primary-gradient rounded-full blur-xl opacity-30 group-hover:opacity-50 transition-opacity duration-500"></div>
<NuxtImg <NuxtImg
:src="siteConfig.profile.avatar" :src="siteConfig.profile.avatar"
alt="avatar" alt="avatar"
@@ -28,8 +28,7 @@ import SocialLinks from "./SocialLinks.vue";
</h1> </h1>
<div class="mt-4 flex justify-center"> <div class="mt-4 flex justify-center">
<div <div class="h-1 w-12 bg-primary-gradient-r rounded-full opacity-60"></div>
class="h-1 w-12 bg-gradient-to-r from-violet-500 to-fuchsia-500 rounded-full opacity-60"></div>
</div> </div>
<p <p

View File

@@ -33,7 +33,6 @@ const formattedData = computed(() => {
description: articles.description || "no-description available", description: articles.description || "no-description available",
image: meta.image || "/not-found.jpg", image: meta.image || "/not-found.jpg",
alt: meta.alt || "no alter data available", alt: meta.alt || "no alter data available",
ogImage: meta.ogImage || "/not-found.jpg",
date: meta.date || "not-date-available", date: meta.date || "not-date-available",
tags: meta.tags || [], tags: meta.tags || [],
published: meta.published || false, published: meta.published || false,
@@ -57,11 +56,8 @@ useHead({
<section class="pb-10 px-4"> <section class="pb-10 px-4">
<div class="flex flex-row items-center justify-between pt-10 pb-6"> <div class="flex flex-row items-center justify-between pt-10 pb-6">
<div class="flex items-center space-x-3"> <div class="flex items-center space-x-3">
<div class="p-2 bg-violet-500/10 rounded-lg"> <div class="p-2 bg-primary-10 rounded-lg">
<Icon <Icon name="mdi:star-three-points-outline" size="1.5em" class="text-primary" />
name="mdi:star-three-points-outline"
size="1.5em"
class="text-violet-600 dark:text-violet-400" />
</div> </div>
<h2 class="text-3xl font-bold text-zinc-800 dark:text-zinc-100 tracking-tight"> <h2 class="text-3xl font-bold text-zinc-800 dark:text-zinc-100 tracking-tight">
Recent Posts Recent Posts
@@ -69,7 +65,7 @@ useHead({
</div> </div>
<NuxtLink <NuxtLink
to="/blogs" to="/blogs"
class="group flex items-center gap-1 text-sm font-semibold text-violet-600 dark:text-violet-400 hover:text-violet-700 transition-colors"> class="group flex items-center gap-1 text-sm font-semibold text-primary hover-text-primary transition-colors">
查看全部文章 查看全部文章
<Icon <Icon
name="heroicons:arrow-right-20-solid" name="heroicons:arrow-right-20-solid"
@@ -88,7 +84,6 @@ useHead({
:description="post.description" :description="post.description"
:image="post.image" :image="post.image"
:alt="post.alt" :alt="post.alt"
:og-image="post.ogImage"
:tags="post.tags" :tags="post.tags"
:published="post.published" /> :published="post.published" />
</div> </div>

View File

@@ -40,6 +40,7 @@ const siteConfig = {
theme: { theme: {
background: "/background.webp", background: "/background.webp",
backgroundMobile: "", backgroundMobile: "",
color: "#bd83f3",
}, },
footer: { footer: {

View File

@@ -1,6 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import type { BlogPost } from "@/types/blog"; import type { BlogPost } from "@/types/blog";
import { seoData } from "~/data"; import { seoData } from "~/data";
import { formatDate } from "~/utils/helper";
const { path } = useRoute(); const { path } = useRoute();
@@ -53,7 +54,7 @@ useHead({
:title="data.title" :title="data.title"
:image="data.image" :image="data.image"
:alt="data.alt" :alt="data.alt"
:date="data.date" :date="formatDate(articles.date)"
:description="data.description" :description="data.description"
:tags="data.tags" /> :tags="data.tags" />
<div <div

View File

@@ -8,7 +8,6 @@
<div class="relative"> <div class="relative">
<div class="container max-w-5xl mx-auto text-zinc-600 px-4 py-8 relative z-10"> <div class="container max-w-5xl mx-auto text-zinc-600 px-4 py-8 relative z-10">
<MainRecent /> <MainRecent />
<MainTechInfo />
</div> </div>
</div> </div>
</main> </main>

View File

@@ -31,8 +31,7 @@ const formattedData = computed(() => {
description: articles.description || "no-description available", description: articles.description || "no-description available",
image: meta.image || "/blogs-img/blog.jpg", image: meta.image || "/blogs-img/blog.jpg",
alt: meta.alt || "no alter data available", alt: meta.alt || "no alter data available",
ogImage: meta.ogImage || "/blogs-img/blog.jpg", date: formatDate(articles.date) || "not-date-available",
date: meta.date || "not-date-available",
tags: meta.tags || [], tags: meta.tags || [],
published: meta.published || false, published: meta.published || false,
}; };
@@ -65,12 +64,12 @@ defineOgImage({
<div class="flex flex-col items-center mb-12"> <div class="flex flex-col items-center mb-12">
<NuxtLink <NuxtLink
to="/tags" to="/tags"
class="flex items-center gap-2 text-sm font-bold text-violet-600 dark:text-violet-400 hover:underline mb-4"> class="flex items-center gap-2 text-sm font-bold text-primary hover:underline mb-4">
<Icon name="heroicons:arrow-left-20-solid" /> <Icon name="heroicons:arrow-left-20-solid" />
Back to all tags Back to all tags
</NuxtLink> </NuxtLink>
<div class="p-3 bg-violet-500/10 rounded-2xl mb-4"> <div class="p-3 bg-primary-10 rounded-2xl mb-4">
<Icon name="fa-solid:tag" size="2.5em" class="text-violet-600 dark:text-violet-400" /> <Icon name="fa-solid:tag" size="2.5em" class="text-primary" />
</div> </div>
<h1 <h1
class="text-4xl md:text-5xl font-bold text-zinc-800 dark:text-zinc-100 mb-4 tracking-tight"> class="text-4xl md:text-5xl font-bold text-zinc-800 dark:text-zinc-100 mb-4 tracking-tight">
@@ -91,7 +90,6 @@ defineOgImage({
:description="post.description" :description="post.description"
:image="post.image" :image="post.image"
:alt="post.alt" :alt="post.alt"
:og-image="post.ogImage"
:tags="post.tags" :tags="post.tags"
:published="post.published" /> :published="post.published" />
<BlogEmpty v-if="formattedData.length === 0" /> <BlogEmpty v-if="formattedData.length === 0" />

View File

@@ -41,8 +41,8 @@ defineOgImage({
<template> <template>
<main class="container max-w-5xl mx-auto text-zinc-600 px-4 py-12"> <main class="container max-w-5xl mx-auto text-zinc-600 px-4 py-12">
<div class="flex flex-col items-center mb-12"> <div class="flex flex-col items-center mb-12">
<div class="p-3 bg-violet-500/10 rounded-2xl mb-4"> <div class="p-3 bg-primary-10 rounded-2xl mb-4">
<Icon name="fa-solid:tags" size="2.5em" class="text-violet-600 dark:text-violet-400" /> <Icon name="fa-solid:tags" size="2.5em" class="text-primary" />
</div> </div>
<h1 <h1
class="text-4xl md:text-5xl font-bold text-zinc-800 dark:text-zinc-100 mb-4 tracking-tight"> class="text-4xl md:text-5xl font-bold text-zinc-800 dark:text-zinc-100 mb-4 tracking-tight">
@@ -60,11 +60,11 @@ defineOgImage({
:to="`/tags/${tag.toLocaleLowerCase()}`" :to="`/tags/${tag.toLocaleLowerCase()}`"
class="group relative flex items-center gap-2 px-6 py-3 rounded-2xl bg-white/40 dark:bg-slate-900/40 backdrop-blur-md border border-white/20 dark:border-white/5 shadow-sm hover:shadow-xl hover:-translate-y-1 transition-all duration-300"> class="group relative flex items-center gap-2 px-6 py-3 rounded-2xl bg-white/40 dark:bg-slate-900/40 backdrop-blur-md border border-white/20 dark:border-white/5 shadow-sm hover:shadow-xl hover:-translate-y-1 transition-all duration-300">
<span <span
class="text-lg font-bold text-zinc-700 dark:text-zinc-200 group-hover:text-violet-600 dark:group-hover:text-violet-400 transition-colors"> class="text-lg font-bold text-zinc-700 dark:text-zinc-200 group-text-primary transition-colors">
#{{ tag }} #{{ tag }}
</span> </span>
<span <span
class="flex items-center justify-center min-w-[24px] h-6 px-1.5 rounded-full bg-violet-500/10 text-violet-600 dark:text-violet-400 text-xs font-bold border border-violet-500/20"> class="flex items-center justify-center min-w-6 h-6 px-1.5 rounded-full bg-primary-10 text-primary dark:text-primary text-xs font-bold border border-primary">
{{ count }} {{ count }}
</span> </span>
</NuxtLink> </NuxtLink>

View File

@@ -16,9 +16,11 @@ export function makeFirstCharUpper(str: string): string {
* @returns The formatted date string. * @returns The formatted date string.
*/ */
export function formatDate(dateString: string): string { export function formatDate(dateString: string): string {
if (!dateString) return "";
const date = new Date(dateString); const date = new Date(dateString);
if (Number.isNaN(date.getTime())) return "";
const year = date.getFullYear(); const year = date.getFullYear();
const month = date.getMonth() + 1; const month = String(date.getMonth() + 1).padStart(2, "0");
const day = date.getDate(); const day = String(date.getDate()).padStart(2, "0");
return `${year}${month}${day}`; return `${year}-${month}-${day}`;
} }

158
bun.lock
View File

@@ -5,43 +5,45 @@
"": { "": {
"name": "cloud-blog", "name": "cloud-blog",
"dependencies": { "dependencies": {
"@formkit/auto-animate": "^0.9.0", "@chinese-fonts/maple-mono-cn": "^2.0.0",
"@nuxt/content": "^3.8.2", "@formkit/auto-animate": "0.9.0",
"@nuxt/fonts": "^0.12.1", "@nuxt/content": "3.8.2",
"@nuxt/icon": "^2.1.1", "@nuxt/fonts": "0.12.1",
"@nuxt/image": "^2.0.0", "@nuxt/icon": "2.1.1",
"@nuxtjs/color-mode": "^4.0.0", "@nuxt/image": "2.0.0",
"@nuxtjs/robots": "^5.6.7", "@nuxtjs/color-mode": "4.0.0",
"@nuxtjs/sitemap": "^7.5.0", "@nuxtjs/robots": "5.6.7",
"feed": "^5.1.0", "@nuxtjs/sitemap": "7.5.0",
"nuxt": "^4.2.2", "feed": "5.1.0",
"nuxt-og-image": "^5.1.13", "nuxt": "4.2.2",
"vue": "^3.5.26", "nuxt-og-image": "5.1.13",
"vue": "3.5.26",
}, },
"devDependencies": { "devDependencies": {
"@iconify-json/fa": "^1.2.2", "@iconify-json/fa": "1.2.2",
"@iconify-json/fa-brands": "^1.2.2", "@iconify-json/fa-brands": "1.2.2",
"@iconify-json/fa-solid": "^1.2.2", "@iconify-json/fa-regular": "^1.2.2",
"@iconify-json/heroicons": "^1.2.3", "@iconify-json/fa-solid": "1.2.2",
"@iconify-json/heroicons-outline": "^1.2.1", "@iconify-json/heroicons": "1.2.3",
"@iconify-json/mdi": "^1.2.3", "@iconify-json/heroicons-outline": "1.2.1",
"@iconify-json/noto": "^1.2.7", "@iconify-json/mdi": "1.2.3",
"@iconify-json/simple-icons": "^1.2.63", "@iconify-json/noto": "1.2.7",
"@iconify-json/svg-spinners": "^1.2.4", "@iconify-json/simple-icons": "1.2.63",
"@nuxt/eslint": "^1.12.1", "@iconify-json/svg-spinners": "1.2.4",
"@tailwindcss/forms": "^0.5.11", "@nuxt/eslint": "1.12.1",
"@tailwindcss/postcss": "^4.1.18", "@tailwindcss/forms": "0.5.11",
"@tailwindcss/typography": "^0.5.19", "@tailwindcss/postcss": "4.1.18",
"@tailwindcss/vite": "^4.1.18", "@tailwindcss/typography": "0.5.19",
"@vueuse/core": "^14.1.0", "@tailwindcss/vite": "4.1.18",
"@vueuse/nuxt": "^14.1.0", "@vueuse/core": "14.1.0",
"eslint": "^9.39.2", "@vueuse/nuxt": "14.1.0",
"eslint-config-prettier": "^10.1.8", "eslint": "9.39.2",
"eslint-plugin-prettier": "^5.5.4", "eslint-config-prettier": "10.1.8",
"postcss": "^8.5.6", "eslint-plugin-prettier": "5.5.4",
"prettier": "^3.7.4", "postcss": "8.5.6",
"tailwindcss": "^4.1.18", "prettier": "3.7.4",
"typescript": "^5.9.3", "tailwindcss": "4.1.18",
"typescript": "5.9.3",
}, },
}, },
}, },
@@ -108,6 +110,8 @@
"@capsizecss/unpack": ["@capsizecss/unpack@3.0.1", "", { "dependencies": { "fontkit": "^2.0.2" } }, "sha512-8XqW8xGn++Eqqbz3e9wKuK7mxryeRjs4LOHLxbh2lwKeSbuNR4NFifDZT4KzvjU6HMOPbiNTsWpniK5EJfTWkg=="], "@capsizecss/unpack": ["@capsizecss/unpack@3.0.1", "", { "dependencies": { "fontkit": "^2.0.2" } }, "sha512-8XqW8xGn++Eqqbz3e9wKuK7mxryeRjs4LOHLxbh2lwKeSbuNR4NFifDZT4KzvjU6HMOPbiNTsWpniK5EJfTWkg=="],
"@chinese-fonts/maple-mono-cn": ["@chinese-fonts/maple-mono-cn@2.0.0", "", {}, "sha512-DrPvr2/SjeGBtOspkJY6ygFlPnltCCJlmZIgVbupHp3tvxBrIjBz8aIT1obCxqz61cJP9eNU977tse7c8NiLZw=="],
"@clack/core": ["@clack/core@0.5.0", "https://npmreg.proxy.ustclug.org/@clack/core/-/core-0.5.0.tgz", { "dependencies": { "picocolors": "1.1.1", "sisteransi": "1.0.5" } }, "sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow=="], "@clack/core": ["@clack/core@0.5.0", "https://npmreg.proxy.ustclug.org/@clack/core/-/core-0.5.0.tgz", { "dependencies": { "picocolors": "1.1.1", "sisteransi": "1.0.5" } }, "sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow=="],
"@clack/prompts": ["@clack/prompts@0.11.0", "https://npmreg.proxy.ustclug.org/@clack/prompts/-/prompts-0.11.0.tgz", { "dependencies": { "@clack/core": "0.5.0", "picocolors": "1.1.1", "sisteransi": "1.0.5" } }, "sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw=="], "@clack/prompts": ["@clack/prompts@0.11.0", "https://npmreg.proxy.ustclug.org/@clack/prompts/-/prompts-0.11.0.tgz", { "dependencies": { "@clack/core": "0.5.0", "picocolors": "1.1.1", "sisteransi": "1.0.5" } }, "sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw=="],
@@ -220,6 +224,8 @@
"@iconify-json/fa-brands": ["@iconify-json/fa-brands@1.2.2", "https://npmreg.proxy.ustclug.org/@iconify-json/fa-brands/-/fa-brands-1.2.2.tgz", { "dependencies": { "@iconify/types": "2.0.0" } }, "sha512-Aze0j7l95gmOLdeC4L+8MvvpN3+QmAVk9IuTJN170zYH5I7jS0jGSIMFsf0KE8vGbG8jPpXkmmDq7qQU8Rymnw=="], "@iconify-json/fa-brands": ["@iconify-json/fa-brands@1.2.2", "https://npmreg.proxy.ustclug.org/@iconify-json/fa-brands/-/fa-brands-1.2.2.tgz", { "dependencies": { "@iconify/types": "2.0.0" } }, "sha512-Aze0j7l95gmOLdeC4L+8MvvpN3+QmAVk9IuTJN170zYH5I7jS0jGSIMFsf0KE8vGbG8jPpXkmmDq7qQU8Rymnw=="],
"@iconify-json/fa-regular": ["@iconify-json/fa-regular@1.2.2", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-OxxofoXzGCJ2lZcQAuNRTySdrc25k/x/wG8+uoVWx/k/xyuJmP2D/Fm2JJt8g2l7iZRmo6axbpUWnhkAeW/YXg=="],
"@iconify-json/fa-solid": ["@iconify-json/fa-solid@1.2.2", "https://npmreg.proxy.ustclug.org/@iconify-json/fa-solid/-/fa-solid-1.2.2.tgz", { "dependencies": { "@iconify/types": "2.0.0" } }, "sha512-V8TDk62dGswAwbWwoSTnaoiTVEfQyjLCq4/TPmI29evFb9GwPyU0OGX4+BdQMGsDDzk8ByR81RjR618FtELSaw=="], "@iconify-json/fa-solid": ["@iconify-json/fa-solid@1.2.2", "https://npmreg.proxy.ustclug.org/@iconify-json/fa-solid/-/fa-solid-1.2.2.tgz", { "dependencies": { "@iconify/types": "2.0.0" } }, "sha512-V8TDk62dGswAwbWwoSTnaoiTVEfQyjLCq4/TPmI29evFb9GwPyU0OGX4+BdQMGsDDzk8ByR81RjR618FtELSaw=="],
"@iconify-json/heroicons": ["@iconify-json/heroicons@1.2.3", "https://npmreg.proxy.ustclug.org/@iconify-json/heroicons/-/heroicons-1.2.3.tgz", { "dependencies": { "@iconify/types": "2.0.0" } }, "sha512-n+vmCEgTesRsOpp5AB5ILB6srsgsYK+bieoQBNlafvoEhjVXLq8nIGN4B0v/s4DUfa0dOrjwE/cKJgIKdJXOEg=="], "@iconify-json/heroicons": ["@iconify-json/heroicons@1.2.3", "https://npmreg.proxy.ustclug.org/@iconify-json/heroicons/-/heroicons-1.2.3.tgz", { "dependencies": { "@iconify/types": "2.0.0" } }, "sha512-n+vmCEgTesRsOpp5AB5ILB6srsgsYK+bieoQBNlafvoEhjVXLq8nIGN4B0v/s4DUfa0dOrjwE/cKJgIKdJXOEg=="],
@@ -332,7 +338,7 @@
"@nuxt/cli": ["@nuxt/cli@3.31.3", "https://npmreg.proxy.ustclug.org/@nuxt/cli/-/cli-3.31.3.tgz", { "dependencies": { "@bomb.sh/tab": "0.0.10", "@clack/prompts": "1.0.0-alpha.8", "c12": "3.3.3", "citty": "0.1.6", "confbox": "0.2.2", "consola": "3.4.2", "copy-paste": "2.2.0", "debug": "4.4.3", "defu": "6.1.4", "exsolve": "1.0.8", "fuse.js": "7.1.0", "giget": "2.0.0", "jiti": "2.6.1", "listhen": "1.9.0", "nypm": "0.6.2", "ofetch": "1.5.1", "ohash": "2.0.11", "pathe": "2.0.3", "perfect-debounce": "2.0.0", "pkg-types": "2.3.0", "scule": "1.3.0", "semver": "7.7.3", "srvx": "0.9.8", "std-env": "3.10.0", "tinyexec": "1.0.2", "ufo": "1.6.1", "youch": "4.1.0-beta.13" }, "bin": { "nuxi": "bin/nuxi.mjs", "nuxi-ng": "bin/nuxi.mjs", "nuxt": "bin/nuxi.mjs", "nuxt-cli": "bin/nuxi.mjs" } }, "sha512-K0T1ZpBXnlb41NU/RWf1F0U0C14KzlEXCoaSgD2y8BiLoCBWcgQ1UAlRtx4cThqWbJmIxaNZZTDL0NZ9d1U7ag=="], "@nuxt/cli": ["@nuxt/cli@3.31.3", "https://npmreg.proxy.ustclug.org/@nuxt/cli/-/cli-3.31.3.tgz", { "dependencies": { "@bomb.sh/tab": "0.0.10", "@clack/prompts": "1.0.0-alpha.8", "c12": "3.3.3", "citty": "0.1.6", "confbox": "0.2.2", "consola": "3.4.2", "copy-paste": "2.2.0", "debug": "4.4.3", "defu": "6.1.4", "exsolve": "1.0.8", "fuse.js": "7.1.0", "giget": "2.0.0", "jiti": "2.6.1", "listhen": "1.9.0", "nypm": "0.6.2", "ofetch": "1.5.1", "ohash": "2.0.11", "pathe": "2.0.3", "perfect-debounce": "2.0.0", "pkg-types": "2.3.0", "scule": "1.3.0", "semver": "7.7.3", "srvx": "0.9.8", "std-env": "3.10.0", "tinyexec": "1.0.2", "ufo": "1.6.1", "youch": "4.1.0-beta.13" }, "bin": { "nuxi": "bin/nuxi.mjs", "nuxi-ng": "bin/nuxi.mjs", "nuxt": "bin/nuxi.mjs", "nuxt-cli": "bin/nuxi.mjs" } }, "sha512-K0T1ZpBXnlb41NU/RWf1F0U0C14KzlEXCoaSgD2y8BiLoCBWcgQ1UAlRtx4cThqWbJmIxaNZZTDL0NZ9d1U7ag=="],
"@nuxt/content": ["@nuxt/content@3.10.0", "https://npmreg.proxy.ustclug.org/@nuxt/content/-/content-3.10.0.tgz", { "dependencies": { "@nuxt/kit": "4.2.2", "@nuxtjs/mdc": "0.19.2", "@shikijs/langs": "3.20.0", "@sqlite.org/sqlite-wasm": "3.50.4-build1", "@standard-schema/spec": "1.1.0", "@webcontainer/env": "1.1.1", "c12": "3.3.3", "chokidar": "5.0.0", "consola": "3.4.2", "db0": "0.3.4", "defu": "6.1.4", "destr": "2.0.5", "git-url-parse": "16.1.0", "hookable": "5.5.3", "isomorphic-git": "1.36.1", "jiti": "2.6.1", "json-schema-to-typescript": "15.0.4", "knitwork": "1.3.0", "mdast-util-to-hast": "13.2.1", "mdast-util-to-string": "4.0.0", "micromark": "4.0.2", "micromark-util-character": "2.1.1", "micromark-util-chunked": "2.0.1", "micromark-util-resolve-all": "2.0.1", "micromark-util-sanitize-uri": "2.0.1", "micromatch": "4.0.8", "minimark": "0.2.0", "minimatch": "10.1.1", "nuxt-component-meta": "0.16.0", "nypm": "0.6.2", "ohash": "2.0.11", "pathe": "2.0.3", "pkg-types": "2.3.0", "remark-mdc": "3.10.0", "scule": "1.3.0", "shiki": "3.20.0", "slugify": "1.6.6", "socket.io-client": "4.8.3", "std-env": "3.10.0", "tinyglobby": "0.2.15", "ufo": "1.6.1", "unctx": "2.5.0", "unified": "11.0.5", "unist-util-stringify-position": "4.0.0", "unist-util-visit": "5.0.0", "unplugin": "2.3.11", "zod": "3.25.76", "zod-to-json-schema": "3.25.1" }, "optionalDependencies": { "better-sqlite3": "12.5.0" } }, "sha512-UGXSfqyqhTW641GluCQDx2G8GFo/F37R9cywatgvujjnu1LAx1h1/pRORzNzpbKXj4t+tAZD5EIU0jGOJNkRZA=="], "@nuxt/content": ["@nuxt/content@3.8.2", "", { "dependencies": { "@nuxt/kit": "^4.2.1", "@nuxtjs/mdc": "^0.18.3", "@shikijs/langs": "^3.15.0", "@sqlite.org/sqlite-wasm": "3.50.4-build1", "@standard-schema/spec": "^1.0.0", "@webcontainer/env": "^1.1.1", "c12": "^3.3.2", "chokidar": "^4.0.3", "consola": "^3.4.2", "db0": "^0.3.4", "defu": "^6.1.4", "destr": "^2.0.5", "git-url-parse": "^16.1.0", "hookable": "^5.5.3", "jiti": "^2.6.1", "json-schema-to-typescript": "^15.0.4", "knitwork": "^1.2.0", "mdast-util-to-hast": "^13.2.0", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.2", "micromark-util-character": "^2.1.1", "micromark-util-chunked": "^2.0.1", "micromark-util-resolve-all": "^2.0.1", "micromark-util-sanitize-uri": "^2.0.1", "micromatch": "^4.0.8", "minimark": "^0.2.0", "minimatch": "^10.1.1", "modern-tar": "^0.7.0", "nuxt-component-meta": "0.14.2", "nypm": "^0.6.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.3.0", "remark-mdc": "^3.8.1", "scule": "^1.3.0", "shiki": "^3.15.0", "slugify": "^1.6.6", "socket.io-client": "^4.8.1", "std-env": "^3.10.0", "tinyglobby": "^0.2.15", "ufo": "^1.6.1", "unctx": "^2.4.1", "unified": "^11.0.5", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.0.0", "unplugin": "^2.3.10", "zod": "^3.25.76", "zod-to-json-schema": "^3.24.6" }, "peerDependencies": { "@electric-sql/pglite": "*", "@libsql/client": "*", "@valibot/to-json-schema": "^1.3.0", "better-sqlite3": "^12.4.1", "sqlite3": "*", "valibot": "^1.1.0" }, "optionalPeers": ["@electric-sql/pglite", "@libsql/client", "@valibot/to-json-schema", "better-sqlite3", "sqlite3", "valibot"] }, "sha512-bqqS2bTpkmLJDCCU3GuApBQBa6BlHuT7OW9GGoTEZ14evilwjlKSLlFNRYKIyS3Ua4L+GXz7Its7pLbXe+nW5w=="],
"@nuxt/devalue": ["@nuxt/devalue@2.0.2", "https://npmreg.proxy.ustclug.org/@nuxt/devalue/-/devalue-2.0.2.tgz", {}, "sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA=="], "@nuxt/devalue": ["@nuxt/devalue@2.0.2", "https://npmreg.proxy.ustclug.org/@nuxt/devalue/-/devalue-2.0.2.tgz", {}, "sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA=="],
@@ -366,7 +372,7 @@
"@nuxtjs/color-mode": ["@nuxtjs/color-mode@4.0.0", "https://npmreg.proxy.ustclug.org/@nuxtjs/color-mode/-/color-mode-4.0.0.tgz", { "dependencies": { "@nuxt/kit": "4.2.2", "exsolve": "1.0.8", "pathe": "2.0.3", "pkg-types": "2.3.0", "semver": "7.7.3" } }, "sha512-xyaVR/TPLdMuRa2VOgH6b75jvmFEsn9QKL6ISldaAw38ooFJfWY1ts2F3ye43wcT/goCbcuvPuskF2f8yUZhlw=="], "@nuxtjs/color-mode": ["@nuxtjs/color-mode@4.0.0", "https://npmreg.proxy.ustclug.org/@nuxtjs/color-mode/-/color-mode-4.0.0.tgz", { "dependencies": { "@nuxt/kit": "4.2.2", "exsolve": "1.0.8", "pathe": "2.0.3", "pkg-types": "2.3.0", "semver": "7.7.3" } }, "sha512-xyaVR/TPLdMuRa2VOgH6b75jvmFEsn9QKL6ISldaAw38ooFJfWY1ts2F3ye43wcT/goCbcuvPuskF2f8yUZhlw=="],
"@nuxtjs/mdc": ["@nuxtjs/mdc@0.19.2", "https://npmreg.proxy.ustclug.org/@nuxtjs/mdc/-/mdc-0.19.2.tgz", { "dependencies": { "@nuxt/kit": "4.2.2", "@shikijs/core": "3.20.0", "@shikijs/langs": "3.20.0", "@shikijs/themes": "3.20.0", "@shikijs/transformers": "3.20.0", "@types/hast": "3.0.4", "@types/mdast": "4.0.4", "@vue/compiler-core": "3.5.26", "consola": "3.4.2", "debug": "4.4.3", "defu": "6.1.4", "destr": "2.0.5", "detab": "3.0.2", "github-slugger": "2.0.0", "hast-util-format": "1.1.0", "hast-util-to-mdast": "10.1.2", "hast-util-to-string": "3.0.1", "mdast-util-to-hast": "13.2.1", "micromark-util-sanitize-uri": "2.0.1", "parse5": "8.0.0", "pathe": "2.0.3", "property-information": "7.1.0", "rehype-external-links": "3.0.0", "rehype-minify-whitespace": "6.0.2", "rehype-raw": "7.0.0", "rehype-remark": "10.0.1", "rehype-slug": "6.0.0", "rehype-sort-attribute-values": "5.0.1", "rehype-sort-attributes": "5.0.1", "remark-emoji": "5.0.2", "remark-gfm": "4.0.1", "remark-mdc": "3.10.0", "remark-parse": "11.0.0", "remark-rehype": "11.1.2", "remark-stringify": "11.0.0", "scule": "1.3.0", "shiki": "3.20.0", "ufo": "1.6.1", "unified": "11.0.5", "unist-builder": "4.0.0", "unist-util-visit": "5.0.0", "unwasm": "0.5.2", "vfile": "6.0.3" } }, "sha512-mtwBb9D5U7H1R3kpqEmqwML1RudN6qOJqJwebrqLxk+EWhtGUXAdUBXC2L/kPWiCNA4Yz/EO+tSfSQV8Idh5nw=="], "@nuxtjs/mdc": ["@nuxtjs/mdc@0.18.4", "", { "dependencies": { "@nuxt/kit": "^4.2.1", "@shikijs/core": "^3.15.0", "@shikijs/langs": "^3.15.0", "@shikijs/themes": "^3.15.0", "@shikijs/transformers": "^3.15.0", "@types/hast": "^3.0.4", "@types/mdast": "^4.0.4", "@vue/compiler-core": "^3.5.24", "consola": "^3.4.2", "debug": "^4.4.3", "defu": "^6.1.4", "destr": "^2.0.5", "detab": "^3.0.2", "github-slugger": "^2.0.0", "hast-util-format": "^1.1.0", "hast-util-to-mdast": "^10.1.2", "hast-util-to-string": "^3.0.1", "mdast-util-to-hast": "^13.2.0", "micromark-util-sanitize-uri": "^2.0.1", "parse5": "^8.0.0", "pathe": "^2.0.3", "property-information": "^7.1.0", "rehype-external-links": "^3.0.0", "rehype-minify-whitespace": "^6.0.2", "rehype-raw": "^7.0.0", "rehype-remark": "^10.0.1", "rehype-slug": "^6.0.0", "rehype-sort-attribute-values": "^5.0.1", "rehype-sort-attributes": "^5.0.1", "remark-emoji": "^5.0.2", "remark-gfm": "^4.0.1", "remark-mdc": "^3.8.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-stringify": "^11.0.0", "scule": "^1.3.0", "shiki": "^3.15.0", "ufo": "^1.6.1", "unified": "^11.0.5", "unist-builder": "^4.0.0", "unist-util-visit": "^5.0.0", "unwasm": "^0.5.0", "vfile": "^6.0.3" } }, "sha512-lM4R0Mbbhw5h5Fwj7LqGiw6eanqjjPkzi+9FaXfn1BdmfbW8GlR2quLIiBXTbw0wUrWYyOWoc5FGIE/gpZUTjQ=="],
"@nuxtjs/robots": ["@nuxtjs/robots@5.6.7", "https://npmreg.proxy.ustclug.org/@nuxtjs/robots/-/robots-5.6.7.tgz", { "dependencies": { "@fingerprintjs/botd": "2.0.0", "@nuxt/kit": "4.2.2", "consola": "3.4.2", "defu": "6.1.4", "nuxt-site-config": "3.2.14", "pathe": "2.0.3", "pkg-types": "2.3.0", "sirv": "3.0.2", "std-env": "3.10.0", "ufo": "1.6.1" }, "optionalDependencies": { "zod": "3.25.76" } }, "sha512-0Ex0Y38z9s5I5w3AkdlrpLPACE+cd38KH9dYjZE+flP5RSGMvKzbTc8/jyNeY7numIuFt9BQGXEzkEAmxe04Cg=="], "@nuxtjs/robots": ["@nuxtjs/robots@5.6.7", "https://npmreg.proxy.ustclug.org/@nuxtjs/robots/-/robots-5.6.7.tgz", { "dependencies": { "@fingerprintjs/botd": "2.0.0", "@nuxt/kit": "4.2.2", "consola": "3.4.2", "defu": "6.1.4", "nuxt-site-config": "3.2.14", "pathe": "2.0.3", "pkg-types": "2.3.0", "sirv": "3.0.2", "std-env": "3.10.0", "ufo": "1.6.1" }, "optionalDependencies": { "zod": "3.25.76" } }, "sha512-0Ex0Y38z9s5I5w3AkdlrpLPACE+cd38KH9dYjZE+flP5RSGMvKzbTc8/jyNeY7numIuFt9BQGXEzkEAmxe04Cg=="],
@@ -864,14 +870,10 @@
"async": ["async@3.2.6", "https://npmreg.proxy.ustclug.org/async/-/async-3.2.6.tgz", {}, "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="], "async": ["async@3.2.6", "https://npmreg.proxy.ustclug.org/async/-/async-3.2.6.tgz", {}, "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="],
"async-lock": ["async-lock@1.4.1", "https://npmreg.proxy.ustclug.org/async-lock/-/async-lock-1.4.1.tgz", {}, "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ=="],
"async-sema": ["async-sema@3.1.1", "https://npmreg.proxy.ustclug.org/async-sema/-/async-sema-3.1.1.tgz", {}, "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg=="], "async-sema": ["async-sema@3.1.1", "https://npmreg.proxy.ustclug.org/async-sema/-/async-sema-3.1.1.tgz", {}, "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg=="],
"autoprefixer": ["autoprefixer@10.4.23", "https://npmreg.proxy.ustclug.org/autoprefixer/-/autoprefixer-10.4.23.tgz", { "dependencies": { "browserslist": "4.28.1", "caniuse-lite": "1.0.30001761", "fraction.js": "5.3.4", "picocolors": "1.1.1", "postcss-value-parser": "4.2.0" }, "peerDependencies": { "postcss": "8.5.6" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA=="], "autoprefixer": ["autoprefixer@10.4.23", "https://npmreg.proxy.ustclug.org/autoprefixer/-/autoprefixer-10.4.23.tgz", { "dependencies": { "browserslist": "4.28.1", "caniuse-lite": "1.0.30001761", "fraction.js": "5.3.4", "picocolors": "1.1.1", "postcss-value-parser": "4.2.0" }, "peerDependencies": { "postcss": "8.5.6" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA=="],
"available-typed-arrays": ["available-typed-arrays@1.0.7", "https://npmreg.proxy.ustclug.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", { "dependencies": { "possible-typed-array-names": "1.1.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="],
"b4a": ["b4a@1.7.3", "https://npmreg.proxy.ustclug.org/b4a/-/b4a-1.7.3.tgz", {}, "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q=="], "b4a": ["b4a@1.7.3", "https://npmreg.proxy.ustclug.org/b4a/-/b4a-1.7.3.tgz", {}, "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q=="],
"bail": ["bail@2.0.2", "https://npmreg.proxy.ustclug.org/bail/-/bail-2.0.2.tgz", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="], "bail": ["bail@2.0.2", "https://npmreg.proxy.ustclug.org/bail/-/bail-2.0.2.tgz", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="],
@@ -918,12 +920,6 @@
"cac": ["cac@6.7.14", "https://npmreg.proxy.ustclug.org/cac/-/cac-6.7.14.tgz", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="], "cac": ["cac@6.7.14", "https://npmreg.proxy.ustclug.org/cac/-/cac-6.7.14.tgz", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="],
"call-bind": ["call-bind@1.0.8", "https://npmreg.proxy.ustclug.org/call-bind/-/call-bind-1.0.8.tgz", { "dependencies": { "call-bind-apply-helpers": "1.0.2", "es-define-property": "1.0.1", "get-intrinsic": "1.3.0", "set-function-length": "1.2.2" } }, "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww=="],
"call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "https://npmreg.proxy.ustclug.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", { "dependencies": { "es-errors": "1.3.0", "function-bind": "1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="],
"call-bound": ["call-bound@1.0.4", "https://npmreg.proxy.ustclug.org/call-bound/-/call-bound-1.0.4.tgz", { "dependencies": { "call-bind-apply-helpers": "1.0.2", "get-intrinsic": "1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="],
"callsites": ["callsites@3.1.0", "https://npmreg.proxy.ustclug.org/callsites/-/callsites-3.1.0.tgz", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], "callsites": ["callsites@3.1.0", "https://npmreg.proxy.ustclug.org/callsites/-/callsites-3.1.0.tgz", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="],
"camelize": ["camelize@1.0.1", "https://npmreg.proxy.ustclug.org/camelize/-/camelize-1.0.1.tgz", {}, "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ=="], "camelize": ["camelize@1.0.1", "https://npmreg.proxy.ustclug.org/camelize/-/camelize-1.0.1.tgz", {}, "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ=="],
@@ -958,8 +954,6 @@
"citty": ["citty@0.1.6", "https://npmreg.proxy.ustclug.org/citty/-/citty-0.1.6.tgz", { "dependencies": { "consola": "3.4.2" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="], "citty": ["citty@0.1.6", "https://npmreg.proxy.ustclug.org/citty/-/citty-0.1.6.tgz", { "dependencies": { "consola": "3.4.2" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="],
"clean-git-ref": ["clean-git-ref@2.0.1", "https://npmreg.proxy.ustclug.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz", {}, "sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw=="],
"clean-regexp": ["clean-regexp@1.0.0", "https://npmreg.proxy.ustclug.org/clean-regexp/-/clean-regexp-1.0.0.tgz", { "dependencies": { "escape-string-regexp": "1.0.5" } }, "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw=="], "clean-regexp": ["clean-regexp@1.0.0", "https://npmreg.proxy.ustclug.org/clean-regexp/-/clean-regexp-1.0.0.tgz", { "dependencies": { "escape-string-regexp": "1.0.5" } }, "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw=="],
"clipboardy": ["clipboardy@4.0.0", "https://npmreg.proxy.ustclug.org/clipboardy/-/clipboardy-4.0.0.tgz", { "dependencies": { "execa": "8.0.1", "is-wsl": "3.1.0", "is64bit": "2.0.0" } }, "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w=="], "clipboardy": ["clipboardy@4.0.0", "https://npmreg.proxy.ustclug.org/clipboardy/-/clipboardy-4.0.0.tgz", { "dependencies": { "execa": "8.0.1", "is-wsl": "3.1.0", "is64bit": "2.0.0" } }, "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w=="],
@@ -1066,8 +1060,6 @@
"default-browser-id": ["default-browser-id@5.0.1", "https://npmreg.proxy.ustclug.org/default-browser-id/-/default-browser-id-5.0.1.tgz", {}, "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q=="], "default-browser-id": ["default-browser-id@5.0.1", "https://npmreg.proxy.ustclug.org/default-browser-id/-/default-browser-id-5.0.1.tgz", {}, "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q=="],
"define-data-property": ["define-data-property@1.1.4", "https://npmreg.proxy.ustclug.org/define-data-property/-/define-data-property-1.1.4.tgz", { "dependencies": { "es-define-property": "1.0.1", "es-errors": "1.3.0", "gopd": "1.2.0" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="],
"define-lazy-prop": ["define-lazy-prop@3.0.0", "https://npmreg.proxy.ustclug.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="], "define-lazy-prop": ["define-lazy-prop@3.0.0", "https://npmreg.proxy.ustclug.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="],
"defu": ["defu@6.1.4", "https://npmreg.proxy.ustclug.org/defu/-/defu-6.1.4.tgz", {}, "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="], "defu": ["defu@6.1.4", "https://npmreg.proxy.ustclug.org/defu/-/defu-6.1.4.tgz", {}, "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="],
@@ -1092,8 +1084,6 @@
"diff": ["diff@8.0.2", "https://npmreg.proxy.ustclug.org/diff/-/diff-8.0.2.tgz", {}, "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg=="], "diff": ["diff@8.0.2", "https://npmreg.proxy.ustclug.org/diff/-/diff-8.0.2.tgz", {}, "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg=="],
"diff3": ["diff3@0.0.3", "https://npmreg.proxy.ustclug.org/diff3/-/diff3-0.0.3.tgz", {}, "sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g=="],
"dom-serializer": ["dom-serializer@2.0.0", "https://npmreg.proxy.ustclug.org/dom-serializer/-/dom-serializer-2.0.0.tgz", { "dependencies": { "domelementtype": "2.3.0", "domhandler": "5.0.3", "entities": "4.5.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="], "dom-serializer": ["dom-serializer@2.0.0", "https://npmreg.proxy.ustclug.org/dom-serializer/-/dom-serializer-2.0.0.tgz", { "dependencies": { "domelementtype": "2.3.0", "domhandler": "5.0.3", "entities": "4.5.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="],
"domelementtype": ["domelementtype@2.3.0", "https://npmreg.proxy.ustclug.org/domelementtype/-/domelementtype-2.3.0.tgz", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="], "domelementtype": ["domelementtype@2.3.0", "https://npmreg.proxy.ustclug.org/domelementtype/-/domelementtype-2.3.0.tgz", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="],
@@ -1106,8 +1096,6 @@
"dotenv": ["dotenv@17.2.3", "https://npmreg.proxy.ustclug.org/dotenv/-/dotenv-17.2.3.tgz", {}, "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w=="], "dotenv": ["dotenv@17.2.3", "https://npmreg.proxy.ustclug.org/dotenv/-/dotenv-17.2.3.tgz", {}, "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w=="],
"dunder-proto": ["dunder-proto@1.0.1", "https://npmreg.proxy.ustclug.org/dunder-proto/-/dunder-proto-1.0.1.tgz", { "dependencies": { "call-bind-apply-helpers": "1.0.2", "es-errors": "1.3.0", "gopd": "1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="],
"duplexer": ["duplexer@0.1.2", "https://npmreg.proxy.ustclug.org/duplexer/-/duplexer-0.1.2.tgz", {}, "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="], "duplexer": ["duplexer@0.1.2", "https://npmreg.proxy.ustclug.org/duplexer/-/duplexer-0.1.2.tgz", {}, "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="],
"eastasianwidth": ["eastasianwidth@0.2.0", "https://npmreg.proxy.ustclug.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], "eastasianwidth": ["eastasianwidth@0.2.0", "https://npmreg.proxy.ustclug.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
@@ -1140,14 +1128,8 @@
"errx": ["errx@0.1.0", "https://npmreg.proxy.ustclug.org/errx/-/errx-0.1.0.tgz", {}, "sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q=="], "errx": ["errx@0.1.0", "https://npmreg.proxy.ustclug.org/errx/-/errx-0.1.0.tgz", {}, "sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q=="],
"es-define-property": ["es-define-property@1.0.1", "https://npmreg.proxy.ustclug.org/es-define-property/-/es-define-property-1.0.1.tgz", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="],
"es-errors": ["es-errors@1.3.0", "https://npmreg.proxy.ustclug.org/es-errors/-/es-errors-1.3.0.tgz", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="],
"es-module-lexer": ["es-module-lexer@1.7.0", "https://npmreg.proxy.ustclug.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="], "es-module-lexer": ["es-module-lexer@1.7.0", "https://npmreg.proxy.ustclug.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="],
"es-object-atoms": ["es-object-atoms@1.1.1", "https://npmreg.proxy.ustclug.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", { "dependencies": { "es-errors": "1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="],
"esbuild": ["esbuild@0.25.12", "https://npmreg.proxy.ustclug.org/esbuild/-/esbuild-0.25.12.tgz", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], "esbuild": ["esbuild@0.25.12", "https://npmreg.proxy.ustclug.org/esbuild/-/esbuild-0.25.12.tgz", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="],
"escalade": ["escalade@3.2.0", "https://npmreg.proxy.ustclug.org/escalade/-/escalade-3.2.0.tgz", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], "escalade": ["escalade@3.2.0", "https://npmreg.proxy.ustclug.org/escalade/-/escalade-3.2.0.tgz", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
@@ -1266,8 +1248,6 @@
"fontless": ["fontless@0.1.0", "", { "dependencies": { "consola": "^3.4.2", "css-tree": "^3.1.0", "defu": "^6.1.4", "esbuild": "^0.25.12", "fontaine": "0.7.0", "jiti": "^2.6.1", "lightningcss": "^1.30.2", "magic-string": "^0.30.21", "ohash": "^2.0.11", "pathe": "^2.0.3", "ufo": "^1.6.1", "unifont": "^0.6.0", "unstorage": "^1.17.1" }, "peerDependencies": { "vite": "*" }, "optionalPeers": ["vite"] }, "sha512-KyvRd732HuVd/XP9iEFTb1w8Q01TPSA5GaCJV9HYmPiEs/ZZg/on2YdrQmlKfi9gDGpmN5Bn27Ze/CHqk0vE+w=="], "fontless": ["fontless@0.1.0", "", { "dependencies": { "consola": "^3.4.2", "css-tree": "^3.1.0", "defu": "^6.1.4", "esbuild": "^0.25.12", "fontaine": "0.7.0", "jiti": "^2.6.1", "lightningcss": "^1.30.2", "magic-string": "^0.30.21", "ohash": "^2.0.11", "pathe": "^2.0.3", "ufo": "^1.6.1", "unifont": "^0.6.0", "unstorage": "^1.17.1" }, "peerDependencies": { "vite": "*" }, "optionalPeers": ["vite"] }, "sha512-KyvRd732HuVd/XP9iEFTb1w8Q01TPSA5GaCJV9HYmPiEs/ZZg/on2YdrQmlKfi9gDGpmN5Bn27Ze/CHqk0vE+w=="],
"for-each": ["for-each@0.3.5", "https://npmreg.proxy.ustclug.org/for-each/-/for-each-0.3.5.tgz", { "dependencies": { "is-callable": "1.2.7" } }, "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg=="],
"foreground-child": ["foreground-child@3.3.1", "https://npmreg.proxy.ustclug.org/foreground-child/-/foreground-child-3.3.1.tgz", { "dependencies": { "cross-spawn": "7.0.6", "signal-exit": "4.1.0" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], "foreground-child": ["foreground-child@3.3.1", "https://npmreg.proxy.ustclug.org/foreground-child/-/foreground-child-3.3.1.tgz", { "dependencies": { "cross-spawn": "7.0.6", "signal-exit": "4.1.0" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="],
"fraction.js": ["fraction.js@5.3.4", "https://npmreg.proxy.ustclug.org/fraction.js/-/fraction.js-5.3.4.tgz", {}, "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ=="], "fraction.js": ["fraction.js@5.3.4", "https://npmreg.proxy.ustclug.org/fraction.js/-/fraction.js-5.3.4.tgz", {}, "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ=="],
@@ -1286,12 +1266,8 @@
"get-caller-file": ["get-caller-file@2.0.5", "https://npmreg.proxy.ustclug.org/get-caller-file/-/get-caller-file-2.0.5.tgz", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], "get-caller-file": ["get-caller-file@2.0.5", "https://npmreg.proxy.ustclug.org/get-caller-file/-/get-caller-file-2.0.5.tgz", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="],
"get-intrinsic": ["get-intrinsic@1.3.0", "https://npmreg.proxy.ustclug.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", { "dependencies": { "call-bind-apply-helpers": "1.0.2", "es-define-property": "1.0.1", "es-errors": "1.3.0", "es-object-atoms": "1.1.1", "function-bind": "1.1.2", "get-proto": "1.0.1", "gopd": "1.2.0", "has-symbols": "1.1.0", "hasown": "2.0.2", "math-intrinsics": "1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="],
"get-port-please": ["get-port-please@3.2.0", "https://npmreg.proxy.ustclug.org/get-port-please/-/get-port-please-3.2.0.tgz", {}, "sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A=="], "get-port-please": ["get-port-please@3.2.0", "https://npmreg.proxy.ustclug.org/get-port-please/-/get-port-please-3.2.0.tgz", {}, "sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A=="],
"get-proto": ["get-proto@1.0.1", "https://npmreg.proxy.ustclug.org/get-proto/-/get-proto-1.0.1.tgz", { "dependencies": { "dunder-proto": "1.0.1", "es-object-atoms": "1.1.1" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="],
"get-stream": ["get-stream@9.0.1", "https://npmreg.proxy.ustclug.org/get-stream/-/get-stream-9.0.1.tgz", { "dependencies": { "@sec-ant/readable-stream": "0.4.1", "is-stream": "4.0.1" } }, "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA=="], "get-stream": ["get-stream@9.0.1", "https://npmreg.proxy.ustclug.org/get-stream/-/get-stream-9.0.1.tgz", { "dependencies": { "@sec-ant/readable-stream": "0.4.1", "is-stream": "4.0.1" } }, "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA=="],
"get-tsconfig": ["get-tsconfig@4.13.0", "https://npmreg.proxy.ustclug.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", { "dependencies": { "resolve-pkg-maps": "1.0.0" } }, "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ=="], "get-tsconfig": ["get-tsconfig@4.13.0", "https://npmreg.proxy.ustclug.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", { "dependencies": { "resolve-pkg-maps": "1.0.0" } }, "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ=="],
@@ -1316,8 +1292,6 @@
"globby": ["globby@15.0.0", "https://npmreg.proxy.ustclug.org/globby/-/globby-15.0.0.tgz", { "dependencies": { "@sindresorhus/merge-streams": "4.0.0", "fast-glob": "3.3.3", "ignore": "7.0.5", "path-type": "6.0.0", "slash": "5.1.0", "unicorn-magic": "0.3.0" } }, "sha512-oB4vkQGqlMl682wL1IlWd02tXCbquGWM4voPEI85QmNKCaw8zGTm1f1rubFgkg3Eli2PtKlFgrnmUqasbQWlkw=="], "globby": ["globby@15.0.0", "https://npmreg.proxy.ustclug.org/globby/-/globby-15.0.0.tgz", { "dependencies": { "@sindresorhus/merge-streams": "4.0.0", "fast-glob": "3.3.3", "ignore": "7.0.5", "path-type": "6.0.0", "slash": "5.1.0", "unicorn-magic": "0.3.0" } }, "sha512-oB4vkQGqlMl682wL1IlWd02tXCbquGWM4voPEI85QmNKCaw8zGTm1f1rubFgkg3Eli2PtKlFgrnmUqasbQWlkw=="],
"gopd": ["gopd@1.2.0", "https://npmreg.proxy.ustclug.org/gopd/-/gopd-1.2.0.tgz", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="],
"graceful-fs": ["graceful-fs@4.2.11", "https://npmreg.proxy.ustclug.org/graceful-fs/-/graceful-fs-4.2.11.tgz", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], "graceful-fs": ["graceful-fs@4.2.11", "https://npmreg.proxy.ustclug.org/graceful-fs/-/graceful-fs-4.2.11.tgz", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="],
"gzip-size": ["gzip-size@7.0.0", "https://npmreg.proxy.ustclug.org/gzip-size/-/gzip-size-7.0.0.tgz", { "dependencies": { "duplexer": "0.1.2" } }, "sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA=="], "gzip-size": ["gzip-size@7.0.0", "https://npmreg.proxy.ustclug.org/gzip-size/-/gzip-size-7.0.0.tgz", { "dependencies": { "duplexer": "0.1.2" } }, "sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA=="],
@@ -1328,12 +1302,6 @@
"has-flag": ["has-flag@4.0.0", "https://npmreg.proxy.ustclug.org/has-flag/-/has-flag-4.0.0.tgz", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], "has-flag": ["has-flag@4.0.0", "https://npmreg.proxy.ustclug.org/has-flag/-/has-flag-4.0.0.tgz", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="],
"has-property-descriptors": ["has-property-descriptors@1.0.2", "https://npmreg.proxy.ustclug.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", { "dependencies": { "es-define-property": "1.0.1" } }, "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="],
"has-symbols": ["has-symbols@1.1.0", "https://npmreg.proxy.ustclug.org/has-symbols/-/has-symbols-1.1.0.tgz", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="],
"has-tostringtag": ["has-tostringtag@1.0.2", "https://npmreg.proxy.ustclug.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", { "dependencies": { "has-symbols": "1.1.0" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="],
"hasown": ["hasown@2.0.2", "https://npmreg.proxy.ustclug.org/hasown/-/hasown-2.0.2.tgz", { "dependencies": { "function-bind": "1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], "hasown": ["hasown@2.0.2", "https://npmreg.proxy.ustclug.org/hasown/-/hasown-2.0.2.tgz", { "dependencies": { "function-bind": "1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
"hast-util-embedded": ["hast-util-embedded@3.0.0", "https://npmreg.proxy.ustclug.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", { "dependencies": { "@types/hast": "3.0.4", "hast-util-is-element": "3.0.0" } }, "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA=="], "hast-util-embedded": ["hast-util-embedded@3.0.0", "https://npmreg.proxy.ustclug.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", { "dependencies": { "@types/hast": "3.0.4", "hast-util-is-element": "3.0.0" } }, "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA=="],
@@ -1428,8 +1396,6 @@
"is-builtin-module": ["is-builtin-module@5.0.0", "https://npmreg.proxy.ustclug.org/is-builtin-module/-/is-builtin-module-5.0.0.tgz", { "dependencies": { "builtin-modules": "5.0.0" } }, "sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA=="], "is-builtin-module": ["is-builtin-module@5.0.0", "https://npmreg.proxy.ustclug.org/is-builtin-module/-/is-builtin-module-5.0.0.tgz", { "dependencies": { "builtin-modules": "5.0.0" } }, "sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA=="],
"is-callable": ["is-callable@1.2.7", "https://npmreg.proxy.ustclug.org/is-callable/-/is-callable-1.2.7.tgz", {}, "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="],
"is-core-module": ["is-core-module@2.16.1", "https://npmreg.proxy.ustclug.org/is-core-module/-/is-core-module-2.16.1.tgz", { "dependencies": { "hasown": "2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], "is-core-module": ["is-core-module@2.16.1", "https://npmreg.proxy.ustclug.org/is-core-module/-/is-core-module-2.16.1.tgz", { "dependencies": { "hasown": "2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="],
"is-decimal": ["is-decimal@2.0.1", "https://npmreg.proxy.ustclug.org/is-decimal/-/is-decimal-2.0.1.tgz", {}, "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="], "is-decimal": ["is-decimal@2.0.1", "https://npmreg.proxy.ustclug.org/is-decimal/-/is-decimal-2.0.1.tgz", {}, "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="],
@@ -1462,8 +1428,6 @@
"is-stream": ["is-stream@4.0.1", "https://npmreg.proxy.ustclug.org/is-stream/-/is-stream-4.0.1.tgz", {}, "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A=="], "is-stream": ["is-stream@4.0.1", "https://npmreg.proxy.ustclug.org/is-stream/-/is-stream-4.0.1.tgz", {}, "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A=="],
"is-typed-array": ["is-typed-array@1.1.15", "https://npmreg.proxy.ustclug.org/is-typed-array/-/is-typed-array-1.1.15.tgz", { "dependencies": { "which-typed-array": "1.1.19" } }, "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ=="],
"is-unicode-supported": ["is-unicode-supported@2.1.0", "https://npmreg.proxy.ustclug.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", {}, "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ=="], "is-unicode-supported": ["is-unicode-supported@2.1.0", "https://npmreg.proxy.ustclug.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", {}, "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ=="],
"is-what": ["is-what@5.5.0", "https://npmreg.proxy.ustclug.org/is-what/-/is-what-5.5.0.tgz", {}, "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw=="], "is-what": ["is-what@5.5.0", "https://npmreg.proxy.ustclug.org/is-what/-/is-what-5.5.0.tgz", {}, "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw=="],
@@ -1472,12 +1436,10 @@
"is64bit": ["is64bit@2.0.0", "https://npmreg.proxy.ustclug.org/is64bit/-/is64bit-2.0.0.tgz", { "dependencies": { "system-architecture": "0.1.0" } }, "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw=="], "is64bit": ["is64bit@2.0.0", "https://npmreg.proxy.ustclug.org/is64bit/-/is64bit-2.0.0.tgz", { "dependencies": { "system-architecture": "0.1.0" } }, "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw=="],
"isarray": ["isarray@2.0.5", "https://npmreg.proxy.ustclug.org/isarray/-/isarray-2.0.5.tgz", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="], "isarray": ["isarray@1.0.0", "https://npmreg.proxy.ustclug.org/isarray/-/isarray-1.0.0.tgz", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="],
"isexe": ["isexe@2.0.0", "https://npmreg.proxy.ustclug.org/isexe/-/isexe-2.0.0.tgz", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], "isexe": ["isexe@2.0.0", "https://npmreg.proxy.ustclug.org/isexe/-/isexe-2.0.0.tgz", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
"isomorphic-git": ["isomorphic-git@1.36.1", "https://npmreg.proxy.ustclug.org/isomorphic-git/-/isomorphic-git-1.36.1.tgz", { "dependencies": { "async-lock": "1.4.1", "clean-git-ref": "2.0.1", "crc-32": "1.2.2", "diff3": "0.0.3", "ignore": "5.3.2", "minimisted": "2.0.1", "pako": "1.0.11", "pify": "4.0.1", "readable-stream": "4.7.0", "sha.js": "2.4.12", "simple-get": "4.0.1" }, "bin": { "isogit": "cli.cjs" } }, "sha512-fC8SRT8MwoaXDK8G4z5biPEbqf2WyEJUb2MJ2ftSd39/UIlsnoZxLGux+lae0poLZO4AEcx6aUVOh5bV+P8zFA=="],
"jackspeak": ["jackspeak@3.4.3", "https://npmreg.proxy.ustclug.org/jackspeak/-/jackspeak-3.4.3.tgz", { "dependencies": { "@isaacs/cliui": "8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], "jackspeak": ["jackspeak@3.4.3", "https://npmreg.proxy.ustclug.org/jackspeak/-/jackspeak-3.4.3.tgz", { "dependencies": { "@isaacs/cliui": "8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="],
"jiti": ["jiti@2.6.1", "https://npmreg.proxy.ustclug.org/jiti/-/jiti-2.6.1.tgz", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], "jiti": ["jiti@2.6.1", "https://npmreg.proxy.ustclug.org/jiti/-/jiti-2.6.1.tgz", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="],
@@ -1584,8 +1546,6 @@
"marky": ["marky@1.3.0", "https://npmreg.proxy.ustclug.org/marky/-/marky-1.3.0.tgz", {}, "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ=="], "marky": ["marky@1.3.0", "https://npmreg.proxy.ustclug.org/marky/-/marky-1.3.0.tgz", {}, "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ=="],
"math-intrinsics": ["math-intrinsics@1.1.0", "https://npmreg.proxy.ustclug.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="],
"mdast-util-find-and-replace": ["mdast-util-find-and-replace@3.0.2", "https://npmreg.proxy.ustclug.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", { "dependencies": { "@types/mdast": "4.0.4", "escape-string-regexp": "5.0.0", "unist-util-is": "6.0.1", "unist-util-visit-parents": "6.0.2" } }, "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg=="], "mdast-util-find-and-replace": ["mdast-util-find-and-replace@3.0.2", "https://npmreg.proxy.ustclug.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", { "dependencies": { "@types/mdast": "4.0.4", "escape-string-regexp": "5.0.0", "unist-util-is": "6.0.1", "unist-util-visit-parents": "6.0.2" } }, "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg=="],
"mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.2", "https://npmreg.proxy.ustclug.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", { "dependencies": { "@types/mdast": "4.0.4", "@types/unist": "3.0.3", "decode-named-character-reference": "1.2.0", "devlop": "1.1.0", "mdast-util-to-string": "4.0.0", "micromark": "4.0.2", "micromark-util-decode-numeric-character-reference": "2.0.2", "micromark-util-decode-string": "2.0.1", "micromark-util-normalize-identifier": "2.0.1", "micromark-util-symbol": "2.0.1", "micromark-util-types": "2.0.2", "unist-util-stringify-position": "4.0.0" } }, "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA=="], "mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.2", "https://npmreg.proxy.ustclug.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", { "dependencies": { "@types/mdast": "4.0.4", "@types/unist": "3.0.3", "decode-named-character-reference": "1.2.0", "devlop": "1.1.0", "mdast-util-to-string": "4.0.0", "micromark": "4.0.2", "micromark-util-decode-numeric-character-reference": "2.0.2", "micromark-util-decode-string": "2.0.1", "micromark-util-normalize-identifier": "2.0.1", "micromark-util-symbol": "2.0.1", "micromark-util-types": "2.0.2", "unist-util-stringify-position": "4.0.0" } }, "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA=="],
@@ -1692,8 +1652,6 @@
"minimist": ["minimist@1.2.8", "https://npmreg.proxy.ustclug.org/minimist/-/minimist-1.2.8.tgz", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], "minimist": ["minimist@1.2.8", "https://npmreg.proxy.ustclug.org/minimist/-/minimist-1.2.8.tgz", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="],
"minimisted": ["minimisted@2.0.1", "https://npmreg.proxy.ustclug.org/minimisted/-/minimisted-2.0.1.tgz", { "dependencies": { "minimist": "1.2.8" } }, "sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA=="],
"minipass": ["minipass@7.1.2", "https://npmreg.proxy.ustclug.org/minipass/-/minipass-7.1.2.tgz", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], "minipass": ["minipass@7.1.2", "https://npmreg.proxy.ustclug.org/minipass/-/minipass-7.1.2.tgz", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
"minizlib": ["minizlib@3.1.0", "https://npmreg.proxy.ustclug.org/minizlib/-/minizlib-3.1.0.tgz", { "dependencies": { "minipass": "7.1.2" } }, "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw=="], "minizlib": ["minizlib@3.1.0", "https://npmreg.proxy.ustclug.org/minizlib/-/minizlib-3.1.0.tgz", { "dependencies": { "minipass": "7.1.2" } }, "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw=="],
@@ -1706,6 +1664,8 @@
"mocked-exports": ["mocked-exports@0.1.1", "https://npmreg.proxy.ustclug.org/mocked-exports/-/mocked-exports-0.1.1.tgz", {}, "sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA=="], "mocked-exports": ["mocked-exports@0.1.1", "https://npmreg.proxy.ustclug.org/mocked-exports/-/mocked-exports-0.1.1.tgz", {}, "sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA=="],
"modern-tar": ["modern-tar@0.7.3", "", {}, "sha512-4W79zekKGyYU4JXVmB78DOscMFaJth2gGhgfTl2alWE4rNe3nf4N2pqenQ0rEtIewrnD79M687Ouba3YGTLOvg=="],
"mrmime": ["mrmime@2.0.1", "https://npmreg.proxy.ustclug.org/mrmime/-/mrmime-2.0.1.tgz", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="], "mrmime": ["mrmime@2.0.1", "https://npmreg.proxy.ustclug.org/mrmime/-/mrmime-2.0.1.tgz", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="],
"ms": ["ms@2.1.3", "https://npmreg.proxy.ustclug.org/ms/-/ms-2.1.3.tgz", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], "ms": ["ms@2.1.3", "https://npmreg.proxy.ustclug.org/ms/-/ms-2.1.3.tgz", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
@@ -1752,7 +1712,7 @@
"nuxt": ["nuxt@4.2.2", "https://npmreg.proxy.ustclug.org/nuxt/-/nuxt-4.2.2.tgz", { "dependencies": { "@dxup/nuxt": "0.2.2", "@nuxt/cli": "3.31.3", "@nuxt/devtools": "3.1.1", "@nuxt/kit": "4.2.2", "@nuxt/nitro-server": "4.2.2", "@nuxt/schema": "4.2.2", "@nuxt/telemetry": "2.6.6", "@nuxt/vite-builder": "4.2.2", "@unhead/vue": "2.1.1", "@vue/shared": "3.5.26", "c12": "3.3.3", "chokidar": "5.0.0", "compatx": "0.2.0", "consola": "3.4.2", "cookie-es": "2.0.0", "defu": "6.1.4", "destr": "2.0.5", "devalue": "5.6.1", "errx": "0.1.0", "escape-string-regexp": "5.0.0", "exsolve": "1.0.8", "h3": "1.15.4", "hookable": "5.5.3", "ignore": "7.0.5", "impound": "1.0.0", "jiti": "2.6.1", "klona": "2.0.6", "knitwork": "1.3.0", "magic-string": "0.30.21", "mlly": "1.8.0", "nanotar": "0.2.0", "nypm": "0.6.2", "ofetch": "1.5.1", "ohash": "2.0.11", "on-change": "6.0.1", "oxc-minify": "0.102.0", "oxc-parser": "0.102.0", "oxc-transform": "0.102.0", "oxc-walker": "0.6.0", "pathe": "2.0.3", "perfect-debounce": "2.0.0", "pkg-types": "2.3.0", "radix3": "1.1.2", "scule": "1.3.0", "semver": "7.7.3", "std-env": "3.10.0", "tinyglobby": "0.2.15", "ufo": "1.6.1", "ultrahtml": "1.6.0", "uncrypto": "0.1.3", "unctx": "2.5.0", "unimport": "5.6.0", "unplugin": "2.3.11", "unplugin-vue-router": "0.19.1", "untyped": "2.0.0", "vue": "3.5.26", "vue-router": "4.6.4" }, "optionalDependencies": { "@parcel/watcher": "2.5.1", "@types/node": "25.0.3" }, "bin": { "nuxi": "bin/nuxt.mjs", "nuxt": "bin/nuxt.mjs" } }, "sha512-n6oYFikgLEb70J4+K19jAzfx4exZcRSRX7yZn09P5qlf2Z59VNOBqNmaZO5ObzvyGUZ308SZfL629/Q2v2FVjw=="], "nuxt": ["nuxt@4.2.2", "https://npmreg.proxy.ustclug.org/nuxt/-/nuxt-4.2.2.tgz", { "dependencies": { "@dxup/nuxt": "0.2.2", "@nuxt/cli": "3.31.3", "@nuxt/devtools": "3.1.1", "@nuxt/kit": "4.2.2", "@nuxt/nitro-server": "4.2.2", "@nuxt/schema": "4.2.2", "@nuxt/telemetry": "2.6.6", "@nuxt/vite-builder": "4.2.2", "@unhead/vue": "2.1.1", "@vue/shared": "3.5.26", "c12": "3.3.3", "chokidar": "5.0.0", "compatx": "0.2.0", "consola": "3.4.2", "cookie-es": "2.0.0", "defu": "6.1.4", "destr": "2.0.5", "devalue": "5.6.1", "errx": "0.1.0", "escape-string-regexp": "5.0.0", "exsolve": "1.0.8", "h3": "1.15.4", "hookable": "5.5.3", "ignore": "7.0.5", "impound": "1.0.0", "jiti": "2.6.1", "klona": "2.0.6", "knitwork": "1.3.0", "magic-string": "0.30.21", "mlly": "1.8.0", "nanotar": "0.2.0", "nypm": "0.6.2", "ofetch": "1.5.1", "ohash": "2.0.11", "on-change": "6.0.1", "oxc-minify": "0.102.0", "oxc-parser": "0.102.0", "oxc-transform": "0.102.0", "oxc-walker": "0.6.0", "pathe": "2.0.3", "perfect-debounce": "2.0.0", "pkg-types": "2.3.0", "radix3": "1.1.2", "scule": "1.3.0", "semver": "7.7.3", "std-env": "3.10.0", "tinyglobby": "0.2.15", "ufo": "1.6.1", "ultrahtml": "1.6.0", "uncrypto": "0.1.3", "unctx": "2.5.0", "unimport": "5.6.0", "unplugin": "2.3.11", "unplugin-vue-router": "0.19.1", "untyped": "2.0.0", "vue": "3.5.26", "vue-router": "4.6.4" }, "optionalDependencies": { "@parcel/watcher": "2.5.1", "@types/node": "25.0.3" }, "bin": { "nuxi": "bin/nuxt.mjs", "nuxt": "bin/nuxt.mjs" } }, "sha512-n6oYFikgLEb70J4+K19jAzfx4exZcRSRX7yZn09P5qlf2Z59VNOBqNmaZO5ObzvyGUZ308SZfL629/Q2v2FVjw=="],
"nuxt-component-meta": ["nuxt-component-meta@0.16.0", "https://npmreg.proxy.ustclug.org/nuxt-component-meta/-/nuxt-component-meta-0.16.0.tgz", { "dependencies": { "@nuxt/kit": "4.2.2", "citty": "0.1.6", "json-schema-to-zod": "2.7.0", "mlly": "1.8.0", "ohash": "2.0.11", "scule": "1.3.0", "typescript": "5.9.3", "ufo": "1.6.1", "vue-component-meta": "3.2.1" }, "bin": { "nuxt-component-meta": "bin/nuxt-component-meta.mjs" } }, "sha512-mxsLl+gcF930dM4ozdxskGKEpldJn/fACR18uXrMDvvwxM+rMZW4tzuRMEuxhoyEXtxPLdOLP52wrS6UzBSx6Q=="], "nuxt-component-meta": ["nuxt-component-meta@0.14.2", "", { "dependencies": { "@nuxt/kit": "^4.2.1", "citty": "^0.1.6", "json-schema-to-zod": "^2.6.1", "mlly": "^1.8.0", "ohash": "^2.0.11", "scule": "^1.3.0", "typescript": "^5.9.3", "ufo": "^1.6.1", "vue-component-meta": "^3.1.3" }, "bin": { "nuxt-component-meta": "bin/nuxt-component-meta.mjs" } }, "sha512-pxEnARUzRmq3zbOm8fJkWLPR8mL82NeP5Pu/iYff4otl6jPJwgC1Cbpz3Z77HlVeYVtzhSpQRsCSo/+296CwYw=="],
"nuxt-og-image": ["nuxt-og-image@5.1.13", "https://npmreg.proxy.ustclug.org/nuxt-og-image/-/nuxt-og-image-5.1.13.tgz", { "dependencies": { "@nuxt/devtools-kit": "3.1.1", "@nuxt/kit": "4.2.2", "@resvg/resvg-js": "2.6.2", "@resvg/resvg-wasm": "2.6.2", "@unocss/core": "66.5.11", "@unocss/preset-wind3": "66.5.11", "chrome-launcher": "1.2.1", "consola": "3.4.2", "defu": "6.1.4", "execa": "9.6.1", "image-size": "2.0.2", "magic-string": "0.30.21", "mocked-exports": "0.1.1", "nuxt-site-config": "3.2.14", "nypm": "0.6.2", "ofetch": "1.5.1", "ohash": "2.0.11", "pathe": "2.0.3", "pkg-types": "2.3.0", "playwright-core": "1.57.0", "radix3": "1.1.2", "satori": "0.18.3", "satori-html": "0.3.2", "sirv": "3.0.2", "std-env": "3.10.0", "strip-literal": "3.1.0", "ufo": "1.6.1", "unplugin": "2.3.11", "unwasm": "0.5.2", "yoga-wasm-web": "0.3.3" }, "peerDependencies": { "@unhead/vue": "2.1.1", "unstorage": "1.17.3" } }, "sha512-H9kqGlmcEb9agWURwT5iFQjbr7Ec7tcQHZZaYSpC/JXKq2/dFyRyAoo6oXTk6ob20dK9aNjkJDcX2XmgZy67+w=="], "nuxt-og-image": ["nuxt-og-image@5.1.13", "https://npmreg.proxy.ustclug.org/nuxt-og-image/-/nuxt-og-image-5.1.13.tgz", { "dependencies": { "@nuxt/devtools-kit": "3.1.1", "@nuxt/kit": "4.2.2", "@resvg/resvg-js": "2.6.2", "@resvg/resvg-wasm": "2.6.2", "@unocss/core": "66.5.11", "@unocss/preset-wind3": "66.5.11", "chrome-launcher": "1.2.1", "consola": "3.4.2", "defu": "6.1.4", "execa": "9.6.1", "image-size": "2.0.2", "magic-string": "0.30.21", "mocked-exports": "0.1.1", "nuxt-site-config": "3.2.14", "nypm": "0.6.2", "ofetch": "1.5.1", "ohash": "2.0.11", "pathe": "2.0.3", "pkg-types": "2.3.0", "playwright-core": "1.57.0", "radix3": "1.1.2", "satori": "0.18.3", "satori-html": "0.3.2", "sirv": "3.0.2", "std-env": "3.10.0", "strip-literal": "3.1.0", "ufo": "1.6.1", "unplugin": "2.3.11", "unwasm": "0.5.2", "yoga-wasm-web": "0.3.3" }, "peerDependencies": { "@unhead/vue": "2.1.1", "unstorage": "1.17.3" } }, "sha512-H9kqGlmcEb9agWURwT5iFQjbr7Ec7tcQHZZaYSpC/JXKq2/dFyRyAoo6oXTk6ob20dK9aNjkJDcX2XmgZy67+w=="],
@@ -1802,7 +1762,7 @@
"package-manager-detector": ["package-manager-detector@1.6.0", "https://npmreg.proxy.ustclug.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", {}, "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA=="], "package-manager-detector": ["package-manager-detector@1.6.0", "https://npmreg.proxy.ustclug.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", {}, "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA=="],
"pako": ["pako@1.0.11", "https://npmreg.proxy.ustclug.org/pako/-/pako-1.0.11.tgz", {}, "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="], "pako": ["pako@0.2.9", "https://npmreg.proxy.ustclug.org/pako/-/pako-0.2.9.tgz", {}, "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="],
"parent-module": ["parent-module@1.0.1", "https://npmreg.proxy.ustclug.org/parent-module/-/parent-module-1.0.1.tgz", { "dependencies": { "callsites": "3.1.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], "parent-module": ["parent-module@1.0.1", "https://npmreg.proxy.ustclug.org/parent-module/-/parent-module-1.0.1.tgz", { "dependencies": { "callsites": "3.1.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="],
@@ -1844,16 +1804,12 @@
"picomatch": ["picomatch@4.0.3", "https://npmreg.proxy.ustclug.org/picomatch/-/picomatch-4.0.3.tgz", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], "picomatch": ["picomatch@4.0.3", "https://npmreg.proxy.ustclug.org/picomatch/-/picomatch-4.0.3.tgz", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="],
"pify": ["pify@4.0.1", "https://npmreg.proxy.ustclug.org/pify/-/pify-4.0.1.tgz", {}, "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="],
"pkg-types": ["pkg-types@2.3.0", "https://npmreg.proxy.ustclug.org/pkg-types/-/pkg-types-2.3.0.tgz", { "dependencies": { "confbox": "0.2.2", "exsolve": "1.0.8", "pathe": "2.0.3" } }, "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig=="], "pkg-types": ["pkg-types@2.3.0", "https://npmreg.proxy.ustclug.org/pkg-types/-/pkg-types-2.3.0.tgz", { "dependencies": { "confbox": "0.2.2", "exsolve": "1.0.8", "pathe": "2.0.3" } }, "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig=="],
"playwright-core": ["playwright-core@1.57.0", "https://npmreg.proxy.ustclug.org/playwright-core/-/playwright-core-1.57.0.tgz", { "bin": { "playwright-core": "cli.js" } }, "sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ=="], "playwright-core": ["playwright-core@1.57.0", "https://npmreg.proxy.ustclug.org/playwright-core/-/playwright-core-1.57.0.tgz", { "bin": { "playwright-core": "cli.js" } }, "sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ=="],
"pluralize": ["pluralize@8.0.0", "https://npmreg.proxy.ustclug.org/pluralize/-/pluralize-8.0.0.tgz", {}, "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="], "pluralize": ["pluralize@8.0.0", "https://npmreg.proxy.ustclug.org/pluralize/-/pluralize-8.0.0.tgz", {}, "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="],
"possible-typed-array-names": ["possible-typed-array-names@1.1.0", "https://npmreg.proxy.ustclug.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", {}, "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg=="],
"postcss": ["postcss@8.5.6", "https://npmreg.proxy.ustclug.org/postcss/-/postcss-8.5.6.tgz", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], "postcss": ["postcss@8.5.6", "https://npmreg.proxy.ustclug.org/postcss/-/postcss-8.5.6.tgz", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="],
"postcss-calc": ["postcss-calc@10.1.1", "https://npmreg.proxy.ustclug.org/postcss-calc/-/postcss-calc-10.1.1.tgz", { "dependencies": { "postcss-selector-parser": "7.1.1", "postcss-value-parser": "4.2.0" }, "peerDependencies": { "postcss": "8.5.6" } }, "sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw=="], "postcss-calc": ["postcss-calc@10.1.1", "https://npmreg.proxy.ustclug.org/postcss-calc/-/postcss-calc-10.1.1.tgz", { "dependencies": { "postcss-selector-parser": "7.1.1", "postcss-value-parser": "4.2.0" }, "peerDependencies": { "postcss": "8.5.6" } }, "sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw=="],
@@ -2054,12 +2010,8 @@
"serve-static": ["serve-static@2.2.1", "https://npmreg.proxy.ustclug.org/serve-static/-/serve-static-2.2.1.tgz", { "dependencies": { "encodeurl": "2.0.0", "escape-html": "1.0.3", "parseurl": "1.3.3", "send": "1.2.1" } }, "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw=="], "serve-static": ["serve-static@2.2.1", "https://npmreg.proxy.ustclug.org/serve-static/-/serve-static-2.2.1.tgz", { "dependencies": { "encodeurl": "2.0.0", "escape-html": "1.0.3", "parseurl": "1.3.3", "send": "1.2.1" } }, "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw=="],
"set-function-length": ["set-function-length@1.2.2", "https://npmreg.proxy.ustclug.org/set-function-length/-/set-function-length-1.2.2.tgz", { "dependencies": { "define-data-property": "1.1.4", "es-errors": "1.3.0", "function-bind": "1.1.2", "get-intrinsic": "1.3.0", "gopd": "1.2.0", "has-property-descriptors": "1.0.2" } }, "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="],
"setprototypeof": ["setprototypeof@1.2.0", "https://npmreg.proxy.ustclug.org/setprototypeof/-/setprototypeof-1.2.0.tgz", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], "setprototypeof": ["setprototypeof@1.2.0", "https://npmreg.proxy.ustclug.org/setprototypeof/-/setprototypeof-1.2.0.tgz", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="],
"sha.js": ["sha.js@2.4.12", "https://npmreg.proxy.ustclug.org/sha.js/-/sha.js-2.4.12.tgz", { "dependencies": { "inherits": "2.0.4", "safe-buffer": "5.2.1", "to-buffer": "1.2.2" }, "bin": { "sha.js": "bin.js" } }, "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w=="],
"sharp": ["sharp@0.34.5", "https://npmreg.proxy.ustclug.org/sharp/-/sharp-0.34.5.tgz", { "dependencies": { "@img/colour": "1.0.0", "detect-libc": "2.1.2", "semver": "7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="], "sharp": ["sharp@0.34.5", "https://npmreg.proxy.ustclug.org/sharp/-/sharp-0.34.5.tgz", { "dependencies": { "@img/colour": "1.0.0", "detect-libc": "2.1.2", "semver": "7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="],
"shebang-command": ["shebang-command@2.0.0", "https://npmreg.proxy.ustclug.org/shebang-command/-/shebang-command-2.0.0.tgz", { "dependencies": { "shebang-regex": "3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], "shebang-command": ["shebang-command@2.0.0", "https://npmreg.proxy.ustclug.org/shebang-command/-/shebang-command-2.0.0.tgz", { "dependencies": { "shebang-regex": "3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="],
@@ -2188,8 +2140,6 @@
"tinyglobby": ["tinyglobby@0.2.15", "https://npmreg.proxy.ustclug.org/tinyglobby/-/tinyglobby-0.2.15.tgz", { "dependencies": { "fdir": "6.5.0", "picomatch": "4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], "tinyglobby": ["tinyglobby@0.2.15", "https://npmreg.proxy.ustclug.org/tinyglobby/-/tinyglobby-0.2.15.tgz", { "dependencies": { "fdir": "6.5.0", "picomatch": "4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="],
"to-buffer": ["to-buffer@1.2.2", "https://npmreg.proxy.ustclug.org/to-buffer/-/to-buffer-1.2.2.tgz", { "dependencies": { "isarray": "2.0.5", "safe-buffer": "5.2.1", "typed-array-buffer": "1.0.3" } }, "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw=="],
"to-regex-range": ["to-regex-range@5.0.1", "https://npmreg.proxy.ustclug.org/to-regex-range/-/to-regex-range-5.0.1.tgz", { "dependencies": { "is-number": "7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], "to-regex-range": ["to-regex-range@5.0.1", "https://npmreg.proxy.ustclug.org/to-regex-range/-/to-regex-range-5.0.1.tgz", { "dependencies": { "is-number": "7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="],
"to-valid-identifier": ["to-valid-identifier@1.0.0", "https://npmreg.proxy.ustclug.org/to-valid-identifier/-/to-valid-identifier-1.0.0.tgz", { "dependencies": { "@sindresorhus/base62": "1.0.0", "reserved-identifiers": "1.2.0" } }, "sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw=="], "to-valid-identifier": ["to-valid-identifier@1.0.0", "https://npmreg.proxy.ustclug.org/to-valid-identifier/-/to-valid-identifier-1.0.0.tgz", { "dependencies": { "@sindresorhus/base62": "1.0.0", "reserved-identifiers": "1.2.0" } }, "sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw=="],
@@ -2218,8 +2168,6 @@
"type-level-regexp": ["type-level-regexp@0.1.17", "https://npmreg.proxy.ustclug.org/type-level-regexp/-/type-level-regexp-0.1.17.tgz", {}, "sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg=="], "type-level-regexp": ["type-level-regexp@0.1.17", "https://npmreg.proxy.ustclug.org/type-level-regexp/-/type-level-regexp-0.1.17.tgz", {}, "sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg=="],
"typed-array-buffer": ["typed-array-buffer@1.0.3", "https://npmreg.proxy.ustclug.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", { "dependencies": { "call-bound": "1.0.4", "es-errors": "1.3.0", "is-typed-array": "1.1.15" } }, "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw=="],
"typescript": ["typescript@5.9.3", "https://npmreg.proxy.ustclug.org/typescript/-/typescript-5.9.3.tgz", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], "typescript": ["typescript@5.9.3", "https://npmreg.proxy.ustclug.org/typescript/-/typescript-5.9.3.tgz", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
"ufo": ["ufo@1.6.1", "https://npmreg.proxy.ustclug.org/ufo/-/ufo-1.6.1.tgz", {}, "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="], "ufo": ["ufo@1.6.1", "https://npmreg.proxy.ustclug.org/ufo/-/ufo-1.6.1.tgz", {}, "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="],
@@ -2332,8 +2280,6 @@
"which": ["which@2.0.2", "https://npmreg.proxy.ustclug.org/which/-/which-2.0.2.tgz", { "dependencies": { "isexe": "2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], "which": ["which@2.0.2", "https://npmreg.proxy.ustclug.org/which/-/which-2.0.2.tgz", { "dependencies": { "isexe": "2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="],
"which-typed-array": ["which-typed-array@1.1.19", "https://npmreg.proxy.ustclug.org/which-typed-array/-/which-typed-array-1.1.19.tgz", { "dependencies": { "available-typed-arrays": "1.0.7", "call-bind": "1.0.8", "call-bound": "1.0.4", "for-each": "0.3.5", "get-proto": "1.0.1", "gopd": "1.2.0", "has-tostringtag": "1.0.2" } }, "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw=="],
"word-wrap": ["word-wrap@1.2.5", "https://npmreg.proxy.ustclug.org/word-wrap/-/word-wrap-1.2.5.tgz", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], "word-wrap": ["word-wrap@1.2.5", "https://npmreg.proxy.ustclug.org/word-wrap/-/word-wrap-1.2.5.tgz", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="],
"wrap-ansi": ["wrap-ansi@7.0.0", "https://npmreg.proxy.ustclug.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", { "dependencies": { "ansi-styles": "4.3.0", "string-width": "4.2.3", "strip-ansi": "6.0.1" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], "wrap-ansi": ["wrap-ansi@7.0.0", "https://npmreg.proxy.ustclug.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", { "dependencies": { "ansi-styles": "4.3.0", "string-width": "4.2.3", "strip-ansi": "6.0.1" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
@@ -2418,6 +2364,8 @@
"@nuxt/cli/@clack/prompts": ["@clack/prompts@1.0.0-alpha.8", "https://npmreg.proxy.ustclug.org/@clack/prompts/-/prompts-1.0.0-alpha.8.tgz", { "dependencies": { "@clack/core": "1.0.0-alpha.7", "picocolors": "1.1.1", "sisteransi": "1.0.5" } }, "sha512-YZGC4BmTKSF5OturNKEz/y4xNjYGmGk6NI785CQucJ7OEdX0qbMmL/zok+9bL6c7qE3WSYffyK5grh2RnkGNtQ=="], "@nuxt/cli/@clack/prompts": ["@clack/prompts@1.0.0-alpha.8", "https://npmreg.proxy.ustclug.org/@clack/prompts/-/prompts-1.0.0-alpha.8.tgz", { "dependencies": { "@clack/core": "1.0.0-alpha.7", "picocolors": "1.1.1", "sisteransi": "1.0.5" } }, "sha512-YZGC4BmTKSF5OturNKEz/y4xNjYGmGk6NI785CQucJ7OEdX0qbMmL/zok+9bL6c7qE3WSYffyK5grh2RnkGNtQ=="],
"@nuxt/content/chokidar": ["chokidar@4.0.3", "https://npmreg.proxy.ustclug.org/chokidar/-/chokidar-4.0.3.tgz", { "dependencies": { "readdirp": "4.1.2" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="],
"@nuxt/content/minimatch": ["minimatch@10.1.1", "https://npmreg.proxy.ustclug.org/minimatch/-/minimatch-10.1.1.tgz", { "dependencies": { "@isaacs/brace-expansion": "5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="], "@nuxt/content/minimatch": ["minimatch@10.1.1", "https://npmreg.proxy.ustclug.org/minimatch/-/minimatch-10.1.1.tgz", { "dependencies": { "@isaacs/brace-expansion": "5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="],
"@nuxt/devtools/execa": ["execa@8.0.1", "https://npmreg.proxy.ustclug.org/execa/-/execa-8.0.1.tgz", { "dependencies": { "cross-spawn": "7.0.6", "get-stream": "8.0.1", "human-signals": "5.0.0", "is-stream": "3.0.0", "merge-stream": "2.0.0", "npm-run-path": "5.3.0", "onetime": "6.0.0", "signal-exit": "4.1.0", "strip-final-newline": "3.0.0" } }, "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg=="], "@nuxt/devtools/execa": ["execa@8.0.1", "https://npmreg.proxy.ustclug.org/execa/-/execa-8.0.1.tgz", { "dependencies": { "cross-spawn": "7.0.6", "get-stream": "8.0.1", "human-signals": "5.0.0", "is-stream": "3.0.0", "merge-stream": "2.0.0", "npm-run-path": "5.3.0", "onetime": "6.0.0", "signal-exit": "4.1.0", "strip-final-newline": "3.0.0" } }, "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg=="],
@@ -2584,8 +2532,6 @@
"unicode-properties/base64-js": ["base64-js@1.5.1", "https://npmreg.proxy.ustclug.org/base64-js/-/base64-js-1.5.1.tgz", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], "unicode-properties/base64-js": ["base64-js@1.5.1", "https://npmreg.proxy.ustclug.org/base64-js/-/base64-js-1.5.1.tgz", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="],
"unicode-trie/pako": ["pako@0.2.9", "https://npmreg.proxy.ustclug.org/pako/-/pako-0.2.9.tgz", {}, "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="],
"unimport/escape-string-regexp": ["escape-string-regexp@5.0.0", "https://npmreg.proxy.ustclug.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], "unimport/escape-string-regexp": ["escape-string-regexp@5.0.0", "https://npmreg.proxy.ustclug.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
"unstorage/chokidar": ["chokidar@4.0.3", "https://npmreg.proxy.ustclug.org/chokidar/-/chokidar-4.0.3.tgz", { "dependencies": { "readdirp": "4.1.2" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], "unstorage/chokidar": ["chokidar@4.0.3", "https://npmreg.proxy.ustclug.org/chokidar/-/chokidar-4.0.3.tgz", { "dependencies": { "readdirp": "4.1.2" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="],
@@ -2664,6 +2610,8 @@
"@nuxt/cli/@clack/prompts/@clack/core": ["@clack/core@1.0.0-alpha.7", "https://npmreg.proxy.ustclug.org/@clack/core/-/core-1.0.0-alpha.7.tgz", { "dependencies": { "picocolors": "1.1.1", "sisteransi": "1.0.5" } }, "sha512-3vdh6Ar09D14rVxJZIm3VQJkU+ZOKKT5I5cC0cOVazy70CNyYYjiwRj9unwalhESndgxx6bGc/m6Hhs4EKF5XQ=="], "@nuxt/cli/@clack/prompts/@clack/core": ["@clack/core@1.0.0-alpha.7", "https://npmreg.proxy.ustclug.org/@clack/core/-/core-1.0.0-alpha.7.tgz", { "dependencies": { "picocolors": "1.1.1", "sisteransi": "1.0.5" } }, "sha512-3vdh6Ar09D14rVxJZIm3VQJkU+ZOKKT5I5cC0cOVazy70CNyYYjiwRj9unwalhESndgxx6bGc/m6Hhs4EKF5XQ=="],
"@nuxt/content/chokidar/readdirp": ["readdirp@4.1.2", "https://npmreg.proxy.ustclug.org/readdirp/-/readdirp-4.1.2.tgz", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="],
"@nuxt/devtools-kit/execa/get-stream": ["get-stream@8.0.1", "https://npmreg.proxy.ustclug.org/get-stream/-/get-stream-8.0.1.tgz", {}, "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA=="], "@nuxt/devtools-kit/execa/get-stream": ["get-stream@8.0.1", "https://npmreg.proxy.ustclug.org/get-stream/-/get-stream-8.0.1.tgz", {}, "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA=="],
"@nuxt/devtools-kit/execa/human-signals": ["human-signals@5.0.0", "https://npmreg.proxy.ustclug.org/human-signals/-/human-signals-5.0.0.tgz", {}, "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ=="], "@nuxt/devtools-kit/execa/human-signals": ["human-signals@5.0.0", "https://npmreg.proxy.ustclug.org/human-signals/-/human-signals-5.0.0.tgz", {}, "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ=="],
@@ -2824,8 +2772,6 @@
"hast-util-raw/parse5/entities": ["entities@6.0.1", "https://npmreg.proxy.ustclug.org/entities/-/entities-6.0.1.tgz", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], "hast-util-raw/parse5/entities": ["entities@6.0.1", "https://npmreg.proxy.ustclug.org/entities/-/entities-6.0.1.tgz", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
"lazystream/readable-stream/isarray": ["isarray@1.0.0", "https://npmreg.proxy.ustclug.org/isarray/-/isarray-1.0.0.tgz", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="],
"lazystream/readable-stream/safe-buffer": ["safe-buffer@5.1.2", "https://npmreg.proxy.ustclug.org/safe-buffer/-/safe-buffer-5.1.2.tgz", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="], "lazystream/readable-stream/safe-buffer": ["safe-buffer@5.1.2", "https://npmreg.proxy.ustclug.org/safe-buffer/-/safe-buffer-5.1.2.tgz", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="],
"lazystream/readable-stream/string_decoder": ["string_decoder@1.1.1", "https://npmreg.proxy.ustclug.org/string_decoder/-/string_decoder-1.1.1.tgz", { "dependencies": { "safe-buffer": "5.1.2" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="], "lazystream/readable-stream/string_decoder": ["string_decoder@1.1.1", "https://npmreg.proxy.ustclug.org/string_decoder/-/string_decoder-1.1.1.tgz", { "dependencies": { "safe-buffer": "5.1.2" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="],

View File

@@ -1,11 +1,11 @@
--- ---
title: "在Windows下配置Fish" title: "在 Windows 下配置 Fish"
published: true published: true
date: 2025-10-03 date: 2025-10-03
updatedDate: 2025-10-03 updatedDate: 2025-10-03
description: "在Windows下配置Fish" description: "在 Windows 下配置 Fish"
image: https://img.rhen.cloud/file/Blog/1761401028478_PixPin_2025-10-03_15-44-52.png image: https://img.rhen.cloud/file/Blog/1761401028478_PixPin_2025-10-03_15-44-52.png
alt: "在Windows下配置Fish" alt: "在 Windows 下配置 Fish"
tags: ["Development", "Windows", "Fish"] tags: ["Development", "Windows", "Fish"]
categories: ["Technology"] categories: ["Technology"]
--- ---
@@ -18,15 +18,15 @@ categories: ["Technology"]
## 安装 Fish ## 安装 Fish
依据[Fish 官网](https://fishshell.com/),我们有三种方式在 Windows 上安装 Fish 依据 [Fish 官网](https://fishshell.com/),我们有三种方式在 Windows 上安装 Fish
- 通过 Cygwin 安装 - 通过 Cygwin 安装
- 通过 MSYS2 安装 - 通过 MSYS2 安装
- 通过 WSL 安装 - 通过 WSL 安装
~~作为一个Arch用户肯定是秒选用pacman做包管理的MSYS2。~~ ~~作为一个 Arch 用户,肯定是秒选用 pacman 做包管理的 MSYS2。~~
### 安装MSYS2 ### 安装 MSYS2
```bash ```bash
scoop install msys2 scoop install msys2
@@ -36,22 +36,22 @@ scoop install msys2
依照提示运行`msys2` 依照提示运行`msys2`
这样就成功进入MSYS2的环境了。 这样就成功进入 MSYS2 的环境了。
![PixPin_2025-10-03_15-29-07.png](https://img.rhen.cloud/file/Blog/1761401002178_PixPin_2025-10-03_15-29-07.png) ![PixPin_2025-10-03_15-29-07.png](https://img.rhen.cloud/file/Blog/1761401002178_PixPin_2025-10-03_15-29-07.png)
### 配置MSYS2 ### 配置 MSYS2
#### 更换软件源 #### 更换软件源
在MSYS2环境下运行 MSYS2 环境下运行:
```bash ```bash
sed -i "s#mirror.msys2.org/#mirrors.ustc.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist* sed -i "s#mirror.msys2.org/#mirrors.ustc.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
pacman -Syy pacman -Syy
``` ```
#### 更改home 目录 #### 更改 home 目录
修改`/etc/nsswitch.conf`文档 修改`/etc/nsswitch.conf`文档
@@ -71,12 +71,6 @@ db_gecos: cygwin desc
# End /etc/nsswitch.conf # End /etc/nsswitch.conf
``` ```
### 安装Fish 完成,可以愉快的使用 Fish 了!
```bash
pacman -S fish
```
完成可以愉快的使用Fish了
![PixPin_2025-10-03_15-44-52.png](https://img.rhen.cloud/file/Blog/1761401028478_PixPin_2025-10-03_15-44-52.png) ![PixPin_2025-10-03_15-44-52.png](https://img.rhen.cloud/file/Blog/1761401028478_PixPin_2025-10-03_15-44-52.png)

View File

@@ -1,11 +1,11 @@
--- ---
title: "在Windows下配置Fish1" title: "在 Windows 下配置 Fish1"
published: true published: true
date: 2025-10-05 date: 2025-10-05
updatedDate: 2025-10-03 updatedDate: 2025-10-03
description: "在Windows下配置Fish" description: "在 Windows 下配置 Fish"
image: https://img.rhen.cloud/file/Blog/1761401028478_PixPin_2025-10-03_15-44-52.png image: https://img.rhen.cloud/file/Blog/1761401028478_PixPin_2025-10-03_15-44-52.png
alt: "在Windows下配置Fish" alt: "在 Windows 下配置 Fish"
tags: ["Development", "Windows", "Fish"] tags: ["Development", "Windows", "Fish"]
categories: ["Technology"] categories: ["Technology"]
--- ---
@@ -18,15 +18,15 @@ categories: ["Technology"]
## 安装 Fish ## 安装 Fish
依据[Fish 官网](https://fishshell.com/),我们有三种方式在 Windows 上安装 Fish 依据 [Fish 官网](https://fishshell.com/),我们有三种方式在 Windows 上安装 Fish
- 通过 Cygwin 安装 - 通过 Cygwin 安装
- 通过 MSYS2 安装 - 通过 MSYS2 安装
- 通过 WSL 安装 - 通过 WSL 安装
~~作为一个Arch用户肯定是秒选用pacman做包管理的MSYS2。~~ ~~作为一个 Arch 用户,肯定是秒选用 pacman 做包管理的 MSYS2。~~
### 安装MSYS2 ### 安装 MSYS2
```bash ```bash
scoop install msys2 scoop install msys2
@@ -36,26 +36,26 @@ scoop install msys2
依照提示运行`msys2` 依照提示运行`msys2`
这样就成功进入MSYS2的环境了。 这样就成功进入 MSYS2 的环境了。
![PixPin_2025-10-03_15-29-07.png](https://img.rhen.cloud/file/Blog/1761401002178_PixPin_2025-10-03_15-29-07.png) ![PixPin_2025-10-03_15-29-07.png](https://img.rhen.cloud/file/Blog/1761401002178_PixPin_2025-10-03_15-29-07.png)
### 配置MSYS2 ### 配置 MSYS2
#### 更换软件源 #### 更换软件源
在MSYS2环境下运行 MSYS2 环境下运行:
```bash ```bash
sed -i "s#mirror.msys2.org/#mirrors.ustc.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist* sed -i "s#mirror.msys2.org/#mirrors.ustc.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
pacman -Syy pacman -Syy
``` ```
#### 更改home 目录 #### 更改 home 目录
修改`/etc/nsswitch.conf`文档 修改`/etc/nsswitch.conf`文档
```bash ```bash filename=/etc/nsswitch.conf
# Begin /etc/nsswitch.conf # Begin /etc/nsswitch.conf
passwd: files db passwd: files db
@@ -71,12 +71,6 @@ db_gecos: cygwin desc
# End /etc/nsswitch.conf # End /etc/nsswitch.conf
``` ```
### 安装Fish 完成,可以愉快的使用 Fish 了!
```bash
pacman -S fish
```
完成可以愉快的使用Fish了
![PixPin_2025-10-03_15-44-52.png](https://img.rhen.cloud/file/Blog/1761401028478_PixPin_2025-10-03_15-44-52.png) ![PixPin_2025-10-03_15-44-52.png](https://img.rhen.cloud/file/Blog/1761401028478_PixPin_2025-10-03_15-44-52.png)

View File

@@ -71,7 +71,7 @@ export default defineNuxtConfig({
colorMode: { colorMode: {
classSuffix: "", classSuffix: "",
preference: "dark", preference: "system",
fallback: "light", fallback: "light",
}, },
@@ -80,10 +80,14 @@ export default defineNuxtConfig({
build: { build: {
markdown: { markdown: {
toc: { toc: {
depth: 3, depth: 4,
}, },
highlight: { highlight: {
theme: "dracula", theme: {
default: "github-light",
dark: "github-dark",
light: "github-light",
},
langs: ["c"], langs: ["c"],
}, },
remarkPlugins: { remarkPlugins: {

View File

@@ -22,6 +22,7 @@
"node": "24.12.0" "node": "24.12.0"
}, },
"dependencies": { "dependencies": {
"@chinese-fonts/maple-mono-cn": "^2.0.0",
"@formkit/auto-animate": "0.9.0", "@formkit/auto-animate": "0.9.0",
"@nuxt/content": "3.8.2", "@nuxt/content": "3.8.2",
"@nuxt/fonts": "0.12.1", "@nuxt/fonts": "0.12.1",
@@ -38,6 +39,7 @@
"devDependencies": { "devDependencies": {
"@iconify-json/fa": "1.2.2", "@iconify-json/fa": "1.2.2",
"@iconify-json/fa-brands": "1.2.2", "@iconify-json/fa-brands": "1.2.2",
"@iconify-json/fa-regular": "^1.2.2",
"@iconify-json/fa-solid": "1.2.2", "@iconify-json/fa-solid": "1.2.2",
"@iconify-json/heroicons": "1.2.3", "@iconify-json/heroicons": "1.2.3",
"@iconify-json/heroicons-outline": "1.2.1", "@iconify-json/heroicons-outline": "1.2.1",