pd-markdown 1.0.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 (235) hide show
  1. package/package.json +26 -0
  2. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/index.d.ts +4 -0
  3. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/index.d.ts.map +1 -0
  4. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/index.js +5 -0
  5. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/index.js.map +1 -0
  6. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/index.d.ts +4 -0
  7. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/index.d.ts.map +1 -0
  8. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/index.js +4 -0
  9. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/index.js.map +1 -0
  10. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/transform/heading.d.ts +6 -0
  11. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/transform/heading.d.ts.map +1 -0
  12. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/transform/heading.js +36 -0
  13. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/transform/heading.js.map +1 -0
  14. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/transform/list.d.ts +14 -0
  15. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/transform/list.d.ts.map +1 -0
  16. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/transform/list.js +18 -0
  17. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/transform/list.js.map +1 -0
  18. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/transform/table.d.ts +27 -0
  19. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/transform/table.d.ts.map +1 -0
  20. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/transform/table.js +37 -0
  21. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/plugins/transform/table.js.map +1 -0
  22. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/processor.d.ts +22 -0
  23. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/processor.d.ts.map +1 -0
  24. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/processor.js +95 -0
  25. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/processor.js.map +1 -0
  26. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/types/index.d.ts +55 -0
  27. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/types/index.d.ts.map +1 -0
  28. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/types/index.js +2 -0
  29. package/packages/parser/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/parser/dist/types/index.js.map +1 -0
  30. package/packages/parser/__tests__/frontmatter.test.ts +69 -0
  31. package/packages/parser/__tests__/gfm.test.ts +83 -0
  32. package/packages/parser/__tests__/processor.test.ts +136 -0
  33. package/packages/parser/__tests__/transform/heading.test.ts +56 -0
  34. package/packages/parser/__tests__/transform/list.test.ts +67 -0
  35. package/packages/parser/__tests__/transform/table.test.ts +85 -0
  36. package/packages/parser/dist/index.cjs +191 -0
  37. package/packages/parser/dist/index.cjs.map +1 -0
  38. package/packages/parser/dist/index.d.ts +4 -0
  39. package/packages/parser/dist/index.d.ts.map +1 -0
  40. package/packages/parser/dist/index.mjs +185 -0
  41. package/packages/parser/dist/index.mjs.map +1 -0
  42. package/packages/parser/dist/plugins/index.d.ts +4 -0
  43. package/packages/parser/dist/plugins/index.d.ts.map +1 -0
  44. package/packages/parser/dist/plugins/transform/heading.d.ts +6 -0
  45. package/packages/parser/dist/plugins/transform/heading.d.ts.map +1 -0
  46. package/packages/parser/dist/plugins/transform/list.d.ts +14 -0
  47. package/packages/parser/dist/plugins/transform/list.d.ts.map +1 -0
  48. package/packages/parser/dist/plugins/transform/table.d.ts +27 -0
  49. package/packages/parser/dist/plugins/transform/table.d.ts.map +1 -0
  50. package/packages/parser/dist/processor.d.ts +22 -0
  51. package/packages/parser/dist/processor.d.ts.map +1 -0
  52. package/packages/parser/dist/types/index.d.ts +55 -0
  53. package/packages/parser/dist/types/index.d.ts.map +1 -0
  54. package/packages/parser/node_modules/.bin/yaml +17 -0
  55. package/packages/parser/package.json +38 -0
  56. package/packages/parser/rollup.config.ts +38 -0
  57. package/packages/parser/src/index.ts +15 -0
  58. package/packages/parser/src/plugins/index.ts +3 -0
  59. package/packages/parser/src/plugins/transform/heading.ts +40 -0
  60. package/packages/parser/src/plugins/transform/list.ts +29 -0
  61. package/packages/parser/src/plugins/transform/table.ts +62 -0
  62. package/packages/parser/src/processor.ts +119 -0
  63. package/packages/parser/src/types/index.ts +60 -0
  64. package/packages/parser/tsconfig.json +9 -0
  65. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/ast/query.d.ts +36 -0
  66. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/ast/query.d.ts.map +1 -0
  67. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/ast/query.js +99 -0
  68. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/ast/query.js.map +1 -0
  69. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/ast/traverse.d.ts +22 -0
  70. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/ast/traverse.d.ts.map +1 -0
  71. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/ast/traverse.js +46 -0
  72. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/ast/traverse.js.map +1 -0
  73. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/index.d.ts +7 -0
  74. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/index.d.ts.map +1 -0
  75. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/index.js +8 -0
  76. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/index.js.map +1 -0
  77. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/string/sanitize.d.ts +22 -0
  78. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/string/sanitize.d.ts.map +1 -0
  79. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/string/sanitize.js +140 -0
  80. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/string/sanitize.js.map +1 -0
  81. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/string/slugify.d.ts +16 -0
  82. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/string/slugify.d.ts.map +1 -0
  83. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/string/slugify.js +39 -0
  84. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/string/slugify.js.map +1 -0
  85. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/types/index.d.ts +49 -0
  86. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/types/index.d.ts.map +1 -0
  87. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/types/index.js +19 -0
  88. package/packages/utils/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/utils/dist/types/index.js.map +1 -0
  89. package/packages/utils/__tests__/query.test.ts +155 -0
  90. package/packages/utils/__tests__/sanitize.test.ts +96 -0
  91. package/packages/utils/__tests__/slugify.test.ts +71 -0
  92. package/packages/utils/__tests__/traverse.test.ts +131 -0
  93. package/packages/utils/dist/ast/query.d.ts +36 -0
  94. package/packages/utils/dist/ast/query.d.ts.map +1 -0
  95. package/packages/utils/dist/ast/traverse.d.ts +22 -0
  96. package/packages/utils/dist/ast/traverse.d.ts.map +1 -0
  97. package/packages/utils/dist/index.cjs +358 -0
  98. package/packages/utils/dist/index.cjs.map +1 -0
  99. package/packages/utils/dist/index.d.ts +7 -0
  100. package/packages/utils/dist/index.d.ts.map +1 -0
  101. package/packages/utils/dist/index.mjs +343 -0
  102. package/packages/utils/dist/index.mjs.map +1 -0
  103. package/packages/utils/dist/string/sanitize.d.ts +22 -0
  104. package/packages/utils/dist/string/sanitize.d.ts.map +1 -0
  105. package/packages/utils/dist/string/slugify.d.ts +16 -0
  106. package/packages/utils/dist/string/slugify.d.ts.map +1 -0
  107. package/packages/utils/dist/types/index.d.ts +49 -0
  108. package/packages/utils/dist/types/index.d.ts.map +1 -0
  109. package/packages/utils/package.json +27 -0
  110. package/packages/utils/rollup.config.ts +26 -0
  111. package/packages/utils/src/ast/query.ts +127 -0
  112. package/packages/utils/src/ast/traverse.ts +73 -0
  113. package/packages/utils/src/index.ts +20 -0
  114. package/packages/utils/src/string/sanitize.ts +155 -0
  115. package/packages/utils/src/string/slugify.ts +43 -0
  116. package/packages/utils/src/types/index.ts +72 -0
  117. package/packages/utils/tsconfig.json +8 -0
  118. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/MarkdownRenderer.d.ts +27 -0
  119. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/MarkdownRenderer.d.ts.map +1 -0
  120. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/MarkdownRenderer.js +39 -0
  121. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/MarkdownRenderer.js.map +1 -0
  122. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/NodeRenderer.d.ts +10 -0
  123. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/NodeRenderer.d.ts.map +1 -0
  124. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/NodeRenderer.js +130 -0
  125. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/NodeRenderer.js.map +1 -0
  126. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/context.d.ts +17 -0
  127. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/context.d.ts.map +1 -0
  128. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/context.js +14 -0
  129. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/context.js.map +1 -0
  130. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Blockquote.d.ts +8 -0
  131. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Blockquote.d.ts.map +1 -0
  132. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Blockquote.js +5 -0
  133. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Blockquote.js.map +1 -0
  134. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Code.d.ts +13 -0
  135. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Code.d.ts.map +1 -0
  136. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Code.js +9 -0
  137. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Code.js.map +1 -0
  138. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Heading.d.ts +8 -0
  139. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Heading.d.ts.map +1 -0
  140. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Heading.js +7 -0
  141. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Heading.js.map +1 -0
  142. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Image.d.ts +7 -0
  143. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Image.d.ts.map +1 -0
  144. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Image.js +5 -0
  145. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Image.js.map +1 -0
  146. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Link.d.ts +8 -0
  147. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Link.d.ts.map +1 -0
  148. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Link.js +7 -0
  149. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Link.js.map +1 -0
  150. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/List.d.ts +13 -0
  151. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/List.d.ts.map +1 -0
  152. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/List.js +14 -0
  153. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/List.js.map +1 -0
  154. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Paragraph.d.ts +8 -0
  155. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Paragraph.d.ts.map +1 -0
  156. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Paragraph.js +5 -0
  157. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Paragraph.js.map +1 -0
  158. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Table.d.ts +19 -0
  159. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Table.d.ts.map +1 -0
  160. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Table.js +18 -0
  161. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/Table.js.map +1 -0
  162. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/index.d.ts +34 -0
  163. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/index.d.ts.map +1 -0
  164. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/index.js +28 -0
  165. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/components/defaults/index.js.map +1 -0
  166. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/hooks/useMarkdown.d.ts +11 -0
  167. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/hooks/useMarkdown.d.ts.map +1 -0
  168. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/hooks/useMarkdown.js +28 -0
  169. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/hooks/useMarkdown.js.map +1 -0
  170. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/index.d.ts +6 -0
  171. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/index.d.ts.map +1 -0
  172. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/index.js +9 -0
  173. package/packages/web/.rollup.cache/Users/pidan/Work/Learn/pd-markdown/packages/web/dist/index.js.map +1 -0
  174. package/packages/web/__tests__/MarkdownRenderer.test.tsx +89 -0
  175. package/packages/web/__tests__/NodeRenderer.test.tsx +97 -0
  176. package/packages/web/__tests__/components/Code.test.tsx +71 -0
  177. package/packages/web/__tests__/components/Heading.test.tsx +65 -0
  178. package/packages/web/__tests__/components/List.test.tsx +100 -0
  179. package/packages/web/__tests__/components/Table.test.tsx +105 -0
  180. package/packages/web/__tests__/useMarkdown.test.ts +63 -0
  181. package/packages/web/dist/components/MarkdownRenderer.d.ts +27 -0
  182. package/packages/web/dist/components/MarkdownRenderer.d.ts.map +1 -0
  183. package/packages/web/dist/components/NodeRenderer.d.ts +10 -0
  184. package/packages/web/dist/components/NodeRenderer.d.ts.map +1 -0
  185. package/packages/web/dist/components/context.d.ts +17 -0
  186. package/packages/web/dist/components/context.d.ts.map +1 -0
  187. package/packages/web/dist/components/defaults/Blockquote.d.ts +8 -0
  188. package/packages/web/dist/components/defaults/Blockquote.d.ts.map +1 -0
  189. package/packages/web/dist/components/defaults/Code.d.ts +13 -0
  190. package/packages/web/dist/components/defaults/Code.d.ts.map +1 -0
  191. package/packages/web/dist/components/defaults/Heading.d.ts +8 -0
  192. package/packages/web/dist/components/defaults/Heading.d.ts.map +1 -0
  193. package/packages/web/dist/components/defaults/Image.d.ts +7 -0
  194. package/packages/web/dist/components/defaults/Image.d.ts.map +1 -0
  195. package/packages/web/dist/components/defaults/Link.d.ts +8 -0
  196. package/packages/web/dist/components/defaults/Link.d.ts.map +1 -0
  197. package/packages/web/dist/components/defaults/List.d.ts +13 -0
  198. package/packages/web/dist/components/defaults/List.d.ts.map +1 -0
  199. package/packages/web/dist/components/defaults/Paragraph.d.ts +8 -0
  200. package/packages/web/dist/components/defaults/Paragraph.d.ts.map +1 -0
  201. package/packages/web/dist/components/defaults/Table.d.ts +19 -0
  202. package/packages/web/dist/components/defaults/Table.d.ts.map +1 -0
  203. package/packages/web/dist/components/defaults/index.d.ts +34 -0
  204. package/packages/web/dist/components/defaults/index.d.ts.map +1 -0
  205. package/packages/web/dist/hooks/useMarkdown.d.ts +11 -0
  206. package/packages/web/dist/hooks/useMarkdown.d.ts.map +1 -0
  207. package/packages/web/dist/index.cjs +306 -0
  208. package/packages/web/dist/index.cjs.map +1 -0
  209. package/packages/web/dist/index.d.ts +6 -0
  210. package/packages/web/dist/index.d.ts.map +1 -0
  211. package/packages/web/dist/index.mjs +287 -0
  212. package/packages/web/dist/index.mjs.map +1 -0
  213. package/packages/web/package.json +40 -0
  214. package/packages/web/rollup.config.ts +36 -0
  215. package/packages/web/src/components/MarkdownRenderer.tsx +70 -0
  216. package/packages/web/src/components/NodeRenderer.tsx +205 -0
  217. package/packages/web/src/components/context.ts +24 -0
  218. package/packages/web/src/components/defaults/Blockquote.tsx +11 -0
  219. package/packages/web/src/components/defaults/Code.tsx +26 -0
  220. package/packages/web/src/components/defaults/Heading.tsx +14 -0
  221. package/packages/web/src/components/defaults/Image.tsx +10 -0
  222. package/packages/web/src/components/defaults/Link.tsx +18 -0
  223. package/packages/web/src/components/defaults/List.tsx +33 -0
  224. package/packages/web/src/components/defaults/Paragraph.tsx +11 -0
  225. package/packages/web/src/components/defaults/Table.tsx +50 -0
  226. package/packages/web/src/components/defaults/index.tsx +80 -0
  227. package/packages/web/src/hooks/useMarkdown.ts +32 -0
  228. package/packages/web/src/index.ts +37 -0
  229. package/packages/web/tsconfig.json +11 -0
  230. package/packages/web/vitest.config.ts +9 -0
  231. package/pnpm-workspace.yaml +2 -0
  232. package/tsconfig.base.json +26 -0
  233. package/tsconfig.json +8 -0
  234. package/vitest.config.ts +28 -0
  235. package/vitest.setup.ts +1 -0
@@ -0,0 +1,136 @@
1
+ import { describe, it, expect } from 'vitest'
2
+ import { createParser, definePlugin } from '../src/processor'
3
+ import type { Root, Heading, Paragraph } from 'mdast'
4
+
5
+ describe('createParser', () => {
6
+ it('should parse basic markdown', () => {
7
+ const parser = createParser()
8
+ const ast = parser.parse('# Hello World')
9
+
10
+ expect(ast.type).toBe('root')
11
+ expect(ast.children).toHaveLength(1)
12
+ expect(ast.children[0].type).toBe('heading')
13
+ })
14
+
15
+ it('should parse paragraphs', () => {
16
+ const parser = createParser()
17
+ const ast = parser.parse('Hello world\n\nSecond paragraph')
18
+
19
+ expect(ast.children).toHaveLength(2)
20
+ expect(ast.children[0].type).toBe('paragraph')
21
+ expect(ast.children[1].type).toBe('paragraph')
22
+ })
23
+
24
+ it('should parse inline elements', () => {
25
+ const parser = createParser()
26
+ const ast = parser.parse('Hello **bold** and *italic*')
27
+
28
+ const paragraph = ast.children[0] as Paragraph
29
+ expect(paragraph.children).toHaveLength(4)
30
+ expect(paragraph.children[1].type).toBe('strong')
31
+ expect(paragraph.children[3].type).toBe('emphasis')
32
+ })
33
+
34
+ it('should parse code blocks', () => {
35
+ const parser = createParser()
36
+ const ast = parser.parse('```js\nconsole.log("hello")\n```')
37
+
38
+ expect(ast.children[0].type).toBe('code')
39
+ })
40
+
41
+ it('should parse links and images', () => {
42
+ const parser = createParser()
43
+ const ast = parser.parse('[Link](https://example.com) ![Image](image.png)')
44
+
45
+ const paragraph = ast.children[0] as Paragraph
46
+ expect(paragraph.children[0].type).toBe('link')
47
+ expect(paragraph.children[2].type).toBe('image')
48
+ })
49
+ })
50
+
51
+ describe('createParser with GFM', () => {
52
+ it('should parse tables when gfm is enabled', () => {
53
+ const parser = createParser({ gfm: true })
54
+ const ast = parser.parse('| A | B |\n|---|---|\n| 1 | 2 |')
55
+
56
+ expect(ast.children[0].type).toBe('table')
57
+ })
58
+
59
+ it('should parse task lists', () => {
60
+ const parser = createParser({ gfm: true })
61
+ const ast = parser.parse('- [x] Done\n- [ ] Todo')
62
+
63
+ expect(ast.children[0].type).toBe('list')
64
+ })
65
+
66
+ it('should parse strikethrough', () => {
67
+ const parser = createParser({ gfm: true })
68
+ const ast = parser.parse('~~deleted~~')
69
+
70
+ const paragraph = ast.children[0] as Paragraph
71
+ expect(paragraph.children[0].type).toBe('delete')
72
+ })
73
+
74
+ it('should not parse GFM syntax when disabled', () => {
75
+ const parser = createParser({ gfm: false })
76
+ const ast = parser.parse('~~not deleted~~')
77
+
78
+ const paragraph = ast.children[0] as Paragraph
79
+ // Should be plain text, not delete node
80
+ expect(paragraph.children[0].type).toBe('text')
81
+ })
82
+ })
83
+
84
+ describe('createParser with frontmatter', () => {
85
+ it('should parse YAML frontmatter', () => {
86
+ const parser = createParser({ frontmatter: true })
87
+ const ast = parser.parse('---\ntitle: Hello\nauthor: John\n---\n\n# Content')
88
+
89
+ // Frontmatter should be in AST
90
+ expect(ast.children[0].type).toBe('yaml')
91
+ })
92
+
93
+ it('should not parse frontmatter when disabled', () => {
94
+ const parser = createParser({ frontmatter: false })
95
+ const ast = parser.parse('---\ntitle: Hello\n---\n\n# Content')
96
+
97
+ // Should be treated as thematic break
98
+ expect(ast.children[0].type).toBe('thematicBreak')
99
+ })
100
+ })
101
+
102
+ describe('createParser with custom plugins', () => {
103
+ it('should run before plugins', () => {
104
+ let visited = false
105
+ const plugin = definePlugin({
106
+ name: 'test-before',
107
+ phase: 'before',
108
+ transform: () => (tree) => {
109
+ visited = true
110
+ },
111
+ })
112
+
113
+ const parser = createParser({ plugins: [plugin] })
114
+ parser.parse('# Hello')
115
+
116
+ expect(visited).toBe(true)
117
+ })
118
+
119
+ it('should run after plugins', () => {
120
+ let headingHasSlug = false
121
+ const plugin = definePlugin({
122
+ name: 'test-after',
123
+ phase: 'after',
124
+ transform: () => (tree) => {
125
+ const heading = tree.children[0] as Heading
126
+ // After built-in transforms, heading should have slug
127
+ headingHasSlug = Boolean(heading.data?.id)
128
+ },
129
+ })
130
+
131
+ const parser = createParser({ plugins: [plugin] })
132
+ parser.parse('# Hello')
133
+
134
+ expect(headingHasSlug).toBe(true)
135
+ })
136
+ })
@@ -0,0 +1,56 @@
1
+ import { describe, it, expect } from 'vitest'
2
+ import { createParser } from '../../src/processor'
3
+ import type { Heading } from 'mdast'
4
+
5
+ describe('transformHeading', () => {
6
+ const parser = createParser()
7
+
8
+ it('should add slug to heading', () => {
9
+ const ast = parser.parse('# Hello World')
10
+
11
+ const heading = ast.children[0] as Heading;
12
+ console.log('heading =>', heading)
13
+ expect(heading.data?.id).toBe('hello-world')
14
+ })
15
+
16
+ it('should generate unique slugs for duplicate headings', () => {
17
+ const ast = parser.parse(`
18
+ # Hello
19
+ # Hello
20
+ # Hello
21
+ `.trim())
22
+
23
+ const headings = ast.children as Heading[]
24
+ expect(headings[0].data?.id).toBe('hello')
25
+ expect(headings[1].data?.id).toBe('hello-1')
26
+ expect(headings[2].data?.id).toBe('hello-2')
27
+ })
28
+
29
+ it('should handle headings with inline formatting', () => {
30
+ const ast = parser.parse('# Hello **bold** and *italic*')
31
+
32
+ const heading = ast.children[0] as Heading
33
+ expect(heading.data?.id).toBe('hello-bold-and-italic')
34
+ })
35
+
36
+ it('should handle headings with special characters', () => {
37
+ const ast = parser.parse('# What is Markdown?')
38
+
39
+ const heading = ast.children[0] as Heading
40
+ expect(heading.data?.id).toBe('what-is-markdown')
41
+ })
42
+
43
+ it('should handle Chinese headings', () => {
44
+ const ast = parser.parse('# 你好世界')
45
+
46
+ const heading = ast.children[0] as Heading
47
+ expect(heading.data?.id).toBe('你好世界')
48
+ })
49
+
50
+ it('should add hProperties for compatibility', () => {
51
+ const ast = parser.parse('# Test Heading')
52
+
53
+ const heading = ast.children[0] as Heading
54
+ expect((heading.data?.hProperties as any)?.id).toBe('test-heading')
55
+ })
56
+ })
@@ -0,0 +1,67 @@
1
+ import { describe, it, expect } from 'vitest'
2
+ import { createParser } from '../../src/processor'
3
+ import type { List, ListItem } from 'mdast'
4
+
5
+ describe('transformList', () => {
6
+ const parser = createParser()
7
+
8
+ it('should add index to unordered list items', () => {
9
+ const ast = parser.parse(`
10
+ - First
11
+ - Second
12
+ - Third
13
+ `.trim())
14
+
15
+ const list = ast.children[0] as List
16
+ expect(list.children[0].data?.index).toBe(0)
17
+ expect(list.children[1].data?.index).toBe(1)
18
+ expect(list.children[2].data?.index).toBe(2)
19
+ })
20
+
21
+ it('should add correct index to ordered list items', () => {
22
+ const ast = parser.parse(`
23
+ 1. First
24
+ 2. Second
25
+ 3. Third
26
+ `.trim())
27
+
28
+ const list = ast.children[0] as List
29
+ expect(list.ordered).toBe(true)
30
+ expect(list.children[0].data?.index).toBe(1)
31
+ expect(list.children[1].data?.index).toBe(2)
32
+ expect(list.children[2].data?.index).toBe(3)
33
+ })
34
+
35
+ it('should handle ordered list with custom start', () => {
36
+ const ast = parser.parse(`
37
+ 5. Fifth
38
+ 6. Sixth
39
+ 7. Seventh
40
+ `.trim())
41
+
42
+ const list = ast.children[0] as List
43
+ expect(list.start).toBe(5)
44
+ expect(list.children[0].data?.index).toBe(5)
45
+ expect(list.children[1].data?.index).toBe(6)
46
+ expect(list.children[2].data?.index).toBe(7)
47
+ })
48
+
49
+ it('should handle nested lists', () => {
50
+ const ast = parser.parse(`
51
+ - Parent
52
+ - Child 1
53
+ - Child 2
54
+ - Another parent
55
+ `.trim())
56
+
57
+ const outerList = ast.children[0] as List
58
+ expect(outerList.children[0].data?.index).toBe(0)
59
+ expect(outerList.children[1].data?.index).toBe(1)
60
+
61
+ // Check nested list
62
+ const parentItem = outerList.children[0] as ListItem
63
+ const nestedList = parentItem.children[1] as List
64
+ expect(nestedList.children[0].data?.index).toBe(0)
65
+ expect(nestedList.children[1].data?.index).toBe(1)
66
+ })
67
+ })
@@ -0,0 +1,85 @@
1
+ import { describe, it, expect } from 'vitest'
2
+ import { createParser } from '../../src/processor'
3
+ import type { Table, TableRow, TableCell } from 'mdast'
4
+
5
+ describe('transformTable', () => {
6
+ const parser = createParser({ gfm: true })
7
+
8
+ it('should mark header cells', () => {
9
+ const ast = parser.parse(`
10
+ | A | B |
11
+ |---|---|
12
+ | 1 | 2 |
13
+ `.trim())
14
+
15
+ const table = ast.children[0] as Table
16
+ const headerRow = table.children[0] as TableRow
17
+ const headerCell = headerRow.children[0] as TableCell
18
+
19
+ expect(headerCell.data?.isHeader).toBe(true)
20
+ })
21
+
22
+ it('should mark body cells', () => {
23
+ const ast = parser.parse(`
24
+ | A | B |
25
+ |---|---|
26
+ | 1 | 2 |
27
+ `.trim())
28
+
29
+ const table = ast.children[0] as Table
30
+ const bodyRow = table.children[1] as TableRow
31
+ const bodyCell = bodyRow.children[0] as TableCell
32
+
33
+ expect(bodyCell.data?.isHeader).toBe(false)
34
+ })
35
+
36
+ it('should add alignment info to cells', () => {
37
+ const ast = parser.parse(`
38
+ | Left | Center | Right |
39
+ |:-----|:------:|------:|
40
+ | L | C | R |
41
+ `.trim())
42
+
43
+ const table = ast.children[0] as Table
44
+ const headerRow = table.children[0] as TableRow
45
+
46
+ expect(headerRow.children[0].data?.align).toBe('left')
47
+ expect(headerRow.children[1].data?.align).toBe('center')
48
+ expect(headerRow.children[2].data?.align).toBe('right')
49
+
50
+ // Body cells should also have alignment
51
+ const bodyRow = table.children[1] as TableRow
52
+ expect(bodyRow.children[0].data?.align).toBe('left')
53
+ expect(bodyRow.children[1].data?.align).toBe('center')
54
+ expect(bodyRow.children[2].data?.align).toBe('right')
55
+ })
56
+
57
+ it('should add column index to cells', () => {
58
+ const ast = parser.parse(`
59
+ | A | B | C |
60
+ |---|---|---|
61
+ | 1 | 2 | 3 |
62
+ `.trim())
63
+
64
+ const table = ast.children[0] as Table
65
+ const headerRow = table.children[0] as TableRow
66
+
67
+ expect(headerRow.children[0].data?.columnIndex).toBe(0)
68
+ expect(headerRow.children[1].data?.columnIndex).toBe(1)
69
+ expect(headerRow.children[2].data?.columnIndex).toBe(2)
70
+ })
71
+
72
+ it('should store header and body in table data', () => {
73
+ const ast = parser.parse(`
74
+ | Header |
75
+ |--------|
76
+ | Body 1 |
77
+ | Body 2 |
78
+ `.trim())
79
+
80
+ const table = ast.children[0] as Table
81
+
82
+ expect(table.data?.header).toBeDefined()
83
+ expect(table.data?.body).toHaveLength(2)
84
+ })
85
+ })
@@ -0,0 +1,191 @@
1
+ 'use strict';
2
+
3
+ var unified = require('unified');
4
+ var remarkParse = require('remark-parse');
5
+ var remarkGfm = require('remark-gfm');
6
+ var remarkFrontmatter = require('remark-frontmatter');
7
+ var unistUtilVisit = require('unist-util-visit');
8
+ var yaml = require('yaml');
9
+ var utils = require('@pd-markdown/utils');
10
+
11
+ /**
12
+ * Extract text content from phrasing content nodes
13
+ */
14
+ function extractText(nodes) {
15
+ return nodes
16
+ .map((node) => {
17
+ if (node.type === 'text') {
18
+ return node.value;
19
+ }
20
+ if ('children' in node) {
21
+ return extractText(node.children);
22
+ }
23
+ return '';
24
+ })
25
+ .join('');
26
+ }
27
+ /**
28
+ * Transform plugin that adds slug IDs to headings
29
+ */
30
+ function transformHeading(tree) {
31
+ const slugs = new Set();
32
+ unistUtilVisit.visit(tree, 'heading', (node) => {
33
+ const text = extractText(node.children);
34
+ const slug = utils.uniqueSlugify(text, slugs);
35
+ // Add data.id to the heading node
36
+ const data = (node.data || {});
37
+ data.id = slug;
38
+ const hProperties = (data.hProperties || {});
39
+ hProperties.id = slug;
40
+ data.hProperties = hProperties;
41
+ node.data = data;
42
+ });
43
+ }
44
+
45
+ /**
46
+ * Transform plugin that adds index to list items
47
+ */
48
+ function transformList(tree) {
49
+ unistUtilVisit.visit(tree, 'list', (node) => {
50
+ node.children.forEach((item, index) => {
51
+ item.data = item.data || {};
52
+ item.data.index = index;
53
+ // For ordered lists, also store the actual number
54
+ if (node.ordered) {
55
+ const start = node.start ?? 1;
56
+ item.data.index = start + index;
57
+ }
58
+ });
59
+ });
60
+ }
61
+
62
+ /**
63
+ * Transform plugin that enhances table structure
64
+ * - Separates header and body rows
65
+ * - Adds alignment and index info to cells
66
+ */
67
+ function transformTable(tree) {
68
+ unistUtilVisit.visit(tree, 'table', (node) => {
69
+ if (node.children.length === 0)
70
+ return;
71
+ const [headerRow, ...bodyRows] = node.children;
72
+ const align = node.align || [];
73
+ // Mark header row and cells
74
+ if (headerRow) {
75
+ headerRow.children.forEach((cell, index) => {
76
+ cell.data = cell.data || {};
77
+ cell.data.isHeader = true;
78
+ cell.data.align = align[index] || null;
79
+ cell.data.columnIndex = index;
80
+ });
81
+ }
82
+ // Mark body cells
83
+ bodyRows.forEach((row) => {
84
+ row.children.forEach((cell, index) => {
85
+ cell.data = cell.data || {};
86
+ cell.data.isHeader = false;
87
+ cell.data.align = align[index] || null;
88
+ cell.data.columnIndex = index;
89
+ });
90
+ });
91
+ // Store structured data on table node
92
+ node.data = node.data || {};
93
+ node.data.header = headerRow;
94
+ node.data.body = bodyRows;
95
+ });
96
+ }
97
+
98
+ /**
99
+ * Default parser options
100
+ */
101
+ const DEFAULT_OPTIONS = {
102
+ gfm: true,
103
+ frontmatter: true,
104
+ };
105
+ /**
106
+ * Create frontmatter extraction plugin
107
+ */
108
+ function extractFrontmatter() {
109
+ return (tree, file) => {
110
+ unistUtilVisit.visit(tree, 'yaml', (node) => {
111
+ try {
112
+ const data = yaml.parse(node.value);
113
+ file.data.frontmatter = data;
114
+ }
115
+ catch {
116
+ // Invalid YAML, ignore
117
+ }
118
+ });
119
+ };
120
+ }
121
+ /**
122
+ * Create a markdown parser with the specified options
123
+ *
124
+ * @param options - Parser configuration options
125
+ * @returns Parser instance with parse method
126
+ */
127
+ function createParser(options = {}) {
128
+ const opts = { ...DEFAULT_OPTIONS, ...options };
129
+ const customPlugins = options.plugins || [];
130
+ // Build processor (使用 any 绕过复杂的类型检查)
131
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
132
+ let processor = unified.unified().use(remarkParse);
133
+ // Add GFM support
134
+ if (opts.gfm) {
135
+ processor = processor.use(remarkGfm);
136
+ }
137
+ // Add frontmatter support
138
+ if (opts.frontmatter) {
139
+ processor = processor.use(remarkFrontmatter, ['yaml']);
140
+ }
141
+ // Run custom "before" plugins
142
+ const beforePlugins = customPlugins.filter((p) => p.phase === 'before');
143
+ for (const plugin of beforePlugins) {
144
+ processor = processor.use(() => plugin.transform);
145
+ }
146
+ // Add frontmatter extraction
147
+ if (opts.frontmatter) {
148
+ processor = processor.use(extractFrontmatter);
149
+ }
150
+ // Add built-in transform plugins
151
+ processor = processor
152
+ .use(() => transformHeading)
153
+ .use(() => transformList)
154
+ .use(() => transformTable);
155
+ // Run custom "after" plugins
156
+ const afterPlugins = customPlugins.filter((p) => p.phase === 'after');
157
+ for (const plugin of afterPlugins) {
158
+ processor = processor.use(() => plugin.transform);
159
+ }
160
+ // Freeze processor
161
+ processor.freeze();
162
+ return {
163
+ parse(content) {
164
+ // Parse markdown to AST
165
+ const tree = processor.parse(content);
166
+ // Run all transform plugins
167
+ processor.runSync(tree);
168
+ return tree;
169
+ },
170
+ };
171
+ }
172
+ /**
173
+ * Type-safe helper to define a parser plugin
174
+ *
175
+ * @param config - Plugin configuration
176
+ * @returns Parser plugin
177
+ */
178
+ function definePlugin(config, options) {
179
+ return {
180
+ name: config.name,
181
+ phase: config.phase,
182
+ transform: config.transform(options),
183
+ };
184
+ }
185
+
186
+ exports.createParser = createParser;
187
+ exports.definePlugin = definePlugin;
188
+ exports.transformHeading = transformHeading;
189
+ exports.transformList = transformList;
190
+ exports.transformTable = transformTable;
191
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../src/plugins/transform/heading.ts","../src/plugins/transform/list.ts","../src/plugins/transform/table.ts","../src/processor.ts"],"sourcesContent":[null,null,null,null],"names":["visit","uniqueSlugify","parseYaml","unified"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export type { Parser, ParserOptions, ParserPlugin, PluginConfig, FrontmatterData, FileData, } from './types';
2
+ export { createParser, definePlugin } from './processor';
3
+ export { transformHeading, transformList, transformTable } from './plugins';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,MAAM,EACN,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,QAAQ,GACT,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAGxD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA"}