A short intro over a two column grid of four linked cards, each an image, a title and a line.
gallery, work, cards, grid
npx shadcn@latest add https://ner.sh/r/work-grid.json{
"registries": {
"@nertia": "https://ner.sh/r/{name}.json"
}
}npx shadcn@latest add @nertia/work-gridnpm create nersh@latest my-site -- --site https://nertia.ai/components/gallery/work-grid/site.json scaffolds a project from it.{
"slug": "work-grid",
"mode": "builder",
"status": "draft",
"skinId": "zinc",
"composition": {
"id": "work-grid",
"sections": [
{
"id": "layout-section",
"instanceId": "work-band-r1",
"layout": "stack",
"children": [
{
"id": "layout-container",
"instanceId": "work-intro-r1",
"layout": "stack",
"children": [
{
"id": "block-heading",
"instanceId": "work-heading-r1"
},
{
"id": "block-text",
"instanceId": "work-sub-r1"
}
]
},
{
"id": "layout-container",
"instanceId": "work-grid-r1",
"layout": "grid-2",
"children": [
{
"id": "block-card",
"instanceId": "work-1-r1",
"children": [
{
"id": "block-media",
"instanceId": "work-1-image-r1"
},
{
"id": "block-heading",
"instanceId": "work-1-title-r1"
},
{
"id": "block-text",
"instanceId": "work-1-body-r1"
}
]
},
{
"id": "block-card",
"instanceId": "work-2-r1",
"children": [
{
"id": "block-media",
"instanceId": "work-2-image-r1"
},
{
"id": "block-heading",
"instanceId": "work-2-title-r1"
},
{
"id": "block-text",
"instanceId": "work-2-body-r1"
}
]
},
{
"id": "block-card",
"instanceId": "work-3-r1",
"children": [
{
"id": "block-media",
"instanceId": "work-3-image-r1"
},
{
"id": "block-heading",
"instanceId": "work-3-title-r1"
},
{
"id": "block-text",
"instanceId": "work-3-body-r1"
}
]
},
{
"id": "block-card",
"instanceId": "work-4-r1",
"children": [
{
"id": "block-media",
"instanceId": "work-4-image-r1"
},
{
"id": "block-heading",
"instanceId": "work-4-title-r1"
},
{
"id": "block-text",
"instanceId": "work-4-body-r1"
}
]
}
]
}
],
"component": "work-grid@1"
}
]
},
"copy": {
"work-band-r1.coverImage": "",
"work-band-r1.coverStyle": "",
"work-band-r1.coverScrim": "",
"work-band-r1.anchor": "",
"work-band-r1.navLabel": "",
"work-band-r1.navHref": "",
"work-band-r1.navSkip": "",
"work-band-r1.landmark": "",
"work-band-r1.tone": "",
"work-band-r1.gutter": "",
"work-band-r1.shape": "",
"work-band-r1.padding": "",
"work-band-r1.sticky": "",
"work-band-r1.reveal": "",
"work-band-r1.dismissible": "",
"work-band-r1.width": "",
"work-band-r1.gradient": "",
"work-intro-r1.align": "center",
"work-intro-r1.phone": "",
"work-heading-r1.text": "A heading for this section",
"work-heading-r1.level": "",
"work-sub-r1.text": "One sentence that introduces this section.",
"work-sub-r1.textStyle": "",
"work-grid-r1.align": "",
"work-grid-r1.phone": "",
"work-1-r1.title": "",
"work-1-r1.body": "",
"work-1-r1.href": "#",
"work-1-r1.emphasis": "",
"work-1-r1.density": "",
"work-1-r1.align": "",
"work-1-r1.icon": "",
"work-1-image-r1.image": "",
"work-1-image-r1.alt": "Placeholder image",
"work-1-image-r1.caption": "",
"work-1-image-r1.frame": "",
"work-1-image-r1.initials": "",
"work-1-image-r1.href": "",
"work-1-image-r1.lightbox": "",
"work-1-image-r1.badge": "",
"work-1-title-r1.text": "Project one",
"work-1-title-r1.level": "h3",
"work-1-body-r1.text": "A sentence about this project.",
"work-1-body-r1.textStyle": "",
"work-2-r1.title": "",
"work-2-r1.body": "",
"work-2-r1.href": "#",
"work-2-r1.emphasis": "",
"work-2-r1.density": "",
"work-2-r1.align": "",
"work-2-r1.icon": "",
"work-2-image-r1.image": "",
"work-2-image-r1.alt": "Placeholder image",
"work-2-image-r1.caption": "",
"work-2-image-r1.frame": "",
"work-2-image-r1.initials": "",
"work-2-image-r1.href": "",
"work-2-image-r1.lightbox": "",
"work-2-image-r1.badge": "",
"work-2-title-r1.text": "Project two",
"work-2-title-r1.level": "h3",
"work-2-body-r1.text": "A sentence about this project.",
"work-2-body-r1.textStyle": "",
"work-3-r1.title": "",
"work-3-r1.body": "",
"work-3-r1.href": "#",
"work-3-r1.emphasis": "",
"work-3-r1.density": "",
"work-3-r1.align": "",
"work-3-r1.icon": "",
"work-3-image-r1.image": "",
"work-3-image-r1.alt": "Placeholder image",
"work-3-image-r1.caption": "",
"work-3-image-r1.frame": "",
"work-3-image-r1.initials": "",
"work-3-image-r1.href": "",
"work-3-image-r1.lightbox": "",
"work-3-image-r1.badge": "",
"work-3-title-r1.text": "Project three",
"work-3-title-r1.level": "h3",
"work-3-body-r1.text": "A sentence about this project.",
"work-3-body-r1.textStyle": "",
"work-4-r1.title": "",
"work-4-r1.body": "",
"work-4-r1.href": "#",
"work-4-r1.emphasis": "",
"work-4-r1.density": "",
"work-4-r1.align": "",
"work-4-r1.icon": "",
"work-4-image-r1.image": "",
"work-4-image-r1.alt": "Placeholder image",
"work-4-image-r1.caption": "",
"work-4-image-r1.frame": "",
"work-4-image-r1.initials": "",
"work-4-image-r1.href": "",
"work-4-image-r1.lightbox": "",
"work-4-image-r1.badge": "",
"work-4-title-r1.text": "Project four",
"work-4-title-r1.level": "h3",
"work-4-body-r1.text": "A sentence about this project.",
"work-4-body-r1.textStyle": ""
}
}
{
"slug": "work-grid",
"mode": "builder",
"status": "draft",
"skinId": "zinc",
"composition": {
"id": "work-grid",
"sections": [
{
"id": "layout-section",
"instanceId": "work-band-r1",
"layout": "stack",
"children": [
{
"id": "layout-container",
"instanceId": "work-intro-r1",
"layout": "stack",
"children": [
{
"id": "block-heading",
"instanceId": "work-heading-r1"
},
{
"id": "block-text",
"instanceId": "work-sub-r1"
}
]
},
{
"id": "layout-container",
"instanceId": "work-grid-r1",
"layout": "grid-2",
"children": [
{
"id": "block-card",
"instanceId": "work-1-r1",
"children": [
{
"id": "block-media",
"instanceId": "work-1-image-r1"
},
{
"id": "block-heading",
"instanceId": "work-1-title-r1"
},
{
"id": "block-text",
"instanceId": "work-1-body-r1"
}
]
},
{
"id": "block-card",
"instanceId": "work-2-r1",
"children": [
{
"id": "block-media",
"instanceId": "work-2-image-r1"
},
{
"id": "block-heading",
"instanceId": "work-2-title-r1"
},
{
"id": "block-text",
"instanceId": "work-2-body-r1"
}
]
},
{
"id": "block-card",
"instanceId": "work-3-r1",
"children": [
{
"id": "block-media",
"instanceId": "work-3-image-r1"
},
{
"id": "block-heading",
"instanceId": "work-3-title-r1"
},
{
"id": "block-text",
"instanceId": "work-3-body-r1"
}
]
},
{
"id": "block-card",
"instanceId": "work-4-r1",
"children": [
{
"id": "block-media",
"instanceId": "work-4-image-r1"
},
{
"id": "block-heading",
"instanceId": "work-4-title-r1"
},
{
"id": "block-text",
"instanceId": "work-4-body-r1"
}
]
}
]
}
],
"component": "work-grid@1"
}
]
},
"copy": {
"work-band-r1.coverImage": "",
"work-band-r1.coverStyle": "",
"work-band-r1.coverScrim": "",
"work-band-r1.anchor": "",
"work-band-r1.navLabel": "",
"work-band-r1.navHref": "",
"work-band-r1.navSkip": "",
"work-band-r1.landmark": "",
"work-band-r1.tone": "",
"work-band-r1.gutter": "",
"work-band-r1.shape": "",
"work-band-r1.padding": "",
"work-band-r1.sticky": "",
"work-band-r1.reveal": "",
"work-band-r1.dismissible": "",
"work-band-r1.width": "",
"work-band-r1.gradient": "",
"work-intro-r1.align": "center",
"work-intro-r1.phone": "",
"work-heading-r1.text": "A heading for this section",
"work-heading-r1.level": "",
"work-sub-r1.text": "One sentence that introduces this section.",
"work-sub-r1.textStyle": "",
"work-grid-r1.align": "",
"work-grid-r1.phone": "",
"work-1-r1.title": "",
"work-1-r1.body": "",
"work-1-r1.href": "#",
"work-1-r1.emphasis": "",
"work-1-r1.density": "",
"work-1-r1.align": "",
"work-1-r1.icon": "",
"work-1-image-r1.image": "",
"work-1-image-r1.alt": "Placeholder image",
"work-1-image-r1.caption": "",
"work-1-image-r1.frame": "",
"work-1-image-r1.initials": "",
"work-1-image-r1.href": "",
"work-1-image-r1.lightbox": "",
"work-1-image-r1.badge": "",
"work-1-title-r1.text": "Project one",
"work-1-title-r1.level": "h3",
"work-1-body-r1.text": "A sentence about this project.",
"work-1-body-r1.textStyle": "",
"work-2-r1.title": "",
"work-2-r1.body": "",
"work-2-r1.href": "#",
"work-2-r1.emphasis": "",
"work-2-r1.density": "",
"work-2-r1.align": "",
"work-2-r1.icon": "",
"work-2-image-r1.image": "",
"work-2-image-r1.alt": "Placeholder image",
"work-2-image-r1.caption": "",
"work-2-image-r1.frame": "",
"work-2-image-r1.initials": "",
"work-2-image-r1.href": "",
"work-2-image-r1.lightbox": "",
"work-2-image-r1.badge": "",
"work-2-title-r1.text": "Project two",
"work-2-title-r1.level": "h3",
"work-2-body-r1.text": "A sentence about this project.",
"work-2-body-r1.textStyle": "",
"work-3-r1.title": "",
"work-3-r1.body": "",
"work-3-r1.href": "#",
"work-3-r1.emphasis": "",
"work-3-r1.density": "",
"work-3-r1.align": "",
"work-3-r1.icon": "",
"work-3-image-r1.image": "",
"work-3-image-r1.alt": "Placeholder image",
"work-3-image-r1.caption": "",
"work-3-image-r1.frame": "",
"work-3-image-r1.initials": "",
"work-3-image-r1.href": "",
"work-3-image-r1.lightbox": "",
"work-3-image-r1.badge": "",
"work-3-title-r1.text": "Project three",
"work-3-title-r1.level": "h3",
"work-3-body-r1.text": "A sentence about this project.",
"work-3-body-r1.textStyle": "",
"work-4-r1.title": "",
"work-4-r1.body": "",
"work-4-r1.href": "#",
"work-4-r1.emphasis": "",
"work-4-r1.density": "",
"work-4-r1.align": "",
"work-4-r1.icon": "",
"work-4-image-r1.image": "",
"work-4-image-r1.alt": "Placeholder image",
"work-4-image-r1.caption": "",
"work-4-image-r1.frame": "",
"work-4-image-r1.initials": "",
"work-4-image-r1.href": "",
"work-4-image-r1.lightbox": "",
"work-4-image-r1.badge": "",
"work-4-title-r1.text": "Project four",
"work-4-title-r1.level": "h3",
"work-4-body-r1.text": "A sentence about this project.",
"work-4-body-r1.textStyle": ""
},
"ds": {}
}
import type { SectionRegistry } from '@nersh/render';
import { Component as BlockCard } from '@/sections/block-card/Component';
import { Component as BlockHeading } from '@/sections/block-heading/Component';
import { Component as BlockMedia } from '@/sections/block-media/Component';
import { Component as BlockText } from '@/sections/block-text/Component';
import { Component as LayoutContainer } from '@/sections/layout-container/Component';
import { Component as LayoutSection } from '@/sections/layout-section/Component';
export const registry: SectionRegistry = {
'block-card': BlockCard,
'block-heading': BlockHeading,
'block-media': BlockMedia,
'block-text': BlockText,
'layout-container': LayoutContainer,
'layout-section': LayoutSection,
};
"use client";
import { SiteRenderer } from "@nersh/render";
import { registry } from "./work-grid.registry";
import siteJson from "./work-grid.site.json";
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const site = siteJson as any;
export default function WorkGrid() {
return <SiteRenderer site={site} registry={registry} />;
}