diff --git a/.gitignore b/.gitignore index a1dff6b..1a6b802 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ node_modules/ # VitePress -content/.vitepress/cache/ -content/.vitepress/dist/ +.vitepress/cache/ +.vitepress/dist/ diff --git a/.vitepress/config.ts b/.vitepress/config.ts new file mode 100644 index 0000000..8501e6c --- /dev/null +++ b/.vitepress/config.ts @@ -0,0 +1,77 @@ +import { defineConfigWithTheme } from 'vitepress' +import { createContainer } from './utils' +import { ThemeConfig } from './theme' +import tags from './tags' + +export default defineConfigWithTheme({ + title: 'SynBlog', + description: 'SynBlog v4 - Powered by VitePress', + + markdown: { + theme: { + light: 'github-light', + dark: 'one-dark-pro', + }, + + config(md) { + md.use(...createContainer('note', 'NOTE', md)) + .use(...createContainer('abstract', 'ABSTRACT', md)) + // info already added + // tip already added + .use(...createContainer('success', 'SUCCESS', md)) + .use(...createContainer('question', 'QUESTION', md)) + // warning already added + .use(...createContainer('failure', 'FAILURE', md)) + // danger already added + .use(...createContainer('bug', 'BUG', md)) + .use(...createContainer('example', 'EXAMPLE', md)) + .use(...createContainer('quote', 'QUOTE', md)) + }, + }, + + rewrites: { + 'pages/about/index.md': 'about/index.md', + 'pages/posts/index.md': 'posts/index.md', + 'pages/links/index.md': 'links/index.md', + 'pages/tags/index.md': 'tags/index.md', + 'pages/tags/:tag.md': 'tags/:tag.md', + }, + + ignoreDeadLinks: 'localhostLinks', + + themeConfig: { + tags, + nav: [ + { text: '文章', link: '/posts/' }, + { text: '友链', link: '/links/' }, + { text: '关于', link: '/about/' }, + ], + + socialLinks: [ + { icon: 'github', link: 'https://github.com/bsdayo' }, + { icon: 'x', link: 'https://twitter.com/konobsdayo' }, + ], + + giscus: { + host: 'https://giscus.app', + repo: 'bsdayo/blog', + repoId: 'R_kgDOJab-4g', + category: 'Comments', + categoryId: 'DIC_kwDOJab-4s4CWGFy', + mapping: 'pathname', + strict: '0', + reactionsEnabled: '0', + emitMetadata: '0', + inputPosition: 'top', + lang: 'zh-CN', + loading: 'lazy', + }, + + footer: { + message: + '若无特别声明,所有内容均采用 CC BY-NC-SA 4.0 协议授权', + copyright: + 'Copyright © 2024 bsdayo | GitHub', + }, + }, +}) diff --git a/.vitepress/posts.data.ts b/.vitepress/posts.data.ts new file mode 100644 index 0000000..0a7bdb7 --- /dev/null +++ b/.vitepress/posts.data.ts @@ -0,0 +1,43 @@ +import { createContentLoader } from 'vitepress' +import { Post } from './theme' + +const loader = createContentLoader('posts/**/index.md') +export default { + ...loader, + async load(): Promise { + const data = await loader.load() + return data + .map((content) => { + const post: Post = { + ...content, + id: /(?<=\/posts\/).*(?=\/)/.exec(content.url)![0], + title: content.frontmatter.title, + description: content.frontmatter.description, + create: content.frontmatter.create + ? new Date(content.frontmatter.create).getTime() + : Date.now(), + tags: content.frontmatter.tags ?? [], + } + return post + + // return { + // frontmatter: post.frontmatter, + // id: /(?<=\/posts\/).*(?=\/)/.exec(post.url)![0], + // title: post.frontmatter.title ?? 'Untitled Post', + // cover: post.frontmatter.cover, + // description: post.frontmatter.description, + // create: post.frontmatter.create + // ? new Date(post.frontmatter.create).getTime() + // : Date.now(), + // category: post.frontmatter.category, + // tags: post.frontmatter.tags ?? [], + // url: post.url.replace('index.html', ''), + // comment: !!(post.frontmatter.comment ?? true), + // } + }) + .sort((a, b) => b.create - a.create) + }, +} + +declare const data: Post[] +export { data } // 已经按时间顺序排序 diff --git a/content/.vitepress/tags.ts b/.vitepress/tags.ts similarity index 87% rename from content/.vitepress/tags.ts rename to .vitepress/tags.ts index dac2808..5902cc7 100644 --- a/content/.vitepress/tags.ts +++ b/.vitepress/tags.ts @@ -1,6 +1,6 @@ -import { Tag } from '../../theme/types/config' +import { ThemeConfig } from './theme' -const tags: Record = { +const tags: ThemeConfig['tags'] = { archlinux: ['Arch Linux', '#1793D1'], cpp: ['C++', '#00599C'], csharp: ['C#', '#239120'], diff --git a/.vitepress/theme/Layout.vue b/.vitepress/theme/Layout.vue new file mode 100644 index 0000000..bf48aad --- /dev/null +++ b/.vitepress/theme/Layout.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/.vitepress/theme/custom.scss b/.vitepress/theme/custom.scss new file mode 100644 index 0000000..ebe052a --- /dev/null +++ b/.vitepress/theme/custom.scss @@ -0,0 +1,72 @@ +$custom-blocks: ( + note: #4481ff, + abstract: #00b0ff, + info: #00b8d4, + tip: #00bfa5, + success: #00c853, + question: #64dd17, + warning: #ff9100, + failure: #ff5252, + danger: #ff1744, + bug: #f50057, + example: #7c4dff, + quote: #9e9e9e, +); + +:root { + --vp-font-family-mono: 'JetBrains Mono', ui-monospace, 'Menlo', 'Monaco', + 'Consolas', 'Liberation Mono', 'Courier New', monospace; + + --vp-c-brand-1: #0d47a1; + --vp-c-brand-2: #1565c0; + --vp-c-brand-3: #1976d2; +} + +.dark { + --vp-c-brand-1: #64b5f6; + --vp-c-brand-2: #1976d2; + --vp-c-brand-3: #1565c0; +} + +@each $name, $color in $custom-blocks { + :root { + --vp-custom-block-#{$name}-border: #{$color}; + --vp-custom-block-#{$name}-bg: #{rgba($color, 0.16)}; + --vp-custom-block-#{$name}-code-bg: #{rgba($color, 0.16)}; + } + + .custom-block.#{$name} { + border-color: var(--vp-custom-block-#{$name}-border); + background-color: var(--vp-custom-block-#{$name}-bg); + color: var(--vp-c-text-1); + + code { + background-color: var(--vp-custom-block-#{$name}-code-bg); + } + + blockquote { + border-left-color: var(--vp-custom-block-#{$name}-bg); + } + } +} + +.medium-zoom-overlay, +.medium-zoom-image--opened { + z-index: 99999; +} + +.vp-doc .img-alt { + text-align: center; + color: var(--vp-c-text-2); + margin-top: 8px; +} + +.VPHero .image-container { + @media (min-width: 960px) { + transform: none; + } + + img { + border-radius: 50%; + } +} diff --git a/.vitepress/theme/index.ts b/.vitepress/theme/index.ts new file mode 100644 index 0000000..4042798 --- /dev/null +++ b/.vitepress/theme/index.ts @@ -0,0 +1,26 @@ +import { DefaultTheme as DefaultThemeType, Theme, ContentData } from 'vitepress' +import DefaultTheme from 'vitepress/theme' +import Layout from './Layout.vue' +import { GiscusProps } from '@giscus/vue' +import './custom.scss' + +const theme: Theme = { + extends: DefaultTheme, + Layout, +} + +export default theme + +export interface ThemeConfig extends DefaultThemeType.Config { + giscus: GiscusProps + tags: Record +} + +export interface Post extends ContentData { + id: string + title: string + description?: string + create: number + category?: string + tags: string[] +} diff --git a/.vitepress/utils.ts b/.vitepress/utils.ts new file mode 100644 index 0000000..e6d45c5 --- /dev/null +++ b/.vitepress/utils.ts @@ -0,0 +1,32 @@ +import container from 'markdown-it-container' + +// https://github.com/vuejs/vitepress/blob/main/src/node/markdown/plugins/containers.ts + +// [typeof container, string, { render: RenderRule }] +type ContainerArgs = [any, string, { render: Function }] + +export function createContainer( + klass: string, + defaultTitle: string, + md: any // MarkdownIt +): ContainerArgs { + return [ + container, + klass, + { + render(tokens: any, idx: any, _options: any, env: any) { + const token = tokens[idx] + const info = token.info.trim().slice(klass.length).trim() + const attrs = md.renderer.renderAttrs(token) + if (token.nesting === 1) { + const title = md.renderInline(info || defaultTitle, { + references: env.references, + }) + if (klass === 'details') + return `
${title}\n` + return `

${title}

\n` + } else return klass === 'details' ? `
\n` : `\n` + }, + }, + ] +} diff --git a/README.md b/README.md index 70d1567..f1507c2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
-# BsBlog v4 +# SynBlog v4 Powered by VitePress & Vuetify @@ -8,8 +8,14 @@ Powered by VitePress & Vuetify **[主页](https://blog.bsdayo.moe/)** **|** -**[友链](https://blog.bsdayo.moe/links/)**/ +**[友链](https://blog.bsdayo.moe/links/)** **|** **[关于](https://blog.bsdayo.moe/about/)** -
\ No newline at end of file + + +## 协议 + +若无特别声明,所有内容均采用 [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh-hans) 协议授权 + +Copyright © 2024 bsdayo diff --git a/components/DateTag.vue b/components/DateTag.vue new file mode 100644 index 0000000..64c81a0 --- /dev/null +++ b/components/DateTag.vue @@ -0,0 +1,19 @@ + + + diff --git a/components/PostTag.vue b/components/PostTag.vue new file mode 100644 index 0000000..6c7c2a4 --- /dev/null +++ b/components/PostTag.vue @@ -0,0 +1,25 @@ + + + + + diff --git a/content/.vitepress/config.ts b/content/.vitepress/config.ts deleted file mode 100644 index 42cd5d7..0000000 --- a/content/.vitepress/config.ts +++ /dev/null @@ -1,131 +0,0 @@ -import { defineConfigWithTheme } from 'vitepress' -import vuetify from 'vite-plugin-vuetify' -import { BsBlogThemeConfig } from '../../theme/types/config' -import { createContainer } from './utils' -import tags from './tags' - -export default defineConfigWithTheme({ - title: 'BsBlog', - description: 'BsBlog v4 - Powered by VitePress', - - markdown: { - theme: { - light: 'github-light', - dark: 'github-dark', - }, - config(md) { - md.use(...createContainer('note', 'NOTE', md)) - .use(...createContainer('abstract', 'ABSTRACT', md)) - // info already added - // tip already added - .use(...createContainer('success', 'SUCCESS', md)) - .use(...createContainer('question', 'QUESTION', md)) - // warning already added - .use(...createContainer('failure', 'FAILURE', md)) - // danger already added - .use(...createContainer('bug', 'BUG', md)) - .use(...createContainer('example', 'EXAMPLE', md)) - .use(...createContainer('quote', 'QUOTE', md)) - }, - }, - - rewrites: { - 'pages/about/index.md': 'about/index.md', - 'pages/archives/index.md': 'archives/index.md', - 'pages/links/index.md': 'links/index.md', - 'pages/tags/index.md': 'tags/index.md', - 'pages/tags/:tag.md': 'tags/:tag.md', - }, - - ignoreDeadLinks: 'localhostLinks', - - transformPageData(pageData, { siteConfig }) { - if (!pageData.params?.tag) return - - const tagId = pageData.params.tag - const tag = (siteConfig.site.themeConfig as BsBlogThemeConfig).tags[tagId] - - pageData.title = `${pageData.title} - ${tag?.[0] ?? tagId}` - pageData.frontmatter.title = pageData.title - }, - - themeConfig: { - author: 'bsdayo', - bio: '分享技术,记录生活', - avatar: 'https://avatars.githubusercontent.com/u/41754841', - avatarBg: '/img/avatarBg.jpg', - defaultPostCover: 'https://cdn.vuetifyjs.com/images/parallax/material.jpg', - navLinks: [ - { - href: '/', - title: '首页', - icon: 'mdi-home', - }, - { - href: '/archives/', - title: '归档', - icon: 'mdi-clock', - }, - // { - // href: '/categories/', - // title: '分类', - // icon: 'mdi-shape', - // }, - { - href: '/tags/', - title: '标签', - icon: 'mdi-tag', - }, - { - href: '/links/', - title: '友链', - icon: 'mdi-link-variant', - }, - { - href: '/about/', - title: '关于', - icon: 'mdi-heart', - }, - ], - socialLinks: [ - { - href: 'https://github.com/bsdayo', - icon: 'si:github', - desc: 'GitHub', - }, - { - href: 'https://steamcommunity.com/id/bsdayo/', - icon: 'si:steam', - desc: 'Steam', - }, - { - href: 'https://space.bilibili.com/33268404', - icon: 'si:bilibili', - desc: 'BiliBili', - }, - ], - giscus: { - host: 'https://giscus.app', - repo: 'bsdayo/blog', - repoId: 'R_kgDOJab-4g', - category: 'Comments', - categoryId: 'DIC_kwDOJab-4s4CWGFy', - mapping: 'pathname', - strict: '0', - reactionsEnabled: '0', - emitMetadata: '0', - inputPosition: 'top', - lang: 'zh-CN', - loading: 'lazy', - }, - - tags, - }, - - vite: { - plugins: [vuetify({ autoImport: true })], - ssr: { - noExternal: ['vuetify'], - }, - }, -}) diff --git a/content/.vitepress/theme/index.ts b/content/.vitepress/theme/index.ts deleted file mode 100644 index f336087..0000000 --- a/content/.vitepress/theme/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import theme from '../../../theme' - -export default theme diff --git a/content/.vitepress/utils.ts b/content/.vitepress/utils.ts deleted file mode 100644 index 5c35b39..0000000 --- a/content/.vitepress/utils.ts +++ /dev/null @@ -1,30 +0,0 @@ -import container from 'markdown-it-container' - -// https://github.com/vuejs/vitepress/blob/main/src/node/markdown/plugins/containers.ts -type ContainerArgs = [typeof container, string, { render: Function }] - -export function createContainer( - klass: string, - defaultTitle: string, - md: any // MarkdownIt -): ContainerArgs { - return [ - container, - klass, - { - render(tokens: any, idx: any) { - const token = tokens[idx] - const info = token.info.trim().slice(klass.length).trim() - if (token.nesting === 1) { - const title = md.renderInline(info || defaultTitle) - if (klass === 'details') { - return `
${title}\n` - } - return `

${title}

\n` - } else { - return klass === 'details' ? `
\n` : `\n` - } - }, - }, - ] -} diff --git a/content/index.md b/content/index.md deleted file mode 100644 index 0dfcaaf..0000000 --- a/content/index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -type: home -title: 首页 -description: 欢迎! ---- - diff --git a/content/pages/about/SocialCards.vue b/content/pages/about/SocialCards.vue deleted file mode 100644 index fcbfd61..0000000 --- a/content/pages/about/SocialCards.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - - - \ No newline at end of file diff --git a/content/pages/archives/Timeline.vue b/content/pages/archives/Timeline.vue deleted file mode 100644 index dcbb1be..0000000 --- a/content/pages/archives/Timeline.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - \ No newline at end of file diff --git a/content/pages/archives/index.md b/content/pages/archives/index.md deleted file mode 100644 index 222e6b1..0000000 --- a/content/pages/archives/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 归档 ---- - - - - - \ No newline at end of file diff --git a/content/pages/links/LinkList.vue b/content/pages/links/LinkList.vue deleted file mode 100644 index 8273020..0000000 --- a/content/pages/links/LinkList.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - \ No newline at end of file diff --git a/content/pages/links/index.md b/content/pages/links/index.md deleted file mode 100644 index 90be47f..0000000 --- a/content/pages/links/index.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: 友情链接 -comment: true - -links: - - title: Restent Ou - desc: 静寂に問う 答えを求めて - avatar: https://library.gxres.net/images/icons/avatar.webp - url: https://www.gxres.net - - - title: LY 的博客 - desc: 自疏濯淖污泥之中,蝉蜕于浊秽,以浮游尘埃之外。 - avatar: https://avatars.githubusercontent.com/u/51789698?v=4 - url: https://Young-Lord.github.io - - - title: MBRjun-Blog - desc: MBRjun-Blog - avatar: https://cos.mbrjun.cn/PICS/LG4v3avatar144px.jpg - url: https://www.mbrjun.cn/ - - - title: Azure Zeng's Blog - desc: Azure Zeng 的小窝 - avatar: https://azurezeng.com/friendly-link-image.png - url: https://blog.azurezeng.com/ - - - title: Arisa | Blog - desc: Arisa 的个人博客 - avatar: https://blog.arisa.moe/assets/favicon.webp - url: https://blog.arisa.moe/ - - - title: tomato - desc: tomato的小窝 - avatar: https://www.tomato-aoarasi.com/static/image/avatar.jpg - url: https://wakaba.tomato-aoarasi.com - - - title: JR's Blog - desc: 这里是JR的小屋喵 - avatar: https://avatars.githubusercontent.com/u/40999116 - url: https://blog.jason0743.best/ - - - title: Awblogu - desc: 啊呜布洛咕 - avatar: https://blog.awbugl.top/images/avatar.jpg - url: https://blog.awbugl.top/ - - - title: NekoHouse - desc: Touching Fish - avatar: https://avatars.githubusercontent.com/u/23737348 - url: https://blog.amu.moe/ - - - title: 落雪咖啡屋 - desc: Lxns Network - avatar: https://lxns.net/static/avatar.jpg - url: https://lxns.net/ - - - title: Atmosphere - desc: IN PURSUIT OF FREEDOM - avatar: https://avatars.githubusercontent.com/u/17957399 - url: https://blog.awa.moe/ - - - title: Akula::Blog - desc: 悟已往之不谏,知来者之可追 - avatar: https://avatars.githubusercontent.com/u/33571798?v=4 - url: https://blog.akula.moe ---- - -::: tip 欢迎交换友链! - -- 名称:BsBlog -- 链接:[https://blog.bsdayo.moe/](https://blog.bsdayo.moe/) -- 头像:[https://avatars.githubusercontent.com/u/41754841](https://avatars.githubusercontent.com/u/41754841?v=4) -- 简介:怎么会是呢? - -~~(和我熟的话其实写什么都行 xxx)~~ -::: - -添加友链可以[在 GitHub 上修改本页面](https://github.com/bsdayo/blog/edit/main/content/pages/links/index.md),并提交 -Pull Request;或是直接在下面评论。记得带上类似上面的的格式哦~ - -排序不分先后,最近加的会放在列表顶部 qwq - - - - diff --git a/content/pages/tags/[tag].md b/content/pages/tags/[tag].md deleted file mode 100644 index 03f15ff..0000000 --- a/content/pages/tags/[tag].md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: 标签 -type: tag ---- \ No newline at end of file diff --git a/content/pages/tags/[tag].paths.ts b/content/pages/tags/[tag].paths.ts deleted file mode 100644 index dc436a8..0000000 --- a/content/pages/tags/[tag].paths.ts +++ /dev/null @@ -1,25 +0,0 @@ -import YAML from 'yaml' -import fs from 'fs' -import path from 'path' - -const postsDir = path.resolve(__dirname, '../../posts') -const fmRegex = /(?<=---\r?\n).*(?=\r?\n---\r?\n)/s - -export default { - paths() { - const files = fs.readdirSync(postsDir).map((dir) => path.resolve(postsDir, dir, 'index.md')) - const set = new Set() - for (const file of files) { - const md = fs.readFileSync(file, { encoding: 'utf-8' }) - const fm = md.match(fmRegex) - if (!fm) continue - const tags = YAML.parse(fm[0]).tags - if (!tags) continue - for (const tag of tags) - set.add(tag.trim()) - } - return Array.from(set).map(tag => { - return { params: { tag } } - }) - } -} \ No newline at end of file diff --git a/content/pages/tags/index.md b/content/pages/tags/index.md deleted file mode 100644 index 6010d1c..0000000 --- a/content/pages/tags/index.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: 标签 ---- - -## 当前已有 {{ tags.length }} 个标签 - - - - - - \ No newline at end of file diff --git a/content/posts/shenzhen-io-solutions/index.md b/content/posts/shenzhen-io-solutions/index.md deleted file mode 100644 index 1e446ae..0000000 --- a/content/posts/shenzhen-io-solutions/index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: 《深圳 I/O》部分个人解法 -create: 2023-10-06T08:23:26.322Z -cover: /img/covers/shenzhen-io-solutions.webp - -tags: - - game ---- - -仅摘取耗费了我许多时间思考,或十分感兴趣的关卡 - -## 红外线探测器 - 重要 - -- 产品成本:¥8 -- 电量使用:659 -- 代码行数:18 - -![连接图](./infrared-sensor.webp) - -``` -上方 MC4000 -================== - slx x0 - tlt x0 20 -- mov 100 p1 -+ mov 0 p1 -``` - -``` -下方 MC6000 -================== - mov 0 acc - tlt x2 x1 -+ jmp s_e -e_s: tlt p1 x2 -+ tcp p1 x1 -- jmp write - jmp end -s_e: tlt p1 x1 -- jmp end -+ tlt p1 x2 -+ jmp end -write: mov p0 acc -end: mov acc x0 - slp 1 -``` diff --git a/content/posts/shenzhen-io-solutions/infrared-sensor.webp b/content/posts/shenzhen-io-solutions/infrared-sensor.webp deleted file mode 100644 index a99cb81..0000000 Binary files a/content/posts/shenzhen-io-solutions/infrared-sensor.webp and /dev/null differ diff --git a/content/public/img/covers/deploy-aspnetcore-on-aliyun-fc.webp b/content/public/img/covers/deploy-aspnetcore-on-aliyun-fc.webp deleted file mode 100644 index 71d5fc0..0000000 Binary files a/content/public/img/covers/deploy-aspnetcore-on-aliyun-fc.webp and /dev/null differ diff --git a/content/public/img/covers/manually-compile-aseprite.jpg b/content/public/img/covers/manually-compile-aseprite.jpg deleted file mode 100644 index 038e6a8..0000000 Binary files a/content/public/img/covers/manually-compile-aseprite.jpg and /dev/null differ diff --git a/content/public/img/covers/memories-of-yukichan-arcaea-module.webp b/content/public/img/covers/memories-of-yukichan-arcaea-module.webp deleted file mode 100644 index c0bd390..0000000 Binary files a/content/public/img/covers/memories-of-yukichan-arcaea-module.webp and /dev/null differ diff --git a/content/public/img/covers/pku-geekgame-2023-writeup.webp b/content/public/img/covers/pku-geekgame-2023-writeup.webp deleted file mode 100644 index 582181b..0000000 Binary files a/content/public/img/covers/pku-geekgame-2023-writeup.webp and /dev/null differ diff --git a/content/public/img/covers/shenzhen-io-solutions.webp b/content/public/img/covers/shenzhen-io-solutions.webp deleted file mode 100644 index ac4747b..0000000 Binary files a/content/public/img/covers/shenzhen-io-solutions.webp and /dev/null differ diff --git a/content/public/img/covers/sign-git-commit-with-gpg.webp b/content/public/img/covers/sign-git-commit-with-gpg.webp deleted file mode 100644 index 65fb54e..0000000 Binary files a/content/public/img/covers/sign-git-commit-with-gpg.webp and /dev/null differ diff --git a/content/public/img/covers/testground.webp b/content/public/img/covers/testground.webp deleted file mode 100644 index 44683c2..0000000 Binary files a/content/public/img/covers/testground.webp and /dev/null differ diff --git a/content/public/img/covers/ubuntu-desktop-mac-style.webp b/content/public/img/covers/ubuntu-desktop-mac-style.webp deleted file mode 100644 index 527732d..0000000 Binary files a/content/public/img/covers/ubuntu-desktop-mac-style.webp and /dev/null differ diff --git a/content/public/img/covers/vscode-leetcode-with-csharp.webp b/content/public/img/covers/vscode-leetcode-with-csharp.webp deleted file mode 100644 index 83297bb..0000000 Binary files a/content/public/img/covers/vscode-leetcode-with-csharp.webp and /dev/null differ diff --git a/content/public/img/covers/wsl2-arch.webp b/content/public/img/covers/wsl2-arch.webp deleted file mode 100644 index 2feed5e..0000000 Binary files a/content/public/img/covers/wsl2-arch.webp and /dev/null differ diff --git a/index.md b/index.md new file mode 100644 index 0000000..b9c6511 --- /dev/null +++ b/index.md @@ -0,0 +1,23 @@ +--- +layout: home +title: 首页 + +hero: + name: SynBlog + text: 不是的记事小站 + tagline: Now built with VitePress! + image: + src: https://avatars.githubusercontent.com/u/41754841 + alt: Avatar + actions: + - theme: brand + text: 文章 + link: /posts/ + - theme: alt + text: 友链 + link: /links/ + - theme: alt + text: 关于 + link: /about/ +--- + diff --git a/package.json b/package.json index cdc39d8..8d4b59d 100644 --- a/package.json +++ b/package.json @@ -1,26 +1,27 @@ { "type": "module", "scripts": { - "dev": "vitepress dev content --host", - "build": "vitepress build content", - "preview": "vitepress preview content", + "dev": "vitepress dev . --host", + "build": "vitepress build .", + "preview": "vitepress preview .", "new": "node tools/new-post.js" }, "devDependencies": { - "@giscus/vue": "^2.3.0", - "@mdi/font": "^7.3.67", - "@types/markdown-it-container": "^2.0.8", - "@types/node": "^20.8.7", - "@types/webfontloader": "^1.6.36", - "markdown-it-container": "^3.0.0", - "medium-zoom": "^1.0.8", - "sass": "^1.69.4", - "simple-icons-font": "^9.18.0", - "vite-plugin-vuetify": "^1.0.2", - "vitepress": "1.0.0-rc.10", - "vue": "^3.3.5", - "vuetify": "^3.3.22", - "webfontloader": "^1.6.28", - "yaml": "^2.3.3" + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-brands-svg-icons": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/vue-fontawesome": "^3.0.6", + "@giscus/vue": "^2.4.0", + "@mdi/font": "^7.4.47", + "@types/markdown-it-container": "^2.0.10", + "@types/node": "^20.12.8", + "@types/webfontloader": "^1.6.38", + "markdown-it-container": "^4.0.0", + "medium-zoom": "^1.1.0", + "naive-ui": "^2.38.2", + "sass": "^1.76.0", + "vitepress": "^1.1.4", + "vue": "^3.4.26", + "webfontloader": "^1.6.28" } } \ No newline at end of file diff --git a/content/pages/about/index.md b/pages/about/index.md similarity index 64% rename from content/pages/about/index.md rename to pages/about/index.md index 292dc37..72d824d 100644 --- a/content/pages/about/index.md +++ b/pages/about/index.md @@ -3,40 +3,40 @@ title: 关于 comment: true --- +# 关于 + ## 关于自己 -> ~~苦逼高三生~~ 毕业了! +> ~~苦逼高三生~~ ~~毕业了!~~ 苦逼大一生 **开发方面** -- 自学过 Python、JS/TS、Node 等技术栈,现在稳定在 .NET/C#,且短时间内不打算更换 +- 自学过 Python、JS/TS、Node.js 等技术栈,现在稳定在 .NET/C#,且短时间内不打算更换 - 热衷于“折腾”,兴致来了会沉迷在钻研的过程,即便结果在事后看来/他人眼里并没有什么意义 -- 喜欢研究程序设计、代码美学(例如设计模式等),但算法方面基本一窍不通 +- 喜欢研究设计模式、底层原理,但算法方面很弱 - 总想写项目,但是经常想不到什么可写的 - 喜欢以各种设计模式重构已有项目 - 对开源事业抱有感恩和热情,但并不迷信 -- 相比硬件开发还是更喜欢软件 +- 相比硬件开发还是更喜欢软件/互联网 - 比较喜欢追最新的东西,或者版本 -- 对“创造”类技能(例如开发、建模、编曲)的学习热情比较大,但对“理论”类(例如算法、图形学)热情一般 **娱乐方面** - 目前主要活跃于 PC 端 - 有点电子 ED,玩一些游戏容易三分钟热度 - 游戏消费基本都在买游戏上,很少氪金 -- FPS 爱好者,但是手残 -- 命运 2 萌新玩家,目前打算玩下去 +- FPS 爱好者,但是手残(翻译:菜) +- 命运 2 萌新玩家,~~目前打算玩下去~~ 退坑了.jpg - 喜欢 MMORPG 或者带一些 MMO 属性的游戏,只是实际玩过的确实不太多 - 自动化类游戏爱好者,但中间隔太久没玩了,需要一个契机让我重新捡起来( - Minecraft 断断续续玩,一般和朋友一起 - 音游人,但是大部分已经退坑或半退坑,有时间和机会会去机厅出勤 -- 会打一点雀,但不多 +- 会打一点雀 - 舟游半退坑玩家 **其他方面** -- 术术/车万人,但不是骨灰级(让我答一个很偏的问题估计也答不上来 -- 数码爱好者,但是数码设备不多(没钱 -- 比较喜欢听歌,术曲居多,其次是日语歌,其他基本不怎么听 +- 术术/车万人 +- 数码爱好者 +- 比较喜欢听歌,绝大多数是术曲/日语歌,其他基本不怎么听 - 对平面设计比较感兴趣,自己做过一些但总是不尽人意 -- 想学日语,但是一直没正式开始 - 不善言辞,很多心里话表达不出来,经常为此很苦恼 - 不是也讨厌现充,但是和朋友能一起玩的很开心。面对不得已的交际正在学习给自己打气 - 面对生活并不认真,甚至很随意 @@ -48,22 +48,14 @@ comment: true 经历过 v1 的 Hexo、v2 用 Vue 从头写、v3 的 Hugo,博客 v4 终于还是来了... 这一次是基于 [VitePress](https://vitepress.dev/) 的纯前端 SSG 博客,虽然和 v2 一样还是基于 Vue,但是底层(例如 Markdown -处理、脚手架等等等等)就完全不用自己写了。自己用 Vuetify 组件库搭了一个 Material Design -风格的界面,目前还是挺满意的。 - -VitePress 好用的功能还是挺多的,比如直接在 Markdown 中使用 Vue 组件库(例如 Vuetify): - -这是一个 v-btn 组件 +处理、脚手架等等等等)就完全不用自己写了。魔改了一下默认主题,先用着试试 - +VitePress 好用的功能还是挺多的,比如直接在 Markdown 中使用 Vue 组件库(例如 Naive UI): - - 这是一个 v-card 组件 - - Action 1 - Action 2 - - + + 这是一个 NButton + 这是另一个 + 和一些内置的 [Markdown 扩展](https://vitepress.dev/guide/markdown)(这里我自己加了样式): @@ -71,18 +63,7 @@ VitePress 好用的功能还是挺多的,比如直接在 Markdown 中使用 Vu ♪sakana——\\(>○<\\)♪   `:fish:` → :fish: Emoji 支持 ::: -整个博客,包括文章、界面主题都[开源在了 GitHub 上](https://github.com/bsdayo/blog) - -## 其他平台 - -你还可以在这些地方找到我~ - - - - - +整个博客已经[开源在了 GitHub 上](https://github.com/bsdayo/blog),内容部分采用 CC BY-NC-SA 4.0 协议,其他部分采用 MIT 协议。 ## PGP 公钥 @@ -111,3 +92,8 @@ qcLLEny5ABdzm1oA/jDzid9T9giWo2/0e6a/xQYj4Jqt6JONvruKg027x3sA 这一次还是希望自己能坚持写下去x 底下的评论区就当个留言板罢 + + + \ No newline at end of file diff --git a/pages/links/LinkCard.vue b/pages/links/LinkCard.vue new file mode 100644 index 0000000..3feb80e --- /dev/null +++ b/pages/links/LinkCard.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/pages/links/example.yml b/pages/links/example.yml new file mode 100644 index 0000000..da00d1a --- /dev/null +++ b/pages/links/example.yml @@ -0,0 +1,8 @@ +- title: 站点标题! # [必须] 站点名称! + url: https://your.site.moe # [必须] 站点链接! + description: 站点描述! # [可选] 站点描述! + author: 你的名字! # [可选] 你的名字!(不需要带 @) + avatar: https://your.site.moe/avatar.jpg # [可选] 站点/你的头像! + socials: + github: bsdayo # [可选] GitHub 用户名 + x: konobsdayo # [可选] X (Twitter) 用户名 \ No newline at end of file diff --git a/pages/links/index.md b/pages/links/index.md new file mode 100644 index 0000000..95b4eb4 --- /dev/null +++ b/pages/links/index.md @@ -0,0 +1,120 @@ +--- +title: 友情链接 +comment: true + +links: + # 添加到列表顶部就好啦,以下是一个例子: + # - title: 站点标题! # [必须] 站点名称! + # url: https://your.site.moe # [必须] 站点链接! + # description: 站点描述! # [可选] 站点描述! + # author: 你的名字! # [可选] 你的名字!(不需要带 @) + # avatar: https://your.site.moe/avatar.jpg # [可选] 站点/你的头像! + # socials: + # github: bsdayo # [可选] GitHub 用户名 + # x: konobsdayo # [可选] X (Twitter) 用户名 + + - title: Restent Ou + description: 静寂に問う 答えを求めて + avatar: https://library.gxres.net/images/icons/avatar.webp + url: https://www.gxres.net + + - title: LY 的博客 + description: 自疏濯淖污泥之中,蝉蜕于浊秽,以浮游尘埃之外。 + author: Young-Lord + avatar: https://avatars.githubusercontent.com/u/51789698?v=4 + url: https://Young-Lord.github.io + socials: + github: Young-Lord + + - title: MBRjun-Blog + description: MBRjun-Blog + author: MBRjun + avatar: https://cos.mbrjun.cn/PICS/LG4v3avatar144px.jpg + url: https://www.mbrjun.cn/ + + - title: Azure Zeng's Blog + description: Azure Zeng 的小窝 + author: AzureZeng + avatar: https://azurezeng.com/friendly-link-image.png + url: https://blog.azurezeng.com/ + socials: + github: AzureZeng + + - title: Arisa | Blog + description: Arisa 的个人博客 + author: 秋葉亜里沙 + avatar: https://blog.arisa.moe/assets/favicon.webp + url: https://blog.arisa.moe/ + socials: + github: zhanbao2000 + + - title: tomato + description: tomato的小窝 + avatar: https://hatsune.tomato-aoarasi.com/blog/statics/icon/head.jpg + url: https://wakaba.tomato-aoarasi.com + + - title: JR's Blog + description: 这里是JR的小屋喵 + avatar: https://avatars.githubusercontent.com/u/40999116 + url: https://blog.jason0743.best/ + + - title: Awblogu + description: 啊呜布洛咕 + author: Awbugl + avatar: https://blog.awbugl.top/images/avatar.jpg + url: https://blog.awbugl.top/ + socials: + github: Awbugl + + - title: NekoHouse + description: Touching Fish + author: InariAimu + avatar: https://avatars.githubusercontent.com/u/23737348 + url: https://blog.amu.moe/ + socials: + github: InariAimu + + - title: 落雪咖啡屋 + description: Lxns Network + avatar: https://lxns.net/static/avatar.jpg + url: https://lxns.net/ + + - title: Atmosphere + description: IN PURSUIT OF FREEDOM + author: TheSnowfield + avatar: https://avatars.githubusercontent.com/u/17957399 + url: https://blog.awa.moe/ + socials: + github: TheSnowfield + + - title: Akula::Blog + description: 悟已往之不谏,知来者之可追 + author: AkuraKirov + avatar: https://avatars.githubusercontent.com/u/33571798?v=4 + url: https://blog.akula.moe + socials: + github: PhotonSPK +--- + +# 友情链接 + +欢迎交换友链~ + +<<< ./link.ts#me{ts} + +~~(和我熟的话其实写什么都行 xxx)~~ + +添加友链可以[在 GitHub 上修改本页面](https://github.com/bsdayo/blog/edit/main/content/pages/links/index.md),并提交 +Pull Request;或是直接在下面评论~ + +::: details 提交友链的详细格式! +<<< ./example.yml{yaml} +::: + +排序不分先后,最近加的会放在列表顶部 qwq + + + + diff --git a/pages/links/link.ts b/pages/links/link.ts new file mode 100644 index 0000000..18f1064 --- /dev/null +++ b/pages/links/link.ts @@ -0,0 +1,25 @@ +export default interface Link { + title: string + url: string + description?: string + author?: string + avatar?: string + socials?: { + github?: string + x?: string + } +} + +// #region me +const me: Link = { + title: 'SynBlog', + url: 'https://blog.bsdayo.moe', + description: '怎么会是呢?', + author: 'bsdayo', + avatar: 'https://avatars.githubusercontent.com/u/41754841', + socials: { + github: 'bsdayo', + x: 'konobsdayo', + }, +} +// #endregion me diff --git a/pages/posts/PostsPage.vue b/pages/posts/PostsPage.vue new file mode 100644 index 0000000..c76789d --- /dev/null +++ b/pages/posts/PostsPage.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/pages/posts/index.md b/pages/posts/index.md new file mode 100644 index 0000000..8f71233 --- /dev/null +++ b/pages/posts/index.md @@ -0,0 +1,9 @@ +--- +layout: page +--- + + + + \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5e02921..5cfa39a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,238 +1,168 @@ -lockfileVersion: '6.1' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -devDependencies: - '@giscus/vue': - specifier: ^2.3.0 - version: 2.3.0(vue@3.3.5) - '@mdi/font': - specifier: ^7.3.67 - version: 7.3.67 - '@types/markdown-it-container': - specifier: ^2.0.8 - version: 2.0.8 - '@types/node': - specifier: ^20.8.7 - version: 20.8.7 - '@types/webfontloader': - specifier: ^1.6.36 - version: 1.6.36 - markdown-it-container: - specifier: ^3.0.0 - version: 3.0.0 - medium-zoom: - specifier: ^1.0.8 - version: 1.0.8 - sass: - specifier: ^1.69.4 - version: 1.69.4 - simple-icons-font: - specifier: ^9.18.0 - version: 9.18.0 - vite-plugin-vuetify: - specifier: ^1.0.2 - version: 1.0.2(vite@4.5.0)(vue@3.3.5)(vuetify@3.3.22) - vitepress: - specifier: 1.0.0-rc.10 - version: 1.0.0-rc.10(@algolia/client-search@4.20.0)(@types/node@20.8.7)(sass@1.69.4)(search-insights@2.9.0) - vue: - specifier: ^3.3.5 - version: 3.3.5 - vuetify: - specifier: ^3.3.22 - version: 3.3.22(vite-plugin-vuetify@1.0.2)(vue@3.3.5) - webfontloader: - specifier: ^1.6.28 - version: 1.6.28 - yaml: - specifier: ^2.3.3 - version: 2.3.3 +importers: + + .: + devDependencies: + '@fortawesome/fontawesome-svg-core': + specifier: ^6.5.2 + version: 6.5.2 + '@fortawesome/free-brands-svg-icons': + specifier: ^6.5.2 + version: 6.5.2 + '@fortawesome/free-solid-svg-icons': + specifier: ^6.5.2 + version: 6.5.2 + '@fortawesome/vue-fontawesome': + specifier: ^3.0.6 + version: 3.0.6(@fortawesome/fontawesome-svg-core@6.5.2)(vue@3.4.26) + '@giscus/vue': + specifier: ^2.4.0 + version: 2.4.0(vue@3.4.26) + '@mdi/font': + specifier: ^7.4.47 + version: 7.4.47 + '@types/markdown-it-container': + specifier: ^2.0.10 + version: 2.0.10 + '@types/node': + specifier: ^20.12.8 + version: 20.12.8 + '@types/webfontloader': + specifier: ^1.6.38 + version: 1.6.38 + markdown-it-container: + specifier: ^4.0.0 + version: 4.0.0 + medium-zoom: + specifier: ^1.1.0 + version: 1.1.0 + naive-ui: + specifier: ^2.38.2 + version: 2.38.2(vue@3.4.26) + sass: + specifier: ^1.76.0 + version: 1.76.0 + vitepress: + specifier: ^1.1.4 + version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.8)(async-validator@4.2.5)(postcss@8.4.38)(sass@1.76.0)(search-insights@2.13.0) + vue: + specifier: ^3.4.26 + version: 3.4.26 + webfontloader: + specifier: ^1.6.28 + version: 1.6.28 packages: - /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.9.0): + '@algolia/autocomplete-core@1.9.3': resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.9.0) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - dev: true - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.9.0): + '@algolia/autocomplete-plugin-algolia-insights@1.9.3': resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' - dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) - search-insights: 2.9.0 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - dev: true - /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0): + '@algolia/autocomplete-preset-algolia@1.9.3': resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) - '@algolia/client-search': 4.20.0 - algoliasearch: 4.20.0 - dev: true - /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0): + '@algolia/autocomplete-shared@1.9.3': resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - dependencies: - '@algolia/client-search': 4.20.0 - algoliasearch: 4.20.0 - dev: true - /@algolia/cache-browser-local-storage@4.20.0: - resolution: {integrity: sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==} - dependencies: - '@algolia/cache-common': 4.20.0 - dev: true + '@algolia/cache-browser-local-storage@4.23.3': + resolution: {integrity: sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==} - /@algolia/cache-common@4.20.0: - resolution: {integrity: sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==} - dev: true + '@algolia/cache-common@4.23.3': + resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==} - /@algolia/cache-in-memory@4.20.0: - resolution: {integrity: sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==} - dependencies: - '@algolia/cache-common': 4.20.0 - dev: true + '@algolia/cache-in-memory@4.23.3': + resolution: {integrity: sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==} - /@algolia/client-account@4.20.0: - resolution: {integrity: sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==} - dependencies: - '@algolia/client-common': 4.20.0 - '@algolia/client-search': 4.20.0 - '@algolia/transporter': 4.20.0 - dev: true + '@algolia/client-account@4.23.3': + resolution: {integrity: sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==} - /@algolia/client-analytics@4.20.0: - resolution: {integrity: sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==} - dependencies: - '@algolia/client-common': 4.20.0 - '@algolia/client-search': 4.20.0 - '@algolia/requester-common': 4.20.0 - '@algolia/transporter': 4.20.0 - dev: true + '@algolia/client-analytics@4.23.3': + resolution: {integrity: sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==} - /@algolia/client-common@4.20.0: - resolution: {integrity: sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==} - dependencies: - '@algolia/requester-common': 4.20.0 - '@algolia/transporter': 4.20.0 - dev: true + '@algolia/client-common@4.23.3': + resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==} - /@algolia/client-personalization@4.20.0: - resolution: {integrity: sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==} - dependencies: - '@algolia/client-common': 4.20.0 - '@algolia/requester-common': 4.20.0 - '@algolia/transporter': 4.20.0 - dev: true + '@algolia/client-personalization@4.23.3': + resolution: {integrity: sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==} - /@algolia/client-search@4.20.0: - resolution: {integrity: sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==} - dependencies: - '@algolia/client-common': 4.20.0 - '@algolia/requester-common': 4.20.0 - '@algolia/transporter': 4.20.0 - dev: true + '@algolia/client-search@4.23.3': + resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==} - /@algolia/logger-common@4.20.0: - resolution: {integrity: sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==} - dev: true + '@algolia/logger-common@4.23.3': + resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==} - /@algolia/logger-console@4.20.0: - resolution: {integrity: sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==} - dependencies: - '@algolia/logger-common': 4.20.0 - dev: true + '@algolia/logger-console@4.23.3': + resolution: {integrity: sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==} - /@algolia/requester-browser-xhr@4.20.0: - resolution: {integrity: sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==} - dependencies: - '@algolia/requester-common': 4.20.0 - dev: true + '@algolia/recommend@4.23.3': + resolution: {integrity: sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==} - /@algolia/requester-common@4.20.0: - resolution: {integrity: sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==} - dev: true + '@algolia/requester-browser-xhr@4.23.3': + resolution: {integrity: sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==} - /@algolia/requester-node-http@4.20.0: - resolution: {integrity: sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==} - dependencies: - '@algolia/requester-common': 4.20.0 - dev: true + '@algolia/requester-common@4.23.3': + resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==} - /@algolia/transporter@4.20.0: - resolution: {integrity: sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==} - dependencies: - '@algolia/cache-common': 4.20.0 - '@algolia/logger-common': 4.20.0 - '@algolia/requester-common': 4.20.0 - dev: true + '@algolia/requester-node-http@4.23.3': + resolution: {integrity: sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==} - /@babel/helper-string-parser@7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + '@algolia/transporter@4.23.3': + resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==} + + '@babel/helper-string-parser@7.24.1': + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + '@babel/helper-validator-identifier@7.24.5': + resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} engines: {node: '>=6.9.0'} - dev: true - /@babel/parser@7.23.0: - resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} + '@babel/parser@7.24.5': + resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} engines: {node: '>=6.0.0'} hasBin: true - dependencies: - '@babel/types': 7.23.0 - dev: true - /@babel/types@7.23.0: - resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} + '@babel/runtime@7.24.5': + resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: true - /@docsearch/css@3.5.2: - resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} - dev: true + '@babel/types@7.24.5': + resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} + engines: {node: '>=6.9.0'} - /@docsearch/js@3.5.2(@algolia/client-search@4.20.0)(search-insights@2.9.0): - resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==} - dependencies: - '@docsearch/react': 3.5.2(@algolia/client-search@4.20.0)(search-insights@2.9.0) - preact: 10.18.1 - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/react' - - react - - react-dom - - search-insights - dev: true + '@css-render/plugin-bem@0.15.12': + resolution: {integrity: sha512-Lq2jSOZn+wYQtsyaFj6QRz2EzAnd3iW5fZeHO1WSXQdVYwvwGX0ZiH3X2JQgtgYLT1yeGtrwrqJdNdMEUD2xTw==} + peerDependencies: + css-render: ~0.15.12 + + '@css-render/vue3-ssr@0.15.12': + resolution: {integrity: sha512-AQLGhhaE0F+rwybRCkKUdzBdTEM/5PZBYy+fSYe1T9z9+yxMuV/k7ZRqa4M69X+EI1W8pa4kc9Iq2VjQkZx4rg==} + peerDependencies: + vue: ^3.0.11 + + '@docsearch/css@3.6.0': + resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} - /@docsearch/react@3.5.2(@algolia/client-search@4.20.0)(search-insights@2.9.0): - resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} + '@docsearch/js@3.6.0': + resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==} + + '@docsearch/react@3.6.0': + resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0' @@ -247,393 +177,364 @@ packages: optional: true search-insights: optional: true - dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.9.0) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) - '@docsearch/css': 3.5.2 - algoliasearch: 4.20.0 - search-insights: 2.9.0 - transitivePeerDependencies: - - '@algolia/client-search' - dev: true - /@esbuild/android-arm64@0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + '@emotion/hash@0.8.0': + resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} + + '@esbuild/aix-ppc64@0.20.2': + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.20.2': + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + '@esbuild/android-arm@0.20.2': + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + '@esbuild/android-x64@0.20.2': + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + '@esbuild/darwin-arm64@0.20.2': + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + '@esbuild/darwin-x64@0.20.2': + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + '@esbuild/freebsd-arm64@0.20.2': + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + '@esbuild/freebsd-x64@0.20.2': + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + '@esbuild/linux-arm64@0.20.2': + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + '@esbuild/linux-arm@0.20.2': + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + '@esbuild/linux-ia32@0.20.2': + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + '@esbuild/linux-loong64@0.20.2': + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + '@esbuild/linux-mips64el@0.20.2': + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + '@esbuild/linux-ppc64@0.20.2': + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + '@esbuild/linux-riscv64@0.20.2': + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + '@esbuild/linux-s390x@0.20.2': + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + '@esbuild/linux-x64@0.20.2': + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + '@esbuild/netbsd-x64@0.20.2': + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + '@esbuild/openbsd-x64@0.20.2': + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + '@esbuild/sunos-x64@0.20.2': + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + '@esbuild/win32-arm64@0.20.2': + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + '@esbuild/win32-ia32@0.20.2': + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + '@esbuild/win32-x64@0.20.2': + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@giscus/vue@2.3.0(vue@3.3.5): - resolution: {integrity: sha512-ZZ1ZRqRwoHEfYpepSozU4HKjvCQ/4PjVt6P391/c0F4ly1i57OUup2h6Pd+l7dUnh9j7fbqUp6CfFk5+99S3Jw==} + '@fortawesome/fontawesome-common-types@6.5.2': + resolution: {integrity: sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==} + engines: {node: '>=6'} + + '@fortawesome/fontawesome-svg-core@6.5.2': + resolution: {integrity: sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==} + engines: {node: '>=6'} + + '@fortawesome/free-brands-svg-icons@6.5.2': + resolution: {integrity: sha512-zi5FNYdmKLnEc0jc0uuHH17kz/hfYTg4Uei0wMGzcoCL/4d3WM3u1VMc0iGGa31HuhV5i7ZK8ZlTCQrHqRHSGQ==} + engines: {node: '>=6'} + + '@fortawesome/free-solid-svg-icons@6.5.2': + resolution: {integrity: sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==} + engines: {node: '>=6'} + + '@fortawesome/vue-fontawesome@3.0.6': + resolution: {integrity: sha512-akrL7lTroyNpPkoHtvK2UpsMzJr6jXdHaQ0YdcwqDsB8jdwlpNHZYijpOUd9KJsARr+VB3WXY4EyObepqJ4ytQ==} + peerDependencies: + '@fortawesome/fontawesome-svg-core': ~1 || ~6 + vue: '>= 3.0.0 < 4' + + '@giscus/vue@2.4.0': + resolution: {integrity: sha512-QOxKHgsMT91myyQagP2v20YYAei1ByZuc3qcaYxbHx4AwOeyVrybDIuRFwG9YDv6OraC86jYnU4Ixd37ddC/0A==} peerDependencies: vue: '>=3.2.0' - dependencies: - giscus: 1.3.0 - vue: 3.3.5 - dev: true - /@jridgewell/sourcemap-codec@1.4.15: + '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - /@lit-labs/ssr-dom-shim@1.1.2: - resolution: {integrity: sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==} - dev: true + '@juggle/resize-observer@3.4.0': + resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} - /@lit/reactive-element@1.6.3: - resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==} - dependencies: - '@lit-labs/ssr-dom-shim': 1.1.2 - dev: true + '@lit-labs/ssr-dom-shim@1.2.0': + resolution: {integrity: sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==} - /@mdi/font@7.3.67: - resolution: {integrity: sha512-SWxvzRbUQRfewlIV+OF4/YF4DkeTjMWoT8Hh9yeU/5UBVdJZj9Uf4a9+cXjknSIhIaMxZ/4N1O/s7ojApOOGjg==} - dev: true + '@lit/reactive-element@2.0.4': + resolution: {integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==} - /@types/linkify-it@3.0.4: - resolution: {integrity: sha512-hPpIeeHb/2UuCw06kSNAOVWgehBLXEo0/fUs0mw3W2qhqX89PI2yvok83MnuctYGCPrabGIoi0fFso4DQ+sNUQ==} - dev: true + '@mdi/font@7.4.47': + resolution: {integrity: sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==} - /@types/markdown-it-container@2.0.8: - resolution: {integrity: sha512-epl+pYkAXmMOncHnp0uWsGkM00r/+5ClRAiQJz7iX3NX5cydJcBkIJEPkORpL9DSgunXpXkZt9spYHbJPuSJZw==} - dependencies: - '@types/markdown-it': 13.0.4 - dev: true + '@rollup/rollup-android-arm-eabi@4.17.2': + resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==} + cpu: [arm] + os: [android] - /@types/markdown-it@13.0.4: - resolution: {integrity: sha512-FAIUdEXrCDnQmAAmJC+UeW/3p0eCI4QZ/+W0lX/h83VD3v78IgTFYftjnAeXS8H0g4PFQCgipc51cQDA8tjgLw==} - dependencies: - '@types/linkify-it': 3.0.4 - '@types/mdurl': 1.0.4 - dev: true + '@rollup/rollup-android-arm64@4.17.2': + resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==} + cpu: [arm64] + os: [android] - /@types/mdurl@1.0.4: - resolution: {integrity: sha512-ARVxjAEX5TARFRzpDRVC6cEk0hUIXCCwaMhz8y7S1/PxU6zZS1UMjyobz7q4w/D/R552r4++EhwmXK1N2rAy0A==} - dev: true + '@rollup/rollup-darwin-arm64@4.17.2': + resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==} + cpu: [arm64] + os: [darwin] - /@types/node@20.8.7: - resolution: {integrity: sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==} - dependencies: - undici-types: 5.25.3 - dev: true + '@rollup/rollup-darwin-x64@4.17.2': + resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==} + cpu: [x64] + os: [darwin] - /@types/trusted-types@2.0.5: - resolution: {integrity: sha512-I3pkr8j/6tmQtKV/ZzHtuaqYSQvyjGRKH4go60Rr0IDLlFxuRT5V32uvB1mecM5G1EVAUyF/4r4QZ1GHgz+mxA==} - dev: true + '@rollup/rollup-linux-arm-gnueabihf@4.17.2': + resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==} + cpu: [arm] + os: [linux] - /@types/web-bluetooth@0.0.18: - resolution: {integrity: sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==} - dev: true + '@rollup/rollup-linux-arm-musleabihf@4.17.2': + resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==} + cpu: [arm] + os: [linux] - /@types/webfontloader@1.6.36: - resolution: {integrity: sha512-zi18nVXGF9m7GFqWCJHZvu1Hxzcsr7B+FFExY9cbuOzq60sqOiaDW1X1BUoDUwQaXxWaiDYXOgFHnlsnSvPasw==} - dev: true + '@rollup/rollup-linux-arm64-gnu@4.17.2': + resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==} + cpu: [arm64] + os: [linux] - /@vue/compiler-core@3.3.5: - resolution: {integrity: sha512-S8Ma+eICI40Y4UotR+iKR729Bma+wERn/xLc+Jz203s5WIW1Sx3qoiONqXGg3Q4vBMa+QHDncULya19ZSJuhog==} - dependencies: - '@babel/parser': 7.23.0 - '@vue/shared': 3.3.5 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - dev: true + '@rollup/rollup-linux-arm64-musl@4.17.2': + resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==} + cpu: [arm64] + os: [linux] - /@vue/compiler-dom@3.3.5: - resolution: {integrity: sha512-dxt6QntN9T/NtnV6Pz+/nmcoo3ULnsYCnRpvEyY73wbk1tzzx7dnwngUN1cXkyGNu9c3UE7llhq/5T54lKwyhQ==} - dependencies: - '@vue/compiler-core': 3.3.5 - '@vue/shared': 3.3.5 - dev: true + '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': + resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==} + cpu: [ppc64] + os: [linux] - /@vue/compiler-sfc@3.3.5: - resolution: {integrity: sha512-M6ys4iReSbrF4NTcMCnJiBioCpzXjfkfXwkdziknRyps+pG0DkwpDfQT7zQ0q91/rCR/Ejz64b5H6C4HBhX41w==} - dependencies: - '@babel/parser': 7.23.0 - '@vue/compiler-core': 3.3.5 - '@vue/compiler-dom': 3.3.5 - '@vue/compiler-ssr': 3.3.5 - '@vue/reactivity-transform': 3.3.5 - '@vue/shared': 3.3.5 - estree-walker: 2.0.2 - magic-string: 0.30.5 - postcss: 8.4.31 - source-map-js: 1.0.2 - dev: true + '@rollup/rollup-linux-riscv64-gnu@4.17.2': + resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==} + cpu: [riscv64] + os: [linux] - /@vue/compiler-ssr@3.3.5: - resolution: {integrity: sha512-v7p2XuEpOcgjd6c49NqOnq3UTJOv5Uo9tirOyGnEadwxTov2O1J3/TUt4SgAAnwA+9gcUyH5c3lIOFsBe+UIyw==} - dependencies: - '@vue/compiler-dom': 3.3.5 - '@vue/shared': 3.3.5 - dev: true + '@rollup/rollup-linux-s390x-gnu@4.17.2': + resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==} + cpu: [s390x] + os: [linux] - /@vue/devtools-api@6.5.1: - resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} - dev: true + '@rollup/rollup-linux-x64-gnu@4.17.2': + resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==} + cpu: [x64] + os: [linux] - /@vue/reactivity-transform@3.3.5: - resolution: {integrity: sha512-OhpBD1H32pIapRzqy31hWwTFLf9STP+0uk5bVOQWXACTa2Rt/RPhvX4zixbPgMGo6iP+S+tFpZzUdcG8AASn8A==} - dependencies: - '@babel/parser': 7.23.0 - '@vue/compiler-core': 3.3.5 - '@vue/shared': 3.3.5 - estree-walker: 2.0.2 - magic-string: 0.30.5 - dev: true + '@rollup/rollup-linux-x64-musl@4.17.2': + resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==} + cpu: [x64] + os: [linux] - /@vue/reactivity@3.3.5: - resolution: {integrity: sha512-P7OBfPjsbV5lDCwZQDtWFqPh3uAP3Q6bRqYVgsYr6ki7jiaiHGSLmeaevUi+Nkev8nhublUpApnWevNiACN3sw==} - dependencies: - '@vue/shared': 3.3.5 - dev: true + '@rollup/rollup-win32-arm64-msvc@4.17.2': + resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==} + cpu: [arm64] + os: [win32] - /@vue/runtime-core@3.3.5: - resolution: {integrity: sha512-kxAW3fTzwzZQqiHV1SndTtLMlNfJ/bsvcYku6NDuPzTeG6sMOAIXvuz6N5NUox+P7sNCInESbSOrPMMvtWx3vA==} - dependencies: - '@vue/reactivity': 3.3.5 - '@vue/shared': 3.3.5 - dev: true + '@rollup/rollup-win32-ia32-msvc@4.17.2': + resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==} + cpu: [ia32] + os: [win32] - /@vue/runtime-dom@3.3.5: - resolution: {integrity: sha512-seYSeHmBNlTrR0eFyQFocEBtzljNlKzC2JfdebfBqoEmikyNYzLWTouv71DignLFXEXZKWNTqCIs4d7dk5Q3Ng==} - dependencies: - '@vue/runtime-core': 3.3.5 - '@vue/shared': 3.3.5 - csstype: 3.1.2 - dev: true + '@rollup/rollup-win32-x64-msvc@4.17.2': + resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==} + cpu: [x64] + os: [win32] - /@vue/server-renderer@3.3.5(vue@3.3.5): - resolution: {integrity: sha512-7VIZkohYn8GAnNT9chrm0vDpHJ6mWPL+TmUBKtDWcWxYcq33YJP/VHCPQN5TazkxXCtv3c1KfXAMZowX4giLoQ==} + '@shikijs/core@1.4.0': + resolution: {integrity: sha512-CxpKLntAi64h3j+TwWqVIQObPTED0FyXLHTTh3MKXtqiQNn2JGcMQQ362LftDbc9kYbDtrksNMNoVmVXzKFYUQ==} + + '@shikijs/transformers@1.4.0': + resolution: {integrity: sha512-kzvlWmWYYSeaLKRce/kgmFFORUtBtFahfXRKndor0b60ocYiXufBQM6d6w1PlMuUkdk55aor9xLvy9wy7hTEJg==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/katex@0.16.7': + resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} + + '@types/linkify-it@5.0.0': + resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} + + '@types/lodash-es@4.17.12': + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + + '@types/lodash@4.17.1': + resolution: {integrity: sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q==} + + '@types/markdown-it-container@2.0.10': + resolution: {integrity: sha512-zv+YxrlSYRq51e9kzm3orv4OvF4U79Ll1OyplNXr00o4ZC/8PukJk/jEWH7CnsMtrSWZlyv0czhz42jm9J4uLw==} + + '@types/markdown-it@14.1.1': + resolution: {integrity: sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==} + + '@types/mdurl@2.0.0': + resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + + '@types/node@20.12.8': + resolution: {integrity: sha512-NU0rJLJnshZWdE/097cdCBbyW1h4hEg0xpovcoAQYHl8dnEyp/NAOiE45pvc+Bd1Dt+2r94v2eGFpQJ4R7g+2w==} + + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + + '@types/web-bluetooth@0.0.20': + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + + '@types/webfontloader@1.6.38': + resolution: {integrity: sha512-kUaF72Fv202suFx6yBrwXqeVRMx7hGtJTesyESZgn9sEPCUeDXm2p0SiyS1MTqW74nQP4p7JyrOCwZ7pNFns4w==} + + '@vitejs/plugin-vue@5.0.4': + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vue: 3.3.5 - dependencies: - '@vue/compiler-ssr': 3.3.5 - '@vue/shared': 3.3.5 - vue: 3.3.5 - dev: true + vite: ^5.0.0 + vue: ^3.2.25 + + '@vue/compiler-core@3.4.26': + resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==} - /@vue/shared@3.3.5: - resolution: {integrity: sha512-oNJN1rCtkqm1cIxU1BuZVEVRWIp4DhaxXucEzzZ/iDKHP71ZxhkBPNK+URySiECH6aiOZzC60PS2bd6JFznvNA==} - dev: true + '@vue/compiler-dom@3.4.26': + resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==} - /@vuetify/loader-shared@1.7.1(vue@3.3.5)(vuetify@3.3.22): - resolution: {integrity: sha512-kLUvuAed6RCvkeeTNJzuy14pqnkur8lTuner7v7pNE/kVhPR97TuyXwBSBMR1cJeiLiOfu6SF5XlCYbXByEx1g==} + '@vue/compiler-sfc@3.4.26': + resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==} + + '@vue/compiler-ssr@3.4.26': + resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==} + + '@vue/devtools-api@7.1.3': + resolution: {integrity: sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==} + + '@vue/devtools-kit@7.1.3': + resolution: {integrity: sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==} peerDependencies: vue: ^3.0.0 - vuetify: ^3.0.0-beta.4 - dependencies: - find-cache-dir: 3.3.2 - upath: 2.0.1 - vue: 3.3.5 - vuetify: 3.3.22(vite-plugin-vuetify@1.0.2)(vue@3.3.5) - dev: true - /@vueuse/core@10.5.0(vue@3.3.5): - resolution: {integrity: sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==} - dependencies: - '@types/web-bluetooth': 0.0.18 - '@vueuse/metadata': 10.5.0 - '@vueuse/shared': 10.5.0(vue@3.3.5) - vue-demi: 0.14.6(vue@3.3.5) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: true + '@vue/devtools-shared@7.1.3': + resolution: {integrity: sha512-KJ3AfgjTn3tJz/XKF+BlVShNPecim3G21oHRue+YQOsooW+0s+qXvm09U09aO7yBza5SivL1QgxSrzAbiKWjhQ==} - /@vueuse/integrations@10.5.0(focus-trap@7.5.4)(vue@3.3.5): - resolution: {integrity: sha512-fm5sXLCK0Ww3rRnzqnCQRmfjDURaI4xMsx+T+cec0ngQqHx/JgUtm8G0vRjwtonIeTBsH1Q8L3SucE+7K7upJQ==} + '@vue/reactivity@3.4.26': + resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==} + + '@vue/runtime-core@3.4.26': + resolution: {integrity: sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==} + + '@vue/runtime-dom@3.4.26': + resolution: {integrity: sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==} + + '@vue/server-renderer@3.4.26': + resolution: {integrity: sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==} + peerDependencies: + vue: 3.4.26 + + '@vue/shared@3.4.26': + resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==} + + '@vueuse/core@10.9.0': + resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} + + '@vueuse/integrations@10.9.0': + resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} peerDependencies: async-validator: '*' axios: '*' @@ -672,451 +573,242 @@ packages: optional: true universal-cookie: optional: true - dependencies: - '@vueuse/core': 10.5.0(vue@3.3.5) - '@vueuse/shared': 10.5.0(vue@3.3.5) - focus-trap: 7.5.4 - vue-demi: 0.14.6(vue@3.3.5) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: true - /@vueuse/metadata@10.5.0: - resolution: {integrity: sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==} - dev: true + '@vueuse/metadata@10.9.0': + resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} - /@vueuse/shared@10.5.0(vue@3.3.5): - resolution: {integrity: sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==} - dependencies: - vue-demi: 0.14.6(vue@3.3.5) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: true - - /algoliasearch@4.20.0: - resolution: {integrity: sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==} - dependencies: - '@algolia/cache-browser-local-storage': 4.20.0 - '@algolia/cache-common': 4.20.0 - '@algolia/cache-in-memory': 4.20.0 - '@algolia/client-account': 4.20.0 - '@algolia/client-analytics': 4.20.0 - '@algolia/client-common': 4.20.0 - '@algolia/client-personalization': 4.20.0 - '@algolia/client-search': 4.20.0 - '@algolia/logger-common': 4.20.0 - '@algolia/logger-console': 4.20.0 - '@algolia/requester-browser-xhr': 4.20.0 - '@algolia/requester-common': 4.20.0 - '@algolia/requester-node-http': 4.20.0 - '@algolia/transporter': 4.20.0 - dev: true - - /ansi-sequence-parser@1.1.1: - resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} - dev: true - - /anymatch@3.1.3: + '@vueuse/shared@10.9.0': + resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} + + algoliasearch@4.23.3: + resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==} + + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + async-validator@4.2.5: + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - dev: true - /braces@3.0.2: + braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true + css-render@0.15.12: + resolution: {integrity: sha512-eWzS66patiGkTTik+ipO9qNGZ+uNuGyTmnz6/+EJIiFg8+3yZRpnMwgFo8YdXhQRsiePzehnusrxVvugNjXzbw==} - /csstype@3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - dev: true + csstype@3.0.11: + resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==} - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + date-fns-tz@2.0.1: + resolution: {integrity: sha512-fJCG3Pwx8HUoLhkepdsP7Z5RsucUi+ZBOxyM5d0ZZ6c4SdYustq0VMmOu6Wf7bli+yS/Jwp91TOCqn9jMcVrUA==} peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true + date-fns: 2.x + + date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 - dev: true - - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - /find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 - dev: true + evtd@0.2.4: + resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==} - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - /focus-trap@7.5.4: + focus-trap@7.5.4: resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} - dependencies: - tabbable: 6.2.0 - dev: true - /fsevents@2.3.3: + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - requiresBuild: true - dev: true - optional: true - /giscus@1.3.0: - resolution: {integrity: sha512-A3tVLgSmpnh2sX9uGjo9MbzmTTEJirSyFUPRvkipvy37y9rhxUYDoh9kO37QVrP7Sc7QuJ+gihB6apkO0yDyTw==} - dependencies: - lit: 2.8.0 - dev: true + giscus@1.5.0: + resolution: {integrity: sha512-t3LL0qbSO3JXq3uyQeKpF5CegstGfKX/0gI6eDe1cmnI7D56R7j52yLdzw4pdKrg3VnufwCgCM3FDz7G1Qr6lg==} - /glob-parent@5.1.2: + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - /immutable@4.3.4: - resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} - dev: true + highlight.js@11.9.0: + resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==} + engines: {node: '>=12.0.0'} + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - /is-binary-path@2.1.0: + immutable@4.3.5: + resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - /is-extglob@2.1.1: + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: true - /is-glob@4.0.3: + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: true - - /lit-element@3.3.3: - resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==} - dependencies: - '@lit-labs/ssr-dom-shim': 1.1.2 - '@lit/reactive-element': 1.6.3 - lit-html: 2.8.0 - dev: true + lit-element@4.0.5: + resolution: {integrity: sha512-iTWskWZEtn9SyEf4aBG6rKT8GABZMrTWop1+jopsEOgEcugcXJGKuX5bEbkq9qfzY+XB4MAgCaSPwnNpdsNQ3Q==} - /lit-html@2.8.0: - resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==} - dependencies: - '@types/trusted-types': 2.0.5 - dev: true + lit-html@3.1.3: + resolution: {integrity: sha512-FwIbqDD8O/8lM4vUZ4KvQZjPPNx7V1VhT7vmRB8RBAO0AU6wuTVdoXiu2CivVjEGdugvcbPNBLtPE1y0ifplHA==} - /lit@2.8.0: - resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==} - dependencies: - '@lit/reactive-element': 1.6.3 - lit-element: 3.3.3 - lit-html: 2.8.0 - dev: true + lit@3.1.3: + resolution: {integrity: sha512-l4slfspEsnCcHVRTvaP7YnkTZEZggNFywLEIhQaGhYDczG+tu/vlgm/KaWIEjIp+ZyV20r2JnZctMb8LeLCG7Q==} - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: true + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - /magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.1 - dev: true + magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} - /mark.js@8.11.1: + mark.js@8.11.1: resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} - dev: true - /markdown-it-container@3.0.0: - resolution: {integrity: sha512-y6oKTq4BB9OQuY/KLfk/O3ysFhB3IMYoIWhGJEidXt1NQFocFK2sA2t0NYZAMyMShAGL6x5OPIbrmXPIqaN9rw==} - dev: true + markdown-it-container@4.0.0: + resolution: {integrity: sha512-HaNccxUH0l7BNGYbFbjmGpf5aLHAMTinqRZQAEQbMr2cdD3z91Q6kIo1oUn1CQndkT03jat6ckrdRYuwwqLlQw==} + + medium-zoom@1.1.0: + resolution: {integrity: sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==} - /medium-zoom@1.0.8: - resolution: {integrity: sha512-CjFVuFq/IfrdqesAXfg+hzlDKu6A2n80ZIq0Kl9kWjoHh9j1N9Uvk5X0/MmN0hOfm5F9YBswlClhcwnmtwz7gA==} - dev: true + minisearch@6.3.0: + resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} - /minisearch@6.1.0: - resolution: {integrity: sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg==} - dev: true + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true + naive-ui@2.38.2: + resolution: {integrity: sha512-WhZ+6DW61aYSmFyfH7evcSGFmd2xR68Yq1mNRrVdJwBhZsnNdAUsMN9IeNCVEPMCND/jzYZghkStoNoR5Xa09g==} + peerDependencies: + vue: ^3.0.0 - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: true - /normalize-path@3.0.0: + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: true - - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - dependencies: - p-limit: 2.3.0 - dev: true - - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - /picocolors@1.0.0: + picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - /picomatch@2.3.1: + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true - - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - dev: true - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - /preact@10.18.1: - resolution: {integrity: sha512-mKUD7RRkQQM6s7Rkmi7IFkoEHjuFqRQUaXamO61E6Nn7vqF/bo7EZCmSyrUnp2UWHw0O7XjZ2eeXis+m7tf4lg==} - dev: true + preact@10.21.0: + resolution: {integrity: sha512-aQAIxtzWEwH8ou+OovWVSVNlFImL7xUCwJX3YMqA3U8iKCNC34999fFOnWjYNsylgfPgMexpbk7WYOLtKr/mxg==} - /readdirp@3.6.0: + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - /rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + + rollup@4.17.2: + resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - optionalDependencies: - fsevents: 2.3.3 - dev: true - /sass@1.69.4: - resolution: {integrity: sha512-+qEreVhqAy8o++aQfCJwp0sklr2xyEzkm9Pp/Igu9wNPoe7EZEQ8X/MBvvXggI2ql607cxKg/RKOwDj6pp2XDA==} + sass@1.76.0: + resolution: {integrity: sha512-nc3LeqvF2FNW5xGF1zxZifdW3ffIz5aBb7I7tSvOoNu7z1RQ6pFt9MBuiPtjgaI62YWrM/txjWlOCFiGtf2xpw==} engines: {node: '>=14.0.0'} hasBin: true - dependencies: - chokidar: 3.5.3 - immutable: 4.3.4 - source-map-js: 1.0.2 - dev: true - /search-insights@2.9.0: - resolution: {integrity: sha512-bkWW9nIHOFkLwjQ1xqVaMbjjO5vhP26ERsH9Y3pKr8imthofEFIxlnOabkmGcw6ksRj9jWidcI65vvjJH/nTGg==} - dev: true + search-insights@2.13.0: + resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: true + seemly@0.3.8: + resolution: {integrity: sha512-MW8Qs6vbzo0pHmDpFSYPna+lwpZ6Zk1ancbajw/7E8TKtHdV+1DfZZD+kKJEhG/cAoB/i+LiT+5msZOqj0DwRA==} - /shiki@0.14.5: - resolution: {integrity: sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==} - dependencies: - ansi-sequence-parser: 1.1.1 - jsonc-parser: 3.2.0 - vscode-oniguruma: 1.7.0 - vscode-textmate: 8.0.0 - dev: true + shiki@1.4.0: + resolution: {integrity: sha512-5WIn0OL8PWm7JhnTwRWXniy6eEDY234mRrERVlFa646V2ErQqwIFd2UML7e0Pq9eqSKLoMa3Ke+xbsF+DAuy+Q==} - /simple-icons-font@9.18.0: - resolution: {integrity: sha512-85rBGOsn87DDZ6CjJ9Oyjr0EcFEvEGU73i1eYZ4Tfx4yQg3jIUjMiaGY1qO+LZS71FQtkKTxiucJgT2bvAxKKg==} - dev: true + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} engines: {node: '>=0.10.0'} - dev: true - /tabbable@6.2.0: + tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - dev: true - /to-fast-properties@2.0.0: + to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - dev: true - /to-regex-range@5.0.1: + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - /undici-types@5.25.3: - resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} - dev: true + treemate@0.3.11: + resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==} - /upath@2.0.1: - resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} - engines: {node: '>=4'} - dev: true + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - /vite-plugin-vuetify@1.0.2(vite@4.5.0)(vue@3.3.5)(vuetify@3.3.22): - resolution: {integrity: sha512-MubIcKD33O8wtgQXlbEXE7ccTEpHZ8nPpe77y9Wy3my2MWw/PgehP9VqTp92BLqr0R1dSL970Lynvisx3UxBFw==} - engines: {node: '>=12'} + vdirs@0.1.8: + resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==} peerDependencies: - vite: ^2.7.0 || ^3.0.0 || ^4.0.0 - vuetify: ^3.0.0-beta.4 - dependencies: - '@vuetify/loader-shared': 1.7.1(vue@3.3.5)(vuetify@3.3.22) - debug: 4.3.4 - upath: 2.0.1 - vite: 4.5.0(@types/node@20.8.7)(sass@1.69.4) - vuetify: 3.3.22(vite-plugin-vuetify@1.0.2)(vue@3.3.5) - transitivePeerDependencies: - - supports-color - - vue - dev: true + vue: ^3.0.11 - /vite@4.5.0(@types/node@20.8.7)(sass@1.69.4): - resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} - engines: {node: ^14.18.0 || >=16.0.0} + vite@5.2.11: + resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': '>= 14' + '@types/node': ^18.0.0 || >=20.0.0 less: '*' lightningcss: ^1.21.0 sass: '*' @@ -1138,31 +830,807 @@ packages: optional: true terser: optional: true + + vitepress@1.1.4: + resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4 + postcss: ^8 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true + + vooks@0.2.12: + resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} + peerDependencies: + vue: ^3.0.0 + + vue-demi@0.14.7: + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue@3.4.26: + resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + vueuc@0.4.58: + resolution: {integrity: sha512-Wnj/N8WbPRSxSt+9ji1jtDHPzda5h2OH/0sFBhvdxDRuyCZbjGg3/cKMaKqEoe+dErTexG2R+i6Q8S/Toq1MYg==} + peerDependencies: + vue: ^3.0.11 + + webfontloader@1.6.28: + resolution: {integrity: sha512-Egb0oFEga6f+nSgasH3E0M405Pzn6y3/9tOVanv/DLfa1YBIgcv90L18YyWnvXkRbIM17v5Kv6IT2N6g1x5tvQ==} + +snapshots: + + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)': + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 + + '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': + dependencies: + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 + + '@algolia/cache-browser-local-storage@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + + '@algolia/cache-common@4.23.3': {} + + '@algolia/cache-in-memory@4.23.3': dependencies: - '@types/node': 20.8.7 - esbuild: 0.18.20 - postcss: 8.4.31 - rollup: 3.29.4 - sass: 1.69.4 + '@algolia/cache-common': 4.23.3 + + '@algolia/client-account@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-analytics@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-common@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-personalization@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-search@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/logger-common@4.23.3': {} + + '@algolia/logger-console@4.23.3': + dependencies: + '@algolia/logger-common': 4.23.3 + + '@algolia/recommend@4.23.3': + dependencies: + '@algolia/cache-browser-local-storage': 4.23.3 + '@algolia/cache-common': 4.23.3 + '@algolia/cache-in-memory': 4.23.3 + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/logger-console': 4.23.3 + '@algolia/requester-browser-xhr': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/requester-node-http': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/requester-browser-xhr@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + + '@algolia/requester-common@4.23.3': {} + + '@algolia/requester-node-http@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + + '@algolia/transporter@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + + '@babel/helper-string-parser@7.24.1': {} + + '@babel/helper-validator-identifier@7.24.5': {} + + '@babel/parser@7.24.5': + dependencies: + '@babel/types': 7.24.5 + + '@babel/runtime@7.24.5': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/types@7.24.5': + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.24.5 + to-fast-properties: 2.0.0 + + '@css-render/plugin-bem@0.15.12(css-render@0.15.12)': + dependencies: + css-render: 0.15.12 + + '@css-render/vue3-ssr@0.15.12(vue@3.4.26)': + dependencies: + vue: 3.4.26 + + '@docsearch/css@3.6.0': {} + + '@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)': + dependencies: + '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0) + preact: 10.21.0 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + + '@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)': + dependencies: + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@docsearch/css': 3.6.0 + algoliasearch: 4.23.3 + optionalDependencies: + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + + '@emotion/hash@0.8.0': {} + + '@esbuild/aix-ppc64@0.20.2': + optional: true + + '@esbuild/android-arm64@0.20.2': + optional: true + + '@esbuild/android-arm@0.20.2': + optional: true + + '@esbuild/android-x64@0.20.2': + optional: true + + '@esbuild/darwin-arm64@0.20.2': + optional: true + + '@esbuild/darwin-x64@0.20.2': + optional: true + + '@esbuild/freebsd-arm64@0.20.2': + optional: true + + '@esbuild/freebsd-x64@0.20.2': + optional: true + + '@esbuild/linux-arm64@0.20.2': + optional: true + + '@esbuild/linux-arm@0.20.2': + optional: true + + '@esbuild/linux-ia32@0.20.2': + optional: true + + '@esbuild/linux-loong64@0.20.2': + optional: true + + '@esbuild/linux-mips64el@0.20.2': + optional: true + + '@esbuild/linux-ppc64@0.20.2': + optional: true + + '@esbuild/linux-riscv64@0.20.2': + optional: true + + '@esbuild/linux-s390x@0.20.2': + optional: true + + '@esbuild/linux-x64@0.20.2': + optional: true + + '@esbuild/netbsd-x64@0.20.2': + optional: true + + '@esbuild/openbsd-x64@0.20.2': + optional: true + + '@esbuild/sunos-x64@0.20.2': + optional: true + + '@esbuild/win32-arm64@0.20.2': + optional: true + + '@esbuild/win32-ia32@0.20.2': + optional: true + + '@esbuild/win32-x64@0.20.2': + optional: true + + '@fortawesome/fontawesome-common-types@6.5.2': {} + + '@fortawesome/fontawesome-svg-core@6.5.2': + dependencies: + '@fortawesome/fontawesome-common-types': 6.5.2 + + '@fortawesome/free-brands-svg-icons@6.5.2': + dependencies: + '@fortawesome/fontawesome-common-types': 6.5.2 + + '@fortawesome/free-solid-svg-icons@6.5.2': + dependencies: + '@fortawesome/fontawesome-common-types': 6.5.2 + + '@fortawesome/vue-fontawesome@3.0.6(@fortawesome/fontawesome-svg-core@6.5.2)(vue@3.4.26)': + dependencies: + '@fortawesome/fontawesome-svg-core': 6.5.2 + vue: 3.4.26 + + '@giscus/vue@2.4.0(vue@3.4.26)': + dependencies: + giscus: 1.5.0 + vue: 3.4.26 + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@juggle/resize-observer@3.4.0': {} + + '@lit-labs/ssr-dom-shim@1.2.0': {} + + '@lit/reactive-element@2.0.4': + dependencies: + '@lit-labs/ssr-dom-shim': 1.2.0 + + '@mdi/font@7.4.47': {} + + '@rollup/rollup-android-arm-eabi@4.17.2': + optional: true + + '@rollup/rollup-android-arm64@4.17.2': + optional: true + + '@rollup/rollup-darwin-arm64@4.17.2': + optional: true + + '@rollup/rollup-darwin-x64@4.17.2': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.17.2': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.17.2': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.17.2': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-x64-musl@4.17.2': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.17.2': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.17.2': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.17.2': + optional: true + + '@shikijs/core@1.4.0': {} + + '@shikijs/transformers@1.4.0': + dependencies: + shiki: 1.4.0 + + '@types/estree@1.0.5': {} + + '@types/katex@0.16.7': {} + + '@types/linkify-it@5.0.0': {} + + '@types/lodash-es@4.17.12': + dependencies: + '@types/lodash': 4.17.1 + + '@types/lodash@4.17.1': {} + + '@types/markdown-it-container@2.0.10': + dependencies: + '@types/markdown-it': 14.1.1 + + '@types/markdown-it@14.1.1': + dependencies: + '@types/linkify-it': 5.0.0 + '@types/mdurl': 2.0.0 + + '@types/mdurl@2.0.0': {} + + '@types/node@20.12.8': + dependencies: + undici-types: 5.26.5 + + '@types/trusted-types@2.0.7': {} + + '@types/web-bluetooth@0.0.20': {} + + '@types/webfontloader@1.6.38': {} + + '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.8)(sass@1.76.0))(vue@3.4.26)': + dependencies: + vite: 5.2.11(@types/node@20.12.8)(sass@1.76.0) + vue: 3.4.26 + + '@vue/compiler-core@3.4.26': + dependencies: + '@babel/parser': 7.24.5 + '@vue/shared': 3.4.26 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 + + '@vue/compiler-dom@3.4.26': + dependencies: + '@vue/compiler-core': 3.4.26 + '@vue/shared': 3.4.26 + + '@vue/compiler-sfc@3.4.26': + dependencies: + '@babel/parser': 7.24.5 + '@vue/compiler-core': 3.4.26 + '@vue/compiler-dom': 3.4.26 + '@vue/compiler-ssr': 3.4.26 + '@vue/shared': 3.4.26 + estree-walker: 2.0.2 + magic-string: 0.30.10 + postcss: 8.4.38 + source-map-js: 1.2.0 + + '@vue/compiler-ssr@3.4.26': + dependencies: + '@vue/compiler-dom': 3.4.26 + '@vue/shared': 3.4.26 + + '@vue/devtools-api@7.1.3(vue@3.4.26)': + dependencies: + '@vue/devtools-kit': 7.1.3(vue@3.4.26) + transitivePeerDependencies: + - vue + + '@vue/devtools-kit@7.1.3(vue@3.4.26)': + dependencies: + '@vue/devtools-shared': 7.1.3 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + vue: 3.4.26 + + '@vue/devtools-shared@7.1.3': + dependencies: + rfdc: 1.3.1 + + '@vue/reactivity@3.4.26': + dependencies: + '@vue/shared': 3.4.26 + + '@vue/runtime-core@3.4.26': + dependencies: + '@vue/reactivity': 3.4.26 + '@vue/shared': 3.4.26 + + '@vue/runtime-dom@3.4.26': + dependencies: + '@vue/runtime-core': 3.4.26 + '@vue/shared': 3.4.26 + csstype: 3.1.3 + + '@vue/server-renderer@3.4.26(vue@3.4.26)': + dependencies: + '@vue/compiler-ssr': 3.4.26 + '@vue/shared': 3.4.26 + vue: 3.4.26 + + '@vue/shared@3.4.26': {} + + '@vueuse/core@10.9.0(vue@3.4.26)': + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.9.0 + '@vueuse/shared': 10.9.0(vue@3.4.26) + vue-demi: 0.14.7(vue@3.4.26) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/integrations@10.9.0(async-validator@4.2.5)(focus-trap@7.5.4)(vue@3.4.26)': + dependencies: + '@vueuse/core': 10.9.0(vue@3.4.26) + '@vueuse/shared': 10.9.0(vue@3.4.26) + vue-demi: 0.14.7(vue@3.4.26) + optionalDependencies: + async-validator: 4.2.5 + focus-trap: 7.5.4 + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/metadata@10.9.0': {} + + '@vueuse/shared@10.9.0(vue@3.4.26)': + dependencies: + vue-demi: 0.14.7(vue@3.4.26) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + algoliasearch@4.23.3: + dependencies: + '@algolia/cache-browser-local-storage': 4.23.3 + '@algolia/cache-common': 4.23.3 + '@algolia/cache-in-memory': 4.23.3 + '@algolia/client-account': 4.23.3 + '@algolia/client-analytics': 4.23.3 + '@algolia/client-common': 4.23.3 + '@algolia/client-personalization': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/logger-console': 4.23.3 + '@algolia/recommend': 4.23.3 + '@algolia/requester-browser-xhr': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/requester-node-http': 4.23.3 + '@algolia/transporter': 4.23.3 + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + async-validator@4.2.5: {} + + binary-extensions@2.3.0: {} + + braces@3.0.2: + dependencies: + fill-range: 7.0.1 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 - dev: true - /vitepress@1.0.0-rc.10(@algolia/client-search@4.20.0)(@types/node@20.8.7)(sass@1.69.4)(search-insights@2.9.0): - resolution: {integrity: sha512-+MsahIWqq5WUEmj6MR4obcKYbT7im07jZPCQPdNJExkeOSbOAJ4xypSLx88x7rvtzWHhHc5aXbOhCRvGEGjFrw==} - hasBin: true + css-render@0.15.12: + dependencies: + '@emotion/hash': 0.8.0 + csstype: 3.0.11 + + csstype@3.0.11: {} + + csstype@3.1.3: {} + + date-fns-tz@2.0.1(date-fns@2.30.0): + dependencies: + date-fns: 2.30.0 + + date-fns@2.30.0: + dependencies: + '@babel/runtime': 7.24.5 + + entities@4.5.0: {} + + esbuild@0.20.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + + estree-walker@2.0.2: {} + + evtd@0.2.4: {} + + fill-range@7.0.1: + dependencies: + to-regex-range: 5.0.1 + + focus-trap@7.5.4: + dependencies: + tabbable: 6.2.0 + + fsevents@2.3.3: + optional: true + + giscus@1.5.0: + dependencies: + lit: 3.1.3 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + highlight.js@11.9.0: {} + + hookable@5.5.3: {} + + immutable@4.3.5: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-extglob@2.1.1: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + lit-element@4.0.5: + dependencies: + '@lit-labs/ssr-dom-shim': 1.2.0 + '@lit/reactive-element': 2.0.4 + lit-html: 3.1.3 + + lit-html@3.1.3: + dependencies: + '@types/trusted-types': 2.0.7 + + lit@3.1.3: + dependencies: + '@lit/reactive-element': 2.0.4 + lit-element: 4.0.5 + lit-html: 3.1.3 + + lodash-es@4.17.21: {} + + lodash@4.17.21: {} + + magic-string@0.30.10: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + mark.js@8.11.1: {} + + markdown-it-container@4.0.0: {} + + medium-zoom@1.1.0: {} + + minisearch@6.3.0: {} + + mitt@3.0.1: {} + + naive-ui@2.38.2(vue@3.4.26): + dependencies: + '@css-render/plugin-bem': 0.15.12(css-render@0.15.12) + '@css-render/vue3-ssr': 0.15.12(vue@3.4.26) + '@types/katex': 0.16.7 + '@types/lodash': 4.17.1 + '@types/lodash-es': 4.17.12 + async-validator: 4.2.5 + css-render: 0.15.12 + csstype: 3.1.3 + date-fns: 2.30.0 + date-fns-tz: 2.0.1(date-fns@2.30.0) + evtd: 0.2.4 + highlight.js: 11.9.0 + lodash: 4.17.21 + lodash-es: 4.17.21 + seemly: 0.3.8 + treemate: 0.3.11 + vdirs: 0.1.8(vue@3.4.26) + vooks: 0.2.12(vue@3.4.26) + vue: 3.4.26 + vueuc: 0.4.58(vue@3.4.26) + + nanoid@3.3.7: {} + + normalize-path@3.0.0: {} + + perfect-debounce@1.0.0: {} + + picocolors@1.0.0: {} + + picomatch@2.3.1: {} + + postcss@8.4.38: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + + preact@10.21.0: {} + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + regenerator-runtime@0.14.1: {} + + rfdc@1.3.1: {} + + rollup@4.17.2: dependencies: - '@docsearch/css': 3.5.2 - '@docsearch/js': 3.5.2(@algolia/client-search@4.20.0)(search-insights@2.9.0) - '@vue/devtools-api': 6.5.1 - '@vueuse/core': 10.5.0(vue@3.3.5) - '@vueuse/integrations': 10.5.0(focus-trap@7.5.4)(vue@3.3.5) + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.17.2 + '@rollup/rollup-android-arm64': 4.17.2 + '@rollup/rollup-darwin-arm64': 4.17.2 + '@rollup/rollup-darwin-x64': 4.17.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.17.2 + '@rollup/rollup-linux-arm-musleabihf': 4.17.2 + '@rollup/rollup-linux-arm64-gnu': 4.17.2 + '@rollup/rollup-linux-arm64-musl': 4.17.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2 + '@rollup/rollup-linux-riscv64-gnu': 4.17.2 + '@rollup/rollup-linux-s390x-gnu': 4.17.2 + '@rollup/rollup-linux-x64-gnu': 4.17.2 + '@rollup/rollup-linux-x64-musl': 4.17.2 + '@rollup/rollup-win32-arm64-msvc': 4.17.2 + '@rollup/rollup-win32-ia32-msvc': 4.17.2 + '@rollup/rollup-win32-x64-msvc': 4.17.2 + fsevents: 2.3.3 + + sass@1.76.0: + dependencies: + chokidar: 3.6.0 + immutable: 4.3.5 + source-map-js: 1.2.0 + + search-insights@2.13.0: {} + + seemly@0.3.8: {} + + shiki@1.4.0: + dependencies: + '@shikijs/core': 1.4.0 + + source-map-js@1.2.0: {} + + speakingurl@14.0.1: {} + + tabbable@6.2.0: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + treemate@0.3.11: {} + + undici-types@5.26.5: {} + + vdirs@0.1.8(vue@3.4.26): + dependencies: + evtd: 0.2.4 + vue: 3.4.26 + + vite@5.2.11(@types/node@20.12.8)(sass@1.76.0): + dependencies: + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.17.2 + optionalDependencies: + '@types/node': 20.12.8 + fsevents: 2.3.3 + sass: 1.76.0 + + vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.8)(async-validator@4.2.5)(postcss@8.4.38)(sass@1.76.0)(search-insights@2.13.0): + dependencies: + '@docsearch/css': 3.6.0 + '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0) + '@shikijs/core': 1.4.0 + '@shikijs/transformers': 1.4.0 + '@types/markdown-it': 14.1.1 + '@vitejs/plugin-vue': 5.0.4(vite@5.2.11(@types/node@20.12.8)(sass@1.76.0))(vue@3.4.26) + '@vue/devtools-api': 7.1.3(vue@3.4.26) + '@vueuse/core': 10.9.0(vue@3.4.26) + '@vueuse/integrations': 10.9.0(async-validator@4.2.5)(focus-trap@7.5.4)(vue@3.4.26) focus-trap: 7.5.4 mark.js: 8.11.1 - minisearch: 6.1.0 - shiki: 0.14.5 - vite: 4.5.0(@types/node@20.8.7)(sass@1.69.4) - vue: 3.3.5 + minisearch: 6.3.0 + shiki: 1.4.0 + vite: 5.2.11(@types/node@20.12.8)(sass@1.76.0) + vue: 3.4.26 + optionalDependencies: + postcss: 8.4.38 transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -1189,74 +1657,33 @@ packages: - terser - typescript - universal-cookie - dev: true - /vscode-oniguruma@1.7.0: - resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} - dev: true - - /vscode-textmate@8.0.0: - resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} - dev: true - - /vue-demi@0.14.6(vue@3.3.5): - resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true + vooks@0.2.12(vue@3.4.26): dependencies: - vue: 3.3.5 - dev: true + evtd: 0.2.4 + vue: 3.4.26 - /vue@3.3.5: - resolution: {integrity: sha512-xYpLEGb25yYU1ul9ZhCcavNZ4YW6PS7YTDdDAd0yc/3w69Tra2BwY4EpKguKddfD56QApXQ17XHq+fJJwEP+UQ==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + vue-demi@0.14.7(vue@3.4.26): dependencies: - '@vue/compiler-dom': 3.3.5 - '@vue/compiler-sfc': 3.3.5 - '@vue/runtime-dom': 3.3.5 - '@vue/server-renderer': 3.3.5(vue@3.3.5) - '@vue/shared': 3.3.5 - dev: true + vue: 3.4.26 - /vuetify@3.3.22(vite-plugin-vuetify@1.0.2)(vue@3.3.5): - resolution: {integrity: sha512-+X7IBnlvmj/3h2hgnGXWWKNM/N0ioi7xMEoBC5gPQnlaUPMvzXFG70BP9YlhYyUQhi05sD6n/BirImKur1gOEw==} - engines: {node: ^12.20 || >=14.13} - peerDependencies: - typescript: '>=4.7' - vite-plugin-vuetify: ^1.0.0-alpha.12 - vue: ^3.2.0 - vue-i18n: ^9.0.0 - webpack-plugin-vuetify: ^2.0.0-alpha.11 - peerDependenciesMeta: - typescript: - optional: true - vite-plugin-vuetify: - optional: true - vue-i18n: - optional: true - webpack-plugin-vuetify: - optional: true + vue@3.4.26: dependencies: - vite-plugin-vuetify: 1.0.2(vite@4.5.0)(vue@3.3.5)(vuetify@3.3.22) - vue: 3.3.5 - dev: true + '@vue/compiler-dom': 3.4.26 + '@vue/compiler-sfc': 3.4.26 + '@vue/runtime-dom': 3.4.26 + '@vue/server-renderer': 3.4.26(vue@3.4.26) + '@vue/shared': 3.4.26 - /webfontloader@1.6.28: - resolution: {integrity: sha512-Egb0oFEga6f+nSgasH3E0M405Pzn6y3/9tOVanv/DLfa1YBIgcv90L18YyWnvXkRbIM17v5Kv6IT2N6g1x5tvQ==} - dev: true + vueuc@0.4.58(vue@3.4.26): + dependencies: + '@css-render/vue3-ssr': 0.15.12(vue@3.4.26) + '@juggle/resize-observer': 3.4.0 + css-render: 0.15.12 + evtd: 0.2.4 + seemly: 0.3.8 + vdirs: 0.1.8(vue@3.4.26) + vooks: 0.2.12(vue@3.4.26) + vue: 3.4.26 - /yaml@2.3.3: - resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==} - engines: {node: '>= 14'} - dev: true + webfontloader@1.6.28: {} diff --git a/content/posts/cpp-unit-testing-using-google-test/clion-select-target.webp b/posts/cpp-unit-testing-using-google-test/clion-select-target.webp similarity index 100% rename from content/posts/cpp-unit-testing-using-google-test/clion-select-target.webp rename to posts/cpp-unit-testing-using-google-test/clion-select-target.webp diff --git a/content/posts/cpp-unit-testing-using-google-test/clion-test-result.webp b/posts/cpp-unit-testing-using-google-test/clion-test-result.webp similarity index 100% rename from content/posts/cpp-unit-testing-using-google-test/clion-test-result.webp rename to posts/cpp-unit-testing-using-google-test/clion-test-result.webp diff --git a/content/posts/cpp-unit-testing-using-google-test/index.md b/posts/cpp-unit-testing-using-google-test/index.md similarity index 99% rename from content/posts/cpp-unit-testing-using-google-test/index.md rename to posts/cpp-unit-testing-using-google-test/index.md index 1830a20..8a5ac0c 100644 --- a/content/posts/cpp-unit-testing-using-google-test/index.md +++ b/posts/cpp-unit-testing-using-google-test/index.md @@ -1,7 +1,6 @@ --- title: C++ 中使用 GoogleTest 进行单元测试 create: 2023-10-04T09:27:18.785Z -cover: tags: - cpp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/add-custom-domain.webp b/posts/deploy-aspnetcore-on-aliyun-fc/add-custom-domain.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/add-custom-domain.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/add-custom-domain.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/add-dns-record.webp b/posts/deploy-aspnetcore-on-aliyun-fc/add-dns-record.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/add-dns-record.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/add-dns-record.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/create-function.webp b/posts/deploy-aspnetcore-on-aliyun-fc/create-function.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/create-function.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/create-function.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/create-layer.webp b/posts/deploy-aspnetcore-on-aliyun-fc/create-layer.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/create-layer.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/create-layer.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/create-service.webp b/posts/deploy-aspnetcore-on-aliyun-fc/create-service.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/create-service.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/create-service.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/detailed-pricing.webp b/posts/deploy-aspnetcore-on-aliyun-fc/detailed-pricing.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/detailed-pricing.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/detailed-pricing.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/dotnet-no-execute-permission.webp b/posts/deploy-aspnetcore-on-aliyun-fc/dotnet-no-execute-permission.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/dotnet-no-execute-permission.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/dotnet-no-execute-permission.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/dotnet-runtime-download.webp b/posts/deploy-aspnetcore-on-aliyun-fc/dotnet-runtime-download.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/dotnet-runtime-download.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/dotnet-runtime-download.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/edit-layers.webp b/posts/deploy-aspnetcore-on-aliyun-fc/edit-layers.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/edit-layers.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/edit-layers.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/function-test-ok.webp b/posts/deploy-aspnetcore-on-aliyun-fc/function-test-ok.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/function-test-ok.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/function-test-ok.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/function-urls.webp b/posts/deploy-aspnetcore-on-aliyun-fc/function-urls.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/function-urls.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/function-urls.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/index.md b/posts/deploy-aspnetcore-on-aliyun-fc/index.md similarity index 95% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/index.md rename to posts/deploy-aspnetcore-on-aliyun-fc/index.md index a3e4c05..08b55c4 100644 --- a/content/posts/deploy-aspnetcore-on-aliyun-fc/index.md +++ b/posts/deploy-aspnetcore-on-aliyun-fc/index.md @@ -1,11 +1,7 @@ --- title: 超低成本使用阿里云函数计算部署 ASP.NET Core 应用 create: 2023-05-07T20:40:31+08:00 -cover: /img/covers/deploy-aspnetcore-on-aliyun-fc.webp -description: | - Serverless 是前几年提出的一种新的云服务架构,迅速得到了业界的广泛关注和使用。 - 对于用户来说,直接能够体验到的就是各大云计算厂商的云函数产品,例如阿里云函数计算,腾讯云云函数,Azure Functions,AWS Lambda 等等。 - 对于一个不需要持续进行后台任务的接口服务(例如 REST API 等),Serverless 相比传统的云服务器部署拥有许多得天独厚的优势。 +description: Serverless 是前几年提出的一种新的云服务架构。对于一个不需要持续进行后台任务的接口服务(例如 REST API 等),Serverless 相比传统的云服务器部署拥有许多得天独厚的优势。 --- ## 简单介绍 Serverless diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/price-calc-0.1c256m.webp b/posts/deploy-aspnetcore-on-aliyun-fc/price-calc-0.1c256m.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/price-calc-0.1c256m.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/price-calc-0.1c256m.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/price-calc-2c2g.webp b/posts/deploy-aspnetcore-on-aliyun-fc/price-calc-2c2g.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/price-calc-2c2g.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/price-calc-2c2g.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/sidebar-layer.webp b/posts/deploy-aspnetcore-on-aliyun-fc/sidebar-layer.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/sidebar-layer.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/sidebar-layer.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/switch-region.webp b/posts/deploy-aspnetcore-on-aliyun-fc/switch-region.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/switch-region.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/switch-region.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/traffic-pricing.webp b/posts/deploy-aspnetcore-on-aliyun-fc/traffic-pricing.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/traffic-pricing.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/traffic-pricing.webp diff --git a/content/posts/deploy-aspnetcore-on-aliyun-fc/use-custom-layer.webp b/posts/deploy-aspnetcore-on-aliyun-fc/use-custom-layer.webp similarity index 100% rename from content/posts/deploy-aspnetcore-on-aliyun-fc/use-custom-layer.webp rename to posts/deploy-aspnetcore-on-aliyun-fc/use-custom-layer.webp diff --git a/content/posts/manually-compile-aseprite/aseprite-source-downloads.jpg b/posts/manually-compile-aseprite/aseprite-source-downloads.jpg similarity index 100% rename from content/posts/manually-compile-aseprite/aseprite-source-downloads.jpg rename to posts/manually-compile-aseprite/aseprite-source-downloads.jpg diff --git a/content/posts/manually-compile-aseprite/cmake-downloads.jpg b/posts/manually-compile-aseprite/cmake-downloads.jpg similarity index 100% rename from content/posts/manually-compile-aseprite/cmake-downloads.jpg rename to posts/manually-compile-aseprite/cmake-downloads.jpg diff --git a/content/posts/manually-compile-aseprite/cmake-install.jpg b/posts/manually-compile-aseprite/cmake-install.jpg similarity index 100% rename from content/posts/manually-compile-aseprite/cmake-install.jpg rename to posts/manually-compile-aseprite/cmake-install.jpg diff --git a/content/posts/manually-compile-aseprite/index.md b/posts/manually-compile-aseprite/index.md similarity index 99% rename from content/posts/manually-compile-aseprite/index.md rename to posts/manually-compile-aseprite/index.md index 55f203b..bd33b34 100644 --- a/content/posts/manually-compile-aseprite/index.md +++ b/posts/manually-compile-aseprite/index.md @@ -4,8 +4,6 @@ create: 2022-02-09T19:00:12+08:00 tags: - pixel-arts - -cover: /img/covers/manually-compile-aseprite.jpg --- ::: warning diff --git a/content/posts/manually-compile-aseprite/ninja-downloads.jpg b/posts/manually-compile-aseprite/ninja-downloads.jpg similarity index 100% rename from content/posts/manually-compile-aseprite/ninja-downloads.jpg rename to posts/manually-compile-aseprite/ninja-downloads.jpg diff --git a/content/posts/manually-compile-aseprite/open-vs-prompt.jpg b/posts/manually-compile-aseprite/open-vs-prompt.jpg similarity index 100% rename from content/posts/manually-compile-aseprite/open-vs-prompt.jpg rename to posts/manually-compile-aseprite/open-vs-prompt.jpg diff --git a/content/posts/manually-compile-aseprite/skia-downloads.jpg b/posts/manually-compile-aseprite/skia-downloads.jpg similarity index 100% rename from content/posts/manually-compile-aseprite/skia-downloads.jpg rename to posts/manually-compile-aseprite/skia-downloads.jpg diff --git a/content/posts/manually-compile-aseprite/vs-downloads.jpg b/posts/manually-compile-aseprite/vs-downloads.jpg similarity index 100% rename from content/posts/manually-compile-aseprite/vs-downloads.jpg rename to posts/manually-compile-aseprite/vs-downloads.jpg diff --git a/content/posts/manually-compile-aseprite/vs-install.jpg b/posts/manually-compile-aseprite/vs-install.jpg similarity index 100% rename from content/posts/manually-compile-aseprite/vs-install.jpg rename to posts/manually-compile-aseprite/vs-install.jpg diff --git a/content/posts/memories-of-yukichan-arcaea-module/index.md b/posts/memories-of-yukichan-arcaea-module/index.md similarity index 98% rename from content/posts/memories-of-yukichan-arcaea-module/index.md rename to posts/memories-of-yukichan-arcaea-module/index.md index 5be2e46..df23d08 100644 --- a/content/posts/memories-of-yukichan-arcaea-module/index.md +++ b/posts/memories-of-yukichan-arcaea-module/index.md @@ -2,13 +2,9 @@ title: 一路走来,感谢有你 —— 暮雪酱 Arcaea 模块的前世今生 create: 2023-04-27T22:48:38+08:00 category: 分享 -cover: /img/covers/memories-of-yukichan-arcaea-module.webp description: 随着 lowiro 对 ArcaeaUnlimitedAPI 的彻底封禁,暮雪酱 Arcaea 查分模块的生命也走到了尽头。在这里,我们一起回顾一下暮雪酱 Arcaea 模块的发展史... --- -随着 lowiro 对 ArcaeaUnlimitedAPI 的彻底封禁,暮雪酱 Arcaea 查分模块的生命也走到了尽头。在这里,我们一起回顾一下暮雪酱 -Arcaea 模块的发展史... - ## 2021 年 8 月 当时还是个引诱萌新,机缘巧合之下认识了 Arcaea 这个**创**新立体节奏音游,很快就喜欢上了。一次不知道从哪听来 ptt 这个东西,就跑去 diff --git a/content/posts/memories-of-yukichan-arcaea-module/initial-b30.webp b/posts/memories-of-yukichan-arcaea-module/initial-b30.webp similarity index 100% rename from content/posts/memories-of-yukichan-arcaea-module/initial-b30.webp rename to posts/memories-of-yukichan-arcaea-module/initial-b30.webp diff --git a/content/posts/memories-of-yukichan-arcaea-module/yukichan-v3-architecture.jpg b/posts/memories-of-yukichan-arcaea-module/yukichan-v3-architecture.jpg similarity index 100% rename from content/posts/memories-of-yukichan-arcaea-module/yukichan-v3-architecture.jpg rename to posts/memories-of-yukichan-arcaea-module/yukichan-v3-architecture.jpg diff --git a/content/posts/pku-geekgame-2023-writeup/index.md b/posts/pku-geekgame-2023-writeup/index.md similarity index 94% rename from content/posts/pku-geekgame-2023-writeup/index.md rename to posts/pku-geekgame-2023-writeup/index.md index ac48b43..1e6409c 100644 --- a/content/posts/pku-geekgame-2023-writeup/index.md +++ b/posts/pku-geekgame-2023-writeup/index.md @@ -1,7 +1,6 @@ --- title: PKU GeekGame 3rd (2023) Writeup create: 2023-10-20T11:43:02.685Z -cover: /img/covers/pku-geekgame-2023-writeup.webp description: 第三届北京大学信息安全综合能力竞赛 (PKU GeekGame) 个人记录/纪念向题解 tags: - geekgame @@ -34,11 +33,15 @@ ffmpeg -i prob23-signin.gif prob23-signin-%d.png _只列出做出来的题_ -> 在北京大学(校级)高性能计算平台中,什么命令可以提交一个非交互式任务? +::: question 第一题 +在北京大学(校级)高性能计算平台中,什么命令可以提交一个非交互式任务? +::: 使用搜索引擎搜索“北京大学(校级)高性能计算平台”进入官网,在使用指南-使用教程-提交作业里,可以找到提交的命令是 `sbatch`。 -> 根据 GPL 许可证的要求,基于 Linux 二次开发的操作系统内核必须开源。例如小米公司开源了 Redmi K60 Ultra 手机的内核。其内核版本号是? +::: question 第二题 +根据 GPL 许可证的要求,基于 Linux 二次开发的操作系统内核必须开源。例如小米公司开源了 Redmi K60 Ultra 手机的内核。其内核版本号是? +::: 查看 [Redmi K60 Ultra 内核源码](https://github.com/MiCode/Xiaomi_Kernel_OpenSource/tree/corot-t-oss) 中根目录下的 `Makefile` 文件: @@ -55,7 +58,9 @@ NAME = Trick or Treat 可得内核版本号为 `VERSION.PATCHLEVEL.SUBLEVEL`,即 `5.15.78` -> 在 2011 年 1 月,Bilibili 游戏区下共有哪些子分区?(按网站显示顺序,以半角逗号分隔) +::: question 第五题 +在 2011 年 1 月,Bilibili 游戏区下共有哪些子分区?(按网站显示顺序,以半角逗号分隔) +::: 搜索得知 B 站从前的域名为 bilibili.us,于是前往 [Internet Archive](https://web.archive.org/web/20230000000000*/http://bilibili.us) 查找 2011 年 1 月的记录。在[游戏分区主页](https://web.archive.org/web/20110131163353/http://bilibili.us/video/game.html)找到了”游戏视频,游戏攻略·解说,Mugen,flash游戏“。 @@ -370,13 +375,17 @@ proxy-groups: ### 小北问答!!!!! -> 每款苹果产品都有一个内部的识别名称(Identifier),例如初代 iPhone 是 iPhone1,1。那么 Apple Watch Series 8(蜂窝版本,41mm 尺寸)是什么? +::: question 第三题 +每款苹果产品都有一个内部的识别名称(Identifier),例如初代 iPhone 是 iPhone1,1。那么 Apple Watch Series 8(蜂窝版本,41mm 尺寸)是什么? +::: 直接搜索 "Apple Watch Series 8 identifier",找到一个叫 [The iPhone Wiki](https://www.theiphonewiki.com/wiki/Apple_Watch_Series_8) 的网站。尽管这个网站已经停止更新,但是里面还是收录了 Apple Watch Series 8 的信息。在这里可以找到 41mm 版本的识别名称为 `Watch6,14`。 但是最后发现**找错了**!!!恨 -> [这个照片](https://prob18.geekgame.pku.edu.cn/static/osint-challenge.jpg)中出现了一个大型建筑物,它的官方网站的域名是什么?(照片中部分信息已被有意遮挡,请注意检查答案格式) +::: question 第六题 +[这个照片](https://prob18.geekgame.pku.edu.cn/static/osint-challenge.jpg)中出现了一个大型建筑物,它的官方网站的域名是什么?(照片中部分信息已被有意遮挡,请注意检查答案格式) +::: 这道题当时做的时候脑抽了,根据启迪控股官网的新闻找到了这个旗子代表的组织是 IASP,然后提交了两次 IASP 的不同域名都错了。最后又仔细看了题目才发现是填建筑物的,不过做出来也只能拿半份 Flag,就摆烂了( diff --git a/content/posts/pku-geekgame-2023-writeup/prob02-flag1.webp b/posts/pku-geekgame-2023-writeup/prob02-flag1.webp similarity index 100% rename from content/posts/pku-geekgame-2023-writeup/prob02-flag1.webp rename to posts/pku-geekgame-2023-writeup/prob02-flag1.webp diff --git a/content/posts/pku-geekgame-2023-writeup/prob16.webp b/posts/pku-geekgame-2023-writeup/prob16.webp similarity index 100% rename from content/posts/pku-geekgame-2023-writeup/prob16.webp rename to posts/pku-geekgame-2023-writeup/prob16.webp diff --git a/content/posts/pku-geekgame-2023-writeup/prob24-flag2.webp b/posts/pku-geekgame-2023-writeup/prob24-flag2.webp similarity index 100% rename from content/posts/pku-geekgame-2023-writeup/prob24-flag2.webp rename to posts/pku-geekgame-2023-writeup/prob24-flag2.webp diff --git a/content/posts/pku-geekgame-2023-writeup/prob25-flag1.webp b/posts/pku-geekgame-2023-writeup/prob25-flag1.webp similarity index 100% rename from content/posts/pku-geekgame-2023-writeup/prob25-flag1.webp rename to posts/pku-geekgame-2023-writeup/prob25-flag1.webp diff --git a/content/posts/raspberrypi-4b-arch/index.md b/posts/raspberrypi-4b-arch/index.md similarity index 100% rename from content/posts/raspberrypi-4b-arch/index.md rename to posts/raspberrypi-4b-arch/index.md diff --git a/content/posts/raspberrypi-ftp-server/index.md b/posts/raspberrypi-ftp-server/index.md similarity index 99% rename from content/posts/raspberrypi-ftp-server/index.md rename to posts/raspberrypi-ftp-server/index.md index 78caa01..9bebc72 100644 --- a/content/posts/raspberrypi-ftp-server/index.md +++ b/posts/raspberrypi-ftp-server/index.md @@ -13,7 +13,7 @@ tags: 这款工具,可以以类似面对面快传的方式在局域网内传输文件,提高了些许效率,但还是感觉到些许别扭。于是开始找寻一种更为优雅的文件传输方式,想到手里有一个半吃灰的树莓派,就开始着手搭建自己的 FTP 文件服务器。 -::: quote "什么是 FTP" +::: quote 什么是 FTP 文件传输协议(File Transfer Protocol,缩写 **FTP**)是一个用于在计算机网络上在客户端和服务器之间进行文件传输的应用层协议。 ::: diff --git a/content/posts/sign-git-commit-with-gpg/add-gpg-key-on-github.png b/posts/sign-git-commit-with-gpg/add-gpg-key-on-github.png similarity index 100% rename from content/posts/sign-git-commit-with-gpg/add-gpg-key-on-github.png rename to posts/sign-git-commit-with-gpg/add-gpg-key-on-github.png diff --git a/content/posts/sign-git-commit-with-gpg/edit-gpg-key.png b/posts/sign-git-commit-with-gpg/edit-gpg-key.png similarity index 100% rename from content/posts/sign-git-commit-with-gpg/edit-gpg-key.png rename to posts/sign-git-commit-with-gpg/edit-gpg-key.png diff --git a/content/posts/sign-git-commit-with-gpg/enter-passphrase.png b/posts/sign-git-commit-with-gpg/enter-passphrase.png similarity index 100% rename from content/posts/sign-git-commit-with-gpg/enter-passphrase.png rename to posts/sign-git-commit-with-gpg/enter-passphrase.png diff --git a/content/posts/sign-git-commit-with-gpg/github-verified.png b/posts/sign-git-commit-with-gpg/github-verified.png similarity index 100% rename from content/posts/sign-git-commit-with-gpg/github-verified.png rename to posts/sign-git-commit-with-gpg/github-verified.png diff --git a/content/posts/sign-git-commit-with-gpg/index.md b/posts/sign-git-commit-with-gpg/index.md similarity index 99% rename from content/posts/sign-git-commit-with-gpg/index.md rename to posts/sign-git-commit-with-gpg/index.md index 009d106..d15eeb5 100644 --- a/content/posts/sign-git-commit-with-gpg/index.md +++ b/posts/sign-git-commit-with-gpg/index.md @@ -7,7 +7,6 @@ tags: - github - gpg -cover: /img/covers/sign-git-commit-with-gpg.webp --- ## 前言 diff --git a/content/posts/skiasharp-type-initializer-exception/index.md b/posts/skiasharp-type-initializer-exception/index.md similarity index 100% rename from content/posts/skiasharp-type-initializer-exception/index.md rename to posts/skiasharp-type-initializer-exception/index.md diff --git a/content/posts/smapi-install/index.md b/posts/smapi-install/index.md similarity index 100% rename from content/posts/smapi-install/index.md rename to posts/smapi-install/index.md diff --git a/content/posts/testground/index.md b/posts/testground/index.md similarity index 93% rename from content/posts/testground/index.md rename to posts/testground/index.md index 90ecbc6..fc54d64 100644 --- a/content/posts/testground/index.md +++ b/posts/testground/index.md @@ -2,7 +2,6 @@ title: Test Ground description: 测试一些 Markdown 功能 create: 2023-04-25T11:45:14+08:00 -cover: /img/covers/testground.webp --- # Heading 1 @@ -31,7 +30,7 @@ __This will also be bold__ 2. Item 2 3. Item 3 -[BsBlog Home Page](/) +[SynBlog Home Page](/) > Reference `something` @@ -102,8 +101,8 @@ Lorem ipsum dolor sit amet... Lorem ipsum dolor sit amet... ::: -::: tip Complex content in container -[BsBlog Home Page](/) +::: success Complex content in container +[SynBlog Home Page](/) - Item 1 - Item 2 diff --git a/content/posts/ubuntu-desktop-mac-style/after-beautify-1.jpg b/posts/ubuntu-desktop-mac-style/after-beautify-1.jpg similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/after-beautify-1.jpg rename to posts/ubuntu-desktop-mac-style/after-beautify-1.jpg diff --git a/content/posts/ubuntu-desktop-mac-style/after-beautify-2.jpg b/posts/ubuntu-desktop-mac-style/after-beautify-2.jpg similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/after-beautify-2.jpg rename to posts/ubuntu-desktop-mac-style/after-beautify-2.jpg diff --git a/content/posts/ubuntu-desktop-mac-style/before-beautify-1.jpg b/posts/ubuntu-desktop-mac-style/before-beautify-1.jpg similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/before-beautify-1.jpg rename to posts/ubuntu-desktop-mac-style/before-beautify-1.jpg diff --git a/content/posts/ubuntu-desktop-mac-style/before-beautify-2.jpg b/posts/ubuntu-desktop-mac-style/before-beautify-2.jpg similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/before-beautify-2.jpg rename to posts/ubuntu-desktop-mac-style/before-beautify-2.jpg diff --git a/content/posts/ubuntu-desktop-mac-style/dash-to-dock-settings.png b/posts/ubuntu-desktop-mac-style/dash-to-dock-settings.png similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/dash-to-dock-settings.png rename to posts/ubuntu-desktop-mac-style/dash-to-dock-settings.png diff --git a/content/posts/ubuntu-desktop-mac-style/enable-dash-to-dock.png b/posts/ubuntu-desktop-mac-style/enable-dash-to-dock.png similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/enable-dash-to-dock.png rename to posts/ubuntu-desktop-mac-style/enable-dash-to-dock.png diff --git a/content/posts/ubuntu-desktop-mac-style/gnome-tweaks.png b/posts/ubuntu-desktop-mac-style/gnome-tweaks.png similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/gnome-tweaks.png rename to posts/ubuntu-desktop-mac-style/gnome-tweaks.png diff --git a/content/posts/ubuntu-desktop-mac-style/index.md b/posts/ubuntu-desktop-mac-style/index.md similarity index 99% rename from content/posts/ubuntu-desktop-mac-style/index.md rename to posts/ubuntu-desktop-mac-style/index.md index 200d241..afc1ec1 100644 --- a/content/posts/ubuntu-desktop-mac-style/index.md +++ b/posts/ubuntu-desktop-mac-style/index.md @@ -7,7 +7,6 @@ tags: - linux description: 将 Ubuntu Desktop 美化为 Mac 风格,基于 Ubuntu Desktop 20.04 -cover: /img/covers/ubuntu-desktop-mac-style.webp --- 前些天把树莓派 4B 的系统换成了 Ubuntu Desktop 21.04,使用没什么问题,驱动支持也非常好,遂美化之。 diff --git a/content/posts/ubuntu-desktop-mac-style/install-browser-extension.png b/posts/ubuntu-desktop-mac-style/install-browser-extension.png similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/install-browser-extension.png rename to posts/ubuntu-desktop-mac-style/install-browser-extension.png diff --git a/content/posts/ubuntu-desktop-mac-style/user-theme-extension.png b/posts/ubuntu-desktop-mac-style/user-theme-extension.png similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/user-theme-extension.png rename to posts/ubuntu-desktop-mac-style/user-theme-extension.png diff --git a/content/posts/ubuntu-desktop-mac-style/whitesur-icons/preview-1.jpg b/posts/ubuntu-desktop-mac-style/whitesur-icons/preview-1.jpg similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/whitesur-icons/preview-1.jpg rename to posts/ubuntu-desktop-mac-style/whitesur-icons/preview-1.jpg diff --git a/content/posts/ubuntu-desktop-mac-style/whitesur-icons/preview-2.jpg b/posts/ubuntu-desktop-mac-style/whitesur-icons/preview-2.jpg similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/whitesur-icons/preview-2.jpg rename to posts/ubuntu-desktop-mac-style/whitesur-icons/preview-2.jpg diff --git a/content/posts/ubuntu-desktop-mac-style/whitesur/colors-themes.png b/posts/ubuntu-desktop-mac-style/whitesur/colors-themes.png similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/whitesur/colors-themes.png rename to posts/ubuntu-desktop-mac-style/whitesur/colors-themes.png diff --git a/content/posts/ubuntu-desktop-mac-style/whitesur/dash-to-dock.png b/posts/ubuntu-desktop-mac-style/whitesur/dash-to-dock.png similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/whitesur/dash-to-dock.png rename to posts/ubuntu-desktop-mac-style/whitesur/dash-to-dock.png diff --git a/content/posts/ubuntu-desktop-mac-style/whitesur/firefox-monterey.jpg b/posts/ubuntu-desktop-mac-style/whitesur/firefox-monterey.jpg similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/whitesur/firefox-monterey.jpg rename to posts/ubuntu-desktop-mac-style/whitesur/firefox-monterey.jpg diff --git a/content/posts/ubuntu-desktop-mac-style/whitesur/firefox-whitesur.jpg b/posts/ubuntu-desktop-mac-style/whitesur/firefox-whitesur.jpg similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/whitesur/firefox-whitesur.jpg rename to posts/ubuntu-desktop-mac-style/whitesur/firefox-whitesur.jpg diff --git a/content/posts/ubuntu-desktop-mac-style/whitesur/gdm.jpg b/posts/ubuntu-desktop-mac-style/whitesur/gdm.jpg similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/whitesur/gdm.jpg rename to posts/ubuntu-desktop-mac-style/whitesur/gdm.jpg diff --git a/content/posts/ubuntu-desktop-mac-style/whitesur/icons.png b/posts/ubuntu-desktop-mac-style/whitesur/icons.png similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/whitesur/icons.png rename to posts/ubuntu-desktop-mac-style/whitesur/icons.png diff --git a/content/posts/ubuntu-desktop-mac-style/whitesur/macbook.jpg b/posts/ubuntu-desktop-mac-style/whitesur/macbook.jpg similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/whitesur/macbook.jpg rename to posts/ubuntu-desktop-mac-style/whitesur/macbook.jpg diff --git a/content/posts/ubuntu-desktop-mac-style/whitesur/nautilus.png b/posts/ubuntu-desktop-mac-style/whitesur/nautilus.png similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/whitesur/nautilus.png rename to posts/ubuntu-desktop-mac-style/whitesur/nautilus.png diff --git a/content/posts/ubuntu-desktop-mac-style/whitesur/sidebars.png b/posts/ubuntu-desktop-mac-style/whitesur/sidebars.png similarity index 100% rename from content/posts/ubuntu-desktop-mac-style/whitesur/sidebars.png rename to posts/ubuntu-desktop-mac-style/whitesur/sidebars.png diff --git a/content/posts/use-docker-cli-in-windows/index.md b/posts/use-docker-cli-in-windows/index.md similarity index 97% rename from content/posts/use-docker-cli-in-windows/index.md rename to posts/use-docker-cli-in-windows/index.md index 8e248b4..109fe14 100644 --- a/content/posts/use-docker-cli-in-windows/index.md +++ b/posts/use-docker-cli-in-windows/index.md @@ -1,12 +1,13 @@ --- title: 在 Windows 上使用 Docker CLI create: 2023-12-19T09:05:03.899Z -# cover: /img/covers/use-docker-cli-in-windows.webp tags: - windows - wsl --- +## 前言 + 在 Windows 上使用 Docker 一般是通过 Docker Desktop,但是太重了,不是很想使用,于是切换到了在 WSL 中手动安装 Docker 的方案。 但是使用时还需要切换到 WSL 中操作,不是很方便。经过 [@AzureZeng](https://blog.azurezeng.com/) 的帮助,成功在 Windows 下安装了 Docker CLI,并连接到 WSL 中的 Docker daemon。这样就不用每次单独在 WSL 的终端里操作了。(但是 WSL 还是需要在运行的) diff --git a/content/posts/use-vuetify-in-vitepress/failed-to-resolve-component.jpg b/posts/use-vuetify-in-vitepress/failed-to-resolve-component.jpg similarity index 100% rename from content/posts/use-vuetify-in-vitepress/failed-to-resolve-component.jpg rename to posts/use-vuetify-in-vitepress/failed-to-resolve-component.jpg diff --git a/content/posts/use-vuetify-in-vitepress/index.md b/posts/use-vuetify-in-vitepress/index.md similarity index 100% rename from content/posts/use-vuetify-in-vitepress/index.md rename to posts/use-vuetify-in-vitepress/index.md diff --git a/content/posts/use-vuetify-in-vitepress/nothing-rendered.png b/posts/use-vuetify-in-vitepress/nothing-rendered.png similarity index 100% rename from content/posts/use-vuetify-in-vitepress/nothing-rendered.png rename to posts/use-vuetify-in-vitepress/nothing-rendered.png diff --git a/content/posts/use-vuetify-in-vitepress/successfully-rendered.jpg b/posts/use-vuetify-in-vitepress/successfully-rendered.jpg similarity index 100% rename from content/posts/use-vuetify-in-vitepress/successfully-rendered.jpg rename to posts/use-vuetify-in-vitepress/successfully-rendered.jpg diff --git a/content/posts/vscode-leetcode-with-csharp/index.md b/posts/vscode-leetcode-with-csharp/index.md similarity index 99% rename from content/posts/vscode-leetcode-with-csharp/index.md rename to posts/vscode-leetcode-with-csharp/index.md index d25aff9..fe7107c 100644 --- a/content/posts/vscode-leetcode-with-csharp/index.md +++ b/posts/vscode-leetcode-with-csharp/index.md @@ -6,8 +6,6 @@ tags: - vscode - leetcode - csharp - -cover: /img/covers/vscode-leetcode-with-csharp.webp --- 最近终于接触了大名鼎鼎的 LeetCode 刷题平台,开始苦痛之路(x diff --git a/content/posts/wsl2-arch/index.md b/posts/wsl2-arch/index.md similarity index 99% rename from content/posts/wsl2-arch/index.md rename to posts/wsl2-arch/index.md index f68e38c..4a45d9d 100644 --- a/content/posts/wsl2-arch/index.md +++ b/posts/wsl2-arch/index.md @@ -6,8 +6,6 @@ tags: - wsl - archlinux - linux - -cover: /img/covers/wsl2-arch.webp --- 最近入了 Arch Linux 的坑,手上没有空闲的机子可以装着玩,虚拟机又有点膈应的感觉,就找了找资料在 WSL2 上装了体验一下。 diff --git a/content/posts/wsl2-arch/omz-preview.png b/posts/wsl2-arch/omz-preview.png similarity index 100% rename from content/posts/wsl2-arch/omz-preview.png rename to posts/wsl2-arch/omz-preview.png diff --git a/content/public/CNAME b/public/CNAME similarity index 100% rename from content/public/CNAME rename to public/CNAME diff --git a/content/public/favicon.ico b/public/favicon.ico similarity index 100% rename from content/public/favicon.ico rename to public/favicon.ico diff --git a/theme/Layout.vue b/theme/Layout.vue deleted file mode 100644 index dcb79c8..0000000 --- a/theme/Layout.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - - - diff --git a/theme/components/MainFrame.vue b/theme/components/MainFrame.vue deleted file mode 100644 index ebd785e..0000000 --- a/theme/components/MainFrame.vue +++ /dev/null @@ -1,105 +0,0 @@ - - - - - \ No newline at end of file diff --git a/theme/components/cards/ContentCard.vue b/theme/components/cards/ContentCard.vue deleted file mode 100644 index f69bde7..0000000 --- a/theme/components/cards/ContentCard.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - \ No newline at end of file diff --git a/theme/components/cards/GiscusCard.vue b/theme/components/cards/GiscusCard.vue deleted file mode 100644 index 7153846..0000000 --- a/theme/components/cards/GiscusCard.vue +++ /dev/null @@ -1,13 +0,0 @@ - - - \ No newline at end of file diff --git a/theme/components/cards/PostCard.vue b/theme/components/cards/PostCard.vue deleted file mode 100644 index caece41..0000000 --- a/theme/components/cards/PostCard.vue +++ /dev/null @@ -1,25 +0,0 @@ - - - \ No newline at end of file diff --git a/theme/components/common/ChipContainer.vue b/theme/components/common/ChipContainer.vue deleted file mode 100644 index 78449e7..0000000 --- a/theme/components/common/ChipContainer.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - \ No newline at end of file diff --git a/theme/components/common/PostChips.vue b/theme/components/common/PostChips.vue deleted file mode 100644 index 95cdb93..0000000 --- a/theme/components/common/PostChips.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - \ No newline at end of file diff --git a/theme/components/common/PostCover.vue b/theme/components/common/PostCover.vue deleted file mode 100644 index a122a49..0000000 --- a/theme/components/common/PostCover.vue +++ /dev/null @@ -1,29 +0,0 @@ - - - - - \ No newline at end of file diff --git a/theme/components/pages/ContentPage.vue b/theme/components/pages/ContentPage.vue deleted file mode 100644 index 18de937..0000000 --- a/theme/components/pages/ContentPage.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - - - \ No newline at end of file diff --git a/theme/components/pages/HomePage.vue b/theme/components/pages/HomePage.vue deleted file mode 100644 index 3f98fa7..0000000 --- a/theme/components/pages/HomePage.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/theme/components/pages/TagPage.vue b/theme/components/pages/TagPage.vue deleted file mode 100644 index c5bd79b..0000000 --- a/theme/components/pages/TagPage.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - - - \ No newline at end of file diff --git a/theme/env.d.ts b/theme/env.d.ts deleted file mode 100644 index 4ca75b5..0000000 --- a/theme/env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -declare module '*.vue' { - import type { DefineComponent } from 'vue' - const component: DefineComponent<{}, {}, any> - export default component -} \ No newline at end of file diff --git a/theme/index.ts b/theme/index.ts deleted file mode 100644 index d925d8c..0000000 --- a/theme/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Theme } from 'vitepress' -import Layout from './Layout.vue' -import vuetify from './vuetify' - -import './styles/global.scss' -import './styles/markdown.scss' -import './styles/containers.scss' - -const theme: Theme = { - Layout, - - enhanceApp({ app }) { - app.use(vuetify) - }, -} - -export default theme diff --git a/theme/posts.data.ts b/theme/posts.data.ts deleted file mode 100644 index 3777ce9..0000000 --- a/theme/posts.data.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { createContentLoader } from 'vitepress' -import { getPostFromContentData } from "./utils" -import { Post } from "./types/common"; - -const loader = createContentLoader('posts/**/index.md') -export default { - ...loader, - async load() { - const data = await loader.load() - return data.map(getPostFromContentData).sort((a, b) => b.create - a.create); - } -} - -declare const data: Post[] -export { data } // 已经按时间顺序排序 diff --git a/theme/styles/containers.scss b/theme/styles/containers.scss deleted file mode 100644 index a856fcd..0000000 --- a/theme/styles/containers.scss +++ /dev/null @@ -1,66 +0,0 @@ -@import './variables.scss'; -@import './mixins.scss'; - -.custom-block { - position: relative; - box-sizing: border-box; - - border: 0.05rem solid; - border-radius: $md-block-border-radius; - box-shadow: 0 0.2rem 0.5rem #0000000d, 0 0 0.05rem #0000001a; - - margin: $md-block-margin-y 0; - padding: 50px 12px 12px 12px; - - @include normalizeFirstLast(); - - * { - font-size: $md-container-font-size !important; - } - - p { - line-height: 24px; - - // The first child is container title - &:nth-child(2) { - margin-top: 0; - } - } - - .custom-block-title { - position: absolute; - width: 100%; - top: 0; - left: 0; - font-weight: 700; - padding: 0.4rem 0 0.4rem 2.6rem; - margin: 0; - - &::before { - font-weight: 500; - font-family: 'Material Design Icons', monospace; - position: absolute; - font-size: 1.25rem; - left: 0.7rem; - top: 0.4rem; - } - } - - @each $type, $props in $md-containers { - $color: nth($props, 1); - $icon: nth($props, 2); - - &.#{$type} { - border-color: $color; - - .custom-block-title { - background-color: rgba($color, 0.1); - - &::before { - content: $icon; - color: $color; - } - } - } - } -} diff --git a/theme/styles/global.scss b/theme/styles/global.scss deleted file mode 100644 index 07556fa..0000000 --- a/theme/styles/global.scss +++ /dev/null @@ -1,33 +0,0 @@ -@import './variables.scss'; - -html { - scroll-behavior: smooth; - - &, - .text-h1, - .text-h2, - .text-h3, - .text-h4, - .text-h5, - .text-h6, - .text-headline, - .text-title, - .text-subtitle-1, - .text-subtitle-2, - .text-body-1, - .text-body-2, - .text-button, - .text-caption, - .text-overline { - font-family: $main-font !important; - } -} - -.page-header-title { - text-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); -} - -.medium-zoom-overlay, -.medium-zoom-image--opened { - z-index: 99999; -} diff --git a/theme/styles/markdown.scss b/theme/styles/markdown.scss deleted file mode 100644 index dbb92f8..0000000 --- a/theme/styles/markdown.scss +++ /dev/null @@ -1,264 +0,0 @@ -@import './variables'; -@import './mixins'; - -.markdown { - // ==================== - // Headings - // ==================== - h1, - h2, - h3, - h4, - h5, - h6 { - margin: 0; - line-height: 24px; - font-weight: 600; - outline: none; - - a.header-anchor::after { - content: $md-header-anchor-symbol; - margin-left: 0.2em; - opacity: 0; - transition: opacity 0.1s; - } - - &:hover a.header-anchor::after { - opacity: 1; - } - } - - h1 { - //letter-spacing: -0.02em; - line-height: 40px; - font-size: 28px; - } - - h2 { - margin: 48px 0 16px; - border-top: 1px solid $md-divider-color; - padding-top: 24px; - //letter-spacing: -0.02em; - line-height: 32px; - font-size: 24px; - } - - h3 { - margin: 32px 0 0; - //letter-spacing: -0.01em; - line-height: 28px; - font-size: 20px; - } - - p, - ul, - ol { - line-height: 1.8em; - font-size: $md-content-font-size; - margin: 10px 0; - @include normalizeFirstLast(); - } - - a:not([class]), - a.header-anchor { - text-decoration: none; - color: $md-link-color; - } - - del { - background-color: #000; - transition: background-color 0.1s; - border-radius: 2px; - text-decoration: none; - - &:hover, - &:active { - background-color: initial; - } - } - - blockquote { - position: relative; - background-color: rgba($md-blockquote-color, 0.1); - border-radius: $md-block-border-radius; - //noinspection CssReplaceWithShorthandSafely - padding: $md-block-padding; - //noinspection CssReplaceWithShorthandSafely - padding-left: $md-block-padding + 6px; - margin: $md-block-margin-y 0; - - @include normalizeFirstLast(); - - &::before { - content: ''; - position: absolute; - top: 0; - left: 0; - display: block; - background-color: $md-blockquote-color; - width: 4px; - height: 100%; - border-top-left-radius: $md-block-border-radius; - border-bottom-left-radius: $md-block-border-radius; - } - } - - // Images - img { - display: block; - max-width: 100%; - margin: 0 auto; - } - - .img-alt { - text-align: center; - color: grey; - margin-top: 8px; - } - - // Lists - ol, - ul { - margin: 0 0 10px 28px; - font-size: $md-content-font-size; - - li + li { - margin-top: 8px; - } - } - - // Code related - code, - pre { - font-family: 'JetBrains Mono', Consolas, monospace !important; - } - - code { - font-size: $md-code-inline-font-size; - background-color: $md-code-bg-color; - border-radius: $md-block-border-radius; - padding: 2px 5px; - line-height: 1.7em; - } - - // Code Blocks - div[class*='language-'] { - position: relative; - margin: 16px 0; - border: $md-block-border-color 1px solid; - border-radius: $md-block-border-radius; - background-color: $md-code-bg-color; - color: #abb2bf; - - pre { - font-size: $md-code-block-font-size; - padding: 20px; - overflow-x: auto; - - &.vp-code-dark { - display: none; - } - } - - button.copy { - &::before { - font-family: 'Material Design Icons', sans-serif; - content: '\F018F'; - color: rgba(#fff, 0.2); - transition: color 0.1s; - } - - &.copied::before { - content: '\F012C'; - } - - z-index: 2; - position: absolute; - top: 8px; - right: 8px; - height: 36px; - width: 36px; - background-color: transparent; - border-radius: $md-block-border-radius; - } - - &:hover { - button.copy::before { - color: #f6f6f6; - } - } - - code { - display: block; - background-color: transparent; - padding: 0; - width: fit-content; - min-width: 100%; - font-size: unset; - - .diff { - margin: 0 -20px; - padding: 0 20px; - width: calc(100% + 40px); - display: inline-block; - - &.add { - background-color: rgba(16, 185, 129, 0.2); - - &::before { - content: '+'; - color: #10b981; - position: absolute; - left: 7px; - } - } - - &.remove { - background-color: rgba(244, 63, 94, 0.2); - opacity: 0.7; - - &::before { - content: '-'; - color: #f43f5e; - position: absolute; - left: 7px; - } - } - } - } - - span.lang { - display: none; - } - } - - table { - border-spacing: 0; - border-collapse: collapse; - display: block; - width: max-content; - max-width: 100%; - overflow: auto; - - th { - font-weight: 600; - } - - th, td { - padding: 6px 13px; - border: 1px solid $md-block-border-color; - } - } - - &.dark { - div[class*='language-'] { - pre.vp-code-dark { - display: block; - } - - pre.vp-code-light { - display: none; - } - } - } -} diff --git a/theme/styles/mixins.scss b/theme/styles/mixins.scss deleted file mode 100644 index 1f16892..0000000 --- a/theme/styles/mixins.scss +++ /dev/null @@ -1,9 +0,0 @@ -@mixin normalizeFirstLast() { - &:first-child { - margin-top: 0; - } - - &:last-child { - margin-bottom: 0; - } -} diff --git a/theme/styles/variables.scss b/theme/styles/variables.scss deleted file mode 100644 index 415544b..0000000 --- a/theme/styles/variables.scss +++ /dev/null @@ -1,50 +0,0 @@ -$main-font: 'Inter', sans-serif; - -$content-max-width: 1200px; - -$md-containers: ( - note: #4481ff '\F06FF', - abstract: #00b0ff '\F014D', - info: #00b8d4 '\F02FC', - tip: #00bfa5 '\F0238', - success: #00c853 '\F012C', - question: #64dd17 '\F02D7', - warning: #ff9100 '\F0026', - failure: #ff5252 '\F0159', - danger: #ff1744 '\F0028', - bug: #f50057 '\F00E4', - example: #7c4dff '\F0668', - quote: #9e9e9e '\F0757', -); - -:root { - --md-link-color: #1d6db7; - --md-code-bg-color: #fafafa; - --md-block-border-color: #bbb; - --md-divider-color: rgba(0, 0, 0, 0.12); -} - -.dark { - --md-link-color: #88c5ff; - --md-code-bg-color: #1a1a1a; - --md-block-border-color: #444; - --md-divider-color: rgba(255, 255, 255, 0.12); -} - -$md-link-color: var(--md-link-color); -$md-blockquote-color: #3c80c0; -$md-header-anchor-symbol: '#'; -$md-content-font-size: 1rem; -$md-container-font-size: 0.9rem; -$md-code-inline-font-size: 0.9em; -$md-code-block-font-size: 1em; -$md-code-bg-color: var(--md-code-bg-color); - -$md-block-margin-y: 16px; -$md-block-padding: 12px; -$md-block-border-radius: 4px; -$md-block-border-color: var(--md-block-border-color); -$md-divider-color: var(--md-divider-color); - -// Content -$content-card-title-overlay-bg: linear-gradient(transparent, rgba(0, 0, 0, 0.4)); diff --git a/theme/types/common.ts b/theme/types/common.ts deleted file mode 100644 index 15766fc..0000000 --- a/theme/types/common.ts +++ /dev/null @@ -1,12 +0,0 @@ -export interface Post { - frontmatter: Record - id?: string // 若为 undefined,则不在一个 Post 中 - title: string - cover?: string - description?: string - create: number - category?: string - tags: string[] - url: string - comment: boolean -} \ No newline at end of file diff --git a/theme/types/config.ts b/theme/types/config.ts deleted file mode 100644 index 739f348..0000000 --- a/theme/types/config.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { GiscusProps } from "@giscus/vue"; - -export interface BsBlogThemeConfig { - author: string - bio: string - avatar: string - avatarBg: string - defaultPostCover: string - navLinks?: NavLink[] - socialLinks?: SocialLink[] - giscus: GiscusProps - tags: Record -} - -export interface NavLink { - href: string - title: string - icon: string -} - -export interface SocialLink { - href: string - icon: string - desc: string -} - -export type Tag = [name: string, color?: string] diff --git a/theme/utils.ts b/theme/utils.ts deleted file mode 100644 index 660712b..0000000 --- a/theme/utils.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { ContentData } from 'vitepress' -import { Post } from './types/common' -import { BsBlogThemeConfig } from './types/config' - -export function formatTime( - timestamp: number, - withTime: boolean = false -): string { - const date = new Date(timestamp) - const year = date.getFullYear() - const month = (date.getMonth() + 1).toString().padStart(2, '0') - const day = date.getDate().toString().padStart(2, '0') - const hour = date.getHours().toString().padStart(2, '0') - const minute = date.getMinutes().toString().padStart(2, '0') - const str = `${year}-${month}-${day}` - return withTime ? str + ` ${hour}:${minute}` : str -} - -export function getPostFromContentData(post: ContentData): Post { - return { - frontmatter: post.frontmatter, - id: /(?<=\/posts\/).*(?=\/)/.exec(post.url)![0], - title: post.frontmatter.title ?? 'Untitled Post', - cover: post.frontmatter.cover, - description: post.frontmatter.description, - create: post.frontmatter.create ? new Date(post.frontmatter.create).getTime() : Date.now(), - category: post.frontmatter.category, - tags: post.frontmatter.tags ?? [], - url: post.url.replace('index.html', ''), - comment: !!(post.frontmatter.comment ?? true), - } -} - -const primaryColors = [ - 'red', 'pink', 'purple', - 'deep-purple', 'indigo', 'blue', - 'light-blue', 'cyan', 'teal', - 'green', 'light-green', 'lime', - 'yellow', 'amber', 'orange', - 'deep-orange', 'brown', 'blue-grey', 'grey' -] - -export function getTag(id: string, theme: BsBlogThemeConfig) { - const item = theme.tags?.[id] - - let n = 0 - for (let i = 0; i < id.length; i++) - n += id.charCodeAt(i) - - return { - id, - name: item?.[0] ?? id, - color: item?.[1] ?? `${primaryColors[n % primaryColors.length]}-darken-${n % 4 + 1}`, - } -} diff --git a/theme/vuetify.ts b/theme/vuetify.ts deleted file mode 100644 index 6056de0..0000000 --- a/theme/vuetify.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { createVuetify } from 'vuetify' -import * as components from 'vuetify/components' -import { h } from 'vue' - -import 'vuetify/styles' -import '@mdi/font/css/materialdesignicons.css' -import 'simple-icons-font/font/simple-icons.min.css' - -export default createVuetify({ - ssr: true, - components, - theme: { - themes: { - light: { - colors: { - primary: '#1867C0', - secondary: '#5CBBF6', - }, - }, - }, - }, - display: { - mobileBreakpoint: 768, - }, - icons: { - defaultSet: 'mdi', - sets: { - si: { - component: (props) => - h('i', { - class: `si si-${props.icon}`, - }), - }, - }, - }, -}) diff --git a/tools/new-post.js b/tools/new-post.js index b776017..bf347ef 100644 --- a/tools/new-post.js +++ b/tools/new-post.js @@ -6,7 +6,7 @@ if (process.argv.length < 3) { } const name = process.argv[2] -const dir = `content/posts/${name}` +const dir = `posts/${name}` const file = `${dir}/index.md` if (fs.existsSync(dir)) { @@ -17,7 +17,6 @@ if (fs.existsSync(dir)) { const content = `--- title: ${name} create: ${new Date().toISOString()} -# cover: /img/covers/${name}.webp --- ` diff --git a/tsconfig.json b/tsconfig.json index 402be68..0681634 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,18 +6,9 @@ "strict": true, "esModuleInterop": true, "noUnusedLocals": true, - "lib": [ - "ESNext", - "DOM" - ], + "lib": ["ESNext", "DOM"], "skipLibCheck": true }, - "include": [ - "theme", - "content", - "theme/env.d.ts" - ], - "exclude": [ - "node_modules" - ] + "include": [".vitepress/**/*"], + "exclude": ["node_modules"] }