@riebeckite/honox 0.0.5 → 0.0.7

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/dist/server.js CHANGED
@@ -48,14 +48,22 @@ function decodeSegment(segment) {
48
48
  function mountRiebeckiteEndpoints(app, options) {
49
49
  const endpoints = collectPluginEndpoints(options.config);
50
50
  for (const endpoint of endpoints) {
51
- app.get(endpoint.path, async (context) => {
51
+ const method = endpoint.method ?? "GET";
52
+ const handler = async (context) => {
52
53
  const manifest = await options.content.getManifest();
54
+ const request = await toPluginEndpointRequest(context, method);
53
55
  const response = await endpoint.handler({
54
56
  config: options.config,
55
- manifest
57
+ manifest,
58
+ request
56
59
  });
57
60
  return toHonoResponse(context, response);
58
- });
61
+ };
62
+ if (method === "POST") {
63
+ app.post(endpoint.path, handler);
64
+ } else {
65
+ app.get(endpoint.path, handler);
66
+ }
59
67
  }
60
68
  }
61
69
  function collectPluginEndpoints(config) {
@@ -102,6 +110,20 @@ function validateEndpointPath(path) {
102
110
  );
103
111
  }
104
112
  }
113
+ async function toPluginEndpointRequest(context, method) {
114
+ const headers = {};
115
+ context.req.raw.headers.forEach((value, key) => {
116
+ headers[key.toLowerCase()] = value;
117
+ });
118
+ return {
119
+ method,
120
+ url: context.req.url,
121
+ path: context.req.path,
122
+ query: context.req.query(),
123
+ headers,
124
+ body: await context.req.text()
125
+ };
126
+ }
105
127
  function toHonoResponse(context, response) {
106
128
  const status = response.status ?? 200;
107
129
  if ("json" in response) {
@@ -5,8 +5,23 @@ export type RiebeckiteEndpointMountOptions = {
5
5
  };
6
6
  type HonoLikeApp = {
7
7
  get(path: string, handler: (context: HonoLikeContext) => Promise<unknown>): void;
8
+ post(path: string, handler: (context: HonoLikeContext) => Promise<unknown>): void;
9
+ };
10
+ type HonoLikeHeaders = {
11
+ forEach(callback: (value: string, key: string) => void): void;
12
+ };
13
+ type HonoLikeRequest = {
14
+ method: string;
15
+ url: string;
16
+ path: string;
17
+ raw: {
18
+ headers: HonoLikeHeaders;
19
+ };
20
+ query(): Record<string, string>;
21
+ text(): Promise<string>;
8
22
  };
9
23
  type HonoLikeContext = {
24
+ req: HonoLikeRequest;
10
25
  json(body: unknown, status?: number, headers?: Record<string, string>): unknown;
11
26
  body(body: string, status?: number, headers?: Record<string, string>): unknown;
12
27
  text(body: string, status?: number, headers?: Record<string, string>): unknown;
@@ -1,10 +1,8 @@
1
- import type { Plugin } from "vite";
2
- type HonoxPlugin = Plugin | Promise<Plugin>;
1
+ import type { PluginOption } from "vite";
3
2
  /**
4
3
  * Replaces HonoX's dependency walker with one that remains inside the app
5
4
  * directory. Riebeckite configurations import plugins with large dependency
6
5
  * graphs, which must not be traversed merely to determine whether a route
7
6
  * imports an island.
8
7
  */
9
- export declare function replaceHonoxIslandDependencyPlugin(plugins: HonoxPlugin[]): HonoxPlugin[];
10
- export {};
8
+ export declare function replaceHonoxIslandDependencyPlugin(plugins: PluginOption[]): PluginOption[];
@@ -1,5 +1,5 @@
1
- import type { SiteTemplateFile, SiteTemplateVariables } from "./templates.js";
2
1
  import { type ScaffoldPreset } from "./presets.js";
2
+ import { type SiteTemplateFile, type SiteTemplateVariables } from "./templates.js";
3
3
  /**
4
4
  * Generates the content pages for a scaffold preset.
5
5
  *
@@ -0,0 +1 @@
1
+ export declare function formatScaffoldNextSteps(relativeDirectory: string): string;
@@ -35,9 +35,41 @@ export type ScaffoldPluginSpec = {
35
35
  readonly package: string;
36
36
  /** Factory/import name, for example `seo`. */
37
37
  readonly factory: string;
38
- /** Optional literal source for the factory call arguments. */
39
- readonly options?: string;
38
+ /** Options source for the factory call; see {@link ScaffoldOptions}. */
39
+ readonly options?: ScaffoldOptions;
40
+ };
41
+ /**
42
+ * Context passed to option sources. `variables` are the user-supplied site
43
+ * values (`title`, `baseUrl`, ...), `languages` the preset's configured
44
+ * languages, and `depth` the preset tier: 1 = rich essentials,
45
+ * 2 = full/max standard set, 3 = ultra full coverage.
46
+ */
47
+ export type ScaffoldOptionContext = {
48
+ readonly variables: {
49
+ readonly name: string;
50
+ readonly title: string;
51
+ readonly description: string;
52
+ readonly baseUrl: string;
53
+ readonly locale: string;
54
+ };
55
+ readonly languages: readonly ScaffoldLanguage[];
56
+ readonly depth: number;
57
+ };
58
+ /** A single option value: a literal, or a function of the scaffold context. */
59
+ export type ScaffoldOptionValue = string | ((context: ScaffoldOptionContext) => string);
60
+ /** A config field gated to a minimum preset depth. */
61
+ export type ScaffoldOptionField = {
62
+ /** The lowest `ScaffoldOptionContext.depth` that includes this field. */
63
+ readonly depth: number;
64
+ readonly value: ScaffoldOptionValue;
40
65
  };
66
+ /**
67
+ * Options for a generated plugin call: a literal source string, a function
68
+ * producing one, or a field map whose fields appear from a minimum depth.
69
+ * The field map form lets each preset tier demonstrate the configuration
70
+ * surface step by step while keeping one source of truth per plugin.
71
+ */
72
+ export type ScaffoldOptions = string | ((context: ScaffoldOptionContext) => string) | Readonly<Record<string, ScaffoldOptionField>>;
41
73
  /** Content pages the scaffold can emit. */
42
74
  export type ScaffoldPageKey = "index" | "framework/plugins" | "framework/themes" | "guide" | "examples" | "reference/plugins" | "reference/themes";
43
75
  /** `app/` shell files the scaffold can emit. */
@@ -40,78 +40,340 @@ var obsidianMarkdown = np(
40
40
  "obsidianMarkdown"
41
41
  );
42
42
  var colorMode = np("@riebeckite/plugin-color-mode", "colorModePlugin");
43
- var l10n = np("@riebeckite/plugin-l10n", "l10n");
44
- var seo = np("@riebeckite/plugin-seo", "seo");
43
+ var l10n = np("@riebeckite/plugin-l10n", "l10n", (context) => {
44
+ const defaultLang = defaultLanguageForLocale(context.variables.locale);
45
+ return `{ defaultLang: ${JSON.stringify(defaultLang)}, languages: ${JSON.stringify(context.languages)} }`;
46
+ });
47
+ var seo = np("@riebeckite/plugin-seo", "seo", {
48
+ siteName: {
49
+ depth: 1,
50
+ value: (context) => JSON.stringify(context.variables.title)
51
+ },
52
+ sitemap: { depth: 1, value: "true" },
53
+ robots: { depth: 2, value: "true" },
54
+ defaultImage: { depth: 3, value: '"/ogp.png"' },
55
+ feed: { depth: 3, value: "{ rss: true, atom: true, json: true }" }
56
+ });
45
57
  var toc = np("@riebeckite/plugin-toc", "tocPlugin");
46
- var properties = np("@riebeckite/plugin-properties", "properties");
47
- var alias = np("@riebeckite/plugin-alias", "aliasPlugin");
48
- var codeEnhance = np("@riebeckite/plugin-code-enhance", "codeEnhance");
58
+ var properties = np("@riebeckite/plugin-properties", "properties", {
59
+ render: { depth: 1, value: '"slot"' },
60
+ include: { depth: 2, value: '["created", "modified", "tags", "status"]' },
61
+ order: { depth: 2, value: '["created", "modified", "tags", "status"]' }
62
+ });
63
+ var alias = np("@riebeckite/plugin-alias", "aliasPlugin", `{ status: 308 }`);
64
+ var codeEnhance = np("@riebeckite/plugin-code-enhance", "codeEnhance", {
65
+ lineNumbers: { depth: 1, value: "true" },
66
+ copyButton: { depth: 1, value: "true" },
67
+ filename: { depth: 2, value: "true" },
68
+ lineHighlight: { depth: 2, value: "true" },
69
+ diffHighlight: { depth: 2, value: "true" },
70
+ theme: { depth: 3, value: '{ light: "github-light", dark: "github-dark" }' },
71
+ wrapToggle: { depth: 3, value: "true" }
72
+ });
49
73
  var search = np("@riebeckite/plugin-search", "searchPlugin");
50
74
  var backlinks = np("@riebeckite/plugin-backlinks", "backlinksPlugin");
51
- var relatedPosts = np("@riebeckite/plugin-related-posts", "relatedPosts");
75
+ var relatedPosts = np("@riebeckite/plugin-related-posts", "relatedPosts", {
76
+ limit: { depth: 2, value: "5" },
77
+ useTags: { depth: 2, value: "true" },
78
+ useBacklinks: { depth: 2, value: "true" },
79
+ minScore: { depth: 3, value: "1" },
80
+ heading: { depth: 3, value: "true" },
81
+ headingText: { depth: 3, value: '"Related"' },
82
+ className: { depth: 3, value: '"rb-related-posts"' }
83
+ });
84
+ var share = np("@riebeckite/plugin-share", "share", {
85
+ placement: { depth: 2, value: '"bottom"' },
86
+ services: {
87
+ depth: 3,
88
+ value: '["x", "bluesky", "mastodon", "facebook", "linkedin", "hatena", "copy"]'
89
+ },
90
+ mastodonInstance: { depth: 3, value: '"mastodon.social"' }
91
+ });
52
92
  var recentPosts = np("@riebeckite/plugin-recent-posts", "recentPostsPlugin");
53
- var attachment = np("@riebeckite/plugin-attachment", "attachment");
54
- var media = np("@riebeckite/plugin-media", "media");
93
+ var changelog = np("@riebeckite/plugin-changelog", "changelog", {
94
+ perNote: { depth: 2, value: "true" },
95
+ lookbackDays: { depth: 3, value: "90" },
96
+ dateFormat: { depth: 3, value: '"iso"' },
97
+ siteWide: { depth: 3, value: "false" }
98
+ });
99
+ var webmention = np("@riebeckite/plugin-webmention", "webmention", {
100
+ headingText: { depth: 2, value: '"Mentions"' },
101
+ limit: { depth: 3, value: "20" }
102
+ });
103
+ var attachment = np(
104
+ "@riebeckite/plugin-attachment",
105
+ "attachment",
106
+ `{ showSize: true }`
107
+ );
108
+ var pdf = np("@riebeckite/plugin-pdf", "pdf", {
109
+ height: { depth: 2, value: '"640px"' },
110
+ initialPage: { depth: 2, value: "1" },
111
+ toolbar: { depth: 2, value: "true" },
112
+ showMetadata: { depth: 3, value: "true" },
113
+ downloadLabel: { depth: 3, value: '"Download PDF"' }
114
+ });
115
+ var media = np("@riebeckite/plugin-media", "media", {
116
+ preload: { depth: 2, value: '"metadata"' },
117
+ lazy: { depth: 2, value: "true" },
118
+ showCaption: { depth: 3, value: "true" },
119
+ showDownload: { depth: 3, value: "false" },
120
+ showOpenOriginal: { depth: 3, value: "true" }
121
+ });
55
122
  var responsiveImage = np(
56
123
  "@riebeckite/plugin-responsive-image",
57
- "responsiveImage"
124
+ "responsiveImage",
125
+ {
126
+ lazy: { depth: 2, value: "true" },
127
+ decoding: { depth: 2, value: "true" },
128
+ sizes: { depth: 2, value: '"100vw"' },
129
+ widths: { depth: 2, value: "[640, 1280, 1920]" },
130
+ formats: { depth: 3, value: '["webp", "avif"]' },
131
+ className: { depth: 3, value: '"rb-responsive-image"' }
132
+ }
133
+ );
134
+ var lightbox = np(
135
+ "@riebeckite/plugin-lightbox",
136
+ "lightboxPlugin",
137
+ `{ selectorClass: "rr-lightbox-trigger" }`
138
+ );
139
+ var highlight = np("@riebeckite/plugin-highlight", "highlight", {
140
+ tag: { depth: 2, value: '"mark"' },
141
+ className: { depth: 3, value: '"rb-mark"' }
142
+ });
143
+ var codeTabs = np(
144
+ "@riebeckite/plugin-code-tabs",
145
+ "codeTabs",
146
+ `{ syncTabs: true }`
58
147
  );
59
- var lightbox = np("@riebeckite/plugin-lightbox", "lightboxPlugin");
60
- var highlight = np("@riebeckite/plugin-highlight", "highlight");
61
- var codeTabs = np("@riebeckite/plugin-code-tabs", "codeTabs");
62
148
  var codeAnnotations = np(
63
149
  "@riebeckite/plugin-code-annotations",
64
- "codeAnnotations"
150
+ "codeAnnotations",
151
+ `{ className: "rb-code" }`
152
+ );
153
+ var shortcodes = np(
154
+ "@riebeckite/plugin-shortcodes",
155
+ "shortcodes",
156
+ `{ builtins: true }`
65
157
  );
66
- var shortcodes = np("@riebeckite/plugin-shortcodes", "shortcodes");
67
- var series = np("@riebeckite/plugin-series", "series");
158
+ var series = np("@riebeckite/plugin-series", "series", {
159
+ key: { depth: 2, value: '"series"' },
160
+ orderKey: { depth: 2, value: '"series_order"' },
161
+ titleKey: { depth: 2, value: '"series_title"' },
162
+ positionLabel: { depth: 2, value: "false" },
163
+ heading: { depth: 3, value: "true" },
164
+ className: { depth: 3, value: '"rb-series"' }
165
+ });
166
+ var taxonomy = np("@riebeckite/plugin-taxonomy", "taxonomy", {
167
+ tags: { depth: 2, value: "true" },
168
+ folders: { depth: 2, value: "true" },
169
+ related: { depth: 2, value: "true" },
170
+ feeds: { depth: 3, value: "{ rss: true, atom: true, json: true }" },
171
+ relatedLimit: { depth: 3, value: "8" }
172
+ });
68
173
  var autoCardLink = np(
69
174
  "@riebeckite/plugin-autocardlink",
70
- "autoCardLinkPlugin"
175
+ "autoCardLinkPlugin",
176
+ `{ className: "rb-cardlink" }`
71
177
  );
72
- var richEmbed = np("@riebeckite/plugin-rich-embed", "richEmbed");
73
- var mermaid = np("@riebeckite/plugin-mermaid", "mermaid");
74
- var graphviz = np("@riebeckite/plugin-graphviz", "graphviz");
75
- var d2 = np("@riebeckite/plugin-d2", "d2");
76
- var plantuml = np("@riebeckite/plugin-plantuml", "plantuml");
77
- var chartjs = np("@riebeckite/plugin-chartjs", "chartjs");
78
- var vegaLite = np("@riebeckite/plugin-vega-lite", "vegaLite");
79
- var wavedrom = np("@riebeckite/plugin-wavedrom", "wavedrom");
80
- var markmap = np("@riebeckite/plugin-markmap", "markmap");
81
- var marp = np("@riebeckite/plugin-marp", "marp");
82
- var qrCode = np("@riebeckite/plugin-qr-code", "qrCode");
83
- var discordEmbed = np("@riebeckite/plugin-discord-embed", "discordEmbed");
84
- var excalidraw = np("@riebeckite/plugin-excalidraw", "excalidraw");
85
- var excaliBrain = np("@riebeckite/plugin-excalibrain", "excaliBrain");
86
- var canvas = np("@riebeckite/plugin-canvas", "canvas");
87
- var bases = np("@riebeckite/plugin-bases", "bases");
88
- var dataview = np("@riebeckite/plugin-dataview", "dataviewPlugin");
89
- var flashcards = np("@riebeckite/plugin-flashcards", "flashcardsPlugin");
90
- var kanban = np("@riebeckite/plugin-kanban", "kanban");
91
- var query = np("@riebeckite/plugin-query", "queryPlugin");
178
+ var richEmbed = np(
179
+ "@riebeckite/plugin-rich-embed",
180
+ "richEmbed",
181
+ `{ providers: ["youtube", "vimeo", "spotify"] }`
182
+ );
183
+ var gallery = np("@riebeckite/plugin-gallery", "gallery", {
184
+ columns: { depth: 2, value: "3" },
185
+ aspect: { depth: 2, value: '"4/3"' },
186
+ language: { depth: 3, value: '"gallery"' }
187
+ });
188
+ var mermaid = np("@riebeckite/plugin-mermaid", "mermaid", {
189
+ render: { depth: 2, value: '"build"' },
190
+ theme: { depth: 2, value: '{ light: "default", dark: "dark" }' },
191
+ caption: { depth: 3, value: "true" },
192
+ fallback: { depth: 3, value: "true" }
193
+ });
194
+ var graphviz = np("@riebeckite/plugin-graphviz", "graphviz", {
195
+ render: { depth: 2, value: '"build"' },
196
+ engine: { depth: 2, value: '"dot"' },
197
+ caption: { depth: 3, value: "true" },
198
+ fallback: { depth: 3, value: "true" }
199
+ });
200
+ var d2 = np("@riebeckite/plugin-d2", "d2", {
201
+ render: { depth: 2, value: '"build"' },
202
+ theme: { depth: 2, value: "{ light: 0, dark: 1 }" },
203
+ layout: { depth: 2, value: '"dagre"' },
204
+ caption: { depth: 3, value: "true" }
205
+ });
206
+ var plantuml = np("@riebeckite/plugin-plantuml", "plantuml", {
207
+ server: { depth: 2, value: '"https://www.plantuml.com/plantuml"' },
208
+ format: { depth: 2, value: '"svg"' },
209
+ caption: { depth: 3, value: "true" },
210
+ fallback: { depth: 3, value: "true" }
211
+ });
212
+ var chartjs = np("@riebeckite/plugin-chartjs", "chartjs", {
213
+ responsive: { depth: 2, value: "true" },
214
+ caption: { depth: 2, value: "true" },
215
+ className: { depth: 3, value: '"rb-chartjs"' }
216
+ });
217
+ var vegaLite = np("@riebeckite/plugin-vega-lite", "vegaLite", {
218
+ caption: { depth: 2, value: "true" },
219
+ theme: { depth: 2, value: '"light"' },
220
+ renderer: { depth: 2, value: '"canvas"' },
221
+ actions: { depth: 3, value: "false" },
222
+ className: { depth: 3, value: '"rb-vega-lite"' }
223
+ });
224
+ var wavedrom = np("@riebeckite/plugin-wavedrom", "wavedrom", {
225
+ skin: { depth: 2, value: '"default"' },
226
+ caption: { depth: 2, value: "true" },
227
+ fallback: { depth: 3, value: "true" },
228
+ className: { depth: 3, value: '"rb-wavedrom"' }
229
+ });
230
+ var markmap = np("@riebeckite/plugin-markmap", "markmap", {
231
+ caption: { depth: 2, value: "true" },
232
+ height: { depth: 2, value: "320" },
233
+ colorFreezeLevel: { depth: 3, value: "2" }
234
+ });
235
+ var map = np("@riebeckite/plugin-map", "map", {
236
+ zoom: { depth: 2, value: "13" },
237
+ height: { depth: 2, value: "320" },
238
+ tileUrl: {
239
+ depth: 3,
240
+ value: JSON.stringify("https://tile.openstreetmap.org/{z}/{x}/{y}.png")
241
+ },
242
+ attribution: {
243
+ depth: 3,
244
+ value: JSON.stringify(
245
+ '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
246
+ )
247
+ }
248
+ });
249
+ var marp = np("@riebeckite/plugin-marp", "marp", {
250
+ theme: { depth: 2, value: '"default"' },
251
+ allowHtml: { depth: 2, value: "true" },
252
+ math: { depth: 2, value: "true" },
253
+ caption: { depth: 3, value: "true" }
254
+ });
255
+ var qrCode = np("@riebeckite/plugin-qr-code", "qrCode", {
256
+ level: { depth: 2, value: '"M"' },
257
+ margin: { depth: 2, value: "1" },
258
+ width: { depth: 2, value: "160" },
259
+ dark: { depth: 3, value: '"#000000"' },
260
+ light: { depth: 3, value: '"#ffffff"' },
261
+ caption: { depth: 3, value: "true" },
262
+ className: { depth: 3, value: '"rb-qr"' }
263
+ });
264
+ var discordEmbed = np("@riebeckite/plugin-discord-embed", "discordEmbed", {
265
+ themeColor: { depth: 2, value: '"#5865F2"' },
266
+ imageAlt: { depth: 3, value: "true" },
267
+ imageDimensions: { depth: 3, value: "true" }
268
+ });
269
+ var excalidraw = np(
270
+ "@riebeckite/plugin-excalidraw",
271
+ "excalidraw",
272
+ `{ lazy: true }`
273
+ );
274
+ var excaliBrain = np("@riebeckite/plugin-excalibrain", "excaliBrain", {
275
+ render: { depth: 2, value: '"build"' },
276
+ auto: { depth: 2, value: "true" },
277
+ heading: { depth: 2, value: "true" },
278
+ infer: { depth: 2, value: "true" },
279
+ siblings: { depth: 2, value: "true" },
280
+ headingText: { depth: 3, value: '"ExcaliBrain"' },
281
+ width: { depth: 3, value: "720" },
282
+ height: { depth: 3, value: "480" }
283
+ });
284
+ var canvas = np("@riebeckite/plugin-canvas", "canvas", {
285
+ language: { depth: 2, value: '"canvas"' },
286
+ render: { depth: 2, value: '"both"' },
287
+ className: { depth: 3, value: '"rb-canvas"' }
288
+ });
289
+ var bases = np("@riebeckite/plugin-bases", "bases", {
290
+ language: { depth: 2, value: '"base"' },
291
+ limit: { depth: 2, value: "100" },
292
+ className: { depth: 3, value: '"rb-bases"' },
293
+ showFallback: { depth: 3, value: "true" }
294
+ });
295
+ var dataview = np("@riebeckite/plugin-dataview", "dataviewPlugin", {
296
+ limit: { depth: 2, value: "50" },
297
+ className: { depth: 3, value: '"rb-dataview"' },
298
+ hideFallback: { depth: 3, value: "false" }
299
+ });
300
+ var flashcards = np("@riebeckite/plugin-flashcards", "flashcardsPlugin", {
301
+ shuffle: { depth: 2, value: "true" },
302
+ fallback: { depth: 2, value: "true" },
303
+ className: { depth: 3, value: '"rb-flashcards"' }
304
+ });
305
+ var kanban = np("@riebeckite/plugin-kanban", "kanban", {
306
+ columnMarker: { depth: 2, value: '"##"' },
307
+ autoDetect: { depth: 2, value: "true" },
308
+ className: { depth: 3, value: '"rb-kanban"' },
309
+ fallback: { depth: 3, value: "true" }
310
+ });
311
+ var query = np("@riebeckite/plugin-query", "queryPlugin", {
312
+ defaultFormat: { depth: 2, value: '"list"' },
313
+ defaultLimit: { depth: 2, value: "50" },
314
+ className: { depth: 3, value: '"rb-query"' },
315
+ excludeSelf: { depth: 3, value: "true" }
316
+ });
92
317
  var localGraph = np("@riebeckite/plugin-local-graph", "localGraphPlugin");
93
318
  var hoverPreview = np(
94
319
  "@riebeckite/plugin-hover-preview",
95
- "hoverPreviewPlugin"
320
+ "hoverPreviewPlugin",
321
+ {
322
+ delay: { depth: 2, value: "120" },
323
+ excerptLength: { depth: 2, value: "160" },
324
+ selector: { depth: 2, value: `'a[href^="/"]'` },
325
+ includeTitles: { depth: 3, value: "true" }
326
+ }
96
327
  );
97
328
  var gardenExplorer = np(
98
329
  "@riebeckite/plugin-garden-explorer",
99
330
  "gardenExplorerPlugin"
100
331
  );
101
- var ux = np("@riebeckite/plugin-ux", "uxPlugin");
102
- var dailyNotes = np("@riebeckite/plugin-daily-notes", "dailyNotesPlugin");
103
- var rename = np("@riebeckite/plugin-rename", "renamePlugin");
332
+ var ux = np("@riebeckite/plugin-ux", "uxPlugin", {
333
+ progress: { depth: 2, value: "true" },
334
+ backToTop: { depth: 2, value: "true" },
335
+ tocScrollSpy: { depth: 2, value: "true" },
336
+ codeCopy: { depth: 3, value: "true" }
337
+ });
338
+ var dailyNotes = np(
339
+ "@riebeckite/plugin-daily-notes",
340
+ "dailyNotesPlugin",
341
+ `{ source: { directory: "Daily", pathPattern: "Daily/{YYYY}-{MM}-{DD}" }, extract: { frontmatter: "daily-summary", codeBlock: "daily-snippet" }, widget: { limit: 5 } }`
342
+ );
343
+ var rename = np(
344
+ "@riebeckite/plugin-rename",
345
+ "renamePlugin",
346
+ `{ enabled: true, status: 308, onUnexpectedRemoval: "warning" }`
347
+ );
104
348
  var textFragment = np(
105
349
  "@riebeckite/plugin-text-fragment",
106
- "textFragmentPlugin"
350
+ "textFragmentPlugin",
351
+ (context) => `{ prefix: ${JSON.stringify(`${context.variables.title}: `)} }`
352
+ );
353
+ var quality = np(
354
+ "@riebeckite/plugin-quality",
355
+ "qualityPlugin",
356
+ `{ a11y: { enabled: true }, ignoreRules: [] }`
357
+ );
358
+ var deploy = np(
359
+ "@riebeckite/plugin-deploy",
360
+ "deployPlugin",
361
+ (context) => `{ provider: "cloudflare-pages", baseUrl: ${JSON.stringify(context.variables.baseUrl)} }`
362
+ );
363
+ var diagnostics = np(
364
+ "@riebeckite/plugin-diagnostics",
365
+ "diagnostics",
366
+ `{ reportUnusedAssets: true, reportOrphans: true, requiredFrontmatter: ["title"] }`
107
367
  );
108
- var quality = np("@riebeckite/plugin-quality", "qualityPlugin");
109
- var deploy = np("@riebeckite/plugin-deploy", "deployPlugin");
110
- var diagnostics = np("@riebeckite/plugin-diagnostics", "diagnostics");
111
368
  var defaultTheme = {
112
369
  package: "@riebeckite/theme-default",
113
370
  factory: "defaultTheme"
114
371
  };
372
+ var showCaseTheme = {
373
+ package: "@riebeckite/theme-default",
374
+ factory: "defaultTheme",
375
+ options: '{ colorMode: "system", typography: "system", articleLayout: "article", userCss: [] }'
376
+ };
115
377
  var minimalTheme = {
116
378
  package: "@riebeckite/theme-minimal",
117
379
  factory: "minimalTheme"
@@ -160,7 +422,7 @@ var rich = {
160
422
  name: "rich",
161
423
  description: "A showcasing starter: publishing and reading plugins plus guided ecosystem tour pages in seven languages.",
162
424
  languages: [...SCAFFOLD_LANGUAGES],
163
- theme: defaultTheme,
425
+ theme: showCaseTheme,
164
426
  plugins: [
165
427
  obsidianMarkdown,
166
428
  colorMode,
@@ -179,7 +441,7 @@ var full = {
179
441
  name: "full",
180
442
  description: "A ready blog: discovery, media, and reading plugins plus a build guide.",
181
443
  languages: [...SCAFFOLD_LANGUAGES],
182
- theme: defaultTheme,
444
+ theme: showCaseTheme,
183
445
  plugins: [
184
446
  obsidianMarkdown,
185
447
  colorMode,
@@ -192,8 +454,12 @@ var full = {
192
454
  search,
193
455
  backlinks,
194
456
  relatedPosts,
457
+ share,
458
+ changelog,
459
+ webmention,
195
460
  recentPosts,
196
461
  attachment,
462
+ pdf,
197
463
  media,
198
464
  responsiveImage,
199
465
  lightbox,
@@ -202,8 +468,10 @@ var full = {
202
468
  codeAnnotations,
203
469
  shortcodes,
204
470
  series,
471
+ taxonomy,
205
472
  autoCardLink,
206
- richEmbed
473
+ richEmbed,
474
+ gallery
207
475
  ],
208
476
  contentPages: ["index", "framework/plugins", "framework/themes", "guide"],
209
477
  appFiles: [...BASE_APP_FILES, "index", "slug", "header", "article"],
@@ -213,7 +481,7 @@ var max = {
213
481
  name: "max",
214
482
  description: "Diagram and knowledge plugins on top of full, with showcase example pages.",
215
483
  languages: [...SCAFFOLD_LANGUAGES],
216
- theme: defaultTheme,
484
+ theme: showCaseTheme,
217
485
  plugins: [
218
486
  obsidianMarkdown,
219
487
  colorMode,
@@ -226,8 +494,12 @@ var max = {
226
494
  search,
227
495
  backlinks,
228
496
  relatedPosts,
497
+ share,
498
+ changelog,
499
+ webmention,
229
500
  recentPosts,
230
501
  attachment,
502
+ pdf,
231
503
  media,
232
504
  responsiveImage,
233
505
  lightbox,
@@ -236,8 +508,10 @@ var max = {
236
508
  codeAnnotations,
237
509
  shortcodes,
238
510
  series,
511
+ taxonomy,
239
512
  autoCardLink,
240
513
  richEmbed,
514
+ gallery,
241
515
  mermaid,
242
516
  graphviz,
243
517
  d2,
@@ -246,6 +520,7 @@ var max = {
246
520
  vegaLite,
247
521
  wavedrom,
248
522
  markmap,
523
+ map,
249
524
  marp,
250
525
  qrCode,
251
526
  discordEmbed,
@@ -276,7 +551,7 @@ var ultra = {
276
551
  name: "ultra",
277
552
  description: "The full plugin catalog and theme reference pages — everything the ecosystem offers.",
278
553
  languages: [...SCAFFOLD_LANGUAGES],
279
- theme: defaultTheme,
554
+ theme: showCaseTheme,
280
555
  plugins: [
281
556
  obsidianMarkdown,
282
557
  colorMode,
@@ -289,8 +564,12 @@ var ultra = {
289
564
  search,
290
565
  backlinks,
291
566
  relatedPosts,
567
+ share,
568
+ changelog,
569
+ webmention,
292
570
  recentPosts,
293
571
  attachment,
572
+ pdf,
294
573
  media,
295
574
  responsiveImage,
296
575
  lightbox,
@@ -299,8 +578,10 @@ var ultra = {
299
578
  codeAnnotations,
300
579
  shortcodes,
301
580
  series,
581
+ taxonomy,
302
582
  autoCardLink,
303
583
  richEmbed,
584
+ gallery,
304
585
  mermaid,
305
586
  graphviz,
306
587
  d2,
@@ -309,6 +590,7 @@ var ultra = {
309
590
  vegaLite,
310
591
  wavedrom,
311
592
  markmap,
593
+ map,
312
594
  marp,
313
595
  qrCode,
314
596
  discordEmbed,