Skip to content

如何创建自定义代码围栏

#obsidian/api/faq

示例代码

ts
export default class MyPlugin extends Plugin {
  async onload(): Promise<void> {
    // 第一个参数是"语言"标识,它会出现在\`\`\`反引号后面
    this.registerMarkdownCodeBlockHandler('myCodeFence', this.myCodeFenceProcessor);
  }
  
  registerMarkdownCodeBlockHandler(
    source: string, 
	el: HTMLElement, 
	ctx: MarkdownPostProcessorContext
  ): void {
    // 第一步:处理\`source\`
	// 第二步:将你想要的DOM元素附加到\`el\`上
  }
}