export interface ITocItem { /** * 锚点的 hash */ anchor: string; /** * mardkown h标签 innerHTML */ content: string; i: 0; lvl: 1; seen: 0; /** * 小写 innerHTML */ slug: "hi"; /** * 高亮 */ active?: boolean; } /** * props 注释元信息 */ export interface IPropMeta { /** * 声明属性是否必须 对应 ts ? */ required?: boolean; /** * @name 参数名称 */ name?: string; /** * @type 类型 */ type?: string; /** * @description 说明 */ description?: string; /** * @default 默认值 */ default?: string; /** * @version 版本 */ version?: string | number; } /** * 组件🎄 */ export interface ICompoTree { [key: string]: ICompoMetadata; } /** * ICompoTree Item */ export interface ICompoMetadata { /** * 组件 props 信息 */ props: IPropMeta[] | []; /** * markdown 文件目录 table of content */ toc: []; } export interface ITree { /** * 组件🎄 */ compoTree: ICompoTree; /** * 文件🎄,最小粒度更新 */ fileTree?: {}; /** * 路由🎄,根据 menuTree 生成 */ routerList: IRoute[]; /** * 插件配置 */ config?: { title: string; subTitle: string; }; } export interface IRoute { name: string; path: string; active: boolean; } export type TToc = { content: string; slug: string; lvl: 1 | 2; i?: number; seen?: number; active?: boolean; anchor: string; }; export interface ICustomPage { path: string; src: string; title: string; }