markopress 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/bin/cli.js +16 -0
  2. package/dist/build/index.d.ts +83 -0
  3. package/dist/build/index.d.ts.map +1 -0
  4. package/dist/build/index.js +1553 -0
  5. package/dist/build/index.js.map +1 -0
  6. package/dist/build/manifest-generator.d.ts +34 -0
  7. package/dist/build/manifest-generator.d.ts.map +1 -0
  8. package/dist/build/manifest-generator.js +86 -0
  9. package/dist/build/manifest-generator.js.map +1 -0
  10. package/dist/build/security.test.d.ts +6 -0
  11. package/dist/build/security.test.d.ts.map +1 -0
  12. package/dist/build/security.test.js +88 -0
  13. package/dist/build/security.test.js.map +1 -0
  14. package/dist/build/types.d.ts +21 -0
  15. package/dist/build/types.d.ts.map +1 -0
  16. package/dist/build/types.js +5 -0
  17. package/dist/build/types.js.map +1 -0
  18. package/dist/build/vite-config.test.d.ts +2 -0
  19. package/dist/build/vite-config.test.d.ts.map +1 -0
  20. package/dist/build/vite-config.test.js +53 -0
  21. package/dist/build/vite-config.test.js.map +1 -0
  22. package/dist/build/vite-markdown-plugin.d.ts +13 -0
  23. package/dist/build/vite-markdown-plugin.d.ts.map +1 -0
  24. package/dist/build/vite-markdown-plugin.js +134 -0
  25. package/dist/build/vite-markdown-plugin.js.map +1 -0
  26. package/dist/build/vite-markdown-plugin.test.d.ts +2 -0
  27. package/dist/build/vite-markdown-plugin.test.d.ts.map +1 -0
  28. package/dist/build/vite-markdown-plugin.test.js +41 -0
  29. package/dist/build/vite-markdown-plugin.test.js.map +1 -0
  30. package/dist/cli/index.d.ts +6 -0
  31. package/dist/cli/index.d.ts.map +1 -0
  32. package/dist/cli/index.js +75 -0
  33. package/dist/cli/index.js.map +1 -0
  34. package/dist/config/app-root.d.ts +11 -0
  35. package/dist/config/app-root.d.ts.map +1 -0
  36. package/dist/config/app-root.js +24 -0
  37. package/dist/config/app-root.js.map +1 -0
  38. package/dist/config/app-root.test.d.ts +2 -0
  39. package/dist/config/app-root.test.d.ts.map +1 -0
  40. package/dist/config/app-root.test.js +71 -0
  41. package/dist/config/app-root.test.js.map +1 -0
  42. package/dist/config/index.d.ts +6 -0
  43. package/dist/config/index.d.ts.map +1 -0
  44. package/dist/config/index.js +6 -0
  45. package/dist/config/index.js.map +1 -0
  46. package/dist/config/loader.d.ts +25 -0
  47. package/dist/config/loader.d.ts.map +1 -0
  48. package/dist/config/loader.js +187 -0
  49. package/dist/config/loader.js.map +1 -0
  50. package/dist/config/loader.test.d.ts +2 -0
  51. package/dist/config/loader.test.d.ts.map +1 -0
  52. package/dist/config/loader.test.js +24 -0
  53. package/dist/config/loader.test.js.map +1 -0
  54. package/dist/config/types.d.ts +149 -0
  55. package/dist/config/types.d.ts.map +1 -0
  56. package/dist/config/types.js +5 -0
  57. package/dist/config/types.js.map +1 -0
  58. package/dist/config/validation.d.ts +188 -0
  59. package/dist/config/validation.d.ts.map +1 -0
  60. package/dist/config/validation.js +139 -0
  61. package/dist/config/validation.js.map +1 -0
  62. package/dist/content/index.d.ts +6 -0
  63. package/dist/content/index.d.ts.map +1 -0
  64. package/dist/content/index.js +6 -0
  65. package/dist/content/index.js.map +1 -0
  66. package/dist/content/registry.d.ts +29 -0
  67. package/dist/content/registry.d.ts.map +1 -0
  68. package/dist/content/registry.js +45 -0
  69. package/dist/content/registry.js.map +1 -0
  70. package/dist/content/scanner.d.ts +9 -0
  71. package/dist/content/scanner.d.ts.map +1 -0
  72. package/dist/content/scanner.js +115 -0
  73. package/dist/content/scanner.js.map +1 -0
  74. package/dist/content/types.d.ts +41 -0
  75. package/dist/content/types.d.ts.map +1 -0
  76. package/dist/content/types.js +5 -0
  77. package/dist/content/types.js.map +1 -0
  78. package/dist/dev/index.d.ts +18 -0
  79. package/dist/dev/index.d.ts.map +1 -0
  80. package/dist/dev/index.js +93 -0
  81. package/dist/dev/index.js.map +1 -0
  82. package/dist/index.d.ts +14 -0
  83. package/dist/index.d.ts.map +1 -0
  84. package/dist/index.js +17 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/markdown/code.d.ts +79 -0
  87. package/dist/markdown/code.d.ts.map +1 -0
  88. package/dist/markdown/code.js +305 -0
  89. package/dist/markdown/code.js.map +1 -0
  90. package/dist/markdown/containers.d.ts +17 -0
  91. package/dist/markdown/containers.d.ts.map +1 -0
  92. package/dist/markdown/containers.js +143 -0
  93. package/dist/markdown/containers.js.map +1 -0
  94. package/dist/markdown/includes.d.ts +18 -0
  95. package/dist/markdown/includes.d.ts.map +1 -0
  96. package/dist/markdown/includes.js +9 -0
  97. package/dist/markdown/includes.js.map +1 -0
  98. package/dist/markdown/index.d.ts +8 -0
  99. package/dist/markdown/index.d.ts.map +1 -0
  100. package/dist/markdown/index.js +8 -0
  101. package/dist/markdown/index.js.map +1 -0
  102. package/dist/markdown/loader.d.ts +31 -0
  103. package/dist/markdown/loader.d.ts.map +1 -0
  104. package/dist/markdown/loader.js +325 -0
  105. package/dist/markdown/loader.js.map +1 -0
  106. package/dist/markdown/preserve-tags.d.ts +16 -0
  107. package/dist/markdown/preserve-tags.d.ts.map +1 -0
  108. package/dist/markdown/preserve-tags.js +233 -0
  109. package/dist/markdown/preserve-tags.js.map +1 -0
  110. package/dist/markdown/renderer.d.ts +28 -0
  111. package/dist/markdown/renderer.d.ts.map +1 -0
  112. package/dist/markdown/renderer.js +146 -0
  113. package/dist/markdown/renderer.js.map +1 -0
  114. package/dist/markdown/tag-validator.d.ts +64 -0
  115. package/dist/markdown/tag-validator.d.ts.map +1 -0
  116. package/dist/markdown/tag-validator.js +118 -0
  117. package/dist/markdown/tag-validator.js.map +1 -0
  118. package/dist/markdown/types.d.ts +44 -0
  119. package/dist/markdown/types.d.ts.map +1 -0
  120. package/dist/markdown/types.js +5 -0
  121. package/dist/markdown/types.js.map +1 -0
  122. package/dist/plugin/compat.d.ts +14 -0
  123. package/dist/plugin/compat.d.ts.map +1 -0
  124. package/dist/plugin/compat.js +78 -0
  125. package/dist/plugin/compat.js.map +1 -0
  126. package/dist/plugin/context.d.ts +38 -0
  127. package/dist/plugin/context.d.ts.map +1 -0
  128. package/dist/plugin/context.js +103 -0
  129. package/dist/plugin/context.js.map +1 -0
  130. package/dist/plugin/index.d.ts +6 -0
  131. package/dist/plugin/index.d.ts.map +1 -0
  132. package/dist/plugin/index.js +6 -0
  133. package/dist/plugin/index.js.map +1 -0
  134. package/dist/plugin/manager.d.ts +112 -0
  135. package/dist/plugin/manager.d.ts.map +1 -0
  136. package/dist/plugin/manager.js +385 -0
  137. package/dist/plugin/manager.js.map +1 -0
  138. package/dist/plugin/types.d.ts +182 -0
  139. package/dist/plugin/types.d.ts.map +1 -0
  140. package/dist/plugin/types.js +5 -0
  141. package/dist/plugin/types.js.map +1 -0
  142. package/dist/plugins/blog-index/index.d.ts +18 -0
  143. package/dist/plugins/blog-index/index.d.ts.map +1 -0
  144. package/dist/plugins/blog-index/index.js +158 -0
  145. package/dist/plugins/blog-index/index.js.map +1 -0
  146. package/dist/plugins/sidenav/index.d.ts +36 -0
  147. package/dist/plugins/sidenav/index.d.ts.map +1 -0
  148. package/dist/plugins/sidenav/index.js +86 -0
  149. package/dist/plugins/sidenav/index.js.map +1 -0
  150. package/dist/plugins/toc/index.d.ts +38 -0
  151. package/dist/plugins/toc/index.d.ts.map +1 -0
  152. package/dist/plugins/toc/index.js +79 -0
  153. package/dist/plugins/toc/index.js.map +1 -0
  154. package/dist/preview/index.d.ts +7 -0
  155. package/dist/preview/index.d.ts.map +1 -0
  156. package/dist/preview/index.js +25 -0
  157. package/dist/preview/index.js.map +1 -0
  158. package/dist/theme/default/build/generate-all.d.ts +9 -0
  159. package/dist/theme/default/build/generate-all.d.ts.map +1 -0
  160. package/dist/theme/default/build/generate-all.js +85 -0
  161. package/dist/theme/default/build/generate-all.js.map +1 -0
  162. package/dist/theme/default/build/generate-css.d.ts +19 -0
  163. package/dist/theme/default/build/generate-css.d.ts.map +1 -0
  164. package/dist/theme/default/build/generate-css.js +199 -0
  165. package/dist/theme/default/build/generate-css.js.map +1 -0
  166. package/dist/theme/default/build/index.d.ts +5 -0
  167. package/dist/theme/default/build/index.d.ts.map +1 -0
  168. package/dist/theme/default/build/index.js +5 -0
  169. package/dist/theme/default/build/index.js.map +1 -0
  170. package/dist/theme/default/design-systems/default.d.ts +12 -0
  171. package/dist/theme/default/design-systems/default.d.ts.map +1 -0
  172. package/dist/theme/default/design-systems/default.js +289 -0
  173. package/dist/theme/default/design-systems/default.js.map +1 -0
  174. package/dist/theme/default/design-systems/docusaurus.d.ts +12 -0
  175. package/dist/theme/default/design-systems/docusaurus.d.ts.map +1 -0
  176. package/dist/theme/default/design-systems/docusaurus.js +299 -0
  177. package/dist/theme/default/design-systems/docusaurus.js.map +1 -0
  178. package/dist/theme/default/design-systems/index.d.ts +50 -0
  179. package/dist/theme/default/design-systems/index.d.ts.map +1 -0
  180. package/dist/theme/default/design-systems/index.js +54 -0
  181. package/dist/theme/default/design-systems/index.js.map +1 -0
  182. package/dist/theme/default/design-systems/rspress.d.ts +12 -0
  183. package/dist/theme/default/design-systems/rspress.d.ts.map +1 -0
  184. package/dist/theme/default/design-systems/rspress.js +299 -0
  185. package/dist/theme/default/design-systems/rspress.js.map +1 -0
  186. package/dist/theme/default/design-systems/types.d.ts +238 -0
  187. package/dist/theme/default/design-systems/types.d.ts.map +1 -0
  188. package/dist/theme/default/design-systems/types.js +6 -0
  189. package/dist/theme/default/design-systems/types.js.map +1 -0
  190. package/dist/theme/default/design-systems/vitepress.d.ts +12 -0
  191. package/dist/theme/default/design-systems/vitepress.d.ts.map +1 -0
  192. package/dist/theme/default/design-systems/vitepress.js +299 -0
  193. package/dist/theme/default/design-systems/vitepress.js.map +1 -0
  194. package/dist/theme/default/index.d.ts +60 -0
  195. package/dist/theme/default/index.d.ts.map +1 -0
  196. package/dist/theme/default/index.js +44 -0
  197. package/dist/theme/default/index.js.map +1 -0
  198. package/dist/theme/default/theme.d.ts +14 -0
  199. package/dist/theme/default/theme.d.ts.map +1 -0
  200. package/dist/theme/default/theme.js +58 -0
  201. package/dist/theme/default/theme.js.map +1 -0
  202. package/dist/theme/index.d.ts +6 -0
  203. package/dist/theme/index.d.ts.map +1 -0
  204. package/dist/theme/index.js +6 -0
  205. package/dist/theme/index.js.map +1 -0
  206. package/dist/theme/loader.d.ts +21 -0
  207. package/dist/theme/loader.d.ts.map +1 -0
  208. package/dist/theme/loader.js +125 -0
  209. package/dist/theme/loader.js.map +1 -0
  210. package/dist/theme/types.d.ts +73 -0
  211. package/dist/theme/types.d.ts.map +1 -0
  212. package/dist/theme/types.js +5 -0
  213. package/dist/theme/types.js.map +1 -0
  214. package/dist/vite/index.d.ts +6 -0
  215. package/dist/vite/index.d.ts.map +1 -0
  216. package/dist/vite/index.js +6 -0
  217. package/dist/vite/index.js.map +1 -0
  218. package/dist/vite/markdownPlugin.d.ts +15 -0
  219. package/dist/vite/markdownPlugin.d.ts.map +1 -0
  220. package/dist/vite/markdownPlugin.js +111 -0
  221. package/dist/vite/markdownPlugin.js.map +1 -0
  222. package/dist/vite/plugin.d.ts +18 -0
  223. package/dist/vite/plugin.d.ts.map +1 -0
  224. package/dist/vite/plugin.js +94 -0
  225. package/dist/vite/plugin.js.map +1 -0
  226. package/marko.json +3 -0
  227. package/package.json +109 -0
  228. package/src/theme/default/build/generate-all.ts +99 -0
  229. package/src/theme/default/build/generate-css.ts +234 -0
  230. package/src/theme/default/build/index.ts +5 -0
  231. package/src/theme/default/components/doc-footer.marko +180 -0
  232. package/src/theme/default/components/footer.marko +32 -0
  233. package/src/theme/default/components/header.marko +49 -0
  234. package/src/theme/default/components/nav-bar.marko +191 -0
  235. package/src/theme/default/components/page-header.marko +20 -0
  236. package/src/theme/default/components/reading-progress.marko +36 -0
  237. package/src/theme/default/components/search.marko +239 -0
  238. package/src/theme/default/components/sidebar.marko +211 -0
  239. package/src/theme/default/components/site-footer.marko +211 -0
  240. package/src/theme/default/components/skip-link.marko +49 -0
  241. package/src/theme/default/components/theme/theme-aside-bottom.marko +1 -0
  242. package/src/theme/default/components/theme/theme-aside-top.marko +1 -0
  243. package/src/theme/default/components/theme/theme-body-bottom.marko +1 -0
  244. package/src/theme/default/components/theme/theme-body-top.marko +1 -0
  245. package/src/theme/default/components/theme/theme-doc-bottom.marko +1 -0
  246. package/src/theme/default/components/theme/theme-doc-footer-after.marko +1 -0
  247. package/src/theme/default/components/theme/theme-doc-footer-before.marko +1 -0
  248. package/src/theme/default/components/theme/theme-doc-top.marko +1 -0
  249. package/src/theme/default/components/theme/theme-head-bottom.marko +1 -0
  250. package/src/theme/default/components/theme/theme-head-top.marko +1 -0
  251. package/src/theme/default/components/theme/theme-home-features-after.marko +1 -0
  252. package/src/theme/default/components/theme/theme-home-hero-after.marko +1 -0
  253. package/src/theme/default/components/theme/theme-home-hero-before.marko +1 -0
  254. package/src/theme/default/components/theme/theme-navbar-center.marko +5 -0
  255. package/src/theme/default/components/theme/theme-navbar-end.marko +30 -0
  256. package/src/theme/default/components/theme/theme-navbar-start.marko +1 -0
  257. package/src/theme/default/components/theme/theme-page-bottom.marko +1 -0
  258. package/src/theme/default/components/theme/theme-page-top.marko +1 -0
  259. package/src/theme/default/components/theme/theme-sidebar-bottom.marko +1 -0
  260. package/src/theme/default/components/theme/theme-sidebar-top.marko +1 -0
  261. package/src/theme/default/components/theme/theme-toc-item.marko +1 -0
  262. package/src/theme/default/components/theme-toggle.marko +122 -0
  263. package/src/theme/default/components/toc.marko +140 -0
  264. package/src/theme/default/design-systems/default.ts +331 -0
  265. package/src/theme/default/design-systems/docusaurus.ts +341 -0
  266. package/src/theme/default/design-systems/index.ts +67 -0
  267. package/src/theme/default/design-systems/rspress.ts +341 -0
  268. package/src/theme/default/design-systems/types.ts +296 -0
  269. package/src/theme/default/design-systems/vitepress.ts +341 -0
  270. package/src/theme/default/index.ts +107 -0
  271. package/src/theme/default/layouts/blog.marko +65 -0
  272. package/src/theme/default/layouts/content-page.marko +41 -0
  273. package/src/theme/default/layouts/default.marko +209 -0
  274. package/src/theme/default/layouts/docs.marko +81 -0
  275. package/src/theme/default/layouts/home-page.marko +19 -0
  276. package/src/theme/default/layouts/page.marko +51 -0
  277. package/src/theme/default/public/theme-default.css +1081 -0
  278. package/src/theme/default/public/theme-docusaurus.css +1081 -0
  279. package/src/theme/default/public/theme-vitepress.css +1081 -0
  280. package/src/theme/default/public/theme.css +2 -0
  281. package/src/theme/default/routes/+layout.marko +57 -0
  282. package/src/theme/default/styles/main.css +249 -0
  283. package/src/theme/default/styles-base.css +757 -0
  284. package/src/theme/default/styles.css +899 -0
  285. package/src/theme/default/taglib.json +18 -0
  286. package/src/theme/default/tags/doc-footer.marko +180 -0
  287. package/src/theme/default/tags/footer.marko +32 -0
  288. package/src/theme/default/tags/header.marko +49 -0
  289. package/src/theme/default/tags/nav-bar.marko +191 -0
  290. package/src/theme/default/tags/page-header.marko +20 -0
  291. package/src/theme/default/tags/reading-progress.marko +36 -0
  292. package/src/theme/default/tags/search.marko +239 -0
  293. package/src/theme/default/tags/sidebar.marko +211 -0
  294. package/src/theme/default/tags/site-footer.marko +211 -0
  295. package/src/theme/default/tags/skip-link.marko +49 -0
  296. package/src/theme/default/tags/theme-aside-bottom.marko +1 -0
  297. package/src/theme/default/tags/theme-aside-top.marko +1 -0
  298. package/src/theme/default/tags/theme-body-bottom.marko +1 -0
  299. package/src/theme/default/tags/theme-body-top.marko +1 -0
  300. package/src/theme/default/tags/theme-doc-bottom.marko +1 -0
  301. package/src/theme/default/tags/theme-doc-footer-after.marko +1 -0
  302. package/src/theme/default/tags/theme-doc-footer-before.marko +1 -0
  303. package/src/theme/default/tags/theme-doc-top.marko +1 -0
  304. package/src/theme/default/tags/theme-head-bottom.marko +1 -0
  305. package/src/theme/default/tags/theme-head-top.marko +1 -0
  306. package/src/theme/default/tags/theme-home-features-after.marko +1 -0
  307. package/src/theme/default/tags/theme-home-hero-after.marko +1 -0
  308. package/src/theme/default/tags/theme-home-hero-before.marko +1 -0
  309. package/src/theme/default/tags/theme-navbar-center.marko +5 -0
  310. package/src/theme/default/tags/theme-navbar-end.marko +30 -0
  311. package/src/theme/default/tags/theme-navbar-start.marko +1 -0
  312. package/src/theme/default/tags/theme-page-bottom.marko +1 -0
  313. package/src/theme/default/tags/theme-page-top.marko +1 -0
  314. package/src/theme/default/tags/theme-sidebar-bottom.marko +1 -0
  315. package/src/theme/default/tags/theme-sidebar-top.marko +1 -0
  316. package/src/theme/default/tags/theme-toc-item.marko +1 -0
  317. package/src/theme/default/tags/theme-toggle.marko +122 -0
  318. package/src/theme/default/tags/toc.marko +140 -0
  319. package/src/theme/default/theme.ts +83 -0
  320. package/templates/blog-post.marko.template +13 -0
  321. package/templates/catch-all-handler.js.template +90 -0
  322. package/templates/catch-all-page.marko.template +69 -0
  323. package/templates/doc.marko.template +6 -0
  324. package/templates/example-tags/README.md +212 -0
  325. package/templates/example-tags/alert-box.marko +98 -0
  326. package/templates/example-tags/button-primary.marko +28 -0
  327. package/templates/example-tags/button-secondary.marko +28 -0
  328. package/templates/example-tags/button.marko +6 -0
  329. package/templates/example-tags/card-body.marko +8 -0
  330. package/templates/example-tags/card-footer.marko +7 -0
  331. package/templates/example-tags/card-header.marko +7 -0
  332. package/templates/example-tags/card.marko +20 -0
  333. package/templates/example-tags/icon.marko +149 -0
  334. package/templates/layout.marko.template +64 -0
  335. package/templates/page.marko.template +6 -0
@@ -0,0 +1,331 @@
1
+ /**
2
+ * Default Design System Preset
3
+ * Plain, clean style matching the original MarkoPress theme
4
+ * Based on the existing styles.css
5
+ */
6
+
7
+ import type { DesignSystem } from './types.js';
8
+
9
+ export const defaultPreset: DesignSystem = {
10
+ name: 'default',
11
+ version: '2.0.0',
12
+ description: 'MarkoPress default theme (VitePress-inspired with Indigo brand color)',
13
+
14
+ colors: {
15
+ // Primary brand color (Indigo)
16
+ primary: {
17
+ '1': '#3451b2', // Dark indigo for dark mode text / active states
18
+ '2': '#3a5ccc', // Primary indigo (brand color)
19
+ '3': '#5672cd', // Light indigo
20
+ soft: 'rgba(100, 108, 255, 0.14)',
21
+ },
22
+
23
+ // Success (Green)
24
+ success: {
25
+ '1': '#059669',
26
+ '2': '#10b981',
27
+ '3': '#34d399',
28
+ soft: 'rgba(16, 185, 129, 0.1)',
29
+ },
30
+
31
+ // Warning (Yellow/Orange)
32
+ warning: {
33
+ '1': '#d97706',
34
+ '2': '#f59e0b',
35
+ '3': '#fbbf24',
36
+ soft: 'rgba(245, 158, 11, 0.1)',
37
+ },
38
+
39
+ // Danger (Red)
40
+ danger: {
41
+ '1': '#dc2626',
42
+ '2': '#ef4444',
43
+ '3': '#f87171',
44
+ soft: 'rgba(239, 68, 68, 0.1)',
45
+ },
46
+
47
+ // Info (Cyan)
48
+ info: {
49
+ '1': '#0891b2',
50
+ '2': '#06b6d4',
51
+ '3': '#22d3ee',
52
+ soft: 'rgba(6, 182, 212, 0.1)',
53
+ },
54
+
55
+ // Gray scale (Light mode)
56
+ gray: {
57
+ '1': '#e5e7eb',
58
+ '2': '#f3f4f6',
59
+ '3': '#f9fafb',
60
+ soft: 'rgba(107, 114, 128, 0.1)',
61
+ },
62
+
63
+ // Background colors (Light mode)
64
+ bg: {
65
+ default: '#ffffff',
66
+ alt: '#f9fafb',
67
+ elevated: '#ffffff',
68
+ soft: '#f3f4f6',
69
+ },
70
+
71
+ // Text colors (Light mode)
72
+ text: {
73
+ '1': '#111827',
74
+ '2': '#4b5563',
75
+ '3': '#6b7280',
76
+ },
77
+
78
+ // Border colors (Light mode)
79
+ border: {
80
+ default: '#e5e7eb',
81
+ divider: '#e5e7eb',
82
+ gutter: '#e5e7eb',
83
+ },
84
+
85
+ // Divider
86
+ divider: '#e5e7eb',
87
+
88
+ // Soft backgrounds
89
+ soft: {
90
+ brand: 'rgba(59, 130, 246, 0.1)',
91
+ gray: 'rgba(107, 114, 128, 0.1)',
92
+ },
93
+ },
94
+
95
+ typography: {
96
+ fontFamily: {
97
+ sans: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
98
+ mono: "'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace",
99
+ },
100
+
101
+ fontSize: {
102
+ xs: '0.75rem',
103
+ sm: '0.875rem',
104
+ base: '1rem',
105
+ lg: '1.125rem',
106
+ xl: '1.25rem',
107
+ '2xl': '1.5rem',
108
+ '3xl': '1.875rem',
109
+ '4xl': '2.25rem',
110
+ },
111
+
112
+ fontWeight: {
113
+ normal: 400,
114
+ medium: 500,
115
+ semibold: 600,
116
+ bold: 700,
117
+ },
118
+
119
+ lineHeight: {
120
+ tight: 1.25,
121
+ normal: 1.5,
122
+ relaxed: 1.75,
123
+ },
124
+ },
125
+
126
+ spacing: {
127
+ scale: {
128
+ xs: '0.25rem',
129
+ sm: '0.5rem',
130
+ md: '1rem',
131
+ lg: '1.5rem',
132
+ xl: '2rem',
133
+ '2xl': '3rem',
134
+ '3xl': '4rem',
135
+ '4xl': '6rem',
136
+ },
137
+ },
138
+
139
+ effects: {
140
+ shadows: {
141
+ '1': '0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06)',
142
+ '2': '0 3px 12px rgba(0, 0, 0, 0.07), 0 1px 4px rgba(0, 0, 0, 0.07)',
143
+ '3': '0 12px 32px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.08)',
144
+ '4': '0 20px 50px rgba(0, 0, 0, 0.12), 0 4px 10px rgba(0, 0, 0, 0.08)',
145
+ '5': '0 25px 70px rgba(0, 0, 0, 0.15), 0 8px 16px rgba(0, 0, 0, 0.1)',
146
+ },
147
+
148
+ borderRadius: {
149
+ sm: '4px',
150
+ md: '8px',
151
+ lg: '12px',
152
+ full: '9999px',
153
+ },
154
+
155
+ transitions: {
156
+ base: '250ms ease-in-out',
157
+ fast: '150ms ease-in-out',
158
+ slow: '350ms ease-in-out',
159
+ },
160
+ },
161
+
162
+ layout: {
163
+ maxWidth: '1440px',
164
+ navbarHeight: '64px',
165
+ sidebarWidth: '280px',
166
+ tocWidth: '240px',
167
+
168
+ zIndex: {
169
+ footer: 10,
170
+ localNav: 20,
171
+ nav: 30,
172
+ layoutTop: 40,
173
+ backdrop: 50,
174
+ sidebar: 60,
175
+ },
176
+ },
177
+
178
+ components: {
179
+ navbar: {
180
+ height: '64px',
181
+ padding: '0 1.5rem',
182
+ background: '#ffffff',
183
+ border: '#e5e7eb',
184
+ borderWidth: '1px',
185
+ shadow: 'none',
186
+ logoHeight: '32px',
187
+ },
188
+
189
+ sidebar: {
190
+ width: '280px',
191
+ padding: '1.5rem',
192
+ background: '#f9fafb',
193
+ border: '#e5e7eb',
194
+ activeBorder: '2px solid #3451b2', // NEW: Active state indicator
195
+ activeBackground: 'rgba(100, 108, 255, 0.1)', // Updated to Indigo
196
+ },
197
+
198
+ content: {
199
+ maxWidth: '720px', // VitePress-proven optimal reading width
200
+ padding: '32px 24px',
201
+ fontSize: '16px',
202
+ lineHeight: 1.7, // Improved readability
203
+ },
204
+
205
+ code: {
206
+ fontSize: '0.875em',
207
+ lineHeight: 1.7, // Improved readability
208
+ background: '#f3f4f6',
209
+ color: '#3a5ccc', // Updated to Indigo
210
+ borderRadius: '4px',
211
+ padding: '0.25rem 0.5rem',
212
+ blockPadding: '20px 24px',
213
+ blockBorderRadius: '8px',
214
+ },
215
+
216
+ heading: {
217
+ h1FontSize: '2.25rem',
218
+ h2FontSize: '1.5rem',
219
+ h3FontSize: '1.25rem',
220
+ h4FontSize: '1.125rem',
221
+ h1FontWeight: 700,
222
+ h2FontWeight: 600,
223
+ h3FontWeight: 600,
224
+ h1LineHeight: 1.2,
225
+ h2LineHeight: 1.3,
226
+ h3LineHeight: 1.4,
227
+ marginTop: '1.5rem',
228
+ marginBottom: '1rem',
229
+ },
230
+ },
231
+ };
232
+
233
+ /**
234
+ * Dark mode override for default preset
235
+ */
236
+ export const defaultDark: Partial<DesignSystem> = {
237
+ colors: {
238
+ // Primary brand color (Indigo - dark mode)
239
+ primary: {
240
+ '1': '#a8b1ff', // Light indigo for dark mode text
241
+ '2': '#3a5ccc', // Primary indigo
242
+ '3': '#3451b2', // Dark indigo
243
+ soft: 'rgba(100, 108, 255, 0.16)', // Increased opacity
244
+ },
245
+
246
+ success: {
247
+ '1': '#34d399',
248
+ '2': '#10b981',
249
+ '3': '#059669',
250
+ soft: 'rgba(52, 211, 153, 0.15)',
251
+ },
252
+
253
+ warning: {
254
+ '1': '#fbbf24',
255
+ '2': '#f59e0b',
256
+ '3': '#d97706',
257
+ soft: 'rgba(251, 191, 36, 0.15)',
258
+ },
259
+
260
+ danger: {
261
+ '1': '#f87171',
262
+ '2': '#ef4444',
263
+ '3': '#dc2626',
264
+ soft: 'rgba(248, 113, 113, 0.15)',
265
+ },
266
+
267
+ info: {
268
+ '1': '#22d3ee',
269
+ '2': '#06b6d4',
270
+ '3': '#0891b2',
271
+ soft: 'rgba(34, 211, 238, 0.15)',
272
+ },
273
+
274
+ // Gray scale (Dark mode)
275
+ gray: {
276
+ '1': '#374151',
277
+ '2': '#1f2937',
278
+ '3': '#111827',
279
+ soft: 'rgba(107, 114, 128, 0.15)',
280
+ },
281
+
282
+ // Background colors (Dark mode - VitePress-inspired)
283
+ bg: {
284
+ default: '#1b1b1f', // VitePress default dark
285
+ alt: '#1f2937',
286
+ elevated: '#2d2d30',
287
+ soft: '#252529',
288
+ },
289
+
290
+ // Text colors (Dark mode)
291
+ text: {
292
+ '1': '#f9fafb',
293
+ '2': '#d1d5db',
294
+ '3': '#9ca3af',
295
+ },
296
+
297
+ // Border colors (Dark mode)
298
+ border: {
299
+ default: '#374151',
300
+ divider: '#1f2937',
301
+ gutter: '#1f2937',
302
+ },
303
+
304
+ // Divider (Dark mode)
305
+ divider: '#1f2937',
306
+
307
+ // Soft backgrounds (Dark mode)
308
+ soft: {
309
+ brand: 'rgba(96, 165, 250, 0.15)',
310
+ gray: 'rgba(156, 162, 173, 0.15)',
311
+ },
312
+ },
313
+
314
+ components: {
315
+ navbar: {
316
+ background: '#1b1b1f',
317
+ border: '#2d2d30',
318
+ },
319
+
320
+ sidebar: {
321
+ background: '#1b1b1f',
322
+ activeBorder: '2px solid #a8b1ff',
323
+ activeBackground: 'rgba(100, 108, 255, 0.16)',
324
+ },
325
+
326
+ code: {
327
+ background: '#1f2937',
328
+ color: '#a8b1ff', // Light indigo for dark mode
329
+ },
330
+ },
331
+ };
@@ -0,0 +1,341 @@
1
+ /**
2
+ * Docusaurus Design System Preset
3
+ * Based on Infima CSS framework
4
+ * Reference: https://docusaurus.io/docs/styling-layout
5
+ */
6
+
7
+ import type { DesignSystem } from './types.js';
8
+
9
+ export const docusaurus: DesignSystem = {
10
+ name: 'docusaurus',
11
+ version: '1.0.0',
12
+ description: 'Docusaurus design system (Infima framework - Blue-based)',
13
+
14
+ colors: {
15
+ // Primary brand color (Blue)
16
+ primary: {
17
+ '1': '#1e80c4', // Primary text/link color
18
+ '2': '#2970c9', // Hover state
19
+ '3': '#3e6cd4', // Background color
20
+ soft: 'rgba(30, 128, 196, 0.1)',
21
+ },
22
+
23
+ // Success (Green)
24
+ success: {
25
+ '1': '#00bfa5',
26
+ '2': '#00d4a4',
27
+ '3': '#00e4a5',
28
+ soft: 'rgba(0, 191, 165, 0.1)',
29
+ },
30
+
31
+ // Warning (Orange/Yellow)
32
+ warning: {
33
+ '1': '#e66c00',
34
+ '2': '#ff7b00',
35
+ '3': '#ff8d00',
36
+ soft: 'rgba(230, 108, 0, 0.1)',
37
+ },
38
+
39
+ // Danger (Red)
40
+ danger: {
41
+ '1': '#c41818',
42
+ '2': '#dc1e1e',
43
+ '3': '#e62525',
44
+ soft: 'rgba(196, 24, 24, 0.1)',
45
+ },
46
+
47
+ // Info (Blue)
48
+ info: {
49
+ '1': '#1877f2',
50
+ '2': '#2d88ff',
51
+ '3': '#4c8dff',
52
+ soft: 'rgba(24, 119, 242, 0.1)',
53
+ },
54
+
55
+ // Gray scale (Light mode)
56
+ gray: {
57
+ '1': '#d8d8d8',
58
+ '2': '#e8e8e8',
59
+ '3': '#f0f0f0',
60
+ soft: 'rgba(168, 168, 168, 0.15)',
61
+ },
62
+
63
+ // Background colors (Light mode)
64
+ bg: {
65
+ default: '#ffffff',
66
+ alt: '#fafafa',
67
+ elevated: '#ffffff',
68
+ soft: '#f5f5f5',
69
+ },
70
+
71
+ // Text colors (Light mode)
72
+ text: {
73
+ '1': '#1b1b1b', // Primary text
74
+ '2': '#5a5a5a', // Muted text
75
+ '3': '#8a8a8a', // Subtle text
76
+ },
77
+
78
+ // Border colors (Light mode)
79
+ border: {
80
+ default: '#dcdcdc',
81
+ divider: '#eaeaea',
82
+ gutter: '#eaeaea',
83
+ },
84
+
85
+ // Divider
86
+ divider: '#eaeaea',
87
+
88
+ // Soft backgrounds
89
+ soft: {
90
+ brand: 'rgba(30, 128, 196, 0.1)',
91
+ gray: 'rgba(168, 168, 168, 0.15)',
92
+ },
93
+ },
94
+
95
+ typography: {
96
+ fontFamily: {
97
+ sans: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
98
+ mono: "'Roboto Mono', 'Courier New', 'Courier', monospace",
99
+ },
100
+
101
+ fontSize: {
102
+ xs: '0.75rem',
103
+ sm: '0.875rem',
104
+ base: '1rem',
105
+ lg: '1.125rem',
106
+ xl: '1.25rem',
107
+ '2xl': '1.5rem',
108
+ '3xl': '1.875rem',
109
+ '4xl': '2.25rem',
110
+ },
111
+
112
+ fontWeight: {
113
+ normal: 400,
114
+ medium: 500,
115
+ semibold: 600,
116
+ bold: 700,
117
+ },
118
+
119
+ lineHeight: {
120
+ tight: 1.25,
121
+ normal: 1.6,
122
+ relaxed: 1.75,
123
+ },
124
+ },
125
+
126
+ spacing: {
127
+ scale: {
128
+ xs: '0.5rem', // 8px
129
+ sm: '0.75rem', // 12px
130
+ md: '1rem', // 16px
131
+ lg: '1.5rem', // 24px
132
+ xl: '2rem', // 32px
133
+ '2xl': '3rem', // 48px
134
+ '3xl': '4rem', // 64px
135
+ '4xl': '5rem', // 80px
136
+ },
137
+ },
138
+
139
+ effects: {
140
+ shadows: {
141
+ '1': '0 2px 4px rgba(0, 0, 0, 0.04)',
142
+ '2': '0 4px 8px rgba(0, 0, 0, 0.08)',
143
+ '3': '0 8px 16px rgba(0, 0, 0, 0.12)',
144
+ '4': '0 12px 24px rgba(0, 0, 0, 0.16)',
145
+ '5': '0 16px 32px rgba(0, 0, 0, 0.2)',
146
+ },
147
+
148
+ borderRadius: {
149
+ sm: '4px',
150
+ md: '8px',
151
+ lg: '12px',
152
+ },
153
+
154
+ transitions: {
155
+ base: '0.2s ease',
156
+ fast: '0.1s ease',
157
+ slow: '0.3s ease',
158
+ },
159
+ },
160
+
161
+ layout: {
162
+ maxWidth: '1400px',
163
+ navbarHeight: '68px', // Taller navbar
164
+ sidebarWidth: '300px', // Wider sidebar
165
+ tocWidth: '260px', // Wider TOC
166
+
167
+ zIndex: {
168
+ footer: 10,
169
+ localNav: 20,
170
+ nav: 30,
171
+ layoutTop: 40,
172
+ backdrop: 50,
173
+ sidebar: 60,
174
+ },
175
+ },
176
+
177
+ components: {
178
+ navbar: {
179
+ height: '68px',
180
+ padding: '0 32px',
181
+ background: '#ffffff',
182
+ border: '#dcdcdc',
183
+ borderWidth: '1px',
184
+ shadow: '0 1px 2px rgba(0, 0, 0, 0.05)',
185
+ logoHeight: '32px',
186
+ itemPadding: '10px 16px',
187
+ itemGap: '8px',
188
+ },
189
+
190
+ sidebar: {
191
+ width: '300px',
192
+ padding: '24px 16px',
193
+ background: '#ffffff',
194
+ border: '#eaeaea',
195
+ itemHeight: '36px', // Spacious items
196
+ itemPadding: '8px 16px',
197
+ itemGap: '4px',
198
+ itemBorderRadius: '8px', // Rounded corners
199
+ itemFontSize: '15px',
200
+ itemFontWeight: 400,
201
+ activeBackground: 'rgba(30, 128, 196, 0.12)',
202
+ activeBorder: 'none',
203
+ hoverBackground: 'rgba(168, 168, 168, 0.1',
204
+ categoryPadding: '16px 16px 8px',
205
+ categoryFontSize: '13px',
206
+ categoryFontWeight: 700,
207
+ categoryTextTransform: 'none',
208
+ },
209
+
210
+ content: {
211
+ maxWidth: '800px',
212
+ padding: '40px 32px',
213
+ fontSize: '17px',
214
+ lineHeight: 1.8,
215
+ },
216
+
217
+ code: {
218
+ fontSize: '0.9em',
219
+ lineHeight: 1.6,
220
+ background: 'rgba(168, 168, 168, 0.15)',
221
+ color: '#1e80c4',
222
+ borderRadius: '6px',
223
+ padding: '3px 8px',
224
+ blockPadding: '24px 28px',
225
+ blockBorderRadius: '12px',
226
+ },
227
+
228
+ heading: {
229
+ h1FontSize: '2.25rem',
230
+ h2FontSize: '1.75rem',
231
+ h3FontSize: '1.375rem',
232
+ h4FontSize: '1.125rem',
233
+ h1FontWeight: 700,
234
+ h2FontWeight: 700,
235
+ h3FontWeight: 600,
236
+ h1LineHeight: 1.25,
237
+ h2LineHeight: 1.35,
238
+ h3LineHeight: 1.45,
239
+ marginTop: '32px',
240
+ marginBottom: '20px',
241
+ },
242
+ },
243
+ };
244
+
245
+ /**
246
+ * Dark mode override for Docusaurus
247
+ */
248
+ export const docusaurusDark: Partial<DesignSystem> = {
249
+ colors: {
250
+ // Primary brand color (Blue - dark mode)
251
+ primary: {
252
+ '1': '#4facfe',
253
+ '2': '#00f2fe',
254
+ '3': '#1e80c4',
255
+ soft: 'rgba(79, 172, 254, 0.15)',
256
+ },
257
+
258
+ success: {
259
+ '1': '#00ffdb',
260
+ '2': '#00e4a5',
261
+ '3': '#00c294',
262
+ soft: 'rgba(0, 255, 219, 0.15)',
263
+ },
264
+
265
+ warning: {
266
+ '1': '#ffb347',
267
+ '2': '#ff9500',
268
+ '3': '#cc7700',
269
+ soft: 'rgba(255, 179, 71, 0.15)',
270
+ },
271
+
272
+ danger: {
273
+ '1': '#ff6b6b',
274
+ '2': '#ee5a5a',
275
+ '3': '#c41818',
276
+ soft: 'rgba(255, 107, 107, 0.15)',
277
+ },
278
+
279
+ info: {
280
+ '1': '#74b9ff',
281
+ '2': '#4facfe',
282
+ '3': '#1877f2',
283
+ soft: 'rgba(116, 185, 255, 0.15)',
284
+ },
285
+
286
+ // Gray scale (Dark mode)
287
+ gray: {
288
+ '1': '#5a5a5a',
289
+ '2': '#4a4a4a',
290
+ '3': '#3a3a3a',
291
+ soft: 'rgba(138, 138, 138, 0.15)',
292
+ },
293
+
294
+ // Background colors (Dark mode)
295
+ bg: {
296
+ default: '#1b1b1d',
297
+ alt: '#242526',
298
+ elevated: '#2b2b2d',
299
+ soft: '#242526',
300
+ },
301
+
302
+ // Text colors (Dark mode)
303
+ text: {
304
+ '1': '#f5f5f5',
305
+ '2': '#c9c9c9',
306
+ '3': '#8a8a8a',
307
+ },
308
+
309
+ // Border colors (Dark mode)
310
+ border: {
311
+ default: '#4a4a4a',
312
+ divider: '#303030',
313
+ gutter: '#303030',
314
+ },
315
+
316
+ // Divider (Dark mode)
317
+ divider: '#303030',
318
+
319
+ // Soft backgrounds (Dark mode)
320
+ soft: {
321
+ brand: 'rgba(79, 172, 254, 0.15)',
322
+ gray: 'rgba(138, 138, 138, 0.15)',
323
+ },
324
+ },
325
+
326
+ components: {
327
+ navbar: {
328
+ background: '#242526',
329
+ border: '#4a4a4a',
330
+ },
331
+
332
+ sidebar: {
333
+ background: '#1b1b1d',
334
+ },
335
+
336
+ code: {
337
+ background: 'rgba(138, 138, 138, 0.15)',
338
+ color: '#4facfe',
339
+ },
340
+ },
341
+ };