SHIP Sites

Block reference

The MDX components that SHIP Sites content can use, with the props of each website block.

Content uses only the components on the allow-list, and the components that mdxComponents in the site config names. The build parses each MDX file and stops on any other component name. A name inside a code block does not count.

All blocks take their colours and fonts from the theme, so a block looks like your brand with no props for style.

Website blocks

A website page is mostly blocks. Each block draws its own full-width band. Plain Markdown between two blocks sits in the page column.

content/pages/index.mdx
---
title: Home
description: What we do and how to start.
---

<Hero
  title="Everything you need, in one place"
  subtitle="Book, pay and keep track without a phone call."
  primary={{ label: "Get started", href: "/pricing/" }}
/>

An action is { label, href }. An image is { src, alt }. A prop with a question mark is optional.

Hero

The first band of a page: a large title, a line under it and up to two actions.

PropType
titlestring
subtitle?string
primary?action
secondary?action
image?image

FeatureGrid

Cards in a grid, each with a title and a short text.

PropType
title?string
intro?string
itemsarray of { title, text }

Steps

Numbered cards when you give items. With children, it is the numbered steps of a docs page, with a Step for each step.

PropType
title?string
items?array of { title, text }

Pricing

Plan cards. A plan with highlight has a border in the primary colour.

PropType
title?string
intro?string
plansarray of { name, price, period?, description?, features, action, highlight? }

Testimonials

Quotes from customers.

PropType
title?string
itemsarray of { quote, name, role? }

LogoCloud

A row of logos, each with an optional link.

PropType
title?string
logosarray of { src, alt, href? }

Stats

Large numbers, each with a label.

PropType
title?string
itemsarray of { value, label }

Faq

Questions that open to show the answer. The block also writes the questions as FAQPage structured data, from the same text that the page shows.

PropType
title?string
itemsarray of { q, a }

CallToAction

A band with a title, a short text and one action.

PropType
titlestring
text?string
actionaction

Team

People with their roles and optional photos.

PropType
title?string
membersarray of { name, role, image? }

Contact

An email link, a phone link and an address.

PropType
title?string
email?string
phone?string
address?string

Components for any page

These components work in pages, posts and docs.

ComponentUse
CalloutA note in a box.
FigureAn image with a caption. Props: src, alt, caption?.
ImageAn image that opens larger on a click.
LinkCardA card that links to a page. Props: title, href, description?.
Steps and StepNumbered steps.
Tabs and TabContent in tabs. Tabs takes items, and each Tab takes a value.
CodeGroupCode blocks in tabs.
VideoA video file with the browser's controls. Props: src, poster?, caption?.

A Markdown alert, such as > [!TIP], shows as a callout too.

How is this page?

On this page