UNPKG

markdown-editor-preview

Version:

基于Vue3和TypeScript的Markdown预览编辑器,支持双向滚动同步、代码高亮和自定义渲染器,提供流畅的编辑和预览体验

55 lines (54 loc) 2.26 kB
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;