(null);
- useEffect(() => {
- setValue(readSearchName(location.search));
- }, [location]);
- return (
-
- {
- setValue(e.currentTarget.value);
- const newSearch = new URLSearchParams(location.search);
- newSearch.delete(SearchNameQueryKey);
- if (e.currentTarget.value) {
- newSearch.set(SearchNameQueryKey, e.currentTarget.value);
- }
- history.push({
- ...location,
- search: newSearch.toString(),
- state: prepareUserState(),
- });
- setTimeout(() => {
- document.getElementById('searchbar')?.focus();
- }, 0);
- }}
- />
-
- );
-}
-
-function PluginDirectoryCards() {
- const filteredPlugins = useFilteredPlugins();
-
- if (filteredPlugins.length === 0) {
- return (
-
- );
- }
-
- return (
-
- {filteredPlugins.length === sortedPlugins.length ? (
- <>
-
-
-
-
-
- Our favourite plugins
-
-
-
-
-
-
- {favouritePlugins.map((plugin) => (
-
- ))}
-
-
-
-
-
- All plugins
-
-
- {otherPlugins.map((plugin) => (
-
- ))}
-
-
- >
- ) : (
-
-
-
-
-
- {filteredPlugins.map((plugin) => (
-
- ))}
-
-
- )}
-
- );
-}
-
-export default function PluginDirectory(): JSX.Element {
- return (
-
-
-
-
-
-
-
- );
-}
diff --git a/src/pages/plugindirectory/styles.module.scss b/src/pages/plugindirectory/styles.module.scss
deleted file mode 100644
index 6f24333..0000000
--- a/src/pages/plugindirectory/styles.module.scss
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-.filterCheckbox {
- justify-content: space-between;
-}
-
-.filterCheckbox,
-.checkboxList {
- display: flex;
- align-items: center;
-}
-
-.filterCheckbox > div:first-child {
- display: flex;
- flex: 1 1 auto;
- align-items: center;
-}
-
-.filterCheckbox > div > * {
- margin-bottom: 0;
- margin-right: 8px;
-}
-
-.checkboxList {
- flex-wrap: wrap;
-}
-
-.checkboxListItem {
- -webkit-user-select: none;
- user-select: none;
- white-space: nowrap;
- height: 32px;
- font-size: 0.8rem;
- margin-top: 0.5rem;
- margin-right: 0.5rem;
-}
-
-.checkboxListItem:last-child {
- margin-right: 0;
-}
-
-.searchContainer {
- margin-left: auto;
-}
-
-.searchContainer input {
- height: 30px;
- border-radius: 15px;
- padding: 10px;
- border: 1px solid gray;
- width: 15rem;
-}
-
-.pluginDirectoryList {
- display: grid;
- grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
- gap: 24px;
-}
-
-.pluginDirectoryFavourite {
- padding-top: 2rem;
- padding-bottom: 2rem;
- background-color: var(--site-color-favourite-background);
-}
-
-.pluginDirectoryFavouriteHeader {
- display: flex;
- align-items: center;
-}
-
-.pluginDirectoryFavouriteHeader > h2 {
- margin-bottom: 0;
-}
-
-.svgIconFavouriteXs,
-.svgIconFavourite {
- color: var(--site-color-svg-icon-favourite);
-}
-
-.svgIconFavouriteXs {
- margin-left: 0.625rem;
- font-size: 1rem;
-}
-
-.svgIconFavourite {
- margin-left: 1rem;
-}
-
-.svgIconDocusaurus {
- height: 1rem;
- width: 1rem;
- margin-left: 1rem;
-}
-
-.buttonIcon {
- margin-right: 0.25rem;
-}
diff --git a/static/schema/plugin/1.0.0.json b/static/schema/plugin/1.0.0.json
index 189abba..31052a4 100644
--- a/static/schema/plugin/1.0.0.json
+++ b/static/schema/plugin/1.0.0.json
@@ -1,131 +1,43 @@
{
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "version": "1.0.0",
- "id": "https://docusaurus.community/schema/plugin/1.0.0.json",
- "title": "Docusaurus Plugin",
- "description": "Docusaurus Plugin or Theme Schema for the Docusaurus Community Plugin Directory",
- "type": "object",
- "properties": {
- "id": {
- "description": "The unique identifier of the plugin or theme, format is 'author.plugin-short-name'.",
- "type": "string",
- "pattern": "^[a-z0-9-]+\\.[a-z0-9-]+$",
- "examples": [
- "docusaurus.blog",
- "docusaurus.theme-classic",
- "docusaurus.theme-live-codeblock"
- ]
- },
- "name": {
- "description": "The display name of the plugin or theme.",
- "type": "string",
- "examples": [
- "Blog",
- "Classic Theme",
- "Theme Live Codeblock"
- ]
- },
- "description": {
- "description": "The description of the plugin or theme.",
- "type": "string",
- "examples": [
- "Official Docusaurus blog plugin.",
- "Official Docusaurus classic theme.",
- "Official Docusaurus theme for live codeblocks."
- ]
- },
- "preview": {
- "description": "The preview image of the plugin or theme. Relative paths require you to place your preview image into 'img' in the `data` directory. Using `null` will generate a preview image for you from the website URL.",
- "type": "string",
- "examples": [
- "https://docusaurus.io/img/slash-birth.png",
- "./img/slash-birth.png"
- ]
- },
- "website": {
- "description": "The public website of the plugin or theme. If you don't have one yet, you can use the GitHub repository URL or NPM package URL.",
- "type": "string",
- "examples": [
- "https://docusaurus.io/docs/api/themes/@docusaurus/theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "source": {
- "description": "The source code of the plugin or theme. Only open source plugins or themes are allowed in the Docusaurus Community Plugin Directory.",
- "type": "string",
- "examples": [
- "https://github.com/facebook/docusaurus/tree/main/packages/docusaurus-theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "author": {
- "description": "The author of the plugin or theme.",
- "type": "string",
- "examples": [
- "Docusaurus",
- "RdilWeb"
- ]
- },
- "tags": {
- "description": "The tag(s) of the plugin or theme. Tags are used to categorize plugins and themes.",
- "type": "array",
- "items": {
- "enum": [
- "search",
- "api",
- "utility",
- "content",
- "theme",
- "markdown",
- "analytics",
- "integration",
- "seo",
- "editing"
- ]
- }
- },
- "minimumVersion": {
- "description": "The minimum version of Docusaurus required to use the plugin or theme.",
- "type": "string",
- "examples": [
- "2.0.0-alpha.0",
- "2.0.0-beta.0",
- "2.3.1"
- ]
- },
- "maintenanceStatus": {
- "description": "The maintenance status of the plugin or theme.",
- "type": "string",
- "enum": [
- "maintained",
- "unmaintained",
- "unknown"
- ]
- },
- "npmPackages": {
- "description": "The NPM package(s) of the plugin or theme.",
- "type": "array",
- "items": {
- "type": "string",
- "examples": [
- "@docusaurus/plugin-content-blog",
- "@docusaurus/theme-classic",
- "@docusaurus/theme-live-codeblock"
- ]
- }
- }
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://docusaurus.community/schema/plugin/1.0.0.json",
+ "title": "PluginsPresetItem",
+ "type": "object",
+ "required": ["id", "name", "description", "website"],
+ "additionalProperties": false,
+ "properties": {
+ "id": { "type": "string" },
+ "name": { "type": "string" },
+ "description": { "type": "string" },
+ "website": { "type": "string", "format": "uri" },
+ "source": { "type": ["string", "null"], "format": "uri" },
+ "preview": { "type": ["string", "null"] },
+ "author": { "type": ["string", "null"] },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "favourite",
+ "docusaurus",
+ "search",
+ "api",
+ "utility",
+ "content",
+ "theme",
+ "markdown",
+ "analytics",
+ "integration",
+ "seo",
+ "editing"
+ ]
+ }
},
- "required": [
- "id",
- "name",
- "description",
- "preview",
- "website",
- "source",
- "author",
- "tags",
- "minimumVersion",
- "maintenanceStatus",
- "npmPackages"
- ]
-}
\ No newline at end of file
+ "status": {
+ "type": ["string", "null"],
+ "enum": ["maintained", "unmaintained", "unknown", null]
+ },
+ "npmPackages": { "type": ["array", "null"], "items": { "type": "string" } },
+ "minimumVersion": { "type": ["string", "null"] }
+ }
+}
diff --git a/static/schema/plugin/1.0.1.json b/static/schema/plugin/1.0.1.json
deleted file mode 100644
index 7dfe06e..0000000
--- a/static/schema/plugin/1.0.1.json
+++ /dev/null
@@ -1,131 +0,0 @@
-{
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "version": "1.0.1",
- "id": "https://docusaurus.community/schema/plugin/1.0.1.json",
- "title": "Docusaurus Plugin",
- "description": "Docusaurus Plugin or Theme Schema for the Docusaurus Community Plugin Directory",
- "type": "object",
- "properties": {
- "id": {
- "description": "The unique identifier of the plugin or theme, format is 'author.plugin-short-name'.",
- "type": "string",
- "pattern": "^[a-z0-9-]+\\.[a-z0-9-]+$",
- "examples": [
- "docusaurus.blog",
- "docusaurus.theme-classic",
- "docusaurus.theme-live-codeblock"
- ]
- },
- "name": {
- "description": "The display name of the plugin or theme.",
- "type": "string",
- "examples": [
- "Blog",
- "Classic Theme",
- "Theme Live Codeblock"
- ]
- },
- "description": {
- "description": "The description of the plugin or theme.",
- "type": "string",
- "examples": [
- "Official Docusaurus blog plugin.",
- "Official Docusaurus classic theme.",
- "Official Docusaurus theme for live codeblocks."
- ]
- },
- "preview": {
- "description": "The preview image of the plugin or theme. Relative paths require you to place your preview image into 'img' in the `data` directory. Using `null` will generate a preview image for you from the website URL.",
- "type": ["string", "null"],
- "examples": [
- "https://docusaurus.io/img/slash-birth.png",
- "./img/slash-birth.png"
- ]
- },
- "website": {
- "description": "The public website of the plugin or theme. If you don't have one yet, you can use the GitHub repository URL or NPM package URL.",
- "type": "string",
- "examples": [
- "https://docusaurus.io/docs/api/themes/@docusaurus/theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "source": {
- "description": "The source code of the plugin or theme. Only open source plugins or themes are allowed in the Docusaurus Community Plugin Directory.",
- "type": "string",
- "examples": [
- "https://github.com/facebook/docusaurus/tree/main/packages/docusaurus-theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "author": {
- "description": "The author of the plugin or theme.",
- "type": "string",
- "examples": [
- "Docusaurus",
- "RdilWeb"
- ]
- },
- "tags": {
- "description": "The tag(s) of the plugin or theme. Tags are used to categorize plugins and themes.",
- "type": "array",
- "items": {
- "enum": [
- "search",
- "api",
- "utility",
- "content",
- "theme",
- "markdown",
- "analytics",
- "integration",
- "seo",
- "editing"
- ]
- }
- },
- "minimumVersion": {
- "description": "The minimum version of Docusaurus required to use the plugin or theme.",
- "type": ["string", "null"],
- "examples": [
- "2.0.0-alpha.0",
- "2.0.0-beta.0",
- "2.3.1"
- ]
- },
- "maintenanceStatus": {
- "description": "The maintenance status of the plugin or theme.",
- "type": "string",
- "enum": [
- "maintained",
- "unmaintained",
- "unknown"
- ]
- },
- "npmPackages": {
- "description": "The NPM package(s) of the plugin or theme.",
- "type": "array",
- "items": {
- "type": "string",
- "examples": [
- "@docusaurus/plugin-content-blog",
- "@docusaurus/theme-classic",
- "@docusaurus/theme-live-codeblock"
- ]
- }
- }
- },
- "required": [
- "id",
- "name",
- "description",
- "preview",
- "website",
- "source",
- "author",
- "tags",
- "minimumVersion",
- "maintenanceStatus",
- "npmPackages"
- ]
-}
\ No newline at end of file
diff --git a/static/schema/plugin/1.0.2.json b/static/schema/plugin/1.0.2.json
deleted file mode 100644
index b27980d..0000000
--- a/static/schema/plugin/1.0.2.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "version": "1.0.2",
- "id": "https://docusaurus.community/schema/plugin/1.0.2.json",
- "title": "Docusaurus Plugin",
- "description": "Docusaurus Plugin or Theme Schema for the Docusaurus Community Plugin Directory",
- "type": "object",
- "properties": {
- "id": {
- "description": "The unique identifier of the plugin or theme, format is 'author.plugin-short-name'.",
- "type": "string",
- "pattern": "^[a-z0-9-]+\\.[a-z0-9-]+$",
- "examples": [
- "docusaurus.blog",
- "docusaurus.theme-classic",
- "docusaurus.theme-live-codeblock"
- ]
- },
- "name": {
- "description": "The display name of the plugin or theme.",
- "type": "string",
- "examples": [
- "Blog",
- "Classic Theme",
- "Theme Live Codeblock"
- ]
- },
- "description": {
- "description": "The description of the plugin or theme.",
- "type": "string",
- "examples": [
- "Official Docusaurus blog plugin.",
- "Official Docusaurus classic theme.",
- "Official Docusaurus theme for live codeblocks."
- ]
- },
- "preview": {
- "description": "The preview image of the plugin or theme. Relative paths require you to place your preview image into 'img' in the `data` directory. Using `null` will generate a preview image for you from the website URL.",
- "type": ["string", "null"],
- "examples": [
- "https://docusaurus.io/img/slash-birth.png",
- "./img/slash-birth.png"
- ]
- },
- "website": {
- "description": "The public website of the plugin or theme. If you don't have one yet, you can use the GitHub repository URL or NPM package URL.",
- "type": "string",
- "examples": [
- "https://docusaurus.io/docs/api/themes/@docusaurus/theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "source": {
- "description": "The source code of the plugin or theme. Only open source plugins or themes are allowed in the Docusaurus Community Plugin Directory.",
- "type": "string",
- "examples": [
- "https://github.com/facebook/docusaurus/tree/main/packages/docusaurus-theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "author": {
- "description": "The author of the plugin or theme.",
- "type": "string",
- "examples": [
- "Docusaurus",
- "RdilWeb"
- ]
- },
- "tags": {
- "description": "The tag(s) of the plugin or theme. Tags are used to categorize plugins and themes.",
- "type": "array",
- "items": {
- "enum": [
- "search",
- "api",
- "utility",
- "content",
- "theme",
- "markdown",
- "analytics",
- "integration",
- "seo",
- "editing",
- "docusaurus",
- "favourite"
- ]
- }
- },
- "minimumVersion": {
- "description": "The minimum version of Docusaurus required to use the plugin or theme.",
- "type": ["string", "null"],
- "examples": [
- "2.0.0-alpha.0",
- "2.0.0-beta.0",
- "2.3.1"
- ]
- },
- "maintenanceStatus": {
- "description": "The maintenance status of the plugin or theme.",
- "type": "string",
- "enum": [
- "maintained",
- "unmaintained",
- "unknown"
- ]
- },
- "npmPackages": {
- "description": "The NPM package(s) of the plugin or theme.",
- "type": "array",
- "items": {
- "type": "string",
- "examples": [
- "@docusaurus/plugin-content-blog",
- "@docusaurus/theme-classic",
- "@docusaurus/theme-live-codeblock"
- ]
- }
- }
- },
- "required": [
- "id",
- "name",
- "description",
- "preview",
- "website",
- "source",
- "author",
- "tags",
- "minimumVersion",
- "maintenanceStatus",
- "npmPackages"
- ]
-}
\ No newline at end of file
diff --git a/static/schema/plugin/1.0.3.json b/static/schema/plugin/1.0.3.json
deleted file mode 100644
index fda5e00..0000000
--- a/static/schema/plugin/1.0.3.json
+++ /dev/null
@@ -1,132 +0,0 @@
-{
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "version": "1.0.3",
- "id": "https://docusaurus.community/schema/plugin/1.0.3.json",
- "title": "Docusaurus Plugin",
- "description": "Docusaurus Plugin or Theme Schema for the Docusaurus Community Plugin Directory",
- "type": "object",
- "properties": {
- "id": {
- "description": "The unique identifier of the plugin or theme, format is 'author.plugin-short-name'.",
- "type": "string",
- "pattern": "^[a-z0-9-]+\\.[a-z0-9-]+$",
- "examples": [
- "docusaurus.blog",
- "docusaurus.theme-classic",
- "docusaurus.theme-live-codeblock"
- ]
- },
- "name": {
- "description": "The display name of the plugin or theme.",
- "type": "string",
- "examples": [
- "Blog",
- "Classic Theme",
- "Theme Live Codeblock"
- ]
- },
- "description": {
- "description": "The description of the plugin or theme.",
- "type": "string",
- "examples": [
- "Official Docusaurus blog plugin.",
- "Official Docusaurus classic theme.",
- "Official Docusaurus theme for live codeblocks."
- ]
- },
- "preview": {
- "description": "The preview image of the plugin or theme. Relative paths require you to place your preview image into 'img' in the `data` directory. Using `null` will generate a preview image for you from the website URL.",
- "type": ["string", "null"],
- "examples": [
- "https://docusaurus.io/img/slash-birth.png",
- "./img/slash-birth.png"
- ]
- },
- "website": {
- "description": "The public website of the plugin or theme. If you don't have one yet, you can use the GitHub repository URL or NPM package URL.",
- "type": "string",
- "examples": [
- "https://docusaurus.io/docs/api/themes/@docusaurus/theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "source": {
- "description": "The source code of the plugin or theme. Only open source plugins or themes are allowed in the Docusaurus Community Plugin Directory.",
- "type": "string",
- "examples": [
- "https://github.com/facebook/docusaurus/tree/main/packages/docusaurus-theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "author": {
- "description": "The author of the plugin or theme.",
- "type": "string",
- "examples": [
- "Docusaurus",
- "RdilWeb"
- ]
- },
- "tags": {
- "description": "The tag(s) of the plugin or theme. Tags are used to categorize plugins and themes.",
- "type": "array",
- "items": {
- "enum": [
- "search",
- "api",
- "utility",
- "content",
- "theme",
- "markdown",
- "analytics",
- "integration",
- "seo",
- "editing",
- "docusaurus",
- "favourite"
- ]
- }
- },
- "minimumVersion": {
- "description": "The minimum version of Docusaurus required to use the plugin or theme.",
- "type": ["string", "null"],
- "examples": [
- "2.0.0-alpha.0",
- "2.0.0-beta.0",
- "2.3.1"
- ]
- },
- "maintenanceStatus": {
- "description": "The maintenance status of the plugin or theme.",
- "type": "string",
- "enum": [
- "maintained",
- "unmaintained",
- "unknown"
- ]
- },
- "npmPackages": {
- "description": "The NPM package(s) of the plugin or theme.",
- "type": "array",
- "items": {
- "type": "string",
- "examples": [
- "@docusaurus/plugin-content-blog",
- "@docusaurus/theme-classic",
- "@docusaurus/theme-live-codeblock"
- ]
- }
- }
- },
- "required": [
- "id",
- "name",
- "description",
- "preview",
- "website",
- "source",
- "author",
- "tags",
- "minimumVersion",
- "maintenanceStatus"
- ]
-}
\ No newline at end of file
diff --git a/static/schema/plugin/1.1.0.json b/static/schema/plugin/1.1.0.json
deleted file mode 100644
index 2dcff5d..0000000
--- a/static/schema/plugin/1.1.0.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "version": "1.1.0",
- "id": "https://docusaurus.community/schema/plugin/1.1.0.json",
- "title": "Docusaurus Plugin",
- "description": "Docusaurus Plugin or Theme Schema for the Docusaurus Community Plugin Directory",
- "type": "object",
- "properties": {
- "id": {
- "description": "The unique identifier of the plugin or theme, format is 'author.plugin-short-name'.",
- "type": "string",
- "pattern": "^[a-z0-9-]+\\.[a-z0-9-]+$",
- "examples": [
- "docusaurus.blog",
- "docusaurus.theme-classic",
- "docusaurus.theme-live-codeblock"
- ]
- },
- "name": {
- "description": "The display name of the plugin or theme.",
- "type": "string",
- "examples": [
- "Blog",
- "Classic Theme",
- "Theme Live Codeblock"
- ]
- },
- "description": {
- "description": "The description of the plugin or theme.",
- "type": "string",
- "examples": [
- "Official Docusaurus blog plugin.",
- "Official Docusaurus classic theme.",
- "Official Docusaurus theme for live codeblocks."
- ]
- },
- "preview": {
- "description": "The preview image of the plugin or theme. Relative paths require you to place your preview image into 'img' in the `data` directory. Using `null` will generate a preview image for you from the website URL.",
- "type": ["string", "null"],
- "examples": [
- "https://docusaurus.io/img/slash-birth.png",
- "./img/slash-birth.png"
- ]
- },
- "website": {
- "description": "The public website of the plugin or theme. If you don't have one yet, you can use the GitHub repository URL or NPM package URL.",
- "type": "string",
- "examples": [
- "https://docusaurus.io/docs/api/themes/@docusaurus/theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "source": {
- "description": "The source code of the plugin or theme. Only open source plugins or themes are allowed in the Docusaurus Community Plugin Directory.",
- "type": "string",
- "examples": [
- "https://github.com/facebook/docusaurus/tree/main/packages/docusaurus-theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "author": {
- "description": "The author of the plugin or theme.",
- "type": "string",
- "examples": [
- "Docusaurus",
- "RdilWeb"
- ]
- },
- "tags": {
- "description": "The tag(s) of the plugin or theme. Tags are used to categorize plugins and themes.",
- "type": "array",
- "items": {
- "enum": [
- "search",
- "api",
- "utility",
- "content",
- "theme",
- "markdown",
- "analytics",
- "integration",
- "seo",
- "editing",
- "docusaurus",
- "favourite"
- ]
- }
- },
- "minimumVersion": {
- "description": "The minimum version of Docusaurus required to use the plugin or theme.",
- "type": ["string", "null"],
- "examples": [
- "2.0.0-alpha.0",
- "2.0.0-beta.0",
- "2.3.1"
- ]
- },
- "maintenanceStatus": {
- "description": "The maintenance status of the plugin or theme.",
- "type": "string",
- "enum": [
- "maintained",
- "unmaintained",
- "unknown"
- ]
- },
- "maintenanceStatusDescription": {
- "description": "The maintenance status description of the plugin or theme.",
- "type": ["string", "null"],
- "examples": [
- "No updates in the last 18 months.",
- "Confirmed incompatible with current or previous stable release of Docusaurus.",
- "NPM package unpublished or non-existent."
- ]
- },
- "npmPackages": {
- "description": "The NPM package(s) of the plugin or theme.",
- "type": "array",
- "items": {
- "type": "string",
- "examples": [
- "@docusaurus/plugin-content-blog",
- "@docusaurus/theme-classic",
- "@docusaurus/theme-live-codeblock"
- ]
- }
- }
- },
- "required": [
- "id",
- "name",
- "description",
- "preview",
- "website",
- "source",
- "author",
- "tags",
- "minimumVersion",
- "maintenanceStatus"
- ]
-}
diff --git a/static/schema/plugin/1.2.0.json b/static/schema/plugin/1.2.0.json
deleted file mode 100644
index 04f8a53..0000000
--- a/static/schema/plugin/1.2.0.json
+++ /dev/null
@@ -1,154 +0,0 @@
-{
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "version": "1.2.0",
- "id": "https://docusaurus.community/schema/plugin/1.2.0.json",
- "title": "Docusaurus Plugin",
- "description": "Docusaurus Plugin or Theme Schema for the Docusaurus Community Plugin Directory",
- "type": "object",
- "properties": {
- "id": {
- "description": "The unique identifier of the plugin or theme, format is 'author.plugin-short-name'.",
- "type": "string",
- "pattern": "^[a-z0-9-]+\\.[a-z0-9-]+$",
- "examples": [
- "docusaurus.blog",
- "docusaurus.theme-classic",
- "docusaurus.theme-live-codeblock"
- ]
- },
- "name": {
- "description": "The display name of the plugin or theme.",
- "type": "string",
- "examples": [
- "Blog",
- "Classic Theme",
- "Theme Live Codeblock"
- ]
- },
- "description": {
- "description": "The description of the plugin or theme.",
- "type": "string",
- "examples": [
- "Official Docusaurus blog plugin.",
- "Official Docusaurus classic theme.",
- "Official Docusaurus theme for live codeblocks."
- ]
- },
- "preview": {
- "description": "The preview image of the plugin or theme. Relative paths require you to place your preview image into 'img' in the `data` directory. Using `null` will generate a preview image for you from the website URL.",
- "type": ["string", "null"],
- "examples": [
- "https://docusaurus.io/img/slash-birth.png",
- "./img/slash-birth.png"
- ]
- },
- "website": {
- "description": "The public website of the plugin or theme. If you don't have one yet, you can use the GitHub repository URL or NPM package URL.",
- "type": "string",
- "examples": [
- "https://docusaurus.io/docs/api/themes/@docusaurus/theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "source": {
- "description": "The source code of the plugin or theme. Only open source plugins or themes are allowed in the Docusaurus Community Plugin Directory.",
- "type": "string",
- "examples": [
- "https://github.com/facebook/docusaurus/tree/main/packages/docusaurus-theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "author": {
- "description": "The author of the plugin or theme.",
- "type": "string",
- "examples": [
- "Docusaurus",
- "RdilWeb"
- ]
- },
- "tags": {
- "description": "The tag(s) of the plugin or theme. Tags are used to categorize plugins and themes.",
- "type": "array",
- "items": {
- "enum": [
- "search",
- "api",
- "utility",
- "content",
- "theme",
- "markdown",
- "analytics",
- "integration",
- "seo",
- "editing",
- "docusaurus",
- "favourite"
- ]
- }
- },
- "minimumVersion": {
- "description": "The minimum version of Docusaurus required to use the plugin or theme.",
- "type": ["string", "null"],
- "examples": [
- "2.0.0-alpha.0",
- "2.0.0-beta.0",
- "2.3.1"
- ]
- },
- "maintenanceStatus": {
- "description": "The maintenance status of the plugin or theme.",
- "type": "string",
- "enum": [
- "maintained",
- "unmaintained",
- "unknown"
- ]
- },
- "maintenanceStatusDescription": {
- "description": "The maintenance status description of the plugin or theme.",
- "type": ["string", "null"],
- "examples": [
- "No updates in the last 18 months.",
- "Confirmed incompatible with current or previous stable release of Docusaurus.",
- "NPM package unpublished or non-existent."
- ]
- },
- "compatibility": {
- "description": "Which major versions of Docusaurus the plugin or theme is compatible with.",
- "type": "array",
- "items": {
- "type": "string",
- "enum": [
- "1",
- "2",
- "3"
- ]
- }
- },
- "npmPackages": {
- "description": "The NPM package(s) of the plugin or theme.",
- "type": "array",
- "items": {
- "type": "string",
- "examples": [
- "@docusaurus/plugin-content-blog",
- "@docusaurus/theme-classic",
- "@docusaurus/theme-live-codeblock"
- ]
- }
- }
- },
- "required": [
- "id",
- "name",
- "description",
- "preview",
- "website",
- "source",
- "author",
- "tags",
- "minimumVersion",
- "maintenanceStatus",
- "compatibility"
- ]
-}
diff --git a/static/schema/plugin/1.2.1.json b/static/schema/plugin/1.2.1.json
deleted file mode 100644
index 8f059ab..0000000
--- a/static/schema/plugin/1.2.1.json
+++ /dev/null
@@ -1,154 +0,0 @@
-{
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "version": "1.2.1",
- "id": "https://docusaurus.community/schema/plugin/1.2.1.json",
- "title": "Docusaurus Plugin",
- "description": "Docusaurus Plugin or Theme Schema for the Docusaurus Community Plugin Directory",
- "type": "object",
- "properties": {
- "id": {
- "description": "The unique identifier of the plugin or theme, format is 'author.plugin-short-name'.",
- "type": "string",
- "pattern": "^[a-z0-9-]+\\.[a-z0-9-]+$",
- "examples": [
- "docusaurus.blog",
- "docusaurus.theme-classic",
- "docusaurus.theme-live-codeblock"
- ]
- },
- "name": {
- "description": "The display name of the plugin or theme.",
- "type": "string",
- "examples": [
- "Blog",
- "Classic Theme",
- "Theme Live Codeblock"
- ]
- },
- "description": {
- "description": "The description of the plugin or theme.",
- "type": "string",
- "examples": [
- "Official Docusaurus blog plugin.",
- "Official Docusaurus classic theme.",
- "Official Docusaurus theme for live codeblocks."
- ]
- },
- "preview": {
- "description": "The preview image of the plugin or theme. Relative paths require you to place your preview image into 'img' in the `data` directory. Using `null` will generate a preview image for you from the website URL.",
- "type": ["string", "null"],
- "examples": [
- "https://docusaurus.io/img/slash-birth.png",
- "./img/slash-birth.png"
- ]
- },
- "website": {
- "description": "The public website of the plugin or theme. If you don't have one yet, you can use the GitHub repository URL or NPM package URL.",
- "type": "string",
- "examples": [
- "https://docusaurus.io/docs/api/themes/@docusaurus/theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "source": {
- "description": "The source code of the plugin or theme. Only open source plugins or themes are allowed in the Docusaurus Community Plugin Directory.",
- "type": "string",
- "examples": [
- "https://github.com/facebook/docusaurus/tree/main/packages/docusaurus-theme-live-codeblock",
- "https://github.com/rdilweb/template-docusaurus-plugin"
- ]
- },
- "author": {
- "description": "The author of the plugin or theme.",
- "type": "string",
- "examples": [
- "Docusaurus",
- "RdilWeb"
- ]
- },
- "tags": {
- "description": "The tag(s) of the plugin or theme. Tags are used to categorize plugins and themes.",
- "type": "array",
- "items": {
- "enum": [
- "search",
- "api",
- "utility",
- "content",
- "theme",
- "markdown",
- "analytics",
- "integration",
- "seo",
- "editing",
- "docusaurus",
- "favourite"
- ]
- }
- },
- "minimumVersion": {
- "description": "The minimum version of Docusaurus required to use the plugin or theme.",
- "type": ["string", "null"],
- "examples": [
- "2.0.0-alpha.0",
- "2.0.0-beta.0",
- "2.3.1"
- ]
- },
- "maintenanceStatus": {
- "description": "The maintenance status of the plugin or theme.",
- "type": "string",
- "enum": [
- "maintained",
- "unmaintained",
- "unknown"
- ]
- },
- "maintenanceStatusDescription": {
- "description": "The maintenance status description of the plugin or theme.",
- "type": ["string", "null"],
- "examples": [
- "No updates in the last 18 months.",
- "Confirmed incompatible with current or previous stable release of Docusaurus.",
- "NPM package unpublished or non-existent."
- ]
- },
- "compatibility": {
- "description": "Which major versions of Docusaurus the plugin or theme is compatible with.",
- "type": "array",
- "items": {
- "type": "integer",
- "enum": [
- 1,
- 2,
- 3
- ]
- }
- },
- "npmPackages": {
- "description": "The NPM package(s) of the plugin or theme.",
- "type": "array",
- "items": {
- "type": "string",
- "examples": [
- "@docusaurus/plugin-content-blog",
- "@docusaurus/theme-classic",
- "@docusaurus/theme-live-codeblock"
- ]
- }
- }
- },
- "required": [
- "id",
- "name",
- "description",
- "preview",
- "website",
- "source",
- "author",
- "tags",
- "minimumVersion",
- "maintenanceStatus",
- "compatibility"
- ]
-}
diff --git a/yarn.lock b/yarn.lock
index 071f130..06d0632 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4446,6 +4446,26 @@ __metadata:
languageName: node
linkType: hard
+"@homotechsual/docusaurus-plugin-showcase@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@homotechsual/docusaurus-plugin-showcase@npm:1.0.1"
+ dependencies:
+ "@docusaurus/faster": "npm:^3.10.1"
+ "@popperjs/core": "npm:^2.11.8"
+ ajv: "npm:^8.20.0"
+ ajv-formats: "npm:^3.0.1"
+ clsx: "npm:^2.1.1"
+ glob: "npm:^13.0.6"
+ js-yaml: "npm:^4.2.0"
+ react-popper: "npm:^2.3.0"
+ peerDependencies:
+ "@docusaurus/core": ">=3.0.0 <5.0.0"
+ react: ~19.2.7
+ react-dom: ~19.2.7
+ checksum: 10c0/a5978758080be7eec9037460fdc2f390545ed150eab7f14971b87cc8afb37b09136ab9f6e57ece99d145ec0aea4a514211ce9f28dca0f011163191e23ecd9fca
+ languageName: node
+ linkType: hard
+
"@iconify/react@npm:^6.0.2":
version: 6.0.2
resolution: "@iconify/react@npm:6.0.2"
@@ -7682,6 +7702,20 @@ __metadata:
languageName: node
linkType: hard
+"ajv-formats@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "ajv-formats@npm:3.0.1"
+ dependencies:
+ ajv: "npm:^8.0.0"
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+ checksum: 10c0/168d6bca1ea9f163b41c8147bae537e67bd963357a5488a1eaf3abe8baa8eec806d4e45f15b10767e6020679315c7e1e5e6803088dfb84efa2b4e9353b83dd0a
+ languageName: node
+ linkType: hard
+
"ajv-keywords@npm:^3.5.2":
version: 3.5.2
resolution: "ajv-keywords@npm:3.5.2"
@@ -7726,6 +7760,18 @@ __metadata:
languageName: node
linkType: hard
+"ajv@npm:^8.20.0":
+ version: 8.20.0
+ resolution: "ajv@npm:8.20.0"
+ dependencies:
+ fast-deep-equal: "npm:^3.1.3"
+ fast-uri: "npm:^3.0.1"
+ json-schema-traverse: "npm:^1.0.0"
+ require-from-string: "npm:^2.0.2"
+ checksum: 10c0/5df9a1c8f83863cde1bd3a9ddb426f599718f88e3dc9153616c79fb28e0be455335830d7f21d745576519f057b371352daa31047b6a33d7036fe08777d60cf2a
+ languageName: node
+ linkType: hard
+
"algoliasearch-helper@npm:^3.26.0":
version: 3.29.1
resolution: "algoliasearch-helper@npm:3.29.1"
@@ -8180,6 +8226,13 @@ __metadata:
languageName: node
linkType: hard
+"balanced-match@npm:^4.0.2":
+ version: 4.0.4
+ resolution: "balanced-match@npm:4.0.4"
+ checksum: 10c0/07e86102a3eb2ee2a6a1a89164f29d0dbaebd28f2ca3f5ca786f36b8b23d9e417eb3be45a4acf754f837be5ac0a2317de90d3fcb7f4f4dc95720a1f36b26a17b
+ languageName: node
+ linkType: hard
+
"bare-events@npm:^2.0.0, bare-events@npm:^2.2.0":
version: 2.4.2
resolution: "bare-events@npm:2.4.2"
@@ -8368,6 +8421,15 @@ __metadata:
languageName: node
linkType: hard
+"brace-expansion@npm:^5.0.5":
+ version: 5.0.6
+ resolution: "brace-expansion@npm:5.0.6"
+ dependencies:
+ balanced-match: "npm:^4.0.2"
+ checksum: 10c0/8c919869b90f61d533b341d3340be5ee4413232ea89b8246cbc2f38eb014f1d8182785c98a006eaf6111d02dc9eeffefdc240d5ac158625b2ed084dccd4bbf9b
+ languageName: node
+ linkType: hard
+
"braces@npm:^3.0.3, braces@npm:~3.0.2":
version: 3.0.3
resolution: "braces@npm:3.0.3"
@@ -9774,6 +9836,7 @@ __metadata:
"@fortawesome/free-solid-svg-icons": "npm:^7.2.0"
"@fortawesome/react-fontawesome": "npm:^3.3.1"
"@homotechsual/docusaurus-plugin-plausible": "npm:^1.1.1"
+ "@homotechsual/docusaurus-plugin-showcase": "npm:^1.0.1"
"@iconify/react": "npm:^6.0.2"
"@mdx-js/react": "npm:^3.1.1"
"@popperjs/core": "npm:^2.11.8"
@@ -11002,6 +11065,17 @@ __metadata:
languageName: node
linkType: hard
+"glob@npm:^13.0.6":
+ version: 13.0.6
+ resolution: "glob@npm:13.0.6"
+ dependencies:
+ minimatch: "npm:^10.2.2"
+ minipass: "npm:^7.1.3"
+ path-scurry: "npm:^2.0.2"
+ checksum: 10c0/269c236f11a9b50357fe7a8c6aadac667e01deb5242b19c84975628f05f4438d8ee1354bb62c5d6c10f37fd59911b54d7799730633a2786660d8c69f1d18120a
+ languageName: node
+ linkType: hard
+
"glob@npm:^7.1.4":
version: 7.2.3
resolution: "glob@npm:7.2.3"
@@ -12940,6 +13014,17 @@ __metadata:
languageName: node
linkType: hard
+"js-yaml@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "js-yaml@npm:4.2.0"
+ dependencies:
+ argparse: "npm:^2.0.1"
+ bin:
+ js-yaml: bin/js-yaml.js
+ checksum: 10c0/1916456c118746603b067d74bbcbb0445d9a1d5e474ad4ae775e7b20525bed902e01d9d97dd0c81fcd8d4f596162309d0eb057f4aa38f3e9647f14075e9dea45
+ languageName: node
+ linkType: hard
+
"jsbn@npm:1.1.0":
version: 1.1.0
resolution: "jsbn@npm:1.1.0"
@@ -13346,6 +13431,13 @@ __metadata:
languageName: node
linkType: hard
+"lru-cache@npm:^11.0.0":
+ version: 11.5.1
+ resolution: "lru-cache@npm:11.5.1"
+ checksum: 10c0/7b341cea79a8efe9c6a6f20c8757a77eca5b25d7ff983ccf4e11e547b81f6787824baa1c84705251dff84ab4ffac85717ac354b9d02e465f86a9f8b166409979
+ languageName: node
+ linkType: hard
+
"lru-cache@npm:^5.1.1":
version: 5.1.1
resolution: "lru-cache@npm:5.1.1"
@@ -14700,6 +14792,15 @@ __metadata:
languageName: node
linkType: hard
+"minimatch@npm:^10.2.2":
+ version: 10.2.5
+ resolution: "minimatch@npm:10.2.5"
+ dependencies:
+ brace-expansion: "npm:^5.0.5"
+ checksum: 10c0/6bb058bd6324104b9ec2f763476a35386d05079c1f5fe4fbf1f324a25237cd4534d6813ecd71f48208f4e635c1221899bef94c3c89f7df55698fe373aaae20fd
+ languageName: node
+ linkType: hard
+
"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
@@ -14799,6 +14900,13 @@ __metadata:
languageName: node
linkType: hard
+"minipass@npm:^7.1.3":
+ version: 7.1.3
+ resolution: "minipass@npm:7.1.3"
+ checksum: 10c0/539da88daca16533211ea5a9ee98dc62ff5742f531f54640dd34429e621955e91cc280a91a776026264b7f9f6735947629f920944e9c1558369e8bf22eb33fbb
+ languageName: node
+ linkType: hard
+
"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2":
version: 2.1.2
resolution: "minizlib@npm:2.1.2"
@@ -15536,6 +15644,16 @@ __metadata:
languageName: node
linkType: hard
+"path-scurry@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "path-scurry@npm:2.0.2"
+ dependencies:
+ lru-cache: "npm:^11.0.0"
+ minipass: "npm:^7.1.2"
+ checksum: 10c0/b35ad37cf6557a87fd057121ce2be7695380c9138d93e87ae928609da259ea0a170fac6f3ef1eb3ece8a068e8b7f2f3adf5bb2374cf4d4a57fe484954fcc9482
+ languageName: node
+ linkType: hard
+
"path-to-regexp@npm:3.3.0":
version: 3.3.0
resolution: "path-to-regexp@npm:3.3.0"