@riebeckite/honox 0.0.4 → 0.0.6

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.
@@ -0,0 +1,656 @@
1
+ // src/scaffold/presets.ts
2
+ var SCAFFOLD_LANGUAGES = [
3
+ "en",
4
+ "ja",
5
+ "zh-CN",
6
+ "es",
7
+ "de",
8
+ "fr",
9
+ "ko"
10
+ ];
11
+ function defaultLanguageForLocale(locale) {
12
+ const normalized = locale.toLowerCase();
13
+ if (normalized.startsWith("ja")) return "ja";
14
+ if (normalized.startsWith("zh")) return "zh-CN";
15
+ if (normalized.startsWith("es")) return "es";
16
+ if (normalized.startsWith("de")) return "de";
17
+ if (normalized.startsWith("fr")) return "fr";
18
+ if (normalized.startsWith("ko")) return "ko";
19
+ return "en";
20
+ }
21
+ var SCAFFOLD_PRESET_NAMES = [
22
+ "empty",
23
+ "minimal",
24
+ "starter",
25
+ "rich",
26
+ "full",
27
+ "max",
28
+ "ultra"
29
+ ];
30
+ function isScaffoldPresetName(value) {
31
+ return SCAFFOLD_PRESET_NAMES.includes(value);
32
+ }
33
+ var np = (package_, factory, options) => ({
34
+ package: package_,
35
+ factory,
36
+ options
37
+ });
38
+ var obsidianMarkdown = np(
39
+ "@riebeckite/plugin-obsidian-markdown",
40
+ "obsidianMarkdown"
41
+ );
42
+ var colorMode = np("@riebeckite/plugin-color-mode", "colorModePlugin");
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
+ });
57
+ var toc = np("@riebeckite/plugin-toc", "tocPlugin");
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
+ });
73
+ var search = np("@riebeckite/plugin-search", "searchPlugin");
74
+ var backlinks = np("@riebeckite/plugin-backlinks", "backlinksPlugin");
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
+ });
92
+ var recentPosts = np("@riebeckite/plugin-recent-posts", "recentPostsPlugin");
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
+ });
122
+ var responsiveImage = np(
123
+ "@riebeckite/plugin-responsive-image",
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 }`
147
+ );
148
+ var codeAnnotations = np(
149
+ "@riebeckite/plugin-code-annotations",
150
+ "codeAnnotations",
151
+ `{ className: "rb-code" }`
152
+ );
153
+ var shortcodes = np(
154
+ "@riebeckite/plugin-shortcodes",
155
+ "shortcodes",
156
+ `{ builtins: true }`
157
+ );
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
+ });
173
+ var autoCardLink = np(
174
+ "@riebeckite/plugin-autocardlink",
175
+ "autoCardLinkPlugin",
176
+ `{ className: "rb-cardlink" }`
177
+ );
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
+ });
317
+ var localGraph = np("@riebeckite/plugin-local-graph", "localGraphPlugin");
318
+ var hoverPreview = np(
319
+ "@riebeckite/plugin-hover-preview",
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
+ }
327
+ );
328
+ var gardenExplorer = np(
329
+ "@riebeckite/plugin-garden-explorer",
330
+ "gardenExplorerPlugin"
331
+ );
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
+ );
348
+ var textFragment = np(
349
+ "@riebeckite/plugin-text-fragment",
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"] }`
367
+ );
368
+ var defaultTheme = {
369
+ package: "@riebeckite/theme-default",
370
+ factory: "defaultTheme"
371
+ };
372
+ var showCaseTheme = {
373
+ package: "@riebeckite/theme-default",
374
+ factory: "defaultTheme",
375
+ options: '{ colorMode: "system", typography: "system", articleLayout: "article", userCss: [] }'
376
+ };
377
+ var minimalTheme = {
378
+ package: "@riebeckite/theme-minimal",
379
+ factory: "minimalTheme"
380
+ };
381
+ var BASE_APP_FILES = [
382
+ "server",
383
+ "client",
384
+ "config",
385
+ "content",
386
+ "paths",
387
+ "global",
388
+ "style",
389
+ "renderer"
390
+ ];
391
+ var empty = {
392
+ name: "empty",
393
+ description: "A blank application shell: no plugins, no theme, no content, no components.",
394
+ languages: [],
395
+ theme: null,
396
+ plugins: [],
397
+ contentPages: [],
398
+ appFiles: [...BASE_APP_FILES, "index"],
399
+ readme: "short"
400
+ };
401
+ var minimal = {
402
+ name: "minimal",
403
+ description: "The smallest useful site: Obsidian Markdown, the minimal theme, and one page.",
404
+ languages: ["en"],
405
+ theme: minimalTheme,
406
+ plugins: [obsidianMarkdown],
407
+ contentPages: ["index"],
408
+ appFiles: [...BASE_APP_FILES, "index", "slug", "article"],
409
+ readme: "short"
410
+ };
411
+ var starter = {
412
+ name: "starter",
413
+ description: "The default starter: Obsidian Markdown, color mode, seven languages, and a site header.",
414
+ languages: [...SCAFFOLD_LANGUAGES],
415
+ theme: defaultTheme,
416
+ plugins: [obsidianMarkdown, colorMode, l10n],
417
+ contentPages: ["index"],
418
+ appFiles: [...BASE_APP_FILES, "index", "slug", "header", "article"],
419
+ readme: "standard"
420
+ };
421
+ var rich = {
422
+ name: "rich",
423
+ description: "A showcasing starter: publishing and reading plugins plus guided ecosystem tour pages in seven languages.",
424
+ languages: [...SCAFFOLD_LANGUAGES],
425
+ theme: showCaseTheme,
426
+ plugins: [
427
+ obsidianMarkdown,
428
+ colorMode,
429
+ l10n,
430
+ seo,
431
+ toc,
432
+ properties,
433
+ alias,
434
+ codeEnhance
435
+ ],
436
+ contentPages: ["index", "framework/plugins", "framework/themes"],
437
+ appFiles: [...BASE_APP_FILES, "index", "slug", "header", "article"],
438
+ readme: "rich"
439
+ };
440
+ var full = {
441
+ name: "full",
442
+ description: "A ready blog: discovery, media, and reading plugins plus a build guide.",
443
+ languages: [...SCAFFOLD_LANGUAGES],
444
+ theme: showCaseTheme,
445
+ plugins: [
446
+ obsidianMarkdown,
447
+ colorMode,
448
+ l10n,
449
+ seo,
450
+ toc,
451
+ properties,
452
+ alias,
453
+ codeEnhance,
454
+ search,
455
+ backlinks,
456
+ relatedPosts,
457
+ share,
458
+ changelog,
459
+ webmention,
460
+ recentPosts,
461
+ attachment,
462
+ pdf,
463
+ media,
464
+ responsiveImage,
465
+ lightbox,
466
+ highlight,
467
+ codeTabs,
468
+ codeAnnotations,
469
+ shortcodes,
470
+ series,
471
+ taxonomy,
472
+ autoCardLink,
473
+ richEmbed,
474
+ gallery
475
+ ],
476
+ contentPages: ["index", "framework/plugins", "framework/themes", "guide"],
477
+ appFiles: [...BASE_APP_FILES, "index", "slug", "header", "article"],
478
+ readme: "rich"
479
+ };
480
+ var max = {
481
+ name: "max",
482
+ description: "Diagram and knowledge plugins on top of full, with showcase example pages.",
483
+ languages: [...SCAFFOLD_LANGUAGES],
484
+ theme: showCaseTheme,
485
+ plugins: [
486
+ obsidianMarkdown,
487
+ colorMode,
488
+ l10n,
489
+ seo,
490
+ toc,
491
+ properties,
492
+ alias,
493
+ codeEnhance,
494
+ search,
495
+ backlinks,
496
+ relatedPosts,
497
+ share,
498
+ changelog,
499
+ webmention,
500
+ recentPosts,
501
+ attachment,
502
+ pdf,
503
+ media,
504
+ responsiveImage,
505
+ lightbox,
506
+ highlight,
507
+ codeTabs,
508
+ codeAnnotations,
509
+ shortcodes,
510
+ series,
511
+ taxonomy,
512
+ autoCardLink,
513
+ richEmbed,
514
+ gallery,
515
+ mermaid,
516
+ graphviz,
517
+ d2,
518
+ plantuml,
519
+ chartjs,
520
+ vegaLite,
521
+ wavedrom,
522
+ markmap,
523
+ map,
524
+ marp,
525
+ qrCode,
526
+ discordEmbed,
527
+ excalidraw,
528
+ excaliBrain,
529
+ canvas,
530
+ bases,
531
+ dataview,
532
+ flashcards,
533
+ kanban,
534
+ query,
535
+ localGraph,
536
+ hoverPreview,
537
+ gardenExplorer,
538
+ ux
539
+ ],
540
+ contentPages: [
541
+ "index",
542
+ "framework/plugins",
543
+ "framework/themes",
544
+ "guide",
545
+ "examples"
546
+ ],
547
+ appFiles: [...BASE_APP_FILES, "index", "slug", "header", "article"],
548
+ readme: "rich"
549
+ };
550
+ var ultra = {
551
+ name: "ultra",
552
+ description: "The full plugin catalog and theme reference pages — everything the ecosystem offers.",
553
+ languages: [...SCAFFOLD_LANGUAGES],
554
+ theme: showCaseTheme,
555
+ plugins: [
556
+ obsidianMarkdown,
557
+ colorMode,
558
+ l10n,
559
+ seo,
560
+ toc,
561
+ properties,
562
+ alias,
563
+ codeEnhance,
564
+ search,
565
+ backlinks,
566
+ relatedPosts,
567
+ share,
568
+ changelog,
569
+ webmention,
570
+ recentPosts,
571
+ attachment,
572
+ pdf,
573
+ media,
574
+ responsiveImage,
575
+ lightbox,
576
+ highlight,
577
+ codeTabs,
578
+ codeAnnotations,
579
+ shortcodes,
580
+ series,
581
+ taxonomy,
582
+ autoCardLink,
583
+ richEmbed,
584
+ gallery,
585
+ mermaid,
586
+ graphviz,
587
+ d2,
588
+ plantuml,
589
+ chartjs,
590
+ vegaLite,
591
+ wavedrom,
592
+ markmap,
593
+ map,
594
+ marp,
595
+ qrCode,
596
+ discordEmbed,
597
+ excalidraw,
598
+ excaliBrain,
599
+ canvas,
600
+ bases,
601
+ dataview,
602
+ flashcards,
603
+ kanban,
604
+ query,
605
+ localGraph,
606
+ hoverPreview,
607
+ gardenExplorer,
608
+ ux,
609
+ dailyNotes,
610
+ rename,
611
+ textFragment,
612
+ quality,
613
+ deploy,
614
+ diagnostics
615
+ ],
616
+ contentPages: [
617
+ "index",
618
+ "framework/plugins",
619
+ "framework/themes",
620
+ "guide",
621
+ "examples",
622
+ "reference/plugins",
623
+ "reference/themes"
624
+ ],
625
+ appFiles: [...BASE_APP_FILES, "index", "slug", "header", "article"],
626
+ readme: "rich"
627
+ };
628
+ var scaffoldPresets = { empty, minimal, starter, rich, full, max, ultra };
629
+ var SCAFFOLD_DEFAULT_PRESET = "starter";
630
+ function resolveScaffoldPreset(value) {
631
+ if (value === void 0) return scaffoldPresets[SCAFFOLD_DEFAULT_PRESET];
632
+ if (typeof value === "object") return value;
633
+ const preset = scaffoldPresets[value];
634
+ if (!preset) {
635
+ throw new Error(
636
+ `Unknown scaffold preset: ${value}. Available presets: ${SCAFFOLD_PRESET_NAMES.join(", ")}.`
637
+ );
638
+ }
639
+ return preset;
640
+ }
641
+ export {
642
+ SCAFFOLD_DEFAULT_PRESET,
643
+ SCAFFOLD_LANGUAGES,
644
+ SCAFFOLD_PRESET_NAMES,
645
+ defaultLanguageForLocale,
646
+ empty,
647
+ full,
648
+ isScaffoldPresetName,
649
+ max,
650
+ minimal,
651
+ resolveScaffoldPreset,
652
+ rich,
653
+ scaffoldPresets,
654
+ starter,
655
+ ultra
656
+ };
@@ -1,3 +1,4 @@
1
+ import { type ScaffoldOptionContext, type ScaffoldOptions, type ScaffoldPreset } from "./presets.js";
1
2
  export type SiteTemplateVariables = {
2
3
  readonly name: string;
3
4
  readonly title: string;
@@ -9,4 +10,40 @@ export type SiteTemplateFile = {
9
10
  readonly path: string;
10
11
  readonly content: string;
11
12
  };
12
- export declare function siteTemplateFiles(variables: SiteTemplateVariables): readonly SiteTemplateFile[];
13
+ export declare function siteTemplateFiles(preset: ScaffoldPreset, variables: SiteTemplateVariables): readonly SiteTemplateFile[];
14
+ /**
15
+ * Resolve a plugin's options literal for the preset's depth, or `null` when
16
+ * the plugin takes no options at that depth (and should be called bare).
17
+ */
18
+ export declare function renderOptions(options: ScaffoldOptions | undefined, context: ScaffoldOptionContext): string | null;
19
+ export type ReadmeDemo = {
20
+ readonly title: {
21
+ readonly en: string;
22
+ readonly ja: string;
23
+ };
24
+ readonly intro: {
25
+ readonly en: string;
26
+ readonly ja: string;
27
+ };
28
+ readonly markdown: string;
29
+ };
30
+ export declare const README_DEMOS: Readonly<Record<string, ReadmeDemo>>;
31
+ /**
32
+ * English-only content pages keep a `.en` suffix unless `en` is the default
33
+ * language. `examples` is intentionally absent: it is localized like the
34
+ * tour pages, with English as the fallback for untranslated languages.
35
+ */
36
+ export declare const ENGLISH_ONLY_PAGES: Set<string>;
37
+ export declare function fence(language: string, body: string): string;
38
+ export declare function hasPlugin(preset: ScaffoldPreset, packageName: string): boolean;
39
+ /**
40
+ * A demo key is either `@scope/package` or `@scope/package/topic`. Recover the
41
+ * package name: the first two `/`-separated segments form the scoped name.
42
+ */
43
+ export declare function demoPackage(key: string): string;
44
+ /**
45
+ * The options object literal used for a plugin at this preset's depth, or
46
+ * `null` when it takes no options at that depth.
47
+ */
48
+ export declare function readmePluginOptions(variables: SiteTemplateVariables, preset: ScaffoldPreset, plugin: ScaffoldPreset["plugins"][number]): string | null;
49
+ export declare const README_DEMO_ORDER: string[];
@@ -0,0 +1 @@
1
+ export declare const RIEBECKITE_VERSION = "^0.0.6";