Guide
Your site is configured and ready - now for the everyday work. Expand any topic below to see how content flows through Stardrive and which options unlock the more powerful features.
Writing blog postsMarkdown files with a powerful frontmatter
Each blog post is a Markdown file in ./src/content/articles/ (organised per language). The frontmatter unlocks the special functionality:
Frontmatter options
titlestringrequired- The article title.
publishDatedaterequired- The publication date, used for ordering and display.
updateDatedate- An optional "last updated" date.
excerptstring- A short teaser used in lists and previews.
draftbooleanspecial- Keeps the post out of production builds while you work on it.
featuredbooleanspecial- Highlights the post wherever featured articles are surfaced.
llmsTxtbooleanspecial- Includes the post in the generated
llms.txt(whenaddArticlesis set toselectedin the theme config). externalCanonicalstringSEO- Points the canonical URL elsewhere - ideal for cross-posted content.
slugstring- A cleaner custom slug. Include the language code, e.g.
en/my-post. i18nSlugobject- Only needed when the filename differs per language. Map each locale to its slug, e.g.
{ de: "de/mein-post", en: "en/my-post" }. image.filepathlocal- A local, build-optimized hero image. Reference it via the
@images/…alias, e.g.@images/content/articles/webmcp.jpg(recommended). image.urlstringexternal- An external hero image URL as an alternative to a local file.
image.altstring- Alt text for the hero image.
tagsstring[]- Tags for filtering and related content.
categoriesstring[]- Categories the article belongs to.
authorobject- Author
nameand optionalurl. tocDepthnumber- How many heading levels the table of contents includes.
---title: "How WebMCP changes the game"publishDate: 2026-01-15excerpt: "A short teaser for lists and previews."draft: falsefeatured: trueslug: "en/webmcp-changes-the-game"externalCanonical: "https://example.com/original-post"image: file: "@images/content/articles/webmcp.jpg" # local, optimized (recommended) # url: "https://cdn.example.com/webmcp.jpg" # external alternative alt: "Illustration of an AI agent using tools"tags: ["ai", "webmcp"]categories: ["engineering"]---
Your Markdown body goes here.Commit from anywhere
Because posts are just files, another system can commit Markdown into your repository - every push triggers a fresh build.
Embedding YouTube videos
Paste a YouTube URL on its own line in the Markdown body and Stardrive converts it into a privacy-friendly (no-cookie) responsive embed. Both youtube.com/watch?v=… and youtu.be/… links are supported, and optional t, list, and title query params are passed through. The visitor's locale is automatically used for the captions language (cc_lang_pref).
Write the URL without the https://www prefix - a full URL (e.g. https://www.youtube.com/watch?v=…) is treated as a regular external link instead of an embed.
Adding FAQ entriesJust like blog posts, only shorter
FAQ answers live in ./src/content/faq-answers/ as Markdown files - the same idea as blog posts, but with a lightweight schema. The question becomes the headline and the Markdown body is the answer.
Frontmatter options
questionstringrequired- The question text shown in the accordion.
categorystring- Groups the entry so it can be filtered on the FAQ page.
publishDatedate- An optional publication date.
updateDatedate- An optional "last updated" date.
draftbooleanspecial- Hides the entry from production builds.
llmsTxtbooleanspecial- Includes the entry in the generated
llms.txt.
---question: "Can I self-host Stardrive?"category: "general"draft: false---
Absolutely. Stardrive outputs a static site by default and runs on any host.Adding integrationsShow how your product connects to other services
When to use it
Use the integrations section when your product can be used or combined with other services - think automations, data sync, or native connectors. It gives visitors a browsable catalogue.
Structure
Content lives in ./src/content/integration-options/. Think category first, then services: the type field is the category - it both groups the entries and drives the routing (e.g. native, zapier, make, n8n). Each service is then its own Markdown file inside that category.
Frontmatter options
typestringrequired- The category the service belongs to - also used for routing, e.g.
native,zapier,make. servicestringrequired- The service name, e.g.
Google Sheets. titlestringrequired- The integration title.
descriptionstring- A short description of the integration.
urlstring- Link to the integration details or setup page.
publishDatedate- An optional publication date.
updateDatedate- An optional "last updated" date.
draftbooleanspecial- Hides the entry from production builds.
slugstring- A cleaner custom slug. Include the language code, e.g.
en/google-sheets. i18nSlugobject- Only needed when the filename differs per language, e.g.
{ de: "de/…", en: "en/…" }. logo.filepath- The service logo via the
@images/…alias (use an SVG as a component-friendly file). logo.urlstring- An external logo URL as an alternative to a local file.
logo.altstring- Alt text for the logo.
---type: "native"service: "Google Sheets"title: "Sync data to Google Sheets"description: "Push records into a spreadsheet in real time."url: "https://example.com/integrations/google-sheets"logo: file: "@images/content/integration-options/google-sheets.svg" alt: "Google Sheets logo"---Same service in multiple categories
A service can appear under more than one type (category) - just create one Markdown file per category. In that case the files must have different filenames, otherwise the entries collide. Give each a distinct name (or use a hashed filename plus a custom slug).
Pricing tablesFlexible tiers, taxes and billing periods
Not wired up yet
The pricing table is on the roadmap. This section explains the intended model so you can plan ahead.
You will be able to define different prices per tier - monthly, annually andlifetime - and show them with or without taxes. The presentation is fully configurable, so you decide what customers see.
Monthly
Annually
Lifetime
EventsMarkdown events, or mirror them from Add to Calendar PRO
Events work like blog posts: Markdown files in ./src/content/events/, i18n-ready, with one-click "Add to Calendar" buttons, time zones and rich detail pages.
Frontmatter options
titlestringrequired- The event title.
publishDatedaterequired- The publication date, used for ordering and display.
startDatedaterequired- When the event begins.
endDatedaterequired- When the event ends.
updateDatedate- An optional "last updated" date.
descriptionstring- Short description used for the shareable event (use the Markdown body for richer detail).
allDayboolean- Marks the event as all-day.
timeZonestring- A valid IANA time zone, e.g.
Europe/Berlin. locationstring- Where the event takes place.
organizerobject- Organizer
nameandemail. rrulestring- A recurrence rule, e.g.
FREQ=WEEKLY;BYDAY=MO,WE,FR. icsFilestring- Point to a static
.icsfile instead of generating one dynamically. slugstring- A cleaner custom slug. Include the language code, e.g.
en/my-event. i18nSlugobject- Only needed when the filename differs per language, e.g.
{ de: "de/…", en: "en/…" }. draftbooleanspecial- Keeps the event out of production builds while you work on it.
llmsTxtbooleanspecial- Includes the event in the generated
llms.txt. image.filepathlocal- A local, build-optimized image via the
@images/…alias. image.urlstringexternal- An external image URL as an alternative to a local file.
image.altstring- Alt text for the image.
---title: "Live webinar: Building for the AI age"publishDate: 2026-02-01startDate: 2026-02-20T17:00:00endDate: 2026-02-20T18:00:00timeZone: "Europe/Berlin"location: "Online"description: "Join our product team for a hands-on session."organizer: name: "Stardrive Team" email: "events@example.com"# rrule: "FREQ=WEEKLY;BYDAY=WE" # optional recurrenceimage: file: ./webinar.jpg alt: "Webinar cover"---
A rich, Markdown description of the event.Mirror from Add to Calendar PRO
Alternatively, connect Add to Calendar PROwith a filter on a specific event group. Events are then mirrored into the page dynamically - marketing can make changes in the web app with no re-deployment needed.
Great for webinars, corporate events, and investor-relations calendars.
