mdsvr 1.0.3 → 2.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 (401) hide show
  1. package/README.md +180 -4
  2. package/bin/mdsvr.js +0 -0
  3. package/dist/assets/assets/highlight.js-styles/1c-light.css +107 -0
  4. package/dist/assets/assets/highlight.js-styles/1c-light.min.css +9 -0
  5. package/dist/assets/assets/highlight.js-styles/a11y-dark.css +94 -0
  6. package/dist/assets/assets/highlight.js-styles/a11y-dark.min.css +7 -0
  7. package/dist/assets/assets/highlight.js-styles/a11y-light.css +94 -0
  8. package/dist/assets/assets/highlight.js-styles/a11y-light.min.css +7 -0
  9. package/dist/assets/assets/highlight.js-styles/agate.css +127 -0
  10. package/dist/assets/assets/highlight.js-styles/agate.min.css +20 -0
  11. package/dist/assets/assets/highlight.js-styles/an-old-hope.css +75 -0
  12. package/dist/assets/assets/highlight.js-styles/an-old-hope.min.css +9 -0
  13. package/dist/assets/assets/highlight.js-styles/androidstudio.css +60 -0
  14. package/dist/assets/assets/highlight.js-styles/androidstudio.min.css +1 -0
  15. package/dist/assets/assets/highlight.js-styles/arduino-light.css +78 -0
  16. package/dist/assets/assets/highlight.js-styles/arduino-light.min.css +1 -0
  17. package/dist/assets/assets/highlight.js-styles/arta.css +66 -0
  18. package/dist/assets/assets/highlight.js-styles/arta.min.css +1 -0
  19. package/dist/assets/assets/highlight.js-styles/ascetic.css +45 -0
  20. package/dist/assets/assets/highlight.js-styles/ascetic.min.css +1 -0
  21. package/dist/assets/assets/highlight.js-styles/atom-one-dark-reasonable.css +105 -0
  22. package/dist/assets/assets/highlight.js-styles/atom-one-dark-reasonable.min.css +1 -0
  23. package/dist/assets/assets/highlight.js-styles/atom-one-dark.css +90 -0
  24. package/dist/assets/assets/highlight.js-styles/atom-one-dark.min.css +1 -0
  25. package/dist/assets/assets/highlight.js-styles/atom-one-light.css +90 -0
  26. package/dist/assets/assets/highlight.js-styles/atom-one-light.min.css +1 -0
  27. package/dist/assets/assets/highlight.js-styles/brown-paper.css +63 -0
  28. package/dist/assets/assets/highlight.js-styles/brown-paper.min.css +1 -0
  29. package/dist/assets/assets/highlight.js-styles/codepen-embed.css +57 -0
  30. package/dist/assets/assets/highlight.js-styles/codepen-embed.min.css +1 -0
  31. package/dist/assets/assets/highlight.js-styles/color-brewer.css +66 -0
  32. package/dist/assets/assets/highlight.js-styles/color-brewer.min.css +1 -0
  33. package/dist/assets/assets/highlight.js-styles/cybertopia-cherry.css +103 -0
  34. package/dist/assets/assets/highlight.js-styles/cybertopia-cherry.min.css +1 -0
  35. package/dist/assets/assets/highlight.js-styles/cybertopia-dimmer.css +103 -0
  36. package/dist/assets/assets/highlight.js-styles/cybertopia-dimmer.min.css +1 -0
  37. package/dist/assets/assets/highlight.js-styles/cybertopia-icecap.css +103 -0
  38. package/dist/assets/assets/highlight.js-styles/cybertopia-icecap.min.css +1 -0
  39. package/dist/assets/assets/highlight.js-styles/cybertopia-saturated.css +103 -0
  40. package/dist/assets/assets/highlight.js-styles/cybertopia-saturated.min.css +1 -0
  41. package/dist/assets/assets/highlight.js-styles/dark.css +62 -0
  42. package/dist/assets/assets/highlight.js-styles/dark.min.css +1 -0
  43. package/dist/assets/assets/highlight.js-styles/default.css +117 -0
  44. package/dist/assets/assets/highlight.js-styles/default.min.css +9 -0
  45. package/dist/assets/assets/highlight.js-styles/devibeans.css +90 -0
  46. package/dist/assets/assets/highlight.js-styles/devibeans.min.css +7 -0
  47. package/dist/assets/assets/highlight.js-styles/docco.css +83 -0
  48. package/dist/assets/assets/highlight.js-styles/docco.min.css +1 -0
  49. package/dist/assets/assets/highlight.js-styles/far.css +67 -0
  50. package/dist/assets/assets/highlight.js-styles/far.min.css +1 -0
  51. package/dist/assets/assets/highlight.js-styles/felipec.css +94 -0
  52. package/dist/assets/assets/highlight.js-styles/felipec.min.css +7 -0
  53. package/dist/assets/assets/highlight.js-styles/foundation.css +80 -0
  54. package/dist/assets/assets/highlight.js-styles/foundation.min.css +1 -0
  55. package/dist/assets/assets/highlight.js-styles/github-dark-dimmed.css +117 -0
  56. package/dist/assets/assets/highlight.js-styles/github-dark-dimmed.min.css +9 -0
  57. package/dist/assets/assets/highlight.js-styles/github-dark.css +118 -0
  58. package/dist/assets/assets/highlight.js-styles/github-dark.min.css +10 -0
  59. package/dist/assets/assets/highlight.js-styles/github.css +118 -0
  60. package/dist/assets/assets/highlight.js-styles/github.min.css +10 -0
  61. package/dist/assets/assets/highlight.js-styles/gml.css +72 -0
  62. package/dist/assets/assets/highlight.js-styles/gml.min.css +1 -0
  63. package/dist/assets/assets/highlight.js-styles/googlecode.css +79 -0
  64. package/dist/assets/assets/highlight.js-styles/googlecode.min.css +1 -0
  65. package/dist/assets/assets/highlight.js-styles/gradient-dark.css +90 -0
  66. package/dist/assets/assets/highlight.js-styles/gradient-dark.min.css +1 -0
  67. package/dist/assets/assets/highlight.js-styles/gradient-light.css +90 -0
  68. package/dist/assets/assets/highlight.js-styles/gradient-light.min.css +1 -0
  69. package/dist/assets/assets/highlight.js-styles/grayscale.css +89 -0
  70. package/dist/assets/assets/highlight.js-styles/grayscale.min.css +1 -0
  71. package/dist/assets/assets/highlight.js-styles/hybrid.css +88 -0
  72. package/dist/assets/assets/highlight.js-styles/hybrid.min.css +1 -0
  73. package/dist/assets/assets/highlight.js-styles/idea.css +86 -0
  74. package/dist/assets/assets/highlight.js-styles/idea.min.css +1 -0
  75. package/dist/assets/assets/highlight.js-styles/intellij-light.css +107 -0
  76. package/dist/assets/assets/highlight.js-styles/intellij-light.min.css +1 -0
  77. package/dist/assets/assets/highlight.js-styles/ir-black.css +66 -0
  78. package/dist/assets/assets/highlight.js-styles/ir-black.min.css +1 -0
  79. package/dist/assets/assets/highlight.js-styles/isbl-editor-dark.css +94 -0
  80. package/dist/assets/assets/highlight.js-styles/isbl-editor-dark.min.css +1 -0
  81. package/dist/assets/assets/highlight.js-styles/isbl-editor-light.css +93 -0
  82. package/dist/assets/assets/highlight.js-styles/isbl-editor-light.min.css +1 -0
  83. package/dist/assets/assets/highlight.js-styles/kimbie-dark.css +69 -0
  84. package/dist/assets/assets/highlight.js-styles/kimbie-dark.min.css +1 -0
  85. package/dist/assets/assets/highlight.js-styles/kimbie-light.css +69 -0
  86. package/dist/assets/assets/highlight.js-styles/kimbie-light.min.css +1 -0
  87. package/dist/assets/assets/highlight.js-styles/lightfair.css +81 -0
  88. package/dist/assets/assets/highlight.js-styles/lightfair.min.css +1 -0
  89. package/dist/assets/assets/highlight.js-styles/lioshi.css +76 -0
  90. package/dist/assets/assets/highlight.js-styles/lioshi.min.css +1 -0
  91. package/dist/assets/assets/highlight.js-styles/magula.css +66 -0
  92. package/dist/assets/assets/highlight.js-styles/magula.min.css +1 -0
  93. package/dist/assets/assets/highlight.js-styles/mono-blue.css +56 -0
  94. package/dist/assets/assets/highlight.js-styles/mono-blue.min.css +1 -0
  95. package/dist/assets/assets/highlight.js-styles/monokai-sublime.css +76 -0
  96. package/dist/assets/assets/highlight.js-styles/monokai-sublime.min.css +1 -0
  97. package/dist/assets/assets/highlight.js-styles/monokai.css +70 -0
  98. package/dist/assets/assets/highlight.js-styles/monokai.min.css +1 -0
  99. package/dist/assets/assets/highlight.js-styles/night-owl.css +174 -0
  100. package/dist/assets/assets/highlight.js-styles/night-owl.min.css +1 -0
  101. package/dist/assets/assets/highlight.js-styles/nnfx-dark.css +104 -0
  102. package/dist/assets/assets/highlight.js-styles/nnfx-dark.min.css +10 -0
  103. package/dist/assets/assets/highlight.js-styles/nnfx-light.css +104 -0
  104. package/dist/assets/assets/highlight.js-styles/nnfx-light.min.css +10 -0
  105. package/dist/assets/assets/highlight.js-styles/nord.css +275 -0
  106. package/dist/assets/assets/highlight.js-styles/nord.min.css +1 -0
  107. package/dist/assets/assets/highlight.js-styles/obsidian.css +79 -0
  108. package/dist/assets/assets/highlight.js-styles/obsidian.min.css +1 -0
  109. package/dist/assets/assets/highlight.js-styles/panda-syntax-dark.css +92 -0
  110. package/dist/assets/assets/highlight.js-styles/panda-syntax-dark.min.css +1 -0
  111. package/dist/assets/assets/highlight.js-styles/panda-syntax-light.css +89 -0
  112. package/dist/assets/assets/highlight.js-styles/panda-syntax-light.min.css +1 -0
  113. package/dist/assets/assets/highlight.js-styles/paraiso-dark.css +67 -0
  114. package/dist/assets/assets/highlight.js-styles/paraiso-dark.min.css +1 -0
  115. package/dist/assets/assets/highlight.js-styles/paraiso-light.css +67 -0
  116. package/dist/assets/assets/highlight.js-styles/paraiso-light.min.css +1 -0
  117. package/dist/assets/assets/highlight.js-styles/pojoaque.css +76 -0
  118. package/dist/assets/assets/highlight.js-styles/pojoaque.min.css +1 -0
  119. package/dist/assets/assets/highlight.js-styles/purebasic.css +103 -0
  120. package/dist/assets/assets/highlight.js-styles/purebasic.min.css +1 -0
  121. package/dist/assets/assets/highlight.js-styles/qtcreator-dark.css +76 -0
  122. package/dist/assets/assets/highlight.js-styles/qtcreator-dark.min.css +1 -0
  123. package/dist/assets/assets/highlight.js-styles/qtcreator-light.css +74 -0
  124. package/dist/assets/assets/highlight.js-styles/qtcreator-light.min.css +1 -0
  125. package/dist/assets/assets/highlight.js-styles/rainbow.css +77 -0
  126. package/dist/assets/assets/highlight.js-styles/rainbow.min.css +1 -0
  127. package/dist/assets/assets/highlight.js-styles/rose-pine-dawn.css +107 -0
  128. package/dist/assets/assets/highlight.js-styles/rose-pine-dawn.min.css +4 -0
  129. package/dist/assets/assets/highlight.js-styles/rose-pine-moon.css +109 -0
  130. package/dist/assets/assets/highlight.js-styles/rose-pine-moon.min.css +4 -0
  131. package/dist/assets/assets/highlight.js-styles/rose-pine.css +109 -0
  132. package/dist/assets/assets/highlight.js-styles/rose-pine.min.css +4 -0
  133. package/dist/assets/assets/highlight.js-styles/routeros.css +86 -0
  134. package/dist/assets/assets/highlight.js-styles/routeros.min.css +1 -0
  135. package/dist/assets/assets/highlight.js-styles/school-book.css +62 -0
  136. package/dist/assets/assets/highlight.js-styles/school-book.min.css +1 -0
  137. package/dist/assets/assets/highlight.js-styles/shades-of-purple.css +84 -0
  138. package/dist/assets/assets/highlight.js-styles/shades-of-purple.min.css +1 -0
  139. package/dist/assets/assets/highlight.js-styles/srcery.css +89 -0
  140. package/dist/assets/assets/highlight.js-styles/srcery.min.css +1 -0
  141. package/dist/assets/assets/highlight.js-styles/stackoverflow-dark.css +117 -0
  142. package/dist/assets/assets/highlight.js-styles/stackoverflow-dark.min.css +13 -0
  143. package/dist/assets/assets/highlight.js-styles/stackoverflow-light.css +117 -0
  144. package/dist/assets/assets/highlight.js-styles/stackoverflow-light.min.css +13 -0
  145. package/dist/assets/assets/highlight.js-styles/sunburst.css +89 -0
  146. package/dist/assets/assets/highlight.js-styles/sunburst.min.css +1 -0
  147. package/dist/assets/assets/highlight.js-styles/tokyo-night-dark.css +114 -0
  148. package/dist/assets/assets/highlight.js-styles/tokyo-night-dark.min.css +8 -0
  149. package/dist/assets/assets/highlight.js-styles/tokyo-night-light.css +114 -0
  150. package/dist/assets/assets/highlight.js-styles/tokyo-night-light.min.css +8 -0
  151. package/dist/assets/assets/highlight.js-styles/tomorrow-night-blue.css +69 -0
  152. package/dist/assets/assets/highlight.js-styles/tomorrow-night-blue.min.css +1 -0
  153. package/dist/assets/assets/highlight.js-styles/tomorrow-night-bright.css +68 -0
  154. package/dist/assets/assets/highlight.js-styles/tomorrow-night-bright.min.css +1 -0
  155. package/dist/assets/assets/highlight.js-styles/vs.css +63 -0
  156. package/dist/assets/assets/highlight.js-styles/vs.min.css +1 -0
  157. package/dist/assets/assets/highlight.js-styles/vs2015.css +100 -0
  158. package/dist/assets/assets/highlight.js-styles/vs2015.min.css +1 -0
  159. package/dist/assets/assets/highlight.js-styles/xcode.css +90 -0
  160. package/dist/assets/assets/highlight.js-styles/xcode.min.css +1 -0
  161. package/dist/assets/assets/highlight.js-styles/xt256.css +79 -0
  162. package/dist/assets/assets/highlight.js-styles/xt256.min.css +1 -0
  163. package/dist/assets/highlight.js-styles/1c-light.css +107 -0
  164. package/dist/assets/highlight.js-styles/1c-light.min.css +9 -0
  165. package/dist/assets/highlight.js-styles/a11y-dark.css +94 -0
  166. package/dist/assets/highlight.js-styles/a11y-dark.min.css +7 -0
  167. package/dist/assets/highlight.js-styles/a11y-light.css +94 -0
  168. package/dist/assets/highlight.js-styles/a11y-light.min.css +7 -0
  169. package/dist/assets/highlight.js-styles/agate.css +127 -0
  170. package/dist/assets/highlight.js-styles/agate.min.css +20 -0
  171. package/dist/assets/highlight.js-styles/an-old-hope.css +75 -0
  172. package/dist/assets/highlight.js-styles/an-old-hope.min.css +9 -0
  173. package/dist/assets/highlight.js-styles/androidstudio.css +60 -0
  174. package/dist/assets/highlight.js-styles/androidstudio.min.css +1 -0
  175. package/dist/assets/highlight.js-styles/arduino-light.css +78 -0
  176. package/dist/assets/highlight.js-styles/arduino-light.min.css +1 -0
  177. package/dist/assets/highlight.js-styles/arta.css +66 -0
  178. package/dist/assets/highlight.js-styles/arta.min.css +1 -0
  179. package/dist/assets/highlight.js-styles/ascetic.css +45 -0
  180. package/dist/assets/highlight.js-styles/ascetic.min.css +1 -0
  181. package/dist/assets/highlight.js-styles/atom-one-dark-reasonable.css +105 -0
  182. package/dist/assets/highlight.js-styles/atom-one-dark-reasonable.min.css +1 -0
  183. package/dist/assets/highlight.js-styles/atom-one-dark.css +90 -0
  184. package/dist/assets/highlight.js-styles/atom-one-dark.min.css +1 -0
  185. package/dist/assets/highlight.js-styles/atom-one-light.css +90 -0
  186. package/dist/assets/highlight.js-styles/atom-one-light.min.css +1 -0
  187. package/dist/assets/highlight.js-styles/brown-paper.css +63 -0
  188. package/dist/assets/highlight.js-styles/brown-paper.min.css +1 -0
  189. package/dist/assets/highlight.js-styles/codepen-embed.css +57 -0
  190. package/dist/assets/highlight.js-styles/codepen-embed.min.css +1 -0
  191. package/dist/assets/highlight.js-styles/color-brewer.css +66 -0
  192. package/dist/assets/highlight.js-styles/color-brewer.min.css +1 -0
  193. package/dist/assets/highlight.js-styles/cybertopia-cherry.css +103 -0
  194. package/dist/assets/highlight.js-styles/cybertopia-cherry.min.css +1 -0
  195. package/dist/assets/highlight.js-styles/cybertopia-dimmer.css +103 -0
  196. package/dist/assets/highlight.js-styles/cybertopia-dimmer.min.css +1 -0
  197. package/dist/assets/highlight.js-styles/cybertopia-icecap.css +103 -0
  198. package/dist/assets/highlight.js-styles/cybertopia-icecap.min.css +1 -0
  199. package/dist/assets/highlight.js-styles/cybertopia-saturated.css +103 -0
  200. package/dist/assets/highlight.js-styles/cybertopia-saturated.min.css +1 -0
  201. package/dist/assets/highlight.js-styles/dark.css +62 -0
  202. package/dist/assets/highlight.js-styles/dark.min.css +1 -0
  203. package/dist/assets/highlight.js-styles/default.css +117 -0
  204. package/dist/assets/highlight.js-styles/default.min.css +9 -0
  205. package/dist/assets/highlight.js-styles/devibeans.css +90 -0
  206. package/dist/assets/highlight.js-styles/devibeans.min.css +7 -0
  207. package/dist/assets/highlight.js-styles/docco.css +83 -0
  208. package/dist/assets/highlight.js-styles/docco.min.css +1 -0
  209. package/dist/assets/highlight.js-styles/far.css +67 -0
  210. package/dist/assets/highlight.js-styles/far.min.css +1 -0
  211. package/dist/assets/highlight.js-styles/felipec.css +94 -0
  212. package/dist/assets/highlight.js-styles/felipec.min.css +7 -0
  213. package/dist/assets/highlight.js-styles/foundation.css +80 -0
  214. package/dist/assets/highlight.js-styles/foundation.min.css +1 -0
  215. package/dist/assets/highlight.js-styles/github-dark-dimmed.css +117 -0
  216. package/dist/assets/highlight.js-styles/github-dark-dimmed.min.css +9 -0
  217. package/dist/assets/highlight.js-styles/github-dark.css +118 -0
  218. package/dist/assets/highlight.js-styles/github-dark.min.css +10 -0
  219. package/dist/assets/highlight.js-styles/github.css +118 -0
  220. package/dist/assets/highlight.js-styles/github.min.css +10 -0
  221. package/dist/assets/highlight.js-styles/gml.css +72 -0
  222. package/dist/assets/highlight.js-styles/gml.min.css +1 -0
  223. package/dist/assets/highlight.js-styles/googlecode.css +79 -0
  224. package/dist/assets/highlight.js-styles/googlecode.min.css +1 -0
  225. package/dist/assets/highlight.js-styles/gradient-dark.css +90 -0
  226. package/dist/assets/highlight.js-styles/gradient-dark.min.css +1 -0
  227. package/dist/assets/highlight.js-styles/gradient-light.css +90 -0
  228. package/dist/assets/highlight.js-styles/gradient-light.min.css +1 -0
  229. package/dist/assets/highlight.js-styles/grayscale.css +89 -0
  230. package/dist/assets/highlight.js-styles/grayscale.min.css +1 -0
  231. package/dist/assets/highlight.js-styles/hybrid.css +88 -0
  232. package/dist/assets/highlight.js-styles/hybrid.min.css +1 -0
  233. package/dist/assets/highlight.js-styles/idea.css +86 -0
  234. package/dist/assets/highlight.js-styles/idea.min.css +1 -0
  235. package/dist/assets/highlight.js-styles/intellij-light.css +107 -0
  236. package/dist/assets/highlight.js-styles/intellij-light.min.css +1 -0
  237. package/dist/assets/highlight.js-styles/ir-black.css +66 -0
  238. package/dist/assets/highlight.js-styles/ir-black.min.css +1 -0
  239. package/dist/assets/highlight.js-styles/isbl-editor-dark.css +94 -0
  240. package/dist/assets/highlight.js-styles/isbl-editor-dark.min.css +1 -0
  241. package/dist/assets/highlight.js-styles/isbl-editor-light.css +93 -0
  242. package/dist/assets/highlight.js-styles/isbl-editor-light.min.css +1 -0
  243. package/dist/assets/highlight.js-styles/kimbie-dark.css +69 -0
  244. package/dist/assets/highlight.js-styles/kimbie-dark.min.css +1 -0
  245. package/dist/assets/highlight.js-styles/kimbie-light.css +69 -0
  246. package/dist/assets/highlight.js-styles/kimbie-light.min.css +1 -0
  247. package/dist/assets/highlight.js-styles/lightfair.css +81 -0
  248. package/dist/assets/highlight.js-styles/lightfair.min.css +1 -0
  249. package/dist/assets/highlight.js-styles/lioshi.css +76 -0
  250. package/dist/assets/highlight.js-styles/lioshi.min.css +1 -0
  251. package/dist/assets/highlight.js-styles/magula.css +66 -0
  252. package/dist/assets/highlight.js-styles/magula.min.css +1 -0
  253. package/dist/assets/highlight.js-styles/mono-blue.css +56 -0
  254. package/dist/assets/highlight.js-styles/mono-blue.min.css +1 -0
  255. package/dist/assets/highlight.js-styles/monokai-sublime.css +76 -0
  256. package/dist/assets/highlight.js-styles/monokai-sublime.min.css +1 -0
  257. package/dist/assets/highlight.js-styles/monokai.css +70 -0
  258. package/dist/assets/highlight.js-styles/monokai.min.css +1 -0
  259. package/dist/assets/highlight.js-styles/night-owl.css +174 -0
  260. package/dist/assets/highlight.js-styles/night-owl.min.css +1 -0
  261. package/dist/assets/highlight.js-styles/nnfx-dark.css +104 -0
  262. package/dist/assets/highlight.js-styles/nnfx-dark.min.css +10 -0
  263. package/dist/assets/highlight.js-styles/nnfx-light.css +104 -0
  264. package/dist/assets/highlight.js-styles/nnfx-light.min.css +10 -0
  265. package/dist/assets/highlight.js-styles/nord.css +275 -0
  266. package/dist/assets/highlight.js-styles/nord.min.css +1 -0
  267. package/dist/assets/highlight.js-styles/obsidian.css +79 -0
  268. package/dist/assets/highlight.js-styles/obsidian.min.css +1 -0
  269. package/dist/assets/highlight.js-styles/panda-syntax-dark.css +92 -0
  270. package/dist/assets/highlight.js-styles/panda-syntax-dark.min.css +1 -0
  271. package/dist/assets/highlight.js-styles/panda-syntax-light.css +89 -0
  272. package/dist/assets/highlight.js-styles/panda-syntax-light.min.css +1 -0
  273. package/dist/assets/highlight.js-styles/paraiso-dark.css +67 -0
  274. package/dist/assets/highlight.js-styles/paraiso-dark.min.css +1 -0
  275. package/dist/assets/highlight.js-styles/paraiso-light.css +67 -0
  276. package/dist/assets/highlight.js-styles/paraiso-light.min.css +1 -0
  277. package/dist/assets/highlight.js-styles/pojoaque.css +76 -0
  278. package/dist/assets/highlight.js-styles/pojoaque.min.css +1 -0
  279. package/dist/assets/highlight.js-styles/purebasic.css +103 -0
  280. package/dist/assets/highlight.js-styles/purebasic.min.css +1 -0
  281. package/dist/assets/highlight.js-styles/qtcreator-dark.css +76 -0
  282. package/dist/assets/highlight.js-styles/qtcreator-dark.min.css +1 -0
  283. package/dist/assets/highlight.js-styles/qtcreator-light.css +74 -0
  284. package/dist/assets/highlight.js-styles/qtcreator-light.min.css +1 -0
  285. package/dist/assets/highlight.js-styles/rainbow.css +77 -0
  286. package/dist/assets/highlight.js-styles/rainbow.min.css +1 -0
  287. package/dist/assets/highlight.js-styles/rose-pine-dawn.css +107 -0
  288. package/dist/assets/highlight.js-styles/rose-pine-dawn.min.css +4 -0
  289. package/dist/assets/highlight.js-styles/rose-pine-moon.css +109 -0
  290. package/dist/assets/highlight.js-styles/rose-pine-moon.min.css +4 -0
  291. package/dist/assets/highlight.js-styles/rose-pine.css +109 -0
  292. package/dist/assets/highlight.js-styles/rose-pine.min.css +4 -0
  293. package/dist/assets/highlight.js-styles/routeros.css +86 -0
  294. package/dist/assets/highlight.js-styles/routeros.min.css +1 -0
  295. package/dist/assets/highlight.js-styles/school-book.css +62 -0
  296. package/dist/assets/highlight.js-styles/school-book.min.css +1 -0
  297. package/dist/assets/highlight.js-styles/shades-of-purple.css +84 -0
  298. package/dist/assets/highlight.js-styles/shades-of-purple.min.css +1 -0
  299. package/dist/assets/highlight.js-styles/srcery.css +89 -0
  300. package/dist/assets/highlight.js-styles/srcery.min.css +1 -0
  301. package/dist/assets/highlight.js-styles/stackoverflow-dark.css +117 -0
  302. package/dist/assets/highlight.js-styles/stackoverflow-dark.min.css +13 -0
  303. package/dist/assets/highlight.js-styles/stackoverflow-light.css +117 -0
  304. package/dist/assets/highlight.js-styles/stackoverflow-light.min.css +13 -0
  305. package/dist/assets/highlight.js-styles/sunburst.css +89 -0
  306. package/dist/assets/highlight.js-styles/sunburst.min.css +1 -0
  307. package/dist/assets/highlight.js-styles/tokyo-night-dark.css +114 -0
  308. package/dist/assets/highlight.js-styles/tokyo-night-dark.min.css +8 -0
  309. package/dist/assets/highlight.js-styles/tokyo-night-light.css +114 -0
  310. package/dist/assets/highlight.js-styles/tokyo-night-light.min.css +8 -0
  311. package/dist/assets/highlight.js-styles/tomorrow-night-blue.css +69 -0
  312. package/dist/assets/highlight.js-styles/tomorrow-night-blue.min.css +1 -0
  313. package/dist/assets/highlight.js-styles/tomorrow-night-bright.css +68 -0
  314. package/dist/assets/highlight.js-styles/tomorrow-night-bright.min.css +1 -0
  315. package/dist/assets/highlight.js-styles/vs.css +63 -0
  316. package/dist/assets/highlight.js-styles/vs.min.css +1 -0
  317. package/dist/assets/highlight.js-styles/vs2015.css +100 -0
  318. package/dist/assets/highlight.js-styles/vs2015.min.css +1 -0
  319. package/dist/assets/highlight.js-styles/xcode.css +90 -0
  320. package/dist/assets/highlight.js-styles/xcode.min.css +1 -0
  321. package/dist/assets/highlight.js-styles/xt256.css +79 -0
  322. package/dist/assets/highlight.js-styles/xt256.min.css +1 -0
  323. package/dist/cli.js +67 -3
  324. package/dist/cli.js.map +1 -1
  325. package/dist/directory.d.ts.map +1 -1
  326. package/dist/directory.js +50 -21
  327. package/dist/directory.js.map +1 -1
  328. package/dist/generators/feed.d.ts +3 -0
  329. package/dist/generators/feed.d.ts.map +1 -0
  330. package/dist/generators/feed.js +110 -0
  331. package/dist/generators/feed.js.map +1 -0
  332. package/dist/generators/search-index.d.ts +10 -0
  333. package/dist/generators/search-index.d.ts.map +1 -0
  334. package/dist/generators/search-index.js +79 -0
  335. package/dist/generators/search-index.js.map +1 -0
  336. package/dist/generators/sitemap.d.ts +3 -0
  337. package/dist/generators/sitemap.d.ts.map +1 -0
  338. package/dist/generators/sitemap.js +90 -0
  339. package/dist/generators/sitemap.js.map +1 -0
  340. package/dist/index.d.ts +2 -0
  341. package/dist/index.d.ts.map +1 -1
  342. package/dist/index.js +1 -0
  343. package/dist/index.js.map +1 -1
  344. package/dist/renderer/components.d.ts +60 -0
  345. package/dist/renderer/components.d.ts.map +1 -0
  346. package/dist/renderer/components.js +59 -0
  347. package/dist/renderer/components.js.map +1 -0
  348. package/dist/renderer/index.d.ts +7 -0
  349. package/dist/renderer/index.d.ts.map +1 -0
  350. package/dist/renderer/index.js +14 -0
  351. package/dist/renderer/index.js.map +1 -0
  352. package/dist/renderer/markdown.d.ts +15 -0
  353. package/dist/renderer/markdown.d.ts.map +1 -0
  354. package/dist/renderer/markdown.js +77 -0
  355. package/dist/renderer/markdown.js.map +1 -0
  356. package/dist/renderer/mdx.d.ts +14 -0
  357. package/dist/renderer/mdx.d.ts.map +1 -0
  358. package/dist/renderer/mdx.js +55 -0
  359. package/dist/renderer/mdx.js.map +1 -0
  360. package/dist/router.d.ts +2 -1
  361. package/dist/router.d.ts.map +1 -1
  362. package/dist/router.js +158 -45
  363. package/dist/router.js.map +1 -1
  364. package/dist/server.d.ts +5 -1
  365. package/dist/server.d.ts.map +1 -1
  366. package/dist/server.js +88 -27
  367. package/dist/server.js.map +1 -1
  368. package/dist/settings/defaults.d.ts +5 -0
  369. package/dist/settings/defaults.d.ts.map +1 -0
  370. package/dist/settings/defaults.js +35 -0
  371. package/dist/settings/defaults.js.map +1 -0
  372. package/dist/settings/index.d.ts +11 -0
  373. package/dist/settings/index.d.ts.map +1 -0
  374. package/dist/settings/index.js +82 -0
  375. package/dist/settings/index.js.map +1 -0
  376. package/dist/settings/schema.d.ts +820 -0
  377. package/dist/settings/schema.d.ts.map +1 -0
  378. package/dist/settings/schema.js +117 -0
  379. package/dist/settings/schema.js.map +1 -0
  380. package/dist/template/index.d.ts +15 -0
  381. package/dist/template/index.d.ts.map +1 -0
  382. package/dist/template/index.js +924 -0
  383. package/dist/template/index.js.map +1 -0
  384. package/dist/template/search.d.ts +5 -0
  385. package/dist/template/search.d.ts.map +1 -0
  386. package/dist/template/search.js +241 -0
  387. package/dist/template/search.js.map +1 -0
  388. package/dist/template/seo.d.ts +13 -0
  389. package/dist/template/seo.d.ts.map +1 -0
  390. package/dist/template/seo.js +71 -0
  391. package/dist/template/seo.js.map +1 -0
  392. package/dist/template/sidebar.d.ts +15 -0
  393. package/dist/template/sidebar.d.ts.map +1 -0
  394. package/dist/template/sidebar.js +229 -0
  395. package/dist/template/sidebar.js.map +1 -0
  396. package/dist/template.d.ts.map +1 -1
  397. package/dist/template.js +0 -13
  398. package/dist/template.js.map +1 -1
  399. package/dist/types.d.ts +4 -0
  400. package/dist/types.d.ts.map +1 -1
  401. package/package.json +17 -5
@@ -0,0 +1,90 @@
1
+ pre code.hljs {
2
+ display: block;
3
+ overflow-x: auto;
4
+ padding: 1em
5
+ }
6
+ code.hljs {
7
+ padding: 3px 5px
8
+ }
9
+ /*
10
+
11
+ XCode style (c) Angel Garcia <angelgarcia.mail@gmail.com>
12
+
13
+ */
14
+ .hljs {
15
+ background: #fff;
16
+ color: black
17
+ }
18
+ /* Gray DOCTYPE selectors like WebKit */
19
+ .xml .hljs-meta {
20
+ color: #c0c0c0
21
+ }
22
+ .hljs-comment,
23
+ .hljs-quote {
24
+ color: #007400
25
+ }
26
+ .hljs-tag,
27
+ .hljs-attribute,
28
+ .hljs-keyword,
29
+ .hljs-selector-tag,
30
+ .hljs-literal,
31
+ .hljs-name {
32
+ color: #aa0d91
33
+ }
34
+ .hljs-variable,
35
+ .hljs-template-variable {
36
+ color: #3F6E74
37
+ }
38
+ .hljs-code,
39
+ .hljs-string,
40
+ .hljs-meta .hljs-string {
41
+ color: #c41a16
42
+ }
43
+ .hljs-regexp,
44
+ .hljs-link {
45
+ color: #0E0EFF
46
+ }
47
+ .hljs-title,
48
+ .hljs-symbol,
49
+ .hljs-bullet,
50
+ .hljs-number {
51
+ color: #1c00cf
52
+ }
53
+ .hljs-section,
54
+ .hljs-meta {
55
+ color: #643820
56
+ }
57
+ .hljs-title.class_,
58
+ .hljs-class .hljs-title,
59
+ .hljs-type,
60
+ .hljs-built_in,
61
+ .hljs-params {
62
+ color: #5c2699
63
+ }
64
+ .hljs-attr {
65
+ color: #836C28
66
+ }
67
+ .hljs-subst {
68
+ color: #000
69
+ }
70
+ .hljs-formula {
71
+ background-color: #eee;
72
+ font-style: italic
73
+ }
74
+ .hljs-addition {
75
+ background-color: #baeeba
76
+ }
77
+ .hljs-deletion {
78
+ background-color: #ffc8bd
79
+ }
80
+ .hljs-selector-id,
81
+ .hljs-selector-class {
82
+ color: #9b703f
83
+ }
84
+ .hljs-doctag,
85
+ .hljs-strong {
86
+ font-weight: bold
87
+ }
88
+ .hljs-emphasis {
89
+ font-style: italic
90
+ }
@@ -0,0 +1 @@
1
+ pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#fff;color:#000}.xml .hljs-meta{color:silver}.hljs-comment,.hljs-quote{color:#007400}.hljs-attribute,.hljs-keyword,.hljs-literal,.hljs-name,.hljs-selector-tag,.hljs-tag{color:#aa0d91}.hljs-template-variable,.hljs-variable{color:#3f6e74}.hljs-code,.hljs-meta .hljs-string,.hljs-string{color:#c41a16}.hljs-link,.hljs-regexp{color:#0e0eff}.hljs-bullet,.hljs-number,.hljs-symbol,.hljs-title{color:#1c00cf}.hljs-meta,.hljs-section{color:#643820}.hljs-built_in,.hljs-class .hljs-title,.hljs-params,.hljs-title.class_,.hljs-type{color:#5c2699}.hljs-attr{color:#836c28}.hljs-subst{color:#000}.hljs-formula{background-color:#eee;font-style:italic}.hljs-addition{background-color:#baeeba}.hljs-deletion{background-color:#ffc8bd}.hljs-selector-class,.hljs-selector-id{color:#9b703f}.hljs-doctag,.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic}
@@ -0,0 +1,79 @@
1
+ pre code.hljs {
2
+ display: block;
3
+ overflow-x: auto;
4
+ padding: 1em
5
+ }
6
+ code.hljs {
7
+ padding: 3px 5px
8
+ }
9
+ /*
10
+ xt256.css
11
+
12
+ Contact: initbar [at] protonmail [dot] ch
13
+ : github.com/initbar
14
+ */
15
+ .hljs {
16
+ color: #eaeaea;
17
+ background: #000
18
+ }
19
+ .hljs-subst {
20
+ color: #eaeaea
21
+ }
22
+ .hljs-emphasis {
23
+ font-style: italic
24
+ }
25
+ .hljs-strong {
26
+ font-weight: bold
27
+ }
28
+ .hljs-type {
29
+ color: #eaeaea
30
+ }
31
+ .hljs-params {
32
+ color: #da0000
33
+ }
34
+ .hljs-literal,
35
+ .hljs-number,
36
+ .hljs-name {
37
+ color: #ff0000;
38
+ font-weight: bolder
39
+ }
40
+ .hljs-comment {
41
+ color: #969896
42
+ }
43
+ .hljs-selector-id,
44
+ .hljs-quote {
45
+ color: #00ffff
46
+ }
47
+ .hljs-template-variable,
48
+ .hljs-variable,
49
+ .hljs-title {
50
+ color: #00ffff;
51
+ font-weight: bold
52
+ }
53
+ .hljs-selector-class,
54
+ .hljs-keyword,
55
+ .hljs-symbol {
56
+ color: #fff000
57
+ }
58
+ .hljs-string,
59
+ .hljs-bullet {
60
+ color: #00ff00
61
+ }
62
+ .hljs-tag,
63
+ .hljs-section {
64
+ color: #000fff
65
+ }
66
+ .hljs-selector-tag {
67
+ color: #000fff;
68
+ font-weight: bold
69
+ }
70
+ .hljs-attribute,
71
+ .hljs-built_in,
72
+ .hljs-regexp,
73
+ .hljs-link {
74
+ color: #ff00ff
75
+ }
76
+ .hljs-meta {
77
+ color: #fff;
78
+ font-weight: bolder
79
+ }
@@ -0,0 +1 @@
1
+ pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#eaeaea;background:#000}.hljs-subst{color:#eaeaea}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-type{color:#eaeaea}.hljs-params{color:#da0000}.hljs-literal,.hljs-name,.hljs-number{color:red;font-weight:bolder}.hljs-comment{color:#969896}.hljs-quote,.hljs-selector-id{color:#0ff}.hljs-template-variable,.hljs-title,.hljs-variable{color:#0ff;font-weight:700}.hljs-keyword,.hljs-selector-class,.hljs-symbol{color:#fff000}.hljs-bullet,.hljs-string{color:#0f0}.hljs-section,.hljs-tag{color:#000fff}.hljs-selector-tag{color:#000fff;font-weight:700}.hljs-attribute,.hljs-built_in,.hljs-link,.hljs-regexp{color:#f0f}.hljs-meta{color:#fff;font-weight:bolder}
package/dist/cli.js CHANGED
@@ -1,8 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createServer, getNetworkAddress } from "./server.js";
3
3
  import path from "node:path";
4
- import { readFile } from "node:fs/promises";
4
+ import { readFile, writeFile } from "node:fs/promises";
5
5
  import { fileURLToPath } from "node:url";
6
+ import { validateSettingsFile, generateDefaultSettings, } from "./settings/index.js";
6
7
  function parseArgs(argv) {
7
8
  const args = {
8
9
  dir: ".",
@@ -12,6 +13,9 @@ function parseArgs(argv) {
12
13
  silent: false,
13
14
  version: false,
14
15
  help: false,
16
+ init: false,
17
+ validate: false,
18
+ watchSettings: true,
15
19
  };
16
20
  for (let i = 0; i < argv.length; i++) {
17
21
  const arg = argv[i];
@@ -37,6 +41,15 @@ function parseArgs(argv) {
37
41
  else if (arg === "--silent" || arg === "-s") {
38
42
  args.silent = true;
39
43
  }
44
+ else if (arg === "--init") {
45
+ args.init = true;
46
+ }
47
+ else if (arg === "--validate") {
48
+ args.validate = true;
49
+ }
50
+ else if (arg === "--no-watch") {
51
+ args.watchSettings = false;
52
+ }
40
53
  else if (!arg.startsWith("--") && !arg.startsWith("-")) {
41
54
  args.dir = arg;
42
55
  }
@@ -53,6 +66,9 @@ Options:
53
66
  --host H Bind address (default: localhost)
54
67
  -o, --open Auto-open browser
55
68
  -s, --silent Suppress console output
69
+ --init Create a starter settings.json in [dir]
70
+ --validate Validate settings.json and exit
71
+ --no-watch Disable settings.json hot-reload
56
72
  -v, --version Print version
57
73
  -h, --help Print this help
58
74
 
@@ -60,6 +76,8 @@ Examples:
60
76
  mdsvr ./docs
61
77
  mdsvr ./notes --port 4000 --open
62
78
  mdsvr . --host 0.0.0.0 --port 8080
79
+ mdsvr ./docs --init
80
+ mdsvr ./docs --validate
63
81
  `);
64
82
  }
65
83
  async function getVersion() {
@@ -83,6 +101,11 @@ async function openBrowser(url) {
83
101
  : `xdg-open`;
84
102
  exec(`${cmd} "${url}"`);
85
103
  }
104
+ async function initSettings(dir) {
105
+ const settingsPath = path.join(dir, "settings.json");
106
+ const defaultSettings = generateDefaultSettings();
107
+ await writeFile(settingsPath, JSON.stringify(defaultSettings, null, 2), "utf-8");
108
+ }
86
109
  async function main() {
87
110
  const args = parseArgs(process.argv.slice(2));
88
111
  if (args.help) {
@@ -95,14 +118,49 @@ async function main() {
95
118
  process.exit(0);
96
119
  }
97
120
  const absoluteDir = path.resolve(args.dir);
121
+ // Handle --init
122
+ if (args.init) {
123
+ try {
124
+ await initSettings(absoluteDir);
125
+ console.log(`\n ✔ Created ${args.dir}/settings.json with defaults`);
126
+ console.log(` ✔ Run \`npx mdsvr ${args.dir}\` to start\n`);
127
+ process.exit(0);
128
+ }
129
+ catch (err) {
130
+ console.error("Error:", err instanceof Error ? err.message : err);
131
+ process.exit(1);
132
+ }
133
+ }
134
+ // Handle --validate
135
+ if (args.validate) {
136
+ try {
137
+ const result = await validateSettingsFile(absoluteDir);
138
+ if (result.valid) {
139
+ console.log(`\n ✔ settings.json is valid\n`);
140
+ process.exit(0);
141
+ }
142
+ else {
143
+ console.log(`\n ✖ settings.json has errors:`);
144
+ result.errors?.forEach((e) => console.log(` - ${e}`));
145
+ console.log();
146
+ process.exit(1);
147
+ }
148
+ }
149
+ catch (err) {
150
+ console.error("Error:", err instanceof Error ? err.message : err);
151
+ process.exit(1);
152
+ }
153
+ }
98
154
  try {
99
155
  const server = await createServer(args.dir, {
100
156
  port: args.port,
101
157
  host: args.host,
102
158
  open: args.open,
103
159
  silent: args.silent,
160
+ watchSettings: args.watchSettings,
104
161
  });
105
162
  const version = await getVersion();
163
+ const settings = server.settings;
106
164
  if (!args.silent) {
107
165
  console.log(`\n mdsvr v${version}\n`);
108
166
  console.log(` Local: ${server.url}`);
@@ -110,8 +168,14 @@ async function main() {
110
168
  if (args.host !== "localhost" && networkAddr) {
111
169
  console.log(` Network: http://${networkAddr}:${server.port}`);
112
170
  }
113
- console.log(`\n Serving ${absoluteDir}`);
114
- console.log(` Hit Ctrl+C to stop.\n`);
171
+ console.log(`\n Serving ${absoluteDir}`);
172
+ console.log(` Settings ${settings.site.title !== "mdsvr Docs" ? "loaded" : "using defaults"}`);
173
+ console.log(` MDX ${settings.mdx.enabled ? "enabled" : "disabled"}`);
174
+ console.log(` Search ${settings.search.enabled ? "enabled" : "disabled"}`);
175
+ if (settings.seo.generateSitemap) {
176
+ console.log(` Sitemap ${server.url}/sitemap.xml`);
177
+ }
178
+ console.log(`\n Hit Ctrl+C to stop.\n`);
115
179
  }
116
180
  if (args.open) {
117
181
  await openBrowser(server.url);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,GAAG,MAAM,CAgHT"}
1
+ {"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,GAAG,MAAM,CA8IT"}
package/dist/directory.js CHANGED
@@ -24,29 +24,63 @@ export function renderDirectory(params) {
24
24
  })
25
25
  .join("\n");
26
26
  const breadcrumb = generateBreadcrumb(urlPath);
27
+ // Theme script for dark mode support
28
+ const themeScript = `
29
+ <script>
30
+ (function() {
31
+ var theme = localStorage.getItem('theme') || 'system';
32
+ if (theme === 'system') {
33
+ theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
34
+ }
35
+ document.documentElement.setAttribute('data-theme', theme);
36
+ })();
37
+ </script>`;
27
38
  return `<!DOCTYPE html>
28
- <html lang="en">
39
+ <html lang="en" data-theme="light">
29
40
  <head>
30
41
  <meta charset="UTF-8">
31
42
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
32
43
  <title>Index of ${escapeHtml(urlPath)}</title>
44
+ ${themeScript}
33
45
  <style>
46
+ :root {
47
+ --bg: #f6f8fa;
48
+ --bg-secondary: #ffffff;
49
+ --text: #24292f;
50
+ --text-muted: #656d76;
51
+ --border: #d0d7de;
52
+ --accent: #0969da;
53
+ --header-bg: #0d1117;
54
+ --header-text: #f0f6fc;
55
+ --header-border: #30363d;
56
+ }
57
+ :root[data-theme="dark"] {
58
+ --bg: #0d1117;
59
+ --bg-secondary: #161b22;
60
+ --text: #e6edf3;
61
+ --text-muted: #8d96a0;
62
+ --border: #30363d;
63
+ --accent: #58a6ff;
64
+ --header-bg: #161b22;
65
+ --header-text: #e6edf3;
66
+ --header-border: #30363d;
67
+ }
34
68
  * { box-sizing: border-box; }
35
69
  body {
36
70
  margin: 0;
37
71
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;
38
72
  font-size: 16px;
39
73
  line-height: 1.6;
40
- color: #24292f;
41
- background: #f6f8fa;
74
+ color: var(--text);
75
+ background: var(--bg);
42
76
  }
43
77
  .header {
44
- background: #0d1117;
78
+ background: var(--header-bg);
45
79
  padding: 16px 24px;
46
- border-bottom: 1px solid #30363d;
80
+ border-bottom: 1px solid var(--header-border);
47
81
  }
48
82
  .header-logo {
49
- color: #f0f6fc;
83
+ color: var(--header-text);
50
84
  font-weight: 600;
51
85
  font-size: 14px;
52
86
  text-decoration: none;
@@ -55,22 +89,22 @@ export function renderDirectory(params) {
55
89
  max-width: 860px;
56
90
  margin: 32px auto;
57
91
  padding: 32px;
58
- background: #ffffff;
59
- border: 1px solid #d0d7de;
92
+ background: var(--bg-secondary);
93
+ border: 1px solid var(--border);
60
94
  border-radius: 6px;
61
95
  }
62
- h1 { font-size: 20px; font-weight: 600; margin: 0 0 16px; color: #1f2328; }
63
- .breadcrumb { font-size: 14px; color: #656d76; margin-bottom: 20px; }
64
- .breadcrumb a { color: #0969da; text-decoration: none; }
96
+ h1 { font-size: 20px; font-weight: 600; margin: 0 0 16px; color: var(--text); }
97
+ .breadcrumb { font-size: 14px; color: var(--text-muted); margin-bottom: 20px; }
98
+ .breadcrumb a { color: var(--accent); text-decoration: none; }
65
99
  .breadcrumb a:hover { text-decoration: underline; }
66
100
  table { width: 100%; border-collapse: collapse; }
67
- th, td { padding: 8px 12px; text-align: left; border-bottom: 1px solid #d8dee4; }
68
- th { font-weight: 600; color: #656d76; font-size: 14px; }
101
+ th, td { padding: 8px 12px; text-align: left; border-bottom: 1px solid var(--border); }
102
+ th { font-weight: 600; color: var(--text-muted); font-size: 14px; }
69
103
  td { font-size: 14px; }
70
- td a { color: #0969da; text-decoration: none; }
104
+ td a { color: var(--accent); text-decoration: none; }
71
105
  td a:hover { text-decoration: underline; }
72
- .size { color: #656d76; text-align: right; width: 100px; }
73
- .empty { color: #656d76; font-style: italic; padding: 24px 0; }
106
+ .size { color: var(--text-muted); text-align: right; width: 100px; }
107
+ .empty { color: var(--text-muted); font-style: italic; padding: 24px 0; }
74
108
  @media (max-width: 900px) {
75
109
  .container { margin: 16px; padding: 20px; }
76
110
  .header { padding: 12px 16px; }
@@ -81,12 +115,7 @@ export function renderDirectory(params) {
81
115
  </style>
82
116
  </head>
83
117
  <body>
84
- <header class="header">
85
- <a href="/" class="header-logo">mdsvr</a>
86
- </header>
87
118
  <div class="container">
88
- <h1>Index of ${escapeHtml(urlPath) || "/"}</h1>
89
- <div class="breadcrumb">${breadcrumb}</div>
90
119
  <table>
91
120
  <thead>
92
121
  <tr><th>Name</th><th class="size">Size</th></tr>
@@ -1 +1 @@
1
- {"version":3,"file":"directory.js","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directory.js","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,MAG/B;IACC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEpC,mDAAmD;IACnD,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM;SAChB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,IAAI,GACR,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;YACtB,CAAC,CAAC,UAAU,CAAE,KAAqC,CAAC,IAAI,IAAI,CAAC,CAAC;YAC9D,CAAC,CAAC,GAAG,CAAC;QAEV,OAAO;cACC,IAAI,aAAa,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;2BAChD,IAAI;YACnB,CAAC;IACT,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE/C,qCAAqC;IACrC,MAAM,WAAW,GAAG;;;;;;;;;UASZ,CAAC;IAET,OAAO;;;;;oBAKW,UAAU,CAAC,OAAO,CAAC;IACnC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiFb,OAAO;QACL,CAAC,CAAC;;;YAGM;QACR,CAAC,CAAC,EACN;EACE,IAAI,IAAI,mEAAmE;;;;;QAKrE,CAAC;AACT,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QAChC,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAClC,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,WAAW,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;QAChD,CAAC;QACD,OAAO,YAAY,KAAK,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,OAAO,yBAAyB,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,IAAI,CAAC;IACf,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,WAAW,GAA2B;QAC1C,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,QAAQ;KACd,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Settings } from "../settings/index.js";
2
+ export declare function generateFeed(rootDir: string, settings: Settings): Promise<string>;
3
+ //# sourceMappingURL=feed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../src/generators/feed.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAiGrD,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAwCjB"}
@@ -0,0 +1,110 @@
1
+ import path from "node:path";
2
+ import { promises as fs } from "node:fs";
3
+ import matter from "gray-matter";
4
+ function isHidden(filePath, settings) {
5
+ const basename = path.basename(filePath);
6
+ for (const pattern of settings.files.extensions.hidden) {
7
+ if (basename === pattern)
8
+ return true;
9
+ if (pattern.startsWith("*") && basename.endsWith(pattern.slice(1)))
10
+ return true;
11
+ }
12
+ if (basename.startsWith("_"))
13
+ return true;
14
+ return false;
15
+ }
16
+ function stripHtml(html) {
17
+ return html
18
+ .replace(/<[^>]+>/g, "")
19
+ .replace(/&amp;/g, "&")
20
+ .replace(/&lt;/g, "<")
21
+ .replace(/&gt;/g, ">")
22
+ .replace(/&quot;/g, '"')
23
+ .replace(/&#x27;/g, "'")
24
+ .replace(/&nbsp;/g, " ");
25
+ }
26
+ async function readDirRecursive(dirPath, rootDir, baseUrl, settings) {
27
+ const entries = [];
28
+ const items = await fs.readdir(dirPath, { withFileTypes: true });
29
+ for (const item of items) {
30
+ const fullPath = path.join(dirPath, item.name);
31
+ if (isHidden(fullPath, settings))
32
+ continue;
33
+ if (item.isDirectory()) {
34
+ const subEntries = await readDirRecursive(fullPath, rootDir, baseUrl, settings);
35
+ entries.push(...subEntries);
36
+ }
37
+ else if (item.name.endsWith(".md") ||
38
+ (item.name.endsWith(".mdx") && settings.mdx.enabled)) {
39
+ try {
40
+ const content = await fs.readFile(fullPath, "utf-8");
41
+ const parsed = matter(content);
42
+ // Only include files with a date in frontmatter (treat as blog posts)
43
+ if (!parsed.data.date)
44
+ continue;
45
+ const date = new Date(parsed.data.date);
46
+ if (isNaN(date.getTime()))
47
+ continue;
48
+ const relativePath = "/" + path.relative(rootDir, fullPath).replace(/\\/g, "/");
49
+ const urlPath = relativePath.replace(/\.(md|mdx)$/, "");
50
+ const fullUrl = `${baseUrl.replace(/\/$/, "")}${urlPath}`;
51
+ const title = parsed.data.title ||
52
+ parsed.content.match(/^#\s+(.+)$/m)?.[1] ||
53
+ item.name.replace(/\.\w+$/, "");
54
+ entries.push({
55
+ title,
56
+ url: fullUrl,
57
+ date,
58
+ description: parsed.data.description || "",
59
+ content: stripHtml(parsed.content.slice(0, 500)),
60
+ });
61
+ }
62
+ catch {
63
+ // Skip files that can't be read
64
+ }
65
+ }
66
+ }
67
+ return entries;
68
+ }
69
+ export async function generateFeed(rootDir, settings) {
70
+ const baseUrl = settings.site.baseUrl || "http://localhost:1900";
71
+ const feedUrl = settings.seo.rss?.feedUrl || "/feed.xml";
72
+ const siteUrl = settings.seo.rss?.siteUrl || baseUrl;
73
+ const entries = await readDirRecursive(rootDir, rootDir, baseUrl, settings);
74
+ // Sort by date, newest first
75
+ entries.sort((a, b) => b.date.getTime() - a.date.getTime());
76
+ // Take most recent 20
77
+ const recentEntries = entries.slice(0, 20);
78
+ const rssTitle = settings.seo.rss?.title || settings.site.title;
79
+ const rssDescription = settings.site.description || "RSS Feed";
80
+ const lastBuildDate = new Date().toUTCString();
81
+ const itemElements = recentEntries
82
+ .map((entry) => ` <item>
83
+ <title>${escapeXml(entry.title)}</title>
84
+ <link>${escapeXml(entry.url)}</link>
85
+ <pubDate>${entry.date.toUTCString()}</pubDate>
86
+ <guid>${escapeXml(entry.url)}</guid>
87
+ ${entry.description ? `<description>${escapeXml(entry.description)}</description>` : ""}
88
+ </item>`)
89
+ .join("\n");
90
+ return `<?xml version="1.0" encoding="UTF-8"?>
91
+ <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
92
+ <channel>
93
+ <title>${escapeXml(rssTitle)}</title>
94
+ <link>${escapeXml(siteUrl)}</link>
95
+ <description>${escapeXml(rssDescription)}</description>
96
+ <lastBuildDate>${lastBuildDate}</lastBuildDate>
97
+ <atom:link href="${escapeXml(baseUrl + feedUrl)}" rel="self" type="application/rss+xml" />
98
+ ${itemElements}
99
+ </channel>
100
+ </rss>`;
101
+ }
102
+ function escapeXml(text) {
103
+ return text
104
+ .replace(/&/g, "&amp;")
105
+ .replace(/</g, "&lt;")
106
+ .replace(/>/g, "&gt;")
107
+ .replace(/"/g, "&quot;")
108
+ .replace(/'/g, "&apos;");
109
+ }
110
+ //# sourceMappingURL=feed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed.js","sourceRoot":"","sources":["../../src/generators/feed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Settings } from "../settings/index.js";
2
+ export interface SearchEntry {
3
+ title: string;
4
+ href: string;
5
+ excerpt: string;
6
+ headings: string[];
7
+ content: string;
8
+ }
9
+ export declare function buildSearchIndex(rootDir: string, settings: Settings): Promise<SearchEntry[]>;
10
+ //# sourceMappingURL=search-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-index.d.ts","sourceRoot":"","sources":["../../src/generators/search-index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAuFD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAMxB"}