@homotechsual/docusaurus-plugin-showcase 0.1.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,14 +1,29 @@
1
- # @homotechsual/docusaurus-plugin-showcase
1
+ # Showcase for Docusaurus
2
+
3
+ [![NPM Version](https://img.shields.io/npm/v/%40homotechsual%2Fdocusaurus-plugin-showcase?style=for-the-badge)
4
+ ](https://www.npmjs.com/package/@homotechsual/docusaurus-plugin-showcase)
5
+ [![NPM Last Update](https://img.shields.io/npm/last-update/%40homotechsual%2Fdocusaurus-plugin-showcase?style=for-the-badge)](https://www.npmjs.com/package/@homotechsual/docusaurus-plugin-showcase)
6
+ [![NPM Downloads](https://img.shields.io/npm/dy/%40homotechsual%2Fdocusaurus-plugin-showcase?style=for-the-badge)
7
+ ](https://www.npmjs.com/package/@homotechsual/docusaurus-plugin-showcase)
2
8
 
3
9
  A Docusaurus plugin for building swizzleable showcase / directory pages from YAML data files.
4
10
 
11
+ **[Full documentation →](https://showcase.docusaurus.homotechsual.dev)**
12
+
5
13
  ## Installation
6
14
 
7
15
  ```bash
8
16
  npm install @homotechsual/docusaurus-plugin-showcase
17
+ # or
18
+ yarn add @homotechsual/docusaurus-plugin-showcase
9
19
  ```
10
20
 
11
- ## Quick start (plugins directory preset)
21
+ ## Quick start
22
+
23
+ Two built-in presets cover the most common use cases:
24
+
25
+ - **`pluginsPreset`** — a Docusaurus plugin directory with 12 category tags and 3 maintenance statuses.
26
+ - **`sitesPreset`** — mirrors the tag set from [docusaurus.io/showcase](https://docusaurus.io/showcase).
12
27
 
13
28
  ```ts
14
29
  // docusaurus.config.ts
@@ -18,75 +33,14 @@ export default {
18
33
  plugins: [
19
34
  ['@homotechsual/docusaurus-plugin-showcase', {
20
35
  ...pluginsPreset,
21
- dataDir: 'data/plugins', // directory of .yaml files relative to site root
22
- routeBasePath: 'plugins', // page available at /plugins
23
- submitUrl: 'https://github.com/your-org/your-repo/discussions/1',
36
+ dataDir: 'data/plugins',
37
+ routeBasePath: 'plugins',
24
38
  }],
25
39
  ],
26
40
  }
27
41
  ```
28
42
 
29
- ## YAML file format (plugins preset)
30
-
31
- Each plugin is a separate `.yaml` file. Add the language-server comment for autocomplete:
32
-
33
- ```yaml
34
- # yaml-language-server: $schema=../../../node_modules/@homotechsual/docusaurus-plugin-showcase/schema/plugins-preset/1.0.0.json
35
- id: author.plugin-name
36
- name: My Plugin
37
- description: A useful Docusaurus plugin.
38
- website: https://github.com/author/plugin-name
39
- source: https://github.com/author/plugin-name
40
- author: author
41
- tags:
42
- - utility
43
- status: maintained
44
- npmPackages:
45
- - plugin-name
46
- ```
47
-
48
- ## Custom configuration
49
-
50
- Use core types to define your own tags and statuses for any showcase use case:
51
-
52
- ```ts
53
- import type { PluginOptions } from '@homotechsual/docusaurus-plugin-showcase'
54
-
55
- const options: PluginOptions = {
56
- dataDir: 'data/showcase',
57
- routeBasePath: 'showcase',
58
- pageTitle: 'Community Showcase',
59
- pageDescription: 'Sites built with our framework.',
60
- tags: {
61
- featured: { label: 'Featured', description: 'Hand-picked featured sites.', color: '#e9669e' },
62
- community: { label: 'Community', description: 'Built by the community.', color: '#3ecc5f' },
63
- },
64
- statuses: {
65
- active: { label: 'Active', description: 'Actively maintained.', icon: 'circle-check' },
66
- },
67
- favouriteTag: 'featured',
68
- }
69
- ```
70
-
71
- ## Swizzling components
72
-
73
- All theme components are swizzleable:
74
-
75
- ```bash
76
- npx docusaurus swizzle @homotechsual/docusaurus-plugin-showcase ShowcaseCard
77
- ```
78
-
79
- Swizzleable components: `ShowcasePage` (unsafe/wrap), `ShowcaseCard` (safe), `ShowcaseFilters` (safe), `ShowcaseFilterToggle` (safe), `ShowcaseTagSelect` (unsafe/wrap), `ShowcaseStatusSelect` (unsafe/wrap), `ShowcaseTooltip` (safe).
80
-
81
- ## Initial publish
82
-
83
- Before OIDC trusted publishing works, publish once manually to claim the package name:
84
-
85
- ```bash
86
- npm publish --access public
87
- ```
88
-
89
- Then configure the trust policy on npmjs.org: package → Settings → Publishing → Granular access tokens → add the GitHub repo + `npm` environment.
43
+ For custom tags, statuses, JSON Schema validation, co-located images, swizzling, and all configuration options, see the [docs](https://showcase.docusaurus.homotechsual.dev).
90
44
 
91
45
  ## Licence
92
46
 
@@ -35,6 +35,10 @@ export type PluginOptions = {
35
35
  pageDescription?: string | null;
36
36
  submitUrl?: string | null;
37
37
  schemaPath?: string | null;
38
+ screenshotUrl?: string | null;
39
+ };
40
+ export type PresetOptions = Omit<Partial<PluginOptions>, 'tags'> & {
41
+ tags: Record<string, TagDef>;
38
42
  };
39
43
  export type ShowcasePageData = {
40
44
  items: ShowcaseItem[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACnC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,OAAO,EAAE,aAAa,CAAA;CACvB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACnC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAA;AAEnG,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,OAAO,EAAE,aAAa,CAAA;CACvB,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export declare function sortBy<T>(array: T[], getter: (item: T) => string | number | boolean): T[];
2
2
  export declare function toggleListItem<T>(list: T[], item: T): T[];
3
+ export declare function resolveScreenshotUrl(template: string, website: string): string;
3
4
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,CAAC,EACtB,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,GAC7C,CAAC,EAAE,CAUL;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAMzD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,CAAC,EACtB,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,GAC7C,CAAC,EAAE,CAUL;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAMzD;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAI9E"}
package/lib/core/utils.js CHANGED
@@ -19,4 +19,9 @@ export function toggleListItem(list, item) {
19
19
  copy.splice(index, 1);
20
20
  return copy;
21
21
  }
22
+ export function resolveScreenshotUrl(template, website) {
23
+ return template
24
+ .replace('{url}', encodeURIComponent(website))
25
+ .replace('{rawUrl}', website);
26
+ }
22
27
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CACpB,KAAU,EACV,MAA8C;IAE9C,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IACvB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,CAAC,CAAA;QACrB,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,CAAC,CAAC,CAAA;QACtB,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAAI,IAAS,EAAE,IAAO;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACrB,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CACpB,KAAU,EACV,MAA8C;IAE9C,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IACvB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,CAAC,CAAA;QACrB,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,CAAC,CAAC,CAAA;QACtB,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAAI,IAAS,EAAE,IAAO;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACrB,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,OAAe;IACpE,OAAO,QAAQ;SACZ,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;SAC7C,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { default, validateOptions } from './plugin.js';
2
- export type { ShowcaseItem, TagDef, StatusDef, PluginOptions, ShowcasePageData } from './core/types.js';
2
+ export type { ShowcaseItem, TagDef, StatusDef, PluginOptions, PresetOptions, ShowcasePageData } from './core/types.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA"}
package/lib/plugin.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { LoadContext, OptionValidationContext, Plugin } from '@docusaurus/types';
2
- import type { PluginOptions, ShowcasePageData } from './core/types.js';
2
+ import type { PluginOptions } from './core/types.js';
3
3
  export declare function validateOptions({ options, }: OptionValidationContext<unknown, PluginOptions>): PluginOptions;
4
- declare const _default: (context: LoadContext, options: unknown) => Plugin<ShowcasePageData>;
4
+ declare const _default: (context: LoadContext, options: unknown) => Plugin<unknown>;
5
5
  export default _default;
6
6
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AA0CtE,wBAAgB,eAAe,CAAC,EAC9B,OAAO,GACR,EAAE,uBAAuB,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,aAAa,CAkBjE;wBAE2C,CAC1C,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,KACb,MAAM,CAAC,gBAAgB,CAAC;AAH7B,wBAG6B"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,iBAAiB,CAAA;AA0CtE,wBAAgB,eAAe,CAAC,EAC9B,OAAO,GACR,EAAE,uBAAuB,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,aAAa,CAmBjE;wBAE2C,CAC1C,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,KACb,MAAM,CAAC,OAAO,CAAC;AAHpB,wBAGoB"}
package/lib/plugin.js CHANGED
@@ -39,6 +39,7 @@ export function validateOptions({ options, }) {
39
39
  dataDir: opts.dataDir,
40
40
  tags: opts.tags,
41
41
  statuses: opts.statuses ?? {},
42
+ screenshotUrl: opts.screenshotUrl ?? null,
42
43
  };
43
44
  }
44
45
  export default pluginShowcase;
package/lib/plugin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEnE,SAAS,cAAc,CACrB,OAAoB,EACpB,OAAsB;IAEtB,OAAO;QACL,IAAI,EAAE,4BAA4B;QAElC,YAAY;YACV,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAC/D,CAAC;QAED,KAAK,CAAC,WAAW;YACf,MAAM,KAAK,GAAG,MAAM,iBAAiB,CACnC,OAAO,CAAC,OAAO,EACf,OAAO,EACP,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAC3B,CAAA;YACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;QAC3B,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;YACtC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;YAExC,MAAM,gBAAgB,GAAG,MAAM,UAAU,CACvC,kBAAkB,EAClB,sBAAsB,CAAC,OAAO,CAAC,CAChC,CAAA;YAED,QAAQ,CAAC;gBACP,IAAI,EAAE,IAAI,OAAO,CAAC,aAAa,EAAE;gBACjC,SAAS,EAAE,qBAAqB;gBAChC,OAAO,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE;gBACvC,KAAK,EAAE,IAAI;aACZ,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,OAAO,GACyC;IAChD,MAAM,IAAI,GAAG,OAAiC,CAAA;IAE9C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;IACnF,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;IACjG,CAAC;IAED,OAAO;QACL,EAAE,EAAE,SAAS;QACb,aAAa,EAAE,UAAU;QACzB,GAAG,IAAI;QACP,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;KAC9B,CAAA;AACH,CAAC;AAED,eAAe,cAGc,CAAA"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEnE,SAAS,cAAc,CACrB,OAAoB,EACpB,OAAsB;IAEtB,OAAO;QACL,IAAI,EAAE,4BAA4B;QAElC,YAAY;YACV,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAC/D,CAAC;QAED,KAAK,CAAC,WAAW;YACf,MAAM,KAAK,GAAG,MAAM,iBAAiB,CACnC,OAAO,CAAC,OAAO,EACf,OAAO,EACP,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAC3B,CAAA;YACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;QAC3B,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;YACtC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;YAExC,MAAM,gBAAgB,GAAG,MAAM,UAAU,CACvC,kBAAkB,EAClB,sBAAsB,CAAC,OAAO,CAAC,CAChC,CAAA;YAED,QAAQ,CAAC;gBACP,IAAI,EAAE,IAAI,OAAO,CAAC,aAAa,EAAE;gBACjC,SAAS,EAAE,qBAAqB;gBAChC,OAAO,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE;gBACvC,KAAK,EAAE,IAAI;aACZ,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,OAAO,GACyC;IAChD,MAAM,IAAI,GAAG,OAAiC,CAAA;IAE9C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;IACnF,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;IACjG,CAAC;IAED,OAAO;QACL,EAAE,EAAE,SAAS;QACb,aAAa,EAAE,UAAU;QACzB,GAAG,IAAI;QACP,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;KAC1C,CAAA;AACH,CAAC;AAED,eAAe,cAGK,CAAA"}
@@ -1,3 +1,3 @@
1
- import type { PluginOptions } from '../core/types.js';
2
- export declare const pluginsPreset: Partial<PluginOptions>;
1
+ import type { PresetOptions } from '../core/types.js';
2
+ export declare const pluginsPreset: PresetOptions;
3
3
  //# sourceMappingURL=plugins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/presets/plugins.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,aAAa,CA2FhD,CAAA"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/presets/plugins.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,eAAO,MAAM,aAAa,EAAE,aA2F3B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/presets/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,YAAY,EAAE,WAAW;IACzB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,wCAAwC,CAAC;IACnG,SAAS,EAAE,6BAA6B;IACxC,eAAe,EAAE,oDAAoD;IAErE,IAAI,EAAE;QACJ,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,wDAAwD;YACrE,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,OAAO;SACd;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,qCAAqC;YAClD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,YAAY;SACnB;QACD,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,4CAA4C;YACzD,KAAK,EAAE,SAAS;SACjB;QACD,GAAG,EAAE;YACH,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,4CAA4C;YACzD,KAAK,EAAE,SAAS;SACjB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,uDAAuD;YACpE,KAAK,EAAE,SAAS;SACjB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,yCAAyC;YACtD,KAAK,EAAE,SAAS;SACjB;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,gEAAgE;YAC7E,KAAK,EAAE,SAAS;SACjB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,6CAA6C;YAC1D,KAAK,EAAE,SAAS;SACjB;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,2DAA2D;YACxE,KAAK,EAAE,SAAS;SACjB;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,6CAA6C;YAC1D,KAAK,EAAE,SAAS;SACjB;QACD,GAAG,EAAE;YACH,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,oCAAoC;YACjD,KAAK,EAAE,SAAS;SACjB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,wDAAwD;YACrE,KAAK,EAAE,SAAS;SACjB;KACF;IAED,QAAQ,EAAE;QACR,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,uDAAuD;YACpE,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,cAAc;SACrB;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,8EAA8E;YAC3F,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,UAAU;SACjB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,6CAA6C;YAC1D,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,cAAc;SACrB;KACF;CACF,CAAA"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/presets/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,YAAY,EAAE,WAAW;IACzB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,wCAAwC,CAAC;IACnG,SAAS,EAAE,6BAA6B;IACxC,eAAe,EAAE,oDAAoD;IAErE,IAAI,EAAE;QACJ,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,wDAAwD;YACrE,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,OAAO;SACd;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,qCAAqC;YAClD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,YAAY;SACnB;QACD,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,4CAA4C;YACzD,KAAK,EAAE,SAAS;SACjB;QACD,GAAG,EAAE;YACH,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,4CAA4C;YACzD,KAAK,EAAE,SAAS;SACjB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,uDAAuD;YACpE,KAAK,EAAE,SAAS;SACjB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,yCAAyC;YACtD,KAAK,EAAE,SAAS;SACjB;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,gEAAgE;YAC7E,KAAK,EAAE,SAAS;SACjB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,6CAA6C;YAC1D,KAAK,EAAE,SAAS;SACjB;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,2DAA2D;YACxE,KAAK,EAAE,SAAS;SACjB;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,6CAA6C;YAC1D,KAAK,EAAE,SAAS;SACjB;QACD,GAAG,EAAE;YACH,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,oCAAoC;YACjD,KAAK,EAAE,SAAS;SACjB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,wDAAwD;YACrE,KAAK,EAAE,SAAS;SACjB;KACF;IAED,QAAQ,EAAE;QACR,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,uDAAuD;YACpE,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,cAAc;SACrB;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,8EAA8E;YAC3F,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,UAAU;SACjB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,6CAA6C;YAC1D,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,cAAc;SACrB;KACF;CACF,CAAA"}
@@ -1,3 +1,3 @@
1
- import type { PluginOptions } from '../core/types.js';
2
- export declare const sitesPreset: Partial<PluginOptions>;
1
+ import type { PresetOptions } from '../core/types.js';
2
+ export declare const sitesPreset: PresetOptions;
3
3
  //# sourceMappingURL=sites.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../src/presets/sites.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,eAAO,MAAM,WAAW,EAAE,OAAO,CAAC,aAAa,CA8D9C,CAAA"}
1
+ {"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../src/presets/sites.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,eAAO,MAAM,WAAW,EAAE,aA8DzB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/presets/sites.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,YAAY,EAAE,UAAU;IACxB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,IAAI,CACd,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,sCAAsC,CACvC;IACD,SAAS,EAAE,0BAA0B;IACrC,eAAe,EAAE,sDAAsD;IACvE,IAAI,EAAE;QACJ,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,mEAAmE;YAChF,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,OAAO;SACd;QACD,UAAU,EAAE;YACV,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,6DAA6D;YAC1E,KAAK,EAAE,SAAS;SACjB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,sDAAsD;YACnE,KAAK,EAAE,SAAS;SACjB;QACD,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,kFAAkF;YAC/F,KAAK,EAAE,SAAS;SACjB;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,6FAA6F;YAC1G,KAAK,EAAE,SAAS;SACjB;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,+FAA+F;YAC5G,KAAK,EAAE,SAAS;SACjB;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,0EAA0E;YACvF,KAAK,EAAE,SAAS;SACjB;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,uDAAuD;YACpE,KAAK,EAAE,SAAS;SACjB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,oEAAoE;YACjF,KAAK,EAAE,SAAS;SACjB;QACD,GAAG,EAAE;YACH,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,qEAAqE;YAClF,KAAK,EAAE,SAAS;SACjB;KACF;CACF,CAAA"}
1
+ {"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/presets/sites.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,YAAY,EAAE,UAAU;IACxB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,IAAI,CACd,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,sCAAsC,CACvC;IACD,SAAS,EAAE,0BAA0B;IACrC,eAAe,EAAE,sDAAsD;IACvE,IAAI,EAAE;QACJ,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,mEAAmE;YAChF,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,OAAO;SACd;QACD,UAAU,EAAE;YACV,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,6DAA6D;YAC1E,KAAK,EAAE,SAAS;SACjB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,sDAAsD;YACnE,KAAK,EAAE,SAAS;SACjB;QACD,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,kFAAkF;YAC/F,KAAK,EAAE,SAAS;SACjB;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,6FAA6F;YAC1G,KAAK,EAAE,SAAS;SACjB;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,+FAA+F;YAC5G,KAAK,EAAE,SAAS;SACjB;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,0EAA0E;YACvF,KAAK,EAAE,SAAS;SACjB;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,uDAAuD;YACpE,KAAK,EAAE,SAAS;SACjB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,oEAAoE;YACjF,KAAK,EAAE,SAAS;SACjB;QACD,GAAG,EAAE;YACH,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,qEAAqE;YAClF,KAAK,EAAE,SAAS;SACjB;KACF;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/ShowcaseCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAItE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,EAAE,aAAa,CAAA;CACvB,CAAA;AASD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAuEhF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/ShowcaseCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAItE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,EAAE,aAAa,CAAA;CACvB,CAAA;AAQD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAyEhF"}
@@ -2,22 +2,25 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import clsx from 'clsx';
3
3
  import Link from '@docusaurus/Link';
4
4
  import Translate from '@docusaurus/Translate';
5
- import { sortBy } from '../../core/utils.js';
5
+ import { sortBy, resolveScreenshotUrl } from '../../core/utils.js';
6
6
  import { getIcon } from '../icons.js';
7
7
  import ShowcaseTooltip from '../ShowcaseTooltip/index.js';
8
8
  import styles from './styles.module.css';
9
- function getCardImage(item) {
10
- return (item.preview ??
11
- `https://slorber-api-screenshot.netlify.app/${encodeURIComponent(item.website)}/showcase`);
9
+ function getCardImage(item, screenshotUrl) {
10
+ if (item.preview)
11
+ return item.preview;
12
+ if (screenshotUrl)
13
+ return resolveScreenshotUrl(screenshotUrl, item.website);
14
+ return null;
12
15
  }
13
16
  export default function ShowcaseCard({ item, options }) {
14
- const image = getCardImage(item);
17
+ const image = getCardImage(item, options.screenshotUrl ?? null);
15
18
  const isFavourite = options.favouriteTag ? item.tags.includes(options.favouriteTag) : false;
16
19
  const sortedTags = sortBy(item.tags.filter((t) => t in options.tags), (t) => Object.keys(options.tags).indexOf(t));
17
20
  const statusDef = item.status ? options.statuses[item.status] : null;
18
21
  const StatusIcon = statusDef?.icon ? getIcon(statusDef.icon) : null;
19
22
  const FavIcon = getIcon('heart');
20
- return (_jsxs("li", { className: clsx('card shadow--md', styles.card), children: [_jsx("div", { className: clsx('card__image', styles.cardImage), children: _jsx("img", { src: image, alt: item.name, loading: "lazy" }) }), _jsxs("div", { className: "card__body", children: [_jsxs("div", { className: styles.cardHeader, children: [_jsx("h4", { className: styles.cardTitle, children: _jsx(Link, { href: item.website, className: styles.cardLink, children: item.name }) }), isFavourite && FavIcon && (_jsx(FavIcon, { size: 14, className: styles.favouriteIcon })), item.source && (_jsx(Link, { href: item.source, className: clsx('button button--secondary button--sm', styles.sourceBtn), children: _jsx(Translate, { id: "showcase.card.sourceLink", children: "source" }) }))] }), _jsx("p", { className: styles.cardBody, children: item.description }), item.author && (_jsxs("p", { className: styles.cardAuthor, children: [_jsx("span", { className: styles.authorLabel, children: "Author:" }), _jsx("span", { children: item.author })] })), statusDef && (_jsxs("p", { className: styles.statusRow, children: [_jsx("span", { className: styles.statusLabel, children: "Status:" }), _jsx("span", { children: statusDef.label }), StatusIcon && _jsx(StatusIcon, { size: 14 })] }))] }), _jsx("ul", { className: clsx('card__footer', styles.cardFooter), children: sortedTags.map((tagKey) => {
23
+ return (_jsxs("li", { className: clsx('card shadow--md', styles.card), children: [image && (_jsx("div", { className: clsx('card__image', styles.cardImage), children: _jsx("img", { src: image, alt: item.name, loading: "lazy" }) })), _jsxs("div", { className: "card__body", children: [_jsxs("div", { className: styles.cardHeader, children: [_jsx("h4", { className: styles.cardTitle, children: _jsx(Link, { href: item.website, className: styles.cardLink, children: item.name }) }), isFavourite && FavIcon && (_jsx(FavIcon, { size: 14, className: styles.favouriteIcon })), item.source && (_jsx(Link, { href: item.source, className: clsx('button button--secondary button--sm', styles.sourceBtn), children: _jsx(Translate, { id: "showcase.card.sourceLink", children: "source" }) }))] }), _jsx("p", { className: styles.cardBody, children: item.description }), item.author && (_jsxs("p", { className: styles.cardAuthor, children: [_jsx("span", { className: styles.authorLabel, children: "Author:" }), _jsx("span", { children: item.author })] })), statusDef && (_jsxs("p", { className: styles.statusRow, children: [_jsx("span", { className: styles.statusLabel, children: "Status:" }), _jsx("span", { children: statusDef.label }), StatusIcon && _jsx(StatusIcon, { size: 14 })] }))] }), _jsx("ul", { className: clsx('card__footer', styles.cardFooter), children: sortedTags.map((tagKey) => {
21
24
  const tagDef = options.tags[tagKey];
22
25
  if (!tagDef)
23
26
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/theme/ShowcaseCard/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/theme/ShowcaseCard/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homotechsual/docusaurus-plugin-showcase",
3
- "version": "0.1.0",
3
+ "version": "1.0.1",
4
4
  "description": "A Docusaurus plugin for building swizzleable showcase / directory pages from YAML data",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -88,4 +88,4 @@
88
88
  "publishConfig": {
89
89
  "access": "public"
90
90
  }
91
- }
91
+ }
@@ -1,43 +1,43 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/homotechsual/docusaurus-plugin-showcase/schema/plugins-preset/1.0.0.json",
4
- "title": "PluginsPresetItem",
5
- "type": "object",
6
- "required": ["id", "name", "description", "website"],
7
- "additionalProperties": false,
8
- "properties": {
9
- "id": { "type": "string" },
10
- "name": { "type": "string" },
11
- "description": { "type": "string" },
12
- "website": { "type": "string", "format": "uri" },
13
- "source": { "type": ["string", "null"], "format": "uri" },
14
- "preview": { "type": ["string", "null"] },
15
- "author": { "type": ["string", "null"] },
16
- "tags": {
17
- "type": "array",
18
- "items": {
19
- "type": "string",
20
- "enum": [
21
- "favourite",
22
- "docusaurus",
23
- "search",
24
- "api",
25
- "utility",
26
- "content",
27
- "theme",
28
- "markdown",
29
- "analytics",
30
- "integration",
31
- "seo",
32
- "editing"
33
- ]
34
- }
35
- },
36
- "status": {
37
- "type": ["string", "null"],
38
- "enum": ["maintained", "unmaintained", "unknown", null]
39
- },
40
- "npmPackages": { "type": ["array", "null"], "items": { "type": "string" } },
41
- "minimumVersion": { "type": ["string", "null"] }
42
- }
43
- }
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/homotechsual/docusaurus-plugin-showcase/schema/plugins-preset/1.0.0.json",
4
+ "title": "PluginsPresetItem",
5
+ "type": "object",
6
+ "required": ["id", "name", "description", "website"],
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "id": { "type": "string" },
10
+ "name": { "type": "string" },
11
+ "description": { "type": "string" },
12
+ "website": { "type": "string", "format": "uri" },
13
+ "source": { "type": ["string", "null"], "format": "uri" },
14
+ "preview": { "type": ["string", "null"] },
15
+ "author": { "type": ["string", "null"] },
16
+ "tags": {
17
+ "type": "array",
18
+ "items": {
19
+ "type": "string",
20
+ "enum": [
21
+ "favourite",
22
+ "docusaurus",
23
+ "search",
24
+ "api",
25
+ "utility",
26
+ "content",
27
+ "theme",
28
+ "markdown",
29
+ "analytics",
30
+ "integration",
31
+ "seo",
32
+ "editing"
33
+ ]
34
+ }
35
+ },
36
+ "status": {
37
+ "type": ["string", "null"],
38
+ "enum": ["maintained", "unmaintained", "unknown", null]
39
+ },
40
+ "npmPackages": { "type": ["array", "null"], "items": { "type": "string" } },
41
+ "minimumVersion": { "type": ["string", "null"] }
42
+ }
43
+ }
@@ -1,58 +1,58 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/homotechsual/docusaurus-plugin-showcase/schema/showcase/1.0.0.json",
4
- "title": "ShowcaseItem",
5
- "type": "object",
6
- "required": ["id", "name", "description", "website"],
7
- "additionalProperties": true,
8
- "properties": {
9
- "id": {
10
- "type": "string",
11
- "description": "Unique identifier for this item (e.g. 'author.plugin-name')"
12
- },
13
- "name": {
14
- "type": "string",
15
- "description": "Display name"
16
- },
17
- "description": {
18
- "type": "string",
19
- "description": "Short description"
20
- },
21
- "website": {
22
- "type": "string",
23
- "format": "uri",
24
- "description": "Primary URL (docs site, GitHub page, npm page, etc.)"
25
- },
26
- "source": {
27
- "type": ["string", "null"],
28
- "format": "uri",
29
- "description": "Source code URL"
30
- },
31
- "preview": {
32
- "type": ["string", "null"],
33
- "description": "Preview image URL. null = use screenshot service"
34
- },
35
- "author": {
36
- "type": ["string", "null"],
37
- "description": "Author handle or name"
38
- },
39
- "tags": {
40
- "type": "array",
41
- "items": { "type": "string" },
42
- "description": "Tag keys defined in plugin options"
43
- },
44
- "status": {
45
- "type": ["string", "null"],
46
- "description": "Status key defined in plugin options"
47
- },
48
- "npmPackages": {
49
- "type": ["array", "null"],
50
- "items": { "type": "string" },
51
- "description": "npm package name(s)"
52
- },
53
- "minimumVersion": {
54
- "type": ["string", "null"],
55
- "description": "Minimum Docusaurus version required"
56
- }
57
- }
58
- }
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/homotechsual/docusaurus-plugin-showcase/schema/showcase/1.0.0.json",
4
+ "title": "ShowcaseItem",
5
+ "type": "object",
6
+ "required": ["id", "name", "description", "website"],
7
+ "additionalProperties": true,
8
+ "properties": {
9
+ "id": {
10
+ "type": "string",
11
+ "description": "Unique identifier for this item (e.g. 'author.plugin-name')"
12
+ },
13
+ "name": {
14
+ "type": "string",
15
+ "description": "Display name"
16
+ },
17
+ "description": {
18
+ "type": "string",
19
+ "description": "Short description"
20
+ },
21
+ "website": {
22
+ "type": "string",
23
+ "format": "uri",
24
+ "description": "Primary URL (docs site, GitHub page, npm page, etc.)"
25
+ },
26
+ "source": {
27
+ "type": ["string", "null"],
28
+ "format": "uri",
29
+ "description": "Source code URL"
30
+ },
31
+ "preview": {
32
+ "type": ["string", "null"],
33
+ "description": "Preview image URL. null = use screenshot service"
34
+ },
35
+ "author": {
36
+ "type": ["string", "null"],
37
+ "description": "Author handle or name"
38
+ },
39
+ "tags": {
40
+ "type": "array",
41
+ "items": { "type": "string" },
42
+ "description": "Tag keys defined in plugin options"
43
+ },
44
+ "status": {
45
+ "type": ["string", "null"],
46
+ "description": "Status key defined in plugin options"
47
+ },
48
+ "npmPackages": {
49
+ "type": ["array", "null"],
50
+ "items": { "type": "string" },
51
+ "description": "npm package name(s)"
52
+ },
53
+ "minimumVersion": {
54
+ "type": ["string", "null"],
55
+ "description": "Minimum Docusaurus version required"
56
+ }
57
+ }
58
+ }
@@ -39,4 +39,4 @@
39
39
  "items": { "type": "string" }
40
40
  }
41
41
  }
42
- }
42
+ }
package/CHANGELOG.md DELETED
@@ -1,13 +0,0 @@
1
- # Changelog
2
-
3
- ## [0.1.0] - 2026-06-09
4
-
5
- ### Added
6
-
7
- - Initial release
8
- - `loadContent` YAML loader with AJV schema validation
9
- - Swizzleable theme components: `ShowcasePage`, `ShowcaseCard`, `ShowcaseFilters`, `ShowcaseFilterToggle`, `ShowcaseTagSelect`, `ShowcaseStatusSelect`, `ShowcaseTooltip`
10
- - Bundled Heroicons (MIT) SVG icon components
11
- - `pluginsPreset` for the Docusaurus community plugin directory use-case
12
- - JSON schemas for core `ShowcaseItem` and plugins preset items
13
- - GitHub Actions CI and trusted npm + GitHub Packages publish workflows