livemark 0.2.0 → 0.7.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.
Files changed (348) hide show
  1. package/LICENSE.md +9 -0
  2. package/README.md +5 -1
  3. package/build/actions/changelog/build.d.ts +14 -0
  4. package/build/actions/changelog/build.js +158 -0
  5. package/build/actions/changelog/build.unit.js +66 -0
  6. package/build/actions/config/define.d.ts +6 -0
  7. package/build/actions/config/define.js +8 -0
  8. package/build/actions/config/define.unit.js +29 -0
  9. package/build/actions/config/load.d.ts +5 -0
  10. package/build/actions/config/load.js +25 -0
  11. package/build/actions/config/load.unit.js +23 -0
  12. package/build/commands/build.d.ts +5 -0
  13. package/build/commands/build.js +14 -0
  14. package/build/commands/escape.d.ts +9 -0
  15. package/build/commands/escape.js +56 -0
  16. package/build/commands/preview.d.ts +5 -0
  17. package/build/commands/preview.js +18 -0
  18. package/build/commands/start.d.ts +5 -0
  19. package/build/commands/start.js +19 -0
  20. package/build/docs/markdown/includes/example.d.ts +58 -0
  21. package/build/docs/markdown/includes/example.js +5 -0
  22. package/build/entrypoints/main.d.ts +2 -0
  23. package/build/entrypoints/main.js +12 -0
  24. package/build/helpers/program.d.ts +2 -0
  25. package/build/helpers/program.js +5 -0
  26. package/build/index.d.ts +1 -4
  27. package/build/index.js +2 -5
  28. package/build/livemark.config.d.ts +58 -0
  29. package/build/livemark.config.js +25 -0
  30. package/build/models/config.d.ts +340 -0
  31. package/build/models/config.js +34 -0
  32. package/build/models/link.d.ts +13 -0
  33. package/build/models/link.js +9 -0
  34. package/build/models/patch.d.ts +21 -0
  35. package/build/models/patch.js +7 -0
  36. package/build/models/section.d.ts +75 -0
  37. package/build/models/section.js +26 -0
  38. package/build/models/theme.d.ts +72 -0
  39. package/build/models/theme.js +73 -0
  40. package/build/program.d.ts +2 -0
  41. package/build/program.js +16 -0
  42. package/build/vite.config.d.ts +2 -0
  43. package/build/vite.config.js +48 -0
  44. package/build/website/assets/logo.svg +117 -0
  45. package/build/website/client.tsx +10 -0
  46. package/build/website/components/Abbr.tsx +17 -0
  47. package/build/website/components/AnsiCode.tsx +15 -0
  48. package/build/website/components/Article.tsx +172 -0
  49. package/build/website/components/BackToTop.tsx +32 -0
  50. package/build/website/components/Banner.tsx +32 -0
  51. package/build/website/components/BlogIndex.tsx +121 -0
  52. package/build/website/components/BlogSidebar.tsx +162 -0
  53. package/build/website/components/Breadcrumbs.tsx +22 -0
  54. package/build/website/components/Callout.tsx +72 -0
  55. package/build/website/components/Card.tsx +48 -0
  56. package/build/website/components/Cards.tsx +8 -0
  57. package/build/website/components/ChangelogIndex.tsx +111 -0
  58. package/build/website/components/ChangelogSidebar.tsx +120 -0
  59. package/build/website/components/CodeBlock.tsx +135 -0
  60. package/build/website/components/CodeTabs.tsx +83 -0
  61. package/build/website/components/Column.tsx +4 -0
  62. package/build/website/components/Columns.tsx +12 -0
  63. package/build/website/components/Content.tsx +7 -0
  64. package/build/website/components/ContentTab.tsx +7 -0
  65. package/build/website/components/ContentTabs.tsx +82 -0
  66. package/build/website/components/DefaultCatchBoundary.tsx +54 -0
  67. package/build/website/components/DefinitionList.tsx +21 -0
  68. package/build/website/components/Details.tsx +30 -0
  69. package/build/website/components/FileTree.tsx +52 -0
  70. package/build/website/components/Footer.tsx +16 -0
  71. package/build/website/components/FootnoteRef.tsx +52 -0
  72. package/build/website/components/Heading.tsx +20 -0
  73. package/build/website/components/InlineBadge.tsx +9 -0
  74. package/build/website/components/InlineIcon.tsx +10 -0
  75. package/build/website/components/InlineToc.tsx +31 -0
  76. package/build/website/components/Layout.tsx +190 -0
  77. package/build/website/components/LinkButton.tsx +31 -0
  78. package/build/website/components/Mermaid.tsx +18 -0
  79. package/build/website/components/MermaidRenderer.tsx +37 -0
  80. package/build/website/components/MiniSidebar.tsx +49 -0
  81. package/build/website/components/NotFound.tsx +27 -0
  82. package/build/website/components/PackageTabs.tsx +74 -0
  83. package/build/website/components/PageToolbar.tsx +75 -0
  84. package/build/website/components/PrevNext.tsx +60 -0
  85. package/build/website/components/Search.tsx +28 -0
  86. package/build/website/components/SearchDialog.tsx +245 -0
  87. package/build/website/components/Section.tsx +24 -0
  88. package/build/website/components/SectionHeader.tsx +35 -0
  89. package/build/website/components/Sidebar.tsx +160 -0
  90. package/build/website/components/SidebarLinks.tsx +70 -0
  91. package/build/website/components/SidebarSections.tsx +71 -0
  92. package/build/website/components/SiteTitle.tsx +21 -0
  93. package/build/website/components/SortableTable.tsx +81 -0
  94. package/build/website/components/SoundCloud.tsx +16 -0
  95. package/build/website/components/TagIndex.tsx +120 -0
  96. package/build/website/components/Theme.tsx +39 -0
  97. package/build/website/components/Toc.tsx +226 -0
  98. package/build/website/components/YouTube.tsx +16 -0
  99. package/build/website/components/ZoomImage.tsx +25 -0
  100. package/build/website/content/article.ts +78 -0
  101. package/build/website/content/tag.ts +29 -0
  102. package/build/website/content-collections.ts +208 -0
  103. package/build/website/elements/accordion.tsx +78 -0
  104. package/build/website/elements/alert-dialog.tsx +185 -0
  105. package/build/website/elements/alert.tsx +74 -0
  106. package/build/website/elements/aspect-ratio.tsx +22 -0
  107. package/build/website/elements/avatar.tsx +107 -0
  108. package/build/website/elements/badge.tsx +51 -0
  109. package/build/website/elements/breadcrumb.tsx +120 -0
  110. package/build/website/elements/button-group.tsx +87 -0
  111. package/build/website/elements/button.tsx +57 -0
  112. package/build/website/elements/calendar.tsx +229 -0
  113. package/build/website/elements/card.tsx +102 -0
  114. package/build/website/elements/carousel.tsx +240 -0
  115. package/build/website/elements/chart.tsx +372 -0
  116. package/build/website/elements/checkbox.tsx +26 -0
  117. package/build/website/elements/collapsible.tsx +19 -0
  118. package/build/website/elements/command.tsx +210 -0
  119. package/build/website/elements/context-menu.tsx +270 -0
  120. package/build/website/elements/dialog.tsx +152 -0
  121. package/build/website/elements/direction.tsx +4 -0
  122. package/build/website/elements/drawer.tsx +127 -0
  123. package/build/website/elements/dropdown-menu.tsx +260 -0
  124. package/build/website/elements/empty.tsx +104 -0
  125. package/build/website/elements/field.tsx +235 -0
  126. package/build/website/elements/hover-card.tsx +49 -0
  127. package/build/website/elements/input-group.tsx +171 -0
  128. package/build/website/elements/input-otp.tsx +84 -0
  129. package/build/website/elements/input.tsx +18 -0
  130. package/build/website/elements/item.tsx +199 -0
  131. package/build/website/elements/kbd.tsx +26 -0
  132. package/build/website/elements/label.tsx +17 -0
  133. package/build/website/elements/menubar.tsx +282 -0
  134. package/build/website/elements/native-select.tsx +56 -0
  135. package/build/website/elements/navigation-menu.tsx +171 -0
  136. package/build/website/elements/pagination.tsx +133 -0
  137. package/build/website/elements/popover.tsx +88 -0
  138. package/build/website/elements/progress.tsx +81 -0
  139. package/build/website/elements/radio-group.tsx +36 -0
  140. package/build/website/elements/resizable.tsx +48 -0
  141. package/build/website/elements/scroll-area.tsx +51 -0
  142. package/build/website/elements/select.tsx +200 -0
  143. package/build/website/elements/separator.tsx +22 -0
  144. package/build/website/elements/sheet.tsx +130 -0
  145. package/build/website/elements/sidebar.tsx +717 -0
  146. package/build/website/elements/skeleton.tsx +13 -0
  147. package/build/website/elements/slider.tsx +57 -0
  148. package/build/website/elements/sonner.tsx +40 -0
  149. package/build/website/elements/spinner.tsx +16 -0
  150. package/build/website/elements/switch.tsx +30 -0
  151. package/build/website/elements/table.tsx +112 -0
  152. package/build/website/elements/tabs.tsx +79 -0
  153. package/build/website/elements/textarea.tsx +16 -0
  154. package/build/website/elements/toggle-group.tsx +87 -0
  155. package/build/website/elements/toggle.tsx +43 -0
  156. package/build/website/elements/tooltip.tsx +67 -0
  157. package/build/website/env.d.ts +14 -0
  158. package/build/website/helpers/article-icon.ts +61 -0
  159. package/build/website/helpers/article.ts +90 -0
  160. package/build/website/helpers/changelog-source.ts +16 -0
  161. package/build/website/helpers/changelog-source.unit.ts +38 -0
  162. package/build/website/helpers/dynamic-icon-resolver.tsx +19 -0
  163. package/build/website/helpers/dynamic-icon.tsx +12 -0
  164. package/build/website/helpers/favicon.ts +7 -0
  165. package/build/website/helpers/model.ts +4 -0
  166. package/build/website/helpers/resolve-asset-path.ts +9 -0
  167. package/build/website/helpers/resolve-includes.ts +131 -0
  168. package/build/website/helpers/resolve-includes.unit.ts +126 -0
  169. package/build/website/helpers/search-text.ts +15 -0
  170. package/build/website/helpers/section.ts +50 -0
  171. package/build/website/helpers/section.unit.ts +71 -0
  172. package/build/website/helpers/style.ts +6 -0
  173. package/build/website/helpers/theme.ts +27 -0
  174. package/build/website/helpers/toc-context.ts +10 -0
  175. package/build/website/helpers/toc.ts +46 -0
  176. package/build/website/helpers/toc.unit.ts +74 -0
  177. package/build/website/hooks/in-view.ts +30 -0
  178. package/build/website/hooks/media.ts +19 -0
  179. package/build/website/models/article.ts +55 -0
  180. package/build/website/models/toc.ts +5 -0
  181. package/build/website/plugins/rehype-inline-code.ts +107 -0
  182. package/build/website/plugins/rehype-task-list-a11y.ts +33 -0
  183. package/build/website/plugins/remark-abbr.ts +46 -0
  184. package/build/website/plugins/remark-abbr.unit.ts +99 -0
  185. package/build/website/plugins/remark-ansi.ts +248 -0
  186. package/build/website/plugins/remark-ansi.unit.ts +197 -0
  187. package/build/website/plugins/remark-badge.ts +50 -0
  188. package/build/website/plugins/remark-badge.unit.ts +96 -0
  189. package/build/website/plugins/remark-button.ts +60 -0
  190. package/build/website/plugins/remark-button.unit.ts +147 -0
  191. package/build/website/plugins/remark-callout.ts +57 -0
  192. package/build/website/plugins/remark-card.ts +80 -0
  193. package/build/website/plugins/remark-code-tabs.ts +87 -0
  194. package/build/website/plugins/remark-columns.ts +66 -0
  195. package/build/website/plugins/remark-custom-heading-id.ts +70 -0
  196. package/build/website/plugins/remark-custom-heading-id.unit.ts +131 -0
  197. package/build/website/plugins/remark-deflist.ts +36 -0
  198. package/build/website/plugins/remark-details.ts +49 -0
  199. package/build/website/plugins/remark-filetree.ts +89 -0
  200. package/build/website/plugins/remark-filetree.unit.ts +137 -0
  201. package/build/website/plugins/remark-github-callout.ts +71 -0
  202. package/build/website/plugins/remark-icon.ts +42 -0
  203. package/build/website/plugins/remark-image.ts +34 -0
  204. package/build/website/plugins/remark-media.ts +62 -0
  205. package/build/website/plugins/remark-media.unit.ts +74 -0
  206. package/build/website/plugins/remark-mermaid.ts +23 -0
  207. package/build/website/plugins/remark-npm.ts +52 -0
  208. package/build/website/plugins/remark-steps.ts +36 -0
  209. package/build/website/plugins/remark-steps.unit.ts +97 -0
  210. package/build/website/plugins/remark-tab.ts +100 -0
  211. package/build/website/plugins/remark-tab.unit.ts +181 -0
  212. package/build/website/plugins/remark-toc.ts +39 -0
  213. package/build/website/plugins/remark-toc.unit.ts +82 -0
  214. package/build/website/plugins/shiki-icon.ts +82 -0
  215. package/build/website/plugins/shiki-line-highlight.ts +174 -0
  216. package/build/website/plugins/vite-livemark.ts +91 -0
  217. package/build/website/routeTree.gen.ts +86 -0
  218. package/build/website/router.tsx +34 -0
  219. package/build/website/routes/$.tsx +92 -0
  220. package/build/website/routes/__root.tsx +97 -0
  221. package/build/website/server.ts +7 -0
  222. package/build/website/styles/general.css +163 -0
  223. package/build/website/styles/markdown.css +214 -0
  224. package/build/website/vite.config.ts +71 -0
  225. package/package.json +120 -12
  226. package/skills/authoring/SKILL.md +97 -0
  227. package/skills/configuration/SKILL.md +120 -0
  228. package/skills/customization/SKILL.md +118 -0
  229. package/build/descriptor/index.d.ts +0 -3
  230. package/build/descriptor/index.js +0 -4
  231. package/build/descriptor/load.d.ts +0 -8
  232. package/build/descriptor/load.js +0 -40
  233. package/build/descriptor/node.d.ts +0 -125
  234. package/build/descriptor/node.js +0 -9
  235. package/build/descriptor/save.d.ts +0 -8
  236. package/build/descriptor/save.js +0 -17
  237. package/build/descriptor/save.spec.js +0 -80
  238. package/build/descriptor/validate.d.ts +0 -9
  239. package/build/descriptor/validate.js +0 -14
  240. package/build/descriptor/validate.spec.js +0 -124
  241. package/build/dialect/Dialect.d.ts +0 -88
  242. package/build/dialect/Dialect.js +0 -2
  243. package/build/dialect/index.d.ts +0 -3
  244. package/build/dialect/index.js +0 -3
  245. package/build/dialect/load.d.ts +0 -4
  246. package/build/dialect/load.js +0 -7
  247. package/build/dialect/save.d.ts +0 -9
  248. package/build/dialect/save.js +0 -13
  249. package/build/dialect/validate.d.ts +0 -1
  250. package/build/dialect/validate.js +0 -4
  251. package/build/metadata/index.d.ts +0 -3
  252. package/build/metadata/index.js +0 -4
  253. package/build/metadata/load.d.ts +0 -10
  254. package/build/metadata/load.js +0 -55
  255. package/build/metadata/node.d.ts +0 -125
  256. package/build/metadata/node.js +0 -9
  257. package/build/metadata/save.d.ts +0 -8
  258. package/build/metadata/save.js +0 -17
  259. package/build/metadata/save.spec.js +0 -80
  260. package/build/metadata/validate.d.ts +0 -9
  261. package/build/metadata/validate.js +0 -14
  262. package/build/metadata/validate.spec.d.ts +0 -1
  263. package/build/metadata/validate.spec.js +0 -124
  264. package/build/package/Contributor.d.ts +0 -21
  265. package/build/package/Contributor.js +0 -2
  266. package/build/package/Package.d.ts +0 -65
  267. package/build/package/Package.js +0 -2
  268. package/build/package/index.d.ts +0 -4
  269. package/build/package/index.js +0 -3
  270. package/build/package/load.d.ts +0 -4
  271. package/build/package/load.js +0 -7
  272. package/build/package/save.d.ts +0 -9
  273. package/build/package/save.js +0 -13
  274. package/build/package/validate.d.ts +0 -1
  275. package/build/package/validate.js +0 -4
  276. package/build/resource/License.d.ts +0 -18
  277. package/build/resource/License.js +0 -2
  278. package/build/resource/Resource.d.ts +0 -67
  279. package/build/resource/Resource.js +0 -2
  280. package/build/resource/Source.d.ts +0 -17
  281. package/build/resource/Source.js +0 -2
  282. package/build/resource/index.d.ts +0 -5
  283. package/build/resource/index.js +0 -2
  284. package/build/resource/load.d.ts +0 -1
  285. package/build/resource/load.js +0 -2
  286. package/build/resource/save.d.ts +0 -9
  287. package/build/resource/save.js +0 -13
  288. package/build/resource/types/index.d.ts +0 -1
  289. package/build/resource/types/index.js +0 -2
  290. package/build/resource/types/table.d.ts +0 -29
  291. package/build/resource/types/table.js +0 -2
  292. package/build/resource/validate.d.ts +0 -1
  293. package/build/resource/validate.js +0 -4
  294. package/build/schema/Field.d.ts +0 -5
  295. package/build/schema/Field.js +0 -2
  296. package/build/schema/Schema.d.ts +0 -55
  297. package/build/schema/Schema.js +0 -2
  298. package/build/schema/fields/any.d.ts +0 -20
  299. package/build/schema/fields/any.js +0 -2
  300. package/build/schema/fields/array.d.ts +0 -32
  301. package/build/schema/fields/array.js +0 -2
  302. package/build/schema/fields/base.d.ts +0 -42
  303. package/build/schema/fields/base.js +0 -2
  304. package/build/schema/fields/boolean.d.ts +0 -28
  305. package/build/schema/fields/boolean.js +0 -2
  306. package/build/schema/fields/date.d.ts +0 -35
  307. package/build/schema/fields/date.js +0 -2
  308. package/build/schema/fields/datetime.d.ts +0 -35
  309. package/build/schema/fields/datetime.js +0 -2
  310. package/build/schema/fields/duration.d.ts +0 -28
  311. package/build/schema/fields/duration.js +0 -2
  312. package/build/schema/fields/geojson.d.ts +0 -26
  313. package/build/schema/fields/geojson.js +0 -2
  314. package/build/schema/fields/geopoint.d.ts +0 -27
  315. package/build/schema/fields/geopoint.js +0 -2
  316. package/build/schema/fields/index.d.ts +0 -16
  317. package/build/schema/fields/index.js +0 -17
  318. package/build/schema/fields/integer.d.ts +0 -37
  319. package/build/schema/fields/integer.js +0 -2
  320. package/build/schema/fields/list.d.ts +0 -36
  321. package/build/schema/fields/list.js +0 -2
  322. package/build/schema/fields/number.d.ts +0 -40
  323. package/build/schema/fields/number.js +0 -2
  324. package/build/schema/fields/object.d.ts +0 -32
  325. package/build/schema/fields/object.js +0 -2
  326. package/build/schema/fields/string.d.ts +0 -40
  327. package/build/schema/fields/string.js +0 -2
  328. package/build/schema/fields/time.d.ts +0 -35
  329. package/build/schema/fields/time.js +0 -2
  330. package/build/schema/fields/year.d.ts +0 -28
  331. package/build/schema/fields/year.js +0 -2
  332. package/build/schema/fields/yearmonth.d.ts +0 -28
  333. package/build/schema/fields/yearmonth.js +0 -2
  334. package/build/schema/index.d.ts +0 -4
  335. package/build/schema/index.js +0 -2
  336. package/build/schema/load.d.ts +0 -1
  337. package/build/schema/load.js +0 -2
  338. package/build/schema/save.d.ts +0 -9
  339. package/build/schema/save.js +0 -13
  340. package/build/schema/validate.d.ts +0 -1
  341. package/build/schema/validate.js +0 -4
  342. package/build/tsconfig.tsbuildinfo +0 -1
  343. package/index.ts +0 -0
  344. package/tsconfig.json +0 -10
  345. package/typedoc.json +0 -4
  346. /package/build/{descriptor/save.spec.d.ts → actions/changelog/build.unit.d.ts} +0 -0
  347. /package/build/{descriptor/validate.spec.d.ts → actions/config/define.unit.d.ts} +0 -0
  348. /package/build/{metadata/save.spec.d.ts → actions/config/load.unit.d.ts} +0 -0
@@ -0,0 +1,75 @@
1
+ import { z } from "zod";
2
+ /** Default section: renders articles. */
3
+ export type ArticleSection = z.infer<typeof ArticleSection>;
4
+ export declare const ArticleSection: z.ZodObject<{
5
+ icon: z.ZodOptional<z.ZodString>;
6
+ title: z.ZodString;
7
+ prefix: z.ZodString;
8
+ position: z.ZodDefault<z.ZodEnum<{
9
+ header: "header";
10
+ sidebar: "sidebar";
11
+ }>>;
12
+ type: z.ZodLiteral<"article">;
13
+ }, z.core.$strip>;
14
+ /** Blog section: date-sorted posts with tags and index. */
15
+ export type BlogSection = z.infer<typeof BlogSection>;
16
+ export declare const BlogSection: z.ZodObject<{
17
+ icon: z.ZodOptional<z.ZodString>;
18
+ title: z.ZodString;
19
+ prefix: z.ZodString;
20
+ position: z.ZodDefault<z.ZodEnum<{
21
+ header: "header";
22
+ sidebar: "sidebar";
23
+ }>>;
24
+ type: z.ZodLiteral<"blog">;
25
+ }, z.core.$strip>;
26
+ /** Changelog section: single file or GitHub releases, split per version. */
27
+ export type ChangelogSection = z.infer<typeof ChangelogSection>;
28
+ export declare const ChangelogSection: z.ZodObject<{
29
+ icon: z.ZodOptional<z.ZodString>;
30
+ title: z.ZodString;
31
+ prefix: z.ZodString;
32
+ position: z.ZodDefault<z.ZodEnum<{
33
+ header: "header";
34
+ sidebar: "sidebar";
35
+ }>>;
36
+ type: z.ZodLiteral<"changelog">;
37
+ source: z.ZodString;
38
+ version: z.ZodOptional<z.ZodBoolean>;
39
+ }, z.core.$strip>;
40
+ /**
41
+ * A site section. Discriminated on `type`.
42
+ * When `type` is omitted, it defaults to "article" so plain
43
+ * `{ title, prefix }` entries keep working.
44
+ */
45
+ export type Section = z.infer<typeof Section>;
46
+ export declare const Section: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
47
+ icon: z.ZodOptional<z.ZodString>;
48
+ title: z.ZodString;
49
+ prefix: z.ZodString;
50
+ position: z.ZodDefault<z.ZodEnum<{
51
+ header: "header";
52
+ sidebar: "sidebar";
53
+ }>>;
54
+ type: z.ZodLiteral<"article">;
55
+ }, z.core.$strip>, z.ZodObject<{
56
+ icon: z.ZodOptional<z.ZodString>;
57
+ title: z.ZodString;
58
+ prefix: z.ZodString;
59
+ position: z.ZodDefault<z.ZodEnum<{
60
+ header: "header";
61
+ sidebar: "sidebar";
62
+ }>>;
63
+ type: z.ZodLiteral<"blog">;
64
+ }, z.core.$strip>, z.ZodObject<{
65
+ icon: z.ZodOptional<z.ZodString>;
66
+ title: z.ZodString;
67
+ prefix: z.ZodString;
68
+ position: z.ZodDefault<z.ZodEnum<{
69
+ header: "header";
70
+ sidebar: "sidebar";
71
+ }>>;
72
+ type: z.ZodLiteral<"changelog">;
73
+ source: z.ZodString;
74
+ version: z.ZodOptional<z.ZodBoolean>;
75
+ }, z.core.$strip>], "type">>;
@@ -0,0 +1,26 @@
1
+ import { z } from "zod";
2
+ const BaseSection = z.object({
3
+ icon: z.string().optional(),
4
+ title: z.string(),
5
+ prefix: z.string(),
6
+ position: z.enum(["header", "sidebar"]).default("header"),
7
+ });
8
+ export const ArticleSection = BaseSection.extend({
9
+ type: z.literal("article"),
10
+ });
11
+ export const BlogSection = BaseSection.extend({
12
+ type: z.literal("blog"),
13
+ });
14
+ export const ChangelogSection = BaseSection.extend({
15
+ type: z.literal("changelog"),
16
+ source: z.string(),
17
+ version: z.boolean().optional(),
18
+ });
19
+ export const Section = z.preprocess(input => {
20
+ if (input === null || typeof input !== "object" || Array.isArray(input)) {
21
+ return input;
22
+ }
23
+ const record = input;
24
+ return "type" in record ? record : { ...record, type: "article" };
25
+ }, z.discriminatedUnion("type", [ArticleSection, BlogSection, ChangelogSection]));
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL21vZGVscy9zZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFFdkIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMzQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNqQixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNsQixRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7Q0FDMUQsQ0FBQyxDQUFBO0FBSUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDL0MsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0NBQzNCLENBQUMsQ0FBQTtBQUlGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQzVDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztDQUN4QixDQUFDLENBQUE7QUFJRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ2pELElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztJQUM1QixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNsQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNoQyxDQUFDLENBQUE7QUFRRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FDakMsS0FBSyxDQUFDLEVBQUU7SUFDTixJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4RSxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxLQUFnQyxDQUFBO0lBQy9DLE9BQU8sTUFBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQTtBQUNuRSxDQUFDLEVBQ0QsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUM5RSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIlxuXG5jb25zdCBCYXNlU2VjdGlvbiA9IHoub2JqZWN0KHtcbiAgaWNvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0aXRsZTogei5zdHJpbmcoKSxcbiAgcHJlZml4OiB6LnN0cmluZygpLFxuICBwb3NpdGlvbjogei5lbnVtKFtcImhlYWRlclwiLCBcInNpZGViYXJcIl0pLmRlZmF1bHQoXCJoZWFkZXJcIiksXG59KVxuXG4vKiogRGVmYXVsdCBzZWN0aW9uOiByZW5kZXJzIGFydGljbGVzLiAqL1xuZXhwb3J0IHR5cGUgQXJ0aWNsZVNlY3Rpb24gPSB6LmluZmVyPHR5cGVvZiBBcnRpY2xlU2VjdGlvbj5cbmV4cG9ydCBjb25zdCBBcnRpY2xlU2VjdGlvbiA9IEJhc2VTZWN0aW9uLmV4dGVuZCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcImFydGljbGVcIiksXG59KVxuXG4vKiogQmxvZyBzZWN0aW9uOiBkYXRlLXNvcnRlZCBwb3N0cyB3aXRoIHRhZ3MgYW5kIGluZGV4LiAqL1xuZXhwb3J0IHR5cGUgQmxvZ1NlY3Rpb24gPSB6LmluZmVyPHR5cGVvZiBCbG9nU2VjdGlvbj5cbmV4cG9ydCBjb25zdCBCbG9nU2VjdGlvbiA9IEJhc2VTZWN0aW9uLmV4dGVuZCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcImJsb2dcIiksXG59KVxuXG4vKiogQ2hhbmdlbG9nIHNlY3Rpb246IHNpbmdsZSBmaWxlIG9yIEdpdEh1YiByZWxlYXNlcywgc3BsaXQgcGVyIHZlcnNpb24uICovXG5leHBvcnQgdHlwZSBDaGFuZ2Vsb2dTZWN0aW9uID0gei5pbmZlcjx0eXBlb2YgQ2hhbmdlbG9nU2VjdGlvbj5cbmV4cG9ydCBjb25zdCBDaGFuZ2Vsb2dTZWN0aW9uID0gQmFzZVNlY3Rpb24uZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwiY2hhbmdlbG9nXCIpLFxuICBzb3VyY2U6IHouc3RyaW5nKCksXG4gIHZlcnNpb246IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG59KVxuXG4vKipcbiAqIEEgc2l0ZSBzZWN0aW9uLiBEaXNjcmltaW5hdGVkIG9uIGB0eXBlYC5cbiAqIFdoZW4gYHR5cGVgIGlzIG9taXR0ZWQsIGl0IGRlZmF1bHRzIHRvIFwiYXJ0aWNsZVwiIHNvIHBsYWluXG4gKiBgeyB0aXRsZSwgcHJlZml4IH1gIGVudHJpZXMga2VlcCB3b3JraW5nLlxuICovXG5leHBvcnQgdHlwZSBTZWN0aW9uID0gei5pbmZlcjx0eXBlb2YgU2VjdGlvbj5cbmV4cG9ydCBjb25zdCBTZWN0aW9uID0gei5wcmVwcm9jZXNzKFxuICBpbnB1dCA9PiB7XG4gICAgaWYgKGlucHV0ID09PSBudWxsIHx8IHR5cGVvZiBpbnB1dCAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KGlucHV0KSkge1xuICAgICAgcmV0dXJuIGlucHV0XG4gICAgfVxuICAgIGNvbnN0IHJlY29yZCA9IGlucHV0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgcmV0dXJuIFwidHlwZVwiIGluIHJlY29yZCA/IHJlY29yZCA6IHsgLi4ucmVjb3JkLCB0eXBlOiBcImFydGljbGVcIiB9XG4gIH0sXG4gIHouZGlzY3JpbWluYXRlZFVuaW9uKFwidHlwZVwiLCBbQXJ0aWNsZVNlY3Rpb24sIEJsb2dTZWN0aW9uLCBDaGFuZ2Vsb2dTZWN0aW9uXSksXG4pXG4iXX0=
@@ -0,0 +1,72 @@
1
+ import { z } from "zod";
2
+ /** Light syntax highlighting theme (Shiki) */
3
+ export declare const CodeThemeLight: z.ZodEnum<{
4
+ "ayu-light": "ayu-light";
5
+ "catppuccin-latte": "catppuccin-latte";
6
+ "everforest-light": "everforest-light";
7
+ "github-light": "github-light";
8
+ "github-light-default": "github-light-default";
9
+ "github-light-high-contrast": "github-light-high-contrast";
10
+ "gruvbox-light-hard": "gruvbox-light-hard";
11
+ "gruvbox-light-medium": "gruvbox-light-medium";
12
+ "gruvbox-light-soft": "gruvbox-light-soft";
13
+ "horizon-bright": "horizon-bright";
14
+ "kanagawa-lotus": "kanagawa-lotus";
15
+ "light-plus": "light-plus";
16
+ "material-theme-lighter": "material-theme-lighter";
17
+ "min-light": "min-light";
18
+ "night-owl-light": "night-owl-light";
19
+ "one-light": "one-light";
20
+ "rose-pine-dawn": "rose-pine-dawn";
21
+ "slack-ochin": "slack-ochin";
22
+ "snazzy-light": "snazzy-light";
23
+ "solarized-light": "solarized-light";
24
+ "vitesse-light": "vitesse-light";
25
+ }>;
26
+ /** Dark syntax highlighting theme (Shiki) */
27
+ export declare const CodeThemeDark: z.ZodEnum<{
28
+ andromeeda: "andromeeda";
29
+ "aurora-x": "aurora-x";
30
+ "ayu-dark": "ayu-dark";
31
+ "ayu-mirage": "ayu-mirage";
32
+ "catppuccin-frappe": "catppuccin-frappe";
33
+ "catppuccin-macchiato": "catppuccin-macchiato";
34
+ "catppuccin-mocha": "catppuccin-mocha";
35
+ "dark-plus": "dark-plus";
36
+ dracula: "dracula";
37
+ "dracula-soft": "dracula-soft";
38
+ "everforest-dark": "everforest-dark";
39
+ "github-dark": "github-dark";
40
+ "github-dark-default": "github-dark-default";
41
+ "github-dark-dimmed": "github-dark-dimmed";
42
+ "github-dark-high-contrast": "github-dark-high-contrast";
43
+ "gruvbox-dark-hard": "gruvbox-dark-hard";
44
+ "gruvbox-dark-medium": "gruvbox-dark-medium";
45
+ "gruvbox-dark-soft": "gruvbox-dark-soft";
46
+ horizon: "horizon";
47
+ houston: "houston";
48
+ "kanagawa-dragon": "kanagawa-dragon";
49
+ "kanagawa-wave": "kanagawa-wave";
50
+ laserwave: "laserwave";
51
+ "material-theme": "material-theme";
52
+ "material-theme-darker": "material-theme-darker";
53
+ "material-theme-ocean": "material-theme-ocean";
54
+ "material-theme-palenight": "material-theme-palenight";
55
+ "min-dark": "min-dark";
56
+ monokai: "monokai";
57
+ "night-owl": "night-owl";
58
+ nord: "nord";
59
+ "one-dark-pro": "one-dark-pro";
60
+ plastic: "plastic";
61
+ poimandres: "poimandres";
62
+ red: "red";
63
+ "rose-pine": "rose-pine";
64
+ "rose-pine-moon": "rose-pine-moon";
65
+ "slack-dark": "slack-dark";
66
+ "solarized-dark": "solarized-dark";
67
+ "synthwave-84": "synthwave-84";
68
+ "tokyo-night": "tokyo-night";
69
+ vesper: "vesper";
70
+ "vitesse-black": "vitesse-black";
71
+ "vitesse-dark": "vitesse-dark";
72
+ }>;
@@ -0,0 +1,73 @@
1
+ import { z } from "zod";
2
+ /** Light syntax highlighting theme (Shiki) */
3
+ export const CodeThemeLight = z.enum([
4
+ "ayu-light",
5
+ "catppuccin-latte",
6
+ "everforest-light",
7
+ "github-light",
8
+ "github-light-default",
9
+ "github-light-high-contrast",
10
+ "gruvbox-light-hard",
11
+ "gruvbox-light-medium",
12
+ "gruvbox-light-soft",
13
+ "horizon-bright",
14
+ "kanagawa-lotus",
15
+ "light-plus",
16
+ "material-theme-lighter",
17
+ "min-light",
18
+ "night-owl-light",
19
+ "one-light",
20
+ "rose-pine-dawn",
21
+ "slack-ochin",
22
+ "snazzy-light",
23
+ "solarized-light",
24
+ "vitesse-light",
25
+ ]);
26
+ /** Dark syntax highlighting theme (Shiki) */
27
+ export const CodeThemeDark = z.enum([
28
+ "andromeeda",
29
+ "aurora-x",
30
+ "ayu-dark",
31
+ "ayu-mirage",
32
+ "catppuccin-frappe",
33
+ "catppuccin-macchiato",
34
+ "catppuccin-mocha",
35
+ "dark-plus",
36
+ "dracula",
37
+ "dracula-soft",
38
+ "everforest-dark",
39
+ "github-dark",
40
+ "github-dark-default",
41
+ "github-dark-dimmed",
42
+ "github-dark-high-contrast",
43
+ "gruvbox-dark-hard",
44
+ "gruvbox-dark-medium",
45
+ "gruvbox-dark-soft",
46
+ "horizon",
47
+ "houston",
48
+ "kanagawa-dragon",
49
+ "kanagawa-wave",
50
+ "laserwave",
51
+ "material-theme",
52
+ "material-theme-darker",
53
+ "material-theme-ocean",
54
+ "material-theme-palenight",
55
+ "min-dark",
56
+ "monokai",
57
+ "night-owl",
58
+ "nord",
59
+ "one-dark-pro",
60
+ "plastic",
61
+ "poimandres",
62
+ "red",
63
+ "rose-pine",
64
+ "rose-pine-moon",
65
+ "slack-dark",
66
+ "solarized-dark",
67
+ "synthwave-84",
68
+ "tokyo-night",
69
+ "vesper",
70
+ "vitesse-black",
71
+ "vitesse-dark",
72
+ ]);
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9tb2RlbHMvdGhlbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUV2Qiw4Q0FBOEM7QUFDOUMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbkMsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsb0JBQW9CO0lBQ3BCLHNCQUFzQjtJQUN0QixvQkFBb0I7SUFDcEIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osd0JBQXdCO0lBQ3hCLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixlQUFlO0NBQ2hCLENBQUMsQ0FBQTtBQUVGLDZDQUE2QztBQUM3QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsQyxZQUFZO0lBQ1osVUFBVTtJQUNWLFVBQVU7SUFDVixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFNBQVM7SUFDVCxjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLDJCQUEyQjtJQUMzQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsU0FBUztJQUNULGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsV0FBVztJQUNYLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLDBCQUEwQjtJQUMxQixVQUFVO0lBQ1YsU0FBUztJQUNULFdBQVc7SUFDWCxNQUFNO0lBQ04sY0FBYztJQUNkLFNBQVM7SUFDVCxZQUFZO0lBQ1osS0FBSztJQUNMLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsYUFBYTtJQUNiLFFBQVE7SUFDUixlQUFlO0lBQ2YsY0FBYztDQUNmLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCJcblxuLyoqIExpZ2h0IHN5bnRheCBoaWdobGlnaHRpbmcgdGhlbWUgKFNoaWtpKSAqL1xuZXhwb3J0IGNvbnN0IENvZGVUaGVtZUxpZ2h0ID0gei5lbnVtKFtcbiAgXCJheXUtbGlnaHRcIixcbiAgXCJjYXRwcHVjY2luLWxhdHRlXCIsXG4gIFwiZXZlcmZvcmVzdC1saWdodFwiLFxuICBcImdpdGh1Yi1saWdodFwiLFxuICBcImdpdGh1Yi1saWdodC1kZWZhdWx0XCIsXG4gIFwiZ2l0aHViLWxpZ2h0LWhpZ2gtY29udHJhc3RcIixcbiAgXCJncnV2Ym94LWxpZ2h0LWhhcmRcIixcbiAgXCJncnV2Ym94LWxpZ2h0LW1lZGl1bVwiLFxuICBcImdydXZib3gtbGlnaHQtc29mdFwiLFxuICBcImhvcml6b24tYnJpZ2h0XCIsXG4gIFwia2FuYWdhd2EtbG90dXNcIixcbiAgXCJsaWdodC1wbHVzXCIsXG4gIFwibWF0ZXJpYWwtdGhlbWUtbGlnaHRlclwiLFxuICBcIm1pbi1saWdodFwiLFxuICBcIm5pZ2h0LW93bC1saWdodFwiLFxuICBcIm9uZS1saWdodFwiLFxuICBcInJvc2UtcGluZS1kYXduXCIsXG4gIFwic2xhY2stb2NoaW5cIixcbiAgXCJzbmF6enktbGlnaHRcIixcbiAgXCJzb2xhcml6ZWQtbGlnaHRcIixcbiAgXCJ2aXRlc3NlLWxpZ2h0XCIsXG5dKVxuXG4vKiogRGFyayBzeW50YXggaGlnaGxpZ2h0aW5nIHRoZW1lIChTaGlraSkgKi9cbmV4cG9ydCBjb25zdCBDb2RlVGhlbWVEYXJrID0gei5lbnVtKFtcbiAgXCJhbmRyb21lZWRhXCIsXG4gIFwiYXVyb3JhLXhcIixcbiAgXCJheXUtZGFya1wiLFxuICBcImF5dS1taXJhZ2VcIixcbiAgXCJjYXRwcHVjY2luLWZyYXBwZVwiLFxuICBcImNhdHBwdWNjaW4tbWFjY2hpYXRvXCIsXG4gIFwiY2F0cHB1Y2Npbi1tb2NoYVwiLFxuICBcImRhcmstcGx1c1wiLFxuICBcImRyYWN1bGFcIixcbiAgXCJkcmFjdWxhLXNvZnRcIixcbiAgXCJldmVyZm9yZXN0LWRhcmtcIixcbiAgXCJnaXRodWItZGFya1wiLFxuICBcImdpdGh1Yi1kYXJrLWRlZmF1bHRcIixcbiAgXCJnaXRodWItZGFyay1kaW1tZWRcIixcbiAgXCJnaXRodWItZGFyay1oaWdoLWNvbnRyYXN0XCIsXG4gIFwiZ3J1dmJveC1kYXJrLWhhcmRcIixcbiAgXCJncnV2Ym94LWRhcmstbWVkaXVtXCIsXG4gIFwiZ3J1dmJveC1kYXJrLXNvZnRcIixcbiAgXCJob3Jpem9uXCIsXG4gIFwiaG91c3RvblwiLFxuICBcImthbmFnYXdhLWRyYWdvblwiLFxuICBcImthbmFnYXdhLXdhdmVcIixcbiAgXCJsYXNlcndhdmVcIixcbiAgXCJtYXRlcmlhbC10aGVtZVwiLFxuICBcIm1hdGVyaWFsLXRoZW1lLWRhcmtlclwiLFxuICBcIm1hdGVyaWFsLXRoZW1lLW9jZWFuXCIsXG4gIFwibWF0ZXJpYWwtdGhlbWUtcGFsZW5pZ2h0XCIsXG4gIFwibWluLWRhcmtcIixcbiAgXCJtb25va2FpXCIsXG4gIFwibmlnaHQtb3dsXCIsXG4gIFwibm9yZFwiLFxuICBcIm9uZS1kYXJrLXByb1wiLFxuICBcInBsYXN0aWNcIixcbiAgXCJwb2ltYW5kcmVzXCIsXG4gIFwicmVkXCIsXG4gIFwicm9zZS1waW5lXCIsXG4gIFwicm9zZS1waW5lLW1vb25cIixcbiAgXCJzbGFjay1kYXJrXCIsXG4gIFwic29sYXJpemVkLWRhcmtcIixcbiAgXCJzeW50aHdhdmUtODRcIixcbiAgXCJ0b2t5by1uaWdodFwiLFxuICBcInZlc3BlclwiLFxuICBcInZpdGVzc2UtYmxhY2tcIixcbiAgXCJ2aXRlc3NlLWRhcmtcIixcbl0pXG4iXX0=
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const program: Command;
@@ -0,0 +1,16 @@
1
+ import { Command } from "commander";
2
+ import { build } from "./commands/build.js";
3
+ import { escape } from "./commands/escape.js";
4
+ import { preview } from "./commands/preview.js";
5
+ import { start } from "./commands/start.js";
6
+ import { helpConfiguration } from "./helpers/program.js";
7
+ export const program = new Command()
8
+ .name("livemark")
9
+ .description("Livemark static site generator")
10
+ .option("-c, --config <path>", "path to config file")
11
+ .configureHelp(helpConfiguration)
12
+ .addCommand(start)
13
+ .addCommand(build)
14
+ .addCommand(preview)
15
+ .addCommand(escape);
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3Byb2dyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFeEQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFO0tBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUM7S0FDaEIsV0FBVyxDQUFDLGdDQUFnQyxDQUFDO0tBQzdDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQztLQUNwRCxhQUFhLENBQUMsaUJBQWlCLENBQUM7S0FDaEMsVUFBVSxDQUFDLEtBQUssQ0FBQztLQUNqQixVQUFVLENBQUMsS0FBSyxDQUFDO0tBQ2pCLFVBQVUsQ0FBQyxPQUFPLENBQUM7S0FDbkIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gXCJjb21tYW5kZXJcIlxuaW1wb3J0IHsgYnVpbGQgfSBmcm9tIFwiLi9jb21tYW5kcy9idWlsZC50c1wiXG5pbXBvcnQgeyBlc2NhcGUgfSBmcm9tIFwiLi9jb21tYW5kcy9lc2NhcGUudHNcIlxuaW1wb3J0IHsgcHJldmlldyB9IGZyb20gXCIuL2NvbW1hbmRzL3ByZXZpZXcudHNcIlxuaW1wb3J0IHsgc3RhcnQgfSBmcm9tIFwiLi9jb21tYW5kcy9zdGFydC50c1wiXG5pbXBvcnQgeyBoZWxwQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuL2hlbHBlcnMvcHJvZ3JhbS50c1wiXG5cbmV4cG9ydCBjb25zdCBwcm9ncmFtID0gbmV3IENvbW1hbmQoKVxuICAubmFtZShcImxpdmVtYXJrXCIpXG4gIC5kZXNjcmlwdGlvbihcIkxpdmVtYXJrIHN0YXRpYyBzaXRlIGdlbmVyYXRvclwiKVxuICAub3B0aW9uKFwiLWMsIC0tY29uZmlnIDxwYXRoPlwiLCBcInBhdGggdG8gY29uZmlnIGZpbGVcIilcbiAgLmNvbmZpZ3VyZUhlbHAoaGVscENvbmZpZ3VyYXRpb24pXG4gIC5hZGRDb21tYW5kKHN0YXJ0KVxuICAuYWRkQ29tbWFuZChidWlsZClcbiAgLmFkZENvbW1hbmQocHJldmlldylcbiAgLmFkZENvbW1hbmQoZXNjYXBlKVxuIl19
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vite-plus").UserConfig;
2
+ export default _default;
@@ -0,0 +1,48 @@
1
+ import { basename, dirname, join } from "node:path";
2
+ import { coverageConfigDefaults, defineConfig } from "vite-plus";
3
+ const ignorePatterns = ["**/generated/**", "**.gen.**"];
4
+ export default defineConfig({
5
+ fmt: {
6
+ semi: false,
7
+ printWidth: 80,
8
+ arrowParens: "avoid",
9
+ ignorePatterns,
10
+ },
11
+ lint: {
12
+ ignorePatterns,
13
+ options: {
14
+ typeAware: false,
15
+ typeCheck: false,
16
+ },
17
+ },
18
+ test: {
19
+ include: ["**/*.unit.(ts|tsx)"],
20
+ exclude: ["**/node_modules/**", "**/build/**"],
21
+ env: { NODE_OPTIONS: "--no-warnings" },
22
+ testTimeout: 60 * 1000,
23
+ passWithNoTests: true,
24
+ silent: "passed-only",
25
+ coverage: {
26
+ enabled: true,
27
+ reporter: ["html", "json"],
28
+ exclude: [
29
+ ...coverageConfigDefaults.exclude,
30
+ "**/@*",
31
+ "**/build/**",
32
+ "**/compile/**",
33
+ "**/coverage/**",
34
+ "**/entrypoints/**",
35
+ "**/examples/**",
36
+ "**/messages.js",
37
+ "**/program.ts",
38
+ "**/index.ts",
39
+ "**/main.ts",
40
+ ],
41
+ },
42
+ resolveSnapshotPath: (testPath, snapExtension) => {
43
+ return (join(dirname(testPath), "fixtures", "generated", basename(testPath)) +
44
+ snapExtension);
45
+ },
46
+ },
47
+ });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi92aXRlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVoRSxNQUFNLGNBQWMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFBO0FBRXZELGVBQWUsWUFBWSxDQUFDO0lBQzFCLEdBQUcsRUFBRTtRQUNILElBQUksRUFBRSxLQUFLO1FBQ1gsVUFBVSxFQUFFLEVBQUU7UUFDZCxXQUFXLEVBQUUsT0FBTztRQUNwQixjQUFjO0tBQ2Y7SUFDRCxJQUFJLEVBQUU7UUFDSixjQUFjO1FBQ2QsT0FBTyxFQUFFO1lBQ1AsU0FBUyxFQUFFLEtBQUs7WUFDaEIsU0FBUyxFQUFFLEtBQUs7U0FDakI7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO1FBQy9CLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLGFBQWEsQ0FBQztRQUM5QyxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFO1FBQ3RDLFdBQVcsRUFBRSxFQUFFLEdBQUcsSUFBSTtRQUN0QixlQUFlLEVBQUUsSUFBSTtRQUNyQixNQUFNLEVBQUUsYUFBYTtRQUNyQixRQUFRLEVBQUU7WUFDUixPQUFPLEVBQUUsSUFBSTtZQUNiLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7WUFDMUIsT0FBTyxFQUFFO2dCQUNQLEdBQUcsc0JBQXNCLENBQUMsT0FBTztnQkFDakMsT0FBTztnQkFDUCxhQUFhO2dCQUNiLGVBQWU7Z0JBQ2YsZ0JBQWdCO2dCQUNoQixtQkFBbUI7Z0JBQ25CLGdCQUFnQjtnQkFDaEIsZ0JBQWdCO2dCQUNoQixlQUFlO2dCQUNmLGFBQWE7Z0JBQ2IsWUFBWTthQUNiO1NBQ0Y7UUFDRCxtQkFBbUIsRUFBRSxDQUFDLFFBQWdCLEVBQUUsYUFBcUIsRUFBRSxFQUFFO1lBQy9ELE9BQU8sQ0FDTCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNwRSxhQUFhLENBQ2QsQ0FBQTtRQUNILENBQUM7S0FDRjtDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJhc2VuYW1lLCBkaXJuYW1lLCBqb2luIH0gZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgeyBjb3ZlcmFnZUNvbmZpZ0RlZmF1bHRzLCBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZS1wbHVzXCJcblxuY29uc3QgaWdub3JlUGF0dGVybnMgPSBbXCIqKi9nZW5lcmF0ZWQvKipcIiwgXCIqKi5nZW4uKipcIl1cblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHtcbiAgZm10OiB7XG4gICAgc2VtaTogZmFsc2UsXG4gICAgcHJpbnRXaWR0aDogODAsXG4gICAgYXJyb3dQYXJlbnM6IFwiYXZvaWRcIixcbiAgICBpZ25vcmVQYXR0ZXJucyxcbiAgfSxcbiAgbGludDoge1xuICAgIGlnbm9yZVBhdHRlcm5zLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIHR5cGVBd2FyZTogZmFsc2UsXG4gICAgICB0eXBlQ2hlY2s6IGZhbHNlLFxuICAgIH0sXG4gIH0sXG4gIHRlc3Q6IHtcbiAgICBpbmNsdWRlOiBbXCIqKi8qLnVuaXQuKHRzfHRzeClcIl0sXG4gICAgZXhjbHVkZTogW1wiKiovbm9kZV9tb2R1bGVzLyoqXCIsIFwiKiovYnVpbGQvKipcIl0sXG4gICAgZW52OiB7IE5PREVfT1BUSU9OUzogXCItLW5vLXdhcm5pbmdzXCIgfSxcbiAgICB0ZXN0VGltZW91dDogNjAgKiAxMDAwLFxuICAgIHBhc3NXaXRoTm9UZXN0czogdHJ1ZSxcbiAgICBzaWxlbnQ6IFwicGFzc2VkLW9ubHlcIixcbiAgICBjb3ZlcmFnZToge1xuICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgIHJlcG9ydGVyOiBbXCJodG1sXCIsIFwianNvblwiXSxcbiAgICAgIGV4Y2x1ZGU6IFtcbiAgICAgICAgLi4uY292ZXJhZ2VDb25maWdEZWZhdWx0cy5leGNsdWRlLFxuICAgICAgICBcIioqL0AqXCIsXG4gICAgICAgIFwiKiovYnVpbGQvKipcIixcbiAgICAgICAgXCIqKi9jb21waWxlLyoqXCIsXG4gICAgICAgIFwiKiovY292ZXJhZ2UvKipcIixcbiAgICAgICAgXCIqKi9lbnRyeXBvaW50cy8qKlwiLFxuICAgICAgICBcIioqL2V4YW1wbGVzLyoqXCIsXG4gICAgICAgIFwiKiovbWVzc2FnZXMuanNcIixcbiAgICAgICAgXCIqKi9wcm9ncmFtLnRzXCIsXG4gICAgICAgIFwiKiovaW5kZXgudHNcIixcbiAgICAgICAgXCIqKi9tYWluLnRzXCIsXG4gICAgICBdLFxuICAgIH0sXG4gICAgcmVzb2x2ZVNuYXBzaG90UGF0aDogKHRlc3RQYXRoOiBzdHJpbmcsIHNuYXBFeHRlbnNpb246IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgam9pbihkaXJuYW1lKHRlc3RQYXRoKSwgXCJmaXh0dXJlc1wiLCBcImdlbmVyYXRlZFwiLCBiYXNlbmFtZSh0ZXN0UGF0aCkpICtcbiAgICAgICAgc25hcEV4dGVuc2lvblxuICAgICAgKVxuICAgIH0sXG4gIH0sXG59KVxuIl19
@@ -0,0 +1,117 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ viewBox="0 0 200 200"
4
+ version="1.1"
5
+ id="svg5"
6
+ sodipodi:docname="logo.svg"
7
+ inkscape:version="1.4.3 (1:1.4.3+202512261035+0d15f75042)"
8
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
9
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs5" />
14
+ <sodipodi:namedview
15
+ id="namedview5"
16
+ pagecolor="#ffffff"
17
+ bordercolor="#000000"
18
+ borderopacity="0.25"
19
+ inkscape:showpageshadow="2"
20
+ inkscape:pageopacity="0.0"
21
+ inkscape:pagecheckerboard="0"
22
+ inkscape:deskcolor="#d1d1d1"
23
+ inkscape:zoom="2.56"
24
+ inkscape:cx="92.1875"
25
+ inkscape:cy="79.492188"
26
+ inkscape:window-width="1920"
27
+ inkscape:window-height="1108"
28
+ inkscape:window-x="0"
29
+ inkscape:window-y="53"
30
+ inkscape:window-maximized="1"
31
+ inkscape:current-layer="g5" />
32
+ <g
33
+ transform="matrix(2.0984308,0,0,2.0984308,83.49896,109.13924)"
34
+ id="g5">
35
+ <rect
36
+ x="-6.633275"
37
+ y="-51.953632"
38
+ width="28.590414"
39
+ height="28.590414"
40
+ rx="3.2988937"
41
+ fill="#93c5fd"
42
+ id="rect1"
43
+ style="stroke-width:1.09963" />
44
+ <rect
45
+ x="-39.414604"
46
+ y="-52.007191"
47
+ width="28.590414"
48
+ height="28.590414"
49
+ rx="3.2988937"
50
+ fill="#93c5fd"
51
+ id="rect1-56"
52
+ style="stroke-width:1.09963" />
53
+ <rect
54
+ x="26.997494"
55
+ y="-51.681351"
56
+ width="28.590414"
57
+ height="28.590414"
58
+ rx="3.2988937"
59
+ fill="#93c5fd"
60
+ id="rect1-5"
61
+ style="stroke-width:1.09963" />
62
+ <rect
63
+ x="-7.0055771"
64
+ y="-18.406252"
65
+ width="28.590414"
66
+ height="28.590414"
67
+ rx="3.2988937"
68
+ fill="#4e94f8"
69
+ id="rect2"
70
+ style="stroke-width:1.09963" />
71
+ <rect
72
+ x="-7.0055771"
73
+ y="14.582686"
74
+ width="28.590414"
75
+ height="28.590414"
76
+ rx="3.2988937"
77
+ fill="#2563eb"
78
+ id="rect3"
79
+ style="stroke-width:1.09963" />
80
+ <rect
81
+ x="-39.689648"
82
+ y="14.813753"
83
+ width="28.590414"
84
+ height="28.590414"
85
+ rx="3.2988937"
86
+ fill="#2563eb"
87
+ id="rect3-2"
88
+ style="stroke-width:1.09963" />
89
+ <rect
90
+ x="26.91572"
91
+ y="14.813753"
92
+ width="28.590414"
93
+ height="28.590414"
94
+ rx="3.2988937"
95
+ fill="#2563eb"
96
+ id="rect3-9"
97
+ style="stroke-width:1.09963" />
98
+ <rect
99
+ x="26.591444"
100
+ y="-17.766558"
101
+ width="28.590414"
102
+ height="28.590414"
103
+ rx="3.2988937"
104
+ fill="#4e94f8"
105
+ id="rect4"
106
+ style="stroke-width:1.09963" />
107
+ <rect
108
+ x="-39.496445"
109
+ y="-18.058704"
110
+ width="28.590414"
111
+ height="28.590414"
112
+ rx="3.2988937"
113
+ fill="#4e94f8"
114
+ id="rect4-6"
115
+ style="stroke-width:1.09963" />
116
+ </g>
117
+ </svg>
@@ -0,0 +1,10 @@
1
+ import { StartClient } from "@tanstack/react-start/client"
2
+ import { StrictMode } from "react"
3
+ import { hydrateRoot } from "react-dom/client"
4
+
5
+ hydrateRoot(
6
+ document,
7
+ <StrictMode>
8
+ <StartClient />
9
+ </StrictMode>,
10
+ )
@@ -0,0 +1,17 @@
1
+ import {
2
+ Tooltip,
3
+ TooltipContent,
4
+ TooltipTrigger,
5
+ } from "../elements/tooltip.tsx"
6
+
7
+ /** Renders an abbreviation with a shadcn tooltip showing its full form */
8
+ export function Abbr(props: { text: string; title: string }) {
9
+ return (
10
+ <Tooltip>
11
+ <TooltipTrigger className="border-b border-dotted border-muted-foreground cursor-help">
12
+ {props.text}
13
+ </TooltipTrigger>
14
+ <TooltipContent>{props.title}</TooltipContent>
15
+ </Tooltip>
16
+ )
17
+ }
@@ -0,0 +1,15 @@
1
+ /** Renders pre-formatted HTML produced from ANSI escape sequences */
2
+ export function AnsiCode(props: { html: string }) {
3
+ return (
4
+ <figure className="shiki not-prose my-4 relative rounded-xl border shadow-sm overflow-hidden text-sm bg-sidebar dark:bg-sidebar">
5
+ <div className="text-[0.8125rem] py-3.5 overflow-auto">
6
+ <pre className="min-w-full w-max">
7
+ <code
8
+ className="flex flex-col"
9
+ dangerouslySetInnerHTML={{ __html: props.html }}
10
+ />
11
+ </pre>
12
+ </div>
13
+ </figure>
14
+ )
15
+ }