253 lines
5.5 KiB
JSON
253 lines
5.5 KiB
JSON
{
|
|
"$schema": "https://emdashcms.com/seed.schema.json",
|
|
"version": "1",
|
|
"meta": {
|
|
"name": "EmDash CMS Demo",
|
|
"description": "A showcase of EmDash CMS - self-hosted, fully local, no cloud required",
|
|
"author": "EmDash Demo"
|
|
},
|
|
|
|
"settings": {
|
|
"title": "EmDash CMS Demo",
|
|
"tagline": "Self-hosted CMS for Astro - No cloud required, fully local"
|
|
},
|
|
|
|
"collections": [
|
|
{
|
|
"slug": "posts",
|
|
"label": "Posts",
|
|
"labelSingular": "Post",
|
|
"supports": ["drafts", "revisions", "search", "seo"],
|
|
"fields": [
|
|
{
|
|
"slug": "title",
|
|
"label": "Title",
|
|
"type": "string",
|
|
"required": true,
|
|
"searchable": true
|
|
},
|
|
{
|
|
"slug": "featured_image",
|
|
"label": "Featured Image",
|
|
"type": "image"
|
|
},
|
|
{
|
|
"slug": "content",
|
|
"label": "Content",
|
|
"type": "portableText",
|
|
"searchable": true
|
|
},
|
|
{
|
|
"slug": "excerpt",
|
|
"label": "Excerpt",
|
|
"type": "text"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"slug": "pages",
|
|
"label": "Pages",
|
|
"labelSingular": "Page",
|
|
"supports": ["drafts", "revisions", "search"],
|
|
"fields": [
|
|
{
|
|
"slug": "title",
|
|
"label": "Title",
|
|
"type": "string",
|
|
"required": true,
|
|
"searchable": true
|
|
},
|
|
{
|
|
"slug": "content",
|
|
"label": "Content",
|
|
"type": "portableText",
|
|
"searchable": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
|
|
"taxonomies": [
|
|
{
|
|
"name": "category",
|
|
"label": "Categories",
|
|
"labelSingular": "Category",
|
|
"hierarchical": true,
|
|
"collections": ["posts"],
|
|
"terms": [
|
|
{ "slug": "features", "label": "Features" },
|
|
{ "slug": "setup", "label": "Setup" },
|
|
{ "slug": "comparison", "label": "Comparison" }
|
|
]
|
|
}
|
|
],
|
|
|
|
"menus": [
|
|
{
|
|
"name": "primary",
|
|
"label": "Primary Navigation",
|
|
"items": [
|
|
{ "type": "custom", "label": "Home", "url": "/" },
|
|
{ "type": "custom", "label": "Features", "url": "/#features" },
|
|
{ "type": "custom", "label": "Admin", "url": "/_emdash/admin" }
|
|
]
|
|
}
|
|
],
|
|
|
|
"widgetAreas": [],
|
|
|
|
"sections": [],
|
|
|
|
"content": {
|
|
"pages": [
|
|
{
|
|
"id": "home",
|
|
"slug": "home",
|
|
"status": "published",
|
|
"data": {
|
|
"title": "EmDash CMS - Self-Hosted for Astro"
|
|
}
|
|
}
|
|
],
|
|
"posts": [
|
|
{
|
|
"id": "post-1",
|
|
"slug": "what-is-emdash",
|
|
"status": "published",
|
|
"data": {
|
|
"title": "What is EmDash CMS?",
|
|
"excerpt": "A fully self-hosted CMS for Astro. No cloud account required, no external dependencies.",
|
|
"featured_image": {
|
|
"$media": {
|
|
"url": "https://images.unsplash.com/photo-1555066931-4365d14bab8c?w=1200&h=800&fit=crop",
|
|
"alt": "Code on screen",
|
|
"filename": "what-is-emdash.jpg"
|
|
}
|
|
},
|
|
"content": [
|
|
{
|
|
"_type": "block",
|
|
"style": "normal",
|
|
"children": [
|
|
{
|
|
"_type": "span",
|
|
"text": "EmDash is a full-stack TypeScript CMS built on Astro. It gives you a complete admin panel, REST API, authentication, media library, and plugin system - all running on your own infrastructure."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"_type": "block",
|
|
"style": "h2",
|
|
"children": [{ "_type": "span", "text": "Key Features" }]
|
|
},
|
|
{
|
|
"_type": "block",
|
|
"style": "normal",
|
|
"children": [
|
|
{
|
|
"_type": "span",
|
|
"text": "- Fully self-hosted (SQLite, D1, Turso, PostgreSQL)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"_type": "block",
|
|
"style": "normal",
|
|
"children": [
|
|
{
|
|
"_type": "span",
|
|
"text": "- Admin panel at /_emdash/admin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"_type": "block",
|
|
"style": "normal",
|
|
"children": [
|
|
{
|
|
"_type": "span",
|
|
"text": "- Passkey-first auth with OAuth fallback"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"_type": "block",
|
|
"style": "normal",
|
|
"children": [
|
|
{
|
|
"_type": "span",
|
|
"text": "- Built-in MCP server for AI integration"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"taxonomies": {
|
|
"category": ["features"]
|
|
}
|
|
},
|
|
{
|
|
"id": "post-2",
|
|
"slug": "getting-started",
|
|
"status": "published",
|
|
"data": {
|
|
"title": "Getting Started with EmDash",
|
|
"excerpt": "Set up your first EmDash project in under 5 minutes.",
|
|
"featured_image": {
|
|
"$media": {
|
|
"url": "https://images.unsplash.com/photo-1517180102446-f3ece451e9d8?w=1200&h=800&fit=crop",
|
|
"alt": "Developer workspace",
|
|
"filename": "getting-started.jpg"
|
|
}
|
|
},
|
|
"content": [
|
|
{
|
|
"_type": "block",
|
|
"style": "normal",
|
|
"children": [
|
|
{
|
|
"_type": "span",
|
|
"text": "Getting started is simple. Choose a template, run the bootstrap command, and you're ready to go."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"taxonomies": {
|
|
"category": ["setup"]
|
|
}
|
|
},
|
|
{
|
|
"id": "post-3",
|
|
"slug": "emdash-vs-tina",
|
|
"status": "published",
|
|
"data": {
|
|
"title": "EmDash vs Tina CMS",
|
|
"excerpt": "Comparing fully self-hosted options for Astro.",
|
|
"featured_image": {
|
|
"$media": {
|
|
"url": "https://images.unsplash.com/photo-1558494949-ef010cbdcc31?w=1200&h=800&fit=crop",
|
|
"alt": "Two paths",
|
|
"filename": "comparison.jpg"
|
|
}
|
|
},
|
|
"content": [
|
|
{
|
|
"_type": "block",
|
|
"style": "normal",
|
|
"children": [
|
|
{
|
|
"_type": "span",
|
|
"text": "EmDash and Tina both integrate with Astro, but differ significantly in their approach to CMS."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"taxonomies": {
|
|
"category": ["comparison"]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
} |