46 lines
1.2 KiB
Plaintext
46 lines
1.2 KiB
Plaintext
|
|
let asset_kind_type = [|
|
||
|
|
'Logo,
|
||
|
|
'Icon,
|
||
|
|
'Diagram,
|
||
|
|
'Screenshot,
|
||
|
|
'Video,
|
||
|
|
'Document,
|
||
|
|
|] in
|
||
|
|
|
||
|
|
let template_kind_type = [|
|
||
|
|
'ModeStep,
|
||
|
|
'AgentPrompt,
|
||
|
|
'PublicationCard,
|
||
|
|
'ContentSection,
|
||
|
|
|] in
|
||
|
|
|
||
|
|
# A publishable asset: image, video, or document attached to a project.
|
||
|
|
# variants: alternative formats (e.g. "svg", "png@2x", "dark").
|
||
|
|
# publish_to: service ids from manifest.publication_services where this asset is deployed.
|
||
|
|
let content_asset_type = {
|
||
|
|
id | String,
|
||
|
|
kind | asset_kind_type,
|
||
|
|
source_path | String,
|
||
|
|
variants | Array String | default = [],
|
||
|
|
publish_to | Array String | default = [],
|
||
|
|
description | String | default = "",
|
||
|
|
} in
|
||
|
|
|
||
|
|
# A reusable Nickel template parameterised by named inputs.
|
||
|
|
# source_path: .ncl file that evaluates to the template function.
|
||
|
|
# parameters: declared input names the template accepts.
|
||
|
|
let content_template_type = {
|
||
|
|
id | String,
|
||
|
|
kind | template_kind_type,
|
||
|
|
source_path | String,
|
||
|
|
parameters | Array String | default = [],
|
||
|
|
description | String | default = "",
|
||
|
|
} in
|
||
|
|
|
||
|
|
{
|
||
|
|
AssetKind = asset_kind_type,
|
||
|
|
TemplateKind = template_kind_type,
|
||
|
|
ContentAsset = content_asset_type,
|
||
|
|
ContentTemplate = content_template_type,
|
||
|
|
}
|