livemark 0.7.2 → 0.8.0

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 (626) hide show
  1. package/package.json +14 -14
  2. package/source/actions/changelog/build.ts +245 -0
  3. package/source/actions/changelog/build.unit.ts +69 -0
  4. package/source/actions/config/define.ts +11 -0
  5. package/source/actions/config/define.unit.ts +33 -0
  6. package/source/actions/config/load.ts +22 -0
  7. package/source/actions/config/load.unit.ts +30 -0
  8. package/source/commands/build.ts +21 -0
  9. package/source/commands/escape.ts +77 -0
  10. package/source/commands/preview.ts +25 -0
  11. package/source/commands/start.ts +26 -0
  12. package/{build/website → source}/components/Article.tsx +12 -2
  13. package/{build/website → source}/components/Callout.tsx +1 -1
  14. package/{build/website → source}/components/Layout.tsx +3 -14
  15. package/{build/website → source}/components/LinkButton.tsx +1 -1
  16. package/{build/website → source}/components/PageToolbar.tsx +21 -8
  17. package/{build/website → source}/components/Section.tsx +1 -1
  18. package/{build/website → source}/components/SectionHeader.tsx +1 -1
  19. package/{build/website/components/MiniSidebar.tsx → source/components/Sidebar.tsx} +21 -5
  20. package/{build/website/components/Sidebar.tsx → source/components/SidebarArticles.tsx} +22 -55
  21. package/source/components/SidebarPosts.tsx +129 -0
  22. package/source/components/SidebarReleases.tsx +85 -0
  23. package/{build/website → source}/content-collections.ts +2 -2
  24. package/{build/website → source}/elements/accordion.tsx +1 -1
  25. package/{build/website → source}/elements/alert-dialog.tsx +1 -1
  26. package/{build/website → source}/elements/alert.tsx +1 -1
  27. package/{build/website → source}/elements/aspect-ratio.tsx +1 -1
  28. package/{build/website → source}/elements/avatar.tsx +1 -1
  29. package/{build/website → source}/elements/badge.tsx +1 -1
  30. package/{build/website → source}/elements/breadcrumb.tsx +1 -1
  31. package/{build/website → source}/elements/button-group.tsx +1 -1
  32. package/{build/website → source}/elements/button.tsx +1 -1
  33. package/{build/website → source}/elements/calendar.tsx +1 -1
  34. package/{build/website → source}/elements/card.tsx +1 -1
  35. package/{build/website → source}/elements/carousel.tsx +1 -1
  36. package/{build/website → source}/elements/chart.tsx +1 -1
  37. package/{build/website → source}/elements/checkbox.tsx +1 -1
  38. package/{build/website → source}/elements/command.tsx +1 -1
  39. package/{build/website → source}/elements/context-menu.tsx +1 -1
  40. package/{build/website → source}/elements/dialog.tsx +1 -1
  41. package/{build/website → source}/elements/drawer.tsx +1 -1
  42. package/{build/website → source}/elements/dropdown-menu.tsx +1 -1
  43. package/{build/website → source}/elements/empty.tsx +1 -1
  44. package/{build/website → source}/elements/field.tsx +1 -1
  45. package/{build/website → source}/elements/hover-card.tsx +1 -1
  46. package/{build/website → source}/elements/input-group.tsx +1 -1
  47. package/{build/website → source}/elements/input-otp.tsx +1 -1
  48. package/{build/website → source}/elements/input.tsx +1 -1
  49. package/{build/website → source}/elements/item.tsx +1 -1
  50. package/{build/website → source}/elements/kbd.tsx +1 -1
  51. package/{build/website → source}/elements/label.tsx +1 -1
  52. package/{build/website → source}/elements/menubar.tsx +1 -1
  53. package/{build/website → source}/elements/native-select.tsx +1 -1
  54. package/{build/website → source}/elements/navigation-menu.tsx +1 -1
  55. package/{build/website → source}/elements/pagination.tsx +1 -1
  56. package/{build/website → source}/elements/popover.tsx +1 -1
  57. package/{build/website → source}/elements/progress.tsx +1 -1
  58. package/{build/website → source}/elements/radio-group.tsx +1 -1
  59. package/{build/website → source}/elements/resizable.tsx +1 -1
  60. package/{build/website → source}/elements/scroll-area.tsx +1 -1
  61. package/{build/website → source}/elements/select.tsx +1 -1
  62. package/{build/website → source}/elements/separator.tsx +1 -1
  63. package/{build/website → source}/elements/sheet.tsx +1 -1
  64. package/{build/website → source}/elements/sidebar.tsx +7 -4
  65. package/{build/website → source}/elements/skeleton.tsx +1 -1
  66. package/{build/website → source}/elements/slider.tsx +1 -1
  67. package/{build/website → source}/elements/spinner.tsx +1 -1
  68. package/{build/website → source}/elements/switch.tsx +1 -1
  69. package/{build/website → source}/elements/table.tsx +1 -1
  70. package/{build/website → source}/elements/tabs.tsx +1 -1
  71. package/{build/website → source}/elements/textarea.tsx +1 -1
  72. package/{build/website → source}/elements/toggle-group.tsx +1 -1
  73. package/{build/website → source}/elements/toggle.tsx +1 -1
  74. package/{build/website → source}/elements/tooltip.tsx +1 -1
  75. package/source/entrypoints/main.ts +12 -0
  76. package/{build/website → source}/env.d.ts +1 -1
  77. package/source/helpers/program.ts +6 -0
  78. package/{build/website → source}/helpers/section.ts +1 -1
  79. package/source/hooks/media.ts +29 -0
  80. package/source/index.ts +1 -0
  81. package/{build/website → source}/models/article.ts +4 -0
  82. package/source/models/config.ts +51 -0
  83. package/source/models/link.ts +11 -0
  84. package/source/models/patch.ts +9 -0
  85. package/source/models/section.ts +45 -0
  86. package/source/models/theme.ts +74 -0
  87. package/source/program.ts +18 -0
  88. package/source/settings.ts +6 -0
  89. package/{build/website → source}/vite.config.ts +3 -3
  90. package/{build → target}/actions/changelog/build.d.ts +1 -0
  91. package/target/actions/changelog/build.js +187 -0
  92. package/target/actions/changelog/build.unit.js +66 -0
  93. package/target/actions/config/define.js +8 -0
  94. package/target/actions/config/define.unit.js +29 -0
  95. package/target/actions/config/load.js +25 -0
  96. package/target/actions/config/load.unit.js +23 -0
  97. package/target/client.d.ts +1 -0
  98. package/target/client.js +6 -0
  99. package/target/commands/build.js +14 -0
  100. package/target/commands/escape.js +56 -0
  101. package/target/commands/preview.js +18 -0
  102. package/target/commands/start.js +19 -0
  103. package/target/components/Abbr.d.ts +5 -0
  104. package/target/components/Abbr.js +9 -0
  105. package/target/components/AnsiCode.d.ts +4 -0
  106. package/target/components/AnsiCode.js +6 -0
  107. package/target/components/Article.d.ts +5 -0
  108. package/target/components/Article.js +105 -0
  109. package/target/components/BackToTop.d.ts +3 -0
  110. package/target/components/BackToTop.js +19 -0
  111. package/target/components/Banner.d.ts +2 -0
  112. package/target/components/Banner.js +12 -0
  113. package/target/components/BlogIndex.d.ts +4 -0
  114. package/target/components/BlogIndex.js +62 -0
  115. package/target/components/Breadcrumbs.d.ts +1 -0
  116. package/target/components/Breadcrumbs.js +13 -0
  117. package/target/components/Callout.d.ts +8 -0
  118. package/target/components/Callout.js +43 -0
  119. package/target/components/Card.d.ts +7 -0
  120. package/target/components/Card.js +17 -0
  121. package/target/components/Cards.d.ts +4 -0
  122. package/target/components/Cards.js +6 -0
  123. package/target/components/ChangelogIndex.d.ts +4 -0
  124. package/target/components/ChangelogIndex.js +57 -0
  125. package/target/components/CodeBlock.d.ts +1 -0
  126. package/target/components/CodeBlock.js +47 -0
  127. package/target/components/CodeTabs.d.ts +6 -0
  128. package/target/components/CodeTabs.js +49 -0
  129. package/target/components/Column.d.ts +4 -0
  130. package/target/components/Column.js +6 -0
  131. package/target/components/Columns.d.ts +5 -0
  132. package/target/components/Columns.js +10 -0
  133. package/target/components/Content.d.ts +3 -0
  134. package/target/components/Content.js +5 -0
  135. package/target/components/ContentTab.d.ts +5 -0
  136. package/target/components/ContentTab.js +6 -0
  137. package/target/components/ContentTabs.d.ts +5 -0
  138. package/target/components/ContentTabs.js +47 -0
  139. package/target/components/DefaultCatchBoundary.d.ts +2 -0
  140. package/target/components/DefaultCatchBoundary.js +20 -0
  141. package/target/components/DefinitionList.d.ts +7 -0
  142. package/target/components/DefinitionList.js +14 -0
  143. package/target/components/Details.d.ts +5 -0
  144. package/target/components/Details.js +13 -0
  145. package/target/components/FileTree.d.ts +4 -0
  146. package/target/components/FileTree.js +17 -0
  147. package/target/components/Footer.d.ts +2 -0
  148. package/target/components/Footer.js +9 -0
  149. package/target/components/FootnoteRef.d.ts +3 -0
  150. package/target/components/FootnoteRef.js +31 -0
  151. package/target/components/Heading.d.ts +8 -0
  152. package/target/components/Heading.js +18 -0
  153. package/target/components/InlineBadge.d.ts +5 -0
  154. package/target/components/InlineBadge.js +7 -0
  155. package/target/components/InlineIcon.d.ts +5 -0
  156. package/target/components/InlineIcon.js +10 -0
  157. package/target/components/InlineToc.d.ts +4 -0
  158. package/target/components/InlineToc.js +14 -0
  159. package/target/components/Layout.d.ts +4 -0
  160. package/target/components/Layout.js +65 -0
  161. package/target/components/LinkButton.d.ts +7 -0
  162. package/target/components/LinkButton.js +11 -0
  163. package/target/components/Mermaid.d.ts +4 -0
  164. package/target/components/Mermaid.js +8 -0
  165. package/target/components/MermaidRenderer.d.ts +4 -0
  166. package/target/components/MermaidRenderer.js +32 -0
  167. package/target/components/NotFound.d.ts +3 -0
  168. package/target/components/NotFound.js +10 -0
  169. package/target/components/PackageTabs.d.ts +9 -0
  170. package/target/components/PackageTabs.js +28 -0
  171. package/target/components/PageToolbar.d.ts +7 -0
  172. package/target/components/PageToolbar.js +34 -0
  173. package/target/components/PrevNext.d.ts +4 -0
  174. package/target/components/PrevNext.js +34 -0
  175. package/target/components/Search.d.ts +2 -0
  176. package/target/components/Search.js +16 -0
  177. package/target/components/SearchDialog.d.ts +5 -0
  178. package/target/components/SearchDialog.js +139 -0
  179. package/target/components/Section.d.ts +5 -0
  180. package/target/components/Section.js +8 -0
  181. package/target/components/SectionHeader.d.ts +7 -0
  182. package/target/components/SectionHeader.js +7 -0
  183. package/target/components/Sidebar.d.ts +4 -0
  184. package/target/components/Sidebar.js +33 -0
  185. package/target/components/SidebarArticles.d.ts +2 -0
  186. package/target/components/SidebarArticles.js +45 -0
  187. package/target/components/SidebarLinks.d.ts +4 -0
  188. package/target/components/SidebarLinks.js +26 -0
  189. package/target/components/SidebarPosts.d.ts +2 -0
  190. package/target/components/SidebarPosts.js +53 -0
  191. package/target/components/SidebarReleases.d.ts +2 -0
  192. package/target/components/SidebarReleases.js +35 -0
  193. package/target/components/SidebarSections.d.ts +4 -0
  194. package/target/components/SidebarSections.js +36 -0
  195. package/target/components/SiteTitle.d.ts +2 -0
  196. package/target/components/SiteTitle.js +12 -0
  197. package/target/components/SortableTable.d.ts +5 -0
  198. package/target/components/SortableTable.js +63 -0
  199. package/target/components/SoundCloud.d.ts +4 -0
  200. package/target/components/SoundCloud.js +7 -0
  201. package/target/components/TagIndex.d.ts +5 -0
  202. package/target/components/TagIndex.js +64 -0
  203. package/target/components/Theme.d.ts +1 -0
  204. package/target/components/Theme.js +21 -0
  205. package/target/components/Toc.d.ts +12 -0
  206. package/target/components/Toc.js +128 -0
  207. package/target/components/YouTube.d.ts +4 -0
  208. package/target/components/YouTube.js +6 -0
  209. package/target/components/ZoomImage.d.ts +4 -0
  210. package/target/components/ZoomImage.js +26 -0
  211. package/target/content/article.d.ts +43 -0
  212. package/target/content/article.js +54 -0
  213. package/target/content/tag.d.ts +2 -0
  214. package/target/content/tag.js +30 -0
  215. package/target/content-collections.d.ts +2 -0
  216. package/target/content-collections.js +192 -0
  217. package/target/elements/accordion.d.ts +6 -0
  218. package/target/elements/accordion.js +19 -0
  219. package/target/elements/alert-dialog.d.ts +18 -0
  220. package/target/elements/alert-dialog.js +44 -0
  221. package/target/elements/alert.d.ts +9 -0
  222. package/target/elements/alert.js +28 -0
  223. package/target/elements/aspect-ratio.d.ts +4 -0
  224. package/target/elements/aspect-ratio.js +9 -0
  225. package/target/elements/avatar.d.ts +11 -0
  226. package/target/elements/avatar.js +23 -0
  227. package/target/elements/badge.d.ts +7 -0
  228. package/target/elements/badge.js +34 -0
  229. package/target/elements/breadcrumb.d.ts +9 -0
  230. package/target/elements/breadcrumb.js +39 -0
  231. package/target/elements/button-group.d.ts +10 -0
  232. package/target/elements/button-group.js +37 -0
  233. package/target/elements/button.d.ts +8 -0
  234. package/target/elements/button.js +35 -0
  235. package/target/elements/calendar.d.ts +10 -0
  236. package/target/elements/calendar.js +76 -0
  237. package/target/elements/card.d.ts +11 -0
  238. package/target/elements/card.js +25 -0
  239. package/target/elements/carousel.d.ts +28 -0
  240. package/target/elements/carousel.js +95 -0
  241. package/target/elements/chart.d.ts +44 -0
  242. package/target/elements/chart.js +140 -0
  243. package/target/elements/checkbox.d.ts +3 -0
  244. package/target/elements/checkbox.js +9 -0
  245. package/target/elements/collapsible.d.ts +5 -0
  246. package/target/elements/collapsible.js +13 -0
  247. package/target/elements/command.d.ts +23 -0
  248. package/target/elements/command.js +42 -0
  249. package/target/elements/context-menu.d.ts +29 -0
  250. package/target/elements/context-menu.js +54 -0
  251. package/target/elements/dialog.d.ts +16 -0
  252. package/target/elements/dialog.js +41 -0
  253. package/target/elements/direction.d.ts +1 -0
  254. package/target/elements/direction.js +2 -0
  255. package/target/elements/drawer.d.ts +12 -0
  256. package/target/elements/drawer.js +38 -0
  257. package/target/elements/dropdown-menu.d.ts +24 -0
  258. package/target/elements/dropdown-menu.js +54 -0
  259. package/target/elements/empty.d.ts +11 -0
  260. package/target/elements/empty.js +34 -0
  261. package/target/elements/field.d.ts +24 -0
  262. package/target/elements/field.js +69 -0
  263. package/target/elements/hover-card.d.ts +5 -0
  264. package/target/elements/hover-card.js +14 -0
  265. package/target/elements/input-group.d.ts +18 -0
  266. package/target/elements/input-group.js +60 -0
  267. package/target/elements/input-otp.d.ts +11 -0
  268. package/target/elements/input-otp.js +21 -0
  269. package/target/elements/input.d.ts +2 -0
  270. package/target/elements/input.js +8 -0
  271. package/target/elements/item.d.ts +21 -0
  272. package/target/elements/item.js +79 -0
  273. package/target/elements/kbd.d.ts +3 -0
  274. package/target/elements/kbd.js +10 -0
  275. package/target/elements/label.d.ts +2 -0
  276. package/target/elements/label.js +8 -0
  277. package/target/elements/menubar.d.ts +29 -0
  278. package/target/elements/menubar.js +58 -0
  279. package/target/elements/native-select.d.ts +8 -0
  280. package/target/elements/native-select.js +16 -0
  281. package/target/elements/navigation-menu.d.ts +11 -0
  282. package/target/elements/navigation-menu.js +34 -0
  283. package/target/elements/pagination.d.ts +17 -0
  284. package/target/elements/pagination.js +33 -0
  285. package/target/elements/popover.d.ts +9 -0
  286. package/target/elements/popover.js +23 -0
  287. package/target/elements/progress.d.ts +7 -0
  288. package/target/elements/progress.js +21 -0
  289. package/target/elements/radio-group.d.ts +5 -0
  290. package/target/elements/radio-group.js +12 -0
  291. package/target/elements/resizable.d.ts +7 -0
  292. package/target/elements/resizable.js +14 -0
  293. package/target/elements/scroll-area.d.ts +4 -0
  294. package/target/elements/scroll-area.js +13 -0
  295. package/target/elements/select.d.ts +15 -0
  296. package/target/elements/select.js +39 -0
  297. package/target/elements/separator.d.ts +3 -0
  298. package/target/elements/separator.js +8 -0
  299. package/target/elements/sheet.d.ts +13 -0
  300. package/target/elements/sheet.js +41 -0
  301. package/target/elements/sidebar.d.ts +63 -0
  302. package/target/elements/sidebar.js +272 -0
  303. package/target/elements/skeleton.d.ts +2 -0
  304. package/target/elements/skeleton.js +7 -0
  305. package/target/elements/slider.d.ts +3 -0
  306. package/target/elements/slider.js +15 -0
  307. package/target/elements/sonner.d.ts +3 -0
  308. package/target/elements/sonner.js +23 -0
  309. package/target/elements/spinner.d.ts +2 -0
  310. package/target/elements/spinner.js +8 -0
  311. package/target/elements/switch.d.ts +5 -0
  312. package/target/elements/switch.js +8 -0
  313. package/target/elements/table.d.ts +9 -0
  314. package/target/elements/table.js +28 -0
  315. package/target/elements/tabs.d.ts +10 -0
  316. package/target/elements/tabs.js +29 -0
  317. package/target/elements/textarea.d.ts +2 -0
  318. package/target/elements/textarea.js +7 -0
  319. package/target/elements/toggle-group.d.ts +10 -0
  320. package/target/elements/toggle-group.js +24 -0
  321. package/target/elements/toggle.d.ts +8 -0
  322. package/target/elements/toggle.js +26 -0
  323. package/target/elements/tooltip.d.ts +6 -0
  324. package/target/elements/tooltip.js +18 -0
  325. package/target/entrypoints/main.js +12 -0
  326. package/target/helpers/article-icon.d.ts +3 -0
  327. package/target/helpers/article-icon.js +34 -0
  328. package/target/helpers/article.d.ts +24 -0
  329. package/target/helpers/article.js +73 -0
  330. package/target/helpers/changelog-source.d.ts +7 -0
  331. package/target/helpers/changelog-source.js +16 -0
  332. package/target/helpers/changelog-source.unit.d.ts +1 -0
  333. package/target/helpers/changelog-source.unit.js +33 -0
  334. package/target/helpers/dynamic-icon-resolver.d.ts +5 -0
  335. package/target/helpers/dynamic-icon-resolver.js +17 -0
  336. package/target/helpers/dynamic-icon.d.ts +5 -0
  337. package/target/helpers/dynamic-icon.js +8 -0
  338. package/target/helpers/favicon.d.ts +2 -0
  339. package/target/helpers/favicon.js +11 -0
  340. package/target/helpers/model.d.ts +3 -0
  341. package/target/helpers/model.js +4 -0
  342. package/target/helpers/program.js +5 -0
  343. package/target/helpers/resolve-asset-path.d.ts +2 -0
  344. package/target/helpers/resolve-asset-path.js +9 -0
  345. package/target/helpers/resolve-includes.d.ts +2 -0
  346. package/target/helpers/resolve-includes.js +113 -0
  347. package/target/helpers/resolve-includes.unit.d.ts +1 -0
  348. package/target/helpers/resolve-includes.unit.js +76 -0
  349. package/target/helpers/search-text.d.ts +2 -0
  350. package/target/helpers/search-text.js +16 -0
  351. package/target/helpers/section.d.ts +13 -0
  352. package/target/helpers/section.js +39 -0
  353. package/target/helpers/section.unit.d.ts +1 -0
  354. package/target/helpers/section.unit.js +62 -0
  355. package/target/helpers/theme.d.ts +5 -0
  356. package/target/helpers/theme.js +23 -0
  357. package/target/helpers/toc-context.d.ts +5 -0
  358. package/target/helpers/toc-context.js +8 -0
  359. package/target/helpers/toc.d.ts +3 -0
  360. package/target/helpers/toc.js +41 -0
  361. package/target/helpers/toc.unit.d.ts +1 -0
  362. package/target/helpers/toc.unit.js +65 -0
  363. package/target/hooks/in-view.d.ts +4 -0
  364. package/target/hooks/in-view.js +23 -0
  365. package/target/hooks/media.d.ts +6 -0
  366. package/target/hooks/media.js +25 -0
  367. package/target/index.js +2 -0
  368. package/target/models/article.d.ts +57 -0
  369. package/target/models/article.js +21 -0
  370. package/{build → target}/models/config.d.ts +10 -0
  371. package/target/models/config.js +34 -0
  372. package/target/models/link.js +9 -0
  373. package/{build → target}/models/patch.d.ts +5 -0
  374. package/target/models/patch.js +7 -0
  375. package/target/models/section.js +26 -0
  376. package/target/models/theme.js +73 -0
  377. package/target/models/toc.d.ts +5 -0
  378. package/target/models/toc.js +2 -0
  379. package/target/plugins/rehype-inline-code.d.ts +19 -0
  380. package/target/plugins/rehype-inline-code.js +55 -0
  381. package/target/plugins/rehype-task-list-a11y.d.ts +10 -0
  382. package/target/plugins/rehype-task-list-a11y.js +29 -0
  383. package/target/plugins/remark-abbr.d.ts +6 -0
  384. package/target/plugins/remark-abbr.js +39 -0
  385. package/target/plugins/remark-abbr.unit.d.ts +1 -0
  386. package/target/plugins/remark-abbr.unit.js +79 -0
  387. package/target/plugins/remark-ansi.d.ts +8 -0
  388. package/target/plugins/remark-ansi.js +239 -0
  389. package/target/plugins/remark-ansi.unit.d.ts +1 -0
  390. package/target/plugins/remark-ansi.unit.js +134 -0
  391. package/target/plugins/remark-badge.d.ts +6 -0
  392. package/target/plugins/remark-badge.js +43 -0
  393. package/target/plugins/remark-badge.unit.d.ts +1 -0
  394. package/target/plugins/remark-badge.unit.js +76 -0
  395. package/target/plugins/remark-button.d.ts +6 -0
  396. package/target/plugins/remark-button.js +52 -0
  397. package/target/plugins/remark-button.unit.d.ts +1 -0
  398. package/target/plugins/remark-button.unit.js +105 -0
  399. package/target/plugins/remark-callout.d.ts +4 -0
  400. package/target/plugins/remark-callout.js +39 -0
  401. package/target/plugins/remark-card.d.ts +4 -0
  402. package/target/plugins/remark-card.js +66 -0
  403. package/target/plugins/remark-code-tabs.d.ts +4 -0
  404. package/target/plugins/remark-code-tabs.js +72 -0
  405. package/target/plugins/remark-columns.d.ts +4 -0
  406. package/target/plugins/remark-columns.js +54 -0
  407. package/target/plugins/remark-custom-heading-id.d.ts +14 -0
  408. package/target/plugins/remark-custom-heading-id.js +54 -0
  409. package/target/plugins/remark-custom-heading-id.unit.d.ts +1 -0
  410. package/target/plugins/remark-custom-heading-id.unit.js +91 -0
  411. package/target/plugins/remark-deflist.d.ts +4 -0
  412. package/target/plugins/remark-deflist.js +31 -0
  413. package/target/plugins/remark-details.d.ts +4 -0
  414. package/target/plugins/remark-details.js +33 -0
  415. package/target/plugins/remark-filetree.d.ts +12 -0
  416. package/target/plugins/remark-filetree.js +61 -0
  417. package/target/plugins/remark-filetree.unit.d.ts +1 -0
  418. package/target/plugins/remark-filetree.unit.js +87 -0
  419. package/target/plugins/remark-github-callout.d.ts +4 -0
  420. package/target/plugins/remark-github-callout.js +62 -0
  421. package/target/plugins/remark-icon.d.ts +4 -0
  422. package/target/plugins/remark-icon.js +36 -0
  423. package/target/plugins/remark-image.d.ts +9 -0
  424. package/target/plugins/remark-image.js +26 -0
  425. package/target/plugins/remark-media.d.ts +6 -0
  426. package/target/plugins/remark-media.js +52 -0
  427. package/target/plugins/remark-media.unit.d.ts +1 -0
  428. package/target/plugins/remark-media.unit.js +54 -0
  429. package/target/plugins/remark-mermaid.d.ts +4 -0
  430. package/target/plugins/remark-mermaid.js +20 -0
  431. package/target/plugins/remark-npm.d.ts +4 -0
  432. package/target/plugins/remark-npm.js +32 -0
  433. package/target/plugins/remark-steps.d.ts +6 -0
  434. package/target/plugins/remark-steps.js +30 -0
  435. package/target/plugins/remark-steps.unit.d.ts +1 -0
  436. package/target/plugins/remark-steps.unit.js +65 -0
  437. package/target/plugins/remark-tab.d.ts +6 -0
  438. package/target/plugins/remark-tab.js +76 -0
  439. package/target/plugins/remark-tab.unit.d.ts +1 -0
  440. package/target/plugins/remark-tab.unit.js +156 -0
  441. package/target/plugins/remark-toc.d.ts +6 -0
  442. package/target/plugins/remark-toc.js +33 -0
  443. package/target/plugins/remark-toc.unit.d.ts +1 -0
  444. package/target/plugins/remark-toc.unit.js +57 -0
  445. package/target/plugins/shiki-icon.d.ts +16 -0
  446. package/target/plugins/shiki-icon.js +66 -0
  447. package/target/plugins/shiki-line-highlight.d.ts +27 -0
  448. package/target/plugins/shiki-line-highlight.js +140 -0
  449. package/target/plugins/vite-livemark.d.ts +13 -0
  450. package/target/plugins/vite-livemark.js +76 -0
  451. package/target/program.js +18 -0
  452. package/target/routeTree.gen.d.ts +57 -0
  453. package/target/routeTree.gen.js +27 -0
  454. package/target/router.d.ts +6 -0
  455. package/target/router.js +26 -0
  456. package/target/routes/$.d.ts +1 -0
  457. package/target/routes/$.js +85 -0
  458. package/target/routes/__root.d.ts +1 -0
  459. package/target/routes/__root.js +69 -0
  460. package/target/server.d.ts +2 -0
  461. package/target/server.js +7 -0
  462. package/target/settings.js +7 -0
  463. package/target/utils/style.d.ts +2 -0
  464. package/target/utils/style.js +6 -0
  465. package/target/vite.config.d.ts +2 -0
  466. package/target/vite.config.js +64 -0
  467. package/build/actions/changelog/build.js +0 -158
  468. package/build/actions/changelog/build.unit.js +0 -66
  469. package/build/actions/config/define.js +0 -8
  470. package/build/actions/config/define.unit.js +0 -29
  471. package/build/actions/config/load.js +0 -25
  472. package/build/actions/config/load.unit.js +0 -23
  473. package/build/commands/build.js +0 -14
  474. package/build/commands/escape.js +0 -56
  475. package/build/commands/preview.js +0 -18
  476. package/build/commands/start.js +0 -19
  477. package/build/docs/markdown/includes/example.d.ts +0 -58
  478. package/build/docs/markdown/includes/example.js +0 -5
  479. package/build/entrypoints/main.js +0 -12
  480. package/build/helpers/program.js +0 -5
  481. package/build/index.js +0 -2
  482. package/build/livemark.config.d.ts +0 -58
  483. package/build/livemark.config.js +0 -25
  484. package/build/models/config.js +0 -34
  485. package/build/models/link.js +0 -9
  486. package/build/models/patch.js +0 -7
  487. package/build/models/section.js +0 -26
  488. package/build/models/theme.js +0 -73
  489. package/build/package.json +0 -138
  490. package/build/program.js +0 -18
  491. package/build/settings.js +0 -7
  492. package/build/vite.config.d.ts +0 -2
  493. package/build/vite.config.js +0 -48
  494. package/build/website/components/BlogSidebar.tsx +0 -162
  495. package/build/website/components/ChangelogSidebar.tsx +0 -120
  496. package/build/website/hooks/media.ts +0 -19
  497. /package/{build/website → source}/assets/logo.svg +0 -0
  498. /package/{build/website → source}/client.tsx +0 -0
  499. /package/{build/website → source}/components/Abbr.tsx +0 -0
  500. /package/{build/website → source}/components/AnsiCode.tsx +0 -0
  501. /package/{build/website → source}/components/BackToTop.tsx +0 -0
  502. /package/{build/website → source}/components/Banner.tsx +0 -0
  503. /package/{build/website → source}/components/BlogIndex.tsx +0 -0
  504. /package/{build/website → source}/components/Breadcrumbs.tsx +0 -0
  505. /package/{build/website → source}/components/Card.tsx +0 -0
  506. /package/{build/website → source}/components/Cards.tsx +0 -0
  507. /package/{build/website → source}/components/ChangelogIndex.tsx +0 -0
  508. /package/{build/website → source}/components/CodeBlock.tsx +0 -0
  509. /package/{build/website → source}/components/CodeTabs.tsx +0 -0
  510. /package/{build/website → source}/components/Column.tsx +0 -0
  511. /package/{build/website → source}/components/Columns.tsx +0 -0
  512. /package/{build/website → source}/components/Content.tsx +0 -0
  513. /package/{build/website → source}/components/ContentTab.tsx +0 -0
  514. /package/{build/website → source}/components/ContentTabs.tsx +0 -0
  515. /package/{build/website → source}/components/DefaultCatchBoundary.tsx +0 -0
  516. /package/{build/website → source}/components/DefinitionList.tsx +0 -0
  517. /package/{build/website → source}/components/Details.tsx +0 -0
  518. /package/{build/website → source}/components/FileTree.tsx +0 -0
  519. /package/{build/website → source}/components/Footer.tsx +0 -0
  520. /package/{build/website → source}/components/FootnoteRef.tsx +0 -0
  521. /package/{build/website → source}/components/Heading.tsx +0 -0
  522. /package/{build/website → source}/components/InlineBadge.tsx +0 -0
  523. /package/{build/website → source}/components/InlineIcon.tsx +0 -0
  524. /package/{build/website → source}/components/InlineToc.tsx +0 -0
  525. /package/{build/website → source}/components/Mermaid.tsx +0 -0
  526. /package/{build/website → source}/components/MermaidRenderer.tsx +0 -0
  527. /package/{build/website → source}/components/NotFound.tsx +0 -0
  528. /package/{build/website → source}/components/PackageTabs.tsx +0 -0
  529. /package/{build/website → source}/components/PrevNext.tsx +0 -0
  530. /package/{build/website → source}/components/Search.tsx +0 -0
  531. /package/{build/website → source}/components/SearchDialog.tsx +0 -0
  532. /package/{build/website → source}/components/SidebarLinks.tsx +0 -0
  533. /package/{build/website → source}/components/SidebarSections.tsx +0 -0
  534. /package/{build/website → source}/components/SiteTitle.tsx +0 -0
  535. /package/{build/website → source}/components/SortableTable.tsx +0 -0
  536. /package/{build/website → source}/components/SoundCloud.tsx +0 -0
  537. /package/{build/website → source}/components/TagIndex.tsx +0 -0
  538. /package/{build/website → source}/components/Theme.tsx +0 -0
  539. /package/{build/website → source}/components/Toc.tsx +0 -0
  540. /package/{build/website → source}/components/YouTube.tsx +0 -0
  541. /package/{build/website → source}/components/ZoomImage.tsx +0 -0
  542. /package/{build/website → source}/content/article.ts +0 -0
  543. /package/{build/website → source}/content/tag.ts +0 -0
  544. /package/{build/website → source}/elements/collapsible.tsx +0 -0
  545. /package/{build/website → source}/elements/direction.tsx +0 -0
  546. /package/{build/website → source}/elements/sonner.tsx +0 -0
  547. /package/{build/website → source}/helpers/article-icon.ts +0 -0
  548. /package/{build/website → source}/helpers/article.ts +0 -0
  549. /package/{build/website → source}/helpers/changelog-source.ts +0 -0
  550. /package/{build/website → source}/helpers/changelog-source.unit.ts +0 -0
  551. /package/{build/website → source}/helpers/dynamic-icon-resolver.tsx +0 -0
  552. /package/{build/website → source}/helpers/dynamic-icon.tsx +0 -0
  553. /package/{build/website → source}/helpers/favicon.ts +0 -0
  554. /package/{build/website → source}/helpers/model.ts +0 -0
  555. /package/{build/website → source}/helpers/resolve-asset-path.ts +0 -0
  556. /package/{build/website → source}/helpers/resolve-includes.ts +0 -0
  557. /package/{build/website → source}/helpers/resolve-includes.unit.ts +0 -0
  558. /package/{build/website → source}/helpers/search-text.ts +0 -0
  559. /package/{build/website → source}/helpers/section.unit.ts +0 -0
  560. /package/{build/website → source}/helpers/theme.ts +0 -0
  561. /package/{build/website → source}/helpers/toc-context.ts +0 -0
  562. /package/{build/website → source}/helpers/toc.ts +0 -0
  563. /package/{build/website → source}/helpers/toc.unit.ts +0 -0
  564. /package/{build/website → source}/hooks/in-view.ts +0 -0
  565. /package/{build/website → source}/models/toc.ts +0 -0
  566. /package/{build/website → source}/plugins/rehype-inline-code.ts +0 -0
  567. /package/{build/website → source}/plugins/rehype-task-list-a11y.ts +0 -0
  568. /package/{build/website → source}/plugins/remark-abbr.ts +0 -0
  569. /package/{build/website → source}/plugins/remark-abbr.unit.ts +0 -0
  570. /package/{build/website → source}/plugins/remark-ansi.ts +0 -0
  571. /package/{build/website → source}/plugins/remark-ansi.unit.ts +0 -0
  572. /package/{build/website → source}/plugins/remark-badge.ts +0 -0
  573. /package/{build/website → source}/plugins/remark-badge.unit.ts +0 -0
  574. /package/{build/website → source}/plugins/remark-button.ts +0 -0
  575. /package/{build/website → source}/plugins/remark-button.unit.ts +0 -0
  576. /package/{build/website → source}/plugins/remark-callout.ts +0 -0
  577. /package/{build/website → source}/plugins/remark-card.ts +0 -0
  578. /package/{build/website → source}/plugins/remark-code-tabs.ts +0 -0
  579. /package/{build/website → source}/plugins/remark-columns.ts +0 -0
  580. /package/{build/website → source}/plugins/remark-custom-heading-id.ts +0 -0
  581. /package/{build/website → source}/plugins/remark-custom-heading-id.unit.ts +0 -0
  582. /package/{build/website → source}/plugins/remark-deflist.ts +0 -0
  583. /package/{build/website → source}/plugins/remark-details.ts +0 -0
  584. /package/{build/website → source}/plugins/remark-filetree.ts +0 -0
  585. /package/{build/website → source}/plugins/remark-filetree.unit.ts +0 -0
  586. /package/{build/website → source}/plugins/remark-github-callout.ts +0 -0
  587. /package/{build/website → source}/plugins/remark-icon.ts +0 -0
  588. /package/{build/website → source}/plugins/remark-image.ts +0 -0
  589. /package/{build/website → source}/plugins/remark-media.ts +0 -0
  590. /package/{build/website → source}/plugins/remark-media.unit.ts +0 -0
  591. /package/{build/website → source}/plugins/remark-mermaid.ts +0 -0
  592. /package/{build/website → source}/plugins/remark-npm.ts +0 -0
  593. /package/{build/website → source}/plugins/remark-steps.ts +0 -0
  594. /package/{build/website → source}/plugins/remark-steps.unit.ts +0 -0
  595. /package/{build/website → source}/plugins/remark-tab.ts +0 -0
  596. /package/{build/website → source}/plugins/remark-tab.unit.ts +0 -0
  597. /package/{build/website → source}/plugins/remark-toc.ts +0 -0
  598. /package/{build/website → source}/plugins/remark-toc.unit.ts +0 -0
  599. /package/{build/website → source}/plugins/shiki-icon.ts +0 -0
  600. /package/{build/website → source}/plugins/shiki-line-highlight.ts +0 -0
  601. /package/{build/website → source}/plugins/vite-livemark.ts +0 -0
  602. /package/{build/website → source}/routeTree.gen.ts +0 -0
  603. /package/{build/website → source}/router.tsx +0 -0
  604. /package/{build/website → source}/routes/$.tsx +0 -0
  605. /package/{build/website → source}/routes/__root.tsx +0 -0
  606. /package/{build/website → source}/server.ts +0 -0
  607. /package/{build/website → source}/styles/general.css +0 -0
  608. /package/{build/website → source}/styles/markdown.css +0 -0
  609. /package/{build/website/helpers → source/utils}/style.ts +0 -0
  610. /package/{build → target}/actions/changelog/build.unit.d.ts +0 -0
  611. /package/{build → target}/actions/config/define.d.ts +0 -0
  612. /package/{build → target}/actions/config/define.unit.d.ts +0 -0
  613. /package/{build → target}/actions/config/load.d.ts +0 -0
  614. /package/{build → target}/actions/config/load.unit.d.ts +0 -0
  615. /package/{build → target}/commands/build.d.ts +0 -0
  616. /package/{build → target}/commands/escape.d.ts +0 -0
  617. /package/{build → target}/commands/preview.d.ts +0 -0
  618. /package/{build → target}/commands/start.d.ts +0 -0
  619. /package/{build → target}/entrypoints/main.d.ts +0 -0
  620. /package/{build → target}/helpers/program.d.ts +0 -0
  621. /package/{build → target}/index.d.ts +0 -0
  622. /package/{build → target}/models/link.d.ts +0 -0
  623. /package/{build → target}/models/section.d.ts +0 -0
  624. /package/{build → target}/models/theme.d.ts +0 -0
  625. /package/{build → target}/program.d.ts +0 -0
  626. /package/{build → target}/settings.d.ts +0 -0
@@ -2,7 +2,7 @@ import * as React from "react"
2
2
  import { Command as CommandPrimitive } from "cmdk"
3
3
  import { CheckIcon, SearchIcon, XIcon } from "lucide-react"
4
4
 
5
- import { cn } from "../helpers/style.ts"
5
+ import { cn } from "../utils/style.ts"
6
6
  import {
7
7
  Dialog,
8
8
  DialogContent,
@@ -2,7 +2,7 @@ import * as React from "react"
2
2
  import { ContextMenu as ContextMenuPrimitive } from "@base-ui/react/context-menu"
3
3
  import { CheckIcon, ChevronRightIcon } from "lucide-react"
4
4
 
5
- import { cn } from "../helpers/style.ts"
5
+ import { cn } from "../utils/style.ts"
6
6
 
7
7
  function ContextMenu({ ...props }: ContextMenuPrimitive.Root.Props) {
8
8
  return <ContextMenuPrimitive.Root data-slot="context-menu" {...props} />
@@ -1,6 +1,6 @@
1
1
  import { Dialog as DialogPrimitive } from "@base-ui/react/dialog"
2
2
  import { XIcon } from "lucide-react"
3
- import { cn } from "../helpers/style.ts"
3
+ import { cn } from "../utils/style.ts"
4
4
  import { Button } from "./button.tsx"
5
5
 
6
6
  function Dialog({ ...props }: DialogPrimitive.Root.Props) {
@@ -1,5 +1,5 @@
1
1
  import { Drawer as DrawerPrimitive } from "vaul"
2
- import { cn } from "../helpers/style.ts"
2
+ import { cn } from "../utils/style.ts"
3
3
 
4
4
  function Drawer({
5
5
  ...props
@@ -1,6 +1,6 @@
1
1
  import { Menu as MenuPrimitive } from "@base-ui/react/menu"
2
2
  import { CheckIcon, ChevronRightIcon } from "lucide-react"
3
- import { cn } from "../helpers/style.ts"
3
+ import { cn } from "../utils/style.ts"
4
4
 
5
5
  function DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {
6
6
  return <MenuPrimitive.Root data-slot="dropdown-menu" {...props} />
@@ -1,6 +1,6 @@
1
1
  import { cva, type VariantProps } from "class-variance-authority"
2
2
 
3
- import { cn } from "../helpers/style.ts"
3
+ import { cn } from "../utils/style.ts"
4
4
 
5
5
  function Empty({ className, ...props }: React.ComponentProps<"div">) {
6
6
  return (
@@ -1,6 +1,6 @@
1
1
  import { cva, type VariantProps } from "class-variance-authority"
2
2
  import { useMemo } from "react"
3
- import { cn } from "../helpers/style.ts"
3
+ import { cn } from "../utils/style.ts"
4
4
  import { Label } from "./label.tsx"
5
5
  import { Separator } from "./separator.tsx"
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { PreviewCard as PreviewCardPrimitive } from "@base-ui/react/preview-card"
2
2
 
3
- import { cn } from "../helpers/style.ts"
3
+ import { cn } from "../utils/style.ts"
4
4
 
5
5
  function HoverCard({ ...props }: PreviewCardPrimitive.Root.Props) {
6
6
  return <PreviewCardPrimitive.Root data-slot="hover-card" {...props} />
@@ -1,5 +1,5 @@
1
1
  import { cva, type VariantProps } from "class-variance-authority"
2
- import { cn } from "../helpers/style.ts"
2
+ import { cn } from "../utils/style.ts"
3
3
  import { Button } from "./button.tsx"
4
4
  import { Input } from "./input.tsx"
5
5
  import { Textarea } from "./textarea.tsx"
@@ -2,7 +2,7 @@ import * as React from "react"
2
2
  import { OTPInput, OTPInputContext } from "input-otp"
3
3
  import { MinusIcon } from "lucide-react"
4
4
 
5
- import { cn } from "../helpers/style.ts"
5
+ import { cn } from "../utils/style.ts"
6
6
 
7
7
  function InputOTP({
8
8
  className,
@@ -1,5 +1,5 @@
1
1
  import { Input as InputPrimitive } from "@base-ui/react/input"
2
- import { cn } from "../helpers/style.ts"
2
+ import { cn } from "../utils/style.ts"
3
3
 
4
4
  function Input({ className, type, ...props }: React.ComponentProps<"input">) {
5
5
  return (
@@ -1,7 +1,7 @@
1
1
  import { mergeProps } from "@base-ui/react/merge-props"
2
2
  import { useRender } from "@base-ui/react/use-render"
3
3
  import { cva, type VariantProps } from "class-variance-authority"
4
- import { cn } from "../helpers/style.ts"
4
+ import { cn } from "../utils/style.ts"
5
5
  import { Separator } from "./separator.tsx"
6
6
 
7
7
  function ItemGroup({ className, ...props }: React.ComponentProps<"div">) {
@@ -1,4 +1,4 @@
1
- import { cn } from "../helpers/style.ts"
1
+ import { cn } from "../utils/style.ts"
2
2
 
3
3
  function Kbd({ className, ...props }: React.ComponentProps<"kbd">) {
4
4
  return (
@@ -1,5 +1,5 @@
1
1
  // biome-ignore-all lint: shadcn
2
- import { cn } from "../helpers/style.ts"
2
+ import { cn } from "../utils/style.ts"
3
3
 
4
4
  function Label({ className, ...props }: React.ComponentProps<"label">) {
5
5
  return (
@@ -3,7 +3,7 @@ import { Menu as MenuPrimitive } from "@base-ui/react/menu"
3
3
  import { Menubar as MenubarPrimitive } from "@base-ui/react/menubar"
4
4
  import { CheckIcon } from "lucide-react"
5
5
 
6
- import { cn } from "../helpers/style.ts"
6
+ import { cn } from "../utils/style.ts"
7
7
  import {
8
8
  DropdownMenu,
9
9
  DropdownMenuContent,
@@ -1,7 +1,7 @@
1
1
  import * as React from "react"
2
2
  import { ChevronDownIcon } from "lucide-react"
3
3
 
4
- import { cn } from "../helpers/style.ts"
4
+ import { cn } from "../utils/style.ts"
5
5
 
6
6
  type NativeSelectProps = Omit<React.ComponentProps<"select">, "size"> & {
7
7
  size?: "sm" | "default"
@@ -2,7 +2,7 @@ import { NavigationMenu as NavigationMenuPrimitive } from "@base-ui/react/naviga
2
2
  import { cva } from "class-variance-authority"
3
3
  import { ChevronDownIcon } from "lucide-react"
4
4
 
5
- import { cn } from "../helpers/style.ts"
5
+ import { cn } from "../utils/style.ts"
6
6
 
7
7
  function NavigationMenu({
8
8
  align = "start",
@@ -5,7 +5,7 @@ import {
5
5
  MoreHorizontalIcon,
6
6
  } from "lucide-react"
7
7
 
8
- import { cn } from "../helpers/style.ts"
8
+ import { cn } from "../utils/style.ts"
9
9
  import { Button } from "./button.tsx"
10
10
 
11
11
  function Pagination({ className, ...props }: React.ComponentProps<"nav">) {
@@ -1,7 +1,7 @@
1
1
  import * as React from "react"
2
2
  import { Popover as PopoverPrimitive } from "@base-ui/react/popover"
3
3
 
4
- import { cn } from "../helpers/style.ts"
4
+ import { cn } from "../utils/style.ts"
5
5
 
6
6
  function Popover({ ...props }: PopoverPrimitive.Root.Props) {
7
7
  return <PopoverPrimitive.Root data-slot="popover" {...props} />
@@ -1,6 +1,6 @@
1
1
  import { Progress as ProgressPrimitive } from "@base-ui/react/progress"
2
2
 
3
- import { cn } from "../helpers/style.ts"
3
+ import { cn } from "../utils/style.ts"
4
4
 
5
5
  function Progress({
6
6
  className,
@@ -1,7 +1,7 @@
1
1
  import { Radio as RadioPrimitive } from "@base-ui/react/radio"
2
2
  import { RadioGroup as RadioGroupPrimitive } from "@base-ui/react/radio-group"
3
3
 
4
- import { cn } from "../helpers/style.ts"
4
+ import { cn } from "../utils/style.ts"
5
5
 
6
6
  function RadioGroup({ className, ...props }: RadioGroupPrimitive.Props) {
7
7
  return (
@@ -1,6 +1,6 @@
1
1
  import * as ResizablePrimitive from "react-resizable-panels"
2
2
 
3
- import { cn } from "../helpers/style.ts"
3
+ import { cn } from "../utils/style.ts"
4
4
 
5
5
  function ResizablePanelGroup({
6
6
  className,
@@ -1,5 +1,5 @@
1
1
  import { ScrollArea as ScrollAreaPrimitive } from "@base-ui/react/scroll-area"
2
- import { cn } from "../helpers/style.ts"
2
+ import { cn } from "../utils/style.ts"
3
3
 
4
4
  function ScrollArea({
5
5
  className,
@@ -2,7 +2,7 @@ import * as React from "react"
2
2
  import { Select as SelectPrimitive } from "@base-ui/react/select"
3
3
  import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react"
4
4
 
5
- import { cn } from "../helpers/style.ts"
5
+ import { cn } from "../utils/style.ts"
6
6
 
7
7
  const Select = SelectPrimitive.Root
8
8
 
@@ -1,5 +1,5 @@
1
1
  import { Separator as SeparatorPrimitive } from "@base-ui/react/separator"
2
- import { cn } from "../helpers/style.ts"
2
+ import { cn } from "../utils/style.ts"
3
3
 
4
4
  function Separator({
5
5
  className,
@@ -1,6 +1,6 @@
1
1
  import { Dialog as SheetPrimitive } from "@base-ui/react/dialog"
2
2
  import { XIcon } from "lucide-react"
3
- import { cn } from "../helpers/style.ts"
3
+ import { cn } from "../utils/style.ts"
4
4
  import { Button } from "./button.tsx"
5
5
 
6
6
  function Sheet({ ...props }: SheetPrimitive.Root.Props) {
@@ -4,8 +4,8 @@ import { useRender } from "@base-ui/react/use-render"
4
4
  import { cva, type VariantProps } from "class-variance-authority"
5
5
  import { Menu } from "lucide-react"
6
6
  import * as React from "react"
7
- import { cn } from "../helpers/style.ts"
8
- import { useIsMobile } from "../hooks/media.ts"
7
+ import { cn } from "../utils/style.ts"
8
+ import { isMobileNow, useIsMobile } from "../hooks/media.ts"
9
9
  import { Button } from "./button.tsx"
10
10
  import { Input } from "./input.tsx"
11
11
  import { Separator } from "./separator.tsx"
@@ -83,9 +83,12 @@ function SidebarProvider({
83
83
  )
84
84
 
85
85
  // Helper to toggle the sidebar.
86
+ // Reads matchMedia synchronously instead of relying on `isMobile` React
87
+ // state, which can be momentarily stale on the first click after a
88
+ // SidebarProvider key remount (e.g. landing → article navigation).
86
89
  const toggleSidebar = React.useCallback(() => {
87
- return isMobile ? setOpenMobile(open => !open) : setOpen(open => !open)
88
- }, [isMobile, setOpen, setOpenMobile])
90
+ return isMobileNow() ? setOpenMobile(open => !open) : setOpen(open => !open)
91
+ }, [setOpen, setOpenMobile])
89
92
 
90
93
  // Adds a keyboard shortcut to toggle the sidebar.
91
94
  React.useEffect(() => {
@@ -1,4 +1,4 @@
1
- import { cn } from "../helpers/style.ts"
1
+ import { cn } from "../utils/style.ts"
2
2
 
3
3
  function Skeleton({ className, ...props }: React.ComponentProps<"div">) {
4
4
  return (
@@ -1,7 +1,7 @@
1
1
  import * as React from "react"
2
2
  import { Slider as SliderPrimitive } from "@base-ui/react/slider"
3
3
 
4
- import { cn } from "../helpers/style.ts"
4
+ import { cn } from "../utils/style.ts"
5
5
 
6
6
  function Slider({
7
7
  className,
@@ -1,6 +1,6 @@
1
1
  import { Loader2Icon } from "lucide-react"
2
2
 
3
- import { cn } from "../helpers/style.ts"
3
+ import { cn } from "../utils/style.ts"
4
4
 
5
5
  function Spinner({ className, ...props }: React.ComponentProps<"svg">) {
6
6
  return (
@@ -1,6 +1,6 @@
1
1
  import { Switch as SwitchPrimitive } from "@base-ui/react/switch"
2
2
 
3
- import { cn } from "../helpers/style.ts"
3
+ import { cn } from "../utils/style.ts"
4
4
 
5
5
  function Switch({
6
6
  className,
@@ -1,4 +1,4 @@
1
- import { cn } from "../helpers/style.ts"
1
+ import { cn } from "../utils/style.ts"
2
2
 
3
3
  function Table({ className, ...props }: React.ComponentProps<"table">) {
4
4
  return (
@@ -1,6 +1,6 @@
1
1
  import { Tabs as TabsPrimitive } from "@base-ui/react/tabs"
2
2
  import { cva, type VariantProps } from "class-variance-authority"
3
- import { cn } from "../helpers/style.ts"
3
+ import { cn } from "../utils/style.ts"
4
4
 
5
5
  function Tabs({
6
6
  className,
@@ -1,4 +1,4 @@
1
- import { cn } from "../helpers/style.ts"
1
+ import { cn } from "../utils/style.ts"
2
2
 
3
3
  function Textarea({ className, ...props }: React.ComponentProps<"textarea">) {
4
4
  return (
@@ -3,7 +3,7 @@ import { Toggle as TogglePrimitive } from "@base-ui/react/toggle"
3
3
  import { ToggleGroup as ToggleGroupPrimitive } from "@base-ui/react/toggle-group"
4
4
  import { type VariantProps } from "class-variance-authority"
5
5
 
6
- import { cn } from "../helpers/style.ts"
6
+ import { cn } from "../utils/style.ts"
7
7
  import { toggleVariants } from "./toggle.tsx"
8
8
 
9
9
  const ToggleGroupContext = React.createContext<
@@ -1,7 +1,7 @@
1
1
  import { Toggle as TogglePrimitive } from "@base-ui/react/toggle"
2
2
  import { cva, type VariantProps } from "class-variance-authority"
3
3
 
4
- import { cn } from "../helpers/style.ts"
4
+ import { cn } from "../utils/style.ts"
5
5
 
6
6
  const toggleVariants = cva(
7
7
  "group/toggle inline-flex items-center justify-center gap-1 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
@@ -1,5 +1,5 @@
1
1
  import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip"
2
- import { cn } from "../helpers/style.ts"
2
+ import { cn } from "../utils/style.ts"
3
3
 
4
4
  function TooltipProvider({
5
5
  delay = 0,
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+
3
+ process.removeAllListeners("warning")
4
+ process.on("warning", warning => {
5
+ if (warning.name === "ExperimentalWarning") {
6
+ return
7
+ }
8
+ console.warn(warning)
9
+ })
10
+
11
+ const { program } = await import("../program.ts")
12
+ program.parse()
@@ -1,5 +1,5 @@
1
1
  interface ImportMetaEnv {
2
- readonly CONFIG: import("../models/config.ts").WebsiteConfig
2
+ readonly CONFIG: import("./models/config.ts").WebsiteConfig
3
3
  }
4
4
 
5
5
  declare module "content-collections" {
@@ -0,0 +1,6 @@
1
+ import type { HelpConfiguration } from "commander"
2
+ import pc from "picocolors"
3
+
4
+ export const helpConfiguration: HelpConfiguration = {
5
+ styleTitle: str => pc.bold(str.toUpperCase().replace(":", "")),
6
+ }
@@ -1,4 +1,4 @@
1
- import type { Section } from "../../models/section.ts"
1
+ import type { Section } from "../models/section.ts"
2
2
 
3
3
  const DEFAULT_ICONS: Record<Section["type"], string> = {
4
4
  article: "book-open",
@@ -0,0 +1,29 @@
1
+ import { useSyncExternalStore } from "react"
2
+
3
+ export const MOBILE_BREAKPOINT = 768
4
+
5
+ export function useIsMobile() {
6
+ return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)
7
+ }
8
+
9
+ /** Synchronous, render-cycle-independent check.
10
+ * Use at event-handler call sites where React state may be momentarily stale
11
+ * (e.g. right after a SidebarProvider key remount). */
12
+ export function isMobileNow() {
13
+ if (typeof window === "undefined") return false
14
+ return window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`).matches
15
+ }
16
+
17
+ function subscribe(callback: () => void) {
18
+ const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)
19
+ mql.addEventListener("change", callback)
20
+ return () => mql.removeEventListener("change", callback)
21
+ }
22
+
23
+ function getSnapshot() {
24
+ return window.innerWidth < MOBILE_BREAKPOINT
25
+ }
26
+
27
+ function getServerSnapshot() {
28
+ return false
29
+ }
@@ -0,0 +1 @@
1
+ export { defineConfig } from "./actions/config/define.ts"
@@ -19,6 +19,8 @@ export const Article = z.object({
19
19
  author: z.union([nonEmptyString, z.array(nonEmptyString)]).optional(),
20
20
  date: nonEmptyString.optional(),
21
21
  tags: z.array(nonEmptyString).optional(),
22
+ sourceUrl: nonEmptyString.optional(),
23
+ sourceAction: z.enum(["edit", "view"]).default("edit"),
22
24
  })
23
25
 
24
26
  /** Processed article ready for page rendering (result of content-collections transform). */
@@ -35,6 +37,8 @@ export interface ArticleView {
35
37
  author?: string | string[]
36
38
  date?: string
37
39
  tags?: string[]
40
+ sourceUrl?: string
41
+ sourceAction?: "edit" | "view"
38
42
  }
39
43
 
40
44
  export interface ArticleNode {
@@ -0,0 +1,51 @@
1
+ import { z } from "zod"
2
+ import { Link } from "./link.ts"
3
+ import { Patch } from "./patch.ts"
4
+ import { Section } from "./section.ts"
5
+ import { CodeThemeDark, CodeThemeLight } from "./theme.ts"
6
+
7
+ /**
8
+ * User-provided configuration for Livemark.
9
+ */
10
+ export type UserConfig = z.infer<typeof UserConfig>
11
+ export const UserConfig = z.object({
12
+ site: z.string().optional(),
13
+ favicon: z.string().optional(),
14
+ logo: z.string().optional(),
15
+ title: z.string().default("Livemark"),
16
+ description: z.string().default("Markdown site generator"),
17
+ include: z.union([z.string(), z.array(z.string())]),
18
+ exclude: z.union([z.string(), z.array(z.string())]).optional(),
19
+ codeThemeLight: CodeThemeLight.default("catppuccin-latte"),
20
+ codeThemeDark: CodeThemeDark.default("catppuccin-mocha"),
21
+ links: z.array(Link).optional(),
22
+ sections: z.array(Section).optional(),
23
+ patches: z.array(Patch).optional(),
24
+ })
25
+
26
+ /** Website configuration injected at build time via Vite define */
27
+ export type WebsiteConfig = z.infer<typeof WebsiteConfig>
28
+ export const WebsiteConfig = UserConfig.pick({
29
+ title: true,
30
+ description: true,
31
+ site: true,
32
+ favicon: true,
33
+ logo: true,
34
+ links: true,
35
+ sections: true,
36
+ })
37
+
38
+ /**
39
+ * System-computed configuration derived from the config file location.
40
+ */
41
+ export type SystemConfig = z.infer<typeof SystemConfig>
42
+ export const SystemConfig = z.object({
43
+ root: z.string(),
44
+ configPath: z.string(),
45
+ })
46
+
47
+ /**
48
+ * Fully resolved Livemark configuration.
49
+ */
50
+ export type Config = z.infer<typeof Config>
51
+ export const Config = UserConfig.merge(SystemConfig)
@@ -0,0 +1,11 @@
1
+ import { z } from "zod"
2
+
3
+ /** Header or sidebar link to an external URL. */
4
+ export type Link = z.infer<typeof Link>
5
+ export const Link = z.object({
6
+ url: z.string(),
7
+ title: z.string(),
8
+ icon: z.string().optional(),
9
+ prefix: z.string().optional(),
10
+ position: z.enum(["header", "sidebar"]).default("header"),
11
+ })
@@ -0,0 +1,9 @@
1
+ import { z } from "zod"
2
+ import { Article } from "./article.ts"
3
+
4
+ /** Per-file override for article frontmatter provided via `livemark.config.ts`. */
5
+ export type Patch = z.infer<typeof Patch>
6
+ export const Patch = z.object({
7
+ file: z.string(),
8
+ article: Article.omit({ content: true }).partial().strict(),
9
+ })
@@ -0,0 +1,45 @@
1
+ import { z } from "zod"
2
+
3
+ const BaseSection = z.object({
4
+ icon: z.string().optional(),
5
+ title: z.string(),
6
+ prefix: z.string(),
7
+ position: z.enum(["header", "sidebar"]).default("header"),
8
+ })
9
+
10
+ /** Default section: renders articles. */
11
+ export type ArticleSection = z.infer<typeof ArticleSection>
12
+ export const ArticleSection = BaseSection.extend({
13
+ type: z.literal("article"),
14
+ })
15
+
16
+ /** Blog section: date-sorted posts with tags and index. */
17
+ export type BlogSection = z.infer<typeof BlogSection>
18
+ export const BlogSection = BaseSection.extend({
19
+ type: z.literal("blog"),
20
+ })
21
+
22
+ /** Changelog section: single file or GitHub releases, split per version. */
23
+ export type ChangelogSection = z.infer<typeof ChangelogSection>
24
+ export const ChangelogSection = BaseSection.extend({
25
+ type: z.literal("changelog"),
26
+ source: z.string(),
27
+ version: z.boolean().optional(),
28
+ })
29
+
30
+ /**
31
+ * A site section. Discriminated on `type`.
32
+ * When `type` is omitted, it defaults to "article" so plain
33
+ * `{ title, prefix }` entries keep working.
34
+ */
35
+ export type Section = z.infer<typeof Section>
36
+ export const Section = z.preprocess(
37
+ input => {
38
+ if (input === null || typeof input !== "object" || Array.isArray(input)) {
39
+ return input
40
+ }
41
+ const record = input as Record<string, unknown>
42
+ return "type" in record ? record : { ...record, type: "article" }
43
+ },
44
+ z.discriminatedUnion("type", [ArticleSection, BlogSection, ChangelogSection]),
45
+ )
@@ -0,0 +1,74 @@
1
+ import { z } from "zod"
2
+
3
+ /** Light syntax highlighting theme (Shiki) */
4
+ export const CodeThemeLight = z.enum([
5
+ "ayu-light",
6
+ "catppuccin-latte",
7
+ "everforest-light",
8
+ "github-light",
9
+ "github-light-default",
10
+ "github-light-high-contrast",
11
+ "gruvbox-light-hard",
12
+ "gruvbox-light-medium",
13
+ "gruvbox-light-soft",
14
+ "horizon-bright",
15
+ "kanagawa-lotus",
16
+ "light-plus",
17
+ "material-theme-lighter",
18
+ "min-light",
19
+ "night-owl-light",
20
+ "one-light",
21
+ "rose-pine-dawn",
22
+ "slack-ochin",
23
+ "snazzy-light",
24
+ "solarized-light",
25
+ "vitesse-light",
26
+ ])
27
+
28
+ /** Dark syntax highlighting theme (Shiki) */
29
+ export const CodeThemeDark = z.enum([
30
+ "andromeeda",
31
+ "aurora-x",
32
+ "ayu-dark",
33
+ "ayu-mirage",
34
+ "catppuccin-frappe",
35
+ "catppuccin-macchiato",
36
+ "catppuccin-mocha",
37
+ "dark-plus",
38
+ "dracula",
39
+ "dracula-soft",
40
+ "everforest-dark",
41
+ "github-dark",
42
+ "github-dark-default",
43
+ "github-dark-dimmed",
44
+ "github-dark-high-contrast",
45
+ "gruvbox-dark-hard",
46
+ "gruvbox-dark-medium",
47
+ "gruvbox-dark-soft",
48
+ "horizon",
49
+ "houston",
50
+ "kanagawa-dragon",
51
+ "kanagawa-wave",
52
+ "laserwave",
53
+ "material-theme",
54
+ "material-theme-darker",
55
+ "material-theme-ocean",
56
+ "material-theme-palenight",
57
+ "min-dark",
58
+ "monokai",
59
+ "night-owl",
60
+ "nord",
61
+ "one-dark-pro",
62
+ "plastic",
63
+ "poimandres",
64
+ "red",
65
+ "rose-pine",
66
+ "rose-pine-moon",
67
+ "slack-dark",
68
+ "solarized-dark",
69
+ "synthwave-84",
70
+ "tokyo-night",
71
+ "vesper",
72
+ "vitesse-black",
73
+ "vitesse-dark",
74
+ ])