@devrelkit/remark-include-code

中文文档
0.1.2发布于 2026/05/22MITTypeScriptESM + CJS近 30 天下载 9079

将外部文件的代码添加到markdown/MDX的插件中,并带有区域切分和线高光通关.

中文使用文档
文档目录12 节
  1. 安装
  2. 使用量
  3. 区域标记
  4. 线条突出显示
  5. 整个文件包括:
  6. 其他元字段经过
  7. 选项
  8. rootDir
  9. highlightStyle
  10. 错误
  11. 为什么是评论插件?
  12. 许可证

@ devrelkit/remark- including-code (中文(简体) )

A 类 评论 插件中包含从外部文件到markdown / MDX的代码,带有命名区域切分和线高光通关.

经典问题: 文档中的代码样本与现实脱节, 因为它们在文档中以纯文本的形式存在。 此插件允许您将示例保留为 在 CI 中测试的真实源文件,然后在建设时把它们转换成文档.

安装

pnpm add -D @devrelkit/remark-include-code
# or
npm install --save-dev @devrelkit/remark-include-code

使用量

import { remark } from "remark";
import remarkIncludeCode from "@devrelkit/remark-include-code";

const file = await remark()
  .use(remarkIncludeCode, {
    /* options */
  })
  .process(markdown);

在下调 / MDX 中,将内置代码替换为 file= 关于围栏的指令:

```ts file=./examples/create-account.ts#region=create
```

插件读取 ./examples/create-account.ts (与平分文件有关) create 区域,并替换代码块正文。 栅栏保持了语言标记,因此下游亮点正常工作.

区域标记

源文件中的区域使用在大多数语言中中立的评论样式:

// #region create
const account = createAccount({ payer, lamports });
// #endregion create
# #region create
account = Account(payer=payer, lamports=1_000_000)
# #endregion create

插件选择注释符号( I)// 或者说 #)自动基于代码块的语言标记.

框外支持的语言 :

  • // - ts, tsx,打字机, js, js, jsx, javascript, 生锈, rs, c, cpp, go, java, s迅速, kotlin, scala, dart
  • # - py, python, s, bash, zsh, 红宝石, yaml, toml, r, perl

在一个文件中同名的多个区域被拼接(以空白行分隔)——用于将非相接的片段缝入一例.

区域中常见的领先缩进被剥去,所以一个缩入块内所定义的区域仍然会使冲出左出.

线条突出显示

添加 highlight= 以标记线条进行视觉强调:

```ts file=./examples/create-account.ts#region=create highlight=2-5,10
```

默认情况下,区域被附加到编码块元中,作为 {2-5,10},这就是 志纪, (中文(简体) ), rehype - pretty - 代码, (中文(简体) ), 虚拟新闻,以及 天体星光配置 highlightStyle 用于其他渲染器(见选项).

整个文件包括:

放下枪 #region=... 包含整个文件:

```ts file=./examples/full-script.ts
```

其他元字段经过

其它任何东西 file= 财务报告和审定财务报表 highlight= 保存在元字符串上 :

```ts title="Kit" file=./examples/foo.ts#region=create
```

• 产出保留 title="Kit" 像CodeHike那样的渲染器 <CodeTabs> 看看他们期待什么.

选项

interface PluginOptions {
  rootDir?: string;
  highlightStyle?:
    | "fence-meta"
    | "codehike"
    | ((ctx: HighlightContext) => HighlightResult);
}

rootDir

分辨率根用于 file= 路径。 默认正在处理的标记下文件的目录(建议) 。 如果您想要将实例集中到一个位置, 并用同一相对路径从任何地方引用它们, 请设置此选项 .

highlightStyle

怎么样 highlight= 输出中的土地范围 :

  • "fence-meta" (默认):附件 {2-5,10} 到代码块元字符串。 与Shiki相容,rehype-pretty-code,VitePress,Astro Starlight,以及大多数现代的标记下亮相相相容.
  • "codehike": 注射数 // !mark(N:M) (或 # !mark(N:M) 为散列语(hash-comment languages),位于每个突出显示范围以上,所以 代码标记的注解处理器来取取.
  • 函数:接收切片+范围+lang+元,返回最终代码+元. 将此用于任何其他渲染器或自定义注释格式.
import remarkIncludeCode, { type HighlightContext } from "@devrelkit/remark-include-code";

remark().use(remarkIncludeCode, {
  highlightStyle: (ctx: HighlightContext) => ({
    code: ctx.code,
    meta: `${ctx.meta} data-lines=${JSON.stringify(ctx.ranges)}`,
  }),
});

错误

当 :

  • file= 路径不能解析到可读文件
  • #region=... 源头不存在
  • highlight= 区域结构不正确 (abc, (中文(简体) ), 5-2页:1

全部围成 IncludeError 包含 markdown 文件路径, 所以创建失败将您指向已损坏的文档 .

为什么是评论插件?

remark 减值的一半 unified 生态系统。 它将标记分解为 AST(mdast),运行插件来转换那棵树,然后串行回放. MDX, Fumadocs, Docusaurus, Next.js, Astro, 以及大多数现代的标记下堆栈都在上面作曲—— 所以一个插件插件插槽通过一行连接到它们中 .use(...) 登记.

许可证

麻省理工学院

版本与发布记录

@devrelkit/remark-include-code 共发布 2 个版本,首次发布于 2026/05/01;过去 12 个月发布了 2 个版本。

版本发布日期距今
0.1.2latest2026/05/225 个月前
0.1.12026/05/016 个月前

关于 @devrelkit/remark-include-code 的常见问题

@devrelkit/remark-include-code 是什么?

将外部文件的代码添加到markdown/MDX的插件中,并带有区域切分和线高光通关.

如何安装 @devrelkit/remark-include-code?

在项目目录运行 npm install @devrelkit/remark-include-code,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:unified(^11.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@devrelkit/remark-include-code 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@devrelkit/remark-include-code 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@devrelkit/remark-include-code 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@devrelkit/remark-include-code 可以商用吗?

@devrelkit/remark-include-code 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@devrelkit/remark-include-code 的下载量有多少?

根据 npm 官方下载统计,@devrelkit/remark-include-code 在 2026/10/12 – 2026/11/10 这 30 天内被下载 9,079 次,日均约 303 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@devrelkit/remark-include-code 还在维护吗?

最新版本 0.1.2 发布于 2026/05/22(5 个月前);至今共发布 2 个版本,其中过去 12 个月发布了 2 个;首次发布于 2026/05/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。