markdown-editor-preview
Version:
基于Vue3和TypeScript的Markdown预览编辑器,支持双向滚动同步、代码高亮和自定义渲染器,提供流畅的编辑和预览体验
55 lines (54 loc) • 2.26 kB
TypeScript
import { default as MarkdownIt } from 'markdown-it';
/**
* 给所有链接加上 rel="ugc,nofollow" 防止刷外链,推荐用于渲染第三方输入。
*
* https://support.google.com/webmasters/answer/96569?hl=zh-Hans
*/
export declare function ugc(md: MarkdownIt): void;
/**
* 给标题加上锚点,是对 markdown-it-anchor 的简单封装,做了一些自定义:
* - 链接元素放到了后面,让布局更容易。
* - 可以设置 env.docId 参数来给链接加前缀,避免单页里多个文章的锚点重复。
*
* TODO: TOC 还不支持 docId,生成的锚点无法点击导航。
*/
export declare function anchor(md: MarkdownIt): void;
/**
* 在文章的末尾添加一段显示所有脚注。因为可能用于评论,所以修改渲染函数去掉横线,
* 避免跟评论间的分隔混淆。
*
* 脚注段落有一个标题,其内容由 CSS 设置,你可以自己做本地化。
* ```css
* .footnotes:lang(zh)::before { content: "参考"; }
* ```
*
* 可以通过 md.render 的第二个参数中添加 docId 来给锚点添加前缀,避免冲突。
*
* @see https://www.markdownguide.org/extended-syntax/#footnotes
*/
export declare function footnote(md: MarkdownIt): void;
/**
* 一些小的、通用的调整,为了方便加样式,因为每个都没几行所以放一起了。
*
* - 行内代码加个 inline-code 类以便跟代码块区分。
* - 表格外层套上 div 这样就能加滚动条。
*/
export declare function styling(md: MarkdownIt): void;
export interface PresetOptions {
/**
* 如果为 true 则仅添加语法类插件,渲染的结果只有必要的标签,
* 用于给第三方阅读器使用(RSS,阅读模式……)。
*
* 反之则渲染出更丰富且有交互能力的 HTML,需要搭配样式表和激活。
*/
plain?: boolean;
/**
* 如果为 true 则移除一些用于长文的插件,并加入 UGC 防刷外链,
* 适用于用户评论等第三方输入。
*/
guest?: boolean;
}
/**
* 一次性添加其他所有 KFM 插件的插件(不包括 diagnostics.ts 里的),用于一些常见情况。
*/
export declare function kfmPreset(md: MarkdownIt, options?: PresetOptions): MarkdownIt;