24 lines
979 B
Text
24 lines
979 B
Text
# Example: a concrete blog post metadata file.
|
|
#
|
|
# Uses make_post (Layer 2 overrides) — only provide fields that differ
|
|
# from defaults. The factory merges site defaults (Layer 1) then
|
|
# applies PostMetadata as a contract for type checking.
|
|
#
|
|
# Validate: nickel export example_post.ncl --format json | jq .
|
|
# Should produce a complete record with all defaults filled in.
|
|
|
|
let schema = import "post_metadata.ncl" in
|
|
|
|
schema.make_post {
|
|
title = "Modern Rust Web Development in 2024",
|
|
slug = "modern-rust-web-development-in-2024",
|
|
date = "2024-01-15",
|
|
category = "rust",
|
|
subtitle = "A comprehensive guide to building scalable web applications",
|
|
excerpt = "Explore the latest trends in Rust web development.",
|
|
content_file = "rust-web-development-2024.md",
|
|
read_time = "8 min read",
|
|
featured = true,
|
|
tags = ["rust", "web-development", "leptos", "axum"],
|
|
translations = { es = "desarrollo-web-rust-2024" },
|
|
}
|