Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
c96597e
update english deploy guides with service and scaffold new test compo…
sarah11918 Nov 18, 2025
8c37dfc
update de and es deploy guides to include `service`
sarah11918 Nov 18, 2025
823760b
add service to more translated guides
sarah11918 Nov 18, 2025
e305ed4
more ko translations
sarah11918 Nov 18, 2025
88b006f
all ko translations done
sarah11918 Nov 18, 2025
df4a75a
all translations except zh-cn
sarah11918 Nov 18, 2025
f11ebfb
all translated guides now have service property
sarah11918 Nov 18, 2025
f263fdc
remove static paragraph text
sarah11918 Nov 18, 2025
c5bdd61
remove unused import
sarah11918 Nov 19, 2025
5b80d27
Merge branch 'main' into deploy-guides-alpha
sarah11918 Nov 19, 2025
9356d20
add service to new translated guide
sarah11918 Nov 19, 2025
9a48991
component working with hardcoded supports array
sarah11918 Nov 19, 2025
5545d3f
works by setting a default static value in the schema
sarah11918 Nov 19, 2025
6768d3f
updated two test cases, they seem to work
sarah11918 Nov 19, 2025
112d3ff
all deploy guides updated to include a supports array
sarah11918 Nov 19, 2025
967dac3
removed default supports value; all files working on their own
sarah11918 Nov 19, 2025
c5cfc3b
completely replace nav component; fix one guide
sarah11918 Nov 19, 2025
f74f429
remove old list of services from component
sarah11918 Nov 19, 2025
90f35bb
consistent not Google Firebase not hosting
sarah11918 Nov 20, 2025
24eaeef
rename Deno Deploy label
sarah11918 Nov 20, 2025
7976a7d
feat: deploy logo
HiDeoo Nov 20, 2025
7a99a24
Update _redirects
sarah11918 Nov 20, 2025
810bbbc
committing Firebase rename while I can, even though there might be er…
sarah11918 Nov 20, 2025
2a094cf
add Firebase to redirects
sarah11918 Nov 20, 2025
6fbaba3
Merge branch 'main' into deploy-guides-alpha
sarah11918 Nov 24, 2025
cc3f8f9
convert new Seenode translation to new format
sarah11918 Nov 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions public/_redirects
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@
/:lang/reference/experimental-flags/svg/ /:lang/guides/images/
/:lang/reference/experimental-flags/serialized-configuration/ /:lang/reference/modules/astro-config/
/:lang/reference/experimental-flags/responsive-images/ /:lang/guides/images/
/:lang/guides/deploy/sst/ /:lang/guides/deploy/aws-via-sst/
/:lang/guides/deploy/flightcontrol/ /:lang/guides/deploy/aws-via-flightcontrol/
/:lang/guides/deploy/google-firebase/ /:lang/guides/deploy/firebase/


# Very old docs site redirects
Expand Down
65 changes: 16 additions & 49 deletions src/components/DeployGuidesNav.astro
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
---
import { englishPages } from '~/content';
import { getLanguageFromURL } from '~/util/path-utils';
import { isDeployEntry } from '~/content.config';
import CardsNav from './NavGrid/CardsNav.astro';
import type { LogoKey } from '~/data/logos';

export interface Props {
minimal?: boolean;
Expand All @@ -10,54 +11,20 @@ export interface Props {
const { minimal } = Astro.props as Props;

const lang = getLanguageFromURL(Astro.url.pathname);
const enPages = englishPages.filter(isDeployEntry);

interface Service {
title: string;
slug: LogoKey;
supports: ['ssr', 'static'] | ['ssr'] | ['static'];
}

const services: Service[] = [
{ title: 'Netlify', slug: 'netlify', supports: ['ssr', 'static'] },
{ title: 'Vercel', slug: 'vercel', supports: ['ssr', 'static'] },
{ title: 'Deno Deploy', slug: 'deno', supports: ['ssr', 'static'] },
{ title: 'GitHub Pages', slug: 'github', supports: ['static'] },
{ title: 'GitLab Pages', slug: 'gitlab', supports: ['static'] },
{ title: 'Cloudflare Pages', slug: 'cloudflare', supports: ['ssr', 'static'] },
{ title: 'AWS', slug: 'aws', supports: ['ssr', 'static'] },
{ title: 'AWS via Flightcontrol', slug: 'flightcontrol', supports: ['ssr', 'static'] },
{ title: 'AWS via SST', slug: 'sst', supports: ['ssr', 'static'] },
{ title: 'Clever Cloud', slug: 'clever-cloud', supports: ['ssr', 'static'] },
{ title: 'Azion', slug: 'azion', supports: ['ssr', 'static'] },
{ title: 'Google Cloud', slug: 'google-cloud', supports: ['ssr', 'static'] },
{ title: 'Google Firebase', slug: 'google-firebase', supports: ['ssr', 'static'] },
{ title: 'Heroku', slug: 'heroku', supports: ['static'] },
{ title: 'Microsoft Azure', slug: 'microsoft-azure', supports: ['static'] },
{ title: 'Buddy', slug: 'buddy', supports: ['static'] },
{ title: 'DeployHQ', slug: 'deployhq', supports: ['static'] },
{ title: 'Fleek', slug: 'fleek', supports: ['static'] },
{ title: 'Fly.io', slug: 'flyio', supports: ['ssr', 'static'] },
{ title: 'Juno', slug: 'juno', supports: ['static'] },
{ title: 'Railway', slug: 'railway', supports: ['ssr', 'static'] },
{ title: 'Render', slug: 'render', supports: ['static'] },
{ title: 'Stormkit', slug: 'stormkit', supports: ['static'] },
{ title: 'Surge', slug: 'surge', supports: ['static'] },
{ title: 'Cleavr', slug: 'cleavr', supports: ['ssr', 'static'] },
{ title: 'Kinsta', slug: 'kinsta', supports: ['ssr', 'static'] },
{ title: 'Zeabur', slug: 'zeabur', supports: ['ssr', 'static'] },
{ title: 'Zerops', slug: 'zerops', supports: ['ssr', 'static'] },
{ title: 'CloudRay', slug: 'cloudray', supports: ['static'] },
{ title: 'Seenode', slug: 'seenode', supports: ['ssr'] },
{ title: 'Zephyr', slug: 'zephyr', supports: ['static'] },
];
const links = enPages
// Sort alphabetically.
.sort((a, b) => (a.id > b.id ? 1 : -1))
.map((page) => {
const { logo, sidebar, supports } = page.data;
if (!sidebar.label) throw new Error('Deploy guides must always include a sidebar label.');
const pageUrl = '/' + page.id.replace('en/', `${lang}/`) + '/';
const tags = Object.fromEntries(supports.map((s) => [s, Astro.locals.t(`deploy.${s}Tag`)!]));
return { title: sidebar.label, href: pageUrl, logo, tags };
});
---

<CardsNav
minimal={minimal}
links={services.map(({ title, slug, supports }) => ({
title,
href: `/${lang}/guides/deploy/${slug}/`,
logo: slug,
tags: Object.fromEntries(supports.map((s) => [s, Astro.locals.t(`deploy.${s}Tag`)!])),
}))}
/>
<section>
<CardsNav minimal={minimal} links={links} />
</section>
5 changes: 5 additions & 0 deletions src/content.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { docsSchema, i18nSchema } from '@astrojs/starlight/schema';
import { defineCollection, z, type CollectionEntry } from 'astro:content';
import { file } from 'astro/loaders';
import { AstroDocsI18nSchema } from './content/i18n-schema';
import { logoKeys } from './data/logos';

export const baseSchema = z.object({
type: z.literal('base').optional().default('base'),
Expand All @@ -23,6 +24,8 @@ export const baseSchema = z.object({

export const deploySchema = baseSchema.extend({
type: z.literal('deploy'),
logo: z.enum(logoKeys),
supports: z.array(z.enum(['static', 'ssr'])),
});

export const backendSchema = baseSchema.extend({
Expand Down Expand Up @@ -121,6 +124,8 @@ export const isBackendEntry = createIsDocsEntry('backend');

export const isCmsEntry = createIsDocsEntry('cms');

export const isDeployEntry = createIsDocsEntry('deploy');

export const isIntegrationEntry = createIsDocsEntry('integration');

export const isTutorialEntry = createIsDocsEntry('tutorial');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
title: Veröffentliche deine Astro-Website mit Flightcontrol auf AWS
description: Wie du deine Astro-Website mit Flightcontrol auf AWS veröffentlichst
sidebar:
label: Flightcontrol
label: AWS via Flightcontrol
type: deploy
logo: flightcontrol
supports: ['ssr', 'static']
i18nReady: true
---

Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/de/guides/deploy/buddy.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: Wie du deine Astro-Website mit Buddy im Internet veröffentlichst.
sidebar:
label: Buddy
type: deploy
logo: buddy
supports: ['static']
i18nReady: true
---

Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/de/guides/deploy/cleavr.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: Wie du deine Astro-Website mit Cleavr auf deinem VPS-Server bereits
sidebar:
label: Cleavr
type: deploy
logo: cleavr
supports: ['ssr', 'static']
i18nReady: true
---

Expand Down
4 changes: 3 additions & 1 deletion src/content/docs/de/guides/deploy/deno.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
title: Veröffentliche deine Astro-Website auf Deno
description: Wie du deine Astro-Webseite mit Deno im Internet veröffentlichst.
sidebar:
label: Deno
label: Deno Deploy
type: deploy
logo: deno
supports: ['ssr', 'static']
i18nReady: true
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
title: Veröffentliche deine Astro-Website auf Google's Firebase Hosting
description: Wie du deine Astro-Website auf Firebase-Hosting von Google im Internet veröffentlichst.
type: deploy
logo: firebase
supports: ['static', 'ssr']
sidebar:
label: Firebase
i18nReady: true
---

Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/de/guides/deploy/gitlab.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: Anleitung zur Veröffentlichung deiner Astro-Website mittels GitLab
sidebar:
label: GitLab Pages
type: deploy
logo: gitlab
supports: ['static']
i18nReady: true
---

Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/de/guides/deploy/google-cloud.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: Wie du deine Astro-Website auf Google Cloud im Internet veröffentl
sidebar:
label: Google Cloud
type: deploy
logo: google-cloud
supports: ['ssr', 'static']
i18nReady: true
---

Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/de/guides/deploy/heroku.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: Wie du deine Astro-Website auf Heroku im Internet veröffentlichst.
sidebar:
label: Heroku
type: deploy
logo: heroku
supports: ['static']
i18nReady: true
---

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/en/guides/backend/google-firebase.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { FileTree } from '@astrojs/starlight/components';

[Firebase](https://firebase.google.com/) is an app development platform that provides a NoSQL database, authentication, realtime subscriptions, functions, and storage.

See our separate guide for [deploying to Firebase hosting](/en/guides/deploy/google-firebase/).
See our separate guide for [deploying to Firebase hosting](/en/guides/deploy/firebase/).

## Initializing Firebase in Astro

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
title: Deploy your Astro Site to AWS with Flightcontrol
description: How to deploy your Astro site to AWS with Flightcontrol
sidebar:
label: Flightcontrol
label: AWS via Flightcontrol
type: deploy
logo: flightcontrol
supports: ['ssr', 'static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
title: Deploy your Astro Site to AWS with SST
description: How to deploy your Astro site to AWS with SST
sidebar:
label: SST
label: AWS via SST
type: deploy
logo: sst
supports: ['ssr', 'static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/aws.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web using AWS.
sidebar:
label: AWS
type: deploy
logo: aws
supports: ['ssr', 'static']
i18nReady: true
---
import ReadMore from '~/components/ReadMore.astro';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/azion.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web using Azion.
sidebar:
label: Azion
type: deploy
logo: azion
supports: ['ssr', 'static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/buddy.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web using Buddy.
sidebar:
label: Buddy
type: deploy
logo: buddy
supports: ['static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/cleavr.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to your VPS server using Cleavr.
sidebar:
label: Cleavr
type: deploy
logo: cleavr
supports: ['ssr', 'static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/clever-cloud.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web on Clever Cloud.
sidebar:
label: Clever Cloud
type: deploy
logo: clever-cloud
supports: ['static', 'ssr']
i18nReady: true
---
import { Tabs, TabItem, Steps } from '@astrojs/starlight/components';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/cloudflare.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web using Cloudflare
sidebar:
label: Cloudflare
type: deploy
logo: cloudflare
supports: ['ssr', 'static']
i18nReady: true
---
import ReadMore from '~/components/ReadMore.astro';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/cloudray.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to your Ubuntu Server using CloudRay
sidebar:
label: CloudRay
type: deploy
logo: cloudray
supports: ['static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
4 changes: 3 additions & 1 deletion src/content/docs/en/guides/deploy/deno.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
title: Deploy your Astro Site with Deno
description: How to deploy your Astro site to the web using Deno.
sidebar:
label: Deno
label: Deno Deploy
type: deploy
logo: deno
supports: ['ssr', 'static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/deployhq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web using DeployHQ.
sidebar:
label: DeployHQ
type: deploy
logo: deployhq
supports: ['static']
i18nReady: true
---
import ReadMore from '~/components/ReadMore.astro';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
title: Deploy your Astro Site to Google’s Firebase Hosting
description: How to deploy your Astro site to the web using Google’s Firebase Hosting.
sidebar:
label: Google Firebase
label: Firebase
type: deploy
logo: firebase
supports: ['ssr', 'static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/fleek.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web on Fleek.
sidebar:
label: Fleek
type: deploy
logo: fleek
supports: ['static']
i18nReady: true
---

Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/flyio.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web using Fly.io.
sidebar:
label: Fly.io
type: deploy
logo: flyio
supports: ['ssr', 'static']
i18nReady: true
stub: true
---
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/github.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web using GitHub Pages.
sidebar:
label: GitHub Pages
type: deploy
logo: github
supports: ['static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/gitlab.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web using GitLab Pages.
sidebar:
label: GitLab Pages
type: deploy
logo: gitlab
supports: ['static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/google-cloud.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web using Google Cloud.
sidebar:
label: Google Cloud
type: deploy
logo: google-cloud
supports: ['ssr', 'static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/heroku.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web using Heroku.
sidebar:
label: Heroku
type: deploy
logo: heroku
supports: ['static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/juno.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web using Juno.
sidebar:
label: Juno
type: deploy
logo: juno
supports: ['static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/en/guides/deploy/kinsta.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: How to deploy your Astro site to the web on Kinsta Application Host
sidebar:
label: Kinsta
type: deploy
logo: kinsta
supports: ['ssr', 'static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';
Expand Down
Loading
Loading