Files
emdash-patch-imageupload/templates/portfolio/seed/seed.json
kunthawat 2d1be52177 Emdash source with visual editor image upload fix
Fixes:
1. media.ts: wrap placeholder generation in try-catch
2. toolbar.ts: check r.ok, display error message in popover
2026-05-03 10:44:54 +07:00

501 lines
12 KiB
JSON

{
"$schema": "https://emdashcms.com/seed.schema.json",
"version": "1",
"meta": {
"name": "Portfolio Starter",
"description": "A portfolio for showcasing creative work",
"author": "EmDash"
},
"settings": {
"title": "Studio",
"tagline": "Design & Development"
},
"collections": [
{
"slug": "projects",
"label": "Projects",
"labelSingular": "Project",
"supports": ["drafts", "revisions", "search", "seo"],
"fields": [
{
"slug": "title",
"label": "Title",
"type": "string",
"required": true,
"searchable": true
},
{
"slug": "featured_image",
"label": "Featured Image",
"type": "image",
"required": true
},
{
"slug": "client",
"label": "Client",
"type": "string"
},
{
"slug": "year",
"label": "Year",
"type": "string"
},
{
"slug": "summary",
"label": "Summary",
"type": "text",
"searchable": true
},
{
"slug": "content",
"label": "Content",
"type": "portableText",
"searchable": true
},
{
"slug": "gallery",
"label": "Gallery",
"type": "json"
},
{
"slug": "url",
"label": "Project URL",
"type": "string"
}
]
},
{
"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": false,
"collections": ["projects"],
"terms": [
{
"slug": "branding",
"label": "Branding"
},
{
"slug": "web",
"label": "Web Design"
},
{
"slug": "print",
"label": "Print"
},
{
"slug": "photography",
"label": "Photography"
}
]
},
{
"name": "tag",
"label": "Tags",
"labelSingular": "Tag",
"hierarchical": false,
"collections": ["projects"],
"terms": [
{
"slug": "identity",
"label": "Identity"
},
{
"slug": "ui-ux",
"label": "UI/UX"
},
{
"slug": "development",
"label": "Development"
},
{
"slug": "art-direction",
"label": "Art Direction"
},
{
"slug": "packaging",
"label": "Packaging"
},
{
"slug": "ecommerce",
"label": "E-commerce"
},
{
"slug": "editorial",
"label": "Editorial"
}
]
}
],
"menus": [
{
"name": "primary",
"label": "Primary Navigation",
"items": [
{
"type": "custom",
"label": "Work",
"url": "/work"
},
{
"type": "custom",
"label": "Contact",
"url": "/contact"
}
]
}
],
"content": {
"pages": [
{
"id": "about",
"slug": "about",
"status": "published",
"data": {
"title": "About",
"content": [
{
"_type": "block",
"style": "normal",
"children": [
{
"_type": "span",
"text": "We are a small design studio focused on creating meaningful work for thoughtful clients. Founded in 2020, we've had the privilege of working with brands across technology, culture, and the arts.",
"_key": "k1"
}
],
"_key": "k0"
},
{
"_type": "block",
"style": "normal",
"children": [
{
"_type": "span",
"text": "Our approach is simple: listen carefully, think deeply, and craft with intention. We believe that good design is invisible — it gets out of the way and lets the work speak for itself.",
"_key": "k3"
}
],
"_key": "k2"
},
{
"_type": "block",
"style": "h2",
"children": [
{
"_type": "span",
"text": "What we do",
"_key": "k5"
}
],
"_key": "k4"
},
{
"_type": "block",
"style": "normal",
"children": [
{
"_type": "span",
"text": "We specialize in brand identity, web design, and art direction. Whether you need a complete visual identity or a single website, we bring the same level of care and attention to every project.",
"_key": "k7"
}
],
"_key": "k6"
}
]
}
}
],
"projects": [
{
"id": "meridian-brand",
"slug": "meridian-brand",
"status": "published",
"data": {
"title": "Meridian",
"client": "Meridian Collective",
"year": "2024",
"summary": "A complete brand identity for a creative collective bringing together artists and technologists.",
"featured_image": {
"$media": {
"url": "https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1200&h=900&fit=crop",
"alt": "Meridian cover image",
"filename": "photo-1558618666-fcd25c85cd64.jpg"
}
},
"content": [
{
"_type": "block",
"style": "normal",
"children": [
{
"_type": "span",
"text": "Meridian Collective needed a visual identity that could bridge the gap between traditional art and emerging technology. The challenge was to create something that felt timeless yet forward-looking.",
"_key": "k1"
}
],
"_key": "k0"
},
{
"_type": "block",
"style": "h2",
"children": [
{
"_type": "span",
"text": "The approach",
"_key": "k3"
}
],
"_key": "k2"
},
{
"_type": "block",
"style": "normal",
"children": [
{
"_type": "span",
"text": "We developed a wordmark that combines classical typography with subtle geometric forms. The color palette draws from both digital interfaces and natural materials, creating a bridge between worlds.",
"_key": "k5"
}
],
"_key": "k4"
},
{
"_type": "block",
"style": "h2",
"children": [
{
"_type": "span",
"text": "The result",
"_key": "k7"
}
],
"_key": "k6"
},
{
"_type": "block",
"style": "normal",
"children": [
{
"_type": "span",
"text": "The new identity has been applied across print and digital touchpoints, from business cards to a fully responsive website. Meridian has received positive feedback from both artists and technologists alike.",
"_key": "k9"
}
],
"_key": "k8"
}
]
},
"taxonomies": {
"category": ["branding"],
"tag": ["identity", "art-direction"]
}
},
{
"id": "volta-web",
"slug": "volta-web",
"status": "published",
"data": {
"title": "Volta",
"client": "Volta Energy",
"year": "2024",
"summary": "Website design for a renewable energy startup making clean power accessible to everyone.",
"featured_image": {
"$media": {
"url": "https://images.unsplash.com/photo-1497366216548-37526070297c?w=1200&h=900&fit=crop",
"alt": "Volta cover image",
"filename": "photo-1497366216548-37526070297c.jpg"
}
},
"url": "https://volta.example.com",
"content": [
{
"_type": "block",
"style": "normal",
"children": [
{
"_type": "span",
"text": "Volta is on a mission to make renewable energy accessible to everyone. They needed a website that could explain complex technology simply while inspiring trust in potential customers.",
"_key": "k1"
}
],
"_key": "k0"
},
{
"_type": "block",
"style": "h2",
"children": [
{
"_type": "span",
"text": "Design principles",
"_key": "k3"
}
],
"_key": "k2"
},
{
"_type": "block",
"style": "normal",
"children": [
{
"_type": "span",
"text": "We focused on clarity and warmth. The design uses generous whitespace and a vibrant green accent that evokes growth and sustainability without feeling clichéd.",
"_key": "k5"
}
],
"_key": "k4"
}
]
},
"taxonomies": {
"category": ["web"],
"tag": ["ui-ux", "development"]
}
},
{
"id": "archive-print",
"slug": "archive-print",
"status": "published",
"data": {
"title": "The Archive",
"client": "City Museum",
"year": "2023",
"summary": "Exhibition catalog and print materials for a retrospective on modernist architecture.",
"featured_image": {
"$media": {
"url": "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=1200&h=900&fit=crop",
"alt": "The Archive cover image",
"filename": "photo-1507003211169-0a1dd7228f2d.jpg"
}
},
"content": [
{
"_type": "block",
"style": "normal",
"children": [
{
"_type": "span",
"text": "The Archive was a major exhibition at the City Museum, showcasing 50 years of modernist architecture through photographs, drawings, and models. We designed the complete print identity.",
"_key": "k1"
}
],
"_key": "k0"
},
{
"_type": "block",
"style": "h2",
"children": [
{
"_type": "span",
"text": "The catalog",
"_key": "k3"
}
],
"_key": "k2"
},
{
"_type": "block",
"style": "normal",
"children": [
{
"_type": "span",
"text": "The 240-page catalog uses a strict grid system inspired by the work being exhibited. Full-bleed photography alternates with dense text spreads, creating a rhythm that echoes the exhibition layout.",
"_key": "k5"
}
],
"_key": "k4"
}
]
},
"taxonomies": {
"category": ["print"],
"tag": ["editorial", "art-direction"]
}
},
{
"id": "coastal-photo",
"slug": "coastal-photo",
"status": "published",
"data": {
"title": "Coastal",
"client": "Personal Project",
"year": "2023",
"summary": "A photographic study of the Pacific coastline, exploring the intersection of land, sea, and sky.",
"featured_image": {
"$media": {
"url": "https://images.unsplash.com/photo-1505142468610-359e7d316be0?w=1200&h=900&fit=crop",
"alt": "Coastal cover image",
"filename": "photo-1505142468610-359e7d316be0.jpg"
}
},
"content": [
{
"_type": "block",
"style": "normal",
"children": [
{
"_type": "span",
"text": "Coastal began as a weekend project and grew into a year-long exploration of the Pacific shoreline. Shot entirely on medium format film, the series captures the quiet drama of the coast.",
"_key": "k1"
}
],
"_key": "k0"
},
{
"_type": "block",
"style": "h2",
"children": [
{
"_type": "span",
"text": "Process",
"_key": "k3"
}
],
"_key": "k2"
},
{
"_type": "block",
"style": "normal",
"children": [
{
"_type": "span",
"text": "Each image was made at dawn or dusk, when the light is softest and the beaches are empty. The slow process of shooting film encourages patience and intentionality — qualities that show in the final work.",
"_key": "k5"
}
],
"_key": "k4"
}
]
},
"taxonomies": {
"category": ["photography"],
"tag": ["art-direction", "editorial"]
}
}
]
}
}