UNPKG

@mdit/plugin-tab

Version:
78 lines (74 loc) 1.67 kB
import { Options, PluginWithOptions } from 'markdown-it'; import Renderer, { RenderRule } from 'markdown-it/lib/renderer.mjs'; import Token from 'markdown-it/lib/token.mjs'; interface MarkdownItTabData { /** * Title of tab * * Tab 标题 */ title: string; /** * Tab index * * Tab 索引 */ index: number; /** * Identifier of tab * * Tab 标识符 */ id: string | undefined; /** * Whether the tab is active * * Tab 是否激活 */ isActive: boolean; } interface MarkdownItTabInfo { /** * Which tab is active * * @description -1 means no tab is active * * 激活的 Tab * * @description -1 表示没有 Tab 激活 */ active: number; /** * Data of tabs * * Tab 数据 */ data: MarkdownItTabData[]; } interface MarkdownItTabOptions { /** * The name of the tab container. * * Tab 容器的名称。 */ name: string; /** * Tabs open render */ openRender?: (info: MarkdownItTabInfo, tokens: Token[], index: number, options: Options, env: any, self: Renderer) => string; /** * Tabs close render */ closeRender?: RenderRule; /** * tab open render */ tabOpenRender?: (data: MarkdownItTabData, tokens: Token[], index: number, options: Options, env: any, self: Renderer) => string; /** * tab close render */ tabCloseRender?: RenderRule; } declare const tab: PluginWithOptions<MarkdownItTabOptions>; export { tab }; export type { MarkdownItTabData, MarkdownItTabInfo, MarkdownItTabOptions };