One narrow centered column: a photo, a name, a stack of full width links and a row of icons, over a social footer.
layout, links, stack, centered, social
npm create nersh@latest my-site -- --site https://nertia.ai/components/page-about/page-links/site.jsonnpx shadcn@latest add https://ner.sh/r/links-stack.json
npx shadcn@latest add https://ner.sh/r/footer-social.jsonnpm create nersh@latest my-site -- --site https://nertia.ai/components/page-about/page-links/site.json scaffolds a project from it.{
"slug": "page-links",
"mode": "builder",
"status": "draft",
"skinId": "zinc",
"composition": {
"id": "page-links",
"sections": [
{
"id": "layout-section",
"instanceId": "links-band-r1",
"layout": "centered",
"fullHeight": true,
"children": [
{
"id": "layout-column",
"instanceId": "links-column-r1",
"children": [
{
"id": "block-media",
"instanceId": "links-avatar-r1"
},
{
"id": "block-heading",
"instanceId": "links-name-r1"
},
{
"id": "block-text",
"instanceId": "links-tagline-r1"
},
{
"id": "block-button",
"instanceId": "links-1-r1"
},
{
"id": "block-button",
"instanceId": "links-2-r1"
},
{
"id": "block-button",
"instanceId": "links-3-r1"
},
{
"id": "block-button",
"instanceId": "links-4-r1"
},
{
"id": "block-button",
"instanceId": "links-5-r1"
}
]
},
{
"id": "layout-container",
"instanceId": "links-social-r1",
"layout": "cluster",
"gap": "flush",
"children": [
{
"id": "block-button",
"instanceId": "links-social-instagram-r1"
},
{
"id": "block-button",
"instanceId": "links-social-tiktok-r1"
},
{
"id": "block-button",
"instanceId": "links-social-youtube-r1"
},
{
"id": "block-button",
"instanceId": "links-social-mail-r1"
}
]
}
],
"component": "links-stack@1"
},
{
"id": "layout-section",
"instanceId": "footer-band-r2",
"fullBleed": true,
"children": [
{
"id": "layout-container",
"instanceId": "footer-row-r2",
"layout": "split",
"children": [
{
"id": "layout-column",
"instanceId": "footer-brand-col-r2",
"span": 6,
"children": [
{
"id": "block-brand",
"instanceId": "footer-brand-r2"
}
]
},
{
"id": "layout-column",
"instanceId": "footer-social-col-r2",
"span": 6,
"children": [
{
"id": "block-link-group",
"instanceId": "footer-social-links-r2"
}
]
}
]
}
],
"component": "footer-social@1"
}
]
},
"copy": {
"links-band-r1.coverImage": "",
"links-band-r1.coverStyle": "",
"links-band-r1.coverScrim": "",
"links-band-r1.anchor": "",
"links-band-r1.navLabel": "",
"links-band-r1.navHref": "",
"links-band-r1.navSkip": "",
"links-band-r1.landmark": "",
"links-band-r1.tone": "",
"links-band-r1.gutter": "",
"links-band-r1.shape": "",
"links-band-r1.padding": "",
"links-band-r1.sticky": "",
"links-band-r1.reveal": "",
"links-band-r1.dismissible": "",
"links-band-r1.width": "narrow",
"links-band-r1.gradient": "",
"links-column-r1.pad": "",
"links-column-r1.sticky": "",
"links-avatar-r1.image": "",
"links-avatar-r1.alt": "Placeholder image",
"links-avatar-r1.caption": "",
"links-avatar-r1.frame": "avatar",
"links-avatar-r1.initials": "",
"links-avatar-r1.href": "",
"links-avatar-r1.lightbox": "",
"links-avatar-r1.badge": "",
"links-name-r1.text": "Your name",
"links-name-r1.level": "h2",
"links-tagline-r1.text": "A one-line description of what you do.",
"links-tagline-r1.textStyle": "",
"links-1-r1.label": "Link one",
"links-1-r1.href": "#",
"links-1-r1.variant": "solid",
"links-1-r1.size": "",
"links-1-r1.tone": "",
"links-1-r1.width": "full",
"links-1-r1.icon": "",
"links-1-r1.iconOnly": "",
"links-2-r1.label": "Link two",
"links-2-r1.href": "#",
"links-2-r1.variant": "outline",
"links-2-r1.size": "",
"links-2-r1.tone": "",
"links-2-r1.width": "full",
"links-2-r1.icon": "",
"links-2-r1.iconOnly": "",
"links-3-r1.label": "Link three",
"links-3-r1.href": "#",
"links-3-r1.variant": "outline",
"links-3-r1.size": "",
"links-3-r1.tone": "",
"links-3-r1.width": "full",
"links-3-r1.icon": "",
"links-3-r1.iconOnly": "",
"links-4-r1.label": "Link four",
"links-4-r1.href": "#",
"links-4-r1.variant": "outline",
"links-4-r1.size": "",
"links-4-r1.tone": "",
"links-4-r1.width": "full",
"links-4-r1.icon": "",
"links-4-r1.iconOnly": "",
"links-5-r1.label": "Link five",
"links-5-r1.href": "#",
"links-5-r1.variant": "outline",
"links-5-r1.size": "",
"links-5-r1.tone": "",
"links-5-r1.width": "full",
"links-5-r1.icon": "",
"links-5-r1.iconOnly": "",
"links-social-r1.align": "",
"links-social-r1.phone": "",
"links-social-instagram-r1.label": "Instagram",
"links-social-instagram-r1.href": "#",
"links-social-instagram-r1.variant": "ghost",
"links-social-instagram-r1.size": "",
"links-social-instagram-r1.tone": "",
"links-social-instagram-r1.width": "",
"links-social-instagram-r1.icon": "instagram",
"links-social-instagram-r1.iconOnly": "true",
"links-social-tiktok-r1.label": "TikTok",
"links-social-tiktok-r1.href": "#",
"links-social-tiktok-r1.variant": "ghost",
"links-social-tiktok-r1.size": "",
"links-social-tiktok-r1.tone": "",
"links-social-tiktok-r1.width": "",
"links-social-tiktok-r1.icon": "tiktok",
"links-social-tiktok-r1.iconOnly": "true",
"links-social-youtube-r1.label": "YouTube",
"links-social-youtube-r1.href": "#",
"links-social-youtube-r1.variant": "ghost",
"links-social-youtube-r1.size": "",
"links-social-youtube-r1.tone": "",
"links-social-youtube-r1.width": "",
"links-social-youtube-r1.icon": "youtube",
"links-social-youtube-r1.iconOnly": "true",
"links-social-mail-r1.label": "Email",
"links-social-mail-r1.href": "#",
"links-social-mail-r1.variant": "ghost",
"links-social-mail-r1.size": "",
"links-social-mail-r1.tone": "",
"links-social-mail-r1.width": "",
"links-social-mail-r1.icon": "mail",
"links-social-mail-r1.iconOnly": "true",
"footer-band-r2.coverImage": "",
"footer-band-r2.coverStyle": "",
"footer-band-r2.coverScrim": "",
"footer-band-r2.anchor": "",
"footer-band-r2.navLabel": "",
"footer-band-r2.navHref": "",
"footer-band-r2.navSkip": "true",
"footer-band-r2.landmark": "footer",
"footer-band-r2.tone": "muted",
"footer-band-r2.gutter": "",
"footer-band-r2.shape": "",
"footer-band-r2.padding": "",
"footer-band-r2.sticky": "",
"footer-band-r2.reveal": "",
"footer-band-r2.dismissible": "",
"footer-band-r2.width": "",
"footer-band-r2.gradient": "",
"footer-row-r2.align": "",
"footer-row-r2.phone": "",
"footer-brand-col-r2.pad": "",
"footer-brand-col-r2.sticky": "",
"footer-brand-r2.wordmark": "Your Company",
"footer-brand-r2.wordmarkAccent": "",
"footer-brand-r2.logoImage": "",
"footer-brand-r2.tagline": "A one-line description of what you do.",
"footer-brand-r2.href": "#",
"footer-social-col-r2.pad": "",
"footer-social-col-r2.sticky": "",
"footer-social-links-r2.title": "Follow along",
"footer-social-links-r2.links": "[{\"label\":\"Social link one\",\"href\":\"#\"},{\"label\":\"Social link two\",\"href\":\"#\"},{\"label\":\"Social link three\",\"href\":\"#\"}]",
"footer-social-links-r2.direction": "row",
"footer-social-links-r2.icons": "social"
}
}
{
"slug": "links-stack",
"mode": "builder",
"status": "draft",
"skinId": "zinc",
"composition": {
"id": "links-stack",
"sections": [
{
"id": "layout-section",
"instanceId": "links-band-r1",
"layout": "centered",
"fullHeight": true,
"children": [
{
"id": "layout-column",
"instanceId": "links-column-r1",
"children": [
{
"id": "block-media",
"instanceId": "links-avatar-r1"
},
{
"id": "block-heading",
"instanceId": "links-name-r1"
},
{
"id": "block-text",
"instanceId": "links-tagline-r1"
},
{
"id": "block-button",
"instanceId": "links-1-r1"
},
{
"id": "block-button",
"instanceId": "links-2-r1"
},
{
"id": "block-button",
"instanceId": "links-3-r1"
},
{
"id": "block-button",
"instanceId": "links-4-r1"
},
{
"id": "block-button",
"instanceId": "links-5-r1"
}
]
},
{
"id": "layout-container",
"instanceId": "links-social-r1",
"layout": "cluster",
"gap": "flush",
"children": [
{
"id": "block-button",
"instanceId": "links-social-instagram-r1"
},
{
"id": "block-button",
"instanceId": "links-social-tiktok-r1"
},
{
"id": "block-button",
"instanceId": "links-social-youtube-r1"
},
{
"id": "block-button",
"instanceId": "links-social-mail-r1"
}
]
}
],
"component": "links-stack@1"
}
]
},
"copy": {
"links-band-r1.coverImage": "",
"links-band-r1.coverStyle": "",
"links-band-r1.coverScrim": "",
"links-band-r1.anchor": "",
"links-band-r1.navLabel": "",
"links-band-r1.navHref": "",
"links-band-r1.navSkip": "",
"links-band-r1.landmark": "",
"links-band-r1.tone": "",
"links-band-r1.gutter": "",
"links-band-r1.shape": "",
"links-band-r1.padding": "",
"links-band-r1.sticky": "",
"links-band-r1.reveal": "",
"links-band-r1.dismissible": "",
"links-band-r1.width": "narrow",
"links-band-r1.gradient": "",
"links-column-r1.pad": "",
"links-column-r1.sticky": "",
"links-avatar-r1.image": "",
"links-avatar-r1.alt": "Placeholder image",
"links-avatar-r1.caption": "",
"links-avatar-r1.frame": "avatar",
"links-avatar-r1.initials": "",
"links-avatar-r1.href": "",
"links-avatar-r1.lightbox": "",
"links-avatar-r1.badge": "",
"links-name-r1.text": "Your name",
"links-name-r1.level": "h2",
"links-tagline-r1.text": "A one-line description of what you do.",
"links-tagline-r1.textStyle": "",
"links-1-r1.label": "Link one",
"links-1-r1.href": "#",
"links-1-r1.variant": "solid",
"links-1-r1.size": "",
"links-1-r1.tone": "",
"links-1-r1.width": "full",
"links-1-r1.icon": "",
"links-1-r1.iconOnly": "",
"links-2-r1.label": "Link two",
"links-2-r1.href": "#",
"links-2-r1.variant": "outline",
"links-2-r1.size": "",
"links-2-r1.tone": "",
"links-2-r1.width": "full",
"links-2-r1.icon": "",
"links-2-r1.iconOnly": "",
"links-3-r1.label": "Link three",
"links-3-r1.href": "#",
"links-3-r1.variant": "outline",
"links-3-r1.size": "",
"links-3-r1.tone": "",
"links-3-r1.width": "full",
"links-3-r1.icon": "",
"links-3-r1.iconOnly": "",
"links-4-r1.label": "Link four",
"links-4-r1.href": "#",
"links-4-r1.variant": "outline",
"links-4-r1.size": "",
"links-4-r1.tone": "",
"links-4-r1.width": "full",
"links-4-r1.icon": "",
"links-4-r1.iconOnly": "",
"links-5-r1.label": "Link five",
"links-5-r1.href": "#",
"links-5-r1.variant": "outline",
"links-5-r1.size": "",
"links-5-r1.tone": "",
"links-5-r1.width": "full",
"links-5-r1.icon": "",
"links-5-r1.iconOnly": "",
"links-social-r1.align": "",
"links-social-r1.phone": "",
"links-social-instagram-r1.label": "Instagram",
"links-social-instagram-r1.href": "#",
"links-social-instagram-r1.variant": "ghost",
"links-social-instagram-r1.size": "",
"links-social-instagram-r1.tone": "",
"links-social-instagram-r1.width": "",
"links-social-instagram-r1.icon": "instagram",
"links-social-instagram-r1.iconOnly": "true",
"links-social-tiktok-r1.label": "TikTok",
"links-social-tiktok-r1.href": "#",
"links-social-tiktok-r1.variant": "ghost",
"links-social-tiktok-r1.size": "",
"links-social-tiktok-r1.tone": "",
"links-social-tiktok-r1.width": "",
"links-social-tiktok-r1.icon": "tiktok",
"links-social-tiktok-r1.iconOnly": "true",
"links-social-youtube-r1.label": "YouTube",
"links-social-youtube-r1.href": "#",
"links-social-youtube-r1.variant": "ghost",
"links-social-youtube-r1.size": "",
"links-social-youtube-r1.tone": "",
"links-social-youtube-r1.width": "",
"links-social-youtube-r1.icon": "youtube",
"links-social-youtube-r1.iconOnly": "true",
"links-social-mail-r1.label": "Email",
"links-social-mail-r1.href": "#",
"links-social-mail-r1.variant": "ghost",
"links-social-mail-r1.size": "",
"links-social-mail-r1.tone": "",
"links-social-mail-r1.width": "",
"links-social-mail-r1.icon": "mail",
"links-social-mail-r1.iconOnly": "true"
},
"ds": {}
}
import type { SectionRegistry } from '@nersh/render';
import { Component as BlockButton } from '@/sections/block-button/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 LayoutColumn } from '@/sections/layout-column/Component';
import { Component as LayoutContainer } from '@/sections/layout-container/Component';
import { Component as LayoutSection } from '@/sections/layout-section/Component';
export const registry: SectionRegistry = {
'block-button': BlockButton,
'block-heading': BlockHeading,
'block-media': BlockMedia,
'block-text': BlockText,
'layout-column': LayoutColumn,
'layout-container': LayoutContainer,
'layout-section': LayoutSection,
};
"use client";
import { SiteRenderer } from "@nersh/render";
import { registry } from "./links-stack.registry";
import siteJson from "./links-stack.site.json";
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const site = siteJson as any;
export default function LinksStack() {
return <SiteRenderer site={site} registry={registry} />;
}
{
"slug": "footer-social",
"mode": "builder",
"status": "draft",
"skinId": "zinc",
"composition": {
"id": "footer-social",
"sections": [
{
"id": "layout-section",
"instanceId": "footer-band-r1",
"fullBleed": true,
"children": [
{
"id": "layout-container",
"instanceId": "footer-row-r1",
"layout": "split",
"children": [
{
"id": "layout-column",
"instanceId": "footer-brand-col-r1",
"span": 6,
"children": [
{
"id": "block-brand",
"instanceId": "footer-brand-r1"
}
]
},
{
"id": "layout-column",
"instanceId": "footer-social-col-r1",
"span": 6,
"children": [
{
"id": "block-link-group",
"instanceId": "footer-social-links-r1"
}
]
}
]
}
],
"component": "footer-social@1"
}
]
},
"copy": {
"footer-band-r1.coverImage": "",
"footer-band-r1.coverStyle": "",
"footer-band-r1.coverScrim": "",
"footer-band-r1.anchor": "",
"footer-band-r1.navLabel": "",
"footer-band-r1.navHref": "",
"footer-band-r1.navSkip": "true",
"footer-band-r1.landmark": "footer",
"footer-band-r1.tone": "muted",
"footer-band-r1.gutter": "",
"footer-band-r1.shape": "",
"footer-band-r1.padding": "",
"footer-band-r1.sticky": "",
"footer-band-r1.reveal": "",
"footer-band-r1.dismissible": "",
"footer-band-r1.width": "",
"footer-band-r1.gradient": "",
"footer-row-r1.align": "",
"footer-row-r1.phone": "",
"footer-brand-col-r1.pad": "",
"footer-brand-col-r1.sticky": "",
"footer-brand-r1.wordmark": "Your Company",
"footer-brand-r1.wordmarkAccent": "",
"footer-brand-r1.logoImage": "",
"footer-brand-r1.tagline": "A one-line description of what you do.",
"footer-brand-r1.href": "#",
"footer-social-col-r1.pad": "",
"footer-social-col-r1.sticky": "",
"footer-social-links-r1.title": "Follow along",
"footer-social-links-r1.links": "[{\"label\":\"Social link one\",\"href\":\"#\"},{\"label\":\"Social link two\",\"href\":\"#\"},{\"label\":\"Social link three\",\"href\":\"#\"}]",
"footer-social-links-r1.direction": "row",
"footer-social-links-r1.icons": "social"
},
"ds": {}
}
import type { SectionRegistry } from '@nersh/render';
import { Component as BlockBrand } from '@/sections/block-brand/Component';
import { Component as BlockLinkGroup } from '@/sections/block-link-group/Component';
import { Component as LayoutColumn } from '@/sections/layout-column/Component';
import { Component as LayoutContainer } from '@/sections/layout-container/Component';
import { Component as LayoutSection } from '@/sections/layout-section/Component';
export const registry: SectionRegistry = {
'block-brand': BlockBrand,
'block-link-group': BlockLinkGroup,
'layout-column': LayoutColumn,
'layout-container': LayoutContainer,
'layout-section': LayoutSection,
};
"use client";
import { SiteRenderer } from "@nersh/render";
import { registry } from "./footer-social.registry";
import siteJson from "./footer-social.site.json";
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const site = siteJson as any;
export default function FooterSocial() {
return <SiteRenderer site={site} registry={registry} />;
}