539 字
3 分钟
页面浏览--访问次数--
文件片段导入

文件片段导入语法允许在当前 Markdown 文章中引入其他文件的完整内容、行号切片或命名区块,极大提升长篇教程与公共配置文档的复用效率。

引入完整文件#

在文章中使用注释指令:

../../snippets/include-example.md

路径相对于当前文章的 index.md 所在目录书写。本站的示例片段位于 content/snippets/include-example.md,因此从 posts/markdown-include/ 出发需要向上两级。

渲染效果:

按行号切片引入#

只引入目标文件中指定范围的行:

<!-- @include: ../../snippets/include-example.md{5-9} -->

渲染效果:

行号从文件第一行开始计数(含首尾)。需要注意的是:行号会随片段文件被编辑而漂移,共享片段更推荐使用下面的命名区块方式。

按命名区块(Region)引入#

在源码中使用 #region 和 #endregion 标记公共区块:

src/example.ts
// #region auth-config
export const authConfig = {
enabled: true,
provider: 'github',
};
// #endregion

在 Markdown 中精准导入该区块:

<!-- @include: ../../snippets/include-example.md#public-api -->

渲染效果:

目标片段中的 #region public-api 与 #endregion public-api 之间的内容被精确提取,区块外的一行说明文字不会出现。

三种方式对照#

方式语法稳定性
完整文件@include: path.md高,内容整体同步
行号切片@include: path.md{10-25}低,插入或删除行会导致偏移
命名区块@include: path.md#region-name高,按标记提取,位置自由

典型用法#

  • 公共前置条件:把「环境依赖」段落放进 snippets/prerequisites.md,所有教程文章统一导入。
  • 配置片段:真实源码文件里标记 #region,文档直接引用,保证文档与代码永不脱节。
  • 多语言文章:中英文文章共享同一段代码示例,避免两处维护。

构建特性#

  • 所有的片段嵌入均在构建编译期完成,输出标准的静态 AST 节点。
  • 零运行时开销,代码高亮与行号完全同步生效。

第 19 篇,共 30 篇本文属于系列

文件片段导入
https://www.ariels.xyz/posts/markdown-include/
作者
Ariel
发布于
2026-10-05
许可协议
CC BY-NC-ND 4.0

分享文章

生成精美分享图或复制链接,与更多人分享本文。

继续阅读

沿着主题读

基于共同的标签与分类

换条路线

从其他文章中稳定抽取

评论

正在加载评论...