diff --git a/quartz/plugins/types.ts b/quartz/plugins/types.ts index a23f5d6f4..8b995baf3 100644 --- a/quartz/plugins/types.ts +++ b/quartz/plugins/types.ts @@ -10,6 +10,7 @@ export interface PluginTypes { transformers: QuartzTransformerPluginInstance[] filters: QuartzFilterPluginInstance[] emitters: QuartzEmitterPluginInstance[] + parsers: QuartzParserPluginInstance[] } type OptionType = object | undefined @@ -45,3 +46,14 @@ export type QuartzEmitterPluginInstance = { resources: StaticResources, ): Promise> } + +export type QuartzParserPlugin = ( + opts?: Options, +) => QuartzParserPluginInstance +export type QuartzParserPluginInstance = { + name: string + textTransform: (ctx: BuildCtx, src: string | Buffer) => string | Buffer + markdownPlugins: (ctx: BuildCtx) => PluggableList + htmlPlugins: (ctx: BuildCtx) => PluggableList + externalResources: (ctx: BuildCtx) => Partial +}