UNPKG

@paroicms/server

Version:
53 lines (52 loc) 1.74 kB
import type { BackendHookHandler, HeadTagsHandler, ParoiCmsPlugin, PluginLiquidFilterHandler, PluginOutLiquidTagHandler, PluginSetLiquidTagHandler, PluginStaticConfiguration, PublicApiHandler, RenderingHookHandler } from "@paroicms/public-server-lib"; export interface SitePlugin { pluginName: string; staticConfiguration: PluginStaticConfiguration; plugin: ParoiCmsPlugin; publicAssetsDir?: string; adminUiAssetsDir?: string; adminUiPluginBaseUrl?: string; slug: string; publicApiHandler?: PublicApiHandler; } export interface InitializingSitePlugin extends SitePlugin { initData: PluginInitData; } export interface PluginInitData { adminUiPluginBaseUrl?: string; liquidFilters: RegisteredLiquidFilter[]; outLiquidTagHandlers: RegisteredPluginOutLiquidTagHandler[]; setLiquidTagHandlers: RegisteredPluginSetLiquidTagHandler[]; headTagsHandlers: HeadTagsHandler[]; liquidRootDirectories: string[]; siteSchemaLibraryDirectories: string[]; hooks: RegisteredHook[]; renderingHooks: RegisteredRenderingHook[]; } export interface RegisteredHook { hookName: string; handler: BackendHookHandler<any, any, any>; options?: { replace?: boolean; }; } export interface RegisteredRenderingHook { hookName: string; handler: RenderingHookHandler; } export interface RegisteredLiquidFilter { filterName: string; handler: PluginLiquidFilterHandler; options?: { raw?: boolean; }; } export interface RegisteredPluginOutLiquidTagHandler { fnName: string; handler: PluginOutLiquidTagHandler; raw: boolean; } export interface RegisteredPluginSetLiquidTagHandler { fnName: string; handler: PluginSetLiquidTagHandler; }