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

要用 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