You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用typedoc-plugin-markdown时,如何修改扁平化输出的相对链接格式?

修改TypeDoc+typedoc-plugin-markdown扁平化输出的链接格式为./xxx.md

方案1:自定义Markdown主题(推荐,原生优雅)

通过继承typedoc-plugin-markdown的MarkdownTheme类,重写链接生成方法,为本地.md链接统一添加./前缀:

  1. 创建自定义主题类:
import { MarkdownTheme } from 'typedoc-plugin-markdown';
import type { PageEvent } from 'typedoc';

export class CustomMarkdownTheme extends MarkdownTheme {
  override getRelativeUrl(from: PageEvent, to: PageEvent | string): string {
    const originalUrl = super.getRelativeUrl(from, to);
    // 仅处理本地.md文件链接,跳过外部链接、锚点和已带./的链接
    if (
      originalUrl &&
      !originalUrl.startsWith('http') &&
      !originalUrl.startsWith('#') &&
      !originalUrl.startsWith('./') &&
      originalUrl.endsWith('.md')
    ) {
      return `./${originalUrl}`;
    }
    return originalUrl;
  }
}
  1. 在编程式调用TypeDoc时注册并使用该主题:
import { Application } from 'typedoc';
import { CustomMarkdownTheme } from './path/to/custom-theme';

const app = await Application.bootstrapWithPlugins(
  {
    entryPoints: ['./src/index.ts'],
    out: './docs',
    plugin: ['typedoc-plugin-markdown'],
    flattenOutputFiles: true,
    theme: 'custom-local-link', // 自定义主题标识名
  },
  []
);

// 注册自定义主题到TypeDoc渲染器
app.renderer.defineTheme('custom-local-link', CustomMarkdownTheme);

await app.generateDocs();

方案2:使用渲染后钩子修改内容

利用TypeDoc的page.rendered钩子,在页面渲染完成后替换链接格式:

import { Application } from 'typedoc';

const app = await Application.bootstrapWithPlugins(
  {
    entryPoints: ['./src/index.ts'],
    out: './docs',
    plugin: ['typedoc-plugin-markdown'],
    flattenOutputFiles: true,
  },
  []
);

// 注册页面渲染完成钩子,替换链接
app.renderer.hooks.on('page.rendered', (page) => {
  page.contents = page.contents.replace(
    // 匹配未带./、http、#的.md链接
    /\[([^\]]+)\]\((?!http|#|\.\/)([^)]+\.md)\)/g,
    '[$1](./$2)'
  );
});

await app.generateDocs();

说明

  • 方案1从链接生成的根源修改,覆盖所有TypeDoc生成的内部链接,兼容性和可靠性更强,是最推荐的原生方案。
  • 方案2属于文本替换,适合快速需求,但需注意正则表达式的匹配范围,避免误改其他链接。

内容的提问来源于stack exchange,提问作者GaddBox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 03:42:32