This is an automated email from the ASF dual-hosted git repository.

juzhiyuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 6b851fb86d6 fix: authors' default avatar, footer slack links, CJK 
reading time (#1240)
6b851fb86d6 is described below

commit 6b851fb86d68888bdd4abb81f1554a3dad034d9e
Author: Young <[email protected]>
AuthorDate: Wed Jul 27 14:08:34 2022 +0800

    fix: authors' default avatar, footer slack links, CJK reading time (#1240)
---
 .htaccess                                |   4 +
 blog/en/docusaurus.config.js             |   2 +-
 blog/i18n/zh/code.json                   |   3 +
 blog/package.json                        |   6 +-
 blog/src/theme/BlogPostAuthor/index.tsx  |  26 +-
 blog/src/theme/BlogPostAuthors/index.tsx |  15 +-
 blog/src/theme/BlogPostItem/index.tsx    |  63 ++-
 blog/src/theme/BlogPosts/index.tsx       |   7 +-
 blog/src/theme/Footer/index.tsx          |  48 ++-
 blog/zh/docusaurus.config.js             |   7 +-
 doc/package.json                         |   7 +-
 doc/src/theme/Footer/index.tsx           |  48 ++-
 website/docusaurus.config.js             |  14 +-
 website/package.json                     |   7 +-
 yarn.lock                                | 684 +++++++++++++++++++++++++++++--
 15 files changed, 763 insertions(+), 178 deletions(-)

diff --git a/.htaccess b/.htaccess
index 28584c99e96..d0969c79be0 100644
--- a/.htaccess
+++ b/.htaccess
@@ -44,6 +44,8 @@ Redirect 301 "/blog/2022/02/10/apisix-splunk-integration/" 
"/blog/2022/02/10/spl
 Redirect 301 
"/blog/2021/08/31/Apache%20APISIX%20×%20KubeSphere-a-better-gateway-and-K8S-Ingress-Controller/"
 
"/blog/2021/08/31/apache-apisix-kubeSphere-a-better-gateway-and-k8s-ingress-controller/"
 Redirect 301 "/blog/2021/11/30/use-apisix-ingress-in-kubesphere/httpbin.org/" 
"/blog/2021/11/30/use-apisix-ingress-in-kubesphere/"
 Redirect 301 "/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/" 
"/blog/2021/08/18/auth-with-casbin-in-apache-apisix/"
+Redirect 301 "/docs/general/community/" "/docs/general/join/"
+Redirect 301 "/docs/general/subscribe-guide/" "/docs/general/join/"
 
 Redirect 301 "/zh/docs/apisix/install" "/zh/docs/apisix/how-to-build/"
 Redirect 301 "/zh/docs/apisix/architecture-design/plugin/" 
"/zh/docs/apisix/architecture-design/plugin-config/"
@@ -55,3 +57,5 @@ Redirect 301 "/zh/blog/2022/02/10/apisix-splunk-integration/" 
"/zh/blog/2022/02/
 Redirect 301 
"/zh/blog/2021/08/31/Apache%20APISIX%20×%20KubeSphere-a-better-gateway-and-K8S-Ingress-Controller/"
 
"/zh/blog/2021/08/31/apache-apisix-kubeSphere-a-better-gateway-and-k8s-ingress-controller/"
 Redirect 301 
"/zh/blog/2021/11/30/use-apisix-ingress-in-kubesphere/httpbin.org/" 
"/zh/blog/2021/11/30/use-apisix-ingress-in-kubesphere/"
 Redirect 301 "/zh/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/" 
"/zh/blog/2021/08/18/auth-with-casbin-in-apache-apisix/"
+Redirect 301 "/zh/docs/general/community/" "/zh/docs/general/join/"
+Redirect 301 "/zh/docs/general/subscribe-guide/" "/zh/docs/general/join/"
diff --git a/blog/en/docusaurus.config.js b/blog/en/docusaurus.config.js
index de662259875..a31c0aed2f5 100644
--- a/blog/en/docusaurus.config.js
+++ b/blog/en/docusaurus.config.js
@@ -75,7 +75,7 @@ module.exports = {
     },
     colorMode: {
       defaultMode: 'light',
-      disableSwitch: false,
+      disableSwitch: true,
       respectPrefersColorScheme: false,
     },
     image: 'https://static.apiseven.com/202202/apache-apisix.png',
diff --git a/blog/i18n/zh/code.json b/blog/i18n/zh/code.json
index 8f36fa2380c..fd16a8e39a8 100644
--- a/blog/i18n/zh/code.json
+++ b/blog/i18n/zh/code.json
@@ -333,5 +333,8 @@
   "hero.component.download.btn": {
     "message": "立即体验",
     "description": "Download"
+  },
+  "theme.blog.post.readingTime.plurals": {
+    "message": "阅读需约 {readingTime} 分钟"
   }
 }
diff --git a/blog/package.json b/blog/package.json
index 25adff0505d..20f3c4c4ffe 100644
--- a/blog/package.json
+++ b/blog/package.json
@@ -28,9 +28,8 @@
     "typescript": "^4.4.2"
   },
   "dependencies": {
-    "@docusaurus/core": "2.0.0-beta.6",
-    "@docusaurus/plugin-client-redirects": "2.0.0-beta.6",
-    "@docusaurus/preset-classic": "2.0.0-beta.6",
+    "@docusaurus/core": "2.0.0-beta.8",
+    "@docusaurus/preset-classic": "2.0.0-beta.8",
     "@iconify/icons-akar-icons": "^1.2.8",
     "@iconify/react": "^3.2.2",
     "@use-gesture/react": "^10.2.16",
@@ -50,6 +49,7 @@
     "react-spring": "^9.4.5",
     "react-transition-group": "^4.4.1",
     "react-use": "^17.4.0",
+    "reading-time": "^1.5.0",
     "sass": "^1.53.0",
     "styled-components": "^5.3.3",
     "three": "^0.131.3",
diff --git a/blog/src/theme/BlogPostAuthor/index.tsx 
b/blog/src/theme/BlogPostAuthor/index.tsx
index 79f285f59f9..cf2028140e5 100644
--- a/blog/src/theme/BlogPostAuthor/index.tsx
+++ b/blog/src/theme/BlogPostAuthor/index.tsx
@@ -7,20 +7,23 @@
 
 import React from 'react';
 import Link from '@docusaurus/Link';
-import type {Props} from '@theme/BlogPostAuthor';
-
+import type { Props } from '@theme/BlogPostAuthor';
+import Avvvatars from 'avvvatars-react';
 import styles from './styles.module.css';
 
-function BlogPostAuthor({author}: Props): JSX.Element {
-  const {name, title, url, imageURL} = author;
+const BlogPostAuthor = ({ author }: Props): JSX.Element => {
+  const {
+    name, title, url, imageURL,
+  } = author;
   return (
     <div className="avatar margin-bottom--sm">
-      {imageURL && (
-        <Link className="avatar__photo-link avatar__photo" href={url}>
+      <Link className="avatar__photo-link avatar__photo" href={url}>
+        {imageURL ? (
           <img className={styles.image} src={imageURL} alt={name} />
-        </Link>
-      )}
-
+        ) : (
+          name && <Avvvatars value={name} size={48} />
+        )}
+      </Link>
       {
         // Note: only legacy author frontmatter allow empty name (not 
frontMatter.authors)
         name && (
@@ -28,7 +31,8 @@ function BlogPostAuthor({author}: Props): JSX.Element {
             className="avatar__intro"
             itemProp="author"
             itemScope
-            itemType="https://schema.org/Person";>
+            itemType="https://schema.org/Person";
+          >
             <div className="avatar__name">
               <Link href={url} itemProp="url">
                 <span itemProp="name">{name}</span>
@@ -44,6 +48,6 @@ function BlogPostAuthor({author}: Props): JSX.Element {
       }
     </div>
   );
-}
+};
 
 export default BlogPostAuthor;
diff --git a/blog/src/theme/BlogPostAuthors/index.tsx 
b/blog/src/theme/BlogPostAuthors/index.tsx
index ee488ba1ef8..b75c0ef2472 100644
--- a/blog/src/theme/BlogPostAuthors/index.tsx
+++ b/blog/src/theme/BlogPostAuthors/index.tsx
@@ -5,23 +5,24 @@
  * LICENSE file in the root directory of this source tree.
  */
 
+import type { FC } from 'react';
 import React from 'react';
 import clsx from 'clsx';
-import type {Props} from '@theme/BlogPostAuthors';
+import type { Props } from '@theme/BlogPostAuthors';
 import BlogPostAuthor from '@theme/BlogPostAuthor';
-
 import styles from './styles.module.css';
 
 // Component responsible for the authors layout
-export default function BlogPostAuthors({authors, assets}: Props): JSX.Element 
{
+const BlogPostAuthors: FC<Props> = ({ authors, assets }) => {
   const authorsCount = authors.length;
   if (authorsCount === 0) {
-    return <></>;
+    return null;
   }
+
   return (
     <div className="row margin-top--md margin-bottom--sm">
       {authors.map((author, idx) => (
-        <div className={clsx('col col--6', styles.authorCol)} key={idx}>
+        <div className={clsx('col col--6', styles.authorCol)} 
key={author.name}>
           <BlogPostAuthor
             author={{
               ...author,
@@ -33,4 +34,6 @@ export default function BlogPostAuthors({authors, assets}: 
Props): JSX.Element {
       ))}
     </div>
   );
-}
+};
+
+export default BlogPostAuthors;
diff --git a/blog/src/theme/BlogPostItem/index.tsx 
b/blog/src/theme/BlogPostItem/index.tsx
index f6b5cfaa84c..2a36d454888 100644
--- a/blog/src/theme/BlogPostItem/index.tsx
+++ b/blog/src/theme/BlogPostItem/index.tsx
@@ -1,3 +1,5 @@
+/* eslint-disable import/no-extraneous-dependencies */
+
 /**
  * Copyright (c) Facebook, Inc. and its affiliates.
  *
@@ -7,22 +9,22 @@
 
 import React from 'react';
 import clsx from 'clsx';
-import {MDXProvider} from '@mdx-js/react';
+import { MDXProvider } from '@mdx-js/react';
 import MDXComponents from '@theme/MDXComponents';
-import Translate, {translate} from '@docusaurus/Translate';
+import Translate, { translate } from '@docusaurus/Translate';
 import Link from '@docusaurus/Link';
-import {useBaseUrlUtils} from '@docusaurus/useBaseUrl';
-import {usePluralForm} from '@docusaurus/theme-common';
+import { useBaseUrlUtils } from '@docusaurus/useBaseUrl';
+import { usePluralForm } from '@docusaurus/theme-common';
 import EditThisPage from '@theme/EditThisPage';
-import type {Props} from '@theme/BlogPostItem';
+import type { Props } from '@theme/BlogPostItem';
 
-import styles from './styles.module.css';
 import TagsListInline from '@theme/TagsListInline';
 import BlogPostAuthors from '@theme/BlogPostAuthors';
+import styles from './styles.module.css';
 
 // Very simple pluralization: probably good enough for now
 function useReadingTimePlural() {
-  const {selectMessage} = usePluralForm();
+  const { selectMessage } = usePluralForm();
   return (readingTimeFloat: number) => {
     const readingTime = Math.ceil(readingTimeFloat);
     return selectMessage(
@@ -34,35 +36,25 @@ function useReadingTimePlural() {
             'Pluralized label for "{readingTime} min read". Use as much plural 
forms (separated by "|") as your language support (see 
https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',
           message: 'One min read|{readingTime} min read',
         },
-        {readingTime},
+        { readingTime },
       ),
     );
   };
 }
 
-function BlogPostItem(props: Props): JSX.Element {
+const defaultImg = '/img/default-blog-header.jpg';
+
+const BlogPostItem = (props: Props): JSX.Element => {
   const readingTimePlural = useReadingTimePlural();
-  const {withBaseUrl} = useBaseUrlUtils();
+  const { withBaseUrl } = useBaseUrlUtils();
   const {
-    children,
-    frontMatter,
-    assets,
-    metadata,
-    truncated,
-    isBlogPostPage = false,
+    children, frontMatter, assets, metadata, truncated, isBlogPostPage = false,
   } = props;
   const {
-    date,
-    formattedDate,
-    permalink,
-    tags,
-    readingTime,
-    title,
-    editUrl,
-    authors,
+    date, formattedDate, permalink, tags, readingTime, title, editUrl, authors,
   } = metadata;
 
-  const image = assets.image ?? frontMatter.image;
+  const image = assets.image ?? frontMatter.image ?? defaultImg;
 
   const renderPostHeader = () => {
     const TitleHeading = isBlogPostPage ? 'h1' : 'h2';
@@ -100,12 +92,11 @@ function BlogPostItem(props: Props): JSX.Element {
       className={!isBlogPostPage ? 'margin-bottom--xl' : undefined}
       itemProp="blogPost"
       itemScope
-      itemType="http://schema.org/BlogPosting";>
+      itemType="http://schema.org/BlogPosting";
+    >
       {renderPostHeader()}
 
-      {image && (
-        <meta itemProp="image" content={withBaseUrl(image, {absolute: true})} 
/>
-      )}
+      {image && <meta itemProp="image" content={withBaseUrl(image, { absolute: 
true })} />}
 
       <div className="markdown" itemProp="articleBody">
         <MDXProvider components={MDXComponents}>{children}</MDXProvider>
@@ -115,9 +106,10 @@ function BlogPostItem(props: Props): JSX.Element {
         <footer
           className={clsx('row docusaurus-mt-lg', {
             [styles.blogPostDetailsFull]: isBlogPostPage,
-          })}>
+          })}
+        >
           {tags.length > 0 && (
-            <div className={clsx('col', {'col--9': !isBlogPostPage})}>
+            <div className={clsx('col', { 'col--9': !isBlogPostPage })}>
               <TagsListInline tags={tags} />
             </div>
           )}
@@ -130,13 +122,12 @@ function BlogPostItem(props: Props): JSX.Element {
 
           {!isBlogPostPage && truncated && (
             <div className="col col--3 text--right">
-              <Link
-                to={metadata.permalink}
-                aria-label={`Read more about ${title}`}>
+              <Link to={metadata.permalink} aria-label={`Read more about 
${title}`}>
                 <b>
                   <Translate
                     id="theme.blog.post.readMore"
-                    description="The label used in blog post item excerpts to 
link to full blog posts">
+                    description="The label used in blog post item excerpts to 
link to full blog posts"
+                  >
                     Read More
                   </Translate>
                 </b>
@@ -147,6 +138,6 @@ function BlogPostItem(props: Props): JSX.Element {
       )}
     </article>
   );
-}
+};
 
 export default BlogPostItem;
diff --git a/blog/src/theme/BlogPosts/index.tsx 
b/blog/src/theme/BlogPosts/index.tsx
index ae9451d1fbd..3dd980a29b7 100644
--- a/blog/src/theme/BlogPosts/index.tsx
+++ b/blog/src/theme/BlogPosts/index.tsx
@@ -9,6 +9,7 @@ import Avvvatars from 'avvvatars-react';
 import clsx from 'clsx';
 import type { FC, HTMLAttributes, DetailedHTMLProps } from 'react';
 import React from 'react';
+import useWindowType from '@theme/hooks/useWindowSize';
 import 'react-lazy-load-image-component/src/effects/blur.css';
 import style from './style.module.scss';
 
@@ -54,6 +55,8 @@ const BlogPostItem: FC<BlogPostItemProps> = (props) => {
   const {
     date, formattedDate, permalink, tags, title, authors,
   } = metadata;
+  const windowType = useWindowType();
+  const effect = windowType === 'mobile' ? 'opacity' : 'blur';
 
   const image = assets.image ?? frontMatter.image ?? defaultImg;
 
@@ -65,7 +68,7 @@ const BlogPostItem: FC<BlogPostItemProps> = (props) => {
           width={605}
           src={image}
           alt={title}
-          effect="blur"
+          effect={effect}
           placeholder={(
             <div>
               <noscript>
@@ -112,7 +115,7 @@ const BlogPostItem: FC<BlogPostItemProps> = (props) => {
                     src={author.imageURL}
                     width={32}
                     height={32}
-                    effect="blur"
+                    effect={effect}
                     placeholder={(
                       <div>
                         <noscript>
diff --git a/blog/src/theme/Footer/index.tsx b/blog/src/theme/Footer/index.tsx
index 71822c1eab4..7de390da19f 100644
--- a/blog/src/theme/Footer/index.tsx
+++ b/blog/src/theme/Footer/index.tsx
@@ -59,7 +59,8 @@ const footer = {
         {
           icon: slackIcon,
           label: 'Slack',
-          to: '/docs/general/join',
+          to: '/docs/general/join/#join-the-slack-channel',
+          target: '_parent',
         },
         {
           icon: twitterIcon,
@@ -80,11 +81,13 @@ const footer = {
           label: 'Blog',
           to: '/blog/',
           target: '_parent',
-        }, {
+        },
+        {
           label: 'Showcase',
           to: '/showcase',
           target: '_parent',
-        }, {
+        },
+        {
           label: 'Plugin Hub',
           to: '/plugins',
           target: '_parent',
@@ -99,7 +102,7 @@ const footer = {
   },
 
   copyright:
-        'Copyright © 2019-2022 The Apache Software Foundation. Apache APISIX, 
APISIX®, Apache, the Apache feather logo, and the Apache APISIX project logo 
are either registered trademarks or trademarks of the Apache Software 
Foundation.',
+    'Copyright © 2019-2022 The Apache Software Foundation. Apache APISIX, 
APISIX®, Apache, the Apache feather logo, and the Apache APISIX project logo 
are either registered trademarks or trademarks of the Apache Software 
Foundation.',
 };
 
 const FooterLink = ({
@@ -109,14 +112,9 @@ const FooterLink = ({
   const normalizedHref = useBaseUrl(href, {
     forcePrependBaseUrl: true,
   });
-  const hrefObj = href
-    ? { href: prependBaseUrlToHref ? normalizedHref : href }
-    : { to: toUrl };
+  const hrefObj = href ? { href: prependBaseUrlToHref ? normalizedHref : href 
} : { to: toUrl };
   return (
-    <Link
-      {...hrefObj}
-      {...props}
-    >
+    <Link {...hrefObj} {...props}>
       <Icon icon={icon} />
       <span>{label}</span>
     </Link>
@@ -133,20 +131,20 @@ const Footer: FC = () => {
   return (
     <footer className={style.container}>
       {links && links.length > 0 && (
-      <div className={style.linksRow}>
-        {links.map(({ title, items }) => (
-          <div key={title} className={style.linksCol}>
-            <div>{title}</div>
-            <ul>
-              {items.map((v) => (
-                <li key={v.to} className="footer__item">
-                  <FooterLink {...v} />
-                </li>
-              ))}
-            </ul>
-          </div>
-        ))}
-      </div>
+        <div className={style.linksRow}>
+          {links.map(({ title, items }) => (
+            <div key={title} className={style.linksCol}>
+              <div>{title}</div>
+              <ul>
+                {items.map((v) => (
+                  <li key={v.to} className="footer__item">
+                    <FooterLink {...v} />
+                  </li>
+                ))}
+              </ul>
+            </div>
+          ))}
+        </div>
       )}
       <div className={style.copyright}>
         <Link href={logo.href}>
diff --git a/blog/zh/docusaurus.config.js b/blog/zh/docusaurus.config.js
index 4a2e2d3ff9e..30d6837bd98 100644
--- a/blog/zh/docusaurus.config.js
+++ b/blog/zh/docusaurus.config.js
@@ -1,3 +1,4 @@
+const readingTime = require('reading-time');
 const { ssrTemplate } = require('../../config/ssrTemplate');
 
 module.exports = {
@@ -33,6 +34,7 @@ module.exports = {
         blog: {
           blogSidebarCount: 0,
           postsPerPage: 9,
+          readingTime: ({ content }) => readingTime(content).minutes,
         },
         theme: {
           customCss: require.resolve('./src/css/customTheme.css'),
@@ -75,15 +77,14 @@ module.exports = {
     },
     colorMode: {
       defaultMode: 'light',
-      disableSwitch: false,
+      disableSwitch: true,
       respectPrefersColorScheme: false,
     },
     image: 'https://static.apiseven.com/202202/apache-apisix.png',
     metadatas: [
       {
         name: 'description',
-        content:
-          'Open Source and Cloud-Native API gateway, based on the Nginx 
library and etcd.',
+        content: 'Open Source and Cloud-Native API gateway, based on the Nginx 
library and etcd.',
       },
       {
         name: 'robots',
diff --git a/doc/package.json b/doc/package.json
index b69669ab99b..c037aca434e 100644
--- a/doc/package.json
+++ b/doc/package.json
@@ -31,7 +31,6 @@
   "dependencies": {
     "@docusaurus/core": "2.0.0-beta.6",
     "@docusaurus/logger": "^2.0.0-rc.1",
-    "@docusaurus/plugin-client-redirects": "2.0.0-beta.6",
     "@docusaurus/preset-classic": "2.0.0-beta.6",
     "@iconify/icons-akar-icons": "^1.2.8",
     "@iconify/react": "^3.2.2",
@@ -42,6 +41,8 @@
     "fitty": "^2.3.6",
     "gsap": "^3.7.1",
     "lethargy": "^1.0.9",
+    "patch-package": "^6.4.7",
+    "postinstall-postinstall": "^2.1.0",
     "raw-loader": "^4.0.2",
     "rc-image": "^5.6.2",
     "react": "^17.0.2",
@@ -56,9 +57,7 @@
     "styled-components": "^5.3.3",
     "three": "^0.131.3",
     "unist-util-visit": "^2.0.2",
-    "video.js": "^7.19.2",
-    "patch-package": "^6.4.7",
-    "postinstall-postinstall": "^2.1.0"
+    "video.js": "^7.19.2"
   },
   "browserslist": {
     "production": [
diff --git a/doc/src/theme/Footer/index.tsx b/doc/src/theme/Footer/index.tsx
index 71822c1eab4..7de390da19f 100644
--- a/doc/src/theme/Footer/index.tsx
+++ b/doc/src/theme/Footer/index.tsx
@@ -59,7 +59,8 @@ const footer = {
         {
           icon: slackIcon,
           label: 'Slack',
-          to: '/docs/general/join',
+          to: '/docs/general/join/#join-the-slack-channel',
+          target: '_parent',
         },
         {
           icon: twitterIcon,
@@ -80,11 +81,13 @@ const footer = {
           label: 'Blog',
           to: '/blog/',
           target: '_parent',
-        }, {
+        },
+        {
           label: 'Showcase',
           to: '/showcase',
           target: '_parent',
-        }, {
+        },
+        {
           label: 'Plugin Hub',
           to: '/plugins',
           target: '_parent',
@@ -99,7 +102,7 @@ const footer = {
   },
 
   copyright:
-        'Copyright © 2019-2022 The Apache Software Foundation. Apache APISIX, 
APISIX®, Apache, the Apache feather logo, and the Apache APISIX project logo 
are either registered trademarks or trademarks of the Apache Software 
Foundation.',
+    'Copyright © 2019-2022 The Apache Software Foundation. Apache APISIX, 
APISIX®, Apache, the Apache feather logo, and the Apache APISIX project logo 
are either registered trademarks or trademarks of the Apache Software 
Foundation.',
 };
 
 const FooterLink = ({
@@ -109,14 +112,9 @@ const FooterLink = ({
   const normalizedHref = useBaseUrl(href, {
     forcePrependBaseUrl: true,
   });
-  const hrefObj = href
-    ? { href: prependBaseUrlToHref ? normalizedHref : href }
-    : { to: toUrl };
+  const hrefObj = href ? { href: prependBaseUrlToHref ? normalizedHref : href 
} : { to: toUrl };
   return (
-    <Link
-      {...hrefObj}
-      {...props}
-    >
+    <Link {...hrefObj} {...props}>
       <Icon icon={icon} />
       <span>{label}</span>
     </Link>
@@ -133,20 +131,20 @@ const Footer: FC = () => {
   return (
     <footer className={style.container}>
       {links && links.length > 0 && (
-      <div className={style.linksRow}>
-        {links.map(({ title, items }) => (
-          <div key={title} className={style.linksCol}>
-            <div>{title}</div>
-            <ul>
-              {items.map((v) => (
-                <li key={v.to} className="footer__item">
-                  <FooterLink {...v} />
-                </li>
-              ))}
-            </ul>
-          </div>
-        ))}
-      </div>
+        <div className={style.linksRow}>
+          {links.map(({ title, items }) => (
+            <div key={title} className={style.linksCol}>
+              <div>{title}</div>
+              <ul>
+                {items.map((v) => (
+                  <li key={v.to} className="footer__item">
+                    <FooterLink {...v} />
+                  </li>
+                ))}
+              </ul>
+            </div>
+          ))}
+        </div>
       )}
       <div className={style.copyright}>
         <Link href={logo.href}>
diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index c0e0205026c..c4acf11da12 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -95,17 +95,6 @@ module.exports = {
       },
     ],
     ['docusaurus-plugin-sass', {}],
-    [
-      '@docusaurus/plugin-client-redirects',
-      {
-        redirects: [
-          {
-            from: ['/docs/general/community', '/docs/general/subscribe-guide'],
-            to: '/docs/general/join',
-          },
-        ],
-      },
-    ],
   ],
   themeConfig: {
     navbar: {
@@ -144,8 +133,7 @@ module.exports = {
     metadatas: [
       {
         name: 'description',
-        content:
-          'Open Source and Cloud-Native API gateway, based on the Nginx 
library and etcd.',
+        content: 'Open Source and Cloud-Native API gateway, based on the Nginx 
library and etcd.',
       },
       {
         name: 'robots',
diff --git a/website/package.json b/website/package.json
index c9aa5e77bc0..d39b481cced 100644
--- a/website/package.json
+++ b/website/package.json
@@ -31,7 +31,6 @@
   "dependencies": {
     "@docusaurus/core": "2.0.0-beta.6",
     "@docusaurus/logger": "^2.0.0-rc.1",
-    "@docusaurus/plugin-client-redirects": "2.0.0-beta.6",
     "@docusaurus/preset-classic": "2.0.0-beta.6",
     "@iconify/icons-akar-icons": "^1.2.8",
     "@iconify/react": "^3.2.2",
@@ -42,6 +41,8 @@
     "fitty": "^2.3.6",
     "gsap": "^3.7.1",
     "lethargy": "^1.0.9",
+    "patch-package": "^6.4.7",
+    "postinstall-postinstall": "^2.1.0",
     "raw-loader": "^4.0.2",
     "rc-image": "^5.6.2",
     "react": "^17.0.2",
@@ -56,9 +57,7 @@
     "styled-components": "^5.3.3",
     "three": "^0.131.3",
     "unist-util-visit": "^2.0.2",
-    "video.js": "^7.19.2",
-    "patch-package": "^6.4.7",
-    "postinstall-postinstall": "^2.1.0"
+    "video.js": "^7.19.2"
   },
   "browserslist": {
     "production": [
diff --git a/yarn.lock b/yarn.lock
index eea934bd3f9..5d7b9c67aad 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -28,11 +28,23 @@
   dependencies:
     "@algolia/cache-common" "4.14.0"
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.1.tgz#a0b85a6c3fe3d5c49fca01b16f00b41bf38a918c";
+  integrity 
sha512-BBdibsPn3hLBajc/NRAtHEeoXsw+ziSGR/3bqRNB5puUuwKPQZSE2MaMVWSADnlc3KV3bEj4xsfKOVLJyfJSPQ==
+  dependencies:
+    "@algolia/cache-common" "4.14.1"
+
 "@algolia/[email protected]":
   version "4.14.0"
   resolved 
"https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.14.0.tgz#a31250b02357cc11787b1138f02770fc0dfce43e";
   integrity 
sha512-9bCWX78td6DEtyVIJc2R8MokniFFgbS5r9ADVvBuBeDtVuNhOwDO/MYZ2WlAQJTwos9TtS9v0iJ9Ym0rDHMldA==
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.14.1.tgz#11d44a6442f83deb3629a04c20df8408088f6449";
+  integrity 
sha512-XhAzm0Sm3D3DuOWUyDoVSXZ/RjYMvI1rbki+QH4ODAVaHDWVhMhg3IJPv3gIbBQnEQdtPdBhsf2hyPxAu28E5w==
+
 "@algolia/[email protected]":
   version "4.14.0"
   resolved 
"https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.14.0.tgz#0229202b3f8a76777f81f5992e543316aef694bf";
@@ -40,6 +52,13 @@
   dependencies:
     "@algolia/cache-common" "4.14.0"
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.14.1.tgz#68ede8520f054bc65938209b59962056ae5b56c7";
+  integrity 
sha512-fVUu7N1hYb/zZYfV9Krlij70NwS+8bQm5vmDJyfp0+9FjSjz2V7wj1CUxvaY8ZcgoBPj9ehQ8sRuqSM2m5OPww==
+  dependencies:
+    "@algolia/cache-common" "4.14.1"
+
 "@algolia/[email protected]":
   version "4.14.0"
   resolved 
"https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.14.0.tgz#2275054d170db316e8277ee041a63ad9dcb6f170";
@@ -49,6 +68,15 @@
     "@algolia/client-search" "4.14.0"
     "@algolia/transporter" "4.14.0"
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.14.1.tgz#b92e091f698630c49ec7df48816ae75af3cbac40";
+  integrity 
sha512-Zm4+PN3bsBPhv1dKKwzBaRGzf0G1JcjjSTpE231L7Z7LsEDcFDW4E6L5ctwMz3SliSBeL/j1ghmaunJrZlkRIg==
+  dependencies:
+    "@algolia/client-common" "4.14.1"
+    "@algolia/client-search" "4.14.1"
+    "@algolia/transporter" "4.14.1"
+
 "@algolia/[email protected]":
   version "4.14.0"
   resolved 
"https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.14.0.tgz#a282596c79a9859f8b9cde893df89fe8440e2921";
@@ -59,6 +87,16 @@
     "@algolia/requester-common" "4.14.0"
     "@algolia/transporter" "4.14.0"
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.14.1.tgz#aca3436775f608a6141cc81899e1d75ef030efa2";
+  integrity 
sha512-EhZLR0ezBZx7ZGkwzj7OTvnI8j2Alyv1ByC0Mx48qh3KqRhVwMFm/Uf34zAv4Dum2PTFin41Y4smAvAypth9nQ==
+  dependencies:
+    "@algolia/client-common" "4.14.1"
+    "@algolia/client-search" "4.14.1"
+    "@algolia/requester-common" "4.14.1"
+    "@algolia/transporter" "4.14.1"
+
 "@algolia/[email protected]":
   version "4.14.0"
   resolved 
"https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.14.0.tgz#72c559b74b59f7fe62b7dc6b2910805f1ef5943b";
@@ -67,6 +105,14 @@
     "@algolia/requester-common" "4.14.0"
     "@algolia/transporter" "4.14.0"
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.14.1.tgz#2709bddf934a3545cd9feecc0591e9285fbed7c2";
+  integrity 
sha512-WDwziD7Rt1yCRDfONmeLOfh1Lt8uOy6Vn7dma171KOH9NN3q8yDQpOhPqdFOCz1j3GC1FfIZxaC0YEOIobZ2lg==
+  dependencies:
+    "@algolia/requester-common" "4.14.1"
+    "@algolia/transporter" "4.14.1"
+
 "@algolia/[email protected]":
   version "4.14.0"
   resolved 
"https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.14.0.tgz#fcf7b284aea6f720fa64dced4dd2649b6301fcce";
@@ -76,6 +122,15 @@
     "@algolia/requester-common" "4.14.0"
     "@algolia/transporter" "4.14.0"
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.14.1.tgz#58f0b85b8f6d531e13877a099f54513ac2bec154";
+  integrity 
sha512-D4eeW7bTi769PWcEYZO+QiKuUXFOC5zK5Iy83Ey6FHqS7m5TXws5MP1rmETE018lTXeYq2NSHWp/F07fRRg0RA==
+  dependencies:
+    "@algolia/client-common" "4.14.1"
+    "@algolia/requester-common" "4.14.1"
+    "@algolia/transporter" "4.14.1"
+
 "@algolia/[email protected]":
   version "4.14.0"
   resolved 
"https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.14.0.tgz#7e5fef78f93419b6608fc1fc086cbcdb90bb40ee";
@@ -85,6 +140,15 @@
     "@algolia/requester-common" "4.14.0"
     "@algolia/transporter" "4.14.0"
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.14.1.tgz#44bfc65b3e6939b725f8f97aad725593f2a4ad7f";
+  integrity 
sha512-K6XrdIIQq8a3o+kCedj5slUVzA1aKttae4mLzwnY0bS7tYduv1IQggi9Sz8gOG6/MMyKMB4IwYqr47t/0z4Vxw==
+  dependencies:
+    "@algolia/client-common" "4.14.1"
+    "@algolia/requester-common" "4.14.1"
+    "@algolia/transporter" "4.14.1"
+
 "@algolia/events@^4.0.1":
   version "4.0.1"
   resolved 
"https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950";
@@ -95,6 +159,11 @@
   resolved 
"https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.14.0.tgz#cd7ea905b5f0e5905b939ff464628bdc01dc2c22";
   integrity 
sha512-1Fw+5Nd4d7NWNA9FhOIIXzESJn+j5VTO/f3YK+XhoOlbAwfMbD32InWEjNglrcHnSO8kpqrizFXveKTx1CzoKw==
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.14.1.tgz#acbd36b66e3b408f99cacfb581ad3bd28defcc28";
+  integrity 
sha512-58CK87wTjUWI1QNXc3nFDQ7EXBi28NoLufXE9sMjng2fAL1wPdyO+KFD8KTBoXOZnJWflPj5F7p6jLyGAfgvcQ==
+
 "@algolia/[email protected]":
   version "4.14.0"
   resolved 
"https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.14.0.tgz#78bfc0565cd6a1355ca2660b79c8d00b5643221c";
@@ -102,6 +171,13 @@
   dependencies:
     "@algolia/logger-common" "4.14.0"
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.14.1.tgz#7e7d7486d71ccfe38e63234626931083592149d2";
+  integrity 
sha512-not+VwH1Dx2B/BaN+4+4+YnGRBJ9lduNz2qbMCTxZ4yFHb+84j4ewHRPBTtEmibn7caVCPybdTKfHLQhimSBLQ==
+  dependencies:
+    "@algolia/logger-common" "4.14.1"
+
 "@algolia/[email protected]":
   version "4.14.0"
   resolved 
"https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.0.tgz#b4c68f841c001ecf1c0d1e8d40d8b348cc6d8117";
@@ -109,11 +185,23 @@
   dependencies:
     "@algolia/requester-common" "4.14.0"
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.1.tgz#9e683dc0916afae221bf946255a998b06830be78";
+  integrity 
sha512-mpH6QsFBbXjTy9+iU86Rcdt9LxS7GA/tWhGMr0+Ap8+4Za5+ELToz0PC7euVeVOcclgGGi7gbjOAmf6k8b10iA==
+  dependencies:
+    "@algolia/requester-common" "4.14.1"
+
 "@algolia/[email protected]":
   version "4.14.0"
   resolved 
"https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.14.0.tgz#0cfeb902b1ff675577175bb3b11bfa4c19ae36ab";
   integrity 
sha512-8DGIW5keIbAFet2TKGr/C9DVJ1r8IWFjgf4URPHn6NHMf6R+ruQp0gOf7xBP1Bw6JIS3/DbvlGqbw8sNO/N+Hw==
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.14.1.tgz#b07ffa00ae0cf61442dcda71a3209051fed130d8";
+  integrity 
sha512-EbXBKrfYcX5/JJfaw7IZxhWlbUtjd5Chs+Alrfc4tutgRQn4dmImWS07n3iffwJcYdOWY1eRrnfBK5BwopuN5A==
+
 "@algolia/[email protected]":
   version "4.14.0"
   resolved 
"https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.14.0.tgz#6f576dc1e5dab4e0265f8926b7ef9e1518add7dd";
@@ -121,6 +209,13 @@
   dependencies:
     "@algolia/requester-common" "4.14.0"
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.14.1.tgz#5e5f4ff55deb5aa0e92f3105d77299de744b1471";
+  integrity 
sha512-/sbRqL9P8aVuYUG50BgpCbdJyyCS7fia+sQIx9d1DiGPO7hunwLaEyR4H7JDHc/PLKdVEPygJx3rnbJWix4Btg==
+  dependencies:
+    "@algolia/requester-common" "4.14.1"
+
 "@algolia/[email protected]":
   version "4.14.0"
   resolved 
"https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.14.0.tgz#b50463a96ca6fec09eceacefe29a8798a9f6c72e";
@@ -130,6 +225,15 @@
     "@algolia/logger-common" "4.14.0"
     "@algolia/requester-common" "4.14.0"
 
+"@algolia/[email protected]":
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.14.1.tgz#7eca8568ff710d9d1a7bbd3c1dafbbf44a6143f5";
+  integrity 
sha512-xbmoIqszFDOCCZqizBQ2TNHcGtjZX7EkJCzABsrokA0WqtfZzClFmtc+tZYgtEiyAfIF70alTegG19poQGdkvg==
+  dependencies:
+    "@algolia/cache-common" "4.14.1"
+    "@algolia/logger-common" "4.14.1"
+    "@algolia/requester-common" "4.14.1"
+
 "@ampproject/remapping@^2.1.0":
   version "2.2.0"
   resolved 
"https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d";
@@ -947,7 +1051,7 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.18.6"
 
-"@babel/plugin-transform-runtime@^7.12.15":
+"@babel/plugin-transform-runtime@^7.12.15", 
"@babel/plugin-transform-runtime@^7.15.0":
   version "7.18.9"
   resolved 
"https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.9.tgz#d9e4b1b25719307bfafbf43065ed7fb3a83adb8f";
   integrity 
sha512-wS8uJwBt7/b/mzE13ktsJdmS4JP/j7PQSaADtnb4I2wL0zK51MQ0pmF8/Jy0wUIS96fr+fXT6S/ifiPXnvrlSg==
@@ -1019,7 +1123,7 @@
     "@babel/helper-create-regexp-features-plugin" "^7.18.6"
     "@babel/helper-plugin-utils" "^7.18.6"
 
-"@babel/preset-env@^7.12.1", "@babel/preset-env@^7.12.16":
+"@babel/preset-env@^7.12.1", "@babel/preset-env@^7.12.16", 
"@babel/preset-env@^7.15.6":
   version "7.18.9"
   resolved 
"https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.9.tgz#9b3425140d724fbe590322017466580844c7eaff";
   integrity 
sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==
@@ -1132,7 +1236,7 @@
     "@babel/helper-validator-option" "^7.18.6"
     "@babel/plugin-transform-typescript" "^7.18.6"
 
-"@babel/runtime-corejs3@^7.10.2", "@babel/runtime-corejs3@^7.12.13":
+"@babel/runtime-corejs3@^7.10.2", "@babel/runtime-corejs3@^7.12.13", 
"@babel/runtime-corejs3@^7.15.4":
   version "7.18.9"
   resolved 
"https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.18.9.tgz#7bacecd1cb2dd694eacd32a91fcf7021c20770ae";
   integrity 
sha512-qZEWeccZCrHA2Au4/X05QW5CMdm4VjUDCrGq5gf1ZDcM4hRqreKrtwAn7yci9zfgAS9apvnsFXiGBHBAxZdK9A==
@@ -1140,7 +1244,7 @@
     core-js-pure "^3.20.2"
     regenerator-runtime "^0.13.4"
 
-"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", 
"@babel/runtime@^7.10.3", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", 
"@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", 
"@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", 
"@babel/runtime@^7.8.7":
+"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", 
"@babel/runtime@^7.10.3", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", 
"@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", 
"@babel/runtime@^7.15.4", "@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", 
"@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7":
   version "7.18.9"
   resolved 
"https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a";
   integrity 
sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==
@@ -1285,6 +1389,91 @@
     webpack-merge "^5.8.0"
     webpackbar "^5.0.0-3"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/core/-/core-2.0.0-beta.8.tgz#7e24547a26e34e4d288f19883e08ac29b7946325";
+  integrity 
sha512-KVbZoOCxQKvbX1RT8qrHAsPVYPGDnXFevTeJbZW1XQb0OPv7oh5nijXJvzNeGupXP561BByrsdHT7IxM/hT0CQ==
+  dependencies:
+    "@babel/core" "^7.12.16"
+    "@babel/generator" "^7.12.15"
+    "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+    "@babel/plugin-transform-runtime" "^7.15.0"
+    "@babel/preset-env" "^7.15.6"
+    "@babel/preset-react" "^7.12.13"
+    "@babel/preset-typescript" "^7.12.16"
+    "@babel/runtime" "^7.15.4"
+    "@babel/runtime-corejs3" "^7.15.4"
+    "@babel/traverse" "^7.12.13"
+    "@docusaurus/cssnano-preset" "2.0.0-beta.8"
+    "@docusaurus/react-loadable" "5.5.0"
+    "@docusaurus/types" "2.0.0-beta.8"
+    "@docusaurus/utils" "2.0.0-beta.8"
+    "@docusaurus/utils-common" "2.0.0-beta.8"
+    "@docusaurus/utils-validation" "2.0.0-beta.8"
+    "@slorber/static-site-generator-webpack-plugin" "^4.0.0"
+    "@svgr/webpack" "^5.5.0"
+    autoprefixer "^10.3.5"
+    babel-loader "^8.2.2"
+    babel-plugin-dynamic-import-node "2.3.0"
+    boxen "^5.0.1"
+    chalk "^4.1.2"
+    chokidar "^3.5.2"
+    clean-css "^5.1.5"
+    commander "^5.1.0"
+    copy-webpack-plugin "^9.0.1"
+    core-js "^3.18.0"
+    css-loader "^5.1.1"
+    css-minimizer-webpack-plugin "^3.0.2"
+    cssnano "^5.0.8"
+    del "^6.0.0"
+    detect-port "^1.3.0"
+    escape-html "^1.0.3"
+    eta "^1.12.3"
+    express "^4.17.1"
+    file-loader "^6.2.0"
+    fs-extra "^10.0.0"
+    github-slugger "^1.4.0"
+    globby "^11.0.2"
+    html-minifier-terser "^6.0.2"
+    html-tags "^3.1.0"
+    html-webpack-plugin "^5.4.0"
+    import-fresh "^3.3.0"
+    is-root "^2.1.0"
+    leven "^3.1.0"
+    lodash "^4.17.20"
+    mini-css-extract-plugin "^1.6.0"
+    module-alias "^2.2.2"
+    nprogress "^0.2.0"
+    postcss "^8.3.7"
+    postcss-loader "^6.1.1"
+    prompts "^2.4.1"
+    react-dev-utils "^11.0.1"
+    react-error-overlay "^6.0.9"
+    react-helmet "^6.1.0"
+    react-loadable "^5.5.0"
+    react-loadable-ssr-addon-v5-slorber "^1.0.1"
+    react-router "^5.2.0"
+    react-router-config "^5.1.1"
+    react-router-dom "^5.2.0"
+    remark-admonitions "^1.2.1"
+    resolve-pathname "^3.0.0"
+    rtl-detect "^1.0.4"
+    semver "^7.3.4"
+    serve-handler "^6.1.3"
+    shelljs "^0.8.4"
+    std-env "^2.2.1"
+    strip-ansi "^6.0.0"
+    terser-webpack-plugin "^5.2.4"
+    tslib "^2.3.1"
+    update-notifier "^5.1.0"
+    url-loader "^4.1.1"
+    wait-on "^6.0.0"
+    webpack "^5.40.0"
+    webpack-bundle-analyzer "^4.4.2"
+    webpack-dev-server "^3.11.2"
+    webpack-merge "^5.8.0"
+    webpackbar "^5.0.0-3"
+
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.6.tgz#0c277854f0262dca7bcb3daf99866e8a49e29118";
@@ -1294,6 +1483,15 @@
     postcss "^8.2.15"
     postcss-sort-media-queries "^3.10.11"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.8.tgz#0e83ad9e70e64709c23aa8cc565ec43d135e9abc";
+  integrity 
sha512-RXApzIEaTsTSpz4YV86DBXaFvXH3J4SNIWba/AFSoPBviODjxIu+7TRRs9eh8vUAB32nVBtcdHmRb25b662szQ==
+  dependencies:
+    cssnano-preset-advanced "^5.1.4"
+    postcss "^8.3.7"
+    postcss-sort-media-queries "^4.1.0"
+
 "@docusaurus/logger@^2.0.0-rc.1":
   version "2.0.0-rc.1"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.0.0-rc.1.tgz#db95e9b15bc243695830a5b791c0eff705ef1b54";
@@ -1326,6 +1524,30 @@
     url-loader "^4.1.1"
     webpack "^5.40.0"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-beta.8.tgz#c64a81988975ea5ed969e8a164136a2aaa035da1";
+  integrity 
sha512-unVimkaAGgkt+d/QgQPwm8FaRZVB0jew6Q902KSl1Hx0yWI/x5LKWY/y4kCFUBv7rCsuSqyjoZwggD+evw//bg==
+  dependencies:
+    "@babel/parser" "^7.12.16"
+    "@babel/traverse" "^7.12.13"
+    "@docusaurus/core" "2.0.0-beta.8"
+    "@docusaurus/utils" "2.0.0-beta.8"
+    "@mdx-js/mdx" "^1.6.21"
+    "@mdx-js/react" "^1.6.21"
+    chalk "^4.1.2"
+    escape-html "^1.0.3"
+    file-loader "^6.2.0"
+    fs-extra "^10.0.0"
+    github-slugger "^1.4.0"
+    gray-matter "^4.0.3"
+    mdast-util-to-string "^2.0.0"
+    remark-emoji "^2.1.0"
+    stringify-object "^3.3.0"
+    unist-util-visit "^2.0.2"
+    url-loader "^4.1.1"
+    webpack "^5.40.0"
+
 "@docusaurus/module-type-aliases@^2.0.0-beta.6":
   version "2.0.0-rc.1"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-2.0.0-rc.1.tgz#c7839ac15b7712a8d86353a3253918f63ffbea09";
@@ -1340,23 +1562,6 @@
     react-helmet-async "*"
     react-loadable "npm:@docusaurus/[email protected]"
 
-"@docusaurus/[email protected]":
-  version "2.0.0-beta.6"
-  resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-2.0.0-beta.6.tgz#c982cc50643bdd93d32d9eaecec8e6ea0ad5ad31";
-  integrity 
sha512-/tryRByGwuPjrqHf5cSh1VS9oUX+SVHF8ElW8N7CDiTDyjUagffxTumKDMvZiWEzv0++l/MRwSc/PkZk0mOBWQ==
-  dependencies:
-    "@docusaurus/core" "2.0.0-beta.6"
-    "@docusaurus/types" "2.0.0-beta.6"
-    "@docusaurus/utils" "2.0.0-beta.6"
-    "@docusaurus/utils-common" "2.0.0-beta.6"
-    "@docusaurus/utils-validation" "2.0.0-beta.6"
-    chalk "^4.1.1"
-    eta "^1.11.0"
-    fs-extra "^10.0.0"
-    globby "^11.0.2"
-    lodash "^4.17.20"
-    tslib "^2.2.0"
-
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-beta.6.tgz#54ae1c96a8e95dbc58484157c259e8aaf47a3fcb";
@@ -1380,6 +1585,30 @@
     tslib "^2.2.0"
     webpack "^5.40.0"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-beta.8.tgz#f7405b04cbde4cff6ea9aaf281f171f147133cd8";
+  integrity 
sha512-sUAk3MZrZL7YMp66h+pIy0rOQYFovB8kh9LbDdTXREDyTViCygfkr/6sFPRWpoFzws/kbXoRCPIPcrzcYj+/Pw==
+  dependencies:
+    "@docusaurus/core" "2.0.0-beta.8"
+    "@docusaurus/mdx-loader" "2.0.0-beta.8"
+    "@docusaurus/types" "2.0.0-beta.8"
+    "@docusaurus/utils" "2.0.0-beta.8"
+    "@docusaurus/utils-validation" "2.0.0-beta.8"
+    chalk "^4.1.2"
+    escape-string-regexp "^4.0.0"
+    feed "^4.2.2"
+    fs-extra "^10.0.0"
+    globby "^11.0.2"
+    js-yaml "^4.0.0"
+    loader-utils "^2.0.0"
+    lodash "^4.17.20"
+    reading-time "^1.5.0"
+    remark-admonitions "^1.2.1"
+    tslib "^2.3.1"
+    utility-types "^3.10.0"
+    webpack "^5.40.0"
+
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-beta.6.tgz#38fd58e42fe39e2a0cc738df077917a6fcd4e7ee";
@@ -1406,6 +1635,32 @@
     utility-types "^3.10.0"
     webpack "^5.40.0"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-beta.8.tgz#b248689ea85201a38c21e285819f400820c1c936";
+  integrity 
sha512-uE8mI5zQFcwtxAbycxv6G7ALtqKgNwd4URuJhv4VQ2DhR5uta/yd9IK8BPduwrbYLWZuGf2uO3jVsPbgNBZ0RQ==
+  dependencies:
+    "@docusaurus/core" "2.0.0-beta.8"
+    "@docusaurus/mdx-loader" "2.0.0-beta.8"
+    "@docusaurus/types" "2.0.0-beta.8"
+    "@docusaurus/utils" "2.0.0-beta.8"
+    "@docusaurus/utils-validation" "2.0.0-beta.8"
+    chalk "^4.1.2"
+    combine-promises "^1.1.0"
+    escape-string-regexp "^4.0.0"
+    execa "^5.0.0"
+    fs-extra "^10.0.0"
+    globby "^11.0.2"
+    import-fresh "^3.2.2"
+    js-yaml "^4.0.0"
+    loader-utils "^2.0.0"
+    lodash "^4.17.20"
+    remark-admonitions "^1.2.1"
+    shelljs "^0.8.4"
+    tslib "^2.3.1"
+    utility-types "^3.10.0"
+    webpack "^5.40.0"
+
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-beta.6.tgz#254e6ee60a8a2b4d85c4fa8408388d585eea0507";
@@ -1422,6 +1677,22 @@
     tslib "^2.1.0"
     webpack "^5.40.0"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-beta.8.tgz#fdc6687917091ad5f62b332feb6add9c29b6b169";
+  integrity 
sha512-NcYKwwBhOR1eH5FZpktaRtBYDsT8vnwR2mAYqS4Oyl7EeyYNKb1ykMnBn5tDktMuRaLRy1flq5u79Nc5oscHIQ==
+  dependencies:
+    "@docusaurus/core" "2.0.0-beta.8"
+    "@docusaurus/mdx-loader" "2.0.0-beta.8"
+    "@docusaurus/types" "2.0.0-beta.8"
+    "@docusaurus/utils" "2.0.0-beta.8"
+    "@docusaurus/utils-validation" "2.0.0-beta.8"
+    globby "^11.0.2"
+    lodash "^4.17.20"
+    remark-admonitions "^1.2.1"
+    tslib "^2.3.1"
+    webpack "^5.40.0"
+
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-beta.6.tgz#dc5ebc3c5c1c144b924ab3282fedbfc44cc78be0";
@@ -1434,6 +1705,18 @@
     react-json-view "^1.21.3"
     tslib "^2.1.0"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-beta.8.tgz#314ca63af4bea9ea38b62e89580ff471cfcf9955";
+  integrity 
sha512-DCsYnVQ+MTEfGTOEsSCpZDG+xADM3dC5K2BfT4kDUB4De1SKH37NoXXJpGaVEtE4gLjRWoDGfDaQdS/LlVqwiQ==
+  dependencies:
+    "@docusaurus/core" "2.0.0-beta.8"
+    "@docusaurus/types" "2.0.0-beta.8"
+    "@docusaurus/utils" "2.0.0-beta.8"
+    fs-extra "^10.0.0"
+    react-json-view "^1.21.3"
+    tslib "^2.3.1"
+
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-beta.6.tgz#fcb8608c09920131e4dd56b5b343f23cd07a7eee";
@@ -1441,6 +1724,13 @@
   dependencies:
     "@docusaurus/core" "2.0.0-beta.6"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-beta.8.tgz#d9b7298fe33e3ce1e11cd722ce4ac681e356915c";
+  integrity 
sha512-kpk9pXPIfE+5CbcJSbwF6Evfy5kX+4Z0Ph/x/M1N+8omH+StDrR+fa1S3I5GK38lb3/N1fWNgsWE7LembE9xYQ==
+  dependencies:
+    "@docusaurus/core" "2.0.0-beta.8"
+
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-beta.6.tgz#ccde43934d5a193711d118058092d4251965079d";
@@ -1448,6 +1738,13 @@
   dependencies:
     "@docusaurus/core" "2.0.0-beta.6"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-beta.8.tgz#ba5b22d0656cf295ccd955e39c7fb5439dadddb8";
+  integrity 
sha512-1Wa0yMXZgxp85dGuOD44X+fnZtW8ztmOcGBOgLo9Uwhi+OhxOrW4ZOddhEJA6tmCaRuqkaMK7zN1ss2EUc2g7g==
+  dependencies:
+    "@docusaurus/core" "2.0.0-beta.8"
+
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-beta.6.tgz#5dd74bc8a5845c0e7eac7bfce05a18f57e0b3ed2";
@@ -1462,6 +1759,20 @@
     sitemap "^7.0.0"
     tslib "^2.2.0"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-beta.8.tgz#731d97ff8e495cd66f8ba1c6b1426c61726d46c5";
+  integrity 
sha512-oz2Hu1q34kvsgPb6DWM8cpzKmNy02BYtv+2GTrg016V+beGr8PNcHkxzgGtdN+Se5zJqdtRQvOPQtIZOJQntcA==
+  dependencies:
+    "@docusaurus/core" "2.0.0-beta.8"
+    "@docusaurus/types" "2.0.0-beta.8"
+    "@docusaurus/utils" "2.0.0-beta.8"
+    "@docusaurus/utils-common" "2.0.0-beta.8"
+    "@docusaurus/utils-validation" "2.0.0-beta.8"
+    fs-extra "^10.0.0"
+    sitemap "^7.0.0"
+    tslib "^2.3.1"
+
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.6.tgz#528c98939589ae5edfc2a7e01e9f87561e5d5c01";
@@ -1478,6 +1789,22 @@
     "@docusaurus/theme-classic" "2.0.0-beta.6"
     "@docusaurus/theme-search-algolia" "2.0.0-beta.6"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.8.tgz#97e42cb0c5b1858cf644febc7ebd61b1a72c9f16";
+  integrity 
sha512-tlc+KuMJFmfXYA/FOCbHvMfRWx2SQtJLf6rkBUzRt0Vlym+pI7CG1px3OKON62jaaLm/Vyvn3+47z3yClJRM1A==
+  dependencies:
+    "@docusaurus/core" "2.0.0-beta.8"
+    "@docusaurus/plugin-content-blog" "2.0.0-beta.8"
+    "@docusaurus/plugin-content-docs" "2.0.0-beta.8"
+    "@docusaurus/plugin-content-pages" "2.0.0-beta.8"
+    "@docusaurus/plugin-debug" "2.0.0-beta.8"
+    "@docusaurus/plugin-google-analytics" "2.0.0-beta.8"
+    "@docusaurus/plugin-google-gtag" "2.0.0-beta.8"
+    "@docusaurus/plugin-sitemap" "2.0.0-beta.8"
+    "@docusaurus/theme-classic" "2.0.0-beta.8"
+    "@docusaurus/theme-search-algolia" "2.0.0-beta.8"
+
 "@docusaurus/[email protected]":
   version "5.5.0"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-5.5.0.tgz#6d6f0c8fd9a434b62a1ab1f8645ee7bde5a9ec21";
@@ -1524,6 +1851,37 @@
     react-router-dom "^5.2.0"
     rtlcss "^3.1.2"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.0.0-beta.8.tgz#5465c0ea739053ba5ea9f5dca61406e8935f00b2";
+  integrity 
sha512-lC0PGxACbNiq98WwF1O3T0YblqSK6yo7KcDcrOnPJd0XCV4xMjWZSeeSIneotfs2uvJzmG3GOg7EfQcLvhdyIQ==
+  dependencies:
+    "@docusaurus/core" "2.0.0-beta.8"
+    "@docusaurus/plugin-content-blog" "2.0.0-beta.8"
+    "@docusaurus/plugin-content-docs" "2.0.0-beta.8"
+    "@docusaurus/plugin-content-pages" "2.0.0-beta.8"
+    "@docusaurus/theme-common" "2.0.0-beta.8"
+    "@docusaurus/types" "2.0.0-beta.8"
+    "@docusaurus/utils" "2.0.0-beta.8"
+    "@docusaurus/utils-common" "2.0.0-beta.8"
+    "@docusaurus/utils-validation" "2.0.0-beta.8"
+    "@mdx-js/mdx" "^1.6.21"
+    "@mdx-js/react" "^1.6.21"
+    chalk "^4.1.2"
+    clsx "^1.1.1"
+    copy-text-to-clipboard "^3.0.1"
+    fs-extra "^10.0.0"
+    globby "^11.0.2"
+    infima "0.2.0-alpha.34"
+    lodash "^4.17.20"
+    parse-numeric-range "^1.3.0"
+    postcss "^8.3.7"
+    prism-react-renderer "^1.2.1"
+    prismjs "^1.23.0"
+    prop-types "^15.7.2"
+    react-router-dom "^5.2.0"
+    rtlcss "^3.3.0"
+
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.0.0-beta.6.tgz#17cbf38400d752e264cdbebbc57a92f2bdfc7052";
@@ -1538,6 +1896,21 @@
     fs-extra "^10.0.0"
     tslib "^2.1.0"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.0.0-beta.8.tgz#eee6f4a08034477458bbc8869e9ebb1fea76fb6f";
+  integrity 
sha512-jrlCgFcg0wAfrtzSwU5F8iVdIBmL325d6jupD3N2CirSG6TxAmHDkeAbFyY6ZjaT27XYWXJUwvqvsbbNXAdNzw==
+  dependencies:
+    "@docusaurus/core" "2.0.0-beta.8"
+    "@docusaurus/plugin-content-blog" "2.0.0-beta.8"
+    "@docusaurus/plugin-content-docs" "2.0.0-beta.8"
+    "@docusaurus/plugin-content-pages" "2.0.0-beta.8"
+    "@docusaurus/types" "2.0.0-beta.8"
+    clsx "^1.1.1"
+    fs-extra "^10.0.0"
+    tslib "^2.3.1"
+    utility-types "^3.10.0"
+
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-beta.6.tgz#c92214a075a23fe9fb87cfbc6f037ca07e83f628";
@@ -1554,6 +1927,22 @@
     eta "^1.12.1"
     lodash "^4.17.20"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-beta.8.tgz#9747f6975719152ac18674c526a90930ef9303fb";
+  integrity 
sha512-ryT57Wipems0GbB0WxdrTUJ4q/1DM6xoqJlpGGnTy52FEZi3ZoCp+1yxaBLbKKYevGl1nEF3S0kp1o13UiqKTw==
+  dependencies:
+    "@docsearch/react" "^3.0.0-alpha.39"
+    "@docusaurus/core" "2.0.0-beta.8"
+    "@docusaurus/theme-common" "2.0.0-beta.8"
+    "@docusaurus/utils" "2.0.0-beta.8"
+    "@docusaurus/utils-validation" "2.0.0-beta.8"
+    algoliasearch "^4.10.5"
+    algoliasearch-helper "^3.5.5"
+    clsx "^1.1.1"
+    eta "^1.12.3"
+    lodash "^4.17.20"
+
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/types/-/types-2.0.0-beta.6.tgz#f92a61cc42e5921d325114ebc7b30c5e8c368683";
@@ -1565,6 +1954,18 @@
     webpack "^5.40.0"
     webpack-merge "^5.8.0"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/types/-/types-2.0.0-beta.8.tgz#0dd7e51ca403c9567eb18d985bb65c975ce15cbc";
+  integrity 
sha512-wEzyQvku2zNNp3ChPk1x5s7SvlFygTyuqL9dpwvzCsJhxqZ0JH+whellh2YtDQQO617npOM8l6MC1Yd6ePws2Q==
+  dependencies:
+    commander "^5.1.0"
+    joi "^17.4.2"
+    querystring "0.2.0"
+    utility-types "^3.10.0"
+    webpack "^5.40.0"
+    webpack-merge "^5.8.0"
+
 "@docusaurus/[email protected]":
   version "2.0.0-rc.1"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/types/-/types-2.0.0-rc.1.tgz#032f8afde6b4878e37f984b9949a96b150103c21";
@@ -1587,6 +1988,14 @@
     "@docusaurus/types" "2.0.0-beta.6"
     tslib "^2.2.0"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.0.0-beta.8.tgz#962534413af2f95d8562b46f077be3a6a49fee61";
+  integrity 
sha512-SWnXd+VHN+YWKJGdaPHLmREaNMKEFQmAN12xA/FufXFDvVZJOA2YShLEAjSJDQTKt9hfGys3JCYF1PBgosB0sA==
+  dependencies:
+    "@docusaurus/types" "2.0.0-beta.8"
+    tslib "^2.3.1"
+
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.6.tgz#7b98216de844138e9606a128c09182185ed84621";
@@ -1597,6 +2006,16 @@
     joi "^17.4.0"
     tslib "^2.1.0"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.8.tgz#a2093f8e20c79581bc41d6156e4f3a8e3ce95a9a";
+  integrity 
sha512-zcoJw9Bo/WkRLJhD53ck0rA68cnswc9TB84F/hOm92X4QkhjCUtb5XlMUtTtvO9ScnlgsFiQYaySrFRAM+fr5w==
+  dependencies:
+    "@docusaurus/utils" "2.0.0-beta.8"
+    chalk "^4.1.2"
+    joi "^17.4.2"
+    tslib "^2.3.1"
+
 "@docusaurus/[email protected]":
   version "2.0.0-beta.6"
   resolved 
"https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.0.0-beta.6.tgz#1438df9f28b632fe7a4f50663340b463cff07cab";
@@ -1614,6 +2033,26 @@
     resolve-pathname "^3.0.0"
     tslib "^2.2.0"
 
+"@docusaurus/[email protected]":
+  version "2.0.0-beta.8"
+  resolved 
"https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.0.0-beta.8.tgz#f6754c8e767cdfcca324eb8e1ac1ceb455d10deb";
+  integrity 
sha512-PMdPg8ft/zdAqhuDvMLzDlwXEp01qAh+eOXciKElDrh1zuQM/Hwjg0G3sKiwKInbpHJcz6lbTJCpEjmvMGlXpg==
+  dependencies:
+    "@docusaurus/types" "2.0.0-beta.8"
+    "@mdx-js/runtime" "^1.6.22"
+    "@types/github-slugger" "^1.3.0"
+    chalk "^4.1.2"
+    escape-string-regexp "^4.0.0"
+    fs-extra "^10.0.0"
+    globby "^11.0.4"
+    gray-matter "^4.0.3"
+    lodash "^4.17.20"
+    micromatch "^4.0.4"
+    remark-mdx-remove-exports "^1.6.22"
+    remark-mdx-remove-imports "^1.6.22"
+    resolve-pathname "^3.0.0"
+    tslib "^2.3.1"
+
 "@emotion/is-prop-valid@^1.1.0":
   version "1.1.3"
   resolved 
"https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.1.3.tgz#f0907a416368cf8df9e410117068e20fe87c0a3a";
@@ -1754,7 +2193,7 @@
   resolved 
"https://registry.yarnpkg.com/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919";
   integrity 
sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==
 
-"@mdx-js/mdx@^1.6.21":
+"@mdx-js/[email protected]", "@mdx-js/mdx@^1.6.21":
   version "1.6.22"
   resolved 
"https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba";
   integrity 
sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==
@@ -1779,11 +2218,20 @@
     unist-builder "2.0.3"
     unist-util-visit "2.0.3"
 
-"@mdx-js/react@^1.6.21":
+"@mdx-js/[email protected]", "@mdx-js/react@^1.6.21":
   version "1.6.22"
   resolved 
"https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573";
   integrity 
sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==
 
+"@mdx-js/runtime@^1.6.22":
+  version "1.6.22"
+  resolved 
"https://registry.yarnpkg.com/@mdx-js/runtime/-/runtime-1.6.22.tgz#3edd388bf68a519ffa1aaf9c446b548165102345";
+  integrity 
sha512-p17spaO2+55VLCuxXA3LVHC4phRx60NR2XMdZ+qgVU1lKvEX4y88dmFNOzGDCPLJ03IZyKrJ/rPWWRiBrd9JrQ==
+  dependencies:
+    "@mdx-js/mdx" "1.6.22"
+    "@mdx-js/react" "1.6.22"
+    buble-jsx-only "^0.19.8"
+
 "@mdx-js/[email protected]":
   version "1.6.22"
   resolved 
"https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b";
@@ -2563,12 +3011,17 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8:
     mime-types "~2.1.34"
     negotiator "0.6.3"
 
+acorn-dynamic-import@^4.0.0:
+  version "4.0.0"
+  resolved 
"https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948";
+  integrity 
sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==
+
 acorn-import-assertions@^1.7.6:
   version "1.8.0"
   resolved 
"https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9";
   integrity 
sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==
 
-acorn-jsx@^5.3.2:
+acorn-jsx@^5.0.1, acorn-jsx@^5.3.2:
   version "5.3.2"
   resolved 
"https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937";
   integrity 
sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
@@ -2578,6 +3031,11 @@ acorn-walk@^8.0.0:
   resolved 
"https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1";
   integrity 
sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
 
+acorn@^6.1.1:
+  version "6.4.2"
+  resolved 
"https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6";
+  integrity 
sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
+
 acorn@^8.0.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1:
   version "8.7.1"
   resolved 
"https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30";
@@ -2655,7 +3113,7 @@ ajv@^8.0.0, ajv@^8.0.1, ajv@^8.8.0:
     require-from-string "^2.0.2"
     uri-js "^4.2.2"
 
-algoliasearch-helper@^3.3.4:
+algoliasearch-helper@^3.3.4, algoliasearch-helper@^3.5.5:
   version "3.10.0"
   resolved 
"https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.10.0.tgz#59a0f645dd3c7e55cf01faa568d1af50c49d36f6";
   integrity 
sha512-4E4od8qWWDMVvQ3jaRX6Oks/k35ywD011wAA4LbYMMjOtaZV6VWaTjRr4iN2bdaXP2o1BP7SLFMBf3wvnHmd8Q==
@@ -2682,6 +3140,26 @@ algoliasearch@^4.0.0, algoliasearch@^4.8.4:
     "@algolia/requester-node-http" "4.14.0"
     "@algolia/transporter" "4.14.0"
 
+algoliasearch@^4.10.5:
+  version "4.14.1"
+  resolved 
"https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.14.1.tgz#7f24cabd264f8294b461d108e1603e673571e806";
+  integrity 
sha512-ZWqnbsGUgU03/IyG995pMCc+EmNVDA/4c9ntr8B0dWQwFqazOQ4ErvKZxarbgSNmyPo/eZcVsTb0bNplJMttGQ==
+  dependencies:
+    "@algolia/cache-browser-local-storage" "4.14.1"
+    "@algolia/cache-common" "4.14.1"
+    "@algolia/cache-in-memory" "4.14.1"
+    "@algolia/client-account" "4.14.1"
+    "@algolia/client-analytics" "4.14.1"
+    "@algolia/client-common" "4.14.1"
+    "@algolia/client-personalization" "4.14.1"
+    "@algolia/client-search" "4.14.1"
+    "@algolia/logger-common" "4.14.1"
+    "@algolia/logger-console" "4.14.1"
+    "@algolia/requester-browser-xhr" "4.14.1"
+    "@algolia/requester-common" "4.14.1"
+    "@algolia/requester-node-http" "4.14.1"
+    "@algolia/transporter" "4.14.1"
+
 ansi-align@^3.0.0:
   version "3.0.1"
   resolved 
"https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59";
@@ -2947,7 +3425,7 @@ atob@^2.1.2:
   resolved 
"https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9";
   integrity 
sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
 
-autoprefixer@^10.2.5, autoprefixer@^10.3.7:
+autoprefixer@^10.2.5, autoprefixer@^10.3.5, autoprefixer@^10.3.7:
   version "10.4.7"
   resolved 
"https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.7.tgz#1db8d195f41a52ca5069b7593be167618edbbedf";
   integrity 
sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==
@@ -2978,6 +3456,13 @@ axios@^0.21.1:
   dependencies:
     follow-redirects "^1.14.0"
 
+axios@^0.25.0:
+  version "0.25.0"
+  resolved 
"https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a";
+  integrity 
sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==
+  dependencies:
+    follow-redirects "^1.14.7"
+
 axobject-query@^2.2.0:
   version "2.2.0"
   resolved 
"https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be";
@@ -3222,6 +3707,19 @@ browserslist@^4.0.0, browserslist@^4.14.5, 
browserslist@^4.16.6, browserslist@^4
     node-releases "^2.0.6"
     update-browserslist-db "^1.0.4"
 
+buble-jsx-only@^0.19.8:
+  version "0.19.8"
+  resolved 
"https://registry.yarnpkg.com/buble-jsx-only/-/buble-jsx-only-0.19.8.tgz#6e3524aa0f1c523de32496ac9aceb9cc2b493867";
+  integrity 
sha512-7AW19pf7PrKFnGTEDzs6u9+JZqQwM1VnLS19OlqYDhXomtFFknnoQJAPHeg84RMFWAvOhYrG7harizJNwUKJsA==
+  dependencies:
+    acorn "^6.1.1"
+    acorn-dynamic-import "^4.0.0"
+    acorn-jsx "^5.0.1"
+    chalk "^2.4.2"
+    magic-string "^0.25.3"
+    minimist "^1.2.0"
+    regexpu-core "^4.5.4"
+
 buffer-from@^1.0.0:
   version "1.1.2"
   resolved 
"https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5";
@@ -3415,7 +3913,7 @@ character-reference-invalid@^1.0.0:
   resolved 
"https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560";
   integrity 
sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
 
-"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.1:
+"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.1, chokidar@^3.5.2:
   version "3.5.3"
   resolved 
"https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd";
   integrity 
sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
@@ -3810,7 +4308,7 @@ copy-to-clipboard@^3.3.1:
   dependencies:
     toggle-selection "^1.0.6"
 
-copy-webpack-plugin@^9.0.0:
+copy-webpack-plugin@^9.0.0, copy-webpack-plugin@^9.0.1:
   version "9.1.0"
   resolved 
"https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz#2d2c460c4c4695ec0a58afb2801a1205256c4e6b";
   integrity 
sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==
@@ -3835,6 +4333,11 @@ core-js-pure@^3.20.2:
   resolved 
"https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.23.5.tgz#23daaa9af9230e50f10b0fa4b8e6b87402be4c33";
   integrity 
sha512-8t78LdpKSuCq4pJYCYk8hl7XEkAX+BP16yRIwL3AanTksxuEf7CM83vRyctmiEL8NDZ3jpUcv56fk9/zG3aIuw==
 
+core-js@^3.18.0:
+  version "3.24.0"
+  resolved 
"https://registry.yarnpkg.com/core-js/-/core-js-3.24.0.tgz#4928d4e99c593a234eb1a1f9abd3122b04d3ac57";
+  integrity 
sha512-IeOyT8A6iK37Ep4kZDD423mpi6JfPRoPUdQwEWYiGolvn4o6j2diaRzNfDfpTdu3a5qMbrGUzKUpYpRY8jXCkQ==
+
 core-js@^3.9.1:
   version "3.23.5"
   resolved 
"https://registry.yarnpkg.com/core-js/-/core-js-3.23.5.tgz#1f82b0de5eece800827a2f59d597509c67650475";
@@ -3927,7 +4430,7 @@ css-loader@^5.1.1:
     schema-utils "^3.0.0"
     semver "^7.3.5"
 
-css-minimizer-webpack-plugin@^3.0.1:
+css-minimizer-webpack-plugin@^3.0.1, css-minimizer-webpack-plugin@^3.0.2:
   version "3.4.1"
   resolved 
"https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f";
   integrity 
sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==
@@ -4005,7 +4508,7 @@ cssesc@^3.0.0:
   resolved 
"https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee";
   integrity 
sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
 
-cssnano-preset-advanced@^5.1.1:
+cssnano-preset-advanced@^5.1.1, cssnano-preset-advanced@^5.1.4:
   version "5.3.8"
   resolved 
"https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.8.tgz#027b1d05ef896d908178c483f0ec4190cb50ef9a";
   integrity 
sha512-xUlLLnEB1LjpEik+zgRNlk8Y/koBPPtONZjp7JKbXigeAmCrFvq9H0pXW5jJV45bQWAlmJ0sKy+IMr0XxLYQZg==
@@ -4057,7 +4560,7 @@ cssnano-utils@^3.1.0:
   resolved 
"https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861";
   integrity 
sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==
 
-cssnano@^5.0.4, cssnano@^5.0.6:
+cssnano@^5.0.4, cssnano@^5.0.6, cssnano@^5.0.8:
   version "5.1.12"
   resolved 
"https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.12.tgz#bcd0b64d6be8692de79332c501daa7ece969816c";
   integrity 
sha512-TgvArbEZu0lk/dvg2ja+B7kYoD7BBCmn3+k58xD0qjrGHsFzXY/wKTo9M5egcUCabPol05e/PVoIu79s2JN4WQ==
@@ -4819,7 +5322,7 @@ esutils@^2.0.2:
   resolved 
"https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64";
   integrity 
sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
 
-eta@^1.11.0, eta@^1.12.1:
+eta@^1.12.1, eta@^1.12.3:
   version "1.12.3"
   resolved 
"https://registry.yarnpkg.com/eta/-/eta-1.12.3.tgz#2982d08adfbef39f9fa50e2fbd42d7337e7338b1";
   integrity 
sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg==
@@ -5222,7 +5725,7 @@ flux@^4.0.1:
     fbemitter "^3.0.0"
     fbjs "^3.0.1"
 
-follow-redirects@^1.0.0, follow-redirects@^1.14.0:
+follow-redirects@^1.0.0, follow-redirects@^1.14.0, follow-redirects@^1.14.7:
   version "1.15.1"
   resolved 
"https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5";
   integrity 
sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==
@@ -5399,7 +5902,7 @@ get-value@^2.0.3, get-value@^2.0.6:
   resolved 
"https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
   integrity 
sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==
 
-github-slugger@^1.3.0:
+github-slugger@^1.3.0, github-slugger@^1.4.0:
   version "1.4.0"
   resolved 
"https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.4.0.tgz#206eb96cdb22ee56fdc53a28d5a302338463444e";
   integrity 
sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==
@@ -5861,7 +6364,7 @@ html-void-elements@^1.0.0:
   resolved 
"https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483";
   integrity 
sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==
 
-html-webpack-plugin@^5.3.2:
+html-webpack-plugin@^5.3.2, html-webpack-plugin@^5.4.0:
   version "5.5.0"
   resolved 
"https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50";
   integrity 
sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==
@@ -6035,6 +6538,11 @@ [email protected]:
   resolved 
"https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.33.tgz#8d1a77ea916bedcebffa60dcd2dffbe382e09abf";
   integrity 
sha512-iLZI8/vGTbbhbeFhlWv1zwvrqfNDLAayuEdqZqNqCyGuh0IW469dRIRm0FLZ98YyLikt2njzuKfy6xUrBWRXcg==
 
[email protected]:
+  version "0.2.0-alpha.34"
+  resolved 
"https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.34.tgz#14a900d79a4de2013e025ac95749a4592f16ef6e";
+  integrity 
sha512-Na6A2Tl56i1p9dzu7VOAT1Kmu3f5buz63Wvd+D9ZZWL6siQ47L7wkEZUICVKFgc5gERFZVZ/PoPB57Kl++h37Q==
+
 inflight@^1.0.4:
   version "1.0.6"
   resolved 
"https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9";
@@ -6583,7 +7091,7 @@ jest-worker@^27.0.2, jest-worker@^27.4.5:
     merge-stream "^2.0.0"
     supports-color "^8.0.0"
 
-joi@^17.3.0, joi@^17.4.0, joi@^17.6.0:
+joi@^17.3.0, joi@^17.4.0, joi@^17.4.2, joi@^17.6.0:
   version "17.6.0"
   resolved 
"https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2";
   integrity 
sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==
@@ -6750,7 +7258,7 @@ kleur@^3.0.3:
   resolved 
"https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e";
   integrity 
sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
 
-klona@^2.0.4:
+klona@^2.0.4, klona@^2.0.5:
   version "2.0.5"
   resolved 
"https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc";
   integrity 
sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==
@@ -7072,6 +7580,13 @@ [email protected]:
     "@videojs/vhs-utils" "^3.0.5"
     global "^4.4.0"
 
+magic-string@^0.25.3:
+  version "0.25.9"
+  resolved 
"https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c";
+  integrity 
sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
+  dependencies:
+    sourcemap-codec "^1.4.8"
+
 make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
   version "3.1.0"
   resolved 
"https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f";
@@ -7951,7 +8466,7 @@ parse-json@^5.0.0:
     json-parse-even-better-errors "^2.3.0"
     lines-and-columns "^1.1.6"
 
-parse-numeric-range@^1.2.0:
+parse-numeric-range@^1.2.0, parse-numeric-range@^1.3.0:
   version "1.3.0"
   resolved 
"https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3";
   integrity 
sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==
@@ -8219,6 +8734,15 @@ postcss-loader@^5.3.0:
     klona "^2.0.4"
     semver "^7.3.4"
 
+postcss-loader@^6.1.1:
+  version "6.2.1"
+  resolved 
"https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef";
+  integrity 
sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==
+  dependencies:
+    cosmiconfig "^7.0.0"
+    klona "^2.0.5"
+    semver "^7.3.5"
+
 postcss-media-query-parser@^0.2.3:
   version "0.2.3"
   resolved 
"https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244";
@@ -8433,6 +8957,13 @@ postcss-sort-media-queries@^3.10.11:
   dependencies:
     sort-css-media-queries "2.0.4"
 
+postcss-sort-media-queries@^4.1.0:
+  version "4.2.1"
+  resolved 
"https://registry.yarnpkg.com/postcss-sort-media-queries/-/postcss-sort-media-queries-4.2.1.tgz#a99bae69ef1098ee3b64a5fa94d258ec240d0355";
+  integrity 
sha512-9VYekQalFZ3sdgcTjXMa0dDjsfBVHXlraYJEMiOJ/2iMmI2JGCMavP16z3kWOaRu8NSaJCTgVpB/IVpH5yT9YQ==
+  dependencies:
+    sort-css-media-queries "2.0.4"
+
 postcss-svgo@^5.1.0:
   version "5.1.0"
   resolved 
"https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d";
@@ -8458,7 +8989,7 @@ postcss-zindex@^5.1.0:
   resolved 
"https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-5.1.0.tgz#4a5c7e5ff1050bd4c01d95b1847dfdcc58a496ff";
   integrity 
sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==
 
-postcss@^8.2.15, postcss@^8.3.11, postcss@^8.3.5, postcss@^8.4.14:
+postcss@^8.2.15, postcss@^8.3.11, postcss@^8.3.5, postcss@^8.3.7, 
postcss@^8.4.14:
   version "8.4.14"
   resolved 
"https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf";
   integrity 
sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
@@ -9009,7 +9540,7 @@ readdirp@~3.6.0:
   dependencies:
     picomatch "^2.2.1"
 
-reading-time@^1.3.0:
+reading-time@^1.3.0, reading-time@^1.5.0:
   version "1.5.0"
   resolved 
"https://registry.yarnpkg.com/reading-time/-/reading-time-1.5.0.tgz#d2a7f1b6057cb2e169beaf87113cc3411b5bc5bb";
   integrity 
sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==
@@ -9043,6 +9574,13 @@ regenerate-unicode-properties@^10.0.1:
   dependencies:
     regenerate "^1.4.2"
 
+regenerate-unicode-properties@^9.0.0:
+  version "9.0.0"
+  resolved 
"https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326";
+  integrity 
sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==
+  dependencies:
+    regenerate "^1.4.2"
+
 regenerate@^1.4.2:
   version "1.4.2"
   resolved 
"https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a";
@@ -9082,6 +9620,18 @@ regexpp@^3.2.0:
   resolved 
"https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2";
   integrity 
sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
 
+regexpu-core@^4.5.4:
+  version "4.8.0"
+  resolved 
"https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0";
+  integrity 
sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==
+  dependencies:
+    regenerate "^1.4.2"
+    regenerate-unicode-properties "^9.0.0"
+    regjsgen "^0.5.2"
+    regjsparser "^0.7.0"
+    unicode-match-property-ecmascript "^2.0.0"
+    unicode-match-property-value-ecmascript "^2.0.0"
+
 regexpu-core@^5.1.0:
   version "5.1.0"
   resolved 
"https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.1.0.tgz#2f8504c3fd0ebe11215783a41541e21c79942c6d";
@@ -9108,11 +9658,23 @@ registry-url@^5.0.0:
   dependencies:
     rc "^1.2.8"
 
+regjsgen@^0.5.2:
+  version "0.5.2"
+  resolved 
"https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733";
+  integrity 
sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
+
 regjsgen@^0.6.0:
   version "0.6.0"
   resolved 
"https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d";
   integrity 
sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==
 
+regjsparser@^0.7.0:
+  version "0.7.0"
+  resolved 
"https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968";
+  integrity 
sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==
+  dependencies:
+    jsesc "~0.5.0"
+
 regjsparser@^0.8.2:
   version "0.8.4"
   resolved 
"https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f";
@@ -9157,6 +9719,20 @@ [email protected]:
   resolved 
"https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-2.0.0.tgz#9001c4c2ffebba55695d2dd80ffb8b82f7e6303f";
   integrity 
sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==
 
+remark-mdx-remove-exports@^1.6.22:
+  version "1.6.22"
+  resolved 
"https://registry.yarnpkg.com/remark-mdx-remove-exports/-/remark-mdx-remove-exports-1.6.22.tgz#9e34f3d02c9c54b02ca0a1fde946449338d06ecb";
+  integrity 
sha512-7g2uiTmTGfz5QyVb+toeX25frbk1Y6yd03RXGPtqx0+DVh86Gb7MkNYbk7H2X27zdZ3CQv1W/JqlFO0Oo8IxVA==
+  dependencies:
+    unist-util-remove "2.0.0"
+
+remark-mdx-remove-imports@^1.6.22:
+  version "1.6.22"
+  resolved 
"https://registry.yarnpkg.com/remark-mdx-remove-imports/-/remark-mdx-remove-imports-1.6.22.tgz#79f711c95359cff437a120d1fbdc1326ec455826";
+  integrity 
sha512-lmjAXD8Ltw0TsvBzb45S+Dxx7LTJAtDaMneMAv8LAUIPEyYoKkmGbmVsiF0/pY6mhM1Q16swCmu1TN+ie/vn/A==
+  dependencies:
+    unist-util-remove "2.0.0"
+
 [email protected], remark-mdx@^1.6.22:
   version "1.6.22"
   resolved 
"https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.6.22.tgz#06a8dab07dcfdd57f3373af7f86bd0e992108bbd";
@@ -9408,12 +9984,12 @@ rtl-css-js@^1.14.0:
   dependencies:
     "@babel/runtime" "^7.1.2"
 
-rtl-detect@^1.0.3:
+rtl-detect@^1.0.3, rtl-detect@^1.0.4:
   version "1.0.4"
   resolved 
"https://registry.yarnpkg.com/rtl-detect/-/rtl-detect-1.0.4.tgz#40ae0ea7302a150b96bc75af7d749607392ecac6";
   integrity 
sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ==
 
-rtlcss@^3.1.2:
+rtlcss@^3.1.2, rtlcss@^3.3.0:
   version "3.5.0"
   resolved 
"https://registry.yarnpkg.com/rtlcss/-/rtlcss-3.5.0.tgz#c9eb91269827a102bac7ae3115dd5d049de636c3";
   integrity 
sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==
@@ -9444,7 +10020,7 @@ rxjs@^6.3.3, rxjs@^6.6.3:
   dependencies:
     tslib "^1.9.0"
 
-rxjs@^7.5.5:
+rxjs@^7.5.4, rxjs@^7.5.5:
   version "7.5.6"
   resolved 
"https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc";
   integrity 
sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==
@@ -10539,7 +11115,7 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0:
   resolved 
"https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0";
   integrity 
sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
 
-terser-webpack-plugin@^5.1.3:
+terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.4:
   version "5.3.3"
   resolved 
"https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz#8033db876dd5875487213e87c627bca323e5ed90";
   integrity 
sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==
@@ -10713,7 +11289,7 @@ tslib@^1.8.1, tslib@^1.9.0:
   resolved 
"https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00";
   integrity 
sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
 
-tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.4.0:
+tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.1, tslib@^2.4.0:
   version "2.4.0"
   resolved 
"https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3";
   integrity 
sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
@@ -10902,6 +11478,13 @@ unist-util-remove-position@^2.0.0:
   dependencies:
     unist-util-visit "^2.0.0"
 
[email protected]:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.0.0.tgz#32c2ad5578802f2ca62ab808173d505b2c898488";
+  integrity 
sha512-HwwWyNHKkeg/eXRnE11IpzY8JT55JNM1YCwwU9YNCnfzk6s8GhPXrVBBZWiwLeATJbI7euvoGSzcy9M29UeW3g==
+  dependencies:
+    unist-util-is "^4.0.0"
+
 unist-util-remove@^2.0.0:
   version "2.1.0"
   resolved 
"https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.1.0.tgz#b0b4738aa7ee445c402fda9328d604a02d010588";
@@ -11207,6 +11790,17 @@ wait-on@^5.3.0:
     minimist "^1.2.5"
     rxjs "^6.6.3"
 
+wait-on@^6.0.0:
+  version "6.0.1"
+  resolved 
"https://registry.yarnpkg.com/wait-on/-/wait-on-6.0.1.tgz#16bbc4d1e4ebdd41c5b4e63a2e16dbd1f4e5601e";
+  integrity 
sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==
+  dependencies:
+    axios "^0.25.0"
+    joi "^17.6.0"
+    lodash "^4.17.21"
+    minimist "^1.2.5"
+    rxjs "^7.5.4"
+
 watchpack@^2.3.1:
   version "2.4.0"
   resolved 
"https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d";

Reply via email to