Skip to main content

Default card

A default content card with a heading and optional description, image and buttons. It can be centered with a prop and is intended for use in columns or with a carousel wrapper.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

How to use

<Section class="mt-4 md:mt-12" columns={3}>
<Markdown class="md:col-span-3">

# Default card

A default content card with a heading and optional description. It can be centered with a prop and is intended for use in columns or with a carousel wrapper.

</Markdown>

import DefaultCard from "~/components/cards/Default.astro";

<DefaultCard
  image={{ src: PreviewImage, alt: "" }}
  heading="Sed do eiusmod tempor incididunt ut
labore"
  description="Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat."
  btns={[
    {
      href: "#more-examples",
      label: "Learn more",
      type: "secondary",
      icon: "material-symbols:arrow-right-alt",
    },
  ]}
/>
<DefaultCard
  image={{ src: PreviewImage, alt: "" }}
  heading="Sed do eiusmod tempor incididunt ut
labore"
  description="Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat."
  btns={[
    {
      href: "#more-examples",
      label: "Learn more",
      type: "secondary",
      icon: "material-symbols:arrow-right-alt",
    },
  ]}
/>
<DefaultCard
  image={{ src: PreviewImage, alt: "" }}
  heading="Sed do eiusmod tempor incididunt ut
labore"
  description="Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat."
  btns={[
    {
      href: "#more-examples",
      label: "Learn more",
      type: "secondary",
      icon: "material-symbols:arrow-right-alt",
    },
  ]}
/>

</Section>

Props

PropTypeDescription
btnsarray of objects(optional) An array of button objects to render. See below.
descriptionstring(optional) The component description or supporting text.
headingstringThe heading or title displayed by the component, usually a heading element <h1-4>
imageobject(optional) Image data for the component. See below.
layoutobject(optional) Layout data for the component. See below.
classstring(optional) Additional classes applied to the root <div>.
(extends)HTMLAttributes<"div">(optional) All standard HTML attributes for a <div>.

btn object

  • href — string
    The URL or path the button links to.
  • label — string
    The visible text on the button.
  • type"primary" | "secondary" | "text"
    Determines which button style component is rendered.

image object

  • srcImageMetadata
    The imported image metadata (output from Astro’s image import).
  • alt — string
    (optional) Alt text for the image, defaults to empty string "".

layout object

  • center — boolean (optional) Aligns card text center, default is false.
  • direction — “row” | “column”
    (optional) Displays component’s elements in a row or column, default is column.

More examples

2 Columns

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

3 Columns

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

4 Columns

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.


About MDX

astro-skeleton uses the @astrojs/mdx integration installed and configured in the astro.config.mjs config file.

Why MDX?

MDX is a special flavor of Markdown that supports embedded JavaScript & JSX syntax. This unlocks the ability to mix JavaScript and UI Components into Markdown content for things like interactive charts or alerts.

If you have existing content authored in MDX, this integration will hopefully make migrating a breeze.

Documentation