46 lines
1.4 KiB
Text
46 lines
1.4 KiB
Text
# Content Types Configuration
|
|
#
|
|
# Defines different content types and their characteristics.
|
|
# Uses Nickel schemas for type safety, validation, and shared defaults.
|
|
|
|
let { make_blog_type, make_grid_type, make_tutorial_type, .. }
|
|
= import "content/defaults.ncl" in
|
|
let contracts = import "content/contracts.ncl" in
|
|
|
|
{
|
|
content_kinds = [
|
|
# Blog content type
|
|
# Articles, posts, tutorials with featured content support
|
|
make_blog_type "blog" "blog" "BlogCTAView",
|
|
|
|
# Recipes content type
|
|
# Grid layout for visual content with emoji support
|
|
make_grid_type "recipes" "recipes" "RecipesCTAView"
|
|
& {
|
|
features.use_emojis = true,
|
|
},
|
|
|
|
# Projects content type
|
|
# Grid layout for project showcase with featured support
|
|
make_grid_type "projects" "projects" "ProjectsCTAView"
|
|
& {
|
|
features.use_feature = true,
|
|
features.use_tags = true,
|
|
},
|
|
|
|
# Activities content type
|
|
# Grid layout for talks, workshops, and Slidev presentations
|
|
make_grid_type "activities" "activities" "ActivitiesCTAView"
|
|
& {
|
|
features.use_feature = true,
|
|
features.use_tags = true,
|
|
},
|
|
|
|
# Tutorials content type (specialized, in development) - DISABLED
|
|
# Uncomment when specialized content system is ready
|
|
# make_tutorial_type "tutorials" "tutorials" "TutorialsCTAView"
|
|
# & {
|
|
# enabled = false,
|
|
# },
|
|
]
|
|
} | contracts.ContentKindsFile
|