Skip to content

类型定义

图像 (Image)

ts
/**
 * 包含元数据和模糊图像的图像对象
 */
interface Image {
  /**
   * 图像的公开 URL
   */
  src: string
  /**
   * 图像宽度
   */
  width: number
  /**
   * 图像高度
   */
  height: number
  /**
   * 图像的模糊数据 URL
   */
  blurDataURL: string
  /**
   * 模糊图像宽度
   */
  blurWidth: number
  /**
   * 模糊图像高度
   */
  blurHeight: number
}

加载器 (Loader)

ts
/**
 * 文件加载器
 */
interface Loader {
  /**
   * 加载器名称
   * @description
   * 相同名称会覆盖内置加载器,
   * 内置加载器有:'json', 'yaml', 'matter'
   */
  name: string
  /**
   * 文件测试正则表达式
   * @example
   * /\.md$/
   */
  test: RegExp
  /**
   * 加载文件内容
   * @param file vfile 对象
   * @returns 条目或条目数组
   */
  load: (file: VFile) => Promisable<Entry | Entry[]>
}

VeliteFile

ts
interface ZodMeta extends VeliteFile {}

class VeliteFile extends VFile {
  /**
   * 从文件中获取解析后的记录
   */
  get records(): unknown

  /**
   * 获取文件内容
   */
  get content(): string | undefined

  /**
   * 从缓存中获取 mdast 对象
   */
  get mdast(): Root | undefined

  /**
   * 从缓存中获取 hast 对象
   */
  get hast(): Nodes | undefined

  /**
   * 从缓存中获取内容的纯文本
   */
  get plain(): string | undefined

  /**
   * 从缓存中获取元数据对象
   * @param path 文件路径
   * @returns 若存在则返回解析后的元数据对象
   */
  static get(path: string): VeliteFile | undefined

  /**
   * 从文件路径创建元数据对象
   * @param options 元数据选项
   * @returns 解析后的元数据对象
   */
  static async create({ path, config }: { path: string; config: Config }): Promise<VeliteFile>
}

Markdown 选项 (MarkdownOptions)

ts
/**
 * Markdown 选项
 */
interface MarkdownOptions {
  /**
   * 启用 GitHub 风格的 Markdown (GFM)。
   * @default true
   */
  gfm?: boolean
  /**
   * 移除 HTML 注释。
   * @default true
   */
  removeComments?: boolean
  /**
   * 将链接的文件复制到公共路径,并将其 URL 替换为公共 URL。
   * @default true
   */
  copyLinkedFiles?: boolean
  /**
   * Remark 插件列表。
   */
  remarkPlugins?: PluggableList
  /**
   * Rehype 插件列表。
   */
  rehypePlugins?: PluggableList
}

有关 remarkPluginsrehypePlugins 的更多信息,请参考 Unified

MDX 选项 (MdxOptions)

ts
/**
 * MDX 编译器选项
 */
export interface MdxOptions extends Omit<CompileOptions, 'outputFormat'> {
  /**
   * 启用 GitHub 风格的 Markdown (GFM)。
   * @default true
   */
  gfm?: boolean
  /**
   * 移除 HTML 注释。
   * @default true
   */
  removeComments?: boolean
  /**
   * 将链接的文件复制到公共路径,并将其 URL 替换为公共 URL。
   * @default true
   */
  copyLinkedFiles?: boolean
  /**
   * 要生成的输出格式。
   * @default 'function-body'
   */
  outputFormat?: CompileOptions['outputFormat']
}

有关 CompileOptions 的更多信息,请参考 MDX

Distributed under the MIT License.