UNPKG

@paroicms/connector

Version:

An API to help build management tools for ParoiCMS instances

54 lines (53 loc) 1.81 kB
import type { BackendHookHandler, HeadTagsHandler, ParoiCmsPlugin, PluginLiquidFilterHandler, PluginLiquidTagReturnsHtmlHandler, PluginLiquidTagReturnsVarHandler, 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[]; liquidTags: RegisteredLiquidTag[]; 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 type RegisteredLiquidTag = RegisteredLiquidTagReturnsVar | RegisteredLiquidTagInjectHtml; export interface RegisteredLiquidTagInjectHtml { tagKind: "injectHtml"; tagName: string; handler: PluginLiquidTagReturnsHtmlHandler; } export interface RegisteredLiquidTagReturnsVar { tagKind: "assignToVar"; tagName: string; handler: PluginLiquidTagReturnsVarHandler; }