@mdwrk/lander-content-contract
v0.1.10
Published
Portable content contract types for product landing sites.
Maintainers
Readme
@mdwrk/lander-content-contract
Portable site and page content types
This package defines the site, page, section, schema, navigation, and FAQ types used by MdWrk lander surfaces.
Why
Use it when you need a content shape that is portable across compile-time, render-time, and source-content adapters.
What
- Product, page, section, FAQ, schema, and navigation types.
- A shared content boundary for the entire lander family.
- The contract consumed by the compiler, React package, SEO helpers, and markdown adapter.
Installation
Node.js 20.x through 22.x, matching the workspace engine contract in the root package manifest.
npm install @mdwrk/lander-content-contractUsage
import type { HeroSection, LanderSite } from "@mdwrk/lander-content-contract";
const hero: HeroSection = {
id: "hero",
kind: "hero",
title: "MdWrk",
subtitle: "Markdown workspace platform",
};
const site: LanderSite = {
product: {
name: "MdWrk",
slug: "mdwrk",
tagline: "Markdown workspace platform",
description: "Portable markdown authoring and publishing.",
category: "DeveloperTool",
canonicalUrl: "https://mdwrk.com",
},
pages: [],
};Structured Data Contract Rule
- Governed structured-data schemas are generated from the vendored Schema.org generator package and are the single hard validation surface.
- Inputs may include authoring helpers, but emitted JSON-LD must either map those helpers to real Schema.org properties or drop them entirely.
- Unsupported repo-local helpers are not allowed to leak into JSON-LD output. Current enforced examples include:
SearchResultsPage.querySolveMathAction.mathExpressionInputMemberProgram.provider
- Package-local proof rail:
npm run test:schema-conformance -w @mdwrk/lander-content-contract
Related
- Packages index - family and package navigation
- Root README - repo overview
