website-htmx-rustelo-code/site/content/content-kinds.ncl
2026-07-10 03:44:13 +01:00

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