Skip to content

Plugin

ts
type Plugin = object;

Defined in: server/config/plugin.ts:4 ↗

External imgit extension.

Properties

build()?

ts
optional build: (asset, merges?) => boolean | Promise<boolean>;

Defined in: server/config/plugin.ts:29 ↗

Custom asset HTML builder. Given encoded asset(s), build HTML (in-place for all the input assets) to replace captured syntax in the transformed document. May include additional merged assets when associated syntax were joined via "merge" spec. Return false when the builder can't handle the assets, in which case they'll be handled by next builders in the plugin chain.

Parameters

asset

BuiltAsset

merges?

BuiltAsset[]

Returns

boolean | Promise<boolean>


capture()?

ts
optional capture: (content, assets, id?) => boolean | Promise<boolean>;

Defined in: server/config/plugin.ts:8 ↗

Custom procedure to capture asset syntax. Given id (filename) and content (text) of transformed document populate provided assets array and return true or return false when can't handle the document, in which case it'll be handled by next procedures in the plugin chain.

Parameters

content

string

assets

CapturedAsset[]

id?

string

Returns

boolean | Promise<boolean>


encode()?

ts
optional encode: (asset) => boolean | Promise<boolean>;

Defined in: server/config/plugin.ts:24 ↗

Custom content encoder. Given probed asset, encodes and assigns full file paths to the encoded content files (in-place). Return false when the implementation can't encode the asset, in which case it'll be handled by next encoders in the plugin chain.

Parameters

asset

EncodedAsset

Returns

boolean | Promise<boolean>


fetch()?

ts
optional fetch: (asset) => boolean | Promise<boolean>;

Defined in: server/config/plugin.ts:16 ↗

Custom asset downloader. Given resolved asset, fetches source content and assigns file's full path on local file system to the asset (in-place). Return false when the fetcher can't handle the asset, in which case it'll be handled by next fetchers in the plugin chain.

Parameters

asset

FetchedAsset

Returns

boolean | Promise<boolean>


inject()?

ts
optional inject: () => PluginInjection[];

Defined in: server/config/plugin.ts:40 ↗

When specified, will inject specified client-side content when plugged to bundlers.

Returns

PluginInjection[]


probe()?

ts
optional probe: (asset) => boolean | Promise<boolean>;

Defined in: server/config/plugin.ts:20 ↗

Custom content info resolver. Given fetched asset, resolves and assigns media content information (in-place). Return false when the implementation can't or shouldn't handle the asset, in which case it'll be handled by next probe handlers in the plugin chain.

Parameters

asset

ProbedAsset

Returns

boolean | Promise<boolean>


resolve()?

ts
optional resolve: (asset) => boolean | Promise<boolean>;

Defined in: server/config/plugin.ts:12 ↗

Custom asset resolver. Given captured asset syntax, resolves asset type, content locations and specs (in-place). Return false when the resolver can't handle the asset, in which case it'll be handled by next resolvers in the plugin chain.

Parameters

asset

ResolvedAsset

Returns

boolean | Promise<boolean>


rewrite()?

ts
optional rewrite: (content, assets, id?) => string | null | Promise<string | null>;

Defined in: server/config/plugin.ts:38 ↗

Custom procedure to rewrite captured assets syntax with built HTML. Given id (filename) and content (text) of transformed document return overwritten content or false when can't handle the case, in which case it'll be handled by next procedures in the plugin chain.

Parameters

content

string

assets

BuiltAsset[]

id?

string

Returns

string | null | Promise<string | null>


serve()?

ts
optional serve: (path, asset) => null | Promise<string | null>;

Defined in: server/config/plugin.ts:34 ↗

Custom asset server. Given full path to a content file and associated asset info, return URL under which the file will be served and prepare the file to be served (eg, copy to the static assets dir or upload to a CDN). Return null when the server can't handle the asset, in which case it'll be handled by next servers in the plugin chain.

Parameters

path

string

asset

Readonly<BuiltAsset>

Returns

null | Promise<string | null>