Sections
Files: src/content/sections/english/ (and french/), page content files · Skill level: Beginner to edit, light code to add or move
A section is one full-width block of a page: a hero, a pricing table, an FAQ. Each section is two files that share a name:
src/layouts/components/sections/PlansSection.astro ← how it looks (component)src/content/sections/english/plans-section.md ← what it says (content)src/content/sections/french/plans-section.mdHow Kivo Works explains the idea in full. This page is the practical reference.
Change A Section Everywhere
Edit its file in src/content/sections/english/ (and french/). The comments in each file list every option and its allowed values.
Section files have no schema, so npm run astro-check doesn’t catch a wrong value in them, such as a misspelled layout. Copy values from the comments, then check the page in the browser.
Hide A Section
-
Everywhere: set
enable: falseat the top of its section file. -
On one page: add its block to that page’s file with
enable: false:questionsSection:enable: false -
On one page, for good: delete its line in the page’s route file in
src/pages/[...lang]/.
A page block can also turn a section back on for one page when the section file has enable: false.
Change A Section On One Page
Add a named block to the page’s content file, with only the keys you want to change. The block name is in the table below. Remember the merge rules: objects merge key by key, lists replace the whole list, and "" clears a value.
Copy the block name exactly. A block with a wrong name, for example teamSection: instead of teamGridSection:, is ignored without an error. npm run astro-check checks the values inside a correctly named block, except in the page files of src/content/contact/, faq/, and pricing/, which have no schema.
questionsSection: title: "How we keep your data safe" options: layout: "two-column"One Section, Several Content Files
The feature grid and the docs categories sections can read different content files, so the same design shows different lists:
| Section | Content files |
|---|---|
FeatureGridSection | feature-grid-section.md (homepage, pricing), security-section.md (homepage, security, features overview), benefits-section.md (careers), feature-bento-section.md (a ready-made bento grid, used by the /elements/ gallery and ready to place on a page) |
DocsCategoriesSection | docs-categories-section.md and docs-help-section.md (both on /docs/) |
The route picks the file with entry, for example <FeatureGridSection entry="security-section" />.
Add A Section To A Page
This is a small code edit in the page’s route file:
-
Import the component at the top, between the
---lines:import QuestionsSection from "@/components/sections/QuestionsSection.astro"; -
Place it where you want it, inside
<Base>:<QuestionsSection /> -
To give it page-specific content, read its block from the page file and pass it in:
<QuestionsSection content={entry?.data?.questionsSection} />
Building a brand-new section is a developer task: follow the “Add a new section” skill in SKILLS.md, or ask your AI assistant to.
Section Catalog
Every section, its content file in src/content/sections/<language>/, the block name a page uses to override it, and where it appears. Layout values are in Section Layouts.
Marketing And Homepage
| Section (component) | Content file | Page block | Used on |
|---|---|---|---|
Hero (HeroSaas) | hero-saas.md | heroSaas | The four homepages |
Logos (Clients) | clients.md | clientsSection | Homepages, customers, solution pages |
Steps (StepsSection) | steps-section.md | stepsSection | Homepage, AI homepage, features overview, feature and compare pages |
Stack (StackSection) | stack-section.md | stackSection | Homepage |
Platform (PlatformSection) | platform-section.md | platformSection | Homepage, features overview |
Metrics (MetricsSection) | metrics-section.md | metricsSection | Homepage, analytics homepage, careers, testimonials, customer stories |
Testimonials (CustomerQuotesSection) | customer-quotes-section.md | customerQuotesSection | Homepages, contact, customers, solutions, testimonials, feature and compare pages |
Code tabs (CodeTabsSection) | code-tabs-section.md | codeTabsSection | Homepage, API homepage, docs, features overview, feature and solution pages |
Feature grid (FeatureGridSection) | see above | featureGridSection | Homepages, pricing, security, careers, features, solutions, compare |
Regions (RegionsSection) | regions-section.md | regionsSection | Homepage |
Templates (TemplatesSection) | templates-section.md | templatesSection | Homepage, solution pages |
Pricing (PlansSection) | plans-section.md | plansSection | Homepages, pricing |
Plan comparison (PlanComparisonSection) | plan-comparison-section.md | planComparisonSection | Pricing, compare pages |
FAQ (QuestionsSection) | questions-section.md | questionsSection | Homepages, FAQ, pricing, security, solutions, compare |
Changelog preview (ChangelogSection) | changelog-section.md | changelogSection | Homepage |
Newsletter (NewsletterSection) | newsletter-section.md | newsletterSection | Blog pages, status |
Call to action (CallToAction) | call-to-action.md | ctaSection | Every page above the footer, except 404, /elements/, and the auth screens |
Product
| Section (component) | Content file | Page block | Used on |
|---|---|---|---|
Feature index (FeatureIndexSection) | feature-index-section.md | featureIndexSection | /services/, /solutions/ |
Feature hero (FeatureHeroSection) | feature-hero-section.md | featureHeroSection | Feature and solution pages |
Related features (RelatedFeaturesSection) | related-features-section.md | relatedFeaturesSection | Feature and solution pages |
Integrations directory (IntegrationsDirectorySection) | integrations-directory-section.md | integrationsDirectorySection | /integrations/ |
Build an integration (IntegrationsBuildSection) | integrations-build-section.md | integrationsBuildSection | /integrations/ |
Related integrations (RelatedIntegrationsSection) | related-integrations-section.md | relatedIntegrationsSection | Integration pages |
Compare list (CompareListSection) | compare-list-section.md | compareListSection | /compare/ |
Customers And Proof
| Section (component) | Content file | Page block | Used on |
|---|---|---|---|
Featured story (FeaturedStorySection) | featured-story-section.md | featuredStorySection | /customers/ |
Customer stories (CustomerStoriesSection) | customer-stories-section.md | customerStoriesSection | /customers/ |
Next stories (NextStorySection) | next-story-section.md | nextStorySection | Customer story pages |
Quote wall (QuoteWallSection) | quote-wall-section.md | quoteWallSection | /testimonials/ |
Company
| Section (component) | Content file | Page block | Used on |
|---|---|---|---|
About hero (AboutHeroSection) | about-hero-section.md | aboutHeroSection | /about/ |
Story (StorySection) | story-section.md | storySection | /about/ |
Values (ValuesSection) | values-section.md | valuesSection | /about/ |
Backers (BackersSection) | backers-section.md | backersSection | /about/ |
Careers band (CareersBandSection) | careers-band-section.md | careersBandSection | /about/, /team/ |
Open roles (OpenRolesSection) | open-roles-section.md | openRolesSection | /careers/ |
Team grid (TeamGridSection) | team-grid-section.md | teamGridSection | /team/ |
Resources
| Section (component) | Content file | Page block | Used on |
|---|---|---|---|
Docs hero (DocsHeroSection) | docs-hero-section.md | docsHeroSection | /docs/ |
Docs categories (DocsCategoriesSection) | see above | docsCategoriesSection, docsHelpSection | /docs/ |
Quickstarts (QuickstartSection) | quickstart-section.md | quickstartSection | /docs/ |
Blog list (BlogListSection) | blog-list-section.md | blogListSection | Blog list, category, and tag pages |
Related posts (RelatedPostsSection) | related-posts-section.md | relatedPostsSection | Blog posts |
Changelog list (ChangelogListSection) | changelog-list-section.md | changelogListSection | /changelog/ and tag pages |
Trust, Status, And Community
| Section (component) | Content file | Page block | Used on |
|---|---|---|---|
Compliance (ComplianceSection) | compliance-section.md | complianceSection | /security/ |
Disclosure (DisclosureSection) | disclosure-section.md | disclosureSection | /security/ |
Status (StatusSection) | status-section.md | statusSection | /status/ |
Incidents (IncidentsSection) | incidents-section.md | incidentsSection | /status/ |
Channels (CommunityChannelsSection) | community-channels-section.md | communityChannelsSection | /community/ |
Open source (OpenSourceSection) | open-source-section.md | openSourceSection | /community/ |
Events (CommunityEventsSection) | community-events-section.md | communityEventsSection | /community/ |
Contributors (ContributorsSection) | contributors-section.md | contributorsSection | /community/ |
Contact And System
| Section (component) | Content file | Page block | Used on |
|---|---|---|---|
Contact (ContactSection) | contact-section.md | contactSection | /contact/ |
Contact options (ContactOptionsSection) | contact-options-section.md | contactOptionsSection | /contact/ |
Not found (NotFoundSection) | not-found-section.md | notFoundSection | 404 pages |
Two more files in src/content/sections/ belong to site-wide widgets: announcement-bar.md (Header) and cookie-consent.md (Cookies & Analytics).