File: src/blocks/footer/Footer01.astro
Site footer with tagline, email, social icons, headed link columns, and copyright. Defaults come from identity.ts → footer (plus site name / author / seo.sameAs). Wired in BaseLayout.
Each object in footer.groups is a column: label is the header, items are the links. Add as many groups as you need — the grid grows (up to four columns on large screens).
Config (identity.ts → footer)
footer: {
tagline: "Design-minded engineering for marketing sites.",
copyright: "© {year} Your Name",
groups: [
{
label: "Product",
items: [
{ href: "/themes/", label: "Themes" },
{ href: "/pricing/", label: "Pricing" },
{ href: "/docs/", label: "Documentation" },
],
},
{
label: "Company",
items: [
{ href: "/about/", label: "About" },
{ href: "/contact/", label: "Contact" },
],
},
{
label: "Resources",
items: [
{ href: "/docs/get-started/", label: "Get started" },
{ href: "/docs/customize/", label: "Customize" },
],
},
],
legal: [
{ label: "Terms", href: "/terms/" },
{ label: "Privacy", href: "/privacy/" },
{ label: "Accessibility", href: "/accessibility/" },
],
},
The bottom bar is copyright on the left and optional legal links (Terms, Privacy, …) on the right. Configure footer.legal or pass the legal prop. Same bar is used on Footer 04.
Add to a page
---
import Footer01 from "@/blocks/footer/Footer01.astro";
---
<Footer01 />
Props override matching keys from config:
<Footer01
tagline="…"
copyright="…"
email="hello@studio.com"
legal={[
{ label: "Terms", href: "/terms/" },
{ label: "Privacy", href: "/privacy/" },
]}
groups={[
{ label: "Navigate", items: [{ href: "/about/", label: "About" }] },
{ label: "Legal", items: [{ href: "/privacy/", label: "Privacy" }] },
]}
/>
Hide the email:
<Footer01 email={false} />
Props
| Prop | Config key | Type / values | Default / notes |
|---|---|---|---|
tagline |
footer.tagline |
string |
— |
copyright |
footer.copyright |
string |
— |
email |
author.email |
string | false |
Shown under the tagline. false or "" hides it |
groups |
footer.groups |
{ label, items: { href, label }[] }[] |
One column per group (header + links) |
socials |
seo.sameAs |
{ href, label, icon }[] |
Under the email |
legal |
footer.legal |
{ label, href }[] |
Inline links right of copyright. Pass [] to hide |
For a contact-details left column, see Footer 04.
