Install
装
@rho/md库 + 必要 / 可选依赖。
Required
npm install @rho/md
状态——尚未上 npm:
stl-md和@rho/md今天在 npm registry 上都解析不到,所以本节里的npm install与 CDN 行描述的是计划中的包,现在照着跑会失败。本节作为包发布之后的前瞻参考保留。
Peer dependencies (markdown pipeline)
@rho/md 用 unified 生态作为 markdown 解析器。这些是 peer dependency,需自己装:
npm install unified remark-parse remark-gfm remark-rehype rehype-stringify
| Package | 作用 |
|---|---|
unified |
pipeline 编排 |
remark-parse |
markdown → AST |
remark-gfm |
GitHub-flavored markdown 扩展(callout / table / 等) |
remark-rehype |
markdown AST → HTML AST |
rehype-stringify |
HTML AST → HTML 字符串 |
Optional dependencies
Vega-Lite chart 支持
要用 Interact + Vega-Lite chart:
npm install vega-embed
vega-embed 是 peer dependency optional。不装也不影响其他能力——只是 vega-lite template 不渲染。
STL syntax highlighting
npm install highlight.js
# 或
npm install lowlight
highlight.js 用于客户端高亮;lowlight 用于服务端 / build-time 高亮。
Manifest summary
最小 package.json(仅 Rho + 必需依赖):
{
"dependencies": {
"@rho/md": "^0.1.0",
"unified": "^11.0.5",
"remark-parse": "^11.0.0",
"remark-gfm": "^4.0.1",
"remark-rehype": "^11.0.0",
"rehype-stringify": "^10.0.0"
}
}
完整支持(含 chart + STL 高亮):
{
"dependencies": {
"@rho/md": "^0.1.0",
"unified": "^11.0.5",
"remark-parse": "^11.0.0",
"remark-gfm": "^4.0.1",
"remark-rehype": "^11.0.0",
"rehype-stringify": "^10.0.0",
"vega-embed": "^7.0.0",
"highlight.js": "^11.11.0"
}
}
TypeScript 支持
@rho/md 自带 .d.ts 类型声明——无需 @types/...,TypeScript 项目直接 import 即可。
import { hydrateAll, remarkPlugins } from '@rho/md';
import type { ProcessorOptions } from '@rho/md'; // 类型也可 import
CSS / 样式
import '@rho/md/css';
或在 HTML 直接 link(CDN / 静态托管时):
<link rel="stylesheet" href="path/to/@rho/md/css/stl-md.css">
详见 CSS theming.
浏览器目标
@rho/md build target 是 ES2020——支持:
- Chrome 80+
- Firefox 75+
- Safari 13.1+
- Edge 80+
Node.js: 18+。
旧浏览器 / Node 16- 请用 Babel / Vite plugin transpile。
CDN(暂不支持)
UMD bundle 计划在 @rho/md v0.2 发布——届时可:
<!-- v0.2 后可用 -->
<script src="https://cdn.jsdelivr.net/npm/@rho/[email protected]/dist/index.umd.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@rho/[email protected]/css/stl-md.css">
当前 v0.1 仅支持 ESM import。
检验装好
装完跑一个最简 sanity check:
import { remarkPlugins, hydrateAll } from '@rho/md';
console.log(remarkPlugins.length); // 应输出 7
console.log(typeof hydrateAll); // 应输出 "function"
如果两行都正常 → import 成功。
接下来
→ Quick start (unified pipeline) — 装完跑第一个 demo