commit
bb68f998a7
@ -31,6 +31,10 @@ export default defineUserConfig({
|
|||||||
theme: themePlume({
|
theme: themePlume({
|
||||||
logo: 'https://pengzhanbo.cn/g.gif',
|
logo: 'https://pengzhanbo.cn/g.gif',
|
||||||
hostname: 'https://pengzhanbo.cn',
|
hostname: 'https://pengzhanbo.cn',
|
||||||
|
repo: 'https://github.com/pengzhanbo/vuepress-theme-plume',
|
||||||
|
docsDir: 'docs',
|
||||||
|
editLink: true,
|
||||||
|
editLinkText: 'Edit this page on GitHub',
|
||||||
appearance: true,
|
appearance: true,
|
||||||
avatar: {
|
avatar: {
|
||||||
url: '/images/blogger.jpg',
|
url: '/images/blogger.jpg',
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
home: true
|
home: true
|
||||||
banner: /images/bg-home.jpg
|
banner: /images/bg-home.jpg
|
||||||
|
bannerMask:
|
||||||
|
dark: 0.2
|
||||||
hero:
|
hero:
|
||||||
name: 鹏展博
|
name: 鹏展博
|
||||||
tagline: 前端开发工程师
|
tagline: 前端开发工程师
|
||||||
|
|||||||
@ -55,7 +55,7 @@ npm i @vuepress-plume/vuepress-theme-plume
|
|||||||
// .vuepress/config.ts
|
// .vuepress/config.ts
|
||||||
import { defineUserConfig } from 'vuepress'
|
import { defineUserConfig } from 'vuepress'
|
||||||
import { themePlume } from '@vuepress-plume/vuepress-theme-plume'
|
import { themePlume } from '@vuepress-plume/vuepress-theme-plume'
|
||||||
export default defineUserConfig({ // [!code focus]
|
export default defineUserConfig({
|
||||||
theme: themePlume({
|
theme: themePlume({
|
||||||
// more...
|
// more...
|
||||||
})
|
})
|
||||||
|
|||||||
@ -58,6 +58,17 @@ markdown 增强 由 [vuepress-plugin-md-enhance](https://vuepress-theme-hope.git
|
|||||||
警告内容
|
警告内容
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
- 危险
|
||||||
|
``` md
|
||||||
|
::: danger 危险
|
||||||
|
危险内容
|
||||||
|
:::
|
||||||
|
```
|
||||||
|
::: danger 危险
|
||||||
|
危险内容
|
||||||
|
`markdown`
|
||||||
|
:::
|
||||||
|
|
||||||
- 详情
|
- 详情
|
||||||
``` md
|
``` md
|
||||||
::: details 详情
|
::: details 详情
|
||||||
@ -68,6 +79,17 @@ markdown 增强 由 [vuepress-plugin-md-enhance](https://vuepress-theme-hope.git
|
|||||||
详情信息
|
详情信息
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
- 重要
|
||||||
|
|
||||||
|
``` md
|
||||||
|
::: important 重要
|
||||||
|
重要内容
|
||||||
|
:::
|
||||||
|
```
|
||||||
|
::: important 重要
|
||||||
|
重要内容
|
||||||
|
:::
|
||||||
|
|
||||||
## 自定义对齐
|
## 自定义对齐
|
||||||
|
|
||||||
- 左对齐
|
- 左对齐
|
||||||
|
|||||||
@ -76,3 +76,18 @@ permalink: /note/vuepress-theme-plume/basis-power/
|
|||||||
## 文章评论
|
## 文章评论
|
||||||
|
|
||||||
支持文章评论。
|
支持文章评论。
|
||||||
|
|
||||||
|
## Badge
|
||||||
|
|
||||||
|
- <Badge type="info" text="info" />
|
||||||
|
- <Badge type="tip" text="Tip" />
|
||||||
|
- <Badge type="warning" text="Warning" />
|
||||||
|
- <Badge type="danger" text="Danger" />
|
||||||
|
|
||||||
|
````md
|
||||||
|
```js
|
||||||
|
export default function foo() {
|
||||||
|
console.log('foo'); // [\!code ++]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
````
|
||||||
|
|||||||
@ -67,7 +67,7 @@
|
|||||||
"husky": "^8.0.3",
|
"husky": "^8.0.3",
|
||||||
"lint-staged": "^15.2.0",
|
"lint-staged": "^15.2.0",
|
||||||
"minimist": "^1.2.8",
|
"minimist": "^1.2.8",
|
||||||
"ora": "^7.0.1",
|
"ora": "^8.0.0",
|
||||||
"pnpm": "^8.12.1",
|
"pnpm": "^8.12.1",
|
||||||
"prettier": "^3.1.1",
|
"prettier": "^3.1.1",
|
||||||
"prettier-config-vuepress": "^4.4.0",
|
"prettier-config-vuepress": "^4.4.0",
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# `@vuepress-plume/plugin-netlify-functions`
|
# `vuepress-plugin-netlify-functions`
|
||||||
|
|
||||||
|
|
||||||
If your vuepress site is deployed on `netlify` and you want to be able to use `netlify functions` for ` serverless`.
|
If your vuepress site is deployed on `netlify` and you want to be able to use `netlify functions` for ` serverless`.
|
||||||
@ -24,7 +24,7 @@ You may need this plugin to provide support.
|
|||||||
|
|
||||||
## Install
|
## Install
|
||||||
```
|
```
|
||||||
yarn add @vuepress-plume/plugin-netlify-functions
|
yarn add vuepress-plugin-netlify-functions
|
||||||
```
|
```
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ yarn add @vuepress-plume/plugin-netlify-functions
|
|||||||
在 vuepress 项目中,或者在一个 vuepress 主题中
|
在 vuepress 项目中,或者在一个 vuepress 主题中
|
||||||
``` js
|
``` js
|
||||||
// .vuepress/config.js
|
// .vuepress/config.js
|
||||||
import { netlifyFunctionsPlugin } from '@vuepress-plume/plugin-netlify-functions'
|
import { netlifyFunctionsPlugin } from 'vuepress-plugin-netlify-functions'
|
||||||
module.exports = {
|
module.exports = {
|
||||||
//...
|
//...
|
||||||
plugins: [
|
plugins: [
|
||||||
@ -47,7 +47,7 @@ yarn add @vuepress-plume/plugin-netlify-functions
|
|||||||
|
|
||||||
在 vuepress plugin 中:
|
在 vuepress plugin 中:
|
||||||
``` js
|
``` js
|
||||||
import { useNetlifyFunctionsPlugin } from '@vuepress-plume/plugin-netlify-functions'
|
import { useNetlifyFunctionsPlugin } from 'vuepress-plugin-netlify-functions'
|
||||||
|
|
||||||
const myPlugin = (): Plugin => {
|
const myPlugin = (): Plugin => {
|
||||||
return (app: App) => {
|
return (app: App) => {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "@vuepress-plume/plugin-netlify-functions",
|
"name": "vuepress-plugin-netlify-functions",
|
||||||
"version": "1.0.0-rc.1",
|
"version": "1.0.0-rc.1",
|
||||||
"description": "The Plugin for VuePres 2, Support Netlify Functions",
|
"description": "The Plugin for VuePres 2, Support Netlify Functions",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
@ -8,7 +8,7 @@
|
|||||||
"netlify",
|
"netlify",
|
||||||
"netlify functions",
|
"netlify functions",
|
||||||
"netlifyFunctions",
|
"netlifyFunctions",
|
||||||
"vuepress-plugin-plugin-netlify-functions"
|
"vuepress-plugin-netlify-functions"
|
||||||
],
|
],
|
||||||
"homepage": "https://github.com/pengzhanbo/vuepress-theme-plume#readme",
|
"homepage": "https://github.com/pengzhanbo/vuepress-theme-plume#readme",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
|
|||||||
@ -78,7 +78,7 @@ export const netlifyFunctionsPlugin = (
|
|||||||
let server: NetlifyServe
|
let server: NetlifyServe
|
||||||
cache.options = opts
|
cache.options = opts
|
||||||
return {
|
return {
|
||||||
name: '@vuepress-plume/plugin-netlify-functions',
|
name: 'vuepress-plugin-netlify-functions',
|
||||||
|
|
||||||
onInitialized: async (app) => {
|
onInitialized: async (app) => {
|
||||||
// 启动netlify functions server
|
// 启动netlify functions server
|
||||||
|
|||||||
@ -35,7 +35,7 @@ export const useNetlifyFunctionsPlugin = (
|
|||||||
if (
|
if (
|
||||||
!plugins.some(
|
!plugins.some(
|
||||||
(plugin: PluginObject) =>
|
(plugin: PluginObject) =>
|
||||||
plugin.name === '@vuepress-plume/plugin-netlify-functions'
|
plugin.name === 'vuepress-plugin-netlify-functions'
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
app.use(netlifyFunctionsPlugin())
|
app.use(netlifyFunctionsPlugin())
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "@vuepress-plume/plugin-page-collection",
|
"name": "plugin-page-collection",
|
||||||
"version": "1.0.0-rc.1",
|
"version": "1.0.0-rc.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "The Plugin for VuePres 2",
|
"description": "The Plugin for VuePres 2",
|
||||||
@ -32,14 +32,14 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@netlify/functions": "^2.4.1",
|
"@netlify/functions": "^2.4.1",
|
||||||
"@vuepress-plume/plugin-netlify-functions": "workspace:*",
|
|
||||||
"@vuepress/client": "2.0.0-rc.0",
|
"@vuepress/client": "2.0.0-rc.0",
|
||||||
"@vuepress/core": "2.0.0-rc.0",
|
"@vuepress/core": "2.0.0-rc.0",
|
||||||
"@vuepress/shared": "2.0.0-rc.0",
|
"@vuepress/shared": "2.0.0-rc.0",
|
||||||
"@vuepress/utils": "2.0.0-rc.0",
|
"@vuepress/utils": "2.0.0-rc.0",
|
||||||
"leancloud-storage": "^4.15.2",
|
"leancloud-storage": "^4.15.2",
|
||||||
"vue": "^3.3.13",
|
"vue": "^3.3.13",
|
||||||
"vue-router": "4.2.5"
|
"vue-router": "4.2.5",
|
||||||
|
"vuepress-plugin-netlify-functions": "workspace:*"
|
||||||
},
|
},
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
|
|||||||
@ -4,11 +4,11 @@
|
|||||||
* 然后在此基础上进行修改
|
* 然后在此基础上进行修改
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// 通过引入 '@vuepress-plume/plugin-netlify-functions' 插件,来为本插件提供
|
// 通过引入 'vuepress-plugin-netlify-functions' 插件,来为本插件提供
|
||||||
// netlify functions 开发时支持
|
// netlify functions 开发时支持
|
||||||
import type { App, Plugin } from '@vuepress/core'
|
import type { App, Plugin } from '@vuepress/core'
|
||||||
import { getDirname, path } from '@vuepress/utils'
|
import { getDirname, path } from '@vuepress/utils'
|
||||||
import { useNetlifyFunctionsPlugin } from '@vuepress-plume/plugin-netlify-functions'
|
import { useNetlifyFunctionsPlugin } from 'vuepress-plugin-netlify-functions'
|
||||||
import type { PageCollectionOptions } from '../shared/index.js'
|
import type { PageCollectionOptions } from '../shared/index.js'
|
||||||
|
|
||||||
const __dirname = getDirname(import.meta.url)
|
const __dirname = getDirname(import.meta.url)
|
||||||
|
|||||||
@ -116,7 +116,7 @@ export async function highlight(
|
|||||||
return s.replace(
|
return s.replace(
|
||||||
/(<span class="line highlighted">)(<\/span>)/g,
|
/(<span class="line highlighted">)(<\/span>)/g,
|
||||||
'$1<wbr>$2'
|
'$1<wbr>$2'
|
||||||
) + '\n'
|
).replace(/(\/\/\s*?\[)\\(!code.*?\])/g, '$1$2') + '\n'
|
||||||
}
|
}
|
||||||
|
|
||||||
str = removeMustache(str).trimEnd()
|
str = removeMustache(str).trimEnd()
|
||||||
@ -125,13 +125,6 @@ export async function highlight(
|
|||||||
lang,
|
lang,
|
||||||
transformers: [
|
transformers: [
|
||||||
...transformers,
|
...transformers,
|
||||||
// transformerCompactLineOptions(lineOptions),
|
|
||||||
// {
|
|
||||||
// name: 'vitepress:v-pre',
|
|
||||||
// pre(node) {
|
|
||||||
// if (vPre) node.properties['v-pre'] = ''
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
...userTransformers
|
...userTransformers
|
||||||
],
|
],
|
||||||
meta: {
|
meta: {
|
||||||
|
|||||||
487
pnpm-lock.yaml
generated
487
pnpm-lock.yaml
generated
@ -72,8 +72,8 @@ importers:
|
|||||||
specifier: ^1.2.8
|
specifier: ^1.2.8
|
||||||
version: 1.2.8
|
version: 1.2.8
|
||||||
ora:
|
ora:
|
||||||
specifier: ^7.0.1
|
specifier: ^8.0.0
|
||||||
version: 7.0.1
|
version: 8.0.0
|
||||||
pnpm:
|
pnpm:
|
||||||
specifier: ^8.12.1
|
specifier: ^8.12.1
|
||||||
version: 8.12.1
|
version: 8.12.1
|
||||||
@ -345,9 +345,6 @@ importers:
|
|||||||
'@netlify/functions':
|
'@netlify/functions':
|
||||||
specifier: ^2.4.1
|
specifier: ^2.4.1
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
'@vuepress-plume/plugin-netlify-functions':
|
|
||||||
specifier: workspace:*
|
|
||||||
version: link:../plugin-netlify-functions
|
|
||||||
'@vuepress/client':
|
'@vuepress/client':
|
||||||
specifier: 2.0.0-rc.0
|
specifier: 2.0.0-rc.0
|
||||||
version: 2.0.0-rc.0(typescript@5.3.3)
|
version: 2.0.0-rc.0(typescript@5.3.3)
|
||||||
@ -369,6 +366,9 @@ importers:
|
|||||||
vue-router:
|
vue-router:
|
||||||
specifier: 4.2.5
|
specifier: 4.2.5
|
||||||
version: 4.2.5(vue@3.3.13)
|
version: 4.2.5(vue@3.3.13)
|
||||||
|
vuepress-plugin-netlify-functions:
|
||||||
|
specifier: workspace:*
|
||||||
|
version: link:../plugin-netlify-functions
|
||||||
|
|
||||||
plugins/plugin-shikiji:
|
plugins/plugin-shikiji:
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -490,8 +490,8 @@ importers:
|
|||||||
specifier: ^10.7.0
|
specifier: ^10.7.0
|
||||||
version: 10.7.0(vue@3.3.13)
|
version: 10.7.0(vue@3.3.13)
|
||||||
date-fns:
|
date-fns:
|
||||||
specifier: ^3.0.5
|
specifier: ^3.0.6
|
||||||
version: 3.0.5
|
version: 3.0.6
|
||||||
lodash.merge:
|
lodash.merge:
|
||||||
specifier: ^4.6.2
|
specifier: ^4.6.2
|
||||||
version: 4.6.2
|
version: 4.6.2
|
||||||
@ -508,20 +508,17 @@ importers:
|
|||||||
specifier: 4.2.5
|
specifier: 4.2.5
|
||||||
version: 4.2.5(vue@3.3.13)
|
version: 4.2.5(vue@3.3.13)
|
||||||
vuepress-plugin-comment2:
|
vuepress-plugin-comment2:
|
||||||
specifier: 2.0.0-rc.0
|
specifier: 2.0.0-rc.5
|
||||||
version: 2.0.0-rc.0(typescript@5.3.3)
|
version: 2.0.0-rc.5(typescript@5.3.3)
|
||||||
vuepress-plugin-md-enhance:
|
vuepress-plugin-md-enhance:
|
||||||
specifier: 2.0.0-rc.0
|
specifier: 2.0.0-rc.5
|
||||||
version: 2.0.0-rc.0(@types/js-yaml@4.0.9)(typescript@5.3.3)
|
version: 2.0.0-rc.5(markdown-it@13.0.2)(typescript@5.3.3)
|
||||||
vuepress-plugin-seo2:
|
vuepress-plugin-seo2:
|
||||||
specifier: 2.0.0-rc.0
|
specifier: 2.0.0-rc.5
|
||||||
version: 2.0.0-rc.0(typescript@5.3.3)
|
version: 2.0.0-rc.5(typescript@5.3.3)
|
||||||
vuepress-plugin-sitemap2:
|
vuepress-plugin-sitemap2:
|
||||||
specifier: 2.0.0-rc.0
|
specifier: 2.0.0-rc.5
|
||||||
version: 2.0.0-rc.0(typescript@5.3.3)
|
version: 2.0.0-rc.5(typescript@5.3.3)
|
||||||
windicss:
|
|
||||||
specifier: ^3.5.6
|
|
||||||
version: 3.5.6
|
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@types/lodash.merge':
|
'@types/lodash.merge':
|
||||||
specifier: ^4.6.9
|
specifier: ^4.6.9
|
||||||
@ -672,14 +669,6 @@ packages:
|
|||||||
'@algolia/requester-common': 4.20.0
|
'@algolia/requester-common': 4.20.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@ampproject/remapping@2.2.0:
|
|
||||||
resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
|
|
||||||
engines: {node: '>=6.0.0'}
|
|
||||||
dependencies:
|
|
||||||
'@jridgewell/gen-mapping': 0.1.1
|
|
||||||
'@jridgewell/trace-mapping': 0.3.18
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@antfu/ni@0.21.12:
|
/@antfu/ni@0.21.12:
|
||||||
resolution: {integrity: sha512-2aDL3WUv8hMJb2L3r/PIQWsTLyq7RQr3v9xD16fiz6O8ys1xEyLhhTOv8gxtZvJiTzjTF5pHoArvRdesGL1DMQ==}
|
resolution: {integrity: sha512-2aDL3WUv8hMJb2L3r/PIQWsTLyq7RQr3v9xD16fiz6O8ys1xEyLhhTOv8gxtZvJiTzjTF5pHoArvRdesGL1DMQ==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@ -702,110 +691,6 @@ packages:
|
|||||||
'@babel/highlight': 7.22.5
|
'@babel/highlight': 7.22.5
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@babel/compat-data@7.22.9:
|
|
||||||
resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/core@7.23.3:
|
|
||||||
resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@ampproject/remapping': 2.2.0
|
|
||||||
'@babel/code-frame': 7.22.13
|
|
||||||
'@babel/generator': 7.23.3
|
|
||||||
'@babel/helper-compilation-targets': 7.22.15
|
|
||||||
'@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3)
|
|
||||||
'@babel/helpers': 7.23.2
|
|
||||||
'@babel/parser': 7.23.6
|
|
||||||
'@babel/template': 7.22.15
|
|
||||||
'@babel/traverse': 7.23.3
|
|
||||||
'@babel/types': 7.23.5
|
|
||||||
convert-source-map: 2.0.0
|
|
||||||
debug: 4.3.4(supports-color@9.2.2)
|
|
||||||
gensync: 1.0.0-beta.2
|
|
||||||
json5: 2.2.3
|
|
||||||
semver: 6.3.1
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/generator@7.23.3:
|
|
||||||
resolution: {integrity: sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/types': 7.23.5
|
|
||||||
'@jridgewell/gen-mapping': 0.3.2
|
|
||||||
'@jridgewell/trace-mapping': 0.3.18
|
|
||||||
jsesc: 2.5.2
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/helper-compilation-targets@7.22.15:
|
|
||||||
resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/compat-data': 7.22.9
|
|
||||||
'@babel/helper-validator-option': 7.22.15
|
|
||||||
browserslist: 4.22.1
|
|
||||||
lru-cache: 5.1.1
|
|
||||||
semver: 6.3.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/helper-environment-visitor@7.22.20:
|
|
||||||
resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/helper-function-name@7.23.0:
|
|
||||||
resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/template': 7.22.15
|
|
||||||
'@babel/types': 7.23.5
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/helper-hoist-variables@7.22.5:
|
|
||||||
resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/types': 7.23.5
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/helper-module-imports@7.22.15:
|
|
||||||
resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/types': 7.23.5
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3):
|
|
||||||
resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.3
|
|
||||||
'@babel/helper-environment-visitor': 7.22.20
|
|
||||||
'@babel/helper-module-imports': 7.22.15
|
|
||||||
'@babel/helper-simple-access': 7.22.5
|
|
||||||
'@babel/helper-split-export-declaration': 7.22.6
|
|
||||||
'@babel/helper-validator-identifier': 7.22.20
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/helper-simple-access@7.22.5:
|
|
||||||
resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/types': 7.23.5
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/helper-split-export-declaration@7.22.6:
|
|
||||||
resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/types': 7.23.5
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/helper-string-parser@7.23.4:
|
/@babel/helper-string-parser@7.23.4:
|
||||||
resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
|
resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
@ -820,22 +705,6 @@ packages:
|
|||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@babel/helper-validator-option@7.22.15:
|
|
||||||
resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/helpers@7.23.2:
|
|
||||||
resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/template': 7.22.15
|
|
||||||
'@babel/traverse': 7.23.3
|
|
||||||
'@babel/types': 7.23.5
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/highlight@7.22.20:
|
/@babel/highlight@7.22.20:
|
||||||
resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==}
|
resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
@ -875,33 +744,6 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
regenerator-runtime: 0.13.11
|
regenerator-runtime: 0.13.11
|
||||||
|
|
||||||
/@babel/template@7.22.15:
|
|
||||||
resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/code-frame': 7.22.13
|
|
||||||
'@babel/parser': 7.23.6
|
|
||||||
'@babel/types': 7.23.5
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/traverse@7.23.3:
|
|
||||||
resolution: {integrity: sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/code-frame': 7.22.13
|
|
||||||
'@babel/generator': 7.23.3
|
|
||||||
'@babel/helper-environment-visitor': 7.22.20
|
|
||||||
'@babel/helper-function-name': 7.23.0
|
|
||||||
'@babel/helper-hoist-variables': 7.22.5
|
|
||||||
'@babel/helper-split-export-declaration': 7.22.6
|
|
||||||
'@babel/parser': 7.23.6
|
|
||||||
'@babel/types': 7.23.5
|
|
||||||
debug: 4.3.4(supports-color@9.2.2)
|
|
||||||
globals: 11.12.0
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/types@7.23.4:
|
/@babel/types@7.23.4:
|
||||||
resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==}
|
resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
@ -1994,14 +1836,6 @@ packages:
|
|||||||
chalk: 4.1.2
|
chalk: 4.1.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@jridgewell/gen-mapping@0.1.1:
|
|
||||||
resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
|
|
||||||
engines: {node: '>=6.0.0'}
|
|
||||||
dependencies:
|
|
||||||
'@jridgewell/set-array': 1.1.2
|
|
||||||
'@jridgewell/sourcemap-codec': 1.4.15
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@jridgewell/gen-mapping@0.3.2:
|
/@jridgewell/gen-mapping@0.3.2:
|
||||||
resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
|
resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
|
||||||
engines: {node: '>=6.0.0'}
|
engines: {node: '>=6.0.0'}
|
||||||
@ -2215,8 +2049,20 @@ packages:
|
|||||||
resolution: {integrity: sha512-xeF5+sHLzRNF7plbksywKCph4qli20l72of2fMlZQQ7RECvXYrRkE9+bjRFQCyULC7B8ydUYbpbkux5xJlVWyw==}
|
resolution: {integrity: sha512-xeF5+sHLzRNF7plbksywKCph4qli20l72of2fMlZQQ7RECvXYrRkE9+bjRFQCyULC7B8ydUYbpbkux5xJlVWyw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-align@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-alert@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-Grg8LuEaJpY74Imd7HEVUTQc8qaq9FM9ntuNILkikguyodBoz1UYEYH6iULaoKbp8N5HphoQh74jq9rTbPjdYQ==}
|
resolution: {integrity: sha512-Z+/bHBDniCz/Q+TMa3M6f47KG4tUKvJI8FHXhDwgbKLzDLn045ZBHcOTeqvuWrrjCIKBEo4fVAlYszYcehxmfg==}
|
||||||
|
peerDependencies:
|
||||||
|
markdown-it: ^13.0.2
|
||||||
|
peerDependenciesMeta:
|
||||||
|
markdown-it:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
'@types/markdown-it': 13.0.7
|
||||||
|
markdown-it: 13.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@mdit/plugin-align@0.7.6(markdown-it@13.0.2):
|
||||||
|
resolution: {integrity: sha512-NYGrsnX1c84dtY1tugDVX71zxxfcGSIjWANzQ0/od4B0+N31eXkq3SXdAjCXOWUUHSa6phfvtok+x4V9ExQwHA==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2224,13 +2070,13 @@ packages:
|
|||||||
markdown-it:
|
markdown-it:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@mdit/plugin-container': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-container': 0.7.6(markdown-it@13.0.2)
|
||||||
'@types/markdown-it': 13.0.7
|
'@types/markdown-it': 13.0.7
|
||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-attrs@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-attrs@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-53CMAw/DJ7/bpDG4VVfB6Pq5wm77W6Suv1dFMb0WyfcM8u4nWbd0tCrIXlf0Gj4X/4C8oM5bGtOOLU/xxxgLUA==}
|
resolution: {integrity: sha512-vTSsqZUXglZRQ4cLNou6N2cTLudHS01Tir+HPtrWkN+VB4VAIRlCKV3hf0vzKRM+HR3DSe+vQMrWzfnQdD0o4A==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2242,8 +2088,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-container@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-container@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-OEZv3vPzAGxH6OYHI1QVbn+yHdYap3T0ryG1Lzvd498Y4JHUGmHj69LWsKfSDmqKtVq/k4o/XbFwafxwQ/OFxQ==}
|
resolution: {integrity: sha512-egEYoJLkar4hxrBfFf6tO3IfoLzeUHYChGRI3FA2fxiMwwyclPvBMMQTtG2rY3sjPy497Z86QiqYwjRM0qA8Mw==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2255,8 +2101,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-demo@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-demo@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-lUx8fONmZYPg56UnEZjznPHaK/sTL5haY9uOjWCM+42WTKCVQrnsJcCMnJIKd88BROBSP+BdyHzrUxWR9ZSS2g==}
|
resolution: {integrity: sha512-pybxLVpIKYlxt7fgjHK4Zd6f/IMCjACB6eZmIIlow0eOnijRnikHdRDVkoyDOxcFuQvP0yvT6LWcQlhHF+CGwQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
@ -2267,8 +2113,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-figure@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-figure@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-bwgOB3noaJ9CEWdQkIdpkCbxVdv+amS/KkmzeGxK/ut3vflyppeVSif/aiFX9Jo3Y3RZqe3xXajQ7E7bs9DGjQ==}
|
resolution: {integrity: sha512-ysH5O3WWuDrfxLWQO4wYXYGdo8oi+EbMQFgbaSTxhoPKTFf3HTovCn3RANn7qATBqmGP26zf0hY55mX9BFUu5A==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2280,8 +2126,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-footnote@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-footnote@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-71zsfKwI90NVmbBv4I1cD4alyFFuW46NLgx06rKTETOseLX5fkGxC4tta2KdZcY0Bd7dvFdZVtUv91in2I3rcg==}
|
resolution: {integrity: sha512-fQvbi3+/Hm+k4GJptXCc5i0n9/+ZpQx4yqpjOTGGSUz1k22XU07YaK3wpL9w+nPAfcBfzD06D72Y+eDIG5wi8w==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2290,8 +2136,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-img-lazyload@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-img-lazyload@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-Bed8x88W3boXEOtWDvADqLeJ4rbTxJgpHt882eycGbYGHD6Q4mtJnZOfT1GYrxiPpHtZTpxtGR1AkOV5gW3X0A==}
|
resolution: {integrity: sha512-BBgxlXCOO7+9TMHJXtUyvi48jlH4ZYQtC9lNfgu1rvmq56iblZ7etOzg61/CmXmLgMHNvCbb/Kx7gRLkOBhv6A==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2303,8 +2149,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-img-mark@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-img-mark@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-qlD/9Kd6EJRdP4pRkg24RffMWsbBOGbwIJiDwFoDtSYO/z0UN3NEZTC603TjufP2lAb4Vqgkq4X1pkV14/28kw==}
|
resolution: {integrity: sha512-IhbkmTLbxr+c04ZQcSV2IFq8n1GeRFO08qQagkONUijI1O2G/RE2y6QvCVBUy0gB1Hc8c1i9vEyK1F0e4GpheQ==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2316,8 +2162,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-img-size@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-img-size@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-rPHt7dr/rlCxzGbBlL2hf8OtCT1F8nZw4MRXB971EX8gAjw1svrZKQBSwSppZt7MHzwPYRH1wRbO8kjhUh+7JQ==}
|
resolution: {integrity: sha512-GZGEbuR0l4+ENXDG1Y2HsrNO2JuEmjI6PPe7pgsolk5yveWOiqzcEV4ushrWnpvwNal3Acuj+dpFDmZFOtm42g==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2329,8 +2175,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-include@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-include@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-2IJV+nhrLxMRKl4QcbyMrK1i8Yp4KfDXiadMJrxSSyZwHu9PP49a4DAbzaE2J2aVI0AvTkg/LLQRZqQkWKtCCA==}
|
resolution: {integrity: sha512-4Pu0SdD2IOONLor/3GtQOYOBDv1xZ1LWByXLhht0kqEioX5D+aDZ5KD5MZ0AxH0xoNUGMynMEn/ak4/D9LLI7Q==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
@ -2342,8 +2188,8 @@ packages:
|
|||||||
upath: 2.0.1
|
upath: 2.0.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-katex@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-katex@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-viAovlZhZTske9GqDEyMbibCebdykASJt0Yx182w6GjM4XNuuvsfDqWFe3yANQN7CMTNfYxfaJ/ZSO2UnEc5Lg==}
|
resolution: {integrity: sha512-ZbPIks1SlgzS5R6YOL5s0J5vk20ROl5hF+Yj9o6CiEljodK2ln0ewpX36qM6POVrS/cu6E4Lx4X0fc5JTI6nAQ==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
katex: ^0.16.9
|
katex: ^0.16.9
|
||||||
@ -2354,14 +2200,14 @@ packages:
|
|||||||
markdown-it:
|
markdown-it:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@mdit/plugin-tex': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-tex': 0.7.6(markdown-it@13.0.2)
|
||||||
'@types/katex': 0.16.6
|
'@types/katex': 0.16.7
|
||||||
'@types/markdown-it': 13.0.7
|
'@types/markdown-it': 13.0.7
|
||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-mark@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-mark@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-sXIDGlEqoH4iByXMmSW+kg/E/KO4bOv3lHbztu9MGBIIrdOtoZ6PcBNYTNEBynlCIMvLrwa3g7HKxAQT59fHkQ==}
|
resolution: {integrity: sha512-D9gv+ebVORa4r69t0JeJg3NW9gCR/NOGYa1DKYDEQOJoZ1WwjZVuhdxd3wCpLKtqDLnyHTFWd3cnV/HHrmca3w==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2373,8 +2219,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-mathjax@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-mathjax@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-c2bslbe+z/cRd46aRzD/EumCdUejP49sCwwTAxB7JWjwiDCWO882q/OICrrqjWk+j7qxBFe0lFQwRXWHthCPGg==}
|
resolution: {integrity: sha512-Sn3nYbkPftAF5tgemIJ1aClxgU4NnElHPV5PIgkMxwusaSsN4RB+GZ1NmTKrPUqVoIZi0pO1oYxy08TlIHcrPg==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2385,14 +2231,14 @@ packages:
|
|||||||
mathjax-full:
|
mathjax-full:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@mdit/plugin-tex': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-tex': 0.7.6(markdown-it@13.0.2)
|
||||||
'@types/markdown-it': 13.0.7
|
'@types/markdown-it': 13.0.7
|
||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
upath: 2.0.1
|
upath: 2.0.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-stylize@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-stylize@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-qQJAzY4FpNeYZk9Wqb0qjtAaJd4aqllmXRts9TpfqGlpdH1HPiSPy+qAq4hs1OnMwimerlJ0tLtn1vFcc1CayQ==}
|
resolution: {integrity: sha512-dhhYxo4KdnB66g1080qeuz8X/80q3h4Cpmwnwi2rCbQfl29Nv26H5tz5pp15NKQfdfVgrZnXXLsDskJeg5IcaQ==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2404,8 +2250,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-sub@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-sub@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-ktzYk0eVHQ1pnZMELKuiI2AEFdCCjHgZNHO/rR2VOsF9OGWiLwtzUM0e+S6pbuY66ui/UxWpyXbZIpSnGhsBdA==}
|
resolution: {integrity: sha512-jo60gUC2KwnG4SqtyrbyI16hOcxb+Y1LwUKxXKfZRbZbcPcOfrzjE8q7XEq4MhmU51mfqY6EvCoB0yo49Zh2QA==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2417,8 +2263,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-sup@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-sup@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-KYCz0PBdVRZn+ke1wiwNZV4ofJvUgad95/T5epwNNi7yW+CbVGVbKkEMVu0pxfNbFCokIy3J6MIWNUqXcacd5Q==}
|
resolution: {integrity: sha512-bCR1DxNuPAyYOaTtl3VkrRc7dMsJjrqt9HnM9T1ZiprW08uciaT37fLXF7DeUHWhGpcklI9dFtaU5cQkjUosTg==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2430,8 +2276,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-tab@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-tab@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-QoyW3rUw3DBBjeoqp5bLsBzNXuqhZ+zY02MC7mKHqUrACgt+Ui3QKmCSwjbO0fL2k3eDERa85QeIFYjXoS/7iA==}
|
resolution: {integrity: sha512-kWwWmhv+PeeA9aC5InGyY4eJeIsCDDMhi1tbzyKW/wJ1eeFp+rpWpSfWwUe6QyTy/ZOhQ1nGXz0/uXI4xWz4Xw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
@ -2442,8 +2288,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-tasklist@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-tasklist@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-Eh5946hQrR+rOhvbOKN3lmFYK77R4UuLkE8NwZeyGrqaKvbZzdTKkPAr+Use87Fnxm7xOhcJiQuC62wQ+k+AKg==}
|
resolution: {integrity: sha512-ZsPHqQv/Cd9TUG3JfmrPOMRFR/SOG3/menWTz2kwE1HtJ1CUfBmoCRtfq2Sm7Rlqg/P6ZfWAd1t9bOwGkxD/5w==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2455,8 +2301,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-tex@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-tex@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-Le8XCodPiN9+gH2dtWH1CKrH7/dMQuz0M8hAZk/2j2w7TTaMb0x622ELCvIgSlnq8xk0mdBphVa3iZ2AyS9evg==}
|
resolution: {integrity: sha512-TZfIJp98n7NI0TxDSxPs4Il1fqyJ/1GE3v8UZHA1DbfAdiVMxno/Dun9381ZxoJYibl+dnX3Kz7Ej3BDOceGGA==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -2468,8 +2314,8 @@ packages:
|
|||||||
markdown-it: 13.0.2
|
markdown-it: 13.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@mdit/plugin-uml@0.6.5(markdown-it@13.0.2):
|
/@mdit/plugin-uml@0.7.6(markdown-it@13.0.2):
|
||||||
resolution: {integrity: sha512-xWB03mUnzrHE13Rv7ke6Mlw6b33hTB/GNqb+Z5L6vYFHSM3tAbxhZQIlxJ69hQuAh/mJkrY59JYKSxIbk2u6XA==}
|
resolution: {integrity: sha512-P/aRntMnMfvtAEcLCkg6vhzNFEidj6jIno7VXr3HZNLitonr9ihnksM6jgrqG1rrMo4okBWUGFFGqsR8hHJk6g==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
markdown-it: ^13.0.2
|
markdown-it: ^13.0.2
|
||||||
@ -4252,10 +4098,6 @@ packages:
|
|||||||
'@types/istanbul-lib-report': 3.0.0
|
'@types/istanbul-lib-report': 3.0.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@types/js-yaml@4.0.9:
|
|
||||||
resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@types/json-schema@7.0.12:
|
/@types/json-schema@7.0.12:
|
||||||
resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==}
|
resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==}
|
||||||
|
|
||||||
@ -4269,8 +4111,8 @@ packages:
|
|||||||
'@types/node': 20.10.5
|
'@types/node': 20.10.5
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@types/katex@0.16.6:
|
/@types/katex@0.16.7:
|
||||||
resolution: {integrity: sha512-rZYO1HInM99rAFYNwGqbYPxHZHxu2IwZYKj4bJ4oh6edVrm1UId8mmbHIZLBtG253qU6y3piag0XYe/joNnwzQ==}
|
resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@types/linkify-it@3.0.2:
|
/@types/linkify-it@3.0.2:
|
||||||
@ -6006,6 +5848,7 @@ packages:
|
|||||||
buffer: 6.0.3
|
buffer: 6.0.3
|
||||||
inherits: 2.0.4
|
inherits: 2.0.4
|
||||||
readable-stream: 3.6.0
|
readable-stream: 3.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/blueimp-md5@2.19.0:
|
/blueimp-md5@2.19.0:
|
||||||
resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==}
|
resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==}
|
||||||
@ -6126,6 +5969,7 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
base64-js: 1.5.1
|
base64-js: 1.5.1
|
||||||
ieee754: 1.2.1
|
ieee754: 1.2.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/bufrw@1.3.0:
|
/bufrw@1.3.0:
|
||||||
resolution: {integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ==}
|
resolution: {integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ==}
|
||||||
@ -6526,6 +6370,11 @@ packages:
|
|||||||
resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==}
|
resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
|
/cli-spinners@2.9.2:
|
||||||
|
resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/cli-truncate@3.1.0:
|
/cli-truncate@3.1.0:
|
||||||
resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==}
|
resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==}
|
||||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
@ -7196,10 +7045,6 @@ packages:
|
|||||||
split2: 4.1.0
|
split2: 4.1.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/convert-source-map@2.0.0:
|
|
||||||
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/cookie-es@1.0.0:
|
/cookie-es@1.0.0:
|
||||||
resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==}
|
resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==}
|
||||||
dev: false
|
dev: false
|
||||||
@ -7535,8 +7380,8 @@ packages:
|
|||||||
'@babel/runtime': 7.21.5
|
'@babel/runtime': 7.21.5
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/date-fns@3.0.5:
|
/date-fns@3.0.6:
|
||||||
resolution: {integrity: sha512-Q4Tq5c5s/Zl/zbgdWf6pejn9ru7UwdIlLfvEEg1hVsQNQ7LKt76qIduagIT9OPK7+JCv1mAKherdU6bOqGYDnw==}
|
resolution: {integrity: sha512-W+G99rycpKMMF2/YD064b2lE7jJGUe+EjOES7Q8BIGY8sbNdbgcs9XFTZwvzc9Jx1f3k7LB7gZaZa7f8Agzljg==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/date-time@3.1.0:
|
/date-time@3.1.0:
|
||||||
@ -7999,6 +7844,7 @@ packages:
|
|||||||
|
|
||||||
/emoji-regex@10.2.1:
|
/emoji-regex@10.2.1:
|
||||||
resolution: {integrity: sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==}
|
resolution: {integrity: sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/emoji-regex@10.3.0:
|
/emoji-regex@10.3.0:
|
||||||
resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
|
resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
|
||||||
@ -9451,11 +9297,6 @@ packages:
|
|||||||
wide-align: 1.1.5
|
wide-align: 1.1.5
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/gensync@1.0.0-beta.2:
|
|
||||||
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/get-amd-module-type@5.0.0:
|
/get-amd-module-type@5.0.0:
|
||||||
resolution: {integrity: sha512-9mUVPLcOJ8n6VvW+9QOCdYC350Rmqg/hK2I+mFrqoV4KtBkZVGZDnINzN8Zo3s5VoxWk8/isVC48W02+auxDaQ==}
|
resolution: {integrity: sha512-9mUVPLcOJ8n6VvW+9QOCdYC350Rmqg/hK2I+mFrqoV4KtBkZVGZDnINzN8Zo3s5VoxWk8/isVC48W02+auxDaQ==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
@ -9764,11 +9605,6 @@ packages:
|
|||||||
which: 1.3.1
|
which: 1.3.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/globals@11.12.0:
|
|
||||||
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
|
|
||||||
engines: {node: '>=4'}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/globals@13.19.0:
|
/globals@13.19.0:
|
||||||
resolution: {integrity: sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==}
|
resolution: {integrity: sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@ -10917,6 +10753,11 @@ packages:
|
|||||||
resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
|
resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
/is-unicode-supported@2.0.0:
|
||||||
|
resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/is-url-superb@4.0.0:
|
/is-url-superb@4.0.0:
|
||||||
resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==}
|
resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
@ -11063,12 +10904,6 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
argparse: 2.0.1
|
argparse: 2.0.1
|
||||||
|
|
||||||
/jsesc@2.5.2:
|
|
||||||
resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
|
|
||||||
engines: {node: '>=4'}
|
|
||||||
hasBin: true
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/json-buffer@3.0.1:
|
/json-buffer@3.0.1:
|
||||||
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
|
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
|
||||||
dev: false
|
dev: false
|
||||||
@ -11613,6 +11448,15 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
chalk: 5.3.0
|
chalk: 5.3.0
|
||||||
is-unicode-supported: 1.3.0
|
is-unicode-supported: 1.3.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/log-symbols@6.0.0:
|
||||||
|
resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
dependencies:
|
||||||
|
chalk: 5.3.0
|
||||||
|
is-unicode-supported: 1.3.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/log-update@5.0.1:
|
/log-update@5.0.1:
|
||||||
resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==}
|
resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==}
|
||||||
@ -11690,12 +11534,6 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
semver: 7.5.4
|
semver: 7.5.4
|
||||||
|
|
||||||
/lru-cache@5.1.1:
|
|
||||||
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
|
|
||||||
dependencies:
|
|
||||||
yallist: 3.1.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/lru-cache@6.0.0:
|
/lru-cache@6.0.0:
|
||||||
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
|
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
@ -13065,6 +12903,22 @@ packages:
|
|||||||
stdin-discarder: 0.1.0
|
stdin-discarder: 0.1.0
|
||||||
string-width: 6.1.0
|
string-width: 6.1.0
|
||||||
strip-ansi: 7.1.0
|
strip-ansi: 7.1.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/ora@8.0.0:
|
||||||
|
resolution: {integrity: sha512-RUI+M9AFI9f0h+iPBxBIok+tWHSQYiMpp+NCdEOPFWrSGxl+IIJ4iCiXetSEoiP0AnNv1EcER6l/7t4mfkZjew==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
dependencies:
|
||||||
|
chalk: 5.3.0
|
||||||
|
cli-cursor: 4.0.0
|
||||||
|
cli-spinners: 2.9.2
|
||||||
|
is-interactive: 2.0.0
|
||||||
|
is-unicode-supported: 2.0.0
|
||||||
|
log-symbols: 6.0.0
|
||||||
|
stdin-discarder: 0.2.0
|
||||||
|
string-width: 7.0.0
|
||||||
|
strip-ansi: 7.1.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/os-locale@1.4.0:
|
/os-locale@1.4.0:
|
||||||
resolution: {integrity: sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==}
|
resolution: {integrity: sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==}
|
||||||
@ -15163,6 +15017,12 @@ packages:
|
|||||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
bl: 5.1.0
|
bl: 5.1.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/stdin-discarder@0.2.0:
|
||||||
|
resolution: {integrity: sha512-ZWOBlQfhYyLvTDu8BneHv0UZA2FhNEIyiwrzMjWahPNzdCeLsfN0ScqTZoAXFeUEmx/X/sHd7SW3x7WBV+f51A==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/streamx@2.15.0:
|
/streamx@2.15.0:
|
||||||
resolution: {integrity: sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==}
|
resolution: {integrity: sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==}
|
||||||
@ -15219,6 +15079,7 @@ packages:
|
|||||||
eastasianwidth: 0.2.0
|
eastasianwidth: 0.2.0
|
||||||
emoji-regex: 10.2.1
|
emoji-regex: 10.2.1
|
||||||
strip-ansi: 7.1.0
|
strip-ansi: 7.1.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/string-width@7.0.0:
|
/string-width@7.0.0:
|
||||||
resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==}
|
resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==}
|
||||||
@ -16512,14 +16373,14 @@ packages:
|
|||||||
typescript: 5.3.3
|
typescript: 5.3.3
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/vuepress-plugin-comment2@2.0.0-rc.0(typescript@5.3.3):
|
/vuepress-plugin-comment2@2.0.0-rc.5(typescript@5.3.3):
|
||||||
resolution: {integrity: sha512-axgBwfMp1cd28S+PMKBnIPPCtuZqeUUu0ww6Sl29NB3QXyKWYfr+64TtVMkMTw5MrR3Cqhm2kOYdhqF3YU0/jQ==}
|
resolution: {integrity: sha512-EVYsUIIWLFUQoxrALdVcBPnSDPJfXWrsrpbryuWUFDkpjstm7gMHgNGJr6vkaqmP92BkysXcwJ2EuN4OweMtcA==}
|
||||||
engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
|
engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@waline/client': ^2.15.8
|
'@waline/client': ^2.15.8 || ^3.0.0-alpha.7
|
||||||
artalk: ^2.6.4
|
artalk: ^2.6.4
|
||||||
sass-loader: ^13.3.2
|
sass-loader: ^13.3.2
|
||||||
twikoo: ^1.6.25
|
twikoo: ^1.6.26
|
||||||
vuepress: 2.0.0-rc.0
|
vuepress: 2.0.0-rc.0
|
||||||
vuepress-vite: 2.0.0-rc.0
|
vuepress-vite: 2.0.0-rc.0
|
||||||
vuepress-webpack: 2.0.0-rc.0
|
vuepress-webpack: 2.0.0-rc.0
|
||||||
@ -16545,25 +16406,28 @@ packages:
|
|||||||
giscus: 1.3.0
|
giscus: 1.3.0
|
||||||
vue: 3.3.13(typescript@5.3.3)
|
vue: 3.3.13(typescript@5.3.3)
|
||||||
vue-router: 4.2.5(vue@3.3.13)
|
vue-router: 4.2.5(vue@3.3.13)
|
||||||
vuepress-plugin-sass-palette: 2.0.0-rc.0(typescript@5.3.3)
|
vuepress-plugin-sass-palette: 2.0.0-rc.5(typescript@5.3.3)
|
||||||
vuepress-shared: 2.0.0-rc.0(typescript@5.3.3)
|
vuepress-shared: 2.0.0-rc.5(typescript@5.3.3)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@vue/composition-api'
|
- '@vue/composition-api'
|
||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
- typescript
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/vuepress-plugin-md-enhance@2.0.0-rc.0(@types/js-yaml@4.0.9)(typescript@5.3.3):
|
/vuepress-plugin-md-enhance@2.0.0-rc.5(markdown-it@13.0.2)(typescript@5.3.3):
|
||||||
resolution: {integrity: sha512-sDP7gEp62phCkPuTtJaLwzKI53b94zqLQ2zajlPkDGTswPyxjOOvCdt2M3bcYM2gnSAV6szZhWuh7VCs1i5D7g==}
|
resolution: {integrity: sha512-e7xiodPfKLIG8vVHZ9Guk97sc+7w4t0FzBlye6YYKTOd1Csm40hRqvBMp69WmDgzmp6zYdprifw1mC9do17dhw==}
|
||||||
engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
|
engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@types/js-yaml': ^4.0.9
|
|
||||||
'@types/reveal.js': ^4.4.5
|
'@types/reveal.js': ^4.4.5
|
||||||
'@vue/repl': ^2.7.0
|
'@vue/repl': ^3.0.0
|
||||||
chart.js: ^4.4.0
|
chart.js: ^4.4.0
|
||||||
echarts: ^5.4.3
|
echarts: ^5.4.3
|
||||||
flowchart.ts: ^1.0.1
|
flowchart.ts: ^2.0.0
|
||||||
katex: ^0.16.9
|
katex: ^0.16.9
|
||||||
|
kotlin-playground: ^1.29.0
|
||||||
|
markmap-lib: ^0.15.7
|
||||||
|
markmap-toolbar: ^0.15.6
|
||||||
|
markmap-view: ^0.15.6
|
||||||
mathjax-full: ^3.2.2
|
mathjax-full: ^3.2.2
|
||||||
mermaid: ^10.6.1
|
mermaid: ^10.6.1
|
||||||
reveal.js: ^5.0.2
|
reveal.js: ^5.0.2
|
||||||
@ -16584,6 +16448,14 @@ packages:
|
|||||||
optional: true
|
optional: true
|
||||||
katex:
|
katex:
|
||||||
optional: true
|
optional: true
|
||||||
|
kotlin-playground:
|
||||||
|
optional: true
|
||||||
|
markmap-lib:
|
||||||
|
optional: true
|
||||||
|
markmap-toolbar:
|
||||||
|
optional: true
|
||||||
|
markmap-view:
|
||||||
|
optional: true
|
||||||
mathjax-full:
|
mathjax-full:
|
||||||
optional: true
|
optional: true
|
||||||
mermaid:
|
mermaid:
|
||||||
@ -16599,28 +16471,27 @@ packages:
|
|||||||
vuepress-webpack:
|
vuepress-webpack:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.23.3
|
'@mdit/plugin-alert': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-align': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-align': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-attrs': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-attrs': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-container': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-container': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-demo': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-demo': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-figure': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-figure': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-footnote': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-footnote': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-img-lazyload': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-img-lazyload': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-img-mark': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-img-mark': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-img-size': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-img-size': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-include': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-include': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-katex': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-katex': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-mark': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-mark': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-mathjax': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-mathjax': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-stylize': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-stylize': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-sub': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-sub': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-sup': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-sup': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-tab': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-tab': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-tasklist': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-tasklist': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-tex': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-tex': 0.7.6(markdown-it@13.0.2)
|
||||||
'@mdit/plugin-uml': 0.6.5(markdown-it@13.0.2)
|
'@mdit/plugin-uml': 0.7.6(markdown-it@13.0.2)
|
||||||
'@types/js-yaml': 4.0.9
|
|
||||||
'@types/markdown-it': 13.0.7
|
'@types/markdown-it': 13.0.7
|
||||||
'@vuepress/client': 2.0.0-rc.0(typescript@5.3.3)
|
'@vuepress/client': 2.0.0-rc.0(typescript@5.3.3)
|
||||||
'@vuepress/shared': 2.0.0-rc.0
|
'@vuepress/shared': 2.0.0-rc.0
|
||||||
@ -16628,19 +16499,19 @@ packages:
|
|||||||
'@vueuse/core': 10.7.0(vue@3.3.13)
|
'@vueuse/core': 10.7.0(vue@3.3.13)
|
||||||
balloon-css: 1.2.0
|
balloon-css: 1.2.0
|
||||||
js-yaml: 4.1.0
|
js-yaml: 4.1.0
|
||||||
markdown-it: 13.0.2
|
|
||||||
vue: 3.3.13(typescript@5.3.3)
|
vue: 3.3.13(typescript@5.3.3)
|
||||||
vue-router: 4.2.5(vue@3.3.13)
|
vue-router: 4.2.5(vue@3.3.13)
|
||||||
vuepress-plugin-sass-palette: 2.0.0-rc.0(typescript@5.3.3)
|
vuepress-plugin-sass-palette: 2.0.0-rc.5(typescript@5.3.3)
|
||||||
vuepress-shared: 2.0.0-rc.0(typescript@5.3.3)
|
vuepress-shared: 2.0.0-rc.5(typescript@5.3.3)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@vue/composition-api'
|
- '@vue/composition-api'
|
||||||
|
- markdown-it
|
||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
- typescript
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/vuepress-plugin-sass-palette@2.0.0-rc.0(typescript@5.3.3):
|
/vuepress-plugin-sass-palette@2.0.0-rc.5(typescript@5.3.3):
|
||||||
resolution: {integrity: sha512-dgvwBdUaAmuNwCnHdOcZ4LBA+W2RUP7zprz1rQWAn16YhgARTkXIkTO69r3AXT2QxrjKKH5r6fC7L1Zq6DMPrA==}
|
resolution: {integrity: sha512-ovAv5xGSu5T2+VlszjZpstDKKVH0wedVm13Vvt6RI6VJujh1fpQy+/g4yNK09U+HNd+sDMZoYCY7epF8CWXOXA==}
|
||||||
engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
|
engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
sass-loader: ^13.3.2
|
sass-loader: ^13.3.2
|
||||||
@ -16661,15 +16532,15 @@ packages:
|
|||||||
'@vuepress/utils': 2.0.0-rc.0
|
'@vuepress/utils': 2.0.0-rc.0
|
||||||
chokidar: 3.5.3
|
chokidar: 3.5.3
|
||||||
sass: 1.69.5
|
sass: 1.69.5
|
||||||
vuepress-shared: 2.0.0-rc.0(typescript@5.3.3)
|
vuepress-shared: 2.0.0-rc.5(typescript@5.3.3)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@vue/composition-api'
|
- '@vue/composition-api'
|
||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
- typescript
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/vuepress-plugin-seo2@2.0.0-rc.0(typescript@5.3.3):
|
/vuepress-plugin-seo2@2.0.0-rc.5(typescript@5.3.3):
|
||||||
resolution: {integrity: sha512-V0jMT/Lv2ktOoe2wssMG/zip07wd0GKxJyXY9qEc9B5OOw8KZRYO9frD85YprUCOHEYjwu+sHbI+kUQRaSb+eg==}
|
resolution: {integrity: sha512-VwnBF1zuIjwrIQzAKQQm2l0QucZ/MqEnm3l5Hdg/katGuSna4AjEnhVDswwr4plHliNYWNzcu9V2o0tqEaRouw==}
|
||||||
engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
|
engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vuepress: 2.0.0-rc.0
|
vuepress: 2.0.0-rc.0
|
||||||
@ -16685,15 +16556,15 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@vuepress/shared': 2.0.0-rc.0
|
'@vuepress/shared': 2.0.0-rc.0
|
||||||
'@vuepress/utils': 2.0.0-rc.0
|
'@vuepress/utils': 2.0.0-rc.0
|
||||||
vuepress-shared: 2.0.0-rc.0(typescript@5.3.3)
|
vuepress-shared: 2.0.0-rc.5(typescript@5.3.3)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@vue/composition-api'
|
- '@vue/composition-api'
|
||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
- typescript
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/vuepress-plugin-sitemap2@2.0.0-rc.0(typescript@5.3.3):
|
/vuepress-plugin-sitemap2@2.0.0-rc.5(typescript@5.3.3):
|
||||||
resolution: {integrity: sha512-TyG4PzuYnEVV4hQVRzJYYWMmvknJz3+bJ2aoEEYvNfGXxMgi4H2FvVlMunRO/Tkh8qC7QKg8vz/ArEzxG4HwuQ==}
|
resolution: {integrity: sha512-b1ylNdPLsmhQ+R0NzyaIXHaAybFf0sB47TnYc43X9O8Ql+O8TI6jpBcF8DID7pWp5scQIdf3BIQ1yd/Q0wQgnw==}
|
||||||
engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
|
engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vuepress: 2.0.0-rc.0
|
vuepress: 2.0.0-rc.0
|
||||||
@ -16710,15 +16581,15 @@ packages:
|
|||||||
'@vuepress/shared': 2.0.0-rc.0
|
'@vuepress/shared': 2.0.0-rc.0
|
||||||
'@vuepress/utils': 2.0.0-rc.0
|
'@vuepress/utils': 2.0.0-rc.0
|
||||||
sitemap: 7.1.1
|
sitemap: 7.1.1
|
||||||
vuepress-shared: 2.0.0-rc.0(typescript@5.3.3)
|
vuepress-shared: 2.0.0-rc.5(typescript@5.3.3)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@vue/composition-api'
|
- '@vue/composition-api'
|
||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
- typescript
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/vuepress-shared@2.0.0-rc.0(typescript@5.3.3):
|
/vuepress-shared@2.0.0-rc.5(typescript@5.3.3):
|
||||||
resolution: {integrity: sha512-Rr5n/A1o8qnyvZEWkrI8is9ktQhTc+6P56QjHM3bCI2XRDFfwnUNi8hCSl4KA0/MQOESMHmWnL4izRD7Jprh5A==}
|
resolution: {integrity: sha512-J+N3/sb966uI5wSs4k6QLrwxSE78Z77hBRdNKNN9HrhTXQX5SqIV5gqqnS24OfI5GxEWrl4Eba40ECwJk9hKlA==}
|
||||||
engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
|
engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vuepress: 2.0.0-rc.0
|
vuepress: 2.0.0-rc.0
|
||||||
@ -17225,10 +17096,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
/yallist@3.1.1:
|
|
||||||
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/yallist@4.0.0:
|
/yallist@4.0.0:
|
||||||
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
||||||
|
|
||||||
|
|||||||
@ -67,17 +67,16 @@
|
|||||||
"@vuepress/shared": "2.0.0-rc.0",
|
"@vuepress/shared": "2.0.0-rc.0",
|
||||||
"@vuepress/utils": "2.0.0-rc.0",
|
"@vuepress/utils": "2.0.0-rc.0",
|
||||||
"@vueuse/core": "^10.7.0",
|
"@vueuse/core": "^10.7.0",
|
||||||
"date-fns": "^3.0.5",
|
"date-fns": "^3.0.6",
|
||||||
"lodash.merge": "^4.6.2",
|
"lodash.merge": "^4.6.2",
|
||||||
"nanoid": "^5.0.4",
|
"nanoid": "^5.0.4",
|
||||||
"ts-debounce": "^4.0.0",
|
"ts-debounce": "^4.0.0",
|
||||||
"vue": "^3.3.13",
|
"vue": "^3.3.13",
|
||||||
"vue-router": "4.2.5",
|
"vue-router": "4.2.5",
|
||||||
"vuepress-plugin-comment2": "2.0.0-rc.0",
|
"vuepress-plugin-comment2": "2.0.0-rc.5",
|
||||||
"vuepress-plugin-md-enhance": "2.0.0-rc.0",
|
"vuepress-plugin-md-enhance": "2.0.0-rc.5",
|
||||||
"vuepress-plugin-seo2": "2.0.0-rc.0",
|
"vuepress-plugin-seo2": "2.0.0-rc.5",
|
||||||
"vuepress-plugin-sitemap2": "2.0.0-rc.0",
|
"vuepress-plugin-sitemap2": "2.0.0-rc.5"
|
||||||
"windicss": "^3.5.6"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/lodash.merge": "^4.6.9"
|
"@types/lodash.merge": "^4.6.9"
|
||||||
|
|||||||
@ -48,11 +48,11 @@ const page = usePageData()
|
|||||||
}
|
}
|
||||||
|
|
||||||
.link:hover {
|
.link:hover {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
background-color: var(--vp-c-bg-elv-mute);
|
background-color: var(--vp-c-default-soft);
|
||||||
}
|
}
|
||||||
|
|
||||||
.link.active {
|
.link.active {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -69,7 +69,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.flyout-wrapper:hover {
|
.flyout-wrapper:hover {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
transition: color 0.25s;
|
transition: color 0.25s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,11 +82,11 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.flyout-wrapper.active .text {
|
.flyout-wrapper.active .text {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.flyout-wrapper.active:hover .text {
|
.flyout-wrapper.active:hover .text {
|
||||||
color: var(--vp-c-brand-dark);
|
color: var(--vp-c-brand-2);
|
||||||
}
|
}
|
||||||
|
|
||||||
.flyout-wrapper:hover .menu,
|
.flyout-wrapper:hover .menu,
|
||||||
|
|||||||
@ -72,6 +72,7 @@ const classes = computed(() => {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
border-top: 1px solid var(--vp-c-gutter);
|
||||||
border-bottom: 1px solid var(--vp-c-gutter);
|
border-bottom: 1px solid var(--vp-c-gutter);
|
||||||
padding-top: var(--vp-layout-top-height, 0px);
|
padding-top: var(--vp-layout-top-height, 0px);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@ -120,7 +120,7 @@ function scrollToTop() {
|
|||||||
right: 16px;
|
right: 16px;
|
||||||
left: 16px;
|
left: 16px;
|
||||||
display: grid;
|
display: grid;
|
||||||
/* gap: 1px; */
|
gap: 1px;
|
||||||
border: 1px solid var(--vp-c-border);
|
border: 1px solid var(--vp-c-border);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
background-color: var(--vp-c-gutter);
|
background-color: var(--vp-c-gutter);
|
||||||
|
|||||||
@ -42,10 +42,10 @@ const page = usePageData()
|
|||||||
}
|
}
|
||||||
|
|
||||||
.navbar-menu-link.active {
|
.navbar-menu-link.active {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-menu-link:hover {
|
.navbar-menu-link:hover {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.DocSearch {
|
.DocSearch {
|
||||||
--docsearch-primary-color: var(--vp-c-brand);
|
--docsearch-primary-color: var(--vp-c-brand-1);
|
||||||
--docsearch-highlight-color: var(--docsearch-primary-color);
|
--docsearch-highlight-color: var(--docsearch-primary-color);
|
||||||
--docsearch-text-color: var(--vp-c-text-1);
|
--docsearch-text-color: var(--vp-c-text-1);
|
||||||
--docsearch-muted-color: var(--vp-c-text-2);
|
--docsearch-muted-color: var(--vp-c-text-2);
|
||||||
@ -41,7 +41,7 @@
|
|||||||
--docsearch-modal-shadow: none;
|
--docsearch-modal-shadow: none;
|
||||||
--docsearch-footer-shadow: none;
|
--docsearch-footer-shadow: none;
|
||||||
--docsearch-logo-color: var(--vp-c-text-2);
|
--docsearch-logo-color: var(--vp-c-text-2);
|
||||||
--docsearch-hit-background: var(--vp-c-bg-soft-mute);
|
--docsearch-hit-background: var(--vp-c-default-soft);
|
||||||
--docsearch-hit-color: var(--vp-c-text-2);
|
--docsearch-hit-color: var(--vp-c-text-2);
|
||||||
--docsearch-hit-shadow: none;
|
--docsearch-hit-shadow: none;
|
||||||
}
|
}
|
||||||
@ -83,7 +83,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.DocSearch-Button:hover {
|
.DocSearch-Button:hover {
|
||||||
border-color: var(--vp-c-brand);
|
border-color: var(--vp-c-brand-1);
|
||||||
background: var(--vp-c-bg-alt);
|
background: var(--vp-c-bg-alt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -200,11 +200,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.DocSearch-Form {
|
.DocSearch-Form {
|
||||||
border: 1px solid var(--vp-c-brand);
|
border: 1px solid var(--vp-c-brand-1);
|
||||||
background-color: var(--vp-c-white);
|
background-color: var(--vp-c-white);
|
||||||
}
|
}
|
||||||
|
|
||||||
.dark .DocSearch-Form {
|
.dark .DocSearch-Form {
|
||||||
background-color: var(--vp-c-bg-soft-mute);
|
background-color: var(--vp-c-bg-soft);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -81,7 +81,7 @@ function toggle() {
|
|||||||
|
|
||||||
.nav-screen-menu-group.open .button {
|
.nav-screen-menu-group.open .button {
|
||||||
padding-bottom: 6px;
|
padding-bottom: 6px;
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-screen-menu-group.open .button-icon {
|
.nav-screen-menu-group.open .button-icon {
|
||||||
@ -103,7 +103,7 @@ function toggle() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.button:hover {
|
.button:hover {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-text i {
|
.button-text i {
|
||||||
|
|||||||
@ -34,6 +34,6 @@ const closeScreen = inject('close-screen') as () => void
|
|||||||
}
|
}
|
||||||
|
|
||||||
.nav-screen-menu-group-link:hover {
|
.nav-screen-menu-group-link:hover {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -31,6 +31,6 @@ const closeScreen = inject('close-screen') as () => void
|
|||||||
}
|
}
|
||||||
|
|
||||||
.nav-screen-menu-link:hover {
|
.nav-screen-menu-link:hover {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import { usePageData } from '@vuepress/client'
|
|||||||
import type { PlumeThemePageData } from '../../shared/index.js'
|
import type { PlumeThemePageData } from '../../shared/index.js'
|
||||||
import { useDarkMode, useSidebar } from '../composables/index.js'
|
import { useDarkMode, useSidebar } from '../composables/index.js'
|
||||||
import PageAside from './PageAside.vue'
|
import PageAside from './PageAside.vue'
|
||||||
|
import PageFooter from './PageFooter.vue'
|
||||||
import PageMeta from './PageMeta.vue'
|
import PageMeta from './PageMeta.vue'
|
||||||
|
|
||||||
const { hasSidebar, hasAside } = useSidebar()
|
const { hasSidebar, hasAside } = useSidebar()
|
||||||
@ -32,6 +33,7 @@ const page = usePageData<PlumeThemePageData>()
|
|||||||
<main class="main">
|
<main class="main">
|
||||||
<PageMeta />
|
<PageMeta />
|
||||||
<Content class="plume-content" />
|
<Content class="plume-content" />
|
||||||
|
<PageFooter />
|
||||||
<PageComment :darkmode="isDark" />
|
<PageComment :darkmode="isDark" />
|
||||||
</main>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -81,7 +81,7 @@ function handleClick({ target: el }: Event) {
|
|||||||
opacity: 0;
|
opacity: 0;
|
||||||
width: 1px;
|
width: 1px;
|
||||||
height: 18px;
|
height: 18px;
|
||||||
background-color: var(--vp-c-brand);
|
background-color: var(--vp-c-brand-1);
|
||||||
transition: top 0.25s cubic-bezier(0, 1, 0.5, 1), background-color 0.5s,
|
transition: top 0.25s cubic-bezier(0, 1, 0.5, 1), background-color 0.5s,
|
||||||
opacity 0.25s;
|
opacity 0.25s;
|
||||||
}
|
}
|
||||||
|
|||||||
190
theme/src/client/components/PageFooter.vue
Normal file
190
theme/src/client/components/PageFooter.vue
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
<script lang="ts" setup>
|
||||||
|
import { computed } from 'vue'
|
||||||
|
import { useContributors, useEditNavLink, useLastUpdated, usePageNav, useThemeLocaleData } from '../composables/index.js'
|
||||||
|
import AutoLink from './AutoLink.vue'
|
||||||
|
import IconEdit from './icons/IconEdit.vue'
|
||||||
|
|
||||||
|
const themeLocale = useThemeLocaleData()
|
||||||
|
const editNavLink = useEditNavLink()
|
||||||
|
const lastUpdated = useLastUpdated()
|
||||||
|
const contributors = useContributors()
|
||||||
|
const { prev, next } = usePageNav()
|
||||||
|
|
||||||
|
const showFooter = computed(() => {
|
||||||
|
return editNavLink.value || lastUpdated.value || contributors.value || prev.value || next.value
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<footer v-if="showFooter" class="page-footer">
|
||||||
|
<div v-if="editNavLink || lastUpdated" class="edit-info">
|
||||||
|
<div v-if="editNavLink" class="edit-link">
|
||||||
|
<AutoLink class="edit-link-button" :href="editNavLink.link" :no-icon="true">
|
||||||
|
<IconEdit class="edit-link-icon" aria-label="edit icon"/>
|
||||||
|
{{ editNavLink.text }}
|
||||||
|
</AutoLink>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="lastUpdated" class="last-updated">
|
||||||
|
<p class="last-updated-text">
|
||||||
|
{{ themeLocale.lastUpdatedText || 'Last updated' }}:
|
||||||
|
<time :datetime="lastUpdated" class="last-updated-time">{{ lastUpdated }}</time>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-if="contributors && contributors.length" class="contributors">
|
||||||
|
<span class="contributors-label">{{ themeLocale.contributorsText || 'Contributors' }}:</span>
|
||||||
|
<span class="contributors-info">
|
||||||
|
<template v-for="(contributor, index) in contributors" :key="contributor">
|
||||||
|
<span class="contributor" :title="`email: ${contributor.email}`">
|
||||||
|
{{ contributor.name }}
|
||||||
|
</span>
|
||||||
|
<template v-if="index !== contributors.length - 1">, </template>
|
||||||
|
</template>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<nav v-if="prev?.link || next?.link" class="prev-next">
|
||||||
|
<div class="pager">
|
||||||
|
<AutoLink v-if="prev?.link" class="pager-link prev" :href="prev.link">
|
||||||
|
<!--eslint-disable-next-line vue/no-v-html-->
|
||||||
|
<span class="desc" v-html="themeLocale.prevPageLabel || 'Previous page'"></span>
|
||||||
|
<!--eslint-disable-next-line vue/no-v-html-->
|
||||||
|
<span class="title" v-html="prev.text"></span>
|
||||||
|
</AutoLink>
|
||||||
|
</div>
|
||||||
|
<div class="pager">
|
||||||
|
<AutoLink v-if="next?.link" class="pager-link next" :href="next.link">
|
||||||
|
<!--eslint-disable-next-line vue/no-v-html-->
|
||||||
|
<span class="desc" v-html="themeLocale.nextPageLabel || 'Next page'"></span>
|
||||||
|
<!--eslint-disable-next-line vue/no-v-html-->
|
||||||
|
<span class="title" v-html="next.text"></span>
|
||||||
|
</AutoLink>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</footer>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.page-footer {
|
||||||
|
margin-top: 96px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media (min-width: 640px) {
|
||||||
|
.edit-info {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding-bottom: 6px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.edit-link-button {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
border: 0;
|
||||||
|
line-height: 32px;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: var(--vp-c-brand-1);
|
||||||
|
transition: color 0.25s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.edit-link-button:hover {
|
||||||
|
color: var(--vp-c-brand-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.edit-link-icon {
|
||||||
|
margin-right: 8px;
|
||||||
|
width: 14px;
|
||||||
|
height: 14px;
|
||||||
|
fill: currentColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
.last-updated-text {
|
||||||
|
line-height: 24px;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: var(--vp-c-text-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 640px) {
|
||||||
|
.last-updated-text {
|
||||||
|
line-height: 32px;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.contributors {
|
||||||
|
padding-bottom: 6px;
|
||||||
|
line-height: 32px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contributors-label {
|
||||||
|
padding-right: 10px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: var(--vp-c-text-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.contributors-info {
|
||||||
|
color: var(--vp-c-text-2);
|
||||||
|
.contributor {
|
||||||
|
color: var(--vp-c-brand-2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.prev-next {
|
||||||
|
border-top: 1px solid var(--vp-c-divider);
|
||||||
|
margin-top: 10px;
|
||||||
|
padding-top: 24px;
|
||||||
|
display: grid;
|
||||||
|
grid-row-gap: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 640px) {
|
||||||
|
.prev-next {
|
||||||
|
grid-template-columns: repeat(2, 1fr);
|
||||||
|
grid-column-gap: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pager-link {
|
||||||
|
display: block;
|
||||||
|
border: 1px solid var(--vp-c-divider);
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 11px 16px 13px;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
transition: border-color 0.25s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pager-link:hover {
|
||||||
|
border-color: var(--vp-c-brand-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.pager-link.next {
|
||||||
|
margin-left: auto;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.desc {
|
||||||
|
display: block;
|
||||||
|
line-height: 20px;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: var(--vp-c-text-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
display: block;
|
||||||
|
line-height: 20px;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: var(--vp-c-brand-1);
|
||||||
|
transition: color 0.25s;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
@ -65,7 +65,7 @@ const hasMeta = computed(() => tags.value.length || createTime.value)
|
|||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
margin-bottom: 2rem;
|
margin-bottom: 2rem;
|
||||||
border-left: solid 4px var(--vp-c-brand);
|
border-left: solid 4px var(--vp-c-brand-1);
|
||||||
padding-left: 1rem;
|
padding-left: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ const hasMeta = computed(() => tags.value.length || createTime.value)
|
|||||||
}
|
}
|
||||||
|
|
||||||
.page-category-wrapper .category:hover {
|
.page-category-wrapper .category:hover {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.page-category-wrapper .dot {
|
.page-category-wrapper .dot {
|
||||||
|
|||||||
@ -78,7 +78,7 @@ const createTime = computed(() => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
h3:hover {
|
h3:hover {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
|
|
||||||
.sticky {
|
.sticky {
|
||||||
color: var(--vp-c-text-2);
|
color: var(--vp-c-text-2);
|
||||||
@ -100,7 +100,7 @@ const createTime = computed(() => {
|
|||||||
line-height: 1;
|
line-height: 1;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: var(--vp-c-text-2);
|
color: var(--vp-c-text-2);
|
||||||
background-color: var(--vp-c-bg-soft-mute);
|
background-color: var(--vp-c-default-soft);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -137,7 +137,7 @@ function onCaretClick() {
|
|||||||
.sidebar-item.level-3.is-active > .item > .indicator,
|
.sidebar-item.level-3.is-active > .item > .indicator,
|
||||||
.sidebar-item.level-4.is-active > .item > .indicator,
|
.sidebar-item.level-4.is-active > .item > .indicator,
|
||||||
.sidebar-item.level-5.is-active > .item > .indicator {
|
.sidebar-item.level-5.is-active > .item > .indicator {
|
||||||
background-color: var(--vp-c-brand);
|
background-color: var(--vp-c-brand-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.link {
|
.link {
|
||||||
@ -173,7 +173,7 @@ function onCaretClick() {
|
|||||||
.sidebar-item.level-3.is-link > .item > .link:hover .text,
|
.sidebar-item.level-3.is-link > .item > .link:hover .text,
|
||||||
.sidebar-item.level-4.is-link > .item > .link:hover .text,
|
.sidebar-item.level-4.is-link > .item > .link:hover .text,
|
||||||
.sidebar-item.level-5.is-link > .item > .link:hover .text {
|
.sidebar-item.level-5.is-link > .item > .link:hover .text {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebar-item.level-0.has-active > .item > .link > .text,
|
.sidebar-item.level-0.has-active > .item > .link > .text,
|
||||||
@ -191,7 +191,7 @@ function onCaretClick() {
|
|||||||
.sidebar-item.level-3.is-active > .item .link > .text,
|
.sidebar-item.level-3.is-active > .item .link > .text,
|
||||||
.sidebar-item.level-4.is-active > .item .link > .text,
|
.sidebar-item.level-4.is-active > .item .link > .text,
|
||||||
.sidebar-item.level-5.is-active > .item .link > .text {
|
.sidebar-item.level-5.is-active > .item .link > .text {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.caret {
|
.caret {
|
||||||
|
|||||||
@ -50,7 +50,7 @@ function focusOnTargetAnchor({ target }: Event) {
|
|||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
box-shadow: var(--vp-shadow-3);
|
box-shadow: var(--vp-shadow-3);
|
||||||
background-color: var(--vp-c-bg);
|
background-color: var(--vp-c-bg);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.switch-wrapper:hover {
|
.switch-wrapper:hover {
|
||||||
border-color: var(--vp-input-hover-border-color);
|
border-color: var(--vp-c-brand-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.check {
|
.check {
|
||||||
|
|||||||
@ -28,18 +28,24 @@ withDefaults(defineProps<Props>(), {
|
|||||||
transform: translateY(-2px);
|
transform: translateY(-2px);
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 .badge-view,
|
h1 .badge-view {
|
||||||
h2 .badge-view,
|
margin-top: 4px;
|
||||||
h3 .badge-view,
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
h2 .badge-view {
|
||||||
|
margin-top: 3px;
|
||||||
|
padding: 0 8px;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
h3 .badge-view {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
h4 .badge-view,
|
h4 .badge-view,
|
||||||
h5 .badge-view,
|
h5 .badge-view,
|
||||||
h6 .badge-view {
|
h6 .badge-view {
|
||||||
vertical-align: top;
|
vertical-align: middle;
|
||||||
}
|
line-height: 18px;
|
||||||
|
|
||||||
h2 .badge-view {
|
|
||||||
border-radius: 11px;
|
|
||||||
line-height: 20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.badge-view.info {
|
.badge-view.info {
|
||||||
|
|||||||
@ -4,3 +4,4 @@ export * from './themeData.js'
|
|||||||
export * from './useResolveRouteWithRedirect.js'
|
export * from './useResolveRouteWithRedirect.js'
|
||||||
export * from './sidebar.js'
|
export * from './sidebar.js'
|
||||||
export * from './aside.js'
|
export * from './aside.js'
|
||||||
|
export * from './page.js'
|
||||||
|
|||||||
215
theme/src/client/composables/page.ts
Normal file
215
theme/src/client/composables/page.ts
Normal file
@ -0,0 +1,215 @@
|
|||||||
|
import { usePageData, usePageFrontmatter, usePageLang } from '@vuepress/client'
|
||||||
|
import { isArray, isPlainObject, isString } from '@vuepress/shared'
|
||||||
|
import { useBlogPostData } from '@vuepress-plume/plugin-blog-data/client'
|
||||||
|
import type { NotesSidebarItem } from '@vuepress-plume/plugin-notes-data'
|
||||||
|
import { computed } from 'vue'
|
||||||
|
import type { ComputedRef, Ref } from 'vue'
|
||||||
|
import { useRoute } from 'vue-router'
|
||||||
|
import type {
|
||||||
|
NavItemWithLink,
|
||||||
|
PlumeThemeBlogPostItem,
|
||||||
|
PlumeThemePageData,
|
||||||
|
PlumeThemePageFrontmatter,
|
||||||
|
} from '../../shared/index.js'
|
||||||
|
import { useNavLink, useSidebar, useThemeLocaleData } from '../composables/index.js'
|
||||||
|
import { resolveEditLink } from '../utils/index.js'
|
||||||
|
|
||||||
|
export const useEditNavLink = (): ComputedRef<null | NavItemWithLink> => {
|
||||||
|
const themeLocale = useThemeLocaleData()
|
||||||
|
const page = usePageData<PlumeThemePageData>()
|
||||||
|
const frontmatter = usePageFrontmatter<PlumeThemePageFrontmatter>()
|
||||||
|
|
||||||
|
return computed(() => {
|
||||||
|
const showEditLink =
|
||||||
|
frontmatter.value.editLink ?? themeLocale.value.editLink ?? true
|
||||||
|
if (!showEditLink) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
const {
|
||||||
|
repo,
|
||||||
|
docsRepo = repo,
|
||||||
|
docsBranch = 'main',
|
||||||
|
docsDir = '',
|
||||||
|
editLinkText,
|
||||||
|
} = themeLocale.value
|
||||||
|
|
||||||
|
if (!docsRepo) return null
|
||||||
|
|
||||||
|
const editLink = resolveEditLink({
|
||||||
|
docsRepo,
|
||||||
|
docsBranch,
|
||||||
|
docsDir,
|
||||||
|
filePathRelative: page.value.filePathRelative,
|
||||||
|
editLinkPattern:
|
||||||
|
frontmatter.value.editLinkPattern ?? themeLocale.value.editLinkPattern,
|
||||||
|
})
|
||||||
|
|
||||||
|
if (!editLink) return null
|
||||||
|
|
||||||
|
return {
|
||||||
|
text: editLinkText ?? 'Edit this page',
|
||||||
|
link: editLink,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useLastUpdated = (): ComputedRef<null | string> => {
|
||||||
|
const themeLocale = useThemeLocaleData()
|
||||||
|
const page = usePageData<PlumeThemePageData>()
|
||||||
|
const frontmatter = usePageFrontmatter<PlumeThemePageFrontmatter>()
|
||||||
|
|
||||||
|
return computed(() => {
|
||||||
|
const showLastUpdated =
|
||||||
|
frontmatter.value.lastUpdated ?? themeLocale.value.lastUpdated ?? true
|
||||||
|
|
||||||
|
if (!showLastUpdated) return null
|
||||||
|
|
||||||
|
if (!page.value.git?.updatedTime) return null
|
||||||
|
|
||||||
|
const updatedDate = new Date(page.value.git?.updatedTime)
|
||||||
|
|
||||||
|
return updatedDate.toLocaleString()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useContributors = (): ComputedRef<
|
||||||
|
null | Required<PlumeThemePageData['git']>['contributors']
|
||||||
|
> => {
|
||||||
|
const themeLocale = useThemeLocaleData()
|
||||||
|
const page = usePageData<PlumeThemePageData>()
|
||||||
|
const frontmatter = usePageFrontmatter<PlumeThemePageFrontmatter>()
|
||||||
|
|
||||||
|
return computed(() => {
|
||||||
|
const showContributors =
|
||||||
|
frontmatter.value.contributors ?? themeLocale.value.contributors ?? true
|
||||||
|
|
||||||
|
if (!showContributors) return null
|
||||||
|
|
||||||
|
return page.value.git?.contributors ?? null
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resolve `prev` or `next` config from frontmatter
|
||||||
|
*/
|
||||||
|
const resolveFromFrontmatterConfig = (
|
||||||
|
conf: unknown,
|
||||||
|
): null | false | NavItemWithLink => {
|
||||||
|
if (conf === false) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isString(conf)) {
|
||||||
|
return useNavLink(conf)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isPlainObject<NavItemWithLink>(conf)) {
|
||||||
|
return conf
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
const flatSidebar = (
|
||||||
|
sidebar: NotesSidebarItem[],
|
||||||
|
res: NavItemWithLink[] = []
|
||||||
|
): NavItemWithLink[] => {
|
||||||
|
for (const item of sidebar) {
|
||||||
|
if (item.link) {
|
||||||
|
res.push({ link: item.link, text: item.text || item.dir || '' })
|
||||||
|
}
|
||||||
|
if (isArray(item.items) && item.items.length) {
|
||||||
|
flatSidebar(item.items as NotesSidebarItem[], res)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resolve `prev` or `next` config from sidebar items
|
||||||
|
*/
|
||||||
|
const resolveFromSidebarItems = (
|
||||||
|
sidebarItems: NavItemWithLink[],
|
||||||
|
currentPath: string,
|
||||||
|
offset: number,
|
||||||
|
): null | NavItemWithLink => {
|
||||||
|
const index = sidebarItems.findIndex((item) => item.link === currentPath)
|
||||||
|
if (index !== -1) {
|
||||||
|
const targetItem = sidebarItems[index + offset]
|
||||||
|
if (targetItem?.link) {
|
||||||
|
return {
|
||||||
|
link: targetItem.link,
|
||||||
|
text: targetItem.text,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
const resolveFromBlogPostData = (
|
||||||
|
postList: PlumeThemeBlogPostItem[],
|
||||||
|
currentPath: string,
|
||||||
|
offset: number,
|
||||||
|
): null | NavItemWithLink => {
|
||||||
|
const index = postList.findIndex((item) => item.path === currentPath)
|
||||||
|
if (index !== -1) {
|
||||||
|
const targetItem = postList[index + offset]
|
||||||
|
if (!targetItem?.path) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
link: targetItem.path,
|
||||||
|
text: targetItem.title,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
export const usePageNav = () => {
|
||||||
|
const route = useRoute()
|
||||||
|
const page = usePageData<PlumeThemePageData>()
|
||||||
|
const frontmatter = usePageFrontmatter<PlumeThemePageFrontmatter>()
|
||||||
|
const { sidebar } = useSidebar()
|
||||||
|
const postList = useBlogPostData() as unknown as Ref<PlumeThemeBlogPostItem[]>
|
||||||
|
const locale = usePageLang()
|
||||||
|
|
||||||
|
const prevNavList = computed(() => {
|
||||||
|
const prevConfig = resolveFromFrontmatterConfig(frontmatter.value.prev)
|
||||||
|
if (prevConfig !== false) {
|
||||||
|
return prevConfig
|
||||||
|
}
|
||||||
|
if (page.value.isBlogPost) {
|
||||||
|
return resolveFromBlogPostData(
|
||||||
|
postList.value.filter(item => item.lang === locale.value),
|
||||||
|
route.path,
|
||||||
|
-1
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
return resolveFromSidebarItems(flatSidebar(sidebar.value), route.path, -1)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const nextNavList = computed(() => {
|
||||||
|
const nextConfig = resolveFromFrontmatterConfig(frontmatter.value.next)
|
||||||
|
if (nextConfig !== false) {
|
||||||
|
return nextConfig
|
||||||
|
}
|
||||||
|
if (page.value.isBlogPost) {
|
||||||
|
return resolveFromBlogPostData(
|
||||||
|
postList.value.filter(item => item.lang === locale.value),
|
||||||
|
route.path,
|
||||||
|
1
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
return resolveFromSidebarItems(flatSidebar(sidebar.value), route.path, 1)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
return {
|
||||||
|
prev: prevNavList,
|
||||||
|
next: nextNavList,
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,6 +1,13 @@
|
|||||||
import { isFunction, isString } from '@vuepress/shared'
|
import { isFunction, isString } from '@vuepress/shared'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import type { Router } from 'vue-router'
|
import type { Router } from 'vue-router'
|
||||||
|
import type { NavItemWithLink } from '../../shared/index.js'
|
||||||
|
|
||||||
|
declare module 'vue-router' {
|
||||||
|
interface RouteMeta {
|
||||||
|
title?: string
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resolve a route with redirection
|
* Resolve a route with redirection
|
||||||
@ -26,3 +33,21 @@ export const useResolveRouteWithRedirect = (
|
|||||||
...resolvedRedirectObj,
|
...resolvedRedirectObj,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resolve NavLink props from string
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* - Input: '/README.md'
|
||||||
|
* - Output: { text: 'Home', link: '/' }
|
||||||
|
*/
|
||||||
|
export const useNavLink = (item: string): NavItemWithLink => {
|
||||||
|
// the route path of vue-router is url-encoded, and we expect users are using
|
||||||
|
// non-url-encoded string in theme config, so we need to url-encode it first to
|
||||||
|
// resolve the route correctly
|
||||||
|
const resolved = useResolveRouteWithRedirect(encodeURI(item))
|
||||||
|
return {
|
||||||
|
text: resolved.meta.title || item,
|
||||||
|
link: resolved.name === '404' ? item : resolved.fullPath,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
html:not(.dark) .vp-code span {
|
html:not(.dark) .vp-code span {
|
||||||
color: var(--shiki-light, rgba(60, 60, 67, 0.92));
|
color: var(--shiki-light, rgba(60, 60, 67, 0.78));
|
||||||
}
|
}
|
||||||
|
|
||||||
code[class*='language-'],
|
code[class*='language-'],
|
||||||
@ -65,20 +65,6 @@ pre[class*='language-'] {
|
|||||||
scrollbar-color: var(--c-brand) var(--c-border);
|
scrollbar-color: var(--c-brand) var(--c-border);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|
||||||
&::-webkit-scrollbar {
|
|
||||||
width: 7px;
|
|
||||||
height: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&::-webkit-scrollbar-track {
|
|
||||||
background-color: var(--vp-code-block-bg);
|
|
||||||
}
|
|
||||||
|
|
||||||
&::-webkit-scrollbar-thumb {
|
|
||||||
background-color: rgba(220, 220, 220, 0.35);
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
code {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@ -139,7 +125,7 @@ div[class*='language-'] {
|
|||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
|
|
||||||
.highlight-line {
|
.highlight-line {
|
||||||
background-color: rgba(142, 150, 170, 0.14);
|
background-color: var(--vp-c-default-soft);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -26,7 +26,6 @@
|
|||||||
letter-spacing: -0.02em;
|
letter-spacing: -0.02em;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
transition: all var(--t-color);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.plume-content h2:first-of-type {
|
.plume-content h2:first-of-type {
|
||||||
@ -116,13 +115,16 @@
|
|||||||
|
|
||||||
.plume-content a {
|
.plume-content a {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-c-brand-1);
|
||||||
text-decoration-style: dotted;
|
text-decoration: underline;
|
||||||
transition: color 0.25s;
|
text-underline-offset: 2px;
|
||||||
|
transition:
|
||||||
|
color 0.25s,
|
||||||
|
opacity 0.25s;
|
||||||
}
|
}
|
||||||
|
|
||||||
.plume-content a:hover {
|
.plume-content a:hover {
|
||||||
color: var(--vp-c-brand-dark);
|
color: var(--vp-c-brand-2);
|
||||||
}
|
}
|
||||||
|
|
||||||
.plume-content strong {
|
.plume-content strong {
|
||||||
@ -168,6 +170,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.plume-content tr {
|
.plume-content tr {
|
||||||
|
background-color: var(--vp-c-bg);
|
||||||
border-top: 1px solid var(--vp-c-divider);
|
border-top: 1px solid var(--vp-c-divider);
|
||||||
transition: background-color 0.5s;
|
transition: background-color 0.5s;
|
||||||
}
|
}
|
||||||
@ -254,15 +257,15 @@
|
|||||||
/* inline code */
|
/* inline code */
|
||||||
.plume-content :not(pre, h1, h2, h3, h4, h5, h6) > code {
|
.plume-content :not(pre, h1, h2, h3, h4, h5, h6) > code {
|
||||||
font-size: var(--vp-code-font-size);
|
font-size: var(--vp-code-font-size);
|
||||||
|
color: var(--vp-code-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.plume-content :not(pre) > code {
|
.plume-content :not(pre) > code {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
padding: 3px 6px;
|
padding: 3px 6px;
|
||||||
color: var(--vp-c-text-code);
|
background-color: var(--vp-code-bg);
|
||||||
background-color: var(--vp-c-mute);
|
|
||||||
transition:
|
transition:
|
||||||
color 0.5s,
|
color 0.25s,
|
||||||
background-color 0.5s;
|
background-color 0.5s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -273,254 +276,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.plume-content a > code {
|
.plume-content a > code {
|
||||||
color: var(--vp-c-brand);
|
color: var(--vp-code-link-color);
|
||||||
transition: color 0.25s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.plume-content a:hover > code {
|
.plume-content a:hover > code {
|
||||||
color: var(--vp-c-brand-dark);
|
color: var(--vp-code-link-hover-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.plume-content .vp-code-tabs-nav {
|
.plume-content .vp-code-tabs-nav {
|
||||||
margin: 0.85rem 0 0;
|
margin: 0.85rem 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .plume-content div[class*='language-'] {
|
|
||||||
// position: relative;
|
|
||||||
// margin: 16px -24px;
|
|
||||||
// background-color: var(--vp-code-block-bg);
|
|
||||||
// overflow-x: auto;
|
|
||||||
// transition: background-color 0.5s;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @media (min-width: 640px) {
|
|
||||||
// .plume-content div[class*='language-'] {
|
|
||||||
// border-radius: 8px;
|
|
||||||
// margin: 16px 0;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @media (max-width: 639px) {
|
|
||||||
// .plume-content li div[class*='language-'] {
|
|
||||||
// border-radius: 8px 0 0 8px;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content div[class*='language-'] + div[class*='language-'],
|
|
||||||
// .plume-content div[class$='-api'] + div[class*='language-'],
|
|
||||||
// .plume-content
|
|
||||||
// div[class*='language-']
|
|
||||||
// + div[class$='-api']
|
|
||||||
// > div[class*='language-'] {
|
|
||||||
// margin-top: -8px;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] pre,
|
|
||||||
// .plume-content [class*='language-'] code {
|
|
||||||
// /*rtl:ignore*/
|
|
||||||
// direction: ltr;
|
|
||||||
// /*rtl:ignore*/
|
|
||||||
// text-align: left;
|
|
||||||
// white-space: pre;
|
|
||||||
// word-spacing: normal;
|
|
||||||
// word-break: normal;
|
|
||||||
// word-wrap: normal;
|
|
||||||
// -moz-tab-size: 4;
|
|
||||||
// -o-tab-size: 4;
|
|
||||||
// tab-size: 4;
|
|
||||||
// -webkit-hyphens: none;
|
|
||||||
// -moz-hyphens: none;
|
|
||||||
// -ms-hyphens: none;
|
|
||||||
// hyphens: none;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] pre {
|
|
||||||
// position: relative;
|
|
||||||
// z-index: 1;
|
|
||||||
// margin: 0;
|
|
||||||
// padding: 16px 0;
|
|
||||||
// background: transparent;
|
|
||||||
// overflow-x: auto;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] code {
|
|
||||||
// display: block;
|
|
||||||
// padding: 0 24px;
|
|
||||||
// width: fit-content;
|
|
||||||
// min-width: 100%;
|
|
||||||
// line-height: var(--vp-code-line-height);
|
|
||||||
// font-size: var(--vp-code-font-size);
|
|
||||||
// color: var(--vp-code-block-color);
|
|
||||||
// transition: color 0.5s;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] code .highlighted {
|
|
||||||
// background-color: var(--vp-code-line-highlight-color);
|
|
||||||
// transition: background-color 0.5s;
|
|
||||||
// margin: 0 -24px;
|
|
||||||
// padding: 0 24px;
|
|
||||||
// width: calc(100% + 2 * 24px);
|
|
||||||
// display: inline-block;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] code .highlighted.error {
|
|
||||||
// background-color: var(--vp-code-line-error-color);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] code .highlighted.warning {
|
|
||||||
// background-color: var(--vp-code-line-warning-color);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] code .diff {
|
|
||||||
// transition: background-color 0.5s;
|
|
||||||
// margin: 0 -24px;
|
|
||||||
// padding: 0 24px;
|
|
||||||
// width: calc(100% + 2 * 24px);
|
|
||||||
// display: inline-block;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] code .diff::before {
|
|
||||||
// position: absolute;
|
|
||||||
// left: 10px;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] .has-focused-lines .line:not(.has-focus) {
|
|
||||||
// filter: blur(0.095rem);
|
|
||||||
// opacity: 0.4;
|
|
||||||
// transition: filter 0.35s, opacity 0.35s;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] .has-focused-lines .line:not(.has-focus) {
|
|
||||||
// opacity: 0.7;
|
|
||||||
// transition: filter 0.35s, opacity 0.35s;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content
|
|
||||||
// [class*='language-']:hover
|
|
||||||
// .has-focused-lines
|
|
||||||
// .line:not(.has-focus) {
|
|
||||||
// filter: blur(0);
|
|
||||||
// opacity: 1;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] code .diff.remove {
|
|
||||||
// background-color: var(--vp-code-line-diff-remove-color);
|
|
||||||
// opacity: 0.7;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] code .diff.remove::before {
|
|
||||||
// content: '-';
|
|
||||||
// color: var(--vp-code-line-diff-remove-symbol-color);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] code .diff.add {
|
|
||||||
// background-color: var(--vp-code-line-diff-add-color);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] code .diff.add::before {
|
|
||||||
// content: '+';
|
|
||||||
// color: var(--vp-code-line-diff-add-symbol-color);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content div[class*='language-'].line-numbers-mode {
|
|
||||||
// /*rtl:ignore*/
|
|
||||||
// padding-left: 32px;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content .line-numbers {
|
|
||||||
// position: absolute;
|
|
||||||
// top: 0;
|
|
||||||
// bottom: 0;
|
|
||||||
// /*rtl:ignore*/
|
|
||||||
// left: 0;
|
|
||||||
// z-index: 3;
|
|
||||||
// /*rtl:ignore*/
|
|
||||||
// border-right: 1px solid var(--vp-code-block-divider-color);
|
|
||||||
// padding-top: 16px;
|
|
||||||
// width: 32px;
|
|
||||||
// text-align: center;
|
|
||||||
// font-family: var(--vp-font-family-mono);
|
|
||||||
// line-height: var(--vp-code-line-height);
|
|
||||||
// font-size: var(--vp-code-font-size);
|
|
||||||
// color: var(--vp-code-line-number-color);
|
|
||||||
// transition: border-color 0.5s, color 0.5s;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] > button.copy {
|
|
||||||
// /*rtl:ignore*/
|
|
||||||
// direction: ltr;
|
|
||||||
// position: absolute;
|
|
||||||
// top: 8px;
|
|
||||||
// /*rtl:ignore*/
|
|
||||||
// right: 8px;
|
|
||||||
// z-index: 3;
|
|
||||||
// display: block;
|
|
||||||
// justify-content: center;
|
|
||||||
// align-items: center;
|
|
||||||
// border-radius: 4px;
|
|
||||||
// width: 40px;
|
|
||||||
// height: 40px;
|
|
||||||
// background-color: var(--vp-code-block-bg);
|
|
||||||
// opacity: 0;
|
|
||||||
// cursor: pointer;
|
|
||||||
// background-image: var(--vp-icon-copy);
|
|
||||||
// background-position: 50%;
|
|
||||||
// background-size: 20px;
|
|
||||||
// background-repeat: no-repeat;
|
|
||||||
// transition: opacity 0.4s;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-']:hover > button.copy,
|
|
||||||
// .plume-content [class*='language-'] > button.copy:focus {
|
|
||||||
// opacity: 1;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] > button.copy:hover {
|
|
||||||
// background-color: var(--vp-code-copy-code-hover-bg);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] > button.copy.copied,
|
|
||||||
// .plume-content [class*='language-'] > button.copy:hover.copied {
|
|
||||||
// /*rtl:ignore*/
|
|
||||||
// border-radius: 0 4px 4px 0;
|
|
||||||
// background-color: var(--vp-code-copy-code-hover-bg);
|
|
||||||
// background-image: var(--vp-icon-copied);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] > button.copy.copied::before,
|
|
||||||
// .plume-content [class*='language-'] > button.copy:hover.copied::before {
|
|
||||||
// position: relative;
|
|
||||||
// /*rtl:ignore*/
|
|
||||||
// left: -65px;
|
|
||||||
// display: flex;
|
|
||||||
// justify-content: center;
|
|
||||||
// align-items: center;
|
|
||||||
// /*rtl:ignore*/
|
|
||||||
// border-radius: 4px 0 0 4px;
|
|
||||||
// width: 64px;
|
|
||||||
// height: 40px;
|
|
||||||
// text-align: center;
|
|
||||||
// font-size: 12px;
|
|
||||||
// font-weight: 500;
|
|
||||||
// color: var(--vp-code-copy-code-active-text);
|
|
||||||
// background-color: var(--vp-code-copy-code-hover-bg);
|
|
||||||
// white-space: nowrap;
|
|
||||||
// content: 'Copied';
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-'] > span.lang {
|
|
||||||
// position: absolute;
|
|
||||||
// top: 6px;
|
|
||||||
// /*rtl:ignore*/
|
|
||||||
// right: 12px;
|
|
||||||
// z-index: 2;
|
|
||||||
// font-size: 12px;
|
|
||||||
// font-weight: 500;
|
|
||||||
// color: var(--vp-c-text-dark-3);
|
|
||||||
// transition: color 0.4s, opacity 0.4s;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .plume-content [class*='language-']:hover > button.copy + span.lang,
|
|
||||||
// .plume-content [class*='language-'] > button.copy:focus + span.lang {
|
|
||||||
// opacity: 0;
|
|
||||||
// }
|
|
||||||
|
|||||||
@ -5,5 +5,6 @@
|
|||||||
@use 'utils';
|
@use 'utils';
|
||||||
@use 'content';
|
@use 'content';
|
||||||
@use 'code';
|
@use 'code';
|
||||||
|
@use 'md-enhance';
|
||||||
|
|
||||||
@use '@vuepress/plugin-palette/style';
|
@use '@vuepress/plugin-palette/style';
|
||||||
|
|||||||
90
theme/src/client/styles/md-enhance.scss
Normal file
90
theme/src/client/styles/md-enhance.scss
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
.plume-content .hint-container {
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 16px 16px 8px;
|
||||||
|
line-height: 24px;
|
||||||
|
font-size: var(--vp-custom-block-font-size);
|
||||||
|
color: var(--vp-c-text-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.plume-content .hint-container .hint-container-title {
|
||||||
|
font-weight: 600;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hint-container.note {
|
||||||
|
color: var(--vp-custom-block-info-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.hint-container.tip {
|
||||||
|
color: var(--vp-custom-block-tip-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.hint-container.warning {
|
||||||
|
color: var(--vp-custom-block-warning-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.hint-container.caution {
|
||||||
|
color: var(--vp-custom-block-danger-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.hint-container.detail {
|
||||||
|
color: var(--vp-custom-block-detail-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.plume-content .hint-container.details summary {
|
||||||
|
margin: -1.5rem -1.5rem -1.1rem;
|
||||||
|
font-weight: 700;
|
||||||
|
cursor: pointer;
|
||||||
|
color: var(--vp-c-text-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.plume-content .hint-container.details summary + p {
|
||||||
|
margin: 8px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plume-content .hint-container p + p {
|
||||||
|
margin: 8px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plume-content .hint-container code {
|
||||||
|
font-size: var(--vp-custom-block-code-font-size);
|
||||||
|
}
|
||||||
|
|
||||||
|
.plume-content .hint-container {
|
||||||
|
&.note,
|
||||||
|
&.tip,
|
||||||
|
&.detail,
|
||||||
|
&.important {
|
||||||
|
a,
|
||||||
|
code {
|
||||||
|
color: var(--vp-c-brand-1);
|
||||||
|
}
|
||||||
|
a:hover {
|
||||||
|
color: var(--vp-c-brand-2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.warning {
|
||||||
|
a,
|
||||||
|
code {
|
||||||
|
color: var(--vp-c-warning-1);
|
||||||
|
}
|
||||||
|
a:hover {
|
||||||
|
color: var(--vp-c-warning-2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.caution {
|
||||||
|
a,
|
||||||
|
code {
|
||||||
|
color: var(--vp-c-danger-1);
|
||||||
|
}
|
||||||
|
a:hover {
|
||||||
|
color: var(--vp-c-danger-2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
th,
|
||||||
|
blockquote > p {
|
||||||
|
font-size: var(--vp-custom-block-font-size);
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
}
|
||||||
9
theme/src/client/styles/normalize.scss
vendored
9
theme/src/client/styles/normalize.scss
vendored
@ -256,3 +256,12 @@ p {
|
|||||||
vite-error-overlay {
|
vite-error-overlay {
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mjx-container {
|
||||||
|
display: inline-block;
|
||||||
|
margin: auto 2px -2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
mjx-container > svg {
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|||||||
@ -1,155 +1,233 @@
|
|||||||
/**
|
/**
|
||||||
* Colors Base
|
* Colors: Solid
|
||||||
*
|
|
||||||
* These are the pure base color presets. Most of the time, you should not be
|
|
||||||
* using these colors directly in the theme but rather use "Colors Theme"
|
|
||||||
* instead because those are "Theme (light or dark)" dependant.
|
|
||||||
* -------------------------------------------------------------------------- */
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--vp-c-white: #ffffff;
|
--vp-c-white: #ffffff;
|
||||||
--vp-c-black: #000000;
|
--vp-c-black: #000000;
|
||||||
|
|
||||||
--vp-c-gray: #8e8e93;
|
--vp-c-neutral: var(--vp-c-black);
|
||||||
|
--vp-c-neutral-inverse: var(--vp-c-white);
|
||||||
|
}
|
||||||
|
|
||||||
--vp-c-text-light-1: rgba(60, 60, 67, 0.92);
|
.dark {
|
||||||
--vp-c-text-light-2: rgba(60, 60, 67, 0.7);
|
--vp-c-neutral: var(--vp-c-white);
|
||||||
--vp-c-text-light-3: rgba(60, 60, 67, 0.33);
|
--vp-c-neutral-inverse: var(--vp-c-black);
|
||||||
|
}
|
||||||
|
|
||||||
--vp-c-text-dark-1: rgba(255, 255, 245, 0.86);
|
/**
|
||||||
--vp-c-text-dark-2: rgba(235, 235, 245, 0.6);
|
* Colors: Palette
|
||||||
--vp-c-text-dark-3: rgba(235, 235, 245, 0.38);
|
*
|
||||||
|
* The primitive colors used for accent colors. These colors are referenced
|
||||||
|
* by functional colors such as "Text", "Background", or "Brand".
|
||||||
|
*
|
||||||
|
* Each colors have exact same color scale system with 3 levels of solid
|
||||||
|
* colors with different brightness, and 1 soft color.
|
||||||
|
*
|
||||||
|
* - `XXX-1`: The most solid color used mainly for colored text. It must
|
||||||
|
* satisfy the contrast ratio against when used on top of `XXX-soft`.
|
||||||
|
*
|
||||||
|
* - `XXX-2`: The color used mainly for hover state of the button.
|
||||||
|
*
|
||||||
|
* - `XXX-3`: The color for solid background, such as bg color of the button.
|
||||||
|
* It must satisfy the contrast ratio with pure white (#ffffff) text on
|
||||||
|
* top of it.
|
||||||
|
*
|
||||||
|
* - `XXX-soft`: The color used for subtle background such as custom container
|
||||||
|
* or badges. It must satisfy the contrast ratio when putting `XXX-1` colors
|
||||||
|
* on top of it.
|
||||||
|
*
|
||||||
|
* The soft color must be semi transparent alpha channel. This is crucial
|
||||||
|
* because it allows adding multiple "soft" colors on top of each other
|
||||||
|
* to create a accent, such as when having inline code block inside
|
||||||
|
* custom containers.
|
||||||
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
--vp-c-green: #10b981;
|
:root {
|
||||||
--vp-c-green-light: #34d399;
|
--vp-c-gray-1: #dddde3;
|
||||||
--vp-c-green-lighter: #6ee7b7;
|
--vp-c-gray-2: #e4e4e9;
|
||||||
--vp-c-green-dark: #059669;
|
--vp-c-gray-3: #ebebef;
|
||||||
--vp-c-green-darker: #047857;
|
--vp-c-gray-soft: rgba(142, 150, 170, 0.14);
|
||||||
--vp-c-green-dimm-1: rgba(16, 185, 129, 0.05);
|
|
||||||
--vp-c-green-dimm-2: rgba(16, 185, 129, 0.2);
|
|
||||||
--vp-c-green-dimm-3: rgba(16, 185, 129, 0.5);
|
|
||||||
|
|
||||||
--vp-c-yellow: #eab308;
|
--vp-c-turquoise-1: #5086a1;
|
||||||
--vp-c-yellow-light: #facc15;
|
--vp-c-turquoise-2: #6aa1b7;
|
||||||
--vp-c-yellow-lighter: #fde047;
|
--vp-c-turquoise-3: #8cccd5;
|
||||||
--vp-c-yellow-dark: #ca8a04;
|
--vp-c-turquoise-soft: rgba(131, 208, 218, 0.314);
|
||||||
--vp-c-yellow-darker: #a16207;
|
|
||||||
--vp-c-yellow-dimm-1: rgba(234, 179, 8, 0.05);
|
|
||||||
--vp-c-yellow-dimm-2: rgba(234, 179, 8, 0.2);
|
|
||||||
--vp-c-yellow-dimm-3: rgba(234, 179, 8, 0.5);
|
|
||||||
|
|
||||||
--vp-c-red: #f43f5e;
|
--vp-c-green-1: #18794e;
|
||||||
--vp-c-red-light: #fb7185;
|
--vp-c-green-2: #299764;
|
||||||
--vp-c-red-lighter: #fda4af;
|
--vp-c-green-3: #30a46c;
|
||||||
--vp-c-red-dark: #e11d48;
|
--vp-c-green-soft: rgba(16, 185, 129, 0.14);
|
||||||
--vp-c-red-darker: #be123c;
|
|
||||||
--vp-c-red-dimm-1: rgba(244, 63, 94, 0.05);
|
--vp-c-yellow-1: #915930;
|
||||||
--vp-c-red-dimm-2: rgba(244, 63, 94, 0.2);
|
--vp-c-yellow-2: #946300;
|
||||||
--vp-c-red-dimm-3: rgba(244, 63, 94, 0.5);
|
--vp-c-yellow-3: #9f6a00;
|
||||||
|
--vp-c-yellow-soft: rgba(234, 179, 8, 0.14);
|
||||||
|
|
||||||
|
--vp-c-red-1: #b8272c;
|
||||||
|
--vp-c-red-2: #d5393e;
|
||||||
|
--vp-c-red-3: #e0575b;
|
||||||
|
--vp-c-red-soft: rgba(244, 63, 94, 0.14);
|
||||||
|
|
||||||
--vp-c-sponsor: #db2777;
|
--vp-c-sponsor: #db2777;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dark {
|
||||||
|
--vp-c-gray-1: #515c67;
|
||||||
|
--vp-c-gray-2: #414853;
|
||||||
|
--vp-c-gray-3: #32363f;
|
||||||
|
--vp-c-gray-soft: rgba(101, 117, 133, 0.16);
|
||||||
|
|
||||||
|
--vp-c-turquoise-1: #8cccd5;
|
||||||
|
--vp-c-turquoise-2: #6aa1b7;
|
||||||
|
--vp-c-turquoise-3: #5086a1;
|
||||||
|
--vp-c-turquoise-soft: rgba(131, 208, 218, 0.314);
|
||||||
|
|
||||||
|
--vp-c-green-1: #3dd68c;
|
||||||
|
--vp-c-green-2: #30a46c;
|
||||||
|
--vp-c-green-3: #298459;
|
||||||
|
--vp-c-green-soft: rgba(16, 185, 129, 0.16);
|
||||||
|
|
||||||
|
--vp-c-yellow-1: #f9b44e;
|
||||||
|
--vp-c-yellow-2: #da8b17;
|
||||||
|
--vp-c-yellow-3: #a46a0a;
|
||||||
|
--vp-c-yellow-soft: rgba(234, 179, 8, 0.16);
|
||||||
|
|
||||||
|
--vp-c-red-1: #f66f81;
|
||||||
|
--vp-c-red-2: #f14158;
|
||||||
|
--vp-c-red-3: #b62a3c;
|
||||||
|
--vp-c-red-soft: rgba(244, 63, 94, 0.16);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Colors Theme
|
* Colors: Background
|
||||||
|
*
|
||||||
|
* - `bg`: The bg color used for main screen.
|
||||||
|
*
|
||||||
|
* - `bg-alt`: The alternative bg color used in places such as "sidebar",
|
||||||
|
* or "code block".
|
||||||
|
*
|
||||||
|
* - `bg-elv`: The elevated bg color. This is used at parts where it "floats",
|
||||||
|
* such as "dialog".
|
||||||
|
*
|
||||||
|
* - `bg-soft`: The bg color to slightly distinguish some components from
|
||||||
|
* the page. Used for things like "carbon ads" or "table".
|
||||||
* -------------------------------------------------------------------------- */
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--vp-c-bg: #ffffff;
|
--vp-c-bg: #ffffff;
|
||||||
|
|
||||||
--vp-c-bg-elv: #ffffff;
|
|
||||||
--vp-c-bg-elv-up: #ffffff;
|
|
||||||
--vp-c-bg-elv-down: #f6f6f7;
|
|
||||||
--vp-c-bg-elv-mute: #f6f6f7;
|
|
||||||
|
|
||||||
--vp-c-bg-soft: #f6f6f7;
|
|
||||||
--vp-c-bg-soft-up: #ffffff;
|
|
||||||
--vp-c-bg-soft-down: #e3e3e5;
|
|
||||||
--vp-c-bg-soft-mute: #e3e3e5;
|
|
||||||
|
|
||||||
--vp-c-bg-alt: #f6f6f7;
|
--vp-c-bg-alt: #f6f6f7;
|
||||||
|
--vp-c-bg-elv: #ffffff;
|
||||||
--vp-c-border: rgba(60, 60, 67, 0.29);
|
--vp-c-bg-soft: #f6f6f7;
|
||||||
--vp-c-divider: rgba(60, 60, 67, 0.12);
|
|
||||||
--vp-c-gutter: rgba(60, 60, 67, 0.12);
|
|
||||||
|
|
||||||
--vp-c-neutral: var(--vp-c-black);
|
|
||||||
--vp-c-neutral-inverse: var(--vp-c-white);
|
|
||||||
|
|
||||||
--vp-c-text-1: var(--vp-c-text-light-1);
|
|
||||||
--vp-c-text-2: var(--vp-c-text-light-2);
|
|
||||||
--vp-c-text-3: var(--vp-c-text-light-3);
|
|
||||||
|
|
||||||
--vp-c-text-inverse-1: var(--vp-c-text-dark-1);
|
|
||||||
--vp-c-text-inverse-2: var(--vp-c-text-dark-2);
|
|
||||||
--vp-c-text-inverse-3: var(--vp-c-text-dark-3);
|
|
||||||
|
|
||||||
--vp-c-text-hero-name: var(--vp-c-text-dark-1);
|
|
||||||
--vp-c-text-hero-tagline: var(--vp-c-text-dark-2);
|
|
||||||
--vp-c-text-hero-text: var(--vp-c-text-dark-1);
|
|
||||||
|
|
||||||
--vp-c-text-code: #476582;
|
|
||||||
|
|
||||||
--vp-c-brand: var(--vp-c-green);
|
|
||||||
--vp-c-brand-light: var(--vp-c-green-light);
|
|
||||||
--vp-c-brand-lighter: var(--vp-c-green-lighter);
|
|
||||||
--vp-c-brand-dark: var(--vp-c-green-dark);
|
|
||||||
--vp-c-brand-darker: var(--vp-c-green-darker);
|
|
||||||
|
|
||||||
--vp-c-mute: #f6f6f7;
|
|
||||||
--vp-c-mute-light: #f9f9fc;
|
|
||||||
--vp-c-mute-lighter: #ffffff;
|
|
||||||
--vp-c-mute-dark: #e3e3e5;
|
|
||||||
--vp-c-mute-darker: #d7d7d9;
|
|
||||||
|
|
||||||
--search-bg-color: var(--vp-c-bg-elv-mute);
|
|
||||||
--search-text-color: var(--vp-c-text-2);
|
|
||||||
--search-item-text-color: var(--vp-c-text-1);
|
|
||||||
--search-item-focus-bg-color: var(--vp-c-bg-alt);
|
|
||||||
--search-input-width: 8rem;
|
|
||||||
--search-result-width: 20rem;
|
|
||||||
--search-border-color: var(--vp-c-divider);
|
|
||||||
|
|
||||||
--c-brand: var(--vp-c-brand);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
html.dark {
|
.dark {
|
||||||
--vp-c-bg: #1e1e20;
|
--vp-c-bg: #1b1b1f;
|
||||||
|
|
||||||
--vp-c-bg-elv: #252529;
|
|
||||||
--vp-c-bg-elv-up: #313136;
|
|
||||||
--vp-c-bg-elv-down: #1e1e20;
|
|
||||||
--vp-c-bg-elv-mute: #313136;
|
|
||||||
|
|
||||||
--vp-c-bg-soft: #252529;
|
|
||||||
--vp-c-bg-soft-up: #313136;
|
|
||||||
--vp-c-bg-soft-down: #1e1e20;
|
|
||||||
--vp-c-bg-soft-mute: #313136;
|
|
||||||
|
|
||||||
--vp-c-bg-alt: #161618;
|
--vp-c-bg-alt: #161618;
|
||||||
|
--vp-c-bg-elv: #202127;
|
||||||
|
--vp-c-bg-soft: #202127;
|
||||||
|
}
|
||||||
|
|
||||||
--vp-c-border: rgba(82, 82, 89, 0.68);
|
/**
|
||||||
--vp-c-divider: rgba(82, 82, 89, 0.32);
|
* Colors: Borders
|
||||||
|
*
|
||||||
|
* - `divider`: This is used for separators. This is used to divide sections
|
||||||
|
* within the same components, such as having separator on "h2" heading.
|
||||||
|
*
|
||||||
|
* - `border`: This is designed for borders on interactive components.
|
||||||
|
* For example this should be used for a button outline.
|
||||||
|
*
|
||||||
|
* - `gutter`: This is used to divide components in the page. For example
|
||||||
|
* the header and the lest of the page.
|
||||||
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--vp-c-border: #c2c2c4;
|
||||||
|
--vp-c-divider: #e2e2e3;
|
||||||
|
--vp-c-gutter: #e2e2e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark {
|
||||||
|
--vp-c-border: #3c3f44;
|
||||||
|
--vp-c-divider: #2e2e32;
|
||||||
--vp-c-gutter: #000000;
|
--vp-c-gutter: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
--vp-c-neutral: var(--vp-c-white);
|
/**
|
||||||
--vp-c-neutral-inverse: var(--vp-c-black);
|
* Colors: Text
|
||||||
|
*
|
||||||
|
* - `text-1`: Used for primary text.
|
||||||
|
*
|
||||||
|
* - `text-2`: Used for muted texts, such as "inactive menu" or "info texts".
|
||||||
|
*
|
||||||
|
* - `text-3`: Used for subtle texts, such as "placeholders" or "caret icon".
|
||||||
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
--vp-c-text-1: var(--vp-c-text-dark-1);
|
:root {
|
||||||
--vp-c-text-2: var(--vp-c-text-dark-2);
|
--vp-c-text-1: rgba(60, 60, 67);
|
||||||
--vp-c-text-3: var(--vp-c-text-dark-3);
|
--vp-c-text-2: rgba(60, 60, 67, 0.78);
|
||||||
|
--vp-c-text-3: rgba(60, 60, 67, 0.56);
|
||||||
|
|
||||||
--vp-c-text-inverse-1: var(--vp-c-text-light-1);
|
--vp-c-text-dark-1: rgba(255, 255, 245, 0.86);
|
||||||
--vp-c-text-inverse-2: var(--vp-c-text-light-2);
|
--vp-c-text-dark-2: rgba(235, 235, 245, 0.6);
|
||||||
--vp-c-text-inverse-3: var(--vp-c-text-light-3);
|
--vp-c-text-dark-3: rgba(235, 235, 245, 0.38);
|
||||||
|
}
|
||||||
|
|
||||||
--vp-c-text-code: #c9def1;
|
.dark {
|
||||||
|
--vp-c-text-1: rgba(255, 255, 245, 0.86);
|
||||||
|
--vp-c-text-2: rgba(235, 235, 245, 0.6);
|
||||||
|
--vp-c-text-3: rgba(235, 235, 245, 0.38);
|
||||||
|
}
|
||||||
|
|
||||||
--vp-c-mute: #313136;
|
/**
|
||||||
--vp-c-mute-light: #3a3a3c;
|
* Colors: Function
|
||||||
--vp-c-mute-lighter: #505053;
|
*
|
||||||
--vp-c-mute-dark: #2c2c30;
|
* - `default`: The color used purely for subtle indication without any
|
||||||
--vp-c-mute-darker: #252529;
|
* special meanings attached to it such as bg color for menu hover state.
|
||||||
|
*
|
||||||
|
* - `brand`: Used for primary brand colors, such as link text, button with
|
||||||
|
* brand theme, etc.
|
||||||
|
*
|
||||||
|
* - `tip`: Used to indicate useful information. The default theme uses the
|
||||||
|
* brand color for this by default.
|
||||||
|
*
|
||||||
|
* - `warning`: Used to indicate warning to the users. Used in custom
|
||||||
|
* container, badges, etc.
|
||||||
|
*
|
||||||
|
* - `danger`: Used to show error, or dangerous message to the users. Used
|
||||||
|
* in custom container, badges, etc.
|
||||||
|
*
|
||||||
|
* To understand the scaling system, refer to "Colors: Palette" section.
|
||||||
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--vp-c-default-1: var(--vp-c-gray-1);
|
||||||
|
--vp-c-default-2: var(--vp-c-gray-2);
|
||||||
|
--vp-c-default-3: var(--vp-c-gray-3);
|
||||||
|
--vp-c-default-soft: var(--vp-c-gray-soft);
|
||||||
|
|
||||||
|
--vp-c-brand-1: var(--vp-c-turquoise-1);
|
||||||
|
--vp-c-brand-2: var(--vp-c-turquoise-2);
|
||||||
|
--vp-c-brand-3: var(--vp-c-turquoise-3);
|
||||||
|
--vp-c-brand-soft: var(--vp-c-turquoise-soft);
|
||||||
|
|
||||||
|
/* DEPRECATED: Use `--vp-c-brand-1` instead. */
|
||||||
|
--vp-c-brand: var(--vp-c-brand-1);
|
||||||
|
|
||||||
|
--vp-c-tip-1: var(--vp-c-brand-1);
|
||||||
|
--vp-c-tip-2: var(--vp-c-brand-2);
|
||||||
|
--vp-c-tip-3: var(--vp-c-brand-3);
|
||||||
|
--vp-c-tip-soft: var(--vp-c-brand-soft);
|
||||||
|
|
||||||
|
--vp-c-warning-1: var(--vp-c-yellow-1);
|
||||||
|
--vp-c-warning-2: var(--vp-c-yellow-2);
|
||||||
|
--vp-c-warning-3: var(--vp-c-yellow-3);
|
||||||
|
--vp-c-warning-soft: var(--vp-c-yellow-soft);
|
||||||
|
|
||||||
|
--vp-c-danger-1: var(--vp-c-red-1);
|
||||||
|
--vp-c-danger-2: var(--vp-c-red-2);
|
||||||
|
--vp-c-danger-3: var(--vp-c-red-3);
|
||||||
|
--vp-c-danger-soft: var(--vp-c-red-soft);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -182,21 +260,12 @@ html.dark {
|
|||||||
* -------------------------------------------------------------------------- */
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--vp-z-index-local-nav: 10;
|
--vp-z-index-footer: 10;
|
||||||
--vp-z-index-nav: 20;
|
--vp-z-index-local-nav: 20;
|
||||||
--vp-z-index-layout-top: 30;
|
--vp-z-index-nav: 30;
|
||||||
--vp-z-index-backdrop: 40;
|
--vp-z-index-layout-top: 40;
|
||||||
--vp-z-index-sidebar: 50;
|
--vp-z-index-backdrop: 50;
|
||||||
--vp-z-index-footer: 60;
|
--vp-z-index-sidebar: 60;
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Icons
|
|
||||||
* -------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
:root {
|
|
||||||
--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");
|
|
||||||
--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -207,6 +276,14 @@ html.dark {
|
|||||||
--vp-layout-max-width: 1440px;
|
--vp-layout-max-width: 1440px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Component: Header Anchor
|
||||||
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--vp-header-anchor-symbol: '#';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Component: Code
|
* Component: Code
|
||||||
* -------------------------------------------------------------------------- */
|
* -------------------------------------------------------------------------- */
|
||||||
@ -214,46 +291,42 @@ html.dark {
|
|||||||
:root {
|
:root {
|
||||||
--vp-code-line-height: 1.7;
|
--vp-code-line-height: 1.7;
|
||||||
--vp-code-font-size: 0.875em;
|
--vp-code-font-size: 0.875em;
|
||||||
|
--vp-code-color: var(--vp-c-brand-1);
|
||||||
|
--vp-code-link-color: var(--vp-c-brand-1);
|
||||||
|
--vp-code-link-hover-color: var(--vp-c-brand-2);
|
||||||
|
--vp-code-bg: var(--vp-c-default-soft);
|
||||||
|
|
||||||
--vp-code-block-color: var(--vp-c-text-dark-1);
|
--vp-code-block-color: var(--vp-c-text-2);
|
||||||
// --vp-code-block-bg: #292b30;
|
--vp-code-block-bg: var(--vp-c-bg-alt);
|
||||||
--vp-code-block-bg: #f6f6f7;
|
--vp-code-block-divider-color: var(--vp-c-gutter);
|
||||||
--vp-code-block-divider-color: #e2e2e3;
|
|
||||||
|
|
||||||
--code-tabs-nav-text-color: var(--vp-c-text-light-2);
|
--vp-code-lang-color: var(--vp-c-text-3);
|
||||||
--code-tabs-nav-bg-color: #e6e6e7;
|
|
||||||
--code-tabs-nav-hover-color: var(--vp-code-block-bg);
|
|
||||||
|
|
||||||
--vp-code-line-highlight-color: rgba(142, 150, 170, 0.14);
|
--vp-code-line-highlight-color: var(--vp-c-default-soft);
|
||||||
--vp-code-line-number-color: var(--vp-c-text-light-3);
|
--vp-code-line-number-color: var(--vp-c-text-3);
|
||||||
|
|
||||||
--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);
|
--vp-code-line-diff-add-color: var(--vp-c-green-soft);
|
||||||
--vp-code-line-diff-add-symbol-color: var(--vp-c-green);
|
--vp-code-line-diff-add-symbol-color: var(--vp-c-green-1);
|
||||||
|
|
||||||
--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);
|
--vp-code-line-diff-remove-color: var(--vp-c-red-soft);
|
||||||
--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);
|
--vp-code-line-diff-remove-symbol-color: var(--vp-c-red-1);
|
||||||
|
|
||||||
--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);
|
--vp-code-line-warning-color: var(--vp-c-yellow-soft);
|
||||||
--vp-code-line-error-color: var(--vp-c-red-dimm-2);
|
--vp-code-line-error-color: var(--vp-c-red-soft);
|
||||||
|
|
||||||
--vp-code-copy-code-hover-bg: rgba(255, 255, 255, 0.05);
|
--vp-code-copy-code-border-color: var(--vp-c-divider);
|
||||||
--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);
|
--vp-code-copy-code-bg: var(--vp-c-bg-soft);
|
||||||
|
--vp-code-copy-code-hover-border-color: var(--vp-c-divider);
|
||||||
|
--vp-code-copy-code-hover-bg: var(--vp-c-bg);
|
||||||
|
--vp-code-copy-code-active-text: var(--vp-c-text-2);
|
||||||
|
--vp-code-copy-copied-text-content: 'Copied';
|
||||||
|
|
||||||
--vp-code-tab-divider: var(--vp-code-block-divider-color);
|
--vp-code-tab-divider: var(--vp-code-block-divider-color);
|
||||||
--vp-code-tab-text-color: var(--vp-c-text-dark-2);
|
--vp-code-tab-text-color: var(--vp-c-text-2);
|
||||||
--vp-code-tab-bg: var(--vp-code-block-bg);
|
--vp-code-tab-bg: var(--vp-code-block-bg);
|
||||||
--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);
|
--vp-code-tab-hover-text-color: var(--vp-c-text-1);
|
||||||
--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);
|
--vp-code-tab-active-text-color: var(--vp-c-text-1);
|
||||||
--vp-code-tab-active-bar-color: var(--vp-c-brand);
|
--vp-code-tab-active-bar-color: var(--vp-c-brand-1);
|
||||||
}
|
|
||||||
|
|
||||||
html.dark {
|
|
||||||
--vp-code-block-bg: #161618;
|
|
||||||
--vp-code-block-divider-color: #000000;
|
|
||||||
--vp-code-line-number-color: var(--vp-c-text-dark-3);
|
|
||||||
--code-tabs-nav-text-color: var(--vp-c-text-dark-2);
|
|
||||||
--code-tabs-nav-bg-color: #3a404c;
|
|
||||||
--code-tabs-nav-hover-color: #434a57;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -261,28 +334,28 @@ html.dark {
|
|||||||
* -------------------------------------------------------------------------- */
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--vp-button-brand-border: var(--vp-c-brand-lighter);
|
--vp-button-brand-border: transparent;
|
||||||
--vp-button-brand-text: var(--vp-c-white);
|
--vp-button-brand-text: var(--vp-c-white);
|
||||||
--vp-button-brand-bg: var(--vp-c-brand);
|
--vp-button-brand-bg: var(--vp-c-brand-1);
|
||||||
--vp-button-brand-hover-border: var(--vp-c-brand-lighter);
|
--vp-button-brand-hover-border: transparent;
|
||||||
--vp-button-brand-hover-text: var(--vp-c-white);
|
--vp-button-brand-hover-text: var(--vp-c-white);
|
||||||
--vp-button-brand-hover-bg: var(--vp-c-brand-dark);
|
--vp-button-brand-hover-bg: var(--vp-c-brand-2);
|
||||||
--vp-button-brand-active-border: var(--vp-c-brand-lighter);
|
--vp-button-brand-active-border: transparent;
|
||||||
--vp-button-brand-active-text: var(--vp-c-white);
|
--vp-button-brand-active-text: var(--vp-c-white);
|
||||||
--vp-button-brand-active-bg: var(--vp-c-brand-darker);
|
--vp-button-brand-active-bg: var(--vp-c-brand-1);
|
||||||
|
|
||||||
--vp-button-alt-border: var(--vp-c-border);
|
--vp-button-alt-border: transparent;
|
||||||
--vp-button-alt-text: var(--vp-c-neutral);
|
--vp-button-alt-text: var(--vp-c-text-1);
|
||||||
--vp-button-alt-bg: var(--vp-c-mute);
|
--vp-button-alt-bg: var(--vp-c-default-3);
|
||||||
--vp-button-alt-hover-border: var(--vp-c-border);
|
--vp-button-alt-hover-border: transparent;
|
||||||
--vp-button-alt-hover-text: var(--vp-c-neutral);
|
--vp-button-alt-hover-text: var(--vp-c-text-1);
|
||||||
--vp-button-alt-hover-bg: var(--vp-c-mute-dark);
|
--vp-button-alt-hover-bg: var(--vp-c-default-2);
|
||||||
--vp-button-alt-active-border: var(--vp-c-border);
|
--vp-button-alt-active-border: transparent;
|
||||||
--vp-button-alt-active-text: var(--vp-c-neutral);
|
--vp-button-alt-active-text: var(--vp-c-text-1);
|
||||||
--vp-button-alt-active-bg: var(--vp-c-mute-darker);
|
--vp-button-alt-active-bg: var(--vp-c-default-1);
|
||||||
|
|
||||||
--vp-button-sponsor-border: var(--vp-c-gray-light-3);
|
--vp-button-sponsor-border: var(--vp-c-text-2);
|
||||||
--vp-button-sponsor-text: var(--vp-c-text-light-2);
|
--vp-button-sponsor-text: var(--vp-c-text-2);
|
||||||
--vp-button-sponsor-bg: transparent;
|
--vp-button-sponsor-bg: transparent;
|
||||||
--vp-button-sponsor-hover-border: var(--vp-c-sponsor);
|
--vp-button-sponsor-hover-border: var(--vp-c-sponsor);
|
||||||
--vp-button-sponsor-hover-text: var(--vp-c-sponsor);
|
--vp-button-sponsor-hover-text: var(--vp-c-sponsor);
|
||||||
@ -292,9 +365,10 @@ html.dark {
|
|||||||
--vp-button-sponsor-active-bg: transparent;
|
--vp-button-sponsor-active-bg: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
html.dark {
|
.dark {
|
||||||
--vp-button-sponsor-border: var(--vp-c-gray-dark-1);
|
--vp-button-brand-bg: var(--vp-c-brand-2);
|
||||||
--vp-button-sponsor-text: var(--vp-c-text-dark-2);
|
--vp-button-brand-hover-bg: var(--vp-c-brand-1);
|
||||||
|
--vp-button-brand-active-bg: var(--vp-c-brand-3);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -305,30 +379,30 @@ html.dark {
|
|||||||
--vp-custom-block-font-size: 14px;
|
--vp-custom-block-font-size: 14px;
|
||||||
--vp-custom-block-code-font-size: 13px;
|
--vp-custom-block-code-font-size: 13px;
|
||||||
|
|
||||||
--vp-custom-block-info-border: var(--vp-c-border);
|
--vp-custom-block-info-border: transparent;
|
||||||
--vp-custom-block-info-text: var(--vp-c-text-2);
|
--vp-custom-block-info-text: var(--vp-c-text-1);
|
||||||
--vp-custom-block-info-bg: var(--vp-c-bg-soft);
|
--vp-custom-block-info-bg: var(--vp-c-default-soft);
|
||||||
--vp-custom-block-info-code-bg: var(--vp-c-mute);
|
--vp-custom-block-info-code-bg: var(--vp-c-default-soft);
|
||||||
|
|
||||||
--vp-custom-block-tip-border: var(--vp-c-green-dimm-3);
|
--vp-custom-block-tip-border: transparent;
|
||||||
--vp-custom-block-tip-text: var(--vp-c-green);
|
--vp-custom-block-tip-text: var(--vp-c-text-1);
|
||||||
--vp-custom-block-tip-bg: var(--vp-c-green-dimm-1);
|
--vp-custom-block-tip-bg: var(--vp-c-brand-soft);
|
||||||
--vp-custom-block-tip-code-bg: var(--vp-custom-block-tip-bg);
|
--vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);
|
||||||
|
|
||||||
--vp-custom-block-warning-border: var(--vp-c-yellow-dimm-3);
|
--vp-custom-block-warning-border: transparent;
|
||||||
--vp-custom-block-warning-text: var(--vp-c-yellow);
|
--vp-custom-block-warning-text: var(--vp-c-text-1);
|
||||||
--vp-custom-block-warning-bg: var(--vp-c-yellow-dimm-1);
|
--vp-custom-block-warning-bg: var(--vp-c-warning-soft);
|
||||||
--vp-custom-block-warning-code-bg: var(--vp-custom-block-warning-bg);
|
--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);
|
||||||
|
|
||||||
--vp-custom-block-danger-border: var(--vp-c-red-dimm-3);
|
--vp-custom-block-danger-border: transparent;
|
||||||
--vp-custom-block-danger-text: var(--vp-c-red);
|
--vp-custom-block-danger-text: var(--vp-c-text-1);
|
||||||
--vp-custom-block-danger-bg: var(--vp-c-red-dimm-1);
|
--vp-custom-block-danger-bg: var(--vp-c-danger-soft);
|
||||||
--vp-custom-block-danger-code-bg: var(--vp-custom-block-danger-bg);
|
--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);
|
||||||
|
|
||||||
--vp-custom-block-details-border: var(--vp-custom-block-info-border);
|
--vp-custom-block-details-border: var(--vp-custom-block-info-border);
|
||||||
--vp-custom-block-details-text: var(--vp-custom-block-info-text);
|
--vp-custom-block-details-text: var(--vp-custom-block-info-text);
|
||||||
--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);
|
--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);
|
||||||
--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg);
|
--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -338,9 +412,8 @@ html.dark {
|
|||||||
:root {
|
:root {
|
||||||
--vp-input-border-color: var(--vp-c-border);
|
--vp-input-border-color: var(--vp-c-border);
|
||||||
--vp-input-bg-color: var(--vp-c-bg-alt);
|
--vp-input-bg-color: var(--vp-c-bg-alt);
|
||||||
--vp-input-hover-border-color: var(--vp-c-gray);
|
|
||||||
|
|
||||||
--vp-input-switch-bg-color: var(--vp-c-mute);
|
--vp-input-switch-bg-color: var(--vp-c-gray-soft);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -351,6 +424,15 @@ html.dark {
|
|||||||
--vp-nav-height: 64px;
|
--vp-nav-height: 64px;
|
||||||
--vp-nav-bg-color: var(--vp-c-bg);
|
--vp-nav-bg-color: var(--vp-c-bg);
|
||||||
--vp-nav-screen-bg-color: var(--vp-c-bg);
|
--vp-nav-screen-bg-color: var(--vp-c-bg);
|
||||||
|
--vp-nav-logo-height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hide-nav {
|
||||||
|
--vp-nav-height: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hide-nav .VPSidebar {
|
||||||
|
--vp-nav-height: 22px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -383,11 +465,15 @@ html.dark {
|
|||||||
* -------------------------------------------------------------------------- */
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--vp-home-hero-name-color: var(--vp-c-brand);
|
--vp-home-hero-name-color: var(--vp-c-brand-1);
|
||||||
--vp-home-hero-name-background: transparent;
|
--vp-home-hero-name-background: transparent;
|
||||||
|
|
||||||
--vp-home-hero-image-background-image: none;
|
--vp-home-hero-image-background-image: none;
|
||||||
--vp-home-hero-image-filter: none;
|
--vp-home-hero-image-filter: none;
|
||||||
|
|
||||||
|
--vp-c-text-hero-name: var(--vp-c-text-dark-1);
|
||||||
|
--vp-c-text-hero-tagline: var(--vp-c-text-dark-2);
|
||||||
|
--vp-c-text-hero-text: var(--vp-c-text-dark-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -395,33 +481,114 @@ html.dark {
|
|||||||
* -------------------------------------------------------------------------- */
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--vp-badge-info-border: var(--vp-c-border);
|
--vp-badge-info-border: transparent;
|
||||||
--vp-badge-info-text: var(--vp-c-text-2);
|
--vp-badge-info-text: var(--vp-c-text-2);
|
||||||
--vp-badge-info-bg: var(--vp-c-bg-soft);
|
--vp-badge-info-bg: var(--vp-c-default-soft);
|
||||||
|
|
||||||
--vp-badge-tip-border: var(--vp-c-green-dark);
|
--vp-badge-tip-border: transparent;
|
||||||
--vp-badge-tip-text: var(--vp-c-green);
|
--vp-badge-tip-text: var(--vp-c-brand-1);
|
||||||
--vp-badge-tip-bg: var(--vp-c-green-dimm-1);
|
--vp-badge-tip-bg: var(--vp-c-brand-soft);
|
||||||
|
|
||||||
--vp-badge-warning-border: var(--vp-c-yellow-dark);
|
--vp-badge-warning-border: transparent;
|
||||||
--vp-badge-warning-text: var(--vp-c-yellow);
|
--vp-badge-warning-text: var(--vp-c-warning-1);
|
||||||
--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);
|
--vp-badge-warning-bg: var(--vp-c-warning-soft);
|
||||||
|
|
||||||
--vp-badge-danger-border: var(--vp-c-red-dark);
|
--vp-badge-danger-border: transparent;
|
||||||
--vp-badge-danger-text: var(--vp-c-red);
|
--vp-badge-danger-text: var(--vp-c-danger-1);
|
||||||
--vp-badge-danger-bg: var(--vp-c-red-dimm-1);
|
--vp-badge-danger-bg: var(--vp-c-danger-soft);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Component: CarbonAds
|
* Component: Carbon Ads
|
||||||
* -------------------------------------------------------------------------- */
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
// :root {
|
||||||
|
// --vp-carbon-ads-text-color: var(--vp-c-text-1);
|
||||||
|
// --vp-carbon-ads-poweredby-color: var(--vp-c-text-2);
|
||||||
|
// --vp-carbon-ads-bg-color: var(--vp-c-bg-soft);
|
||||||
|
// --vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);
|
||||||
|
// --vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1);
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Component: Local Search
|
||||||
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--vp-carbon-ads-text-color: var(--vp-c-text-1);
|
--vp-local-search-bg: var(--vp-c-bg);
|
||||||
--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);
|
--vp-local-search-result-bg: var(--vp-c-bg);
|
||||||
--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);
|
--vp-local-search-result-border: var(--vp-c-divider);
|
||||||
--vp-carbon-ads-hover-text-color: var(--vp-c-brand);
|
--vp-local-search-result-selected-bg: var(--vp-c-bg);
|
||||||
--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1);
|
--vp-local-search-result-selected-border: var(--vp-c-brand-1);
|
||||||
|
--vp-local-search-highlight-bg: var(--vp-c-brand-1);
|
||||||
|
--vp-local-search-highlight-text: var(--vp-c-neutral-inverse);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Component: Search **/
|
||||||
|
:root {
|
||||||
|
--search-bg-color: var(--vp-c-bg-elv);
|
||||||
|
--search-text-color: var(--vp-c-text-2);
|
||||||
|
--search-item-text-color: var(--vp-c-text-1);
|
||||||
|
--search-item-focus-bg-color: var(--vp-c-bg-alt);
|
||||||
|
--search-input-width: 8rem;
|
||||||
|
--search-result-width: 20rem;
|
||||||
|
--search-border-color: var(--vp-c-divider);
|
||||||
|
--search-accent-color: var(--vp-c-brand-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* md enhance code-tabs */
|
||||||
|
:root {
|
||||||
|
--code-tabs-nav-text-color: var(--vp-c-text-1);
|
||||||
|
--code-tabs-nav-bg-color: #e6e6e7;
|
||||||
|
--code-tabs-nav-hover-color: var(--vp-code-block-bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark {
|
||||||
|
--code-tabs-nav-bg-color: #3a404c;
|
||||||
|
--code-tabs-nav-hover-color: #434a57;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* md enhance hints */
|
||||||
|
:root {
|
||||||
|
// important
|
||||||
|
--important-title-color: var(--vp-c-text-1);
|
||||||
|
--important-bg-color: #f4eefe;
|
||||||
|
--important-border-color: #f4eefe;
|
||||||
|
--important-code-bg-color: rgb(163 113 247 / 10%);
|
||||||
|
// info
|
||||||
|
--info-title-color: var(--vp-c-text-1);
|
||||||
|
--info-bg-color: var(--vp-custom-block-info-bg);
|
||||||
|
--info-border-color: var(--vp-custom-block-info-border);
|
||||||
|
--info-code-bg-color: var(--vp-custom-block-info-code-bg);
|
||||||
|
|
||||||
|
// note
|
||||||
|
--note-title-color: var(--vp-c-text-3);
|
||||||
|
--note-bg-color: var(--vp-c-bg-elv);
|
||||||
|
--note-border-color: var(--vp-c-divider);
|
||||||
|
--note-code-bg-color: var(--vp-c-default-soft);
|
||||||
|
|
||||||
|
// tip
|
||||||
|
--tip-title-color: var(--vp-c-text-1);
|
||||||
|
--tip-bg-color: var(--vp-custom-block-tip-bg);
|
||||||
|
--tip-border-color: var(--vp-custom-block-tip-border);
|
||||||
|
--tip-code-bg-color: var(--vp-custom-block-tip-code-bg);
|
||||||
|
|
||||||
|
// warning
|
||||||
|
--warning-title-color: var(--vp-c-text-1);
|
||||||
|
--warning-bg-color: var(--vp-custom-block-warning-bg);
|
||||||
|
--warning-border-color: var(--vp-custom-block-warning-border);
|
||||||
|
--warning-code-bg-color: var(--vp-custom-block-warning-code-bg);
|
||||||
|
|
||||||
|
// caution
|
||||||
|
--caution-title-color: var(--vp-c-text-1);
|
||||||
|
--caution-bg-color: var(--vp-custom-block-danger-bg);
|
||||||
|
--caution-border-color: var(--vp-custom-block-danger-border);
|
||||||
|
--caution-code-bg-color: var(--vp-custom-block-danger-code-bg);
|
||||||
|
|
||||||
|
// detail
|
||||||
|
--detail-bg-color: var(--vp-custom-block-details-bg);
|
||||||
|
--detail-text-color: inherit;
|
||||||
|
--detail-code-bg-color: var(--vp-custom-block-details-code-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
|
|||||||
@ -2,3 +2,5 @@ export * from './shared.js'
|
|||||||
export * from './normalizeLink.js'
|
export * from './normalizeLink.js'
|
||||||
export * from './socialIcons.js'
|
export * from './socialIcons.js'
|
||||||
export * from './dom.js'
|
export * from './dom.js'
|
||||||
|
export * from './resolveEditLink.js'
|
||||||
|
export * from './resolveRepoType.js'
|
||||||
|
|||||||
64
theme/src/client/utils/resolveEditLink.ts
Normal file
64
theme/src/client/utils/resolveEditLink.ts
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
import {
|
||||||
|
isLinkHttp,
|
||||||
|
removeEndingSlash,
|
||||||
|
removeLeadingSlash,
|
||||||
|
} from '@vuepress/shared'
|
||||||
|
import { resolveRepoType } from './resolveRepoType.js'
|
||||||
|
import type { RepoType } from './resolveRepoType.js'
|
||||||
|
|
||||||
|
export const editLinkPatterns: Record<Exclude<RepoType, null>, string> = {
|
||||||
|
GitHub: ':repo/edit/:branch/:path',
|
||||||
|
GitLab: ':repo/-/edit/:branch/:path',
|
||||||
|
Gitee: ':repo/edit/:branch/:path',
|
||||||
|
Bitbucket:
|
||||||
|
':repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default',
|
||||||
|
}
|
||||||
|
|
||||||
|
const resolveEditLinkPatterns = ({
|
||||||
|
docsRepo,
|
||||||
|
editLinkPattern,
|
||||||
|
}: {
|
||||||
|
docsRepo: string
|
||||||
|
editLinkPattern?: string
|
||||||
|
}): string | null => {
|
||||||
|
if (editLinkPattern) {
|
||||||
|
return editLinkPattern
|
||||||
|
}
|
||||||
|
|
||||||
|
const repoType = resolveRepoType(docsRepo)
|
||||||
|
if (repoType !== null) {
|
||||||
|
return editLinkPatterns[repoType]
|
||||||
|
}
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
export const resolveEditLink = ({
|
||||||
|
docsRepo,
|
||||||
|
docsBranch,
|
||||||
|
docsDir,
|
||||||
|
filePathRelative,
|
||||||
|
editLinkPattern,
|
||||||
|
}: {
|
||||||
|
docsRepo: string
|
||||||
|
docsBranch: string
|
||||||
|
docsDir: string
|
||||||
|
filePathRelative: string | null
|
||||||
|
editLinkPattern?: string
|
||||||
|
}): string | null => {
|
||||||
|
if (!filePathRelative) return null
|
||||||
|
|
||||||
|
const pattern = resolveEditLinkPatterns({ docsRepo, editLinkPattern })
|
||||||
|
if (!pattern) return null
|
||||||
|
|
||||||
|
return pattern
|
||||||
|
.replace(
|
||||||
|
/:repo/,
|
||||||
|
isLinkHttp(docsRepo) ? docsRepo : `https://github.com/${docsRepo}`,
|
||||||
|
)
|
||||||
|
.replace(/:branch/, docsBranch)
|
||||||
|
.replace(
|
||||||
|
/:path/,
|
||||||
|
removeLeadingSlash(`${removeEndingSlash(docsDir)}/${filePathRelative}`),
|
||||||
|
)
|
||||||
|
}
|
||||||
11
theme/src/client/utils/resolveRepoType.ts
Normal file
11
theme/src/client/utils/resolveRepoType.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { isLinkHttp } from '@vuepress/shared'
|
||||||
|
|
||||||
|
export type RepoType = 'GitHub' | 'GitLab' | 'Gitee' | 'Bitbucket' | null
|
||||||
|
|
||||||
|
export const resolveRepoType = (repo: string): RepoType => {
|
||||||
|
if (!isLinkHttp(repo) || /github\.com/.test(repo)) return 'GitHub'
|
||||||
|
if (/bitbucket\.org/.test(repo)) return 'Bitbucket'
|
||||||
|
if (/gitlab\.com/.test(repo)) return 'GitLab'
|
||||||
|
if (/gitee\.com/.test(repo)) return 'Gitee'
|
||||||
|
return null
|
||||||
|
}
|
||||||
@ -97,9 +97,9 @@ export const setupPlugins = (
|
|||||||
|
|
||||||
options.git !== false
|
options.git !== false
|
||||||
? gitPlugin({
|
? gitPlugin({
|
||||||
createdTime: true,
|
createdTime: false,
|
||||||
updatedTime: true,
|
updatedTime: localeOptions.lastUpdated !== false,
|
||||||
contributors: false,
|
contributors: localeOptions.contributors !== false,
|
||||||
})
|
})
|
||||||
: [],
|
: [],
|
||||||
|
|
||||||
@ -141,7 +141,10 @@ export const setupPlugins = (
|
|||||||
? docsearchPlugin(options.docsearch!)
|
? docsearchPlugin(options.docsearch!)
|
||||||
: [],
|
: [],
|
||||||
|
|
||||||
options.shikiji !== false ? shikijiPlugin(options.shikiji) : [],
|
options.shikiji !== false ? shikijiPlugin({
|
||||||
|
theme: { light: 'vitesse-light', dark: 'vitesse-dark' },
|
||||||
|
...(options.shikiji ?? {}),
|
||||||
|
}) : [],
|
||||||
|
|
||||||
options.copyCode !== false
|
options.copyCode !== false
|
||||||
? copyCodePlugin({
|
? copyCodePlugin({
|
||||||
@ -154,7 +157,7 @@ export const setupPlugins = (
|
|||||||
? mdEnhancePlugin(
|
? mdEnhancePlugin(
|
||||||
Object.assign(
|
Object.assign(
|
||||||
{
|
{
|
||||||
container: true, // info note tip warning danger details
|
hint: true, // info note tip warning danger details d
|
||||||
codetabs: true,
|
codetabs: true,
|
||||||
tabs: true,
|
tabs: true,
|
||||||
align: true,
|
align: true,
|
||||||
|
|||||||
@ -34,6 +34,8 @@ export const plumeTheme = ({
|
|||||||
plugins: setupPlugins(app, themePlugins, localeOptions),
|
plugins: setupPlugins(app, themePlugins, localeOptions),
|
||||||
onInitialized: async (app) => await setupPage(app, localeOptions),
|
onInitialized: async (app) => await setupPage(app, localeOptions),
|
||||||
extendsPage: (page: Page<PlumeThemePageData>) => {
|
extendsPage: (page: Page<PlumeThemePageData>) => {
|
||||||
|
page.data.filePathRelative = page.filePathRelative
|
||||||
|
page.routeMeta.title = page.title
|
||||||
autoCategory(app, page, localeOptions)
|
autoCategory(app, page, localeOptions)
|
||||||
pageContentRendered(page)
|
pageContentRendered(page)
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
import type { NavItemWithLink } from ".";
|
||||||
|
|
||||||
export interface PlumeThemeHomeFrontmatter {
|
export interface PlumeThemeHomeFrontmatter {
|
||||||
home?: true
|
home?: true
|
||||||
banner?: string
|
banner?: string
|
||||||
@ -15,7 +17,17 @@ export interface PlumeThemeHeroAction {
|
|||||||
text: string
|
text: string
|
||||||
link?: string
|
link?: string
|
||||||
}
|
}
|
||||||
export interface PlumeThemePostFrontmatter {
|
|
||||||
|
export interface PlumeThemePageFrontmatter {
|
||||||
|
editLink?: boolean
|
||||||
|
editLinkPattern?: string
|
||||||
|
lastUpdated?: boolean
|
||||||
|
contributors?: boolean
|
||||||
|
prev?: string | NavItemWithLink
|
||||||
|
next?: string | NavItemWithLink
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PlumeThemePostFrontmatter extends PlumeThemePageFrontmatter {
|
||||||
createTime?: string
|
createTime?: string
|
||||||
author?: string
|
author?: string
|
||||||
tags?: string[]
|
tags?: string[]
|
||||||
@ -24,6 +36,6 @@ export interface PlumeThemePostFrontmatter {
|
|||||||
banner?: string
|
banner?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface PlumeThemeNoteFrontmatter {
|
export interface PlumeThemeNoteFrontmatter extends PlumeThemePageFrontmatter {
|
||||||
createTime?: string
|
createTime?: string
|
||||||
}
|
}
|
||||||
|
|||||||
@ -160,11 +160,11 @@ export interface PlumeThemeLocaleData extends LocaleData {
|
|||||||
/**
|
/**
|
||||||
* repository of navbar
|
* repository of navbar
|
||||||
*/
|
*/
|
||||||
// repo?: null | string
|
repo?: null | string
|
||||||
/**
|
/**
|
||||||
* repository text of navbar
|
* repository text of navbar
|
||||||
*/
|
*/
|
||||||
// repoLabel?: string
|
repoLabel?: string
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Navbar config
|
* Navbar config
|
||||||
@ -172,6 +172,76 @@ export interface PlumeThemeLocaleData extends LocaleData {
|
|||||||
* Set to `false` to disable navbar in current locale
|
* Set to `false` to disable navbar in current locale
|
||||||
*/
|
*/
|
||||||
navbar?: false | NavItem[]
|
navbar?: false | NavItem[]
|
||||||
|
/**
|
||||||
|
* Page meta - edit link config
|
||||||
|
*
|
||||||
|
* Whether to show "Edit this page" or not
|
||||||
|
*/
|
||||||
|
editLink?: boolean
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Page meta - edit link config
|
||||||
|
*
|
||||||
|
* The text to replace the default "Edit this page"
|
||||||
|
*/
|
||||||
|
editLinkText?: string
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Page meta - edit link config
|
||||||
|
*
|
||||||
|
* Pattern of edit link
|
||||||
|
*
|
||||||
|
* @example ':repo/edit/:branch/:path'
|
||||||
|
*/
|
||||||
|
editLinkPattern?: string
|
||||||
|
/**
|
||||||
|
* Page meta - edit link config
|
||||||
|
*
|
||||||
|
* Use `repo` config by default
|
||||||
|
*
|
||||||
|
* Set this config if your docs is placed in a different repo
|
||||||
|
*/
|
||||||
|
docsRepo?: string
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Page meta - edit link config
|
||||||
|
*
|
||||||
|
* Set this config if the branch of your docs is not 'main'
|
||||||
|
*/
|
||||||
|
docsBranch?: string
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Page meta - edit link config
|
||||||
|
*
|
||||||
|
* Set this config if your docs is placed in sub dir of your `docsRepo`
|
||||||
|
*/
|
||||||
|
docsDir?: string
|
||||||
|
/**
|
||||||
|
* Page meta - last updated config
|
||||||
|
*
|
||||||
|
* Whether to show "Last Updated" or not
|
||||||
|
*/
|
||||||
|
lastUpdated?: boolean
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Page meta - last updated config
|
||||||
|
*
|
||||||
|
* The text to replace the default "Last Updated"
|
||||||
|
*/
|
||||||
|
lastUpdatedText?: string
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Page meta - contributors config
|
||||||
|
*
|
||||||
|
* Whether to show "Contributors" or not
|
||||||
|
*/
|
||||||
|
contributors?: boolean
|
||||||
|
/**
|
||||||
|
* Page meta - contributors config
|
||||||
|
*
|
||||||
|
* The text to replace the default "Contributors"
|
||||||
|
*/
|
||||||
|
contributorsText?: string
|
||||||
/**
|
/**
|
||||||
* 外部链接打开方式
|
* 外部链接打开方式
|
||||||
*/
|
*/
|
||||||
@ -191,6 +261,10 @@ export interface PlumeThemeLocaleData extends LocaleData {
|
|||||||
|
|
||||||
outlineLabel?: string
|
outlineLabel?: string
|
||||||
|
|
||||||
|
prevPageLabel?: string
|
||||||
|
|
||||||
|
nextPageLabel?: string
|
||||||
|
|
||||||
footer?:
|
footer?:
|
||||||
| false
|
| false
|
||||||
| {
|
| {
|
||||||
|
|||||||
@ -1,11 +1,10 @@
|
|||||||
export interface PlumeThemePageData {
|
import type { GitPluginPageData } from '@vuepress/plugin-git'
|
||||||
git: {
|
|
||||||
createTime: number
|
export interface PlumeThemePageData extends GitPluginPageData {
|
||||||
updateTime: number
|
|
||||||
}
|
|
||||||
isBlogPost: boolean
|
isBlogPost: boolean
|
||||||
type: 'blog' | 'product'
|
type: 'blog' | 'product'
|
||||||
categoryList?: PageCategoryData[]
|
categoryList?: PageCategoryData[]
|
||||||
|
filePathRelative: string | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface PageCategoryData {
|
export interface PageCategoryData {
|
||||||
|
|||||||
@ -12,7 +12,10 @@
|
|||||||
],
|
],
|
||||||
"@internal/*": ["./docs/.vuepress/.temp/internal/*"],
|
"@internal/*": ["./docs/.vuepress/.temp/internal/*"],
|
||||||
"@vuepress-plume/*": ["./plugins/*/src/node/index.ts"],
|
"@vuepress-plume/*": ["./plugins/*/src/node/index.ts"],
|
||||||
"vuepress-theme-plume": ["./theme/src/node/index.ts"]
|
"vuepress-theme-plume": ["./theme/src/node/index.ts"],
|
||||||
|
"vuepress-plugin-netlify-functions": [
|
||||||
|
"./plugins/plugin-netlify-functions/src/node/index.ts"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"types": ["webpack-env", "vite/client"]
|
"types": ["webpack-env", "vite/client"]
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user