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,67 @@
1
+ /**
2
+ * Design System Registry
3
+ * Central registry for all design system presets
4
+ */
5
+
6
+ export { vitepress, vitepressDark } from './vitepress.js';
7
+ export { docusaurus, docusaurusDark } from './docusaurus.js';
8
+ export { rspress, rspressDark } from './rspress.js';
9
+ export { defaultPreset, defaultDark } from './default.js';
10
+ export type { DesignSystem, ColorTokens, TypographyTokens, SpacingTokens, EffectTokens, LayoutTokens, ComponentTokens } from './types.js';
11
+
12
+ import { vitepress, vitepressDark } from './vitepress.js';
13
+ import { docusaurus, docusaurusDark } from './docusaurus.js';
14
+ import { rspress, rspressDark } from './rspress.js';
15
+ import { defaultPreset, defaultDark } from './default.js';
16
+ import type { DesignSystem } from './types.js';
17
+
18
+ /**
19
+ * All available design systems
20
+ */
21
+ export const designSystems = {
22
+ default: defaultPreset,
23
+ vitepress,
24
+ docusaurus,
25
+ rspress,
26
+ } as const;
27
+
28
+ /**
29
+ * Dark mode overrides for each design system
30
+ */
31
+ export const darkModeOverrides = {
32
+ default: defaultDark,
33
+ vitepress: vitepressDark,
34
+ docusaurus: docusaurusDark,
35
+ rspress: rspressDark,
36
+ } as const;
37
+
38
+ /**
39
+ * Available design system names
40
+ */
41
+ export type DesignSystemName = keyof typeof designSystems;
42
+
43
+ /**
44
+ * Get a design system by name
45
+ * @param name - Design system name
46
+ * @returns Design system object
47
+ */
48
+ export function getDesignSystem(name: DesignSystemName): DesignSystem {
49
+ return designSystems[name];
50
+ }
51
+
52
+ /**
53
+ * Get dark mode override for a design system
54
+ * @param name - Design system name
55
+ * @returns Partial design system with dark mode overrides
56
+ */
57
+ export function getDarkModeOverride(name: DesignSystemName): Partial<DesignSystem> {
58
+ return darkModeOverrides[name];
59
+ }
60
+
61
+ /**
62
+ * List all available design system names
63
+ * @returns Array of design system names
64
+ */
65
+ export function listDesignSystems(): DesignSystemName[] {
66
+ return Object.keys(designSystems) as DesignSystemName[];
67
+ }
@@ -0,0 +1,341 @@
1
+ /**
2
+ * RsPress Design System Preset
3
+ * Modern documentation framework by ByteDance
4
+ * Reference: https://rspress.dev
5
+ */
6
+
7
+ import type { DesignSystem } from './types.js';
8
+
9
+ export const rspress: DesignSystem = {
10
+ name: 'rspress',
11
+ version: '1.0.0',
12
+ description: 'RsPress design system (Purple/Pink accent - Modern tech style)',
13
+
14
+ colors: {
15
+ // Primary brand color (Purple/Pink gradient style)
16
+ primary: {
17
+ '1': '#7c3aed', // Primary text/link color (purple)
18
+ '2': '#8b5cf6', // Hover state
19
+ '3': '#a78bfa', // Background color
20
+ soft: 'rgba(124, 58, 237, 0.1)',
21
+ },
22
+
23
+ // Success (Green)
24
+ success: {
25
+ '1': '#059669',
26
+ '2': '#10b981',
27
+ '3': '#34d399',
28
+ soft: 'rgba(5, 150, 105, 0.1)',
29
+ },
30
+
31
+ // Warning (Orange)
32
+ warning: {
33
+ '1': '#d97706',
34
+ '2': '#f59e0b',
35
+ '3': '#fbbf24',
36
+ soft: 'rgba(217, 119, 6, 0.1)',
37
+ },
38
+
39
+ // Danger (Red)
40
+ danger: {
41
+ '1': '#dc2626',
42
+ '2': '#ef4444',
43
+ '3': '#f87171',
44
+ soft: 'rgba(220, 38, 38, 0.1)',
45
+ },
46
+
47
+ // Info (Blue)
48
+ info: {
49
+ '1': '#2563eb',
50
+ '2': '#3b82f6',
51
+ '3': '#60a5fa',
52
+ soft: 'rgba(37, 99, 235, 0.1)',
53
+ },
54
+
55
+ // Gray scale (Light mode - cooler grays)
56
+ gray: {
57
+ '1': '#e5e7eb',
58
+ '2': '#f3f4f6',
59
+ '3': '#f9fafb',
60
+ soft: 'rgba(156, 163, 175, 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', // Primary text
74
+ '2': '#6b7280', // Muted text
75
+ '3': '#9ca3af', // Subtle text
76
+ },
77
+
78
+ // Border colors (Light mode)
79
+ border: {
80
+ default: '#e5e7eb',
81
+ divider: '#f3f4f6',
82
+ gutter: '#f3f4f6',
83
+ },
84
+
85
+ // Divider
86
+ divider: '#f3f4f6',
87
+
88
+ // Soft backgrounds
89
+ soft: {
90
+ brand: 'rgba(124, 58, 237, 0.1)',
91
+ gray: 'rgba(156, 163, 175, 0.1)',
92
+ },
93
+ },
94
+
95
+ typography: {
96
+ fontFamily: {
97
+ sans: "'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif",
98
+ mono: "'JetBrains Mono', 'Fira Code', 'Consolas', 'Monaco', 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': '6rem', // 96px
136
+ },
137
+ },
138
+
139
+ effects: {
140
+ shadows: {
141
+ '1': '0 1px 3px rgba(0, 0, 0, 0.05)',
142
+ '2': '0 4px 6px rgba(0, 0, 0, 0.07)',
143
+ '3': '0 10px 15px rgba(0, 0, 0, 0.1)',
144
+ '4': '0 20px 25px rgba(0, 0, 0, 0.15)',
145
+ '5': '0 25px 50px rgba(0, 0, 0, 0.25)',
146
+ },
147
+
148
+ borderRadius: {
149
+ sm: '6px',
150
+ md: '10px',
151
+ lg: '14px',
152
+ },
153
+
154
+ transitions: {
155
+ base: '0.15s ease',
156
+ fast: '0.1s ease',
157
+ slow: '0.25s ease',
158
+ },
159
+ },
160
+
161
+ layout: {
162
+ maxWidth: '1280px',
163
+ navbarHeight: '64px',
164
+ sidebarWidth: '280px',
165
+ tocWidth: '256px',
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: '64px',
180
+ padding: '0 28px',
181
+ background: 'rgba(255, 255, 255, 0.8)',
182
+ border: '#e5e7eb',
183
+ borderWidth: '1px',
184
+ shadow: '0 1px 3px rgba(0, 0, 0, 0.06)',
185
+ logoHeight: '28px',
186
+ itemPadding: '12px 16px',
187
+ itemGap: '6px',
188
+ },
189
+
190
+ sidebar: {
191
+ width: '280px',
192
+ padding: '28px 20px',
193
+ background: '#ffffff',
194
+ border: '#f3f4f6',
195
+ itemHeight: '40px', // Large touch targets
196
+ itemPadding: '10px 16px',
197
+ itemGap: '6px',
198
+ itemBorderRadius: '6px', // Modern rounded
199
+ itemFontSize: '15px',
200
+ itemFontWeight: 500,
201
+ activeBackground: 'rgba(124, 58, 237, 0.12)',
202
+ activeBorder: '3px solid #7c3aed',
203
+ hoverBackground: 'rgba(156, 163, 175, 0.08)',
204
+ categoryPadding: '12px 16px 8px',
205
+ categoryFontSize: '12px',
206
+ categoryFontWeight: 600,
207
+ categoryTextTransform: 'uppercase',
208
+ },
209
+
210
+ content: {
211
+ maxWidth: '760px',
212
+ padding: '36px 28px',
213
+ fontSize: '16px',
214
+ lineHeight: 1.75,
215
+ },
216
+
217
+ code: {
218
+ fontSize: '0.875em',
219
+ lineHeight: 1.6,
220
+ background: 'rgba(124, 58, 237, 0.08)',
221
+ color: '#7c3aed',
222
+ borderRadius: '5px',
223
+ padding: '3px 7px',
224
+ blockPadding: '22px 26px',
225
+ blockBorderRadius: '8px',
226
+ },
227
+
228
+ heading: {
229
+ h1FontSize: '2.125rem',
230
+ h2FontSize: '1.625rem',
231
+ h3FontSize: '1.3rem',
232
+ h4FontSize: '1.125rem',
233
+ h1FontWeight: 700,
234
+ h2FontWeight: 600,
235
+ h3FontWeight: 600,
236
+ h1LineHeight: 1.25,
237
+ h2LineHeight: 1.35,
238
+ h3LineHeight: 1.4,
239
+ marginTop: '28px',
240
+ marginBottom: '18px',
241
+ },
242
+ },
243
+ };
244
+
245
+ /**
246
+ * Dark mode override for RsPress
247
+ */
248
+ export const rspressDark: Partial<DesignSystem> = {
249
+ colors: {
250
+ // Primary brand color (Purple - dark mode, more vibrant)
251
+ primary: {
252
+ '1': '#a78bfa',
253
+ '2': '#c4b5fd',
254
+ '3': '#7c3aed',
255
+ soft: 'rgba(167, 139, 250, 0.15)',
256
+ },
257
+
258
+ success: {
259
+ '1': '#6ee7b7',
260
+ '2': '#34d399',
261
+ '3': '#059669',
262
+ soft: 'rgba(110, 231, 183, 0.15)',
263
+ },
264
+
265
+ warning: {
266
+ '1': '#fcd34d',
267
+ '2': '#fbbf24',
268
+ '3': '#d97706',
269
+ soft: 'rgba(252, 211, 77, 0.15)',
270
+ },
271
+
272
+ danger: {
273
+ '1': '#fca5a5',
274
+ '2': '#f87171',
275
+ '3': '#dc2626',
276
+ soft: 'rgba(252, 165, 165, 0.15)',
277
+ },
278
+
279
+ info: {
280
+ '1': '#93c5fd',
281
+ '2': '#60a5fa',
282
+ '3': '#2563eb',
283
+ soft: 'rgba(147, 197, 253, 0.15)',
284
+ },
285
+
286
+ // Gray scale (Dark mode)
287
+ gray: {
288
+ '1': '#4b5563',
289
+ '2': '#374151',
290
+ '3': '#1f2937',
291
+ soft: 'rgba(107, 114, 128, 0.15)',
292
+ },
293
+
294
+ // Background colors (Dark mode)
295
+ bg: {
296
+ default: '#111827',
297
+ alt: '#1f2937',
298
+ elevated: '#1f2937',
299
+ soft: '#1f2937',
300
+ },
301
+
302
+ // Text colors (Dark mode)
303
+ text: {
304
+ '1': '#f9fafb',
305
+ '2': '#d1d5db',
306
+ '3': '#9ca3af',
307
+ },
308
+
309
+ // Border colors (Dark mode)
310
+ border: {
311
+ default: '#374151',
312
+ divider: '#1f2937',
313
+ gutter: '#1f2937',
314
+ },
315
+
316
+ // Divider (Dark mode)
317
+ divider: '#1f2937',
318
+
319
+ // Soft backgrounds (Dark mode)
320
+ soft: {
321
+ brand: 'rgba(167, 139, 250, 0.15)',
322
+ gray: 'rgba(107, 114, 128, 0.15)',
323
+ },
324
+ },
325
+
326
+ components: {
327
+ navbar: {
328
+ background: 'rgba(17, 24, 39, 0.8)',
329
+ border: '#374151',
330
+ },
331
+
332
+ sidebar: {
333
+ background: '#111827',
334
+ },
335
+
336
+ code: {
337
+ background: 'rgba(167, 139, 250, 0.1)',
338
+ color: '#a78bfa',
339
+ },
340
+ },
341
+ };
@@ -0,0 +1,296 @@
1
+ /**
2
+ * MarkoPress Design System Types
3
+ * Flexible theming architecture for switching between documentation site styles
4
+ */
5
+
6
+ /**
7
+ * Complete design system definition
8
+ */
9
+ export interface DesignSystem {
10
+ name: string;
11
+ version: string;
12
+ description?: string;
13
+
14
+ // Color tokens
15
+ colors: ColorTokens;
16
+
17
+ // Typography
18
+ typography: TypographyTokens;
19
+
20
+ // Spacing
21
+ spacing: SpacingTokens;
22
+
23
+ // Effects
24
+ effects: EffectTokens;
25
+
26
+ // Layout
27
+ layout: LayoutTokens;
28
+
29
+ // Component-specific overrides
30
+ components?: ComponentTokens;
31
+ }
32
+
33
+ /**
34
+ * Color tokens
35
+ */
36
+ export interface ColorTokens {
37
+ // Semantic colors
38
+ primary: ColorScale;
39
+ success: ColorScale;
40
+ warning: ColorScale;
41
+ danger: ColorScale;
42
+ info: ColorScale;
43
+
44
+ // Gray scale
45
+ gray: GrayScaleTokens;
46
+
47
+ // Background colors
48
+ bg: BackgroundTokens;
49
+
50
+ // Text colors
51
+ text: TextTokens;
52
+
53
+ // Border colors
54
+ border: BorderTokens;
55
+
56
+ // Divider colors
57
+ divider: string;
58
+
59
+ // Soft backgrounds (for highlighting)
60
+ soft: {
61
+ brand: string;
62
+ gray: string;
63
+ };
64
+ }
65
+
66
+ /**
67
+ * Color scale with 3 levels (light, normal, dark variants)
68
+ */
69
+ export interface ColorScale {
70
+ '1': string; // Lightest (for dark mode text)
71
+ '2': string; // Light
72
+ '3': string; // Normal (base color)
73
+ soft: string; // Soft background variant
74
+ }
75
+
76
+ /**
77
+ * Gray scale tokens
78
+ */
79
+ export interface GrayScaleTokens {
80
+ '1': string;
81
+ '2': string;
82
+ '3': string;
83
+ soft: string;
84
+ }
85
+
86
+ /**
87
+ * Background color tokens
88
+ */
89
+ export interface BackgroundTokens {
90
+ default: string; // Main background
91
+ alt: string; // Alternative background
92
+ elevated: string; // Elevated surfaces (cards, modals)
93
+ soft: string; // Soft background for sections
94
+ }
95
+
96
+ /**
97
+ * Text color tokens
98
+ */
99
+ export interface TextTokens {
100
+ '1': string; // Primary text
101
+ '2': string; // Muted text
102
+ '3': string; // Subtle text
103
+ code?: string; // Inline code
104
+ }
105
+
106
+ /**
107
+ * Border color tokens
108
+ */
109
+ export interface BorderTokens {
110
+ default: string; // Interactive borders
111
+ divider: string; // Separator lines
112
+ gutter: string; // Component dividers
113
+ }
114
+
115
+ /**
116
+ * Typography tokens
117
+ */
118
+ export interface TypographyTokens {
119
+ // Font families
120
+ fontFamily: {
121
+ sans: string;
122
+ mono: string;
123
+ };
124
+
125
+ // Font sizes
126
+ fontSize: {
127
+ xs: string;
128
+ sm: string;
129
+ base: string;
130
+ lg: string;
131
+ xl: string;
132
+ '2xl': string;
133
+ '3xl': string;
134
+ '4xl': string;
135
+ };
136
+
137
+ // Font weights
138
+ fontWeight: {
139
+ normal: number;
140
+ medium: number;
141
+ semibold: number;
142
+ bold: number;
143
+ };
144
+
145
+ // Line heights
146
+ lineHeight: {
147
+ tight: number;
148
+ normal: number;
149
+ relaxed: number;
150
+ };
151
+
152
+ // Letter spacing (optional)
153
+ letterSpacing?: {
154
+ tight?: string;
155
+ normal?: string;
156
+ wide?: string;
157
+ };
158
+ }
159
+
160
+ /**
161
+ * Spacing tokens
162
+ */
163
+ export interface SpacingTokens {
164
+ scale: {
165
+ xs: string;
166
+ sm: string;
167
+ md: string;
168
+ lg: string;
169
+ xl: string;
170
+ '2xl': string;
171
+ '3xl': string;
172
+ '4xl': string;
173
+ };
174
+ }
175
+
176
+ /**
177
+ * Effect tokens (shadows, radius, transitions)
178
+ */
179
+ export interface EffectTokens {
180
+ // Shadow scale
181
+ shadows: {
182
+ '1': string;
183
+ '2': string;
184
+ '3': string;
185
+ '4': string;
186
+ '5': string;
187
+ };
188
+
189
+ // Border radius
190
+ borderRadius: {
191
+ sm: string;
192
+ md: string;
193
+ lg: string;
194
+ full?: string;
195
+ };
196
+
197
+ // Transitions
198
+ transitions: {
199
+ base?: string;
200
+ fast?: string;
201
+ slow?: string;
202
+ };
203
+ }
204
+
205
+ /**
206
+ * Layout tokens
207
+ */
208
+ export interface LayoutTokens {
209
+ // Dimensions
210
+ maxWidth: string;
211
+ navbarHeight: string;
212
+ sidebarWidth: string;
213
+ tocWidth?: string;
214
+
215
+ // Z-index scale
216
+ zIndex: {
217
+ footer: number;
218
+ localNav: number;
219
+ nav: number;
220
+ layoutTop: number;
221
+ backdrop: number;
222
+ sidebar: number;
223
+ };
224
+ }
225
+
226
+ /**
227
+ * Component-specific tokens (optional)
228
+ */
229
+ export interface ComponentTokens {
230
+ navbar?: {
231
+ height?: string;
232
+ padding?: string;
233
+ background?: string;
234
+ border?: string;
235
+ borderWidth?: string;
236
+ shadow?: string;
237
+ logoHeight?: string;
238
+ itemPadding?: string;
239
+ itemGap?: string;
240
+ };
241
+
242
+ sidebar?: {
243
+ width?: string;
244
+ padding?: string;
245
+ background?: string;
246
+ border?: string;
247
+ itemHeight?: string;
248
+ itemPadding?: string;
249
+ itemGap?: string;
250
+ itemBorderRadius?: string;
251
+ itemFontSize?: string;
252
+ itemFontWeight?: number;
253
+ activeBackground?: string;
254
+ activeBorder?: string;
255
+ hoverBackground?: string;
256
+ categoryPadding?: string;
257
+ categoryFontSize?: string;
258
+ categoryFontWeight?: number;
259
+ categoryTextTransform?: string;
260
+ };
261
+
262
+ content?: {
263
+ maxWidth?: string;
264
+ padding?: string;
265
+ fontSize?: string;
266
+ lineHeight?: number;
267
+ };
268
+
269
+ code?: {
270
+ fontSize?: string;
271
+ lineHeight?: number;
272
+ background?: string;
273
+ color?: string;
274
+ borderRadius?: string;
275
+ padding?: string;
276
+ blockPadding?: string;
277
+ blockBorderRadius?: string;
278
+ };
279
+
280
+ heading?: {
281
+ h1FontSize?: string;
282
+ h2FontSize?: string;
283
+ h3FontSize?: string;
284
+ h4FontSize?: string;
285
+ h1FontWeight?: number;
286
+ h2FontWeight?: number;
287
+ h3FontWeight?: number;
288
+ h1LineHeight?: number;
289
+ h2LineHeight?: number;
290
+ h3LineHeight?: number;
291
+ marginTop?: string;
292
+ marginBottom?: string;
293
+ };
294
+
295
+ [key: string]: any;
296
+ }