90 lines
2 KiB
Text
90 lines
2 KiB
Text
|
|
# Site Configuration with KCL Schema
|
||
|
|
# This demonstrates type-safe configuration for the Web Builder Framework
|
||
|
|
|
||
|
|
schema NavItem:
|
||
|
|
title: str
|
||
|
|
url: str
|
||
|
|
icon?: str
|
||
|
|
external?: bool = False
|
||
|
|
|
||
|
|
schema SiteIdentity:
|
||
|
|
title: str
|
||
|
|
tagline: str
|
||
|
|
description: str
|
||
|
|
author: str
|
||
|
|
email: str
|
||
|
|
|
||
|
|
schema SocialLink:
|
||
|
|
platform: str
|
||
|
|
username: str
|
||
|
|
url: str
|
||
|
|
|
||
|
|
schema SiteFeatures:
|
||
|
|
analytics: bool
|
||
|
|
comments: bool
|
||
|
|
search: bool
|
||
|
|
|
||
|
|
schema SiteConfig:
|
||
|
|
identity: SiteIdentity
|
||
|
|
navigation: [NavItem]
|
||
|
|
social: [SocialLink]
|
||
|
|
features: SiteFeatures
|
||
|
|
|
||
|
|
# Site configuration data
|
||
|
|
site: SiteConfig = {
|
||
|
|
identity = {
|
||
|
|
title = "KCL Demo - Web Builder Framework"
|
||
|
|
tagline = "Type-safe configuration meets modern web development"
|
||
|
|
description = "Demonstration of KCL integration with Tera templates and Rust processing"
|
||
|
|
author = "Web Builder Framework Team"
|
||
|
|
email = "hello@webbuilder.dev"
|
||
|
|
}
|
||
|
|
|
||
|
|
navigation = [
|
||
|
|
{
|
||
|
|
title = "Home"
|
||
|
|
url = "/"
|
||
|
|
icon = "🏠"
|
||
|
|
}
|
||
|
|
{
|
||
|
|
title = "KCL Features"
|
||
|
|
url = "/kcl-features"
|
||
|
|
icon = "⚙️"
|
||
|
|
}
|
||
|
|
{
|
||
|
|
title = "Templates"
|
||
|
|
url = "/templates"
|
||
|
|
icon = "📄"
|
||
|
|
}
|
||
|
|
{
|
||
|
|
title = "GitHub"
|
||
|
|
url = "https://github.com/web-builder-framework"
|
||
|
|
icon = "🐙"
|
||
|
|
external = True
|
||
|
|
}
|
||
|
|
]
|
||
|
|
|
||
|
|
social = [
|
||
|
|
{
|
||
|
|
platform = "GitHub"
|
||
|
|
username = "web-builder-framework"
|
||
|
|
url = "https://github.com/web-builder-framework"
|
||
|
|
}
|
||
|
|
{
|
||
|
|
platform = "Twitter"
|
||
|
|
username = "webbuilderfw"
|
||
|
|
url = "https://twitter.com/webbuilderfw"
|
||
|
|
}
|
||
|
|
{
|
||
|
|
platform = "Discord"
|
||
|
|
username = "webbuilder"
|
||
|
|
url = "https://discord.gg/webbuilder"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
|
||
|
|
features = {
|
||
|
|
analytics = True
|
||
|
|
comments = False
|
||
|
|
search = True
|
||
|
|
}
|
||
|
|
}
|