Improve plugins index (#1200)

Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
This commit is contained in:
Anbraten 2022-09-25 19:04:47 +02:00 committed by GitHub
parent 896746a91a
commit 62d82765fd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 2628 additions and 2478 deletions

View file

@ -1,6 +1,6 @@
<p align="center">
<a href="https://github.com/woodpecker-ci/woodpecker/">
<img alt="Woodpecker" src="docs/static/img/logo-auto-darkmode.svg" width="220"/>
<img alt="Woodpecker" src="docs/static/img/logo.svg" width="220"/>
</a>
</p>
<br/>

View file

@ -25,9 +25,15 @@ If you have some missing resources, please feel free to [open a pull-request](ht
## Templates
## Blogs, guides, videos
## Posts & tutorials
- [Tutorial about setup of Woodpecker-CI and Gitea](https://containers.fan/posts/setup-gitea-with-woodpecker-ci/)
- [Setup Gitea with Woodpecker CI](https://containers.fan/posts/setup-gitea-with-woodpecker-ci/)
- [Step-by-step guide to modern, secure and Open-source CI setup](https://devforth.io/blog/step-by-step-guide-to-modern-secure-ci-setup/)
- [Using Woodpecker CI for my static sites](https://jan.wildeboer.net/2022/07/Woodpecker-CI-Jekyll/)
- [Woodpecker CI @ Codeberg](https://www.sarkasti.eu/articles/post/woodpecker/)
- [Deploy Docker/Compose using Woodpecker CI](https://hinty.io/vverenko/deploy-docker-compose-using-woodpecker-ci/)
## Videos
## Plugins

View file

@ -20,7 +20,6 @@ module.exports = {
logo: {
alt: 'Woodpecker Logo',
src: 'img/logo.svg',
srcDark: 'img/logo-darkmode.svg',
},
items: [
{
@ -108,8 +107,8 @@ module.exports = {
title: 'More',
items: [
{
label: "Translate",
href: 'https://translate.woodpecker-ci.org/engage/woodpecker-ci/'
label: 'Translate',
href: 'https://translate.woodpecker-ci.org/engage/woodpecker-ci/',
},
{
label: 'GitHub',
@ -169,7 +168,7 @@ module.exports = {
themes: [
path.resolve(__dirname, 'plugins', 'woodpecker-plugins', 'dist'),
[
require.resolve("@easyops-cn/docusaurus-search-local"),
require.resolve('@easyops-cn/docusaurus-search-local'),
{
hashed: true,
},
@ -189,7 +188,7 @@ module.exports = {
label: 'Next',
banner: 'unreleased',
},
'0.15': {
0.15: {
label: '0.15.x',
banner: 'none',
},
@ -201,4 +200,13 @@ module.exports = {
},
],
],
webpack: {
jsLoader: (isServer) => ({
loader: require.resolve('esbuild-loader'),
options: {
loader: 'tsx',
target: isServer ? 'node12' : 'es2017',
},
}),
},
};

View file

@ -15,12 +15,13 @@
"write-heading-ids": "docusaurus write-heading-ids"
},
"dependencies": {
"@docusaurus/core": "^2.0.1",
"@docusaurus/preset-classic": "^2.0.1",
"@easyops-cn/docusaurus-search-local": "^0.31.0",
"@docusaurus/core": "^2.1.0",
"@docusaurus/preset-classic": "^2.1.0",
"@easyops-cn/docusaurus-search-local": "^0.32.0",
"@mdx-js/react": "^1.6.22",
"@svgr/webpack": "^6.3.1",
"clsx": "^1.2.1",
"esbuild-loader": "^2.20.0",
"file-loader": "^6.2.0",
"prism-react-renderer": "^1.3.5",
"react": "^17.0.2",
@ -42,7 +43,7 @@
"devDependencies": {
"@docusaurus/module-type-aliases": "^2.0.1",
"@tsconfig/docusaurus": "^1.0.6",
"@types/react": "^18.0.17",
"@types/react": "^18.0.20",
"@types/react-helmet": "^6.1.5",
"@types/react-router-dom": "^5.3.3",
"typescript": "^4.7.4"

View file

@ -5,24 +5,27 @@
"main": "dist/index.js",
"typings": "dist/index.d.ts",
"scripts": {
"start": "concurrently 'tsc -w' 'tsc -w -p tsconfig.jsx.json'",
"build": "tsc && tsc -p tsconfig.jsx.json"
"start": "yarn run style && concurrently 'tsc -w' 'tsc -w -p tsconfig.jsx.json'",
"build": "yarn run style && tsc && tsc -p tsconfig.jsx.json",
"style": "mkdir -p dist/theme/ && cp src/theme/style.css dist/theme/style.css"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "^2.0.0-beta.18",
"@docusaurus/theme-classic": "^2.0.0-beta.18",
"@docusaurus/types": "^2.0.0-beta.18",
"@octokit/openapi-types": "^11.2.0",
"@octokit/rest": "^18.12.0",
"@tsconfig/docusaurus": "^1.0.5",
"@types/marked": "^4.0.3",
"clsx": "^1.1.1",
"concurrently": "^7.0.0",
"marked": "^4.0.12",
"typescript": "^4.6.3"
"@docusaurus/module-type-aliases": "^2.1.0",
"@docusaurus/theme-classic": "^2.1.0",
"@docusaurus/types": "^2.1.0",
"@tsconfig/docusaurus": "^1.0.6",
"@types/marked": "^4.0.7",
"axios": "^0.27.2",
"concurrently": "^7.4.0",
"marked": "^4.1.0",
"typescript": "^4.7.4"
},
"peerDependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"dependencies": {
"fuse.js": "^6.6.2",
"yaml": "^2.1.1"
}
}

View file

@ -0,0 +1,53 @@
{
"plugins": [
{
"name": "Clone plugin",
"docs": "https://raw.githubusercontent.com/woodpecker-ci/plugin-git/master/docs.md",
"verified": true
},
{
"name": "Docker Buildx",
"docs": "https://codeberg.org/woodpecker-plugins/plugin-docker-buildx/raw/branch/main/docs.md",
"verified": true
},
{
"name": "Codecov",
"docs": "https://raw.githubusercontent.com/woodpecker-ci/plugin-codecov/master/docs.md",
"verified": true
},
{
"name": "Surge preview",
"docs": "https://raw.githubusercontent.com/woodpecker-ci/plugin-surge-preview/main/docs.md",
"verified": true
},
{
"name": "S3 upload",
"docs": "https://raw.githubusercontent.com/woodpecker-ci/plugin-s3/master/docs.md",
"verified": true
},
{
"// todo": true,
"name": "Email",
"docs": "https://raw.githubusercontent.com/woodpecker-ci/plugin-email/master/docs.md",
"verified": true
},
{
"// todo": true,
"name": "Docker",
"docs": "https://raw.githubusercontent.com/woodpecker-ci/plugin-docker/master/docs.md",
"verified": true
},
{
"// todo": true,
"name": "Github release",
"docs": "https://raw.githubusercontent.com/woodpecker-ci/plugin-github-release/master/docs.md",
"verified": true
},
{
"// todo": true,
"name": "Chart releaser",
"docs": "https://raw.githubusercontent.com/woodpecker-ci/plugin-chart-releaser/master/docs.md",
"verified": true
}
]
}

View file

@ -1,64 +1,53 @@
import { LoadContext, Plugin, PluginContentLoadedActions } from '@docusaurus/types';
import { Octokit } from '@octokit/rest';
import { components as OctokitComponents } from '@octokit/openapi-types';
import path from 'path';
import { Content, WoodpeckerPlugin, WoodpeckerPluginHeader } from './types';
import fs from 'fs';
import axios, { AxiosError } from 'axios';
import { Content, WoodpeckerPlugin, WoodpeckerPluginHeader, WoodpeckerPluginIndexEntry } from './types';
import * as markdown from './markdown';
const octokit = new Octokit();
async function getDocs(repoName: string): Promise<string | undefined> {
try {
const docsResult = (
await octokit.repos.getContent({
owner: 'woodpecker-ci',
repo: repoName,
path: '/docs.md',
})
).data as OctokitComponents['schemas']['content-file'];
return Buffer.from(docsResult.content, 'base64').toString('ascii');
} catch (e) {
console.error("Can't fetch docs file for repository", repoName, e);
}
return undefined;
}
async function loadContent(): Promise<Content> {
const repositories = (
await octokit.rest.search.repos({
// search for repos in woodpecker-ci org with the topic: woodpecker-plugin including forks
q: 'org:woodpecker-ci topic:woodpecker-plugin fork:true',
})
).data.items;
const file = path.join(__dirname, '..', 'plugins.json');
console.log(repositories.map((r) => r.name));
const pluginsIndex = JSON.parse(fs.readFileSync(file).toString()) as { plugins: WoodpeckerPluginIndexEntry[] };
const plugins = (
await Promise.all(
repositories.map(async (repo) => {
const docs = await getDocs(repo.name);
if (!docs) {
pluginsIndex.plugins.map(async (i) => {
if (i['// todo']) {
return undefined;
}
const header = markdown.getHeader<WoodpeckerPluginHeader>(docs);
const body = markdown.getContent(docs);
let docsContent: string;
try {
const response = await axios(i.docs);
docsContent = response.data;
} catch (e) {
console.error("Can't fetch docs file", i.docs, (e as AxiosError).message);
return undefined;
}
const plugin: WoodpeckerPlugin = {
name: header?.name || repo.name,
repoName: repo.name,
url: repo.html_url,
icon: header?.icon,
description: header?.description,
docs: body,
const docsHeader = markdown.getHeader<WoodpeckerPluginHeader>(docsContent);
const docsBody = markdown.getContent(docsContent);
if (!docsHeader.name) {
return undefined;
}
return <WoodpeckerPlugin>{
name: docsHeader.name || i.name,
url: docsHeader.url,
icon: docsHeader.icon,
description: docsHeader.description,
docs: docsBody,
tags: docsHeader.tags || [],
author: docsHeader.author,
containerImage: docsHeader.containerImage,
containerImageUrl: docsHeader.containerImageUrl,
verified: i.verified || false,
};
return plugin;
}),
)
).filter((plugin) => plugin);
).filter<WoodpeckerPlugin>((plugin): plugin is WoodpeckerPlugin => plugin !== undefined);
return {
plugins,
@ -77,11 +66,11 @@ async function contentLoaded({
const pluginsJsonPath = await createData('plugins.json', JSON.stringify(plugins));
await Promise.all(
plugins.map(async (plugin) => {
const pluginJsonPath = await createData(`plugin-${plugin.repoName}.json`, JSON.stringify(plugin));
plugins.map(async (plugin, i) => {
const pluginJsonPath = await createData(`plugin-${i}.json`, JSON.stringify(plugin));
addRoute({
path: `/plugins/${plugin.repoName}`,
path: `/plugins/${plugin.name}`,
component: '@theme/WoodpeckerPlugin',
modules: {
plugin: pluginJsonPath,
@ -113,7 +102,7 @@ export default function pluginWoodpeckerPluginsIndex(context: LoadContext, optio
return path.join(__dirname, '..', 'src', 'theme');
},
getPathsToWatch() {
return [path.join(__dirname, '..', 'dist', '**', '*.{js,jsx}')];
return [path.join(__dirname, '..', 'dist', '**', '*.{js,jsx,css}')];
},
};
}

View file

@ -1,4 +1,5 @@
import { marked } from 'marked';
import { parse as YAMLParse } from 'yaml';
const tokens = ['---', '---'];
const regexHeader = new RegExp('^' + tokens[0] + '([\\s|\\S]*?)' + tokens[1]);
@ -6,27 +7,18 @@ const regexContent = new RegExp('^ *?\\' + tokens[0] + '[^]*?' + tokens[1] + '*'
export function getHeader<T = any>(data: string): T {
const header = getRawHeader(data);
const tmpObj = {};
const lines = header.trim().split('\n');
lines.forEach((line, i) => {
var arr = line.trim().split(':');
tmpObj[arr.shift()] = arr.join(':').trim();
});
return tmpObj as T;
return YAMLParse(header) as T;
}
export function getRawHeader(data: string): string {
const header = regexHeader.exec(data);
if (!header) {
new Error("Can't get the header");
throw new Error("Can't get the header");
}
return header[1];
}
export function getContent(data): string {
export function getContent(data: string): string {
const content = data.replace(regexContent, '').replace(/<!--(.*?)-->/gm, '');
if (!content) {
throw new Error("Can't get the content");

View file

@ -0,0 +1,45 @@
import React from 'react';
export const IconVerified = (size = 32) => (
<div title="This plugin is verified by the Woodpecker CI maintainers">
<svg width={size} height={size} viewBox="0 0 24 24" style={{ color: '#0369a1', marginLeft: '1rem' }}>
<path
fill="currentColor"
d="m8.6 22.5l-1.9-3.2l-3.6-.8l.35-3.7L1 12l2.45-2.8l-.35-3.7l3.6-.8l1.9-3.2L12 2.95l3.4-1.45l1.9 3.2l3.6.8l-.35 3.7L23 12l-2.45 2.8l.35 3.7l-3.6.8l-1.9 3.2l-3.4-1.45Zm2.35-6.95L16.6 9.9l-1.4-1.45l-4.25 4.25l-2.15-2.1L7.4 12Z"
/>
</svg>
</div>
);
export const IconContainer = (size = 32) => (
<div title="Container">
<svg width={size} height={size} viewBox="0 0 16 16">
<path
fill="currentColor"
fillRule="evenodd"
d="m10.41.24l4.711 2.774A1.767 1.767 0 0 1 16 4.54v5.01a1.77 1.77 0 0 1-.88 1.53l-7.753 4.521l-.002.001a1.767 1.767 0 0 1-1.774 0H5.59L.873 12.85A1.762 1.762 0 0 1 0 11.327V6.292c0-.304.078-.598.22-.855l.004-.005l.01-.019c.15-.262.369-.486.64-.643L8.641.239a1.75 1.75 0 0 1 1.765 0l.002.001zM9.397 1.534a.25.25 0 0 1 .252 0l4.115 2.422l-7.152 4.148a.267.267 0 0 1-.269 0L2.227 5.716l7.17-4.182zM7.365 9.402L8.73 8.61v4.46l-1.5.875V9.473a1.77 1.77 0 0 0 .136-.071zm2.864 2.794V7.741l1.521-.882v4.45l-1.521.887zm3.021-1.762l1.115-.65h.002a.268.268 0 0 0 .133-.232V5.264l-1.25.725v4.445zm-11.621 1.12l4.1 2.393V9.474a1.77 1.77 0 0 1-.138-.072L1.5 7.029v4.298c0 .095.05.181.129.227z"
/>
</svg>
</div>
);
export const IconWebsite = (size = 32) => (
<svg width={size} height={size} viewBox="0 0 24 24">
<g fill="none" stroke="currentColor" strokeWidth="1.5">
<path
strokeLinecap="round"
strokeLinejoin="round"
d="M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12s4.477 10 10 10"
/>
<path
strokeLinecap="round"
strokeLinejoin="round"
d="M13 2.05S16 6 16 12m-5 9.95S8 18 8 12c0-6 3-9.95 3-9.95M2.63 15.5H12m-9.37-7h18.74"
/>
<path
d="M21.879 17.917c.494.304.463 1.043-.045 1.101l-2.567.291l-1.151 2.312c-.228.459-.933.234-1.05-.334l-1.255-6.116c-.099-.48.333-.782.75-.525l5.318 3.271Z"
clipRule="evenodd"
/>
</g>
</svg>
);

View file

@ -1,31 +1,70 @@
import React from 'react';
import clsx from 'clsx';
import Layout from '@theme/Layout';
import { WoodpeckerPlugin as WoodpeckerPluginType } from '../types';
import { IconContainer, IconVerified, IconWebsite } from './Icons';
export function WoodpeckerPlugin({ plugin }: { plugin: WoodpeckerPluginType }) {
return (
<Layout
title="Woodpecker CI plugins"
description="List of Woodpecker-CI plugins"
>
<main className={clsx("container margin-vert--lg")}>
<Layout title="Woodpecker CI plugins" description="List of Woodpecker-CI plugins">
<main className="container margin-vert--lg">
<section>
<div className={clsx("container")}>
<a href="/plugins">&lt;&lt; Back to plugin list</a>
<div className={clsx("row")}>
<div className={clsx("col col--10")}>
<h1>{plugin.name}</h1>
<p>{plugin.description}</p>
<a href={plugin.url} target="_blank" rel="noopener noreferrer">
{plugin.url}
</a>
<div className="container">
<div className="wp-plugin-breadcrumbs">
<a href="/plugins">Plugins</a>
<span> / </span>
<span>{plugin.name}</span>
</div>
<div className="row">
<div className="col col--10">
<div style={{ display: 'flex', alignItems: 'center' }}>
<h1 style={{ marginBottom: 0 }}>{plugin.name}</h1>
{plugin.verified && IconVerified()}
</div>
{plugin.author && <span>by {plugin.author}</span>}
<div style={{ marginTop: '1rem' }}>
{plugin.containerImage && (
<div style={{ display: 'flex', gap: '.5rem', alignItems: 'center' }}>
{IconContainer(20)}
{plugin.containerImageUrl ? (
<a href={plugin.containerImageUrl} target="_blank" rel="noopener noreferrer">
{plugin.containerImage}
</a>
) : (
<span>{plugin.containerImage}</span>
)}
</div>
)}
{plugin.url && (
<a
href={plugin.url}
target="_blank"
rel="noopener noreferrer"
style={{ display: 'flex', gap: '.5rem', alignItems: 'center' }}
>
<div style={{ color: 'var(--ifm-font-color-base)' }}>{IconWebsite(20)}</div> Website
</a>
)}
{plugin.tags && (
<div className="wp-plugin-tags" style={{ marginTop: '.5rem' }}>
{plugin.tags.map((tag, idx) => (
<span className="badge badge--success" key={idx}>
{tag}
</span>
))}
</div>
)}
</div>
<p style={{ marginTop: '2rem', marginBottom: '1rem' }}>{plugin.description}</p>
</div>
<div className={clsx("col col--2")}>
<div className="col col--2">
<img src={plugin.icon} width="150" height="150" />
</div>
</div>
<hr />
<hr style={{ margin: '1rem 0' }} />
<div dangerouslySetInnerHTML={{ __html: plugin.docs }} />
</div>
</section>

View file

@ -1,85 +1,95 @@
import React from 'react';
import clsx from 'clsx';
import React, { useState } from 'react';
import Fuse from 'fuse.js';
import Layout from '@theme/Layout';
import './style.css';
import { WoodpeckerPlugin } from '../types';
import { IconVerified } from './Icons';
function PluginPanel({ plugin }: { plugin: WoodpeckerPlugin }) {
const pluginUrl = `/plugins/${plugin.repoName}`;
const pluginUrl = `/plugins/${plugin.name}`;
return (
<div className={clsx('col col--6')}>
<div className={clsx('card margin-horiz--sm margin-vert--md ')}>
<div className={clsx('card__header row')}>
<div className={clsx('col col--8')}>
<a href={pluginUrl}>
<h3>{plugin.name}</h3>
</a>
<p>{plugin.description}</p>
</div>
<a href={pluginUrl} className={clsx('col col--4 text--right')}>
<img src={plugin.icon} width="100" height="100" />
</a>
<a href={pluginUrl} className="card shadow--md wp-plugin-card">
<div className="card__header row">
<div className="col col--2 text--left">
<img src={plugin.icon} width="50" height="50" />
</div>
<div className={clsx('card__footer')}>
<a href={pluginUrl} className={clsx('button button--secondary button--outline button--block ')}>
Open {plugin.name}
</a>
<div className="col col--10">
<h3>{plugin.name}</h3>
<p>{plugin.description}</p>
{plugin.tags && (
<div className="wp-plugin-tags">
{plugin.tags.map((tag, idx) => (
<span className="badge badge--success" key={idx}>
{tag}
</span>
))}
</div>
)}
</div>
</div>
</div>
{plugin.verified && <div className="wp-plugin-verified">{IconVerified()}</div>}
</a>
);
}
export function WoodpeckerPluginList({ plugins }: { plugins: WoodpeckerPlugin[] }) {
const applyForIndexUrl =
'https://github.com/woodpecker-ci/woodpecker/issues/new?labels=plugin&template=plugin_index.yml';
'https://github.com/woodpecker-ci/woodpecker/edit/master/docs/plugins/woodpecker-plugins/plugins.json';
const NewPluginPanel = () => (
<a href={applyForIndexUrl} target="_blank" rel="noopener noreferrer" className="card shadow--md wp-plugin-card">
<div className="card__header row">
<div className="col col--2">
<svg width="50" height="50" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M88.2357 38.0952H61.9048V11.7643C61.9048 5.29524 56.4714 0 50 0C43.5286 0 38.0952 5.29524 38.0952 11.7643V38.0952H11.7643C5.29524 38.0952 0 43.5286 0 50C0 56.4714 5.29524 61.9048 11.7643 61.9048H38.0952V88.2357C38.0952 94.7048 43.5286 100 50 100C56.4714 100 61.9048 94.7048 61.9048 88.2357V61.9048H88.2357C94.7048 61.9048 100 56.4714 100 50C100 43.5286 94.7048 38.0952 88.2357 38.0952Z"
fill="#4CAF50"
/>
</svg>
</div>
<div className="col col--10">
<h3>Add your own plugin</h3>
<p>You can simply add your own plugin to this index.</p>
</div>
</div>
</a>
);
const fuse = new Fuse(plugins, {
keys: ['name', 'description'],
threshold: 0.3,
});
const [query, setQuery] = useState('');
const searchedPlugins = query.length >= 1 ? fuse.search(query) : plugins.map((p) => ({ item: p }));
return (
<Layout title="Woodpecker CI plugins" description="List of all Woodpecker-CI plugins">
<main className="container margin-vert--lg">
<section>
<div className="container">
<div className="row">
{plugins.map((plugin, idx) => (
<PluginPanel key={idx} plugin={plugin} />
<div style={{ display: 'flex', flexFlow: 'column', alignItems: 'center' }}>
<h1>Woodpecker CI plugins</h1>
<p>This list contains plugins which you can use to easily execute usual pipeline tasks.</p>
<a href={applyForIndexUrl} target="_blank" rel="noopener noreferrer" className="button button--primary">
🎉 Add your plugin
</a>
</div>
<div className="container" style={{ display: 'flex', flexFlow: 'column', marginTop: '4rem' }}>
<input
type="search"
autoComplete="off"
value={query}
onChange={(event) => setQuery(event.currentTarget.value)}
placeholder="Search for a plugin ..."
className="wp-plugin-search"
/>
<div className="wp-plugins-list">
{/* {query.length == 0 && <NewPluginPanel />} */}
{searchedPlugins.map((plugin, idx) => (
<PluginPanel key={idx} plugin={plugin.item} />
))}
{/* <div className={clsx('col col--6')}>
<div className={clsx('card margin-horiz--sm margin-vert--md ')}>
<div className={clsx('card__header row')}>
<div className={clsx('col col--8')}>
<a href={applyForIndexUrl}>
<h3>Add your own plugin</h3>
</a>
<p>You can simply add your own plugin to this index.</p>
</div>
<a
href={applyForIndexUrl}
target="_blank"
rel="noopener noreferrer"
className={clsx('col col--4 text--right')}
>
<svg
width="100"
height="100"
viewBox="0 0 100 100"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M88.2357 38.0952H61.9048V11.7643C61.9048 5.29524 56.4714 0 50 0C43.5286 0 38.0952 5.29524 38.0952 11.7643V38.0952H11.7643C5.29524 38.0952 0 43.5286 0 50C0 56.4714 5.29524 61.9048 11.7643 61.9048H38.0952V88.2357C38.0952 94.7048 43.5286 100 50 100C56.4714 100 61.9048 94.7048 61.9048 88.2357V61.9048H88.2357C94.7048 61.9048 100 56.4714 100 50C100 43.5286 94.7048 38.0952 88.2357 38.0952Z"
fill="#4CAF50"
/>
</svg>
</a>
</div>
<div className={clsx('card__footer')}>
<a
href={applyForIndexUrl}
className={clsx('button button--secondary button--outline button--block ')}
>
Add your own plugin
</a>
</div>
</div>
</div> */}
</div>
</div>
</section>

View file

@ -0,0 +1,64 @@
.wp-plugins-list {
display: grid;
grid-template-columns: auto auto;
grid-gap: 2rem;
margin-top: 2rem;
}
.wp-plugin-card {
display: flex;
position: relative;
max-width: 32rem;
color: var(--ifm-navbar-link-color);
text-decoration: none;
padding: .5rem 0 1rem;
flex-grow: 1;
}
.wp-plugin-card:hover {
color: var(--ifm-navbar-link-color);
text-decoration: none;
}
.wp-plugin-card:hover h3 {
color: var(--ifm-link-color);
text-decoration: underline;
}
.wp-plugin-card h3 {
color: var(--ifm-link-color);
}
.wp-plugin-verified {
position: absolute;
top: .75rem;
right: 1rem;
color: #0369a1;
}
.wp-plugin-tags {
display: flex;
gap: .5rem;
}
.wp-plugin-search {
width: 100%;
max-width: 32rem;
margin: 0 auto;
padding: 1rem 1rem 1rem 2.25rem;
font-size: 1.1rem;
appearance: none;
background: var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat 0.75rem 1rem / 1.1rem 1.1rem;
border-radius: .5rem;
border: 1px solid var(--ifm-card-background-color);
color: var(--ifm-navbar-search-input-color);
}
.wp-plugin-search::placeholder {
color: var(--ifm-navbar-search-input-color);
}
.wp-plugin-breadcrumbs {
margin-bottom: 2rem;
}

View file

@ -1,16 +1,25 @@
export type WoodpeckerPluginHeader = {
name?: string;
description?: string;
icon?: string;
name?: string; // name of the plugin
description?: string; // short description of the plugin
url?: string; // url of the plugin normally link to forge
tags?: string[]; // tags to categorize the plugin
author?: string; // author of the plugin
icon?: string; // url pointing to an icon
containerImage?: string; // name of a container image
containerImageUrl?: string; // url to a container image registry
};
export type WoodpeckerPlugin = {
export type WoodpeckerPluginIndexEntry = {
'// todo'?: boolean;
name: string; // name of the plugin
docs: string; // http url to the docs.md file
verified?: boolean; // plugins maintained by trusted parties
};
export type WoodpeckerPlugin = WoodpeckerPluginHeader & {
name: string;
repoName: string;
description: string;
url: string;
icon: string;
docs: string;
docs: string; // body of the docs .md file
verified: boolean; // we set verified to false when not explicitly set
};
export type Content = {

View file

@ -3,11 +3,21 @@
"include": ["src", "types"],
"exclude": ["node_modules", "**/__tests__/**/*", "**/dist/**/*", "src/theme"],
"compilerOptions": {
"rootDir": "./src",
"baseUrl": ".",
"declaration": false,
"declarationMap": false,
"esModuleInterop": true,
"importHelpers": true,
"moduleResolution": "Node16",
"resolveJsonModule": true,
"skipLibCheck": true,
"noEmit": false,
"sourceMap": false,
"strict": true,
"module": "CommonJS",
"target": "ES6",
"outDir": "dist",
"baseUrl": ".",
"rootDir": "src",
"pretty": true,
"outDir": "./dist"
"noEmit": false
}
}

View file

@ -8,6 +8,7 @@
"esModuleInterop": true,
"isolatedModules": true,
"module": "esnext",
"jsx": "preserve"
"jsx": "preserve",
"strict": false
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,10 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22">
<style>
@media (prefers-color-scheme: dark) {
path {
fill: white;
}
}
</style>
<path d="M1.263 2.744C2.41 3.832 2.845 4.932 4.118 5.08l.036.007c-.588.606-1.09 1.402-1.443 2.423-.38 1.096-.488 2.285-.614 3.659-.19 2.046-.401 4.364-1.556 7.269-2.486 6.258-1.12 11.63.332 17.317.664 2.604 1.348 5.297 1.642 8.107a.857.857 0 00.633.744.86.86 0 00.922-.323c.227-.313.524-.797.86-1.424.84 3.323 1.355 6.13 1.783 8.697a.866.866 0 001.517.41c2.88-3.463 3.763-8.636 2.184-12.674.459-2.433 1.402-4.45 2.398-6.583.536-1.15 1.08-2.318 1.55-3.566.228-.084.569-.314.79-.441l1.707-.981-.256 1.052a.864.864 0 001.678.408l.68-2.858 1.285-2.95a.863.863 0 10-1.581-.687l-1.152 2.669-2.383 1.372a18.97 18.97 0 00.508-2.981c.432-4.86-.718-9.074-3.066-11.266-.163-.157-.208-.281-.247-.26.095-.12.249-.26.358-.374 2.283-1.693 6.047-.147 8.319.75.589.232.876-.337.316-.67-1.95-1.153-5.948-4.196-8.188-6.193-.313-.275-.527-.607-.89-.913C9.825.555 4.072 3.057 1.355 2.569c-.102-.018-.166.103-.092.175m10.98 5.899c-.06 1.242-.603 1.8-1 2.208-.217.224-.426.436-.524.738-.236.714.008 1.51.66 2.143 1.974 1.84 2.925 5.527 2.538 9.86-.291 3.288-1.448 5.763-2.671 8.385-1.031 2.207-2.096 4.489-2.577 7.259a.853.853 0 00.056.48c1.02 2.434 1.135 6.197-.672 9.46a96.586 96.586 0 00-1.97-8.711c1.964-4.488 4.203-11.75 2.919-17.668-.325-1.497-1.304-3.276-2.387-4.207-.208-.18-.402-.237-.495-.167-.084.06-.151.238-.062.444.55 1.266.879 2.599 1.226 4.276 1.125 5.443-.956 12.49-2.835 16.782l-.116.259-.457.982c-.356-2.014-.85-3.95-1.33-5.84-1.38-5.406-2.68-10.515-.401-16.254 1.247-3.137 1.483-5.692 1.672-7.746.116-1.263.216-2.355.526-3.252.905-2.605 3.062-3.178 4.744-2.852 1.632.316 3.24 1.593 3.156 3.42zm-2.868.62a1.177 1.177 0 10.736-2.236 1.178 1.178 0 10-.736 2.237z" />
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22"><path d="M1.263 2.744C2.41 3.832 2.845 4.932 4.118 5.08l.036.007c-.588.606-1.09 1.402-1.443 2.423-.38 1.096-.488 2.285-.614 3.659-.19 2.046-.401 4.364-1.556 7.269-2.486 6.258-1.12 11.63.332 17.317.664 2.604 1.348 5.297 1.642 8.107a.857.857 0 00.633.744.86.86 0 00.922-.323c.227-.313.524-.797.86-1.424.84 3.323 1.355 6.13 1.783 8.697a.866.866 0 001.517.41c2.88-3.463 3.763-8.636 2.184-12.674.459-2.433 1.402-4.45 2.398-6.583.536-1.15 1.08-2.318 1.55-3.566.228-.084.569-.314.79-.441l1.707-.981-.256 1.052a.864.864 0 001.678.408l.68-2.858 1.285-2.95a.863.863 0 10-1.581-.687l-1.152 2.669-2.383 1.372a18.97 18.97 0 00.508-2.981c.432-4.86-.718-9.074-3.066-11.266-.163-.157-.208-.281-.247-.26.095-.12.249-.26.358-.374 2.283-1.693 6.047-.147 8.319.75.589.232.876-.337.316-.67-1.95-1.153-5.948-4.196-8.188-6.193-.313-.275-.527-.607-.89-.913C9.825.555 4.072 3.057 1.355 2.569c-.102-.018-.166.103-.092.175m10.98 5.899c-.06 1.242-.603 1.8-1 2.208-.217.224-.426.436-.524.738-.236.714.008 1.51.66 2.143 1.974 1.84 2.925 5.527 2.538 9.86-.291 3.288-1.448 5.763-2.671 8.385-1.031 2.207-2.096 4.489-2.577 7.259a.853.853 0 00.056.48c1.02 2.434 1.135 6.197-.672 9.46a96.586 96.586 0 00-1.97-8.711c1.964-4.488 4.203-11.75 2.919-17.668-.325-1.497-1.304-3.276-2.387-4.207-.208-.18-.402-.237-.495-.167-.084.06-.151.238-.062.444.55 1.266.879 2.599 1.226 4.276 1.125 5.443-.956 12.49-2.835 16.782l-.116.259-.457.982c-.356-2.014-.85-3.95-1.33-5.84-1.38-5.406-2.68-10.515-.401-16.254 1.247-3.137 1.483-5.692 1.672-7.746.116-1.263.216-2.355.526-3.252.905-2.605 3.062-3.178 4.744-2.852 1.632.316 3.24 1.593 3.156 3.42zm-2.868.62a1.177 1.177 0 10.736-2.236 1.178 1.178 0 10-.736 2.237z" fill="white" /></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -1 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22"><path d="M1.263 2.744C2.41 3.832 2.845 4.932 4.118 5.08l.036.007c-.588.606-1.09 1.402-1.443 2.423-.38 1.096-.488 2.285-.614 3.659-.19 2.046-.401 4.364-1.556 7.269-2.486 6.258-1.12 11.63.332 17.317.664 2.604 1.348 5.297 1.642 8.107a.857.857 0 00.633.744.86.86 0 00.922-.323c.227-.313.524-.797.86-1.424.84 3.323 1.355 6.13 1.783 8.697a.866.866 0 001.517.41c2.88-3.463 3.763-8.636 2.184-12.674.459-2.433 1.402-4.45 2.398-6.583.536-1.15 1.08-2.318 1.55-3.566.228-.084.569-.314.79-.441l1.707-.981-.256 1.052a.864.864 0 001.678.408l.68-2.858 1.285-2.95a.863.863 0 10-1.581-.687l-1.152 2.669-2.383 1.372a18.97 18.97 0 00.508-2.981c.432-4.86-.718-9.074-3.066-11.266-.163-.157-.208-.281-.247-.26.095-.12.249-.26.358-.374 2.283-1.693 6.047-.147 8.319.75.589.232.876-.337.316-.67-1.95-1.153-5.948-4.196-8.188-6.193-.313-.275-.527-.607-.89-.913C9.825.555 4.072 3.057 1.355 2.569c-.102-.018-.166.103-.092.175m10.98 5.899c-.06 1.242-.603 1.8-1 2.208-.217.224-.426.436-.524.738-.236.714.008 1.51.66 2.143 1.974 1.84 2.925 5.527 2.538 9.86-.291 3.288-1.448 5.763-2.671 8.385-1.031 2.207-2.096 4.489-2.577 7.259a.853.853 0 00.056.48c1.02 2.434 1.135 6.197-.672 9.46a96.586 96.586 0 00-1.97-8.711c1.964-4.488 4.203-11.75 2.919-17.668-.325-1.497-1.304-3.276-2.387-4.207-.208-.18-.402-.237-.495-.167-.084.06-.151.238-.062.444.55 1.266.879 2.599 1.226 4.276 1.125 5.443-.956 12.49-2.835 16.782l-.116.259-.457.982c-.356-2.014-.85-3.95-1.33-5.84-1.38-5.406-2.68-10.515-.401-16.254 1.247-3.137 1.483-5.692 1.672-7.746.116-1.263.216-2.355.526-3.252.905-2.605 3.062-3.178 4.744-2.852 1.632.316 3.24 1.593 3.156 3.42zm-2.868.62a1.177 1.177 0 10.736-2.236 1.178 1.178 0 10-.736 2.237z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22">
<style>
@media (prefers-color-scheme: dark) {
path {
fill: white;
}
}
</style>
<path d="M1.263 2.744C2.41 3.832 2.845 4.932 4.118 5.08l.036.007c-.588.606-1.09 1.402-1.443 2.423-.38 1.096-.488 2.285-.614 3.659-.19 2.046-.401 4.364-1.556 7.269-2.486 6.258-1.12 11.63.332 17.317.664 2.604 1.348 5.297 1.642 8.107a.857.857 0 00.633.744.86.86 0 00.922-.323c.227-.313.524-.797.86-1.424.84 3.323 1.355 6.13 1.783 8.697a.866.866 0 001.517.41c2.88-3.463 3.763-8.636 2.184-12.674.459-2.433 1.402-4.45 2.398-6.583.536-1.15 1.08-2.318 1.55-3.566.228-.084.569-.314.79-.441l1.707-.981-.256 1.052a.864.864 0 001.678.408l.68-2.858 1.285-2.95a.863.863 0 10-1.581-.687l-1.152 2.669-2.383 1.372a18.97 18.97 0 00.508-2.981c.432-4.86-.718-9.074-3.066-11.266-.163-.157-.208-.281-.247-.26.095-.12.249-.26.358-.374 2.283-1.693 6.047-.147 8.319.75.589.232.876-.337.316-.67-1.95-1.153-5.948-4.196-8.188-6.193-.313-.275-.527-.607-.89-.913C9.825.555 4.072 3.057 1.355 2.569c-.102-.018-.166.103-.092.175m10.98 5.899c-.06 1.242-.603 1.8-1 2.208-.217.224-.426.436-.524.738-.236.714.008 1.51.66 2.143 1.974 1.84 2.925 5.527 2.538 9.86-.291 3.288-1.448 5.763-2.671 8.385-1.031 2.207-2.096 4.489-2.577 7.259a.853.853 0 00.056.48c1.02 2.434 1.135 6.197-.672 9.46a96.586 96.586 0 00-1.97-8.711c1.964-4.488 4.203-11.75 2.919-17.668-.325-1.497-1.304-3.276-2.387-4.207-.208-.18-.402-.237-.495-.167-.084.06-.151.238-.062.444.55 1.266.879 2.599 1.226 4.276 1.125 5.443-.956 12.49-2.835 16.782l-.116.259-.457.982c-.356-2.014-.85-3.95-1.33-5.84-1.38-5.406-2.68-10.515-.401-16.254 1.247-3.137 1.483-5.692 1.672-7.746.116-1.263.216-2.355.526-3.252.905-2.605 3.062-3.178 4.744-2.852 1.632.316 3.24 1.593 3.156 3.42zm-2.868.62a1.177 1.177 0 10.736-2.236 1.178 1.178 0 10-.736 2.237z" />
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -2581,7 +2581,7 @@
"@docsearch/css" "3.2.0"
algoliasearch "^4.0.0"
"@docusaurus/core@2.0.1", "@docusaurus/core@^2.0.1":
"@docusaurus/core@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.0.1.tgz#a2b0d653e8f18eacddda4778a46b638dd1f0f45c"
integrity sha512-Prd46TtZdiixlTl8a+h9bI5HegkfREjSNkrX2rVEwJZeziSz4ya+l7QDnbnCB2XbxEG8cveFo/F9q5lixolDtQ==
@ -2658,6 +2658,83 @@
webpack-merge "^5.8.0"
webpackbar "^5.0.2"
"@docusaurus/core@2.1.0", "@docusaurus/core@^2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.1.0.tgz#4aedc306f4c4cd2e0491b641bf78941d4b480ab6"
integrity sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q==
dependencies:
"@babel/core" "^7.18.6"
"@babel/generator" "^7.18.7"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-transform-runtime" "^7.18.6"
"@babel/preset-env" "^7.18.6"
"@babel/preset-react" "^7.18.6"
"@babel/preset-typescript" "^7.18.6"
"@babel/runtime" "^7.18.6"
"@babel/runtime-corejs3" "^7.18.6"
"@babel/traverse" "^7.18.8"
"@docusaurus/cssnano-preset" "2.1.0"
"@docusaurus/logger" "2.1.0"
"@docusaurus/mdx-loader" "2.1.0"
"@docusaurus/react-loadable" "5.5.2"
"@docusaurus/utils" "2.1.0"
"@docusaurus/utils-common" "2.1.0"
"@docusaurus/utils-validation" "2.1.0"
"@slorber/static-site-generator-webpack-plugin" "^4.0.7"
"@svgr/webpack" "^6.2.1"
autoprefixer "^10.4.7"
babel-loader "^8.2.5"
babel-plugin-dynamic-import-node "^2.3.3"
boxen "^6.2.1"
chalk "^4.1.2"
chokidar "^3.5.3"
clean-css "^5.3.0"
cli-table3 "^0.6.2"
combine-promises "^1.1.0"
commander "^5.1.0"
copy-webpack-plugin "^11.0.0"
core-js "^3.23.3"
css-loader "^6.7.1"
css-minimizer-webpack-plugin "^4.0.0"
cssnano "^5.1.12"
del "^6.1.1"
detect-port "^1.3.0"
escape-html "^1.0.3"
eta "^1.12.3"
file-loader "^6.2.0"
fs-extra "^10.1.0"
html-minifier-terser "^6.1.0"
html-tags "^3.2.0"
html-webpack-plugin "^5.5.0"
import-fresh "^3.3.0"
leven "^3.1.0"
lodash "^4.17.21"
mini-css-extract-plugin "^2.6.1"
postcss "^8.4.14"
postcss-loader "^7.0.0"
prompts "^2.4.2"
react-dev-utils "^12.0.1"
react-helmet-async "^1.3.0"
react-loadable "npm:@docusaurus/react-loadable@5.5.2"
react-loadable-ssr-addon-v5-slorber "^1.0.1"
react-router "^5.3.3"
react-router-config "^5.1.1"
react-router-dom "^5.3.3"
rtl-detect "^1.0.4"
semver "^7.3.7"
serve-handler "^6.1.3"
shelljs "^0.8.5"
terser-webpack-plugin "^5.3.3"
tslib "^2.4.0"
update-notifier "^5.1.0"
url-loader "^4.1.1"
wait-on "^6.0.1"
webpack "^5.73.0"
webpack-bundle-analyzer "^4.5.0"
webpack-dev-server "^4.9.3"
webpack-merge "^5.8.0"
webpackbar "^5.0.2"
"@docusaurus/cssnano-preset@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.1.tgz#4d0c49338cf3aa88c5bd7cffbf77654db8e1e3b2"
@ -2668,6 +2745,16 @@
postcss-sort-media-queries "^4.2.1"
tslib "^2.4.0"
"@docusaurus/cssnano-preset@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz#5b42107769b7cbc61655496090bc262d7788d6ab"
integrity sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ==
dependencies:
cssnano-preset-advanced "^5.3.8"
postcss "^8.4.14"
postcss-sort-media-queries "^4.2.1"
tslib "^2.4.0"
"@docusaurus/logger@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.0.1.tgz#78a940a333d2f654fd9dea24db2c962034d4b1ff"
@ -2676,6 +2763,14 @@
chalk "^4.1.2"
tslib "^2.4.0"
"@docusaurus/logger@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.1.0.tgz#86c97e948f578814d3e61fc2b2ad283043cbe87a"
integrity sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q==
dependencies:
chalk "^4.1.2"
tslib "^2.4.0"
"@docusaurus/mdx-loader@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.0.1.tgz#cc73690ca5d356687d9e75740560b4159cd5cdb5"
@ -2699,6 +2794,29 @@
url-loader "^4.1.1"
webpack "^5.73.0"
"@docusaurus/mdx-loader@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz#3fca9576cc73a22f8e7d9941985590b9e47a8526"
integrity sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg==
dependencies:
"@babel/parser" "^7.18.8"
"@babel/traverse" "^7.18.8"
"@docusaurus/logger" "2.1.0"
"@docusaurus/utils" "2.1.0"
"@mdx-js/mdx" "^1.6.22"
escape-html "^1.0.3"
file-loader "^6.2.0"
fs-extra "^10.1.0"
image-size "^1.0.1"
mdast-util-to-string "^2.0.0"
remark-emoji "^2.2.0"
stringify-object "^3.3.0"
tslib "^2.4.0"
unified "^9.2.2"
unist-util-visit "^2.0.3"
url-loader "^4.1.1"
webpack "^5.73.0"
"@docusaurus/module-type-aliases@2.0.1", "@docusaurus/module-type-aliases@^2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-2.0.1.tgz#44d7132297bedae0890695b0e7ebbe14a73e26d1"
@ -2713,18 +2831,32 @@
react-helmet-async "*"
react-loadable "npm:@docusaurus/react-loadable@5.5.2"
"@docusaurus/plugin-content-blog@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.1.tgz#a37065e18ffd26e022ffb16a21ff28199140729e"
integrity sha512-/4ua3iFYcpwgpeYgHnhVGROB/ybnauLH2+rICb4vz/+Gn1hjAmGXVYq1fk8g49zGs3uxx5nc0H5bL9P0g977IQ==
"@docusaurus/module-type-aliases@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz#322f8fd5b436af2154c0dddfa173435730e66261"
integrity sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ==
dependencies:
"@docusaurus/core" "2.0.1"
"@docusaurus/logger" "2.0.1"
"@docusaurus/mdx-loader" "2.0.1"
"@docusaurus/types" "2.0.1"
"@docusaurus/utils" "2.0.1"
"@docusaurus/utils-common" "2.0.1"
"@docusaurus/utils-validation" "2.0.1"
"@docusaurus/react-loadable" "5.5.2"
"@docusaurus/types" "2.1.0"
"@types/history" "^4.7.11"
"@types/react" "*"
"@types/react-router-config" "*"
"@types/react-router-dom" "*"
react-helmet-async "*"
react-loadable "npm:@docusaurus/react-loadable@5.5.2"
"@docusaurus/plugin-content-blog@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz#32b1a7cd4b0026f4a76fce4edc5cfdd0edb1ec42"
integrity sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg==
dependencies:
"@docusaurus/core" "2.1.0"
"@docusaurus/logger" "2.1.0"
"@docusaurus/mdx-loader" "2.1.0"
"@docusaurus/types" "2.1.0"
"@docusaurus/utils" "2.1.0"
"@docusaurus/utils-common" "2.1.0"
"@docusaurus/utils-validation" "2.1.0"
cheerio "^1.0.0-rc.12"
feed "^4.2.2"
fs-extra "^10.1.0"
@ -2735,7 +2867,29 @@
utility-types "^3.10.0"
webpack "^5.73.0"
"@docusaurus/plugin-content-docs@2.0.1", "@docusaurus/plugin-content-docs@^2.0.0-rc.1":
"@docusaurus/plugin-content-docs@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz#3fcdf258c13dde27268ce7108a102b74ca4c279b"
integrity sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q==
dependencies:
"@docusaurus/core" "2.1.0"
"@docusaurus/logger" "2.1.0"
"@docusaurus/mdx-loader" "2.1.0"
"@docusaurus/module-type-aliases" "2.1.0"
"@docusaurus/types" "2.1.0"
"@docusaurus/utils" "2.1.0"
"@docusaurus/utils-validation" "2.1.0"
"@types/react-router-config" "^5.0.6"
combine-promises "^1.1.0"
fs-extra "^10.1.0"
import-fresh "^3.3.0"
js-yaml "^4.1.0"
lodash "^4.17.21"
tslib "^2.4.0"
utility-types "^3.10.0"
webpack "^5.73.0"
"@docusaurus/plugin-content-docs@^2.0.0-rc.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.1.tgz#4059591b4bff617e744e856ca680674b27c0b98a"
integrity sha512-2qeBWRy1EjgnXdwAO6/csDIS1UVNmhmtk/bQ2s9jqjpwM8YVgZ8QVdkxFAMWXgZWDQdwWwdP1rnmoEelE4HknQ==
@ -2757,84 +2911,84 @@
utility-types "^3.10.0"
webpack "^5.73.0"
"@docusaurus/plugin-content-pages@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.1.tgz#013f2e66f80d19b5c95a2d941d67c7cdb67b7191"
integrity sha512-6apSVeJENnNecAH5cm5VnRqR103M6qSI6IuiP7tVfD5H4AWrfDNkvJQV2+R2PIq3bGrwmX4fcXl1x4g0oo7iwA==
"@docusaurus/plugin-content-pages@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz#714d24f71d49dbfed888f50c15e975c2154c3ce8"
integrity sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g==
dependencies:
"@docusaurus/core" "2.0.1"
"@docusaurus/mdx-loader" "2.0.1"
"@docusaurus/types" "2.0.1"
"@docusaurus/utils" "2.0.1"
"@docusaurus/utils-validation" "2.0.1"
"@docusaurus/core" "2.1.0"
"@docusaurus/mdx-loader" "2.1.0"
"@docusaurus/types" "2.1.0"
"@docusaurus/utils" "2.1.0"
"@docusaurus/utils-validation" "2.1.0"
fs-extra "^10.1.0"
tslib "^2.4.0"
webpack "^5.73.0"
"@docusaurus/plugin-debug@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.0.1.tgz#2b2a473f8e01fd356e32236f753665b48209bcd4"
integrity sha512-jpZBT5HK7SWx1LRQyv9d14i44vSsKXGZsSPA2ndth5HykHJsiAj9Fwl1AtzmtGYuBmI+iXQyOd4MAMHd4ZZ1tg==
"@docusaurus/plugin-debug@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz#b3145affb40e25cf342174638952a5928ddaf7dc"
integrity sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw==
dependencies:
"@docusaurus/core" "2.0.1"
"@docusaurus/types" "2.0.1"
"@docusaurus/utils" "2.0.1"
"@docusaurus/core" "2.1.0"
"@docusaurus/types" "2.1.0"
"@docusaurus/utils" "2.1.0"
fs-extra "^10.1.0"
react-json-view "^1.21.3"
tslib "^2.4.0"
"@docusaurus/plugin-google-analytics@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.1.tgz#e3b84237aad2e94dcd1cf1810c1c9bc3d94f186d"
integrity sha512-d5qb+ZeQcg1Czoxc+RacETjLdp2sN/TAd7PGN/GrvtijCdgNmvVAtZ9QgajBTG0YbJFVPTeZ39ad2bpoOexX0w==
"@docusaurus/plugin-google-analytics@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz#c9a7269817b38e43484d38fad9996e39aac4196c"
integrity sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg==
dependencies:
"@docusaurus/core" "2.0.1"
"@docusaurus/types" "2.0.1"
"@docusaurus/utils-validation" "2.0.1"
"@docusaurus/core" "2.1.0"
"@docusaurus/types" "2.1.0"
"@docusaurus/utils-validation" "2.1.0"
tslib "^2.4.0"
"@docusaurus/plugin-google-gtag@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.1.tgz#4cbcf9d520f7ec8124679fbe00867f2299a2f6bb"
integrity sha512-qiRufJe2FvIyzICbkjm4VbVCI1hyEju/CebfDKkKh2ZtV4q6DM1WZG7D6VoQSXL8MrMFB895gipOM4BwdM8VsQ==
"@docusaurus/plugin-google-gtag@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz#e4f351dcd98b933538d55bb742650a2a36ca9a32"
integrity sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA==
dependencies:
"@docusaurus/core" "2.0.1"
"@docusaurus/types" "2.0.1"
"@docusaurus/utils-validation" "2.0.1"
"@docusaurus/core" "2.1.0"
"@docusaurus/types" "2.1.0"
"@docusaurus/utils-validation" "2.1.0"
tslib "^2.4.0"
"@docusaurus/plugin-sitemap@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.1.tgz#6f8edb82b745b040d6b1495e2798396f63e50289"
integrity sha512-KcYuIUIp2JPzUf+Xa7W2BSsjLgN1/0h+VAz7D/C3RYjAgC5ApPX8wO+TECmGfunl/m7WKGUmLabfOon/as64kQ==
"@docusaurus/plugin-sitemap@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz#b316bb9a42a1717845e26bd4e2d3071748a54b47"
integrity sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw==
dependencies:
"@docusaurus/core" "2.0.1"
"@docusaurus/logger" "2.0.1"
"@docusaurus/types" "2.0.1"
"@docusaurus/utils" "2.0.1"
"@docusaurus/utils-common" "2.0.1"
"@docusaurus/utils-validation" "2.0.1"
"@docusaurus/core" "2.1.0"
"@docusaurus/logger" "2.1.0"
"@docusaurus/types" "2.1.0"
"@docusaurus/utils" "2.1.0"
"@docusaurus/utils-common" "2.1.0"
"@docusaurus/utils-validation" "2.1.0"
fs-extra "^10.1.0"
sitemap "^7.1.1"
tslib "^2.4.0"
"@docusaurus/preset-classic@^2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.0.1.tgz#21a806e16b61026d2a0efa6ca97e17397065d894"
integrity sha512-nOoniTg46My1qdDlLWeFs55uEmxOJ+9WMF8KKG8KMCu5LAvpemMi7rQd4x8Tw+xiPHZ/sQzH9JmPTMPRE4QGPw==
"@docusaurus/preset-classic@^2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz#45b23c8ec10c96ded9ece128fac3a39b10bcbc56"
integrity sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w==
dependencies:
"@docusaurus/core" "2.0.1"
"@docusaurus/plugin-content-blog" "2.0.1"
"@docusaurus/plugin-content-docs" "2.0.1"
"@docusaurus/plugin-content-pages" "2.0.1"
"@docusaurus/plugin-debug" "2.0.1"
"@docusaurus/plugin-google-analytics" "2.0.1"
"@docusaurus/plugin-google-gtag" "2.0.1"
"@docusaurus/plugin-sitemap" "2.0.1"
"@docusaurus/theme-classic" "2.0.1"
"@docusaurus/theme-common" "2.0.1"
"@docusaurus/theme-search-algolia" "2.0.1"
"@docusaurus/types" "2.0.1"
"@docusaurus/core" "2.1.0"
"@docusaurus/plugin-content-blog" "2.1.0"
"@docusaurus/plugin-content-docs" "2.1.0"
"@docusaurus/plugin-content-pages" "2.1.0"
"@docusaurus/plugin-debug" "2.1.0"
"@docusaurus/plugin-google-analytics" "2.1.0"
"@docusaurus/plugin-google-gtag" "2.1.0"
"@docusaurus/plugin-sitemap" "2.1.0"
"@docusaurus/theme-classic" "2.1.0"
"@docusaurus/theme-common" "2.1.0"
"@docusaurus/theme-search-algolia" "2.1.0"
"@docusaurus/types" "2.1.0"
"@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2":
version "5.5.2"
@ -2844,23 +2998,23 @@
"@types/react" "*"
prop-types "^15.6.2"
"@docusaurus/theme-classic@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.0.1.tgz#043b6fcd2ecb2aecd134419b198c9f519029d5e7"
integrity sha512-0jfigiqkUwIuKOw7Me5tqUM9BBvoQX7qqeevx7v4tkYQexPhk3VYSZo7aRuoJ9oyW5makCTPX551PMJzmq7+sw==
"@docusaurus/theme-classic@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz#d957a907ea8dd035c1cf911d0fbe91d8f24aef3f"
integrity sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng==
dependencies:
"@docusaurus/core" "2.0.1"
"@docusaurus/mdx-loader" "2.0.1"
"@docusaurus/module-type-aliases" "2.0.1"
"@docusaurus/plugin-content-blog" "2.0.1"
"@docusaurus/plugin-content-docs" "2.0.1"
"@docusaurus/plugin-content-pages" "2.0.1"
"@docusaurus/theme-common" "2.0.1"
"@docusaurus/theme-translations" "2.0.1"
"@docusaurus/types" "2.0.1"
"@docusaurus/utils" "2.0.1"
"@docusaurus/utils-common" "2.0.1"
"@docusaurus/utils-validation" "2.0.1"
"@docusaurus/core" "2.1.0"
"@docusaurus/mdx-loader" "2.1.0"
"@docusaurus/module-type-aliases" "2.1.0"
"@docusaurus/plugin-content-blog" "2.1.0"
"@docusaurus/plugin-content-docs" "2.1.0"
"@docusaurus/plugin-content-pages" "2.1.0"
"@docusaurus/theme-common" "2.1.0"
"@docusaurus/theme-translations" "2.1.0"
"@docusaurus/types" "2.1.0"
"@docusaurus/utils" "2.1.0"
"@docusaurus/utils-common" "2.1.0"
"@docusaurus/utils-validation" "2.1.0"
"@mdx-js/react" "^1.6.22"
clsx "^1.2.1"
copy-text-to-clipboard "^3.0.1"
@ -2875,17 +3029,17 @@
tslib "^2.4.0"
utility-types "^3.10.0"
"@docusaurus/theme-common@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.0.1.tgz#9594d58fbef11fe480967b5ce4cdbb3cd78d9ca3"
integrity sha512-I3b6e/ryiTQMsbES40cP0DRGnfr0E2qghVq+XecyMKjBPejISoSFEDn0MsnbW8Q26k1Dh/0qDH8QKDqaZZgLhA==
"@docusaurus/theme-common@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.1.0.tgz#dff4d5d1e29efc06125dc06f7b259f689bb3f24d"
integrity sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag==
dependencies:
"@docusaurus/mdx-loader" "2.0.1"
"@docusaurus/module-type-aliases" "2.0.1"
"@docusaurus/plugin-content-blog" "2.0.1"
"@docusaurus/plugin-content-docs" "2.0.1"
"@docusaurus/plugin-content-pages" "2.0.1"
"@docusaurus/utils" "2.0.1"
"@docusaurus/mdx-loader" "2.1.0"
"@docusaurus/module-type-aliases" "2.1.0"
"@docusaurus/plugin-content-blog" "2.1.0"
"@docusaurus/plugin-content-docs" "2.1.0"
"@docusaurus/plugin-content-pages" "2.1.0"
"@docusaurus/utils" "2.1.0"
"@types/history" "^4.7.11"
"@types/react" "*"
"@types/react-router-config" "*"
@ -2895,19 +3049,19 @@
tslib "^2.4.0"
utility-types "^3.10.0"
"@docusaurus/theme-search-algolia@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.1.tgz#0aab8407b2163f67eb4c48f1de33944e1695fa74"
integrity sha512-cw3NaOSKbYlsY6uNj4PgO+5mwyQ3aEWre5RlmvjStaz2cbD15Nr69VG8Rd/F6Q5VsCT8BvSdkPDdDG5d/ACexg==
"@docusaurus/theme-search-algolia@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz#e7cdf64b6f7a15b07c6dcf652fd308cfdaabb0ee"
integrity sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg==
dependencies:
"@docsearch/react" "^3.1.1"
"@docusaurus/core" "2.0.1"
"@docusaurus/logger" "2.0.1"
"@docusaurus/plugin-content-docs" "2.0.1"
"@docusaurus/theme-common" "2.0.1"
"@docusaurus/theme-translations" "2.0.1"
"@docusaurus/utils" "2.0.1"
"@docusaurus/utils-validation" "2.0.1"
"@docusaurus/core" "2.1.0"
"@docusaurus/logger" "2.1.0"
"@docusaurus/plugin-content-docs" "2.1.0"
"@docusaurus/theme-common" "2.1.0"
"@docusaurus/theme-translations" "2.1.0"
"@docusaurus/utils" "2.1.0"
"@docusaurus/utils-validation" "2.1.0"
algoliasearch "^4.13.1"
algoliasearch-helper "^3.10.0"
clsx "^1.2.1"
@ -2917,7 +3071,15 @@
tslib "^2.4.0"
utility-types "^3.10.0"
"@docusaurus/theme-translations@2.0.1", "@docusaurus/theme-translations@^2.0.0-rc.1":
"@docusaurus/theme-translations@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz#ce9a2955afd49bff364cfdfd4492b226f6dd3b6e"
integrity sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg==
dependencies:
fs-extra "^10.1.0"
tslib "^2.4.0"
"@docusaurus/theme-translations@^2.0.0-rc.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-2.0.1.tgz#955a687c974265a811bfc743d98ef3eab0379100"
integrity sha512-v1MYYlbsdX+rtKnXFcIAn9ar0Z6K0yjqnCYS0p/KLCLrfJwfJ8A3oRJw2HiaIb8jQfk1WMY2h5Qi1p4vHOekQw==
@ -2939,6 +3101,20 @@
webpack "^5.73.0"
webpack-merge "^5.8.0"
"@docusaurus/types@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.1.0.tgz#01e13cd9adb268fffe87b49eb90302d5dc3edd6b"
integrity sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==
dependencies:
"@types/history" "^4.7.11"
"@types/react" "*"
commander "^5.1.0"
joi "^17.6.0"
react-helmet-async "^1.3.0"
utility-types "^3.10.0"
webpack "^5.73.0"
webpack-merge "^5.8.0"
"@docusaurus/utils-common@2.0.1", "@docusaurus/utils-common@^2.0.0-rc.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.0.1.tgz#b6f2b029547f739e1431ec84abd16974edf495e0"
@ -2946,6 +3122,13 @@
dependencies:
tslib "^2.4.0"
"@docusaurus/utils-common@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.1.0.tgz#248434751096f8c6c644ed65eed2a5a070a227f8"
integrity sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg==
dependencies:
tslib "^2.4.0"
"@docusaurus/utils-validation@2.0.1", "@docusaurus/utils-validation@^2.0.0-rc.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.0.1.tgz#69f7d4944288d71f00fdba6dde10f05008f04308"
@ -2957,6 +3140,17 @@
js-yaml "^4.1.0"
tslib "^2.4.0"
"@docusaurus/utils-validation@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz#c8cf1d8454d924d9a564fefa86436268f43308e3"
integrity sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ==
dependencies:
"@docusaurus/logger" "2.1.0"
"@docusaurus/utils" "2.1.0"
joi "^17.6.0"
js-yaml "^4.1.0"
tslib "^2.4.0"
"@docusaurus/utils@2.0.1", "@docusaurus/utils@^2.0.0-rc.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.0.1.tgz#37b4b42e29175e5d2d811fcbf9f93bffeca7c353"
@ -2978,6 +3172,27 @@
url-loader "^4.1.1"
webpack "^5.73.0"
"@docusaurus/utils@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.1.0.tgz#b77b45b22e61eb6c2dcad8a7e96f6db0409b655f"
integrity sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A==
dependencies:
"@docusaurus/logger" "2.1.0"
"@svgr/webpack" "^6.2.1"
file-loader "^6.2.0"
fs-extra "^10.1.0"
github-slugger "^1.4.0"
globby "^11.1.0"
gray-matter "^4.0.3"
js-yaml "^4.1.0"
lodash "^4.17.21"
micromatch "^4.0.5"
resolve-pathname "^3.0.0"
shelljs "^0.8.5"
tslib "^2.4.0"
url-loader "^4.1.1"
webpack "^5.73.0"
"@easyops-cn/autocomplete.js@^0.38.1":
version "0.38.1"
resolved "https://registry.yarnpkg.com/@easyops-cn/autocomplete.js/-/autocomplete.js-0.38.1.tgz#46dff5795a9a032fa9b9250fdf63ca6c61c07629"
@ -2986,10 +3201,10 @@
cssesc "^3.0.0"
immediate "^3.2.3"
"@easyops-cn/docusaurus-search-local@^0.31.0":
version "0.31.0"
resolved "https://registry.yarnpkg.com/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.31.0.tgz#dbf09aa0d7ba63176e54b9e29be9ec2d2dda0340"
integrity sha512-nwh/DW9WC+5DetwxA/H2OhzfNcoIAQM4TD0WkqT+laousfIXhyBtHjJRv4KsX8iOlmTqliq47uSeCwB3fqDNzw==
"@easyops-cn/docusaurus-search-local@^0.32.0":
version "0.32.0"
resolved "https://registry.yarnpkg.com/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.32.0.tgz#125bf88e7d013c6265c87abaa27262991eb31cb1"
integrity sha512-WB5695Rez9q8DbP9h89JyWo0U1Th1vA1R0dytJD/77M7Xxb/pFFwG5SCd0uzHF/ban0bmsTa96MxWYeDXwQzYA==
dependencies:
"@docusaurus/plugin-content-docs" "^2.0.0-rc.1"
"@docusaurus/theme-translations" "^2.0.0-rc.1"
@ -3008,6 +3223,16 @@
mark.js "^8.11.1"
tslib "^2.4.0"
"@esbuild/android-arm@0.15.9":
version "0.15.9"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.9.tgz#7e1221604ab88ed5021ead74fa8cca4405e1e431"
integrity sha512-VZPy/ETF3fBG5PiinIkA0W/tlsvlEgJccyN2DzWZEl0DlVKRbu91PvY2D6Lxgluj4w9QtYHjOWjAT44C+oQ+EQ==
"@esbuild/linux-loong64@0.15.9":
version "0.15.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.9.tgz#b658a97babf1f40783354af7039b84c3fdfc3fc3"
integrity sha512-O+NfmkfRrb3uSsTa4jE3WApidSe3N5++fyOVGP1SmMZi4A3BZELkhUUvj5hwmMuNdlpzAZ8iAPz2vmcR7DCFQA==
"@hapi/hoek@^9.0.0":
version "9.2.0"
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.0.tgz#f3933a44e365864f4dad5db94158106d511e8131"
@ -3687,10 +3912,10 @@
"@types/scheduler" "*"
csstype "^3.0.2"
"@types/react@^18.0.17":
version "18.0.17"
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.17.tgz#4583d9c322d67efe4b39a935d223edcc7050ccf4"
integrity sha512-38ETy4tL+rn4uQQi7mB81G7V1g0u2ryquNmsVIOKUAEIDK+3CUjZ6rSRpdvS99dNBnkLFL83qfmtLacGOTIhwQ==
"@types/react@^18.0.20":
version "18.0.20"
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.20.tgz#e4c36be3a55eb5b456ecf501bd4a00fd4fd0c9ab"
integrity sha512-MWul1teSPxujEHVwZl4a5HxQ9vVNsjTchVA+xRqv/VYGCuKGAU6UhfrTdF5aBefwD1BHUD8i/zq+O/vyCm/FrA==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
@ -5430,6 +5655,146 @@ es-module-lexer@^0.9.0:
resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19"
integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==
esbuild-android-64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.9.tgz#4a7eb320ca8d3a305f14792061fd9614ccebb7c0"
integrity sha512-HQCX7FJn9T4kxZQkhPjNZC7tBWZqJvhlLHPU2SFzrQB/7nDXjmTIFpFTjt7Bd1uFpeXmuwf5h5fZm+x/hLnhbw==
esbuild-android-arm64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.9.tgz#c948e5686df20857ad361ec67e070d40d7cab985"
integrity sha512-E6zbLfqbFVCNEKircSHnPiSTsm3fCRxeIMPfrkS33tFjIAoXtwegQfVZqMGR0FlsvVxp2NEDOUz+WW48COCjSg==
esbuild-darwin-64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.9.tgz#25f564fa4b39c1cec84dc46bce5634fdbce1d5e4"
integrity sha512-gI7dClcDN/HHVacZhTmGjl0/TWZcGuKJ0I7/xDGJwRQQn7aafZGtvagOFNmuOq+OBFPhlPv1T6JElOXb0unkSQ==
esbuild-darwin-arm64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.9.tgz#60faea3ed95d15239536aa88d06bb82b29278a86"
integrity sha512-VZIMlcRN29yg/sv7DsDwN+OeufCcoTNaTl3Vnav7dL/nvsApD7uvhVRbgyMzv0zU/PP0xRhhIpTyc7lxEzHGSw==
esbuild-freebsd-64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.9.tgz#0339ef1c90a919175e7816788224517896657a0e"
integrity sha512-uM4z5bTvuAXqPxrI204txhlsPIolQPWRMLenvGuCPZTnnGlCMF2QLs0Plcm26gcskhxewYo9LkkmYSS5Czrb5A==
esbuild-freebsd-arm64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.9.tgz#32abfc0be3ae3dd38e5a86a9beadbbcf592f1b57"
integrity sha512-HHDjT3O5gWzicGdgJ5yokZVN9K9KG05SnERwl9nBYZaCjcCgj/sX8Ps1jvoFSfNCO04JSsHSOWo4qvxFuj8FoA==
esbuild-linux-32@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.9.tgz#93581348a4da7ed2b29bc5539f2605ad7fcee77b"
integrity sha512-AQIdE8FugGt1DkcekKi5ycI46QZpGJ/wqcMr7w6YUmOmp2ohQ8eO4sKUsOxNOvYL7hGEVwkndSyszR6HpVHLFg==
esbuild-linux-64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.9.tgz#0d171e7946c95d0d3ed4826026af2c5632d7dcc4"
integrity sha512-4RXjae7g6Qs7StZyiYyXTZXBlfODhb1aBVAjd+ANuPmMhWthQilWo7rFHwJwL7DQu1Fjej2sODAVwLbcIVsAYQ==
esbuild-linux-arm64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.9.tgz#9838795a3720cbe736d3bc20621bd366eac22f24"
integrity sha512-a+bTtxJmYmk9d+s2W4/R1SYKDDAldOKmWjWP0BnrWtDbvUBNOm++du0ysPju4mZVoEFgS1yLNW+VXnG/4FNwdQ==
esbuild-linux-arm@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.9.tgz#dce96cd817bc7376f6af3967649c4ab1f2f79506"
integrity sha512-3Zf2GVGUOI7XwChH3qrnTOSqfV1V4CAc/7zLVm4lO6JT6wbJrTgEYCCiNSzziSju+J9Jhf9YGWk/26quWPC6yQ==
esbuild-linux-mips64le@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.9.tgz#0335a0739e61aa97cb9b4a018e3facfcca9cdcfd"
integrity sha512-Zn9HSylDp89y+TRREMDoGrc3Z4Hs5u56ozZLQCiZAUx2+HdbbXbWdjmw3FdTJ/i7t5Cew6/Q+6kfO3KCcFGlyw==
esbuild-linux-ppc64le@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.9.tgz#18482afb95b8a705e2da0a59d7131bff221281f9"
integrity sha512-OEiOxNAMH9ENFYqRsWUj3CWyN3V8P3ZXyfNAtX5rlCEC/ERXrCEFCJji/1F6POzsXAzxvUJrTSTCy7G6BhA6Fw==
esbuild-linux-riscv64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.9.tgz#03b6f9708272c117006b9ce1c9ae8aab91b5a5b6"
integrity sha512-ukm4KsC3QRausEFjzTsOZ/qqazw0YvJsKmfoZZm9QW27OHjk2XKSQGGvx8gIEswft/Sadp03/VZvAaqv5AIwNA==
esbuild-linux-s390x@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.9.tgz#65fb645623d575780f155f0ee52935e62f9cca4f"
integrity sha512-uDOQEH55wQ6ahcIKzQr3VyjGc6Po/xblLGLoUk3fVL1qjlZAibtQr6XRfy5wPJLu/M2o0vQKLq4lyJ2r1tWKcw==
esbuild-loader@^2.20.0:
version "2.20.0"
resolved "https://registry.yarnpkg.com/esbuild-loader/-/esbuild-loader-2.20.0.tgz#28fcff0142fa7bd227512d69f31e9a6e202bb88f"
integrity sha512-dr+j8O4w5RvqZ7I4PPB4EIyVTd679EBQnMm+JBB7av+vu05Zpje2IpK5N3ld1VWa+WxrInIbNFAg093+E1aRsA==
dependencies:
esbuild "^0.15.6"
joycon "^3.0.1"
json5 "^2.2.0"
loader-utils "^2.0.0"
tapable "^2.2.0"
webpack-sources "^2.2.0"
esbuild-netbsd-64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.9.tgz#7894297bb9e11f3d2f6f31efecd1be4e181f0d54"
integrity sha512-yWgxaYTQz+TqX80wXRq6xAtb7GSBAp6gqLKfOdANg9qEmAI1Bxn04IrQr0Mzm4AhxvGKoHzjHjMgXbCCSSDxcw==
esbuild-openbsd-64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.9.tgz#0f9d4c6b6772ae50d491d68ad4cc028300dda7c0"
integrity sha512-JmS18acQl4iSAjrEha1MfEmUMN4FcnnrtTaJ7Qg0tDCOcgpPPQRLGsZqhes0vmx8VA6IqRyScqXvaL7+Q0Uf3A==
esbuild-sunos-64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.9.tgz#c32b7ce574b08f814de810ce7c1e34b843768126"
integrity sha512-UKynGSWpzkPmXW3D2UMOD9BZPIuRaSqphxSCwScfEE05Be3KAmvjsBhht1fLzKpiFVJb0BYMd4jEbWMyJ/z1hQ==
esbuild-windows-32@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.9.tgz#37a8f7cfccdb2177cd46613a1a1e1fcb419d36df"
integrity sha512-aqXvu4/W9XyTVqO/hw3rNxKE1TcZiEYHPsXM9LwYmKSX9/hjvfIJzXwQBlPcJ/QOxedfoMVH0YnhhQ9Ffb0RGA==
esbuild-windows-64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.9.tgz#5fe1e76fc13dd7f520febecaea110b6f1649c7b2"
integrity sha512-zm7h91WUmlS4idMtjvCrEeNhlH7+TNOmqw5dJPJZrgFaxoFyqYG6CKDpdFCQXdyKpD5yvzaQBOMVTCBVKGZDEg==
esbuild-windows-arm64@0.15.9:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.9.tgz#98504428f7ba7d2cfc11940be68ee1139173fdce"
integrity sha512-yQEVIv27oauAtvtuhJVfSNMztJJX47ismRS6Sv2QMVV9RM+6xjbMWuuwM2nxr5A2/gj/mu2z9YlQxiwoFRCfZA==
esbuild@^0.15.6:
version "0.15.9"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.9.tgz#33fb18b67b85004b6f7616bec955ca4b3e58935d"
integrity sha512-OnYr1rkMVxtmMHIAKZLMcEUlJmqcbxBz9QoBU8G9v455na0fuzlT/GLu6l+SRghrk0Mm2fSSciMmzV43Q8e0Gg==
optionalDependencies:
"@esbuild/android-arm" "0.15.9"
"@esbuild/linux-loong64" "0.15.9"
esbuild-android-64 "0.15.9"
esbuild-android-arm64 "0.15.9"
esbuild-darwin-64 "0.15.9"
esbuild-darwin-arm64 "0.15.9"
esbuild-freebsd-64 "0.15.9"
esbuild-freebsd-arm64 "0.15.9"
esbuild-linux-32 "0.15.9"
esbuild-linux-64 "0.15.9"
esbuild-linux-arm "0.15.9"
esbuild-linux-arm64 "0.15.9"
esbuild-linux-mips64le "0.15.9"
esbuild-linux-ppc64le "0.15.9"
esbuild-linux-riscv64 "0.15.9"
esbuild-linux-s390x "0.15.9"
esbuild-netbsd-64 "0.15.9"
esbuild-openbsd-64 "0.15.9"
esbuild-sunos-64 "0.15.9"
esbuild-windows-32 "0.15.9"
esbuild-windows-64 "0.15.9"
esbuild-windows-arm64 "0.15.9"
escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
@ -6649,6 +7014,11 @@ joi@^17.6.0:
"@sideway/formula" "^3.0.0"
"@sideway/pinpoint" "^2.0.0"
joycon@^3.0.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03"
integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@ -6706,7 +7076,7 @@ json5@^2.1.2:
dependencies:
minimist "^1.2.5"
json5@^2.2.1:
json5@^2.2.0, json5@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
@ -8780,6 +9150,11 @@ sort-css-media-queries@2.0.4:
resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.0.4.tgz#b2badfa519cb4a938acbc6d3aaa913d4949dc908"
integrity sha512-PAIsEK/XupCQwitjv7XxoMvYhT7EAfyzI3hsy/MyDgTvc+Ft55ctdkctJLOy6cQejaIC+zjpUL4djFVm2ivOOw==
source-list-map@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
@ -9580,6 +9955,14 @@ webpack-merge@^5.8.0:
clone-deep "^4.0.1"
wildcard "^2.0.0"
webpack-sources@^2.2.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.1.tgz#570de0af163949fe272233c2cefe1b56f74511fd"
integrity sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==
dependencies:
source-list-map "^2.0.1"
source-map "^0.6.1"
webpack-sources@^3.2.2, webpack-sources@^3.2.3:
version "3.2.3"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"