diff --git a/.changeset/pre.json b/.changeset/pre.json
index c881010e6..b2bf7fecd 100644
--- a/.changeset/pre.json
+++ b/.changeset/pre.json
@@ -2,7 +2,6 @@
"mode": "pre",
"tag": "next",
"initialVersions": {
- "docs": "0.0.7",
"@example/blog": "0.0.1",
"@example/blog-multiple-authors": "0.0.1",
"@example/component": "0.0.1",
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 4b2ea919e..066a3a27d 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -11,5 +11,6 @@
## Docs
-
-
+
+
+
diff --git a/.github/labeler.yml b/.github/labeler.yml
index 93519be57..e743b95f7 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -6,20 +6,9 @@ example:
'🚨 action':
- .github/workflows/**
-docs:
-- docs/**
-
test:
- packages/**/*.test.js
-i18n:
-- any:
- - 'docs/src/pages/*/**'
- - '!docs/src/pages/core-concepts/**'
- - '!docs/src/pages/guides/**'
- - '!docs/src/pages/migration/**'
- - '!docs/src/pages/reference/**'
-
core:
- packages/astro/**
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index bf508d631..3a483b017 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -7,7 +7,6 @@ on:
pull_request:
paths-ignore:
- '.vscode/**'
- - 'docs/**'
- 'examples/**'
# Automatically cancel in-progress actions on the same branch
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3a3cd5400..11b4d8a9a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -17,7 +17,7 @@ yarn: "^1.22.10"
### Setting up your local repo
-Astro uses yarn workspaces, so you should **always run `yarn install` from the top-level project directory.** running `yarn install` in the top-level project root will install dependencies for `astro`, `docs`, and every package in the repo.
+Astro uses yarn workspaces, so you should **always run `yarn install` from the top-level project directory.** running `yarn install` in the top-level project root will install dependencies for `astro`, and every package in the repo.
```shell
git clone && cd ...
@@ -76,7 +76,7 @@ yarn lint
### Making a Pull Request
-When making a pull request, be sure to add a changeset when something has changed with Astro. Non-packages (`examples/*`, `docs/*`) do not need changesets.
+When making a pull request, be sure to add a changeset when something has changed with Astro. Non-packages (`examples/*`) do not need changesets.
```shell
yarn changeset
@@ -145,7 +145,7 @@ To release a snapshot, run the following locally:
# 1:
yarn changeset version --snapshot XXX
# 2: (Manual) review the diff, and make sure that you're not releasing more than you need to.
-git checkout -- examples/ docs/
+git checkout -- examples/
# 3:
yarn release --tag next--XXX
# 4: (Manual) review the publish, and if you're happy then you can throw out all local changes
@@ -192,7 +192,7 @@ When in prerelease mode, the automatic PR release process will no longer release
1. Run `yarn changeset version` to create your new release.
1. Run `yarn release` to publish your new release.
1. Run `git push && git push --tags` to push your new release to GitHub.
-1. Run `git push release/0.X:latest` to push your release branch to `latest`. This will trigger an update to the docs site, etc.
+1. Run `git push release/0.X:latest` to push your release branch to `latest`.
1. Go to https://github.com/withastro/astro/releases/new and create a new release. Copy the new changelog entry from https://github.com/withastro/astro/blob/latest/packages/astro/CHANGELOG.md.
1. Post in Discord #announcements channel, if needed!
diff --git a/docs/.nvmrc b/docs/.nvmrc
deleted file mode 100644
index 31102b28d..000000000
--- a/docs/.nvmrc
+++ /dev/null
@@ -1 +0,0 @@
-14.18.1
diff --git a/docs/.prettierignore b/docs/.prettierignore
deleted file mode 100644
index 76add878f..000000000
--- a/docs/.prettierignore
+++ /dev/null
@@ -1,2 +0,0 @@
-node_modules
-dist
\ No newline at end of file
diff --git a/docs/.prettierrc b/docs/.prettierrc
deleted file mode 100644
index c3a4e0672..000000000
--- a/docs/.prettierrc
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "singleQuote": true,
- "tabWidth": 2,
- "endOfLine": "auto",
- "trailingComma": "es5",
- "printWidth": 80
-}
diff --git a/docs/.stackblitzrc b/docs/.stackblitzrc
deleted file mode 100644
index 0dfa8f1e0..000000000
--- a/docs/.stackblitzrc
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "startCommand": "npm start",
- "env": {
- "ENABLE_CJS_IMPORTS": true
- }
-}
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
deleted file mode 100644
index 429cbfdf6..000000000
--- a/docs/CHANGELOG.md
+++ /dev/null
@@ -1,55 +0,0 @@
-# docs
-
-## 0.0.7
-
-### Patch Changes
-
-- 6b8630c6: Github pages disclaimer
-
-## 0.0.6
-
-### Patch Changes
-
-- 788c769d: # Hoisted scripts
-
- This change adds support for hoisted scripts, allowing you to bundle scripts together for a page and hoist them to the top (in the head):
-
- ```astro
-
- ```
-
-## 0.0.5
-
-## 0.0.5-next.0
-
-### Patch Changes
-
-- 78b5bde1: Adds support for Astro.resolve
-
- `Astro.resolve()` helps with creating URLs relative to the current Astro file, allowing you to reference files within your `src/` folder.
-
- Astro _does not_ resolve relative links within HTML, such as images:
-
- ```html
-
- ```
-
- The above will be sent to the browser as-is and the browser will resolve it relative to the current **page**. If you want it to be resolved relative to the .astro file you are working in, use `Astro.resolve`:
-
- ```astro
-
- ```
-
-## 0.0.4
-
-### Patch Changes
-
-- adc767c5: change Spanish translations for Getting Started page
-
-## 0.0.3
-
-### Patch Changes
-
-- 70f0a09: Added remark-slug to default plugins
diff --git a/docs/README.md b/docs/README.md
index c99ef1ea9..8dd578be3 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,24 +1,3 @@
-# Astro Docs
+# Astro Docs
-## Contributing
-
-### Pull Requests
-
-Every pull request needs to be reviewed by another contributor to the documentation to help with the overall quality of the documentation.
-
-## Running this project
-
-- Clone the Project
-
- `git clone git@github.com:withastro/astro.git`
-- Run `yarn install` to install latest dependencies.
- > This project uses yarn to manage dependencies. [Make sure that you have yarn v1 installed.](https://classic.yarnpkg.com/)
-- Run `yarn workspace docs dev` to start the dev server.
-- Run `yarn workspace docs build` to build the final site for production.
- > The environment variable `SNOWPACK_PUBLIC_GITHUB_TOKEN` must be set to a personal access token with `public_repo` permissions to prevent rate-limiting.
-
-## Deploying
-
-The site is automatically deployed when commits land in `latest`, via Netlify.
-
-The "next" docs are automatically deployed when commits land in `main`, via Netlify at .
+**⚠️ The Astro docs are now managed at https://github.com/withastro/docs ⚠️**
diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs
deleted file mode 100644
index 94290bf17..000000000
--- a/docs/astro.config.mjs
+++ /dev/null
@@ -1,12 +0,0 @@
-// @ts-check
-export default /** @type {import('astro').AstroUserConfig} */ ({
- buildOptions: {
- site: 'https://docs.astro.build/',
- },
- renderers: [
- // Our main renderer for frontend components
- '@astrojs/renderer-preact',
- // Needed for Algolia search component
- '@astrojs/renderer-react',
- ],
-});
diff --git a/docs/jsconfig.json b/docs/jsconfig.json
deleted file mode 100644
index 56c62bf9f..000000000
--- a/docs/jsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "compilerOptions": {
- "baseUrl": ".",
- "paths": {
- "~/*": ["src/*"]
- }
- }
-}
diff --git a/docs/package.json b/docs/package.json
deleted file mode 100644
index 9f3c7debd..000000000
--- a/docs/package.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "docs",
- "version": "0.0.7",
- "private": true,
- "scripts": {
- "dev": "astro dev",
- "start": "astro dev",
- "build": "astro build",
- "preview": "astro preview",
- "lint": "run-p --aggregate-output lint:linkcheck",
- "lint:a11y": "start-test 'yarn build && yarn preview' 3000 'yarn lint:a11y:local'",
- "lint:a11y:local": "pa11y-ci --sitemap 'http://localhost:3000/sitemap.xml' --sitemap-find 'https://docs.astro.build' --sitemap-replace 'http://localhost:3000'",
- "lint:a11y:remote": "pa11y-ci --sitemap 'https://docs.astro.build/sitemap.xml'",
- "lint:linkcheck": "start-test 'yarn dev --silent' 3000 'yarn lint:linkcheck:local'",
- "lint:linkcheck:local": "blc -roe --user-agent 'broken-link-checker/0.7.8' 'http://localhost:3000/en/getting-started'",
- "lint:linkcheck:remote": "blc -ro --user-agent 'broken-link-checker/0.7.8' 'https://docs.astro.build/'"
- },
- "devDependencies": {
- "astro": "^0.23.0-next.0",
- "broken-link-checker": "^0.7.8",
- "npm-run-all": "^4.1.5",
- "pa11y-ci": "^3.0.1",
- "prettier": "^2.4.1",
- "start-server-and-test": "^1.12.6"
- },
- "dependencies": {
- "@docsearch/react": "^1.0.0-alpha.28"
- },
- "volta": {
- "node": "14.18.1"
- }
-}
diff --git a/docs/public/code.css b/docs/public/code.css
deleted file mode 100644
index 3cb74322f..000000000
--- a/docs/public/code.css
+++ /dev/null
@@ -1,101 +0,0 @@
-.language-css > code,
-.language-sass > code,
-.language-scss > code {
- color: #fd9170;
-}
-
-.language-diff .token.prefix.deleted,
-.language-diff .token.prefix.inserted {
- user-select: none;
-}
-
-[class*='language-'] .namespace {
- opacity: 0.7;
-}
-
-.token.plain-text,
-[class*='language-bash'] span.token,
-[class*='language-shell'] span.token {
- color: hsla(var(--color-gray-90), 1);
-}
-
-[class*='language-bash'] span.token,
-[class*='language-shell'] span.token {
- font-style: bold;
-}
-
-.token.prolog,
-.token.comment,
-[class*='language-bash'] span.token.comment,
-[class*='language-shell'] span.token.comment {
- color: hsla(var(--color-gray-70), 1);
-}
-
-.token.selector,
-.token.tag,
-.token.unit,
-.token.url,
-.token.variable,
-.token.entity,
-.token.deleted {
- color: #fa5e5b;
-}
-
-.token.boolean,
-.token.constant,
-.token.doctype,
-.token.number,
-.token.regex,
-.token.builtin,
-.token.class,
-.token.hexcode,
-.token.class-name,
-.token.attr-name {
- color: hsla(var(--color-yellow), 1);
-}
-
-.token.atrule,
-.token.attribute,
-.token.attr-value .token.punctuation,
-.token.attr-value,
-.token.pseudo-class,
-.token.pseudo-element,
-.token.string {
- color: hsla(var(--color-green), 1);
-}
-
-.token.symbol,
-.token.function,
-.token.id,
-.token.important {
- color: hsla(var(--color-blue), 1);
-}
-
-.token.important,
-.token.id {
- font-weight: bold;
-}
-
-.token.cdata,
-.token.char,
-.token.property {
- color: #23b1af;
-}
-
-.token.inserted {
- color: hsla(var(--color-green), 1);
-}
-
-.token.keyword {
- color: #ff657c;
- font-style: italic;
-}
-
-.token.operator {
- color: hsla(var(--color-gray-70), 1);
-}
-
-.token.attr-value .token.attr-equals,
-.token.punctuation {
- color: hsla(var(--color-gray-80), 1);
-}
diff --git a/docs/public/default-og-image.png b/docs/public/default-og-image.png
deleted file mode 100644
index 97903207e..000000000
Binary files a/docs/public/default-og-image.png and /dev/null differ
diff --git a/docs/public/favicon.ico b/docs/public/favicon.ico
deleted file mode 100644
index 578ad458b..000000000
Binary files a/docs/public/favicon.ico and /dev/null differ
diff --git a/docs/public/favicon.svg b/docs/public/favicon.svg
deleted file mode 100644
index 542f90aec..000000000
--- a/docs/public/favicon.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
diff --git a/docs/public/index.css b/docs/public/index.css
deleted file mode 100644
index 54e4124fd..000000000
--- a/docs/public/index.css
+++ /dev/null
@@ -1,390 +0,0 @@
-* {
- box-sizing: border-box;
- margin: 0;
-}
-
-/* Global focus outline reset */
-*:focus:not(:focus-visible) {
- outline: none;
-}
-
-:root {
- --user-font-scale: 1rem - 16px;
- --max-width: calc(100% - 1rem);
-}
-
-@media (min-width: 50em) {
- :root {
- --max-width: 46em;
- }
-}
-
-@media (prefers-reduced-motion: no-preference) {
- :root {
- scroll-behavior: smooth;
- }
-}
-
-body {
- display: flex;
- flex-direction: column;
- min-height: 100vh;
- font-family: var(--font-body);
- font-size: 1rem;
- font-size: clamp(0.9rem, 0.75rem + 0.375vw + var(--user-font-scale), 1rem);
- line-height: 1.5;
- max-width: 100vw;
-}
-
-nav ul {
- list-style: none;
- padding: 0;
-}
-
-.content > section > * + * {
- margin-top: 1.25rem;
-}
-
-.content > section > :first-child {
- margin-top: 0;
-}
-
-/* Typography */
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
- margin-bottom: 1rem;
- font-weight: bold;
- line-height: 1;
-}
-
-h1,
-h2 {
- max-width: 40ch;
-}
-
-:is(h2, h3):not(:first-child) {
- margin-top: 3rem;
-}
-
-:is(h4, h5, h6):not(:first-child) {
- margin-top: 2rem;
-}
-
-h1 {
- font-size: 3.25rem;
- font-weight: 800;
-}
-
-h2 {
- font-size: 2.5rem;
-}
-
-h3 {
- font-size: 1.75rem;
-}
-
-h4 {
- font-size: 1.3rem;
-}
-
-h5 {
- font-size: 1rem;
-}
-
-p,
-.content ul {
- line-height: 1.65em;
-}
-
-p,
-.content ul {
- color: var(--theme-text-light);
-}
-
-small,
-.text_small {
- font-size: 0.833rem;
-}
-
-a {
- color: var(--theme-text-accent);
- text-underline-offset: 0.08em;
- align-items: center;
- gap: 0.5rem;
-}
-
-article > section :is(ul, ol) > * + * {
- margin-top: 0.25rem;
-}
-
-article > section nav :is(ul, ol) > * + * {
- margin-top: inherit;
-}
-
-article > section li > :is(p, pre, blockquote):not(:first-child) {
- margin-top: 1rem;
-}
-
-article > section :is(ul, ol) {
- padding-left: 1em;
-}
-
-article > section nav :is(ul, ol) {
- padding-left: inherit;
-}
-
-article > section nav {
- margin-top: 1rem;
- margin-bottom: 2rem;
-}
-
-article > section ::marker {
- font-weight: bold;
- color: var(--theme-text-light);
-}
-
-article > section iframe {
- width: 100%;
- height: auto;
- aspect-ratio: 16 / 9;
-}
-
-a > code:not([class*='language']) {
- position: relative;
- color: var(--theme-text-accent);
- background: transparent;
- text-underline-offset: var(--padding-block);
-}
-
-a > code:not([class*='language'])::before {
- content: '';
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- display: block;
- background: var(--theme-accent);
- opacity: var(--theme-accent-opacity);
- border-radius: var(--border-radius);
-}
-
-a:hover,
-a:focus {
- text-decoration: underline;
-}
-
-a:focus {
- outline: 2px solid currentColor;
- outline-offset: 0.25em;
-}
-
-strong {
- font-weight: 600;
- color: inherit;
-}
-
-/* Supporting Content */
-code {
- font-family: var(--font-mono);
- font-size: 0.85em;
-}
-
-code:not([class*='language']) {
- --border-radius: 3px;
- --padding-block: 0.2rem;
- --padding-inline: 0.4rem;
- color: var(--theme-code-inline-text);
- background-color: var(--theme-code-inline-bg);
- padding: var(--padding-block) var(--padding-inline);
- margin: calc(var(--padding-block) * -1) -0.125em;
- border-radius: var(--border-radius);
- box-shadow: 0 2px 1px 0 rgba(0, 0, 0, 0.08);
- word-break: break-word;
-}
-
-pre > code:not([class*='language']) {
- background-color: transparent;
- padding: 0;
- margin: 0;
- border-radius: 0;
- color: inherit;
-}
-
-pre > code {
- font-size: 1em;
-}
-
-table,
-pre {
- position: relative;
- --padding-block: 1rem;
- --padding-inline: 2rem;
- padding: var(--padding-block) var(--padding-inline);
- padding-right: calc(var(--padding-inline) * 2);
- margin-left: calc(var(--padding-inline) * -1);
- margin-right: calc(var(--padding-inline) * -1);
- font-family: var(--font-mono);
-
- line-height: 1.5;
- font-size: 0.85em;
- overflow-y: hidden;
- overflow-x: auto;
-}
-
-table {
- width: 100%;
- padding: var(--padding-block) 0;
- margin: 0;
- border-collapse: collapse;
-}
-
-/* Zebra striping */
-tr:nth-of-type(odd) {
- background: var(--theme-bg-hover);
-}
-th {
- background: var(--color-black);
- color: var(--theme-color);
- font-weight: bold;
-}
-td,
-th {
- padding: 6px;
- text-align: left;
-}
-
-pre {
- background-color: var(--theme-code-bg);
- color: var(--theme-code-text);
-}
-
-blockquote code:not([class*='language']) {
- background-color: var(--theme-bg);
-}
-
-@media (min-width: 37.75em) {
- pre {
- --padding-inline: 1.25rem;
- border-radius: 8px;
- margin-left: 0;
- margin-right: 0;
- }
-}
-
-blockquote {
- margin: 2rem 0;
- padding: 1.25em 1.5rem;
- border-left: 3px solid var(--theme-text-light);
- background-color: var(--theme-bg-offset);
- border-radius: 0 0.25rem 0.25rem 0;
- line-height: 1.7;
-}
-
-img {
- max-width: 100%;
-}
-
-.flex {
- display: flex;
- align-items: center;
-}
-
-button {
- display: flex;
- align-items: center;
- justify-items: center;
- gap: 0.25em;
- padding: 0.33em 0.67em;
- border: 0;
- background: var(--theme-bg);
- display: flex;
- font-size: 1rem;
- align-items: center;
- gap: 0.25em;
- border-radius: 99em;
- color: var(--theme-text);
- background-color: var(--theme-bg);
-}
-
-h2.heading {
- font-size: 1rem;
- font-weight: 700;
- padding: 0.1rem 1rem;
- text-transform: uppercase;
- margin-bottom: 0.5rem;
-}
-
-.header-link {
- font-size: 1rem;
- padding: 0.1rem 0 0.1rem 1rem;
- border-left: 4px solid var(--theme-divider);
-}
-
-.header-link:hover,
-.header-link:focus {
- border-left-color: var(--theme-accent);
- color: var(--theme-accent);
-}
-.header-link:focus-within {
- color: var(--theme-text-light);
- border-left-color: hsla(var(--color-gray-40), 1);
-}
-.header-link svg {
- opacity: 0.6;
-}
-.header-link:hover svg {
- opacity: 0.8;
-}
-.header-link a {
- display: inline-flex;
- gap: 0.5em;
- width: 100%;
- padding: 0.15em 0 0.15em 0;
-}
-
-.header-link.depth-3 {
- padding-left: 2rem;
-}
-.header-link.depth-4 {
- padding-left: 3rem;
-}
-
-.header-link a {
- font: inherit;
- color: inherit;
- text-decoration: none;
-}
-
-/* Screenreader Only Text */
-.sr-only {
- position: absolute;
- width: 1px;
- height: 1px;
- padding: 0;
- margin: -1px;
- overflow: hidden;
- clip: rect(0, 0, 0, 0);
- white-space: nowrap;
- border-width: 0;
-}
-
-.focus\:not-sr-only:focus,
-.focus\:not-sr-only:focus-visible {
- position: static;
- width: auto;
- height: auto;
- padding: 0;
- margin: 0;
- overflow: visible;
- clip: auto;
- white-space: normal;
-}
-
-:target {
- scroll-margin: calc(var(--theme-sidebar-offset, 5rem) + 2rem) 0 2rem;
-}
diff --git a/docs/public/make-scrollable-code-focusable.js b/docs/public/make-scrollable-code-focusable.js
deleted file mode 100644
index f2b7030f7..000000000
--- a/docs/public/make-scrollable-code-focusable.js
+++ /dev/null
@@ -1,3 +0,0 @@
-Array.from(document.getElementsByTagName('pre')).forEach((element) => {
- element.setAttribute('tabindex', '0');
-});
diff --git a/docs/public/theme.css b/docs/public/theme.css
deleted file mode 100644
index 44a933434..000000000
--- a/docs/public/theme.css
+++ /dev/null
@@ -1,126 +0,0 @@
-:root {
- --font-fallback: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,
- sans-serif, Apple Color Emoji, Segoe UI Emoji;
- --font-body: system-ui, var(--font-fallback);
- --font-mono: 'IBM Plex Mono', Consolas, 'Andale Mono WT', 'Andale Mono',
- 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono',
- 'Bitstream Vera Sans Mono', 'Liberation Mono', 'Nimbus Mono L', Monaco,
- 'Courier New', Courier, monospace;
-
- /*
- * Variables with --color-base prefix define
- * the hue, and saturation values to be used for
- * hsla colors.
- *
- * ex:
- *
- * --color-base-{color}: {hue}, {saturation};
- *
- */
-
- --color-base-white: 0, 0%;
- --color-base-black: 240, 100%;
- --color-base-gray: 215, 14%;
- --color-base-blue: 212, 100%;
- --color-base-blue-dark: 212, 72%;
- --color-base-green: 158, 79%;
- --color-base-orange: 22, 100%;
- --color-base-purple: 269, 79%;
- --color-base-red: 351, 100%;
- --color-base-yellow: 41, 100%;
-
- /*
- * Color palettes are made using --color-base
- * variables, along with a lightness value to
- * define different variants.
- *
- */
-
- --color-gray-5: var(--color-base-gray), 5%;
- --color-gray-10: var(--color-base-gray), 10%;
- --color-gray-20: var(--color-base-gray), 20%;
- --color-gray-30: var(--color-base-gray), 30%;
- --color-gray-40: var(--color-base-gray), 40%;
- --color-gray-50: var(--color-base-gray), 50%;
- --color-gray-60: var(--color-base-gray), 60%;
- --color-gray-70: var(--color-base-gray), 70%;
- --color-gray-80: var(--color-base-gray), 80%;
- --color-gray-90: var(--color-base-gray), 90%;
- --color-gray-95: var(--color-base-gray), 95%;
-
- --color-blue: var(--color-base-blue), 61%;
- --color-blue-dark: var(--color-base-blue-dark), 39%;
- --color-green: var(--color-base-green), 42%;
- --color-orange: var(--color-base-orange), 50%;
- --color-purple: var(--color-base-purple), 54%;
- --color-red: var(--color-base-red), 54%;
- --color-yellow: var(--color-base-yellow), 59%;
-}
-
-:root {
- color-scheme: light;
- --theme-accent: hsla(var(--color-orange), 1);
- --theme-text-accent: hsla(var(--color-orange), 1);
- --theme-accent-opacity: 0.1;
- --theme-divider: hsla(var(--color-gray-95), 1);
- --theme-text: hsla(var(--color-gray-10), 1);
- --theme-text-light: hsla(var(--color-gray-40), 1);
- /* @@@: not used anywhere */
- --theme-text-lighter: hsla(var(--color-gray-80), 1);
- --theme-bg: hsla(var(--color-base-white), 100%, 1);
- --theme-bg-hover: hsla(var(--color-gray-95), 1);
- --theme-bg-offset: hsla(var(--color-gray-90), 1);
- --theme-bg-accent: hsla(var(--color-orange), var(--theme-accent-opacity));
- --theme-code-inline-bg: hsla(var(--color-gray-95), 1);
- --theme-code-inline-text: var(--theme-text);
- --theme-code-bg: hsla(217, 19%, 27%, 1);
- --theme-code-text: hsla(var(--color-gray-95), 1);
- --theme-navbar-bg: hsla(var(--color-base-white), 100%, 1);
- --theme-navbar-height: 6rem;
- --theme-selection-color: hsla(var(--color-orange), 1);
- --theme-selection-bg: hsla(var(--color-orange), var(--theme-accent-opacity));
-}
-
-body {
- background: var(--theme-bg);
- color: var(--theme-text);
-}
-
-:root.theme-dark {
- color-scheme: dark;
- --theme-accent-opacity: 0.4;
- --theme-accent: hsla(var(--color-orange), 1);
- --theme-text-accent: hsla(var(--color-orange), 1);
- --theme-divider: hsla(var(--color-gray-10), 1);
- --theme-text: hsla(var(--color-gray-90), 1);
- --theme-text-light: hsla(var(--color-gray-80), 1);
-
- /* @@@: not used anywhere */
- --theme-text-lighter: hsla(var(--color-gray-40), 1);
- --theme-bg: hsla(215, 28%, 17%, 1);
- --theme-bg-hover: hsla(var(--color-gray-40), 1);
- --theme-bg-offset: hsla(var(--color-gray-5), 1);
- --theme-code-inline-bg: hsla(var(--color-gray-10), 1);
- --theme-code-inline-text: hsla(var(--color-base-white), 100%, 1);
- --theme-code-bg: hsla(var(--color-gray-5), 1);
- --theme-code-text: hsla(var(--color-base-white), 100%, 1);
- --theme-navbar-bg: hsla(215, 28%, 17%, 1);
- --theme-selection-color: hsla(var(--color-base-white), 100%, 1);
- --theme-selection-bg: hsla(var(--color-purple), var(--theme-accent-opacity));
-
- /* DocSearch [Algolia] */
- --docsearch-modal-background: var(--theme-bg);
- --docsearch-searchbox-focus-background: var(--theme-divider);
- --docsearch-footer-background: var(--theme-divider);
- --docsearch-text-color: var(--theme-text);
- --docsearch-hit-background: var(--theme-divider);
- --docsearch-hit-shadow: none;
- --docsearch-hit-color: var(--theme-text);
- --docsearch-footer-shadow: inset 0 2px 10px #000;
- --docsearch-modal-shadow: inset 0 0 8px #000;
-}
-
-::selection {
- color: var(--theme-selection-color);
- background-color: var(--theme-selection-bg);
-}
diff --git a/docs/reference/api-reference.md b/docs/reference/api-reference.md
deleted file mode 100644
index ae1cb2e9b..000000000
--- a/docs/reference/api-reference.md
+++ /dev/null
@@ -1,195 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: API Reference
----
-
-## `Astro` global
-
-The `Astro` global is available in all contexts in `.astro` files. It has the following functions:
-
-### `Astro.fetchContent()`
-
-`Astro.fetchContent()` is a way to load local `*.md` files into your static site setup. You can either use this on its own, or within [Astro Collections](/core-concepts/collections).
-
-```jsx
-// ./src/components/my-component.astro
----
-const data = Astro.fetchContent('../pages/post/*.md'); // returns an array of posts that live at ./src/pages/post/*.md
----
-
-
-{data.slice(0, 3).map((post) => (
-
- {post.title}
- {post.description}
- Read more
-
-))}
-
-```
-
-`.fetchContent()` only takes one parameter: a relative URL glob of which local files you'd like to import. Currently only `*.md` files are supported. It's synchronous, and returns an array of items of type:
-
-```js
-{
- /** frontmatter from the post.. example frontmatter:
- title: '',
- tag: '',
- date: '',
- image: '',
- author: '',
- description: '',
- **/
- astro: {
- headers: [], // an array of h1...h6 elements in the markdown file
- source: '', // raw source of the markdown file
- html: '' // rendered HTML of the markdown file
- },
- url: '' // the rendered path
- }[]
-```
-
-### `Astro.slots`
-
-`Astro.slots` returns an object with any slotted regions passed into the current Astro file.
-
-```js
-const {
- heading as headingSlot, // true or undefined, based on whether `<* slot="heading">` was used.
- default as defaultSlot, // true or undefined, based on whether `<* slot>` or `<* default>` was used.
-} = Astro.slots;
-```
-
-### `Astro.request`
-
-`Astro.request` returns an object with the following properties:
-
-| Name | Type | Description |
-| :------------- | :---- | :---------------------------------------------- |
-| `url` | `URL` | The URL of the request being rendered. |
-| `canonicalURL` | `URL` | [Canonical URL][canonical] of the current page. |
-
-⚠️ Temporary restriction: this is only accessible in top-level pages and not in sub-components.
-
-### `Astro.site`
-
-`Astro.site` returns a `URL` made from `buildOptions.site` in your Astro config. If undefined, this will return a URL generated from `localhost`.
-
-## Collections API
-
-### `collection` prop
-
-```jsx
-const { collection } = Astro.props;
-```
-
-When using the [Collections API](/core-concepts/collections), `collection` is a prop exposed to the page with the following shape:
-
-| Name | Type | Description |
-| :------------------------ | :-------------------: | :-------------------------------------------------------------------------------------------------------------------------------- |
-| `collection.data` | `Array` | Array of data returned from `data()` for the current page. |
-| `collection.start` | `number` | Index of first item on current page, starting at `0` (e.g. if `pageSize: 25`, this would be `0` on page 1, `25` on page 2, etc.). |
-| `collection.end` | `number` | Index of last item on current page. |
-| `collection.total` | `number` | The total number of items across all pages. |
-| `collection.page.current` | `number` | The current page number, starting with `1`. |
-| `collection.page.size` | `number` | How many items per-page. |
-| `collection.page.last` | `number` | The total number of pages. |
-| `collection.url.current` | `string` | Get the URL of the current page (useful for canonical URLs) |
-| `collection.url.prev` | `string \| undefined` | Get the URL of the previous page (will be `undefined` if on page 1). |
-| `collection.url.next` | `string \| undefined` | Get the URL of the next page (will be `undefined` if no more pages). |
-| `collection.params` | `object` | If page params were used, this returns a `{ key: value }` object of all values. |
-
-### `createCollection()`
-
-```jsx
-export async function createCollection() {
- return {
- async data({ params }) {
- // load data
- },
- pageSize: 25,
- routes: [{ tag: 'movie' }, { tag: 'television' }],
- permalink: ({ params }) => `/tag/${params.tag}`,
- };
-}
-```
-
-When using the [Collections API](/core-concepts/collections), `createCollection()` is an async function that returns an object of the following shape:
-
-| Name | Type | Description |
-| :---------- | :--------------------------------------: | :--------------------------------------------------------------------------------------------------------- |
-| `data` | `async ({ params }) => any[]` | **Required.** Load an array of data with this function to be returned. |
-| `pageSize` | `number` | Specify number of items per page (default: `25`). |
-| `routes` | `params[]` | **Required for URL Params.** Return an array of all possible URL `param` values in `{ name: value }` form. |
-| `permalink` | `({ params }) => string` | **Required for URL Params.** Given a `param` object of `{ name: value }`, generate the final URL.\* |
-| `rss` | [RSS](/reference/api-reference#rss-feed) | Optional: generate an RSS 2.0 feed from this collection ([docs](/reference/api-reference#rss-feed)) |
-
-_\* Note: don't create confusing URLs with `permalink`, e.g. rearranging params conditionally based on their values._
-
-⚠️ `createCollection()` executes in its own isolated scope before page loads. Therefore you can't reference anything from its parent scope. If you need to load data you may fetch or use async `import()`s within the function body for anything you need (that's why it's `async`—to give you this ability). If it wasn't isolated, then `collection` would be undefined! Therefore, duplicating imports between `createCollection()` and your Astro component is OK.
-
-#### RSS Feed
-
-You can optionally generate an RSS 2.0 feed from `createCollection()` by adding an `rss` option. Here are all the options:
-
-```jsx
-export async function createCollection() {
- return {
- async data({ params }) {
- // load data
- },
- pageSize: 25,
- rss: {
- title: 'My RSS Feed',
- description: 'Description of the feed',
- /** (optional) add xmlns:* properties to root element */
- xmlns: {
- itunes: 'http://www.itunes.com/dtds/podcast-1.0.dtd',
- content: 'http://purl.org/rss/1.0/modules/content/',
- },
- /** (optional) add arbitrary XML to */
- customData: `en-us
-The Sunset Explorers `,
- /** Format each item from things returned in data() */
- item: (item) => ({
- title: item.title,
- description: item.description,
- pubDate: item.pubDate + 'Z', // enforce GMT timezone (otherwise it'll be different based on where it's built)
- /** (optional) add arbitrary XML to each - */
- customData: `
${item.type}
-${item.duration}
-${item.explicit || false} `,
- }),
- },
- };
-}
-```
-
-Astro will generate an RSS 2.0 feed at `/feed/[collection].xml` (for example, `/src/pages/$podcast.xml` would generate `/feed/podcast.xml`).
-
-⚠️ Even though Astro will create the RSS feed for you, you'll still need to add ` ` tags manually in your `` HTML:
-
-```html
-
-```
-
-## `import.meta`
-
-All ESM modules include a `import.meta` property. Astro adds `import.meta.env` through [Vite](https://vitejs.dev/guide/env-and-mode.html).
-
-**import.meta.env.SSR** can be used to know when rendering on the server. Sometimes you might want different logic, for example a component that should only be rendered in the client:
-
-```jsx
-import { h } from 'preact';
-
-export default function () {
- return import.meta.env.SSR ?
: ;
-}
-```
-
-[canonical]: https://en.wikipedia.org/wiki/Canonical_link_element
diff --git a/docs/src/components/Card.astro b/docs/src/components/Card.astro
deleted file mode 100644
index 21b5deb68..000000000
--- a/docs/src/components/Card.astro
+++ /dev/null
@@ -1,62 +0,0 @@
----
-const { data, index } = Astro.props;
-const hasScreenshot = !!data.demo;
-const backgroundStyle = hasScreenshot
- ? `url('https://v1.screenshot.11ty.dev/${encodeURIComponent(
- data.demo
- )}/medium/9:16/')`
- : `linear-gradient(60deg, var(--theme-bg-accent), var(--theme-accent))`;
----
-
-
- {hasScreenshot &&
}
-
-
-
-
-
-
diff --git a/docs/src/components/Footer/AvatarList.astro b/docs/src/components/Footer/AvatarList.astro
deleted file mode 100644
index 5eb0c3692..000000000
--- a/docs/src/components/Footer/AvatarList.astro
+++ /dev/null
@@ -1,176 +0,0 @@
----
-// fetch all commits for just this page's path
-
-export interface Props {
- path: string;
-}
-
-const { path } = Astro.props as Props;
-const commitPath = 'docs/' + path;
-const url = `https://api.github.com/repos/withastro/astro/commits?path=${commitPath}`;
-const commitsURL = `https://github.com/withastro/astro/commits/main/${commitPath}`;
-
-async function getCommits(url) {
- try {
- const token = import.meta.env.SNOWPACK_PUBLIC_GITHUB_TOKEN;
- if (!token) {
- throw new Error(
- 'Cannot find "SNOWPACK_PUBLIC_GITHUB_TOKEN" used for escaping rate-limiting.'
- );
- }
-
- const auth = `Basic ${Buffer.from(token, 'binary').toString('base64')}`;
-
- const res = await fetch(url, {
- method: 'GET',
- headers: {
- Authorization: auth,
- 'User-Agent': 'astro-docs/1.0',
- },
- });
-
- const data = await res.json();
-
- if (!res.ok) {
- throw new Error(
- `Request to fetch commits failed. Reason: ${res.statusText}
- Message: ${data.message}`
- );
- }
-
- return data;
- } catch (e) {
- console.warn(`[error] /src/components/AvatarList.astro
- ${e?.message ?? e}`);
- return new Array();
- }
-}
-
-function removeDups(arr) {
- if (!arr) {
- return new Array();
- }
- let map = new Map();
-
- for (let item of arr) {
- let author = item.author;
- // Deduplicate based on author.id
- map.set(author.id, { login: author.login, id: author.id });
- }
-
- return Array.from(map.values());
-}
-
-const data = await getCommits(url);
-const unique = removeDups(data);
-const recentContributors = unique.slice(0, 3); // only show avatars for the 3 most recent contributors
-const additionalContributors = unique.length - recentContributors.length; // list the rest of them as # of extra contributors
----
-
-
-
-
-
diff --git a/docs/src/components/Footer/Footer.astro b/docs/src/components/Footer/Footer.astro
deleted file mode 100644
index d13f832e5..000000000
--- a/docs/src/components/Footer/Footer.astro
+++ /dev/null
@@ -1,16 +0,0 @@
----
-import AvatarList from './AvatarList.astro';
-const { path } = Astro.props;
----
-
-
-
-
diff --git a/docs/src/components/HeadCommon.astro b/docs/src/components/HeadCommon.astro
deleted file mode 100644
index ca0782b60..000000000
--- a/docs/src/components/HeadCommon.astro
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/src/components/HeadSEO.astro b/docs/src/components/HeadSEO.astro
deleted file mode 100644
index 6b62c9d1f..000000000
--- a/docs/src/components/HeadSEO.astro
+++ /dev/null
@@ -1,52 +0,0 @@
----
-import { SITE, OPEN_GRAPH } from '../config.ts';
-import { getLanguageFromURL } from '../util.ts';
-export interface Props {
- content: any;
- site: any;
- canonicalURL: URL;
-}
-const { content = {}, canonicalURL } = Astro.props;
-const imageSrc = content?.image?.src ?? OPEN_GRAPH.image.src;
-const canonicalImageSrc = new URL(imageSrc, Astro.site);
-const imageAlt = content?.image?.alt ?? OPEN_GRAPH.image.alt;
-const lang = canonicalURL && getLanguageFromURL(canonicalURL.pathname);
----
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/src/components/Header/AstroLogo.astro b/docs/src/components/Header/AstroLogo.astro
deleted file mode 100644
index 860b2d2b1..000000000
--- a/docs/src/components/Header/AstroLogo.astro
+++ /dev/null
@@ -1,36 +0,0 @@
----
-const { size } = Astro.props;
----
-
-
-
- Logo
-
-
-
diff --git a/docs/src/components/Header/Header.astro b/docs/src/components/Header/Header.astro
deleted file mode 100644
index 2196670c8..000000000
--- a/docs/src/components/Header/Header.astro
+++ /dev/null
@@ -1,184 +0,0 @@
----
-import SkipToContent from './SkipToContent.astro';
-import SidebarToggle from './SidebarToggle.tsx';
-import LanguageSelect from './LanguageSelect.tsx';
-import Search from './Search.tsx';
-import { getLanguageFromURL } from '../../util.ts';
-const { currentPage } = Astro.props;
-const lang = currentPage && getLanguageFromURL(currentPage);
----
-
-
-
-
-
-
-
- {lang && }
-
-
-
-
-
diff --git a/docs/src/components/Header/LanguageSelect.css b/docs/src/components/Header/LanguageSelect.css
deleted file mode 100644
index 4c6cf6123..000000000
--- a/docs/src/components/Header/LanguageSelect.css
+++ /dev/null
@@ -1,50 +0,0 @@
-.language-select {
- flex-grow: 1;
- width: 48px;
- box-sizing: border-box;
- margin: 0;
- padding: 0.33em 2rem;
- overflow: visible;
- font-weight: 500;
- font-size: 1rem;
- font-family: inherit;
- line-height: inherit;
- background-color: var(--theme-bg);
- border-color: var(--theme-text-lighter);
- color: var(--theme-text-light);
- border-style: solid;
- border-width: 1px;
- border-radius: 0.25rem;
- outline: 0;
- cursor: pointer;
- transition-timing-function: ease-out;
- transition-duration: 0.2s;
- transition-property: border-color, color;
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
- background-position: 97%;
- background-repeat: no-repeat;
- background-size: 1.5em 1.5em;
- -webkit-font-smoothing: antialiased;
- -webkit-appearance: none;
-}
-.language-select-wrapper .language-select:hover,
-.language-select-wrapper .language-select:focus {
- color: var(--theme-text);
- border-color: var(--theme-text-light);
-}
-.language-select-wrapper {
- color: var(--theme-text-light);
- position: relative;
-}
-.language-select-wrapper > svg {
- position: absolute;
- top: 8px;
- left: 8px;
- pointer-events: none;
-}
-
-@media (min-width: 50em) {
- .language-select {
- width: 100%;
- }
-}
diff --git a/docs/src/components/Header/LanguageSelect.tsx b/docs/src/components/Header/LanguageSelect.tsx
deleted file mode 100644
index 70fb405a4..000000000
--- a/docs/src/components/Header/LanguageSelect.tsx
+++ /dev/null
@@ -1,102 +0,0 @@
-import type { FunctionalComponent } from 'preact';
-import { h } from 'preact';
-import './LanguageSelect.css';
-
-const LanguageSelect: FunctionalComponent<{ lang: string }> = ({ lang }) => {
- return (
-
-
-
-
-
-
{
- const newLang = e.target.value;
- window.location.pathname = `/${newLang}/getting-started`;
- // TODO: Preserve the current page, if it exists:
- // const oldPathname = window.location.pathname;
- // const oldPathnameParts = oldPathname.split('/');
- // oldPathnameParts.shift();
- // if (/^[a-z]{2}$/.test(oldPathnameParts[0])) {
- // oldPathnameParts.shift();
- // }
- // if (newLang !== 'en') {
- // oldPathnameParts.unshift(newLang);
- // }
- // window.location.pathname = '/' + oldPathnameParts.join('/');
- }}
- >
-
- English
-
-
- Deutsch
-
-
- Nederlands
-
-
- Português do Brasil
-
-
- Suomi
-
-
- Español
-
-
- 简体中文
-
-
- 正體中文
-
-
- Български
-
-
- Français
-
-
- বাংলা
-
-
- 한국어
-
-
- العربية
-
-
- Dansk
-
-
- 日本語
-
-
- Русский
-
-
- Italiano
-
-
-
- );
-};
-
-export default LanguageSelect;
diff --git a/docs/src/components/Header/Search.css b/docs/src/components/Header/Search.css
deleted file mode 100644
index 42da3832c..000000000
--- a/docs/src/components/Header/Search.css
+++ /dev/null
@@ -1,75 +0,0 @@
-/** Style Algolia */
-:root {
- --docsearch-primary-color: var(--theme-accent);
- --docsearch-logo-color: var(--theme-text);
-}
-
-.DocSearch-Modal .DocSearch-Hit a {
- box-shadow: none;
- border: 1px solid var(--theme-accent);
-}
-
-/** Style Search Bar */
-.search-placeholder {
- flex-grow: 1;
- text-align: initial;
-}
-.search-input {
- flex-grow: 1;
- box-sizing: border-box;
- width: 100%;
- margin: 0;
- padding: 0.33em 0.5em;
- overflow: visible;
- font-weight: 500;
- font-size: 1rem;
- font-family: inherit;
- line-height: inherit;
- background-color: var(--theme-divider);
- border-color: var(--theme-divider);
- color: var(--theme-text-light);
- border-style: solid;
- border-width: 1px;
- border-radius: 0.25rem;
- outline: 0;
- cursor: pointer;
- transition-timing-function: ease-out;
- transition-duration: 0.2s;
- transition-property: border-color, color;
- -webkit-font-smoothing: antialiased;
-}
-.search-input:hover,
-.search-input:focus {
- color: var(--theme-text);
- border-color: var(--theme-text-light);
-}
-.search-input:hover::placeholder,
-.search-input:focus::placeholder {
- color: var(--theme-text-light);
-}
-.search-input::placeholder {
- color: var(--theme-text-light);
-}
-.search-hint {
- padding: 3px 5px;
- display: none;
- display: none;
- align-items: center;
- justify-content: center;
- letter-spacing: 0.125em;
- font-size: 13px;
- font-family: var(--font-mono);
- pointer-events: none;
- border-color: var(--theme-text-lighter);
- color: var(--theme-text-light);
- border-style: solid;
- border-width: 1px;
- border-radius: 0.25rem;
- line-height: 14px;
-}
-
-@media (min-width: 50em) {
- .search-hint {
- display: flex;
- }
-}
diff --git a/docs/src/components/Header/Search.tsx b/docs/src/components/Header/Search.tsx
deleted file mode 100644
index 8f2cfe649..000000000
--- a/docs/src/components/Header/Search.tsx
+++ /dev/null
@@ -1,93 +0,0 @@
-/* jsxImportSource: react */
-import { useState, useCallback, useRef } from 'react';
-import { createPortal } from 'react-dom';
-import * as docsearch from '@docsearch/react';
-import '@docsearch/css/dist/style.css';
-import './Search.css';
-
-const { DocSearchModal, useDocSearchKeyboardEvents } =
- (docsearch as unknown as { default: typeof docsearch }).default || docsearch;
-
-export default function Search(props) {
- const [isOpen, setIsOpen] = useState(false);
- const searchButtonRef = useRef();
- const [initialQuery, setInitialQuery] = useState(null);
- const { lang = 'en' } = props;
-
- const onOpen = useCallback(() => {
- setIsOpen(true);
- }, [setIsOpen]);
-
- const onClose = useCallback(() => {
- setIsOpen(false);
- }, [setIsOpen]);
-
- const onInput = useCallback(
- (e) => {
- setIsOpen(true);
- setInitialQuery(e.key);
- },
- [setIsOpen, setInitialQuery]
- );
-
- useDocSearchKeyboardEvents({
- isOpen,
- onOpen,
- onClose,
- onInput,
- searchButtonRef,
- });
-
- return (
- <>
-
-
-
-
- Search
-
- Press
- /
- to search
-
-
- {isOpen &&
- createPortal(
- {
- return items.map((item) => {
- // We transform the absolute URL into a relative URL to
- // work better on localhost, preview URLS.
- const a = document.createElement('a');
- a.href = item.url;
- const hash = a.hash === '#overview' ? '' : a.hash;
- return {
- ...item,
- url: `${a.pathname}${hash}`,
- };
- });
- }}
- />,
- document.body
- )}
- >
- );
-}
diff --git a/docs/src/components/Header/SidebarToggle.tsx b/docs/src/components/Header/SidebarToggle.tsx
deleted file mode 100644
index 2be9dee9a..000000000
--- a/docs/src/components/Header/SidebarToggle.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-import type { FunctionalComponent } from 'preact';
-import { h, Fragment } from 'preact';
-import { useState, useEffect } from 'preact/hooks';
-
-const MenuToggle: FunctionalComponent = () => {
- const [sidebarShown, setSidebarShown] = useState(false);
-
- useEffect(() => {
- const body = document.getElementsByTagName('body')[0];
- if (sidebarShown) {
- body.classList.add('mobile-sidebar-toggle');
- } else {
- body.classList.remove('mobile-sidebar-toggle');
- }
- }, [sidebarShown]);
-
- return (
-
- );
-};
-
-export default MenuToggle;
diff --git a/docs/src/components/Header/SkipToContent.astro b/docs/src/components/Header/SkipToContent.astro
deleted file mode 100644
index 9e3844e6f..000000000
--- a/docs/src/components/Header/SkipToContent.astro
+++ /dev/null
@@ -1,22 +0,0 @@
-Skip to Content
-
-
diff --git a/docs/src/components/LeftSidebar/LeftSidebar.astro b/docs/src/components/LeftSidebar/LeftSidebar.astro
deleted file mode 100644
index a37b04d53..000000000
--- a/docs/src/components/LeftSidebar/LeftSidebar.astro
+++ /dev/null
@@ -1,186 +0,0 @@
----
-import { SIDEBAR } from '../../config.ts';
-import {
- getLanguageFromURL,
- removeLeadingSlash,
- removeTrailingSlash,
-} from '../../util.ts';
-const { currentPage } = Astro.props;
-
-// Get the slug w/o a leading or trailing slash
-const currentPageMatch = removeLeadingSlash(removeTrailingSlash(currentPage));
-const langCode = getLanguageFromURL(currentPage);
-// SIDEBAR is a flat array. Group it by sections to properly render.
-const sidebarSections = SIDEBAR[langCode].reduce((col, item) => {
- if (item.header) {
- col.push({ ...item, children: [] });
- } else {
- col[col.length - 1].children.push(item);
- }
- return col;
-}, []);
----
-
-
-
-
-
-
-
-
-
- {sidebarSections.map((section) => (
-
-
-
- ))}
-
-
-
-
-
-
diff --git a/docs/src/components/PageContent/PageContent.astro b/docs/src/components/PageContent/PageContent.astro
deleted file mode 100644
index da9939e50..000000000
--- a/docs/src/components/PageContent/PageContent.astro
+++ /dev/null
@@ -1,78 +0,0 @@
----
-import MoreMenu from '../RightSidebar/MoreMenu.astro';
-import TableOfContents from '../RightSidebar/TableOfContents.tsx';
-import { getLanguageFromURL } from '../../util.ts';
-import { SIDEBAR } from '../../config.ts';
-const { content, githubEditUrl, currentPage } = Astro.props;
-const title = content.title;
-const headers = content.astro?.headers;
-const langCode = getLanguageFromURL(currentPage);
-const links = SIDEBAR[langCode].filter(
- (x) => x.link && typeof x.header === 'undefined'
-);
-// handle cases with a trailing slash or not
-const index = links.findIndex(
- (x) => `/${x.link}/` === currentPage || `/${x.link}` === currentPage
-);
-const next =
- index !== -1 ? (index === links.length - 1 ? null : links[index + 1]) : null;
-const previous = index !== -1 ? (index === 0 ? null : links[index - 1]) : null;
----
-
-
-
- {title}
- {headers && (
-
-
-
- )}
-
-
-
-
-
- {(previous || next) && (
-
- )}
-
-
-
diff --git a/docs/src/components/RightSidebar/MoreMenu.astro b/docs/src/components/RightSidebar/MoreMenu.astro
deleted file mode 100644
index 981a1a9b8..000000000
--- a/docs/src/components/RightSidebar/MoreMenu.astro
+++ /dev/null
@@ -1,91 +0,0 @@
----
-import ThemeToggleButton from './ThemeToggleButton.tsx';
-const { editHref } = Astro.props;
----
-
-More
-
-
-
-
-
-
diff --git a/docs/src/components/RightSidebar/RightSidebar.astro b/docs/src/components/RightSidebar/RightSidebar.astro
deleted file mode 100644
index f447f4408..000000000
--- a/docs/src/components/RightSidebar/RightSidebar.astro
+++ /dev/null
@@ -1,29 +0,0 @@
----
-import TableOfContents from './TableOfContents.tsx';
-import MoreMenu from './MoreMenu.astro';
-const { content, githubEditUrl } = Astro.props;
-const headers = content.astro?.headers;
----
-
-
-
-
diff --git a/docs/src/components/RightSidebar/TableOfContents.tsx b/docs/src/components/RightSidebar/TableOfContents.tsx
deleted file mode 100644
index 64ed93ba1..000000000
--- a/docs/src/components/RightSidebar/TableOfContents.tsx
+++ /dev/null
@@ -1,55 +0,0 @@
-import type { FunctionalComponent } from 'preact';
-import { h, Fragment } from 'preact';
-import { useState, useEffect, useRef } from 'preact/hooks';
-
-const TableOfContents: FunctionalComponent<{ headers: any[] }> = ({
- headers = [],
-}) => {
- const itemOffsets = useRef([]);
- const [activeId, setActiveId] = useState(undefined);
-
- useEffect(() => {
- const getItemOffsets = () => {
- const titles = document.querySelectorAll('article :is(h1, h2, h3, h4)');
- itemOffsets.current = Array.from(titles).map((title) => ({
- id: title.id,
- topOffset: title.getBoundingClientRect().top + window.scrollY,
- }));
- };
-
- getItemOffsets();
- window.addEventListener('resize', getItemOffsets);
-
- return () => {
- window.removeEventListener('resize', getItemOffsets);
- };
- }, []);
-
- return (
- <>
- On this page
-
-
- {headers
- .filter(({ depth }) => depth > 1 && depth < 4)
- .map((header) => (
-
- ))}
-
- >
- );
-};
-
-export default TableOfContents;
diff --git a/docs/src/components/RightSidebar/ThemeToggleButton.css b/docs/src/components/RightSidebar/ThemeToggleButton.css
deleted file mode 100644
index d8cd7c2ac..000000000
--- a/docs/src/components/RightSidebar/ThemeToggleButton.css
+++ /dev/null
@@ -1,38 +0,0 @@
-.theme-toggle {
- display: inline-flex;
- align-items: center;
- gap: 0.25em;
- padding: 0.33em 0.67em;
- border-radius: 99em;
- background-color: var(--theme-code-inline-bg);
-}
-
-.theme-toggle > label:focus-within {
- outline: 2px solid transparent;
- box-shadow: 0 0 0 0.08em var(--theme-accent), 0 0 0 0.12em white;
-}
-
-.theme-toggle > label {
- color: var(--theme-code-inline-text);
- position: relative;
- display: flex;
- align-items: center;
- justify-content: center;
- opacity: 0.5;
- cursor: pointer;
-}
-
-.theme-toggle .checked {
- color: var(--theme-accent);
- opacity: 1;
-}
-
-input[name='theme-toggle'] {
- position: absolute;
- opacity: 0;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: -1;
-}
diff --git a/docs/src/components/RightSidebar/ThemeToggleButton.tsx b/docs/src/components/RightSidebar/ThemeToggleButton.tsx
deleted file mode 100644
index 3cdc5bc0c..000000000
--- a/docs/src/components/RightSidebar/ThemeToggleButton.tsx
+++ /dev/null
@@ -1,83 +0,0 @@
-import type { FunctionalComponent } from 'preact';
-import { h, Fragment } from 'preact';
-import { useState, useEffect } from 'preact/hooks';
-import './ThemeToggleButton.css';
-
-const themes = ['light', 'dark'];
-
-const icons = [
-
-
- ,
-
-
- ,
-];
-
-function ThemeToggle() {
- const [theme, setTheme] = useState(() => {
- if (import.meta.env.SSR) {
- return undefined;
- }
- if (typeof localStorage !== 'undefined' && localStorage.getItem('theme')) {
- return localStorage.getItem('theme');
- }
- if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
- return 'dark';
- }
- return 'light';
- });
-
- useEffect(() => {
- const root = document.documentElement;
- if (theme === 'light') {
- root.classList.remove('theme-dark');
- } else {
- root.classList.add('theme-dark');
- }
- }, [theme]);
-
- return (
-
- {themes.map((t, i) => {
- const icon = icons[i];
- const checked = t === theme;
- return (
-
- {icon}
- {
- localStorage.setItem('theme', t);
- setTheme(t);
- }}
- />
-
- );
- })}
-
- );
-}
-
-export default ThemeToggle;
diff --git a/docs/src/config.ts b/docs/src/config.ts
deleted file mode 100644
index 8514a171f..000000000
--- a/docs/src/config.ts
+++ /dev/null
@@ -1,204 +0,0 @@
-export const SIDEBAR = {
- en: [
- { text: 'Setup', header: true },
- { text: 'Getting Started', link: 'en/getting-started' },
- { text: 'Quickstart', link: 'en/quick-start' },
- { text: 'Installation', link: 'en/installation' },
- { text: 'Themes', link: 'en/themes' },
- { text: 'Astro vs. X', link: 'en/comparing-astro-vs-other-tools' },
- { text: 'Migrate to v0.21', link: 'en/migration/0.21.0' },
-
- { text: 'Basics', header: true },
- { text: 'Project Structure', link: 'en/core-concepts/project-structure' },
- { text: 'Component Syntax', link: 'en/core-concepts/astro-components' },
- { text: 'Pages', link: 'en/core-concepts/astro-pages' },
- { text: 'Layouts', link: 'en/core-concepts/layouts' },
- { text: 'Routing', link: 'en/core-concepts/routing' },
- { text: 'Partial Hydration', link: 'en/core-concepts/component-hydration' },
-
- { text: 'Guides', header: true },
- { text: 'Styling & CSS', link: 'en/guides/styling' },
- { text: 'Markdown', link: 'en/guides/markdown-content' },
- { text: 'Debugging', link: 'en/guides/debugging' },
- { text: 'Data Fetching', link: 'en/guides/data-fetching' },
- { text: 'Pagination', link: 'en/guides/pagination' },
- { text: 'RSS', link: 'en/guides/rss' },
- { text: 'Supported Imports', link: 'en/guides/imports' },
- { text: 'Aliases', link: 'en/guides/aliases' },
- { text: 'Environment Variables', link: 'en/guides/environment-variables' },
- { text: 'Deploy to the web', link: 'en/guides/deploy' },
- { text: 'Publish to npm', link: 'en/guides/publish-to-npm' },
-
- { text: 'Reference', header: true },
- { text: 'Built-In Components', link: 'en/reference/builtin-components' },
- { text: 'API Reference', link: 'en/reference/api-reference' },
- { text: 'CLI Reference', link: 'en/reference/cli-reference' },
- {
- text: 'Configuration Reference',
- link: 'en/reference/configuration-reference',
- },
- { text: 'Renderer Reference', link: 'en/reference/renderer-reference' },
- ],
- de: [
- { text: 'Einrichtung', header: true },
- { text: 'Erste Schritte', link: 'de/getting-started' },
- { text: 'Schnellstart', link: 'de/quick-start' },
- { text: 'Installation', link: 'de/installation' },
- { text: 'Vorlagen', link: 'de/themes' },
- { text: 'Astro vs. X', link: 'de/comparing-astro-vs-other-tools' },
- { text: 'Umstellung auf v0.21', link: 'de/migration/0.21.0' },
-
- { text: 'Grundlagen', header: true },
- { text: 'Projektstruktur', link: 'de/core-concepts/project-structure' },
- { text: 'Astro-Komponenten', link: 'de/core-concepts/astro-components' },
- { text: 'Astro-Seiten', link: 'de/core-concepts/astro-pages' },
- { text: 'Layouts', link: 'de/core-concepts/layouts' },
- { text: 'Routing', link: 'de/core-concepts/routing' },
- { text: 'Partial Hydration', link: 'de/core-concepts/component-hydration' },
-
- { text: 'Anleitungen', header: true },
- { text: 'Styling & CSS', link: 'de/guides/styling' },
-
- { text: 'Referenz', header: true },
- ],
- nl: [
- { text: 'Welkom', header: true },
- { text: 'Beginnen', link: 'nl/getting-started' },
- { text: 'Snel start', link: 'nl/quick-start' },
- ],
- fi: [
- { text: 'Tervetuloa', header: true },
- { text: 'Aloittaminen', link: 'fi/getting-started' },
- { text: 'Pika-aloitus', link: 'fi/quick-start' },
- { text: 'Asennus', link: 'fi/installation' },
- ],
- es: [
- { text: 'Configuración', header: true },
- { text: 'Empezando', link: 'es/getting-started' },
- { text: 'Comienzo rápido', link: 'es/quick-start' },
- { text: 'Instalación', link: 'es/installation' },
- { text: 'Astro vs. X', link: 'es/comparing-astro-vs-other-tools' },
-
- { text: 'Fundamentos', header: true },
- {
- text: 'Estructura del Proyecto',
- link: 'es/core-concepts/project-structure',
- },
- {
- text: 'Sintaxis del Componente',
- link: 'es/core-concepts/astro-components',
- },
- { text: 'Páginas', link: 'es/core-concepts/astro-pages' },
- { text: 'Maquetas', link: 'es/core-concepts/layouts' },
- { text: 'Enrutamiento', link: 'es/core-concepts/routing' },
- {
- text: 'Hidratación parcial',
- link: 'es/core-concepts/component-hydration',
- },
-
- { text: 'Guías', header: true },
- { text: 'Estilo y CSS', link: 'es/guides/styling' },
- { text: 'Markdown', link: 'es/guides/markdown-content' },
- { text: 'Depuración', link: 'es/guides/debugging' },
- { text: 'Obtención de datos', link: 'es/guides/data-fetching' },
- { text: 'Paginación', link: 'es/guides/pagination' },
- { text: 'RSS', link: 'es/guides/rss' },
- { text: 'Importaciones admitidas', link: 'es/guides/imports' },
- { text: 'Alias', link: 'es/guides/aliases' },
- { text: 'Desplegar en la web', link: 'es/guides/deploy' },
- { text: 'Publicar en npm', link: 'es/guides/publish-to-npm' },
-
- { text: 'Referencia', header: true },
- {
- text: 'Componentes incorporados',
- link: 'es/reference/builtin-components',
- },
- { text: 'Referencia de API', link: 'es/reference/api-reference' },
- { text: 'Referencia de CLI', link: 'es/reference/cli-reference' },
- {
- text: 'Referencia de configuración',
- link: 'es/reference/configuration-reference',
- },
- {
- text: 'Referencia de renderizador',
- link: 'es/reference/renderer-reference',
- },
- ],
- 'zh-CN': [
- { text: '起步', header: true },
- { text: '入门指南', link: 'zh-CN/getting-started' },
- { text: '快速入门', link: 'zh-CN/quick-start' },
- { text: '安装指南', link: 'zh-CN/installation' },
- { text: '模板样例', link: 'zh-CN/examples' },
- {
- text: 'Astro 对比其他框架',
- link: 'zh-CN/comparing-astro-vs-other-tools',
- },
- ],
- 'zh-TW': [
- { text: '設定', header: true },
- { text: '新手上路', link: 'zh-TW/getting-started' },
- { text: '快速開始', link: 'zh-TW/quick-start' },
- { text: '安裝', link: 'zh-TW/installation' },
- { text: '佈景主題', link: 'zh-TW/themes' },
- ],
- bg: [
- { text: 'Главни', header: true },
- { text: 'Започваме!', link: 'bg/getting-started' },
- ],
- fr: [
- { text: 'Bienvenue', header: true },
- { text: 'Bien démarrer', link: 'fr/getting-started' },
- { text: 'Démarrage rapide', link: 'fr/quick-start' },
- { text: 'Installation', link: 'fr/installation' },
- ],
- bn: [
- { text: 'সেটআপ', header: true },
- { text: 'শুরু করুন', link: 'bn/getting-started' },
- ],
- kr: [
- { text: '환영합니다', header: true },
- { text: '시작하기', link: 'kr/getting-started' },
- ],
- ar: [
- { text: 'التهيئة', header: true },
- { text: 'باشر البدأ', link: 'ar/getting-started' },
- ],
- da: [
- { text: 'Velkommen', header: true },
- { text: 'Introduktion', link: 'da/getting-started' },
- ],
- ja: [
- { text: 'セットアップ', header: true },
- { text: 'はじめに', link: 'ja/getting-started' },
- { text: 'クイックスタート', link: 'ja/quick-start' },
- { text: 'インストール', link: 'ja/installation' },
- { text: 'テーマ', link: 'ja/themes' },
- { text: 'Astro vs. X', link: 'ja/comparing-astro-vs-other-tools' },
- ],
- ru: [
- { text: 'Введение', header: true },
- { text: 'Начало работы', link: 'ru/getting-started' },
- { text: 'Быстрый старт', link: 'ru/quick-start' },
- ],
- it: [
- { text: 'Impostare', header: true },
- { text: 'Come iniziare', link: 'it/getting-started' },
- ],
-};
-
-export const SITE = {
- title: 'Astro Documentation',
- description: 'Build faster websites with less client-side Javascript.',
-};
-
-export const OPEN_GRAPH = {
- locale: 'en_US',
- image: {
- src: '/default-og-image.png?v=1',
- alt:
- 'astro logo on a starry expanse of space,' +
- ' with a purple saturn-like planet floating in the right foreground',
- },
- twitter: 'astrodotbuild',
-};
diff --git a/docs/src/data/components.json b/docs/src/data/components.json
deleted file mode 100644
index 1abe45fc0..000000000
--- a/docs/src/data/components.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "official": [],
- "community": [
- {
- "name": "Accessible Astro Components",
- "description": "A set of accessible modals, buttons, toggles and more.",
- "github": "https://www.npmjs.com/package/accessible-astro-components",
- "demo": null
- },
- {
- "name": "Astro Static Tweet",
- "description": "A lightweight static-HTML tweet embed.",
- "github": "https://www.npmjs.com/package/@rebelchris/astro-static-tweet",
- "demo": null
- },
- {
- "name": "Astro SEO",
- "description": "SEO tags for your website.",
- "github": "https://github.com/jonasmerlin/astro-seo",
- "demo": null
- },
- {
- "name": "Astro SPA",
- "description": "A component for Astro JS that turns a website into an SPA.",
- "github": "https://www.npmjs.com/package/astro-spa",
- "demo": [
- "https://ohka-bots-site-astro-ksoqn4flk7-li4hm4z1a-tc-001.vercel.app/",
- "https://astro-spafy-component-demo.netlify.app/"
- ]
- }
- ]
-}
diff --git a/docs/src/data/themes.json b/docs/src/data/themes.json
deleted file mode 100644
index 27142ac3c..000000000
--- a/docs/src/data/themes.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "featured": [
- {
- "name": "Ink",
- "description": "Crisp, minimal, personal blog theme for Astro",
- "github": "https://github.com/one-aalam/astro-ink",
- "demo": "https://astro-ink.vercel.app/",
- "sandbox": "https://github.dev/one-aalam/astro-ink",
- "command": "npm init astro -- --template one-aalam/astro-ink"
- }
- ],
- "official": [
- {
- "name": "Starter Kit",
- "description": "A default starter project for Astro. Flexible enough to handle anything that you might want to build.",
- "github": "https://github.com/withastro/astro/tree/main/examples/starter",
- "demo": null,
- "sandbox": "https://github.dev/withastro/astro/tree/main/examples/starter",
- "command": "npm init astro"
- },
- {
- "name": "Docs",
- "description": "A documentation website theme, complete with i18n, search, dark mode and more.",
- "github": "https://github.com/withastro/astro/tree/main/examples/docs",
- "demo": null,
- "sandbox": "https://github.dev/withastro/astro/tree/main/examples/docs",
- "command": "npm init astro -- --template docs"
- },
- {
- "name": "Blog",
- "description": "A blog theme, perfect for personal and company blogs.",
- "github": "https://github.com/withastro/astro/tree/main/examples/blog",
- "demo": null,
- "sandbox": "https://github.dev/withastro/astro/tree/main/examples/blog",
- "command": "npm init astro -- --template blog"
- },
- {
- "name": "Portfolio",
- "description": "A portfolio theme, perfect for your personal or professional online portfolio.",
- "github": "https://github.com/withastro/astro/tree/main/examples/portfolio",
- "demo": null,
- "sandbox": "https://github.dev/withastro/astro/tree/main/examples/portfolio",
- "command": "npm init astro -- --template portfolio"
- },
- {
- "name": "Portfolio-svelte",
- "description": "A portfolio theme using Svelte components, perfect for your personal or professional online portfolio.",
- "github": "https://github.com/withastro/astro/tree/main/examples/portfolio-svelte",
- "demo": null,
- "sandbox": "https://github.dev/withastro/astro/tree/main/examples/portfolio-svelte",
- "command": "npm init astro -- --template portfolio-svelte"
- },
- {
- "name": "Minimal",
- "description": "A minimal theme, with just the bare minimum needed to get started.",
- "github": "https://github.com/withastro/astro/tree/main/examples/minimal",
- "demo": null,
- "sandbox": "https://github.dev/withastro/astro/tree/main/examples/minimal",
- "command": "npm init astro -- --template minimal"
- }
- ],
- "community": [
- {
- "name": "Accessible Astro Starter",
- "description": "A starter project with accessible features using Astro static site builder.",
- "github": "https://github.com/markteekman/accessible-astro-starter",
- "demo": "https://accessible-astro.markteekman.nl/",
- "sandbox": "https://github.dev/markteekman/accessible-astro-starter",
- "command": "npm init astro -- --template markteekman/accessible-astro-starter"
- },
- {
- "name": "Astro Theme Creek",
- "description": "Creek is an open source blog theme for Astro SSG.",
- "github": "https://github.com/robertguss/Astro-Theme-Creek",
- "demo": "https://astro-theme-creek.netlify.app/",
- "sandbox": "https://github.dev/robertguss/Astro-Theme-Creek",
- "command": "npm init astro -- --template robertguss/Astro-Theme-Creek"
- }
- ]
-}
diff --git a/docs/src/layouts/MainLayout.astro b/docs/src/layouts/MainLayout.astro
deleted file mode 100644
index b439b139f..000000000
--- a/docs/src/layouts/MainLayout.astro
+++ /dev/null
@@ -1,126 +0,0 @@
----
-import HeadCommon from '../components/HeadCommon.astro';
-import HeadSEO from '../components/HeadSEO.astro';
-import Header from '../components/Header/Header.astro';
-import Footer from '../components/Footer/Footer.astro';
-import PageContent from '../components/PageContent/PageContent.astro';
-import LeftSidebar from '../components/LeftSidebar/LeftSidebar.astro';
-import RightSidebar from '../components/RightSidebar/RightSidebar.astro';
-import { SITE } from '../config.ts';
-
-const { content = {}, hideRightSidebar = false } = Astro.props;
-const currentPage = Astro.request.url.pathname;
-const currentFile = `src/pages${currentPage.replace(/\/$/, '')}.md`;
-const githubEditUrl = `https://github.com/withastro/astro/blob/main/docs/${currentFile}`;
-const formatTitle = (content, SITE) =>
- content.title ? `${content.title} 🚀 ${SITE.title}` : SITE.title;
----
-
-
-
-
-
- {formatTitle(content, SITE)}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/src/layouts/SplashLayout.astro b/docs/src/layouts/SplashLayout.astro
deleted file mode 100644
index 7e4ea55b6..000000000
--- a/docs/src/layouts/SplashLayout.astro
+++ /dev/null
@@ -1,48 +0,0 @@
----
-import HeadCommon from '../components/HeadCommon.astro';
-import Header from '../components/Header/Header.astro';
-import { SITE } from '../config.ts';
-
-const { title } = Astro.props;
----
-
-
-
-
- {`${title} 🚀 ${SITE.title}`}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/src/pages/404.astro b/docs/src/pages/404.astro
deleted file mode 100644
index 8a0bfbb5b..000000000
--- a/docs/src/pages/404.astro
+++ /dev/null
@@ -1,9 +0,0 @@
----
-import SplashLayout from '../layouts/SplashLayout.astro';
----
-
-
- 404
- This page isn't in our solar system.
- Take me home.
-
diff --git a/docs/src/pages/[...slug].astro b/docs/src/pages/[...slug].astro
deleted file mode 100644
index 613e2b3d5..000000000
--- a/docs/src/pages/[...slug].astro
+++ /dev/null
@@ -1,19 +0,0 @@
----
-export async function getStaticPaths() {
- // get english pages that moved from `/` to `/en/`
- const englishPages = Astro.fetchContent('./en/**/*.md');
-
- // add pages that are `*.astro` files as well
- const otherPages = [{ url: "/en/themes" }];
- return [...englishPages, ...otherPages].map((page) => ({
- params: {
- slug: page.url.slice(4),
- },
- props: {
- englishSlug: page.url,
- }
- }));
-}
----
-
-
diff --git a/docs/src/pages/ar/getting-started.md b/docs/src/pages/ar/getting-started.md
deleted file mode 100644
index 81d214ab2..000000000
--- a/docs/src/pages/ar/getting-started.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: باشر بالبدأ
-lang: ar
-dir: rtl
----
-
-Astro هو باني موقع ثابت. تعرف أكثر حول ماهية Astro من خلال [صفحتنا الرئيسية](https://astro.build/) أو نشرة [الإصدارات](https://astro.build/blog/introducing-astro). تُعد هذه الصفحة نُبذة موجزة للتوثيق الخاص بـAstro وأيضًا لكل المصادر التي تتعلق به.
-
-إن كنت تتطلع عن ملخص سريع حول ما هو Astro بشكلٍ عام؟ [تفقد صفحتنا الرئيسية.](https://astro.build/blog/introducing-astro)
-
-## جرب Astro
-
-أبسط طريقة لتجرب Astro هي بتنفيذ أمر `npm init astro` في داخل مُجلد جديد على جهازك، وسيقوم Astro CLI بمُساعدتك على بدأ مشروع Astro جديد.
-
-لتباشر البدأ باستخدام Astro من خلال 5 خطوات سريعة وبسيطة، تفقد [دليل البدأ-بسرعة](quick-start).
-
-أو إقرأ [دليل التثبيت](/installation) إن كنت تريد الغوص في عملية تهيئة Astro.
-
-### أمثلة على بعض المشاريع
-
-أن كنت تفضل التعلم عن طريق الأمثلة، ألقي نظرةٍ على [مكتبة الأمثلة الشاملة](https://github.com/withastro/astro/tree/main/examples) المتواجدة على Github.
-
-بمقدورك الإطلاع على أي من هذه الأمثلة وتجربتها مُباشرةً على جهازك،
-فقط نفذ الأمر npm init astro
متبوعًا بـ
-`--template`. الإشارة `--template` أيضًا تدعم الامثلة الخارجية التي يصنعها المجتمع
-
-```bash
-# أمر تهيئة أحد القوالب الرسمية التي يوفرها استرو
-npm init astro -- --template [OFFICIAL_EXAMPLE_NAME]
-# أمر تهيئة القوالب الخارجية التي يوفرها المُجتمع
-npm init astro -- --template [GITHUB_USER]/[REPO_NAME]
-npm init astro -- --template [GITHUB_USER]/[REPO_NAME]/path/to/example
-```
-
-### جربه على المُتصفح
-
-إن كنت مهتمًا وتريد اللعب وتجربة Astro على المتصفح، بمقدورك استخدام online code playground، جرب قالب مشروعنا "Hello World" على [CodeSandbox](https://codesandbox.io/s/astro-template-hugb3).
-
-_ملحوظة: بعض المُميزات مُقتصرة على CodeSandbx (مثلاً: التحديث السريع "Fast Refresh") حاليًا._
-
-## تعلمُ Astro
-
-يأتي العديد الأشخاص من خلفياتِ تعلم مُختلفة إلى Astro، أيًا كانت طريقة التعليم التي تفضلها سواءً أكنت تفضل الطريقة النظرية أو الطريقة العملية، نتمنى أن تجد هذا القسم مفيدًا.
-
-- إن كُنت تُفضل **التعلم من خلال التجربة العملية**، أبدأ من خلال [مكتبتنا للأمثلة](https://github.com/withastro/astro/tree/main/examples).
-- إن كُنت تُفضل **التعلم من خلال الفهم خطوةً بخطوة**، أبدأ من خلال [دليل المفاهيم الأساسية والإرشادات](/core-concepts/project-structure).
-
-مثل أي تقنيةٍ ليست بمألوفة، Astro يأتيك بمنحنى تعليمي مختلف بعض الشيء، ولكن على أي حال، مع بعض الصبر والممارسة، نحن متأكدون بأنك _ستتأقلم معه_ في وقتٍ هين دون أن تشعر.
-
-### تعلمُ تركيب .astro
النحوي (syntax)
-
-مع بدأ تعلمك لـAstro ستلاحظ العديد من الملفات التي تنتهي بصيغة .astro
هي ملفات مكتوبة بـ Astro’s Component Syntax والتي تعد: طريقة كتابة مشابهة جدًا لملفات HTML يستخدمها Astro في القوالب.
-صممت هذه الصيغة لتكون قريبة ومشابهة للـ HTML و JSX، إن كنت تعرف أحدهما فستتأقلم مع .astro
بسهولة.
-
-تفقد دليلنا المساعد [مكونات Astro](/core-concepts/astro-components) سيكون مدخل يساعدك على تعلم Astro syntax، ويعد أفضل طريقة للتعلم.
-
-### مرجع للـAPI
-
-يُفيدك هذا الجزء من التوثيق حينما تريد الإطلاع أكثر بشأن تفاصيل Astro API. على سبيل المثال، يتضمن [مرجع الإعداد](/reference/configuration-reference) قائمة لكل الإعدادات الممكنة المتاحة لكي تستخدمها. [المكونات المصممة مسبقًا](/reference/builtin-components) تتضمن قائمة بكل العناصر الرئيسية مثل ` ` و `
` .
-
-### إصدارات التوثيق
-
-هذا التوثيق يُسلط الضوء دومًا على أخر إصدار مستقر من Astro، وريثما نصل إلى إصدار 1.0 الرئيسي سنقوم بإضافة القابلية لتصفح اللإصدارات المختلفة من التوثيق.
-
-## أبقى مُطلعًا
-
-حساب [@astrodotbuild](https://twitter.com/astrodotbuild) على تويتر هو المصدر الرسمي لأخر المُستجدات من فريق Astro.
-
-ونحن أيضًا نُعد نشرة إصدارات ونعلن عنها في [مُجتمعنا على ديسكورد](https://astro.build/chat) على قناة #announcements
-
-ليست كل إصدارات Astro تملك تدوينة نشرةٍ خاصة بها، لكن ستجد سجلًا للتغيرات في ملف [`CHANGELOG.md` في مستودع Astro](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md).
-
-## شيءٌ ما ناقص؟
-
-إن كان هناك شيءُ ما غير مُوثق أو لو كنت تشعر بالحيرة والإرتباك من جزءٍ معين في التوثيق، لا تتردد في [رفع طلب خطبٌ ما في ملف التوثيق](https://github.com/withastro/astro/issues/new/choose)، مع اقتراحك للتحسين، أو قم بتغريد تغريدةٍ إلى حسابنا على تويتر [@astrodotbuild](https://twitter.com/astrodotbuild)، نحب سماع آرائك!
-
-## التَقدِير
-
-دليل باشر بالبدأ معتمدٌ على دليل البدأ الخاص بـ[React](https://ar.reactjs.org/).
diff --git a/docs/src/pages/bg/getting-started.md b/docs/src/pages/bg/getting-started.md
deleted file mode 100644
index 31f6143c0..000000000
--- a/docs/src/pages/bg/getting-started.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Започваме!
----
-
-Astro е модерен builder за статични сайтове. Научете всичко за Astro от [нашата начална страница](https://astro.build/) или от [release поста](https://astro.build/blog/introducing-astro). Тази страница е оглед на документацията на Astro и всички свързани ресурси.
-
-## Пробвайте Astro
-
-Най-лесният начин да пробвате Astro е да изпълните `npm init astro` в нова локална директория. Нашият CLI Wizard ще Ви помогне да започнете нов Astro проект.
-
-За да започнете с Astro в 5 бързи и лесни стъпки, посетете нашия [Гид за бърз старт](quick-start).
-
-Алтернативно, можете да прочетете нашия [Инсталационен гид](/installation) за всичко относно настройката на Astro.
-
-### Онлайн площадки (playgrounds)
-
-Ако искате да си експериментирате с Astro в браузъра, можете да използвате онлайн площадка за код. Пробвайте нашия "Hello World!" темплейт на [CodeSandbox](https://codesandbox.io/s/astro-template-hugb3).
-
-_Бележка: някои функционалности (например: Fast Refresh) са лимитирани на CodeSandbox засега._
-
-## Научете Astro
-
-Всякакви видове хора с различни методи за обучение се ориентират към Astro. Независимо дали предпочитате по-теоретичен, или по-практически подход, ние се надяваме че ще намерите тази секция за полезна.
-
-- Ако предпочитате да **учите чрез практика**, започнете с нашата [библиотека с примери](https://github.com/withastro/astro/tree/main/examples).
-- Ако предпочитате да **учите концепции стъпка по стъпка**, започнете с нашите [базови концепции и гидове](/core-concepts/project-structure).
-
-Като всяка непозната технология, Astro изисква известно време, за да се научи. Но с практика и малко търпение, ние сме сигурни, че _ще го схванете_ за нула време.
-
-### Научете `.astro` синтаксис
-
-Когато започнете да учите Astro, ще видите много файлове с разширение `.astro`. Това е **Компонентният синтаксис на Astro** -
-специален файлов формат наподобяващ HTML, който Astro използва за изграждане на страници (templating). Направен е, така че да е познат на всеки с HTML или JSX опит.
-
-Нашият помощен гид за [Astro компонентите](/core-concepts/astro-components) Ви запознава със синтаксисът на Astro и е най-добрият начин да се научите.
-
-### API Справка
-
-Тази секция е полезна, когато искате да научите повече детайли относно даден Astro API. Например - [Конфигурационната справка](/reference/configuration-reference) изброява всички възможни конфигурационни опции. [Справката за вградени компоненти](/reference/builtin-components) изброява всички възможни базови (core) компоненти, като ` ` и `
`.
-
-### Версия на документацията
-
-Тази документация винаги рефлектира последната стабилна версия на Astro. Когато пуснем версия 1.0, ще добавим опция за преглед на предишни или бъдещи версии.
-
-## Бъдете информирани
-
-Официалният източник за новини от екипа на Astro е Twitter акаунтът - [@astrodotbuild](https://twitter.com/astrodotbuild).
-
-Публикуваме и съобщения относно нови версии в [нашия Discord сървър](https://astro.build/chat) в #announcements канала.
-
-Не всяка нова версия на Astro заслужава собствен блог пост, но можете да намерите регистър на промените за всеки релийз в [`CHANGELOG.MD` файла, намиращ се в репото на Astro](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md).
-
-## Нещо липсва?
-
-Ако нещо липсва в документацията или намирате нещо за объркващо, моля [подайте го като issue за документацията](https://github.com/withastro/astro/issues/new/choose) с Вашите предложения за подобрение или пуснете tweet към [@astrodotbuild](https://twitter.com/astrodotbuild). Обичаме да чуваме от Вас!
-
-## Credit
-
-Първоначално този гид е базиран на документацията на [React](https://reactjs.org/).
diff --git a/docs/src/pages/bn/getting-started.md b/docs/src/pages/bn/getting-started.md
deleted file mode 100644
index 351e47e9c..000000000
--- a/docs/src/pages/bn/getting-started.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: শুরু করুন
----
-
-Astro হচ্ছে একটি আধুনিক স্ট্যাটিক ওয়েবসাইট বিল্ডার। Astro সম্পর্কে বিস্তারিত জানুন [আমাদের হোমপেজ](https://astro.build/) থেকে অথবা [আমাদের রিলিজ পোস্ট](https://astro.build/blog/introducing-astro) থেকে। এই পেজটি Astro-এর ডকুমেন্টেশন এবং এ সম্পর্কিত সকল বিষয়ের একটি সারাংশ।
-
-## Astro ব্যবহার করুন
-
-Astro ব্যবহার করার সবচেয়ে সহজ উপায় হচ্ছে আপনার কম্পিউটারের নতুন কোন ফোল্ডারে `npm init astro` রান করা। আমাদের সিএলআই উইজার্ড আপনাকে একটি নতুন Astro প্রোজেক্ট শুরু করতে সাহায্য করবে।
-
-মাত্র ৫টি সহজ ও ছোট ধাপে Astro নিয়ে কাজ করা শুরু করতে , আমাদের [কুইকস্টার্ট গাইডটি](quick-start) চেক করুন।
-
-অথবা, Astro সেটআপ এর উপর সম্পূর্ণ একটি ওয়াকথ্রুর জন্য আমাদের [ইন্সটলেশন গাইডটি](/installation) চেক করুন।
-
-### অনলাইন প্লেগ্রাউন্ড
-
-আপনি যদি ব্রাউজারে Astro নিয়ে কাজ করতে চান, তাহলে আপনি একটি অনলাইন কোড প্লেগ্রাউন্ড ব্যবহার করতে পারেন। এজন্য আমাদের [কোডস্যান্ডবক্স](https://codesandbox.io/s/astro-template-hugb3)-এর "Hello World!" টেমপ্লেটটি ব্যবহার করতে পারেন।
-
-_দ্রষ্টব্য: বর্তমানে কোডস্যান্ডবক্সে কিছু ফিচার (যেমন: ফাস্ট রিফ্রেশ) প্রাথমিক পর্যায়ে রয়েছে।_
-
-## Astro শিখুন
-
-বিভিন্ন ব্যাকগ্রাউন্ডের বিভিন্ন ধরণের মানুষ বিভিন্ন পদ্ধতিতে শিখার আগ্রহ নিয়ে Astro-তে আসে। আপনি ব্যবহারিক বা তাত্ত্বিক যে পদ্ধতিতেই শিখতে পছন্দ করেন, আমাদের আশা এই অংশটি আপনাকে সহায়তা করবে।
-
-- যদি আপনি **করে করে** শিখতে পছন্দ করেন, তাহলে আমাদের [উদাহরণগুলো](https://github.com/withastro/astro/tree/main/examples) দিয়ে শুরু করুন।
-- আর যদি আপনি **ধাপে ধাপে** বিষয়গুলো বুঝতে চান, তাহলে আমাদের [মৌলিক ধারণা এবং সহায়িকাসমূহ](/core-concepts/project-structure) দেখুন।
-
-অন্যান্য যেকোনো অপরিচিত প্রযুক্তির মতো, Astro শিখতেও কিছুটা প্রচেষ্টার প্রয়োজন রয়েছে। কিন্তু, আমরা জানি, আপনি লেগে থাকলে অতি দ্রুতই এর সাথে মানিয়ে নিতে _পারবেন_।
-
-### `.astro` সিনট্যাক্স শিখুন
-
-আপনি যখন Astro শিখা শুরু করবেন, আপনি অনেকগুলো `.astro` ফাইল খেয়াল করবেন। এটা **Astro-এর কম্পোনেন্ট সিনট্যাক্স**, একটি বিশেষ এইচটিএমএল-এর মতো ফাইল ফরম্যাট যা Astro টেমপ্লেটিং-এর জন্য ব্যবহার করে। এটাকে এইচটিএমএল এবং জেএসএক্স-এর সাথে মিল রেখে তৈরি করা হয়েছে।
-
-আমাদের [Astro কম্পোনেন্ট](/core-concepts/astro-components)-এর উপর সহায়ক গাইডটি আপনাকে Astro সিনট্যাক্স-এর সাথে পরিচিত করে তুলবে, আর এটিই শিখার সবচেয়ে ভালো উপায়।
-
-### এপিআই রেফারেন্স
-
-যদি আপনি কোনো নির্দিষ্ট Astro এপিআই-এর সম্বন্ধে বিস্তারিত জানতে চান তাহলে এই ডকুমেন্টেশনটি আপনাকে সাহায্য করবে। উদাহরণস্বরূপ, [কনফিগারেশন রেফারেন্সে](/reference/configuration-reference) সকল কনফিগারেশন অপশনের তালিকা দেয়া আছে। [বিল্ট-ইন কম্পোনেন্টস রেফারেন্সে](/reference/builtin-components) সকল বিল্ট-ইন কম্পোনেন্টের তালিকা দেয়া আছে, যেমন ` ` আর ` `।
-
-### ভার্সনকৃত ডকুমেন্টেশন
-
-এই ডকুমেন্টেশনটি সবসময় Astro-এর লেটেস্ট ভার্সনকে প্রতিফলিত করে। যখন আমরা v1.0-এর মাইলফলকটি স্পর্শ করব, তখন আমরা ভার্সনকৃত ডকুমেন্টেশন ফিচারটি সংযোজন করব।
-
-## অবগত থাকুন
-
-[@astrodotbuild](https://twitter.com/astrodotbuild) টুইটার অ্যাকাউন্টটি Astro টিম থেকে যেকোনো আপডেট পাওয়ার অফিসিয়াল মাধ্যম।
-
-আমরা আমাদের [ডিসকর্ড সার্ভারের](https://astro.build/chat) **#announcements** চ্যানেলেও যেকোনো নতুন বিজ্ঞপ্তি প্রকাশ করে থাকি।
-
-প্রতিটি Astro রিলিজের জন্য আমরা নতুন ব্লগ পোস্ট করি না, কিন্তু আপনি Astro রিপোজিটরির [`CHANGELOG.md`](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) ফাইলে প্রতিটি রিলিজের বিস্তারিত পরিবর্তনসূচি দেখতে পারবেন।
-
-## কিছু অনুপস্থিত মনে হচ্ছে?
-
-আপনার যদি ডকুমেন্টেশনে কোনো কিছু অনুপস্থিত মনে হয় বা কোনো অংশকে বিভ্রান্তিকর মনে হয়, তাহলে দয়া করে আপনার পরামর্শসহ [একটি ইস্যু ফাইল করুন](https://github.com/withastro/astro/issues/new/choose) অথবা [@astrodotbuild](https://twitter.com/astrodotbuild) টুইটার অ্যাকাউন্টটিতে টুইট করুন। আমরা আপনাদের পরামর্শ শুনতে সর্বদা আগ্রহী!
-
-## ক্রেডিট
-
-এই গাইডটি মূলত [React-এর](https://reactjs.org/) **শুরু করুন** গাইডের উপর ভিত্তি করে লিখা হয়েছিল।
diff --git a/docs/src/pages/da/getting-started.md b/docs/src/pages/da/getting-started.md
deleted file mode 100644
index f6798f8b8..000000000
--- a/docs/src/pages/da/getting-started.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Introduktion
-description: En grundlæggende introduktion til Astro.
-lang: da
----
-
-Astro er en moderne statisk side bygger. Lær hvad Astro handler om på [vores hjemmeside](https://astro.build/) eller [vores udgivelsesmeddelelser](https://astro.build/blog/introducing-astro). Denne side er et overblik over Astro-dokumentationen og alle relaterede ressourcer.
-
-## Prøv Astro
-
-Den nemmeste måde at prøve Astro på er ved at køre `npm init astro` i en ny mappe på din maskine. Vores CLI-guide vil hjælpe dig med at starte et nyt Astro projekt.
-
-Besøg vores [Hurtigstartsguide](/quick-start) for at komme i gang med Astro i 5 hurtige og nemme trin.
-
-Alternativt kan du læse vores [Installationsguide](/installation) for en fuld gennemgang af hvordan du sætter Astro op.
-
-### Eksempelprojekter
-
-Hvis du foretrækker at lære Astro ved hjælp af eksempler, kan du tjekke vores [fulde bibliotek af eksempler](https://github.com/withastro/astro/tree/main/examples) på GitHub.
-
-Du kan tjekke alle disse eksempler på din lokale maskine ved at køre `npm init astro` med CLI-flaget `--template`. Flaget `--template` understøtter også tredjeparts-skabeloner lavet af fællesskabet.
-
-```bash
-# Kør init-guiden og brug denne officielle skabelon
-npm init astro -- --template [OFFICIEL_EKSEMPEL_NAVN]
-# Kør init-guiden og brug denne skabelon lavet af fællesskabet
-npm init astro -- --template [GITHUB_BRUGER]/[REPO_NAVN]
-npm init astro -- --template [GITHUB_BRUGER]/[REPO_NAVN]/sti/til/eksempel
-```
-
-### Online Legepladser
-
-Hvis du er interesseret i at lege med Astro i browseren, kan du straks starte et nyt Astro projekt med vores brugerflade på [astro.new](https://astro.new/).
-
-Du kan prøve Astro i online kodeeditorer som Stackblitz, CodeSandbox, Gitpod eller GitHub Codespaces. Klik på "Open in Stackblitz" linket i et af eksemplerne i vores [liste af eksempler](https://github.com/withastro/astro/tree/main/examples). Eller, [klik her](https://stackblitz.com/fork/astro) for at starte et nyt projekt i [Stackblitz](https://stackblitz.com/fork/astro).
-
-## Lær Astro
-
-Alle slags mennesker kommer til Astro fra forskellige baggrunde og medbringer forskellige læringsstile. Uanset om du foretrækker en mere teoretisk eller praktisk tilgang, håber vi at du finder dette afsnit nyttigt.
-
-- Hvis du foretrækker at **lære ved at gøre**, kan du starte med vores [liste af eksempler](https://github.com/withastro/astro/tree/main/examples).
-- Hvis du foretrækker at **lære koncepter trin for trin**, kan du starte med vores [grundlæggende koncepter og vejledninger](/core-concepts/project-structure).
-
-Som enhver anden ukendt teknologi har Astro en lille indlæringskurve. Men med øvelse og lidt tålmodighed, ved vi at du _vil_ få styr på det på ingen tid.
-
-### Lær `.astro` Syntaks
-
-Når du begynder at lære Astro, vil du se mange filer med filtypen `.astro`. Dette er **Astros Komponent Syntaks**: et specielt HTML-lignende filformat som Astro bruger til templating. Det er designet til at føles bekendt for alle med HTML- eller JSX-erfaring
-
-Vores nyttige guide om [Astro-komponenter](/core-concepts/astro-components) introducerer dig til Astro-syntaksen, og er den bedste måde at lære på.
-
-### API Reference
-
-Dette dokumentationsafsnit er nyttigt når du vil lære flere detaljer om en bestemt Astro API. F.eks. indeholder [Konfigurationsreference](/reference/configuration-reference) en liste over alle tilgængelige konfigurationsmuligheder. [Indbyggede komponenter-reference](/reference/builtin-components) indeholder en liste over alle tilgængelige kernekomponenter, såsom ` ` og `
`.
-
-### Versioneret dokumentation
-
-Denne dokumentation afspejler altid den seneste stabile version af Astro. Når vi når v1.0-milepælen, vil vi tilføje muligheden for at se versioneret dokumentation.
-
-## Hold dig orienteret
-
-Twitter-kontoen [@astrodotbuild](https://twitter.com/astrodotbuild) er den officielle kilde til opdateringer fra Astro-teamet.
-
-Vi sender også udgivelsesmeddelelser til vores [Discord-fællesskab](https://astro.build/chat) i #announcements kanalen.
-
-Ikke hver Astro udgivelse fortjener sit eget blogindlæg, men du kan finde en detaljeret ændringsliste for hver udgivelse i [`CHANGELOG.md` filen i Astro-repositoriet](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md).
-
-## Mangler der noget?
-
-Hvis der mangler noget i dokumentationen, eller hvis du synes, at en del er forvirrende, skal du [indsende et Issue om dokumentationen](https://github.com/withastro/astro/issues/new/choose) med dit forslag til forbedringer, eller tweet på [@astrodotbuild](https://twitter.com/astrodotbuild) Twitter-kontoen. Vi elsker at høre fra dig!
-
-## Kredit
-
-Denne startvejledning var oprindeligt baseret på [React's](https://reactjs.org/) startvejledning.
diff --git a/docs/src/pages/de/404.astro b/docs/src/pages/de/404.astro
deleted file mode 100644
index 7107cc49a..000000000
--- a/docs/src/pages/de/404.astro
+++ /dev/null
@@ -1,9 +0,0 @@
----
-import SplashLayout from '../../layouts/SplashLayout.astro';
----
-
-
- 404
- Diese Seite befindet sich nicht in unserem Sonnensystem.
- Bring mich nach Hause.
-
diff --git a/docs/src/pages/de/comparing-astro-vs-other-tools.md b/docs/src/pages/de/comparing-astro-vs-other-tools.md
deleted file mode 100644
index 7462ced85..000000000
--- a/docs/src/pages/de/comparing-astro-vs-other-tools.md
+++ /dev/null
@@ -1,233 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Vergleiche Astro
-description: Vergleiche Astro mit anderen statischen Site-Renderern wie Gatsby, Next.js, Nuxt, Hugo, Eleventy und weiteren.
----
-
-Wir werden oft gefragt, "Wie verhält sich Astro im Vergleich zu meinem bevorzugten Site-Renderer **\_\_\_\_**?" Diese Anleitung wurde verfasst, um diese Frage für verschiedene populäre Site-Renderer und Astro-Alternativen zu beantworten.
-
-Falls dein bevorzugter Site-Renderer hier nicht aufgeführt ist, [frag uns danach in Discord](https://astro.build/chat).
-
-## Projektstatus
-
-Eine kurze Anmerkung zum Entwicklungsstand des Projektes: **Astro ist noch im Beta-Stadium.** Viele der Werkzeuge, die hier aufgeführt werden, sind sehr viel weiter fortgeschritten. Einige sind mehr als zwölf Jahre älter als Astro!
-
-Einige Features sind noch nicht verfügbar und Teile der API noch nicht vollständig. Wie auch immer, das Projekt wird bezüglich seiner Fehleranfälligkeit als stabil angesehen und verschiedene Websites wurden schon für den produktiven Einsatz mit Astro umgesetzt. Dies ist ein wichtiger Punkt, wenn es um eine Entscheidung in Bezug auf den Einsatz von Astro geht.
-
-## Docusaurus vs. Astro
-
-[Docusaurus](https://docusaurus.io/) ist ein populärer Dokumentationssite-Renderer. Docusaurus verwendet React, um deine Website-UI zu generieren, während Astro in diesem Bereich React, Preact, Vue, Svelte, Solid und andere unterstützt - sowie auch eine an HTML angelehnte Komponenten-Syntax, die sich ähnlich verhält wie HTML + JSX.
-
-Docusaurus wurde entwickelt, um Dokumentationswebsites zu erzeugen und bietet einige dokumentationsspezifische Features, über die Astro nicht verfügt. Stattdessen kannst du in Astro auf dokumentationsspezifische Features mittels einer offiziellen [`docs`](https://github.com/withastro/astro/tree/main/examples/docs)-Vorlage zugreifen, die du für deine Site verwenden kannst. Diese Dokumentationswebsite wurde unter Verwendung dieser Vorlage erstellt!
-
-### Leistungsvergleich Docusaurus vs. Astro
-
-In den meisten Fällen werden Astro-Websites deutlich schneller laden als Docusaurus-Websites. Dies liegt vor allem daran, dass Astro unnötiges JavaScript vermeidet und nur diejenigen Komponenten einer Seite mit JavaScript anreichert, die dies benötigen. Dieses Feature wird [Partial Hydration](/de/core-concepts/component-hydration) genannt.
-
-Docusaurus unterstützt Partial Hydration nicht. Stattdessen wird die gesamte Seite im Browser mit JavaScript angereichert, selbst wenn der größte Teil der Seite statisch ist. Dies führt zu längeren Ladezeiten und insgesamt schlechterer Leistung deiner Website. Es gibt keine Möglichkeit dieses Verhalten in Docusaurus abzuschalten.
-
-### Fallstudie: Kompilieren einer Dokumentationswebsite
-
-[docusaurus.io/docs](https://docusaurus.io/docs) ist die offizielle Docusaurus-Dokumentationswebsite - kompiliert mit Docusaurus. Die Website bietet ein ausreichend ähnliches Design und ausreichend ähnliche Funktionalität, um sie mit der offiziellen Astro-Dokumentationswebsite zu vergleichen. Dies ermöglicht uns einen **_grob realistischen_** Vergleich zwischen beiden Site-Renderern.
-
-- **Docusaurus Leistungswert**: 61 von 100 [(vollständige Prüfung)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocusaurus.io%2Fdocs)
-- **Astro Leistungswert**: 99 von 100 [(vollständige Prüfung)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-Ein wesentlicher Grund für diesen Leistungsunterschied liegt in Astros geringerer JavaScript-Last: [docusaurus.io/docs](https://docusaurus.io/docs) lädt **238kB** JavaScript mit dem ersten Seitenaufruf während [docs.astro.build](https://docs.astro.build) **78.7kB** (67% weniger JavaScript insgesamt) _nach_ dem ersten Seitenaufruf lädt.
-
-## Elder.js vs. Astro
-
-[Elder.js](https://elderguide.com/tech/elderjs/) ist ein Site-Renderer für Svelte mit stark ausgeprägten eigenen Vorstellungen.
-
-Elder.js verwendet Svelte, um deine Website zu rendern. Astro ist hierin flexibler: Du kannst frei entscheiden mit welcher UI-Komponenten-Bibliothek du deine Oberfläche erzeugen willst (React, Preact, Vue, Svelte, Solid und andere), oder du verwendest die an HTML angelehnte Komponenten-Syntax von Astro, die sich ähnlich verhält wie HTML + JSX.
-
-Elder.js hat eine besondere Stellung in dieser Auflistung, da es neben Astro der einzige Site-Renderer ist, der [Partial Hydration](/de/core-concepts/component-hydration) unterstützt. Sowohl Astro als auch Elder.js vermeiden automatisch unnötiges JavaScript auf der Seite und reichern nur die Komponenten damit an, die dies benötigen. Elders API für Partial Hydration unterscheidet sich etwas von der, die Astro verwendet. Und Astro unterstützt einige Features, über die Elder.js nicht verfügt (wie z. B. `client:media`). Wie auch immer, beide Werkzeuge erzeugen bezüglich der Leistung betrachtet sehr ähnliche Sites.
-
-Elder.js verwendet eine spezifische Routing-Lösung, die für neue Entwickler ungewohnt erscheinen kann. Astro verwendet [dateibasiertes Routing](/de/core-concepts/routing), das sich für alle vertraut anfühlen sollte, die Erfahrung mit Next.js, SvelteKit oder auch anderen Site-Renderern wie Eleventy haben.
-
-Elder.js wurde entwickelt, um große Websites zu erzeugen - und behauptet, es könne eine Website mit ca 20.000 Seiten in weniger als 10 Minuten rendern (auf einer durchschnittlichen VM). Zum Zeitpunkt der Erstellung dieses Textes rendert Astro ca 1.000 Seiten in 66 Sekunden, aber wurde noch nicht mit Projekten im Umfang von 20.000 Seiten getestet. Astro ist noch in einem frühen Beta-Stadium, und Elder.js Render-Geschwindigkeit zu erreichen ist ein Ziel für Astro v1.0.
-
-Elder.js unterstützt sowohl statische Site-Generierung (SSG) als auch Server-seitiges Rendering (SSR). Zum jetzigen Zeitpunkt unterstützt Astro nur statische Site-Generierung (SSG).
-
-## Eleventy vs. Astro
-
-[Eleventy](https://www.11ty.dev/) ist ein beliebter statischer Site-Renderer auf der Grundlage von Node.js.
-
-Eleventy verwendet verschiedene [ältere Sprachen für HTML-Templates](https://www.11ty.dev/docs/languages/), um deine Website zu rendern: Nunjucks, Liquid, Pug, EJS und andere. Astro erlaubt dir deine Websites mit deiner bevorzugten UI-Komponenten-Bibliothek (React, Preact, Vue, Svelte und andere) zu erzeugen, oder du verwendest die an HTML angelehnte Komponenten-Syntax von Astro, die sich ähnlich verhält wie HTML + JSX. Eleventy unterstützt keine modernen UI-Bibliotheken für die Erstellung von HTML-Templates.
-
-### Leistungsvergleich Eleventy vs. Astro
-
-Konzeptuell ist Eleventy auf Augenhöhe mit Astros "minimalistischem Einsatz von Client-seitigem JavaScript" bei der Web-Entwicklung. Eleventy und Astro bieten somit eine ähnliche Leistungsgrundlage durch ihre jeweilige Null-JavaScript-Strategie.
-
-Eleventy erreicht dies, indem es dich dazu anhält JavaScript gänzlich zu vermeiden. Eleventy-Sites werden oft mit sehr wenig bis hin zu gar keinem JavaScript geschrieben. Dies wird allerdings dann zum Thema, wenn du tatsächlich Client-seitig JavaScript einsetzen musst. Es bleibt dann dir überlassen eine entsprechende Build-Pipeline für deine Skripte und weitere Elemente aufzubauen. Dies kann sich sehr zeitaufwendig gestalten, und es zwingt dich das Packen der Anwendung, sowie Minifizierung und weitere komplizierte Optimierungen von Hand aufzusetzen.
-
-Im Gegensatz dazu kompiliert Astro automatisch dein Client-seitiges JavaScript & CSS für dich. Astro entfernt automatisch unnötiges JavaScript von der Seite und reichert nur die individuellen Komponenten damit an, die dies benötigen. Dieses Feature wird [Partial Hydration](/de/core-concepts/component-hydration) genannt. Während es dir natürlich möglich ist dieses Feature in Eleventy von Hand einzurichten, steht es dir in Astro bereits von vornherein zur Verfügung.
-
-## Gatsby vs. Astro
-
-[Gatsby](https://www.gatsbyjs.com/) ist eine beliebte Website- und Anwendungsbibliothek für React.
-
-Gatsby verwendet React, um deine Website zu rendern. Astro ist hierin flexibler: Du kannst frei entscheiden mit welcher UI-Komponenten-Bibliothek du deine Oberfläche erzeugen willst (React, Preact, Vue, Svelte, Solid und andere), oder du verwendest die an HTML angelehnte Komponenten-Syntax von Astro, die sich ähnlich verhält wie HTML + JSX.
-
-Gatsby v4 unterstützt statische Site-Generierung (Static Site Generation, SSG) mit inkrementellen Rebuilds sowie verzögerte statische Generierung (Deferred Static Generation, DSG), aber auch Server-seitiges Rendering (Server-Side Rendering, SSR). Zur Zeit unterstützt Astro nur statische Site-Generierung (SSG).
-
-Gatsby erfordert für deine gesamte Arbeit mit Site-Inhalten eine eigene GraphQL-API. Während einige Entwicklerinnen und Entwickler an diesem Modell Gefallen finden, besteht eine häufig geäußerte Kritik an Gatsby darin, dass dieses Modell auf Dauer zu komplex und schwer aufrechtzuerhalten ist, insbesondere wenn Sites sehr umfangreich werden. Für die Arbeit mit Astro ist GraphQL nicht erforderlich, stattdessen bietet es gewohnte API (wie `fetch()` und `await` auf oberster Ebene), um Daten nah bei ihrer Anwendung zu laden.
-
-### Leistungsvergleich Gatsby vs. Astro
-
-In den meisten Fällen werden Astro-Websites deutlich schneller laden als Gatsby-Websites. Dies liegt vor allem daran, dass Astro unnötiges JavaScript vermeidet und nur diejenigen Komponenten einer Seite mit JavaScript anreichert, die dies benötigen. Dieses Feature wird [Partial Hydration](/de/core-concepts/component-hydration) genannt.
-
-Gatsby unterstützt Partial Hydration nicht und lässt stattdessen den Browser die gesamte Seite erneut laden und mit JavaScript anreichern, selbst wenn der größte Teil der Seite statisch ist. Dies führt zu längeren Ladezeiten und schlechterer Leistung für deine Website. Gatsby verfügt über ein [Community Plugin](https://www.gatsbyjs.com/plugins/gatsby-plugin-no-javascript/), das sämtliches JavaScript von einer Seite entfernt, doch dies führt auch dazu, dass viele Websites nicht mehr wie beabsichtigt funktionieren. In Bezug auf Interaktivität auf einzelnen Seiten ist entprechend nur eine Entscheidung zwischen ganz oder gar nicht möglich.
-
-Gatsby verfügt über ein großes Plugin-Ökosystem, was in Abhängigkeit von dem, was du benötigst, Gatsby zur besseren Wahl machen kann. [gatsby-plugin-image](https://www.gatsbyjs.com/plugins/gatsby-plugin-image/) z. B. ist ein beliebtes Plugin für Bildoptimierungen, das Gatsby zur besseren Wahl für bilderlastige Websites machen könnte.
-
-### Fallstudie: Kompilieren einer Dokumentationswebsite
-
-[gatsbyjs.com/docs](https://www.gatsbyjs.com/docs/quick-start/) ist die offizielle Gatsby-Dokumentationswebsite - kompiliert mit Gatsby. Die Website bietet ein ausreichend ähnliches Design und ausreichend ähnliche Funktionalität, um sie mit der offiziellen Astro-Dokumentationswebsite zu vergleichen. Dies ermöglicht uns einen **_grob realistischen_** Vergleich zwischen beiden Site-Renderern.
-
-- **Gatsby Leistungswert**: 64 von 100 [(vollständige Prüfung)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fwww.gatsbyjs.com%2Fdocs%2Fquick-start%2F)
-- **Astro Leistungswert**: 99 von 100 [(vollständige Prüfung)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-Ein wesentlicher Grund für diesen Leistungsunterschied liegt in Astros geringerer JavaScript-Last: [gatsbyjs.com/docs](https://www.gatsbyjs.com/docs/quick-start/) lädt **417kB** JavaScript mit dem ersten Seitenaufruf während [docs.astro.build](https://docs.astro.build) **78.7kB** (81% weniger JavaScript insgesamt) _nach_ dem ersten Seitenaufruf lädt.
-
-## Hugo vs. Astro
-
-[Hugo](https://gohugo.io/) ist ein beliebter statischer Site-Renderer auf der Grundlage von Go.
-
-Hugo verwendet eine eigene [Templating Language](https://gohugo.io/templates/introduction/), um deine Website zu rendern. Astro erlaubt dir deine Websites mit deiner bevorzugten UI-Komponenten-Bibliothek (React, Preact, Vue, Svelte, Solid und andere) zu erzeugen, oder du verwendest die an HTML angelehnte Komponenten-Syntax von Astro, die sich ähnlich verhält wie HTML + JSX. Hugo unterstützt keine modernen UI-Bibliotheken für die Erstellung von HTML-Templates.
-
-### Leistungsvergleich Hugo vs. Astro
-
-Konzeptuell ist Hugo auf Augenhöhe mit Astros "minimalistischem Einsatz von Client-seitigem JavaScript" bei der Web-Entwicklung. Hugo und Astro bieten somit eine ähnliche Leistungsgrundlage durch ihre jeweilige Null-JavaScript-Strategie.
-
-Sowohl Hugo als auch Astro bieten von vornherein Unterstützung beim Kompilieren, Packen und Minifizieren von JavaScript. Astro entfernt automatisch unnötiges JavaScript von der Seite und reichert nur die individuellen Komponenten damit an, die dies benötigen. Dieses Feature wird [Partial Hydration](/de/core-concepts/component-hydration) genannt. Während es dir natürlich möglich ist dieses Feature in Hugo von Hand einzurichten, steht es dir in Astro ebenfalls bereits von vornherein zur Verfügung.
-
-## Jekyll vs. Astro
-
-[Jekyll](https://jekyllrb.com/) ist ein beliebter statischer Site-Renderer auf der Grundlage von Ruby.
-
-Jekyll verwendet eine ältere [Templating Language](https://jekyllrb.com/docs/liquid/) mit dem Namen Liquid, um deine Website zu rendern. Astro erlaubt dir deine Websites mit deiner bevorzugten UI-Komponenten-Bibliothek (React, Preact, Vue, Svelte, Solid und andere) zu erzeugen, oder du verwendest die an HTML angelehnte Komponenten-Syntax von Astro, die sich ähnlich verhält wie HTML + JSX. Jekyll unterstützt keine modernen UI-Bibliotheken für die Erstellung von HTML-Templates.
-
-### Leistungsvergleich Jekyll vs. Astro
-
-Konzeptuell ist Jekyll auf Augenhöhe mit Astros "minimalistischem Einsatz von Client-seitigem JavaScript" bei der Web-Entwicklung. Jekyll und Astro bieten somit eine ähnliche Leistungsgrundlage durch ihre jeweilige Null-JavaScript-Strategie.
-
-Jekyll erreicht dies, indem es dich dazu anhält JavaScript gänzlich zu vermeiden. Jekyll-Sites werden oft mit sehr wenig bis hin zu gar keinem JavaScript geschrieben. Dies wird allerdings dann zum Thema, wenn du tatsächlich Client-seitig JavaScript einsetzen musst. Es bleibt dann dir überlassen eine entsprechende Build-Pipeline für deine Skripte und weitere Elemente aufzubauen. Dies kann sich sehr zeitaufwendig gestalten, und es zwingt dich das Packen der Anwendung, sowie Minifizierung und weitere komplizierte Optimierungen von Hand aufzusetzen.
-
-Im Gegensatz dazu kompiliert Astro automatisch dein Client-seitiges JavaScript für dich. Astro sendet nur die minimal notwendige Menge an JavaScript an den Browser, minifiziert, gepackt und optimiert für die Veröffentlichung. Dieses Feature wird [Partial Hydration](/de/core-concepts/component-hydration) genannt. Während es dir natürlich möglich ist dieses Feature in Jekyll von Hand einzurichten, steht es dir in Astro bereits von vornherein zur Verfügung.
-
-## SvelteKit vs. Astro
-
-[SvelteKit](https://kit.svelte.dev/) ist eine beliebte Website- und Anwendungsbibliothek für Svelte.
-
-SvelteKit verwendet Svelte, um deine Website zu rendern. Astro ist hierin flexibler: Du kannst frei entscheiden mit welcher UI-Komponenten-Bibliothek du deine Oberfläche erzeugen willst (React, Preact, Vue, Svelte, Solid und andere), oder du verwendest die an HTML angelehnte Komponenten-Syntax von Astro, die sich ähnlich verhält wie HTML + JSX.
-
-Sowohl SvelteKit als auch Astro sind Bibliotheken für die Erzeugung von Websites. SvelteKit funktioniert am besten mit hochdynamischen Websites (wie Dashboards und Nachrichteneingängen), während Astro am besten mit größtenteils statischen Websites funktioniert (wie Content- und E-Commerce-Websites).
-
-SvelteKit unterstützt sowohl statische Site-Generierung (Static Site Generation, SSG) als auch Server-seitiges Rendering (Server-Side Rendering, SSR). Zur Zeit unterstützt Astro nur statische Site-Generierung (SSG).
-
-### Leistungsvergleich SvelteKit vs. Astro
-
-In den meisten Fällen werden Astro-Websites schneller laden als SvelteKit-Websites. Dies liegt vor allem daran, dass Astro unnötiges JavaScript vermeidet und nur diejenigen Komponenten einer Seite mit JavaScript anreichert, die dies benötigen. Dieses Feature wird [Partial Hydration](/de/core-concepts/component-hydration) genannt.
-
-SvelteKit unterstützt Partial Hydration nicht und lässt stattdessen den Browser die gesamte Seite erneut laden und mit JavaScript anreichern, selbst wenn der größte Teil der Seite statisch ist. Dies führt zu längeren Ladezeiten und schlechterer Leistung für deine Website. SvelteKit unterstützt mit [Page-Level Static und Zero-JavaScript Pages](https://kit.svelte.dev/docs#ssr-and-javascript-hydrate) das Entfernen von JavaScript per Seite oder für die gesamte Anwendung. Wie auch immer, eine Unterstützung für die Anreicherung individueller Komponenten einer Seite ist nicht geplant. In Bezug auf Interaktivität auf einzelnen Seiten ist entprechend nur eine Entscheidung zwischen ganz oder gar nicht möglich.
-
-### Fallstudie: Kompilieren einer Dokumentationswebsite
-
-[kit.svelte.dev](https://kit.svelte.dev/docs#ssr-and-javascript-hydrate) ist die offizielle SvelteKit-Dokumentationswebsite - kompiliert mit SvelteKit. Die Website bietet ein ausreichend ähnliches Design und ausreichend ähnliche Funktionalität, um sie mit der offiziellen Astro-Dokumentationswebsite zu vergleichen. Dies ermöglicht uns einen **_grob realistischen_** Vergleich zwischen beiden Site-Renderern.
-
-Ein wichtiger zu beachtender Unterschied zwischen beiden Sites im Test: SveltKits Dokumentation wird als einzelne Seite ausgeliefert, während Astros Dokumentation in einzelne Seiten geteilt ausgeliefert wird. Diese höhere Content-Last dürfte einen leicht negativen Einfluss auf die Leistung haben und ist nicht auf das Werkzeug an sich zurückzuführen.
-
-- **SvelteKit Leistungswert**: 92 von 100 [(vollständige Prüfung)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fkit.svelte.dev%2Fdocs)
-- **Astro Leistungswert**: 99 von 100 [(vollständige Prüfung)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-Der Leistungswert von SvelteKit in diesem Test ist vergleichbar mit dem von Astro.
-
-## Next.js vs. Astro
-
-[Next.js](https://nextjs.org/) ist eine beliebte Website- und Anwendungsbibliothek für React.
-
-Next.js verwendet React, um deine Website zu rendern. Astro ist hierin flexibler: Du kannst frei entscheiden mit welcher UI-Komponenten-Bibliothek du deine Oberfläche erzeugen willst (React, Preact, Vue, Svelte, Solid und andere), oder du verwendest die an HTML angelehnte Komponenten-Syntax von Astro, die sich ähnlich verhält wie HTML + JSX.
-
-Sowohl Next.js als auch Astro sind Bibliotheken für die Erzeugung von Websites. Next.js funktioniert am besten mit hochdynamischen Websites (wie Dashboards und Nachrichteneingängen), während Astro am besten mit größtenteils statischen Websites funktioniert (wie Content- und E-Commerce-Websites).
-
-Next.js unterstützt sowohl statische Site-Generierung (Static Site Generation, SSG) als auch Server-seitiges Rendering (Server-Side Rendering, SSR). Zur Zeit unterstützt Astro nur statische Site-Generierung (SSG).
-
-### Leistungsvergleich Next.js vs. Astro
-
-In den meisten Fällen werden Astro-Websites deutlich schneller laden als Next.js-Websites. Dies liegt vor allem daran, dass Astro unnötiges JavaScript vermeidet und nur diejenigen Komponenten einer Seite mit JavaScript anreichert, die dies benötigen. Dieses Feature wird [Partial Hydration](/de/core-concepts/component-hydration) genannt.
-
-Next.js unterstützt Partial Hydration nicht und lässt stattdessen den Browser die gesamte Seite erneut laden und mit JavaScript anreichern, selbst wenn der größte Teil der Seite statisch ist. Dies führt zu längeren Ladezeiten und schlechterer Leistung für deine Website. Next.js verfügt über [Experimental Support](https://piccalil.li/blog/new-year-new-website/#heading-no-client-side-react-code) für vollständig statische, Null-JavaScript-Seiten. Wie auch immer, eine Unterstützung für die Anreicherung individueller Komponenten einer Seite ist nicht geplant. In Bezug auf Interaktivität auf einzelnen Seiten ist entprechend nur eine Entscheidung zwischen ganz oder gar nicht möglich.
-
-Next.js verfügt über sehr gute integrierte Bildoptimierungen, was Next.js zur besseren Wahl für bilderlastige Websites machen könnte.
-
-### Fallstudie: Kompilieren einer Dokumentationswebsite
-
-[nextjs.org/docs](https://nextjs.org/docs/getting-started) ist die offizielle Next.js-Dokumentationswebsite - kompiliert mit Next.js. Die Website bietet ein ausreichend ähnliches Design und ausreichend ähnliche Funktionalität, um sie mit der offiziellen Astro-Dokumentationswebsite zu vergleichen. Dies ermöglicht uns einen **_grob realistischen_** Vergleich zwischen beiden Site-Renderern.
-
-- **Next.js Leistungswert**: 59 von 100 [(vollständige Prüfung)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fnextjs.org%2Fdocs%2Fgetting-started)
-- **Astro Leistungswert**: 99 von 100 [(vollständige Prüfung)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-Ein wesentlicher Grund für diesen Leistungsunterschied liegt in Astros geringerer JavaScript-Last: [nextjs.org/docs](https://nextjs.org/docs/getting-started) lädt **463kB** JavaScript mit dem ersten Seitenaufruf, während [docs.astro.build](https://docs.astro.build) **78.7kB** (83% weniger JavaScript insgesamt) _nach_ dem ersten Seitenaufruf lädt.
-
-## Nuxt vs. Astro
-
-[Nuxt](https://nuxtjs.org/) ist eine beliebte Website- und Anwendungsbibliothek für Vue. Es ist ähnlich aufgebaut wie Next.js.
-
-Nuxt verwendet Vue, um deine Website zu rendern. Astro ist hierin flexibler: Du kannst frei entscheiden mit welcher UI-Komponenten-Bibliothek du deine Oberfläche erzeugen willst (React, Preact, Vue, Svelte, Solid und andere), oder du verwendest die an HTML angelehnte Komponenten-Syntax von Astro, die sich ähnlich verhält wie HTML + JSX.
-
-Sowohl Nuxt als auch Astro sind Bibliotheken für die Erzeugung von Websites. Nuxt funktioniert am besten mit hochdynamischen Websites (wie Dashboards und Nachrichteneingängen), während Astro am besten mit größtenteils statischen Websites funktioniert (wie Content- und E-Commerce-Websites).
-
-Nuxt unterstützt sowohl statische Site-Generierung (Static Site Generation, SSG) als auch Server-seitiges Rendering (Server-Side Rendering, SSR). Zur Zeit unterstützt Astro nur statische Site-Generierung (SSG).
-
-### Leistungsvergleich Nuxt vs. Astro
-
-In den meisten Fällen werden Astro-Websites deutlich schneller laden als Nuxt-Websites. Dies liegt vor allem daran, dass Astro unnötiges JavaScript vermeidet und nur diejenigen Komponenten einer Seite mit JavaScript anreichert, die dies benötigen. Dieses Feature wird [Partial Hydration](/de/core-concepts/component-hydration) genannt.
-
-Nuxt unterstützt Partial Hydration nicht und lässt stattdessen den Browser die gesamte Seite erneut laden und mit JavaScript anreichern, selbst wenn der größte Teil der Seite statisch ist. Dies führt zu längeren Ladezeiten und schlechterer Leistung für deine Website. Es besteht keine Möglichkeit dieses Verhalten abzuschalten.
-
-Nuxt verfügt über sehr gute integrierte Bildoptimierungen, was Nuxt zur besseren Wahl für bilderlastige Websites machen könnte.
-
-### Fallstudie: Kompilieren einer Dokumentationswebsite
-
-[nuxtjs.org/docs](https://nuxtjs.org/docs/2.x/get-started/installation) ist die offizielle Nuxt-Dokumentationswebsite - kompiliert mit Nuxt. Die Website bietet ein ausreichend ähnliches Design und ausreichend ähnliche Funktionalität, um sie mit der offiziellen Astro-Dokumentationswebsite zu vergleichen. Dies ermöglicht uns einen **_grob realistischen_** Vergleich zwischen beiden Site-Renderern.
-
-- **Nuxt Leistungswert**: 48 von 100 [(vollständige Prüfung)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fnuxtjs.org%2Fdocs%2F2.x%2Fget-started%2Finstallation)
-- **Astro Leistungswert**: 99 von 100 [(vollständige Prüfung)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-Ein wesentlicher Grund für diesen Leistungsunterschied liegt in Astros geringerer JavaScript-Last: [nuxtjs.org/docs](https://nuxtjs.org/docs/2.x/get-started/installation) lädt **469kb** JavaScript mit dem ersten Seitenaufruf, während [docs.astro.build](https://docs.astro.build) **78.7kB** (83% weniger JavaScript insgesamt) _nach_ dem ersten Seitenaufruf lädt.
-
-## VuePress vs. Astro
-
-[VuePress](https://vuepress.vuejs.org/guide/) ist ein populärer Dokumentationssite-Renderer auf der Grundlage von Vue. VuePress verwendet Vue, um deine Website-UI zu generieren, während Astro in diesem Bereich React, Preact, Vue, Svelte, Solid und andere unterstützt - sowie auch eine an HTML angelehnte Komponenten-Syntax, die sich ähnlich verhält wie HTML + JSX.
-
-VuePress wurde entwickelt, um Dokumentationswebsites zu erzeugen und bietet einige dokumentationsspezifische Features, über die Astro nicht verfügt. Stattdessen verfügst du in Astro über dokumentationsspezifische Features mittels einer offiziellen [`docs`](https://github.com/withastro/astro/tree/main/examples/docs)-Vorlage, die du für deine Site verwenden kannst. Diese Website wurde unter Verwendung dieser Vorlage erstellt!
-
-Evan You (Erfinder von Vue) arbeitet zur Zeit an einer neuen Version von VuePress, genannt [VitePress](https://vitepress.vuejs.org/). Wenn du eine moderne Alternative zu VuePress suchst, [lies Evans Post](https://github.com/withastro/astro/issues/1159#issue-974035962) darüber, warum VitePress hierfür eine bessere Option darstellen kann.
-
-### Leistungsvergleich VuePress vs. Astro
-
-In den meisten Fällen werden Astro-Websites deutlich schneller laden als VuePress-Websites. Dies liegt vor allem daran, dass Astro unnötiges JavaScript vermeidet und nur diejenigen Komponenten einer Seite mit JavaScript anreichert, die dies benötigen. Dieses Feature wird [Partial Hydration](/de/core-concepts/component-hydration) genannt.
-
-VuePress unterstützt Partial Hydration nicht und lässt stattdessen den Browser die gesamte Seite erneut laden und mit JavaScript anreichern, selbst wenn der größte Teil der Seite statisch ist. Dies führt zu längeren Ladezeiten und schlechterer Leistung für deine Website. Es besteht keine Möglichkeit dieses Verhalten abzuschalten.
-
-### Fallstudie: Kompilieren einer Dokumentationswebsite
-
-[vuepress.vuejs.org](https://vuepress.vuejs.org/guide/) ist die offizielle VuePress-Dokumentationswebsite - kompiliert mit VuePress. Die Website bietet ein ausreichend ähnliches Design und ausreichend ähnliche Funktionalität, um sie mit der offiziellen Astro-Dokumentationswebsite zu vergleichen. Dies ermöglicht uns einen **_grob realistischen_** Vergleich zwischen beiden Site-Renderern.
-
-- **Vuepress Leistungswert**: 63 von 100 [(vollständige Prüfung)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fvuepress.vuejs.org%2Fguide%2F)
-- **Astro Leistungswert**: 99 von 100 [(vollständige Prüfung)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-Ein wesentlicher Grund für diesen Leistungsunterschied liegt in Astros geringerer JavaScript-Last: [vuepress.vuejs.org](https://vuepress.vuejs.org/guide/) lädt **166kb** JavaScript mit dem ersten Seitenaufruf, während [docs.astro.build](https://docs.astro.build) **78.7kB** (53% weniger JavaScript insgesamt) _nach_ dem ersten Seitenaufruf lädt.
-
-## Zola vs. Astro
-
-[Zola](https://www.getzola.org/) ist ein beliebter statischer Site-Renderer auf der Grundlage von Rust.
-
-Zola verwendet [Tera](https://tera.netlify.app/), um deine Website zu rendern. Astro erlaubt dir deine Websites mit deiner bevorzugten UI-Komponenten-Bibliothek (React, Preact, Vue, Svelte, Solid und andere) zu erzeugen, oder du verwendest die an HTML angelehnte Komponenten-Syntax von Astro, die sich ähnlich verhält wie HTML + JSX. Zola unterstützt keine modernen UI-Bibliotheken für die Erstellung von HTML-Templates.
-
-### Leistungsvergleich Zola vs. Astro
-
-Konzeptuell ist Zola auf Augenhöhe mit Astros "minimalistischem Einsatz von Client-seitigem JavaScript" bei der Web-Entwicklung. Zola und Astro bieten somit eine ähnliche Leistungsgrundlage durch ihre jeweilige Null-JavaScript-Strategie.
-
-Sowohl Zola als auch Astro bieten Unterstützung beim Kompilieren, Packen und Minifizieren von JavaScript. Zola benötigt hierfür ein zusätzliches Werkzeug wie Webpack, um JavaScript zu packen und zu verarbeiten. Astro entfernt automatisch unnötiges JavaScript von der Seite und reichert nur die individuellen Komponenten damit an, die dies benötigen. Dieses Feature wird [Partial Hydration](/de/core-concepts/component-hydration) genannt. Während es dir natürlich möglich ist dieses Feature in Zola von Hand einzurichten, steht es dir in Astro bereits von vornherein zur Verfügung.
diff --git a/docs/src/pages/de/core-concepts/astro-components.md b/docs/src/pages/de/core-concepts/astro-components.md
deleted file mode 100644
index 18ce76789..000000000
--- a/docs/src/pages/de/core-concepts/astro-components.md
+++ /dev/null
@@ -1,386 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Astro-Komponenten
-description: Einführung in die .astro-Komponenten-Syntax.
----
-
-**Astro-Komponenten** (Dateien mit der Endung `.astro`) sind die Grundlage des Server-seitigen Templating in Astro. Du kannst dir die Astro-Komponenten-Syntax als HTML - erweitert um JavaScript - vorstellen.
-
-Eine neue Syntax kann zu Beginn einschüchternd wirken, daher haben wir bei der Entwicklung der Astro-Komponenten-Syntax besonders darauf geachtet, dass sie sich für Web-Entwickler so vertraut wie möglich anfühlt. Sie lehnt sich sehr stark an Modelle an, die du wahrscheinlich schon kennst: Komponenten, Frontmatter, Props und JSX-Ausdrücke. Wir sind zuversichtlich, dass du mit Hilfe dieser Anleitung in kürzester Zeit Astro-Komponenten schreiben wirst, besonders wenn du bereits mit HTML & JavaScript vertraut bist.
-
-## Syntax-Übersicht
-
-Eine einzelne `.astro`-Datei repräsentiert eine einzelne Astro-Komponente in deinem Projekt. Dieses Modell wird als **Single-File Component (SFC)** bezeichnet. Sowohl Svelte (`.svelte`) als auch Vue (`.vue`) folgen ebenfalls diesem Modell.
-
-Im Weiteren findest du eine eingehende Beschreibung der verschiedenen Elemente und Merkmale der Astro-Komponenten-Syntax. Du kannst sie von Anfang bis Ende durchlesen oder auch zwischen den Abschnitten springen.
-
-### HTML-Template
-
-Die Astro-Komponenten-Syntax ist eine Obermenge von HTML. **Wenn du HTML kennst, weißt du bereits genug, um deine erste Komponente zu schreiben.**
-
-Zum Beispiel ist diese dreizeilige Datei eine gültige Astro-Komponente:
-
-```html
-
-
-
Hallo Welt!
-
-```
-
-Eine Astro-Komponente repräsentiert einen Schnipsel HTML in deinem Projekt. Dies kann eine mehrfach verwendbare Komponente sein, oder eine vollständige Seite HTML einschließlich ``-, ``- und ``-Elementen. Lies auch unsere Anleitung zu [Astro-Seiten](/de/core-concepts/astro-pages), um zu lernen wie du deine erste vollständige HTML-Seite mit Astro erzeugen kannst.
-
-**Jede Astro-Komponente muss ein HTML-Template beinhalten.** Auch wenn du deine Komponente auf vielfältige Weise erweitern kannst (siehe unten), bestimmt am Ende des Tages doch das HTML-Template, wie deine gerenderte Komponente aussehen wird.
-
-### CSS-Styles
-
-CSS-Regeln innerhalb eines `
-
-```
-
-```html
-
-
-
-
-
-
- ...
-
-
-```
-
-Die Verwendung von `
-
-Ich bin ein Style im Scope der Komponente, und ich bin rot!
-
- Ich bin ein Style im Scope der Komponente, und ich bin kursiv!!
-
-```
-
-Beachte dass der `h1`-Selektor hier nicht über die Komponente hinaus wirksam wird! Die Styles werden nicht auf andere `h1`-Tags außerhalb dieses Dokuments angewandt - auch nicht in untergeordneten Komponenten.
-
-_Tipp: Auch wenn es möglich ist hier Element-Selektoren zu verwenden, sollten doch bevorzugt Klassen-Namen verwendet werden. Das ist nicht nur ein klein wenig performanter, es ist auch leichter zu lesen, insbesondere in einem umfangreichen Dokument._
-
-### Globale Styles
-
-Natürlich besteht die tatsächliche Macht von CSS darin, Styles so häufig wie möglich wiederzuverwenden! Die bevorzugte Methode um globale Styles einzubinden, ist die Verwendung eines ` `-Tags im ``-Block, ganz so wie du es gewohnt bist. Diese Methode kann in Astro auch im Zusammenhang mit dem `
-
-
- Seitentitel im Scope
-
-```
-
-_Beachte: `Astro.resolve()` ist ein nützliches Hilfsmittel, um Verweise auf Dateien von überall her aufzulösen ([docs][astro-resolve])_
-
-#### Styling untergeordneter Elemente
-
-Falls du Styles, die im Scope der Komponente gesetzt werden, auch auf untergeordnete Komponenten anwenden willst, kannst du auf die `:global()`-Funktion aus den [CSS-Modules][css-modules] zurückgreifen:
-
-```astro
-
----
-import PostContent from './Post.astro';
----
-
-
-Titel
-
-
-
-```
-
-Dies ist eine sehr gute Methode, um Dinge zu stylen wie Blogposts oder Dokumente, die mit Inhalten aus einem CMS außerhalb von Astro gefüttert werden. Aber Vorsicht, wenn untergeordnete Elemente frei von Abhängigkeiten gestaltet werden, bricht dies auch die Verkapselung der Komponente auf. Das Arbeiten mit Komponenten die unterschiedlich aussehen, abhängig davon ob sie ein bestimmtes übergeordnetes Element haben oder nicht, kann sehr schnell unübersichtlich werden.
-
-#### Globale Styles innerhalb eines `
-
-Globaler Style
-```
-
-Dasselbe kannst du erreichen, indem du einem Selektor die `:global()`-Funktion voranstellst:
-
-```html
-
-```
-
-Es wird empfohlen diese Methoden nur dort einzusetzen, wo ein ` `-Tag nicht funktionieren würde. Es ist sehr schwer irrige globale Styles aufzuspüren, wenn sie verteilt auftreten und nicht in einer zentralen CSS-Datei stehen.
-
-📚 Lies unseren vollständigen Artikel über die Syntax in [Astro-Komponenten][astro-component], um mehr über die Verwendung des `
-
-```
-
-Alternativ zu einer Datei `src/styles/global.css` kannst du Tailwind-Utilities auch in einzelnen `pages/*.astro`-Komponenten in einem `
-
-
-
-```
-
-_Beachte: Wir verwenden hier in sämtlichen Beispielen `lang="scss"`, welches das Verschachteln und Teilen von [Farben und Variablen][sass-use] stark vereinfacht. Dies ist jedoch gänzlich optional, und du kannst ebenso gut normales CSS verwenden._
-
-Die `.btn`-Klasse ist auf die Komponente begrenzt und wird nicht über das Dokument hinaus wirksam. Dies bedeutet, du kannst dich **auf das Styling und musst dich nicht auf die Benennung konzentrieren**. Dieser Ansatz, der das Lokale an den Anfang stellt, fügt sich sehr gut in das ESM-getriebene Design von Astro, das Einkapselung und Wiederverwendbarkeit über eine globale Wirksamkeit stellt. Auch wenn es sich um ein einfaches Beispiel handelt, sollte festgehalten werden, dass dies **extrem gut skaliert**. Und für den Fall, dass du gemeinsame Werte zwischen Komponenten teilen willst, empfehlen wir das [Sass-Modulsystem][sass-use], das sehr einfach zu verwenden ist und sich perfekt in ein Design einfügt, in dem die Komponente an den Anfang gestellt wird.
-
-Im Kontrast zu diesem Ansatz erlaubt Astro auch globale Styles mittels der `:global()` und `
-
-
- Menü
-
-```
-
-Dies ist allerdings nicht erstrebenswert, da nun `` und `` bei der endgültigen Gestaltung des Buttons konkurrieren. Sobald du jetzt den einen veränderst, musst du auch den anderen anpassen, und sie sind nicht mehr wirklich isoliert, so wie zuvor (sie sind nun verbunden in bidirektionaler Abhängigkeit). Es ist sehr leicht sich vorzustellen, dass dieses Modell nur ein paar mal wiederholt werden muss, bis die Befürchtung aufkommt, dass jede Veränderung von Styles _irgendwo_ das Styling in einem ganz anderem Teil der Anwendung kaputt macht.
-
-Stattdessen kannst du `` seine eigenen Styles kontrollieren lassen und es mit einer Prop versuchen:
-
-```astro
----
-// src/components/Button.astro
-const { theme } = Astro.props;
----
-
-
-
-
-
-```
-
-An anderer Stelle kannst du nun `` verwenden, um zu bestimmen, welche Art von Button es ist. Dies bewahrt den Vertrag, in dem steht, dass _Button sich um seine Styles kümmert und Nav sich um seine_. Und du kannst den einen bearbeiten ohne den anderen zu beeinflussen. Der schlimmstmögliche Fall bei der Verwendung globaler Styles ist, dass eine Komponente kaputt und nicht mehr nutzbar ist (ihr fehlen wesentliche Teile ihrer Styles). Aber der schlimmstmögliche Fall bei der Verwendung von Props (z. B. bei einem Tippfehler) ist, dass die Komponente zurückgesetzt wird auf ihren ursprünglichen, aber immer noch nutzbaren, Zustand.
-
-💁 **Warum dies mit Astro gut funktioniert**. Astro ist im Wesentlichen von JavaScript-Modulen inspiriert: Du musst zu jeder Zeit nur wissen, was sich in deiner Datei befindet, und du musst dir niemals Gedanken darüber machen, welches Element aus einer anderen Datei Einfluss darauf hat, wie der Code ausgeführt wird. Aber wir sind damit nicht allein; Vue und Svelte haben beide die Idee vorangetrieben und popularisiert, dass Markup und Styles in ein und derselben Komponenten-Datei gut zusammenpassen. [Du kannst verschiedene Belange immer noch gut voneinander trennen][peace-on-css], sogar wenn Markup, Styles und Logik in einer Datei enthalten sind. Und tatsächlich ist es genau das, was Komponeten-Design so mächtig macht! Du kannst also einfach CSS schreiben ohne fürchten zu müssen, dass du einen Namen verwendest, der bereits von einer anderen Komponente in der App verwendet wird.
-
-#### Utility-CSS
-
-Vor Kurzem gab es eine Debatte über die ausschließliche Verwendung von Komponenten-Styles im Scope vs. die ausschließliche Verwendung von Utility-CSS. Aber wir stimmen Leuten wie Sarah Dayan zu, die fragen, [warum können wir nicht beides haben][utility-css]? Tatsache ist doch, dass während es großartig ist, Styles im Scope der Komponente zu haben, es immer noch hunderte von Male vorkommt, dass wenn die Website vollständig zusammengesetzt ist, zwei Elemente nicht _gut_ zusammenspielen und eines von beiden einen kleinen Stupser braucht. Oder es wird vielleicht eine abweichende Behandlung eines Textes in einer Komponenten-Instanz benötigt.
-
-Zwar ist die Vorstellung von perfekten, makellosen Komponenten schön, aber sie ist auch unrealistisch. Kein Design-System ist absolut perfekt, und jedes Design-System zeigt auch Ungereimtheiten. Und es passiert bei dem Versuch diese Ungereimtheiten aufzulösen, dass Komponenten ohne Utility-CSS durcheinander geraten. Utility-CSS ist großartig darin kleinere Optimierungen hinzuzufügen, um die Website fertigzustellen und ausliefern zu können. Aber es ist an sich auch unvollständig auf ganz eigene Art - wenn du z. B. jemals versuchst responsive Styles oder Fokussierungen mit Utility-CSS zu verwalten, kann das schnell zu einem großen Durcheinander werden!
-**Utility-CSS funktioniert am besten in Partnerschaft mit Styles im Scope der Komponente**. Und um so leicht wie möglich anwendbar zu sein, sollte Utility-CSS global sein (und sollte möglicherweise auch das einzige globale CSS sein - vielleicht neben reset.css), so dass du nicht mit Importen arbeiten musst, die allesamt willkürlich sind.
-
-Einige größere Probleme, die am besten mit Utility-CSS gelöst werden, sind:
-
-- [margin](https://github.com/drwpow/sass-utils#-margin--padding)
-- [padding](https://github.com/drwpow/sass-utils#-margin--padding)
-- [text- und background-color](https://github.com/drwpow/sass-utils#-color)
-- [font-size und font-family](https://github.com/drwpow/sass-utils#%F0%9F%85%B0%EF%B8%8F-font--text)
-- [Standardelement-Styling](https://github.com/kognise/water.css)
-
-In Astro empfehlen wir folgendes Setup hierfür:
-
-```html
-
-
-
-```
-
-Und in deinem lokalen Dateisystem kannst du natürlich auch Sass' [@use][sass-use] verwenden, um Dateien umstandslos miteinander zu kombinieren:
-
-```
-├── src/
-│ └── styles/
-│ ├── _base.scss
-│ ├── _tokens.scss
-│ ├── _typography.scss
-│ ├── _utils.scss
-│ └── global.scss
-```
-
-Was in jeder dieser Dateien stehen sollte, musst du selbst bestimmen, aber es lohnt sich, klein anzufangen. Füge Utilities immer erst hinzu, sobald du sie benötigst, und du wirst dein CSS-Gewicht unglaublich gering halten können. Und Utilities die du selbst geschrieben hast, um deinen realen Bedarf zu erfüllen, werden immer besser sein als etwas aus dem Regal.
-
-Zusammengefasst kannst du dir Styles im Scope der Komponente als das Rückgrat deiner gesamten Styles vorstellen, was etwa 80% ausmacht - und die fehlenden 20% füllen CSS-Utilities. Beide funktionieren gut im Tandem und gleichen gegenseitig ihre Schwächen aus.
-
-💁 **Warum dies in Astro gut funktioniert**: Astro wurde um die Idee von **"Scoped-CSS und globales Utility-CSS leben harmonisch zusammen** ♥️!" herum entwickelt. Nutze das so gut du kannst.
-
-### Weitere Vorschläge
-
-"Aber halt!", wirst du vielleicht sagen, nachdem du den vorherigen Abschnitt gelesen hast. "Das berücksichtigt nicht [meinen Anwendungsfall]!" Wenn du nach weiteren Ratschlägen zu einigen gängigen Styling-Problemen suchst, könnten dich die folgenden Vorschläge ineteressieren. Sie stehen alle miteinander in Verbindung und passen zu der Philosophie von **Hybrides Scoped-CSS + Utility-CSS**.
-
-1. Unterteile deine App in Layout-Komponenten und Basis-Komponenten
-2. Vermeide Flexbox- und Grid-Bibliotheken (schreibe deine eigenen!)
-3. Vermeide die Verwendung von `margin` in Wrappern für Komponenten
-4. Vermeide globale Media-Queries
-
-#### Vorschlag #1: Unterteile deine App in Layout-Komponenten und Basis-Komponenten
-
-Sicher wird diese Anleitung niemals lang genug sein, um die Frage zu beantworten _"Wie sollte eine Seite aufgebaut sein?"_ (das ist ein [Design-Problem!][cassie-evans-css]).
-Und doch liegt darin versteckt auch eine etwas spezifischere Frage, die wir beantworten _können_: _"Ein bestimmtes Layout angenommen - wie sollten Komponenten und Styles darin organisiert sein?"_ Die Antwort ist, **brenne niemals das Layout in Komponenten ein**. Erzeuge Layout-Komponenten, die das Layout bestimmen, und Basis-Komponenten (Buttons, Karten etc.) die nicht das Layout bestimmen. _Was bedeutet das?_ Gehen wir das an einem Beispiel durch, damit es klarer wird. Angenommen wir haben eine Seite, die folgendermaßen aussieht (die Zahlen stehen für unterschiedliche Komponenten):
-
-```
-|---------------|
-| 1 |
-|-------+-------|
-| 2 | 2 |
-|---+---|---+---|
-| 3 | 3 | 3 | 3 |
-|---+---+---+---|
-| 3 | 3 | 3 | 3 |
-|---+---+---+---|
-```
-
-Das Layout besteht aus einem riesig großen Post über die gesamte Breite, gefolgt von Posts mit halber Breite darunter. Und darunter wollen wir einen Haufen kleinerer Posts, die den Rest der Seite auffüllen. Der Einfachheit halber nennen wir sie `` (1), `` (2), und `` (3). Wir fügen sie wie folgt unserer Seite hinzu:
-
-```astro
----
-// src/pages/index.astro
-
-import Nav from '../components/Nav.astro';
-import RiesenPost from '../components/RiesenPost.astro';
-import Grid from '../components/Grid.astro';
-import HalbePosts from '../components/HalberPost.astro';
-import KleinePosts from '../components/KleinerPost.astro';
-import Footer from '../components/Footer.astro';
----
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-Das ist _anscheinend_ sauber voneinander getrennt, aber der Schein kann trügen. Auf den ersten Blick nehmen wir vielleicht an, dass `` das Layout kontrolliert, aber dieser Eindruck täuscht. Tatsächlich bestimmt `` seine Breite selbst, `` lädt zwei Komponenten und bestimmt die eigene Breite, und `` lädt vier oder mehr Komponenten und bestimmt seine eigene Breite. Insgesamt - `` eingeschlossen - streiten sich **vier Komponenten** um dasselbe Layout. Entferne einen Post von `` und das Layout zerbricht. Bearbeite ``, das Layout zerbricht. Bearbeite ``, das Layout zerbricht. Wenn du es dir genau überlegst, ist keine dieser Komponenten wirklich wiederverwendbar - sie könnten auch einfach in einer einzigen großen Datei stehen.
-
-Das ist tatsächlich das **Problem mit globalem CSS** in hübscher Verkleidung - mehrere Komponenten kämpfen darum, wie sie angeordnet werden, ohne dass es ein Layout in zentraler Verantwortung gibt (in der Art wie globales CSS)! Nun, da wir das Problem identifiziert haben, bestünde eine Möglichkeit es zu lösen darin, das gesamte Layout auf die oberste Ebene zu heben und dort ebenfalls alle Komponenten zu laden:
-
-```astro
----
-// src/pages/index.astro
-
-import Nav from '../components/Nav.astro';
-import RiesenPost from '../components/RiesenPost.astro';
-import HalbePosts from '../components/HalberPost.astro';
-import KleinePosts from '../components/KleinerPost.astro';
-import Footer from '../components/Footer.astro';
----
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-Einmal davon abgesehen, dass das mehr Code ist, bedeutet es tatsächlich eine viel klarere Trennung. Was zuvor ein 4-Komponenten-Layout war, wird nun zu 100% innerhalb der `index.astro`-Datei auf der obersten Ebene verwaltet (welche wir nun als **Layout-Komponente** betrachten - und wenn wir es weiterverwenden wollten, könnten wir es auch in eine eigene Datei extrahieren). Dein Layout ist jetzt zentralisiert, und die Komponenten sind nun wirklich wiederverwendbar, da es ihnen komplett egal ist, ob sie sich mit den anderen im selben Grid befinden oder nicht. Du kannst in jeder dieser Dateien die Styles bearbeiten ohne Gefahr zu laufen, dadurch Styles in anderen zu stören.
-
-Die Grundregel beim Arrangieren mehrerer Komponenten lautet, **es handelt sich um eine besondere Verantwortung**, die an einem zentralen Ort wahrgenommen werden sollte, anstatt über vier Komponenten hinweg, wie wir es angelegt hatten. Und tatsächlich sind Seiten auf der obersten Ebene sehr gut darin und sie sollten dir stets als Ausgangspunkt für deine Layout-Komponenten dienen. Probiere aus, wie weit du damit kommst, und extrahiere nur dann Layout-Komponenten hieraus, wenn es absolut notwendig ist.
-
-Zusammengefasst: **Wenn du mehrere Dateien anfassen musst, um dein Layout zu ändern, solltest du vielleicht alles gmeinsam in einer einzelnen Layout-Komponente neu organisieren.**
-
-💁 **Warum das in Astro gut funktioniert**: In Astro kann alles eine `.astro`-Komponente sein, und du bekommst niemals Performance-Probleme, gleichgültig wieviele Komponenten du hinzufügst. Aber der größte Vorteil beim Einsatz von [Layout-Isolierung][layout-isolated] besteht in den Einsparungen bei der Menge an CSS, die du benötigst.
-
-#### Vorschlag #2: Vermeide Flexbox- und Grid-Bibliotheken (schreibe deine eigenen!)
-
-Es mag sich sehr übergriffig anfühlen, wenn dir gesagt wird, du solltest deine geliebte Layout-Bibliothek, mit der du gut vertraut bist, nicht verwenden. Immerhin hat sie dich bis hierher gebracht! Aber die Zeiten von [Float-Madness](https://zellwk.com/blog/responsive-grid-system/) sind vorbei, ersetzt durch Flexbox und Grid - und um die zu verwalten brauchen wir keine Bibliotheken (Bibliotheken können die Aufgabe sogar erschweren).
-
-Viele Front-End-Entwicklerinnen und -Entwickler kennen den folgenden Gedankengang:
-
-1. Ich sollte soviel CSS wie möglich mehrfach verwenden (_gut!_)
-2. Viele Seiten verwenden dasselbe Layout (_hmm?_)
-3. Ich könnte eine bereits bestehende Lösung einsetzen, um meine gesamten Layout-Duplikate zu verwalten (_Moment mal!_)
-
-Während die Logik in sich stimmig ist, ist es in Wirklichkeit doch so, dass #2 nur selten auf ein Projekt zutrifft. Möglicherweise wurden viele Teile der Website nicht entwickelt, um in diese netten, gepflegten 12-Säulen-Raster einer Bibliothek zu passen. Sogar relativ bescheidene Websites können _hunderte_ Layouts enthalten, wenn du sämtliche Breakpoints mit einrechnest. Frage dich einmal selbst: _Wenn die Website, die ich baue, wirklich soviele unterschiedliche Layouts beinhaltet, warum verwende ich dann eine schwergewichtige Grid-Bibliothek, die mir nur generische Layouts ermöglicht?_
-
-Ein paar gut geschriebene Zeilen CSS-Grid hier und da werden sich perfekt an jede Situation anpassen; das Ganze ist höchstwahrscheinlich leichtgewichtiger und einfacher zu verwalten, als die schwergewichtige Bibliothek, mit der du doch so lange gekämpft hast. Anders herum betrachtet: Wenn du schon einige Stunden benötigst, um eine proprietäre Styling-Bibliothek zu lernen, dich mit ihr auseinanderzusetzen, Probleme zu melden etc., wäre es nicht besser diese Zeit darauf zu verwenden den Umgang mit Flexbox und Grid zu erlernen? Viele Leute brauchen nur eine Stunde, um die Grundlagen ausreichend zu verstehen - und damit kommt man schon ziemlich weit! Es gibt großartige kostenlose Lernmöglichkeiten, in die du deine Zeit investieren kannnst:
-
-- [Flexbox Froggy](https://flexboxfroggy.com/)
-- [CSS Grid Garden](https://cssgridgarden.com/)
-
-Kurz gesagt: Hör auf Layouts zu vereinfachen, wenn da nichts zu vereinfachen ist! Du wirst sehen, dass nicht nur deine Styles leichter zu organisieren, sondern dein CSS auch leichter und die Ladezeiten kürzer sind.
-
-💁 **Warum das in Astro gut funktioniert**: Grid-Bibliotheken sind ein einfacher und schneller Weg, um Stylesheets aufzublähen - und damit auch ein wesentlicher Beitrag zum Gebrauch von [Treeshaking][css-treeshaking], um überflüssige Styles wieder loszuwerden. Astro verwendet **kein** Treeshaking, um ungenutztes CSS für dich zu entfernen, da dies zu [Problemen][css-treeshaking] führen kann. Wir sagen nicht, dass du vollständig ohne Bibliotheken arbeiten sollst; wir sind große Fans von einigen Bibliotheken, wie zum Beispiel [Material UI][material-ui]. Aber wenn du zumindest die abertausende Layouts, die du nicht verwendest, aus deiner Bibliothek entfernen kannst, musst du später möglicherweise auch kein automatisches Treeshaking einsetzen.
-
-#### Vorschlag #3: Vermeide die Verwendung von `margin` in Wrappern für Komponenten
-
-Anders ausgedrückt, tu Folgendes nicht:
-
-```astro
-
-
-
-
-```
-
-Wenn du dir das [CSS-Box-Model][box-model] vor Augen führst, dehnt sich darin `margin` stets über die Grenzen einer Box hinweg aus. Das bedeutet, wenn du `margin` auf das äußerste Element deiner Komponente anwendest, wird dies die Position angrenzender Komponenten beeinflussen. Selbst wenn die Styles im Scope der Komponete sind, betreffen sie _technisch_ auch Elemente um die Komponente herum - somit bricht dies mit dem [Konzept der Einschließung von Styles][layout-isolated].
-
-Wenn du Komponenten verwendest, die sich neu arrangieren oder anders dargestellt werden, sobald sie sich in der Nähe anderer Komponenten befinden, bedeutet dies einen Kampf, den du nur schwer gewinnen kannst. **Komponenten sollten sich identisch verhalten und aussehen, unabhängig davon wo sie platziert werden.** Das ist es, was sie zu Komponenten macht!
-
-💁 **Warum das in Astro gut funktioniert**: `margins` die andere Komponenten herumschubsen, unterwandern deine Styling-Architektur auf heimtückische Weise, und das kann zu wackeligen oder brüchigen Layout-Komponenten führen. Solche Dinge grundsätzlich zu vermeiden, erlaubt dir deine Layout-Komponenten einfach zu halten - und du wirst weniger Zeit mit Styling zubringen.
-
-#### Vorschlag #4: Vermeide globale Media-Queries
-
-Dieser letzte Punkt behandelt eine natürliche Beschränkung von **Styles im Scope**. Und diese bezieht sich auch auf Breakpoints! Du kennst diesen einen, seltsamen Breakpoint, bei dem deine ` `-Komponente bei einer bestimmten Größe ungünstig umbricht? Du solltest dieses Problem innerhalb von ` ` lösen, und nicht _irgendwo_ anders.
-
-Selbst wenn du am Ende einen willkürlichen Wert wie `@media (min-width: 732px)` verwendest, wird das wahrscheinlich besser funktionieren, als es irgendwo mit einer _globalen_ [magischen Zahl][magic-number] zu probieren, die aber doch nur _in einem einzigen Kontext_ angewandt wird (eine willkürliche Zahl mag für den Rest der Anwendung "rätselhaft" sein, aber sie hat immer noch eine "konkrete" Bedeutung im Kontext einer Komponente, die diesen Wert benötigt).
-
-Zugegeben, diese Art von Konflikt vollständig zu lösen war bisher nahezu unmöglich; glücklicherweise gibt es inzwischen wachsende [Unterstützung für Container-Queries!][container-queries].
-
-Ein weiterer Anlass zur Beschwerde bei diesem Ansatz liegt in der Frage, "_Was ist aber, wenn ich zwei Komponenten habe, die dasselbe am selben Breakpoint tun?_", worauf ich antworten würde: Ein oder zwei solcher Punkte wird es immer geben; behandle sie einfach wie _Sonderfälle_. Wenn aber deine gesamte Anwendung aus Dutzenden solcher Fälle besteht, solltest du versuchen die Unterteilung deiner Komponenten so zu verändern, dass sie grundsätzlich deine [Layout-Isolierung][layout-isolated] besser unterstützen.
-
-💁 **Warum das in Astro gut funktioniert**: Dies ist wahrscheinlich der am wenigsten wichtige Punkt, weshalb er auch am Ende steht. Tatsächlich kannst du ihn auch überspringen, wenn er so für dich keine Rolle spielt. Aber es handelt sich um etwas, dem Leute versuchen in größerem Umfang Rechnung zu tragen - und dafür ein _globales_ System zu verwenden kann auch vollkommen unnötig sein. Versuche einmal _nicht_ auf globale Media-Queries ausgerichtet zu entwickeln - und schau wie weit du damit kommst!
-
-### 👓 Weitere Lektüre
-
-Diese Anleitung wäre nicht möglich ohne die folgenden Blogposts, die auf diese Themen eingehen und sie vertiefend erklären. Bitte lies sie - es lohnt sich!
-
-- [**Layout-isolated Components**][layout-isolated] von Emil Sjölander
-- [**In defense of utility-first CSS**][utility-css] von Sarah Dayan
-
-Wirf bitte auch einen Blick auf das [Stylelint][stylelint]-Projekt, mit dem du deine Styles in Form bringen kannst. Du bringst dein JS in Form, warum nicht auch dein CSS?
-
-[autoprefixer]: https://github.com/postcss/autoprefixer
-[astro-component]: /de/core-concepts/astro-components#css-styles
-[astro-resolve]: /reference/api-reference#astroresolve
-[bem]: http://getbem.com/introduction/
-[box-model]: https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model
-[browserslist]: https://github.com/browserslist/browserslist
-[browserslist-defaults]: https://github.com/browserslist/browserslist#queries
-[cassie-evans-css]: https://twitter.com/cassiecodes/status/1392756828786790400?s=20
-[container-queries]: https://ishadeed.com/article/say-hello-to-css-container-queries/
-[css-modules]: https://github.com/css-modules/css-modules
-[css-treeshaking]: https://css-tricks.com/how-do-you-remove-unused-css-from-a-site/
-[fouc]: https://en.wikipedia.org/wiki/Flash_of_unstyled_content
-[layout-isolated]: https://web.archive.org/web/20210227162315/https://visly.app/blogposts/layout-isolated-components
-[less]: https://lesscss.org/
-[issues]: https://github.com/withastro/astro/issues
-[magic-number]: https://css-tricks.com/magic-numbers-in-css/
-[material-ui]: https://material.io/components
-[peace-on-css]: https://didoo.medium.com/let-there-be-peace-on-css-8b26829f1be0
-[sass]: https://sass-lang.com/
-[sass-use]: https://sass-lang.com/documentation/at-rules/use
-[smacss]: http://smacss.com/
-[styled-components]: https://styled-components.com/
-[stylus]: https://stylus-lang.com/
-[styled-jsx]: https://github.com/vercel/styled-jsx
-[stylelint]: https://stylelint.io/
-[svelte-style]: https://svelte.dev/docs#style
-[tailwind]: https://tailwindcss.com
-[tailwind-utilities]: https://tailwindcss.com/docs/adding-new-utilities#using-css
-[utility-css]: https://frontstuff.io/in-defense-of-utility-first-css
-[vite-preprocessors]: https://vitejs.dev/guide/features.html#css-pre-processors
-[vue-css-modules]: https://vue-loader.vuejs.org/guide/css-modules.html
-[vue-scoped]: https://vue-loader.vuejs.org/guide/scoped-css.html
diff --git a/docs/src/pages/de/installation.md b/docs/src/pages/de/installation.md
deleted file mode 100644
index e1611495f..000000000
--- a/docs/src/pages/de/installation.md
+++ /dev/null
@@ -1,178 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Installation
-description: So installierst du Astro mit NPM, PNPM oder Yarn.
----
-
-Es gibt verschiedene Möglichkeiten Astro mit einem neuen Projekt zu installieren.
-
-## Vorbereitungen
-
-- **Node.js** - `v14.15.0`, `v16.0.0` oder höher
-- **Texteditor** - Wir empfehlen [VS Code](https://code.visualstudio.com/) mit unserer [offiziellen Astro-Erweiterung](https://marketplace.visualstudio.com/items?itemName=astro-build.astro-vscode)
-- **Terminal** - Astro wird im Wesentlichen über die Befehlszeile des Terminals gesteuert
-
-Zu Demonstrationszwecken verwenden wir in den folgenden Beispielen [`npm`](https://www.npmjs.com/), aber du kannst ebenso [`yarn`](https://yarnpkg.com/) oder [`pnpm`](https://pnpm.io/) verwenden, falls du eine npm-Alternative bevorzugst.
-
-## Astro-Projekt erzeugen
-
-`npm init astro` ist der einfachste Weg in einem neuen Projekt Astro zu installieren. Führe diesen Befehl in deinem Terminal aus, um unseren `create-astro`-Installationsassistenten zu starten, der dich bei der Einrichtung eines neuen Projekts unterstützt.
-
-```shell
-# Mit NPM
-npm init astro
-
-# Yarn
-yarn create astro
-
-# Pnpm
-pnpm create astro
-```
-
-Der [`create-astro`](https://github.com/withastro/astro/tree/main/packages/create-astro)-Assistent lässt dich aus einer Reihe von [Start-Vorlagen](https://github.com/withastro/astro/tree/main/examples) auswählen. Alternativ könntest du auch dein eigenes Astro-Projekt direkt aus GitHub heraus importieren.
-
-```bash
-# Hinweis: Ersetze "mein-astro-projekt" durch den Namen deines Projekts.
-
-# npm 6.x
-npm init astro mein-astro-projekt --template starter
-# npm 7+ (zusätzliche Bindestriche sind erforderlich)
-npm init astro mein-astro-projekt -- --template starter
-# yarn
-yarn create astro mein-astro-projekt --template starter
-# pnpm
-pnpm create astro mein-astro-projekt -- --template starter
-# Verwenden einer Drittanbietervorlage
-npm init astro mein-astro-projekt -- --template [GITHUB_NAME]/[REPO_NAME]
-# Verwenden einer Drittanbietervorlage innerhalb eines Repos
-npm init astro mein-astro-projekt -- --template [GITHUB_NAME]/[REPO_NAME]/pfad/zur/vorlage
-```
-
-Nachdem `create-astro` dein Projekt eingerichtet hat, denke daran die Abhängigkeiten deines Projekts mittels npm oder dem Paketmanager deiner Wahl zu installieren. In diesem Beispiel verwenden wir npm:
-
-```bash
-npm install
-```
-
-Du kannst dein Astro-Projekt nun [starten](#start-astro). Sobald du dein Astro-Projekt fertiggestellt hast, kannst du dein Projekt [kompilieren](#build-astro). Astro wird dann deine Anwendung fertig packen und dafür die statischen Seiten generieren, die du bei deinem bevorzugten Hosting-Anbieter [veröffentlichen](/guides/deploy) kannst.
-
-## Manuelle Installation
-
-Du kannst Astro auch ohne die Hilfe des `create-astro`-Assistenten einrichten. Nachfolgend findest du die wenigen zusätzlichen Schritte, die erforderlich sind, um Astro zum Laufen zu bringen.
-
-### Setze dein Projekt auf
-
-```bash
-# Verzeichnis erzeugen und in das Verzeichnis wechseln
-mkdir mein-astro-projekt
-cd mein-astro-projekt
-```
-
-Erstelle ein leeres Verzeichnis mit dem Namen deines Projekts und navigiere dann dorthin.
-
-### Erzeuge `package.json`
-
-```bash
-# Dieser Befehl erstellt eine grundlegende package.json-Datei für dich
-npm init --yes
-```
-
-Astro ist darauf ausgerichtet mit dem gesamten npm-Paket-Ökosystem zu arbeiten. Diese Arbeit wird durch ein Projektmanifest im Stammverzeichnis deines Projekts verwaltet, das als `package.json` bekannt ist. Für den Fall, dass du mit der `package.json`-Datei nicht vertraut bist, empfehlen wir dir dich kurz dazu in der [npm-Dokumentation] (https://docs.npmjs.com/creating-a-package-json-file) einzulesen.
-
-### Installiere Astro
-
-Soweit du den obigen Anweisungen gefolgt bist, solltest du ein Verzeichnis mit einer einzelnen `package.json`-Datei darin haben. Du kannst Astro jetzt in deinem Projekt aufsetzen.
-
-```bash
-npm install astro
-```
-
-Jetzt kannst du den Platzhalter im Abschnitt "scripts" deiner `package.json`-Datei, die `npm init` für dich erstellt hat, durch Folgendes ersetzen:
-
-```diff
- "scripts": {
-- "test": "echo \"Error: no test specified\" && exit 1"
-+ "dev": "astro dev",
-+ "build": "astro build",
-+ "preview": "astro preview"
- },
-}
-```
-
-Der Befehl [`dev`](#start-astro) startet den Astro Entwicklungsserver auf `http://localhost:3000`. Sobald dein Projekt fertig ist, gibt der Befehl [`build`](#build-astro) dein Projekt in das Verzeichnis `dist/` aus. [Lese mehr über das Veröffentlichen von Astro-Builds](/guides/deploy).
-
-### Erstelle deine erste Seite
-
-Öffne deinen bevorzugten Texteditor und erstelle eine neue Datei in deinem Projekt:
-
-1. Erstelle eine neue Datei unter `src/pages/index.astro`.
-2. Kopiere den folgenden Code-Schnipsel (einschließlich der Bindestriche `---`) und füge ihn ein.
-
-```astro
----
-// JS/TS-Code, der zwischen den (---) Bindestrichen geschrieben wurde,
-// wird ausschließlich auf dem Server ausgeführt!
-console.log('Du siehst mich im Terminal')
----
-
-
-
- Hello, World!
-
-
-
-
-
-
-```
-
-Das Obige ist ein Beispiel für Astros Komponenten-Syntax, die sowohl HTML als auch JSX umfasst.
-
-Du kannst weitere Seiten im Verzeichnis `src/pages` erstellen - Astro verwendet den Dateinamen, um neue Seiten für deine Site zu erzeugen. Zum Beispiel wird Astro durch das Erzeugen einer neuen Datei unter `src/pages/about.astro` (auch unter Wiederverwendung des Code-Schnipsels) eine neue Seite unter der URL `http://localhost/about` generieren.
-
-## [Starte Astro](#start-astro)
-
-```bash
-npm run dev
-```
-
-Astro wird von nun an deine Anwendung unter `http://localhost:3000` bereitstellen. Wenn du diese URL in deinem Browser öffnest, solltest du Astros "Hello, World" sehen.
-
-Falls du deinen Entwicklungsfortschritt im lokalen Netzwerk teilen oder die Anwendung von einem Telefon aus testen möchtest, füge einfach die folgende [snowpack](https://www.snowpack.dev/reference/configuration#devoptionshostname)-Option in `astro.config.mjs` hinzu:
-
-```js
-devOptions: {
- hostname: '0.0.0.0';
-}
-```
-
-## [Kompiliere dein Projekt](#build-astro)
-
-Führe in deinem Projektverzeichnis den folgenden Befehl im Terminal aus:
-
-```bash
-npm run build
-```
-
-Dies weist Astro an deine Site zu erstellen und direkt zu speichern. Deine Anwendung steht nun im `dist/`-Verzeichnis bereit.
-
-## Nächste Schritte
-
-Geschafft! Du kannst jetzt mit dem Entwickeln beginnen!
-
-Wir möchten dich ermutigen, dir etwas Zeit zu nehmen, um mit der Art und Weise vertraut zu werden, wie Astro funktioniert. Am besten befasst du dich weitergehend mit der Dokumentation. Hier ein paar Empfehlungen:
-
-📚 Lerne mehr über die Projektstruktur in Astro in unserem [Artikel zur Projektstruktur](/de/core-concepts/project-structure)
-
-📚 Lerne mehr über die Komponenten-Syntax in Astro in unserem [Artikel zu Astro-Komponenten](/de/core-concepts/astro-components)
-
-📚 Lerne mehr über das dateibasierte Routing in Astro in unserem [Artikel zu Astro-Seiten](/de/core-concepts/astro-pages) und unserem [Artikel über Routing](/de/core-concepts/routing).
diff --git a/docs/src/pages/de/migration/0.21.0.md b/docs/src/pages/de/migration/0.21.0.md
deleted file mode 100644
index 3d8409ded..000000000
--- a/docs/src/pages/de/migration/0.21.0.md
+++ /dev/null
@@ -1,229 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Umstellung auf v0.21
-description: Projekte von Astro v0.20 umziehen.
----
-
-## Vite
-
-Beginnend mit v0.21 werden Astro-Builds mittels [Vite](https://vitejs.dev) kompiliert.
-Bedingt hierdurch sollten Konfigurationen, die in `snowpack.config.mjs` geschrieben wurden, nach `astro.config.mjs` transferiert werden.
-
-```js
-// @ts-check
-
-/** @type {import('astro').AstroUserConfig} */
-export default {
- renderers: [],
- vite: {
- plugins: [],
- },
-};
-```
-
-Um mehr über die Konfiguration von Vite zu erfahren, lies bitte den [Vite Configuration Guide](https://vitejs.dev/config).
-
-## Aliasierung
-
-In Astro v0.21 können Aliase in `tsconfig.json` oder `jsconfig.json` hinzugefügt werden, um sie bei der Verwendung von _import_ einzusetzen.
-
-```json
-{
- "compilerOptions": {
- "baseUrl": ".",
- "paths": {
- "@/components/*": ["components/*"]
- }
- }
-}
-```
-
-_Diese Aliase werden automatisch in die Konfiguration von [VSCode](https://code.visualstudio.com/docs/languages/jsconfig) und anderen Editoren übernommen._
-
-## Variablen in \
-```
-
-Or it can link to an external JavaScript file:
-
-```astro
-
-```
-
-A hoisted script can be within a page or a component, and no matter how many times the component is used, the script will only be added once:
-
-```astro
----
-import TwitterTimeline from '../components/TwitterTimeline.astro';
----
-
-<-- The script will only be injected into the head once. -->
-
-
-
-```
-
-## Comparing `.astro` versus `.jsx`
-
-`.astro` files can end up looking very similar to `.jsx` files, but there are a few key differences. Here's a comparison between the two formats.
-
-| Feature | Astro | JSX |
-| ---------------------------- | ---------------------------------------------------------- | -------------------------------------------------- |
-| File extension | `.astro` | `.jsx` or `.tsx` |
-| User-Defined Components | `` | `` |
-| Expression Syntax | `{}` | `{}` |
-| Spread Attributes | `{...props}` | `{...props}` |
-| Boolean Attributes | `autocomplete` === `autocomplete={true}` | `autocomplete` === `autocomplete={true}` |
-| Inline Functions | `{items.map(item => {item} )}` | `{items.map(item => {item} )}` |
-| IDE Support | WIP - [VS Code][code-ext] | Phenomenal |
-| Requires JS import | No | Yes, `jsxPragma` (`React` or `h`) must be in scope |
-| Fragments | Automatic top-level, `` or `<>` inside functions | Wrap with `` or `<>` |
-| Multiple frameworks per-file | Yes | No |
-| Modifying `` | Just use `` | Per-framework (``, ``, etc) |
-| Comment Style | `` | `{/_ JavaScript _/} |
-| Special Characters | ` ` | ` ` |
-| Attributes | `dash-case` | `camelCase` |
-
-## URL resolution
-
-It's important to note that Astro **won't** transform HTML references for you. For example, consider an ` ` tag with a relative `src` attribute inside `src/pages/about.astro`:
-
-```html
-
-
-```
-
-Since `src/pages/about.astro` will build to `/about/index.html`, you may not have expected that image to live at `/about/thumbnail.png`. So to fix this, choose either of two options:
-
-#### Option 1: Absolute URLs
-
-```html
-
-
-```
-
-The recommended approach is to place files within `public/*`. This references a file at `public/thumbnail.png`, which will resolve to `/thumbnail.png` at the final build (since `public/` ends up at `/`).
-
-#### Option 2: Asset import references
-
-```astro
----
-// ✅ Correct: references src/thumbnail.png
-import thumbnailSrc from './thumbnail.png';
----
-
-
-```
-
-If you'd prefer to organize assets alongside Astro components, you may import the file in JavaScript inside the component script. This works as intended but this makes `thumbnail.png` harder to reference in other parts of your app, as its final URL isn't easily-predictable (unlike assets in `public/*`, where the final URL is guaranteed to never change).
-
-[code-ext]: https://marketplace.visualstudio.com/items?itemName=astro-build.astro-vscode
diff --git a/docs/src/pages/en/core-concepts/astro-pages.md b/docs/src/pages/en/core-concepts/astro-pages.md
deleted file mode 100644
index 45b8fb22d..000000000
--- a/docs/src/pages/en/core-concepts/astro-pages.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Pages
-description: An intro to Astro pages, components that function as full pages.
----
-
-**Pages** are a special type of [Astro Component](/en/core-concepts/astro-components) that handle routing, data loading, and templating for each page of your website. You can think of them like any other Astro component, just with extra responsibilities.
-
-Astro also supports Markdown for content-heavy pages, like blog posts and documentation. See [Markdown Content](/en/guides/markdown-content) for more information on writing pages with Markdown.
-
-## File-based Routing
-
-Astro uses Pages to do something called **file-based routing.** Every file in your `src/pages` directory becomes a page on your site, using the file name to decide the final route.
-
-Astro Components (`.astro`) and Markdown Files (`.md`) are the only supported formats for pages. Other page types (like a `.jsx` React component) are not supported, but you can use anything as a UI component inside of an `.astro` page to achieve a similar result.
-
-```
-src/pages/index.astro -> mysite.com/
-src/pages/about.astro -> mysite.com/about
-src/pages/about/index.astro -> mysite.com/about
-src/pages/about/me.astro -> mysite.com/about/me
-src/pages/posts/1.md -> mysite.com/posts/1
-```
-
-## Page Templating
-
-All Astro components are responsible for returning HTML. Astro Pages return HTML as well, but have the unique responsibility of returning a full `...` page response, including `` ([MDN- head ](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head)) and `` ([MDN- body ](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/body)).
-
-`` is optional, and will be added automatically.
-
-```astro
----
-// Example: HTML page skeleton
----
-
-
-
- Document title
-
-
- Hello, world!
-
-
-```
-
-## Data Loading
-
-Astro pages can fetch data to help generate your pages. Astro provides two different tools to pages to help you do this: **fetch()** and **top-level await.**
-
-📚 Read our [full guide](/en/guides/data-fetching) on data-fetching to learn more.
-
-```astro
----
-// Example: Astro component scripts run at build time
-const response = await fetch('http://example.com/movies.json');
-const data = await response.json();
-console.log(data);
----
-
-{JSON.stringify(data)}
-```
-
-## Custom 404 Error Page
-
-For a custom 404 error page create a `404.astro` file in `/src/pages`. That builds to a `404.html` page. Most [deploy services](/en/guides/deploy) will find and use it.
-This is special and different to the default behavior building `page.astro` (or `page/index.astro`) to `page/index.html`.
diff --git a/docs/src/pages/en/core-concepts/component-hydration.md b/docs/src/pages/en/core-concepts/component-hydration.md
deleted file mode 100644
index b319ecda5..000000000
--- a/docs/src/pages/en/core-concepts/component-hydration.md
+++ /dev/null
@@ -1,116 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Partial Hydration in Astro
-description: Learn how partial hydration works using the "Islands Architecture" in Astro.
----
-
-**Astro generates every website with zero client-side JavaScript, by default.** Use any frontend UI component that you'd like (React, Svelte, Vue, etc.) and Astro will automatically render it to HTML at build-time and strip away all JavaScript. This keeps every site fast by default.
-
-But sometimes, client-side JavaScript is required. This guide shows how interactive components work in Astro using a technique called partial hydration.
-
-```astro
----
-// Example: Importing and then using a React component.
-// By default, Astro renders this to HTML and CSS during
-// your build, with no client-side JavaScript.
-// (Need client-side JavaScript? Read on...)
-import MyReactComponent from '../components/MyReactComponent.jsx';
----
-
-
-```
-
-## Concept: Partial Hydration
-
-There are plenty of cases where you need an interactive UI component to run in the browser:
-
-- An image carousel
-- An auto-complete search bar
-- A mobile sidebar open/close button
-- A "Buy Now" button
-
-In Astro, it's up to you as the developer to explicitly "opt-in" any components on the page that need to run in the browser. Astro can then use this info to know exactly what JavaScript is needed, and only hydrate exactly what's needed on the page. This technique is known as partial hydration.
-
-**Partial hydration** -- the act of only hydrating the individual components that require JavaScript and leaving the rest of your site as static HTML -- may sound relatively straightforward. It should! Websites have been built this way for decades. It was only recently that Single-Page Applications (SPAs) introduced the idea that your entire website is written in JavaScript and compiled/rendered by every user in the browser.
-
-_Note: Partial hydration is sometimes called "progressive enhancement" or "progressive hydration." While there are slight nuances between the terms, for our purposes you can think of these all as synonyms of the same concept._
-
-**Partial hydration is the secret to Astro's fast-by-default performance story.** Next.js, Gatsby, and other JavaScript frameworks cannot support partial hydration because they imagine your entire website/page as a single JavaScript application.
-
-## Concept: Island Architecture
-
-**Island architecture** is the idea of using partial hydration to build entire websites. Island architecture is an alternative to the popular idea of building your website into a client-side JavaScript bundle that must be shipped to the user.
-
-> In an "islands" model, server rendering is not a bolt-on optimization aimed at improving SEO or UX. Instead, it is a fundamental part of how pages are delivered to the browser. The HTML returned in response to navigation contains a meaningful and immediately renderable representation of the content the user requested.
-> -- [Jason Miller](https://jasonformat.com/islands-architecture/)
-
-Besides the obvious performance benefits of sending less JavaScript down to the browser, there are two key benefits to island architecture:
-
-- **Components load individually.** A lightweight component (like a sidebar toggle) will load and render quickly without being blocked by the heavier components on the page.
-- **Components render in isolation.** Each part of the page is an isolated unit, and a performance issue in one unit won't directly affect the others.
-
-![diagram](https://res.cloudinary.com/wedding-website/image/upload/v1596766231/islands-architecture-1.png)
-
-## Hydrate Interactive Components
-
-Astro renders every component on the server **at build time**, unless [client:only](#mycomponent-clientonly-) is used. To hydrate components on the client **at runtime**, you may use any of the following `client:*` directives. A directive is a component attribute (always with a `:`) which tells Astro how your component should be rendered.
-
-```astro
----
-// Example: hydrating a React component in the browser.
-import MyReactComponent from '../components/MyReactComponent.jsx';
----
-
-
-```
-
-Note that the renderer JS (e.g. React) and the component's CSS are downloaded with the page. The `client:*` directives only dictate when the component JS is imported and when the component is hydrated.
-
-### ` `
-
-Start importing the component JS at page load. Hydrate the component when import completes.
-
-### ` `
-
-Start importing the component JS as soon as main thread is free (uses [requestIdleCallback()][mdn-ric]). Hydrate the component when import completes.
-
-### ` `
-
-Start importing the component JS as soon as the element enters the viewport (uses [IntersectionObserver][mdn-io]). Hydrate the component when import completes. Useful for content lower down on the page.
-
-### ` `
-
-Start importing the component JS as soon as the browser matches the given media query (uses [matchMedia][mdn-mm]). Hydrate the component when import completes. Useful for sidebar toggles, or other elements that should only display on mobile or desktop devices.
-
-### ` `
-
-Start importing the component JS at page load and hydrate when the import completes, similar to `client:load`. The component will be **skipped** at build time, useful for components that are entirely dependent on client-side APIs. This is best avoided unless absolutely needed, in most cases it is best to render placeholder content on the server and delay any browser API calls until the component hydrates in the browser.
-
-If more than one renderer is included in the Astro [config](/en/reference/configuration-reference), `client:only` needs a hint to know which renderer to use for the component. For example, `client:only="react"` would make sure that the component is hydrated in the browser with the React renderer. For custom renderers not provided by `@astrojs`, use the full name of the renderer provided in your Astro config, i.e. ` `.
-
-## Can I Hydrate Astro Components?
-
-[Astro components](/en/core-concepts/astro-components) (`.astro` files) are HTML-only templating components with no client-side runtime. If you try to hydrate an Astro component with a `client:` modifier, you will get an error.
-
-To make your Astro component interactive, you will need to convert it to the frontend framework of your choice: React, Svelte, Vue, etc. If you have no preference, we recommend React or Preact as they are most similar to Astro's syntax.
-
-Alternatively, you could add a `
-```
-
-[mdn-io]: https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
-[mdn-ric]: https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback
-[mdn-mm]: https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia
diff --git a/docs/src/pages/en/core-concepts/layouts.md b/docs/src/pages/en/core-concepts/layouts.md
deleted file mode 100644
index bf149778d..000000000
--- a/docs/src/pages/en/core-concepts/layouts.md
+++ /dev/null
@@ -1,155 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Layouts
-description: An intro to layouts, a type of Astro component that is shared between pages for common layouts.
----
-
-**Layouts** are a special type of [Component](/en/core-concepts/astro-components) that help you share and reuse common page layouts within your project.
-
-Layouts are just like any other reusable Astro component. There's no new syntax or APIs to learn. However, reusable page layouts are such a common pattern in web development that we created this guide to help you use them.
-
-## Usage
-
-Astro layouts support props, slots, and all of the other features of Astro components. Layouts are just normal components, after all!
-
-Unlike other components, layouts will often contain the full page ``, `` and `` (often referred to as the **page shell**).
-
-It's a common pattern to put all of your layout components in a single `src/layouts` directory.
-
-## Example
-
-```astro
----
-// src/layouts/BaseLayout.astro
-const {title} = Astro.props;
----
-
-
- Example Layout: {title}
-
-
-
-
- Home
- Posts
- Contact
-
-
-
-
-
-```
-
-📚 The ` ` element lets Astro components define where any children elements (passed to the layout) should go. Learn more about how ` ` works in our [Astro Component guide.](/en/core-concepts/astro-components)
-
-Once you have your first layout, you can use it like you would any other component on your page. Remember that your layout contains your page ``, ``, and ``. You only need to provide the custom page content.
-
-```astro
----
-// src/pages/index.astro
-import BaseLayout from '../layouts/BaseLayout.astro'
----
-
- Hello, world!
- This is my page content. It will be nested inside a layout.
-
-```
-
-## Nesting Layouts
-
-You can nest layouts when you want to create more specific page types without copy-pasting. It is common in Astro to have one generic `BaseLayout` and then many more specific layouts (`PostLayout`, `ProductLayout`, etc.) that reuse and build on top of it.
-
-```astro
----
-// src/layouts/PostLayout.astro
-import BaseLayout from '../layouts/BaseLayout.astro'
-const {title, author} = Astro.props;
----
-
-
-
- Post author: {author}
-
-
-
-```
-
-## Composing Layouts
-
-Sometimes, you need more granular control over your page. For instance, you may want to add SEO or social `meta` tags on some pages, but not others. You could implement this with a prop on your layout (`` page as one big layout, you can define the `head` and `body` contents as smaller, separate components. This lets you compose multiple layouts together in unique ways on every page.
-
-```astro
----
-// src/layouts/BaseHead.astro
-const {title, description} = Astro.props;
----
-
-{title}
-
-
-
-```
-
-Notice how this layout doesn't include your page shell, and only includes some generic elements that should go in your ``. This lets you combine multiple layout components together with more control over the overall page structure.
-
-```astro
----
-// src/pages/index.astro
-import BaseHead from '../layouts/BaseHead.astro';
-import OpenGraphMeta from '../layouts/OpenGraphMeta.astro';
----
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-The one downside to this approach is that you'll need to define the ``, ``, and `` elements on every page yourself. This is needed to construct the page because the layout components no longer contain the full page shell.
-
-## Markdown Layouts
-
-Layouts are essential for Markdown files. Markdown files can declare a layout in the file frontmatter. Each Markdown file will be rendered to HTML and then injected into the layout's ` ` location.
-
-```markdown
----
-title: Blog Post
-layout: ../layouts/PostLayout.astro
----
-
-This blog post will be **rendered** inside of the ` ` layout.
-```
-
-Markdown pages always pass a `content` prop to their layout, which is useful to grab information about the page, title, metadata, table of contents headers, and more.
-
-```astro
----
-// src/layouts/PostLayout.astro
-const { content } = Astro.props;
----
-
-
- {content.title}
-
-
- {content.title}
- {content.description}
-
-
-
-
-
-
-
-```
-
-📚 Learn more about Astro's markdown support in our [Markdown guide](/en/guides/markdown-content).
diff --git a/docs/src/pages/en/core-concepts/project-structure.md b/docs/src/pages/en/core-concepts/project-structure.md
deleted file mode 100644
index be093b9cf..000000000
--- a/docs/src/pages/en/core-concepts/project-structure.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Project Structure
-description: Learn how to structure a project with Astro.
----
-
-Astro includes an opinionated folder layout for your project. Every Astro project must include these directories and files:
-
-- `src/*` - Your project source code (components, pages, etc.)
-- `public/*` - Your non-code assets (fonts, icons, etc.)
-- `package.json` - A project manifest.
-
-The easiest way to set up your new project is with `npm init astro`. Check out our [Installation Guide](/en/quick-start) for a walkthrough of how to set up your project automatically (with `npm init astro`) or manually.
-
-## Project Structure
-
-```
-├── src/
-│ ├── components/
-│ ├── layouts/
-│ └── pages/
-│ └── index.astro
-├── public/
-└── package.json
-```
-
-### `src/`
-
-The src folder is where most of your project source code lives. This includes:
-
-- [Astro Components](/en/core-concepts/astro-components)
-- [Pages](/en/core-concepts/astro-pages)
-- [Layouts](/en/core-concepts/layouts)
-- [Frontend JS Components](/en/core-concepts/component-hydration)
-- [Styling (CSS, Sass)](/en/guides/styling)
-- [Markdown](/en/guides/markdown-content)
-
-Astro has complete control over how these files get processed, optimized, and bundled in your final site build. Some files (like Astro components) never make it to the browser directly and are instead rendered to HTML. Other files (like CSS) are sent to the browser but may be bundled with other CSS files depending on how your site uses them.
-
-### `src/components`
-
-[Components](/en/core-concepts/astro-components) are reusable units of UI for your HTML pages. It is recommended (but not required) that you put your components in this directory. How you organize them within this directory is up to you.
-
-Your non-Astro UI components (React, Preact, Svelte, Vue, etc.) can also live in the `src/components` directory. Astro will automatically render all components to HTML unless you've enabled a frontend component via partial hydration.
-
-### `src/layouts`
-
-[Layouts](/en/core-concepts/layouts) are reusable components for HTML page layouts. It is recommended (but not required) that you put your layout components in this directory. How you organize them within this directory is up to you.
-
-### `src/pages`
-
-[Pages](/en/core-concepts/astro-pages) contain all pages (`.astro` and `.md` supported) for your website. It is **required** that you put your pages in this directory.
-
-### `public/`
-
-For most users, the majority of your files will live inside of the `src/` directory so that Astro can properly handle and optimize them in your final build. By contrast, the `public/` directory is the place for any files to live outside of the Astro build process.
-
-If you put a file into the public folder, it will not be processed by Astro. Instead it will be copied into the build folder untouched. This can be useful for assets like images and fonts, or when you need to include a specific file like `robots.txt` or `manifest.webmanifest`.
diff --git a/docs/src/pages/en/core-concepts/routing.md b/docs/src/pages/en/core-concepts/routing.md
deleted file mode 100644
index 54a282aa9..000000000
--- a/docs/src/pages/en/core-concepts/routing.md
+++ /dev/null
@@ -1,102 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Routing
-description: An intro to routing with Astro.
----
-
-Astro uses **file-based routing** to generate your build URLs based on the file layout of your project `src/pages` directory. When a file is added to the `src/pages` directory of your project, it is automatically available as a route based on its filename.
-
-## Static routes
-
-Astro Components (`.astro`) and Markdown Files (`.md`) in the `src/pages` directory become pages on your website. Each page's route is decided based on its filename and path within the `src/pages` directory. This means that there is no separate "routing config" to maintain in an Astro project.
-
-```bash
-# Example: Static routes
-src/pages/index.astro -> mysite.com/
-src/pages/about.astro -> mysite.com/about
-src/pages/about/index.astro -> mysite.com/about
-src/pages/about/me.astro -> mysite.com/about/me
-src/pages/posts/1.md -> mysite.com/posts/1
-```
-
-## Dynamic routes
-
-Sometimes, you need to generate many URLs from a single page component. Astro uses file-based routing to support **dynamic route parameters** in the filename, so that one page can match many dynamic routes based on some pattern.
-
-An important thing to keep in mind: Astro is a static site builder. There is no Astro server to run in production, which means that every page must be built ahead of time. Pages that use dynamic routes must export a `getStaticPaths()` function which will tell Astro exactly what pages to generate. Learn more by viewing the complete [API Reference](/en/reference/api-reference#getstaticpaths).
-
-### Named parameters
-
-Dynamic parameters are encoded into the filename using `[bracket]` notation:
-
-- `pages/blog/[slug].astro` → `/blog/:slug` (`/blog/hello-world`, `/blog/post-2`, etc.)
-- `pages/[username]/settings.astro` → (`/fred/settings`, `/drew/settings`, etc.)
-- `pages/[lang]-[version]/info.astro` → (`/en-v1/info`, `/fr-v2/info`, etc.)
-
-#### Example: Named parameters
-
-Consider the following page `pages/post/[pid].astro`:
-
-```astro
----
-// Example: src/pages/post/[pid].astro
-const {pid} = Astro.request.params;
----
-Post: {pid}
-```
-
-Any route like `/post/1`, `/post/abc`, etc. will be matched by `pages/post/[pid].astro`. The matched path parameter will be passed to the page component at `Astro.request.params`.
-
-For example, the route `/post/abc` will have the following `Astro.request.params` object available:
-
-```json
-{ "pid": "abc" }
-```
-
-Multiple dynamic route segments can be combined to work the same way. The page `pages/post/[pid]/[comment].astro` will match the route `/post/abc/a-comment` and its `query` object will be:
-
-```json
-{ "pid": "abc", "comment": "a-comment" }
-```
-
-### Rest parameters
-
-If you need more flexibility in your URL routing, you can use a rest parameter as a universal catch-all. You do this by adding three dots (`...`) inside your brackets. For example:
-
-- `pages/post/[...slug].astro` → (`/post/a`, `/post/a/b`, `/post/a/b/c`, etc.)
-
-Matched parameters will be sent as a query parameter (`slug` in the example) to the page. In the example above, the path `/post/a/b/c` will have the following `query` object:
-
-```json
-{ "slug": "a/b/c" }
-```
-
-You can use names other than `slug`, such as: `[...param]` or `[...name]`.
-
-Rest parameters are optional by default, so `pages/post/[...slug].astro` could match `/post/` as well.
-
-#### Example: Rest parameters
-
-For a real-world example, you might implement GitHub's file viewer like so:
-
-```
-/[org]/[repo]/tree/[branch]/[...file]
-```
-
-In this example, a request for `/withastro/astro/tree/main/docs/public/favicon.svg` would result in the following parameters being available to the page:
-
-```js
-{
- org: 'withastro',
- repo: 'astro',
- branch: 'main',
- file: 'docs/public/favicon.svg'
-}
-```
-
-## Caveats
-
-- Static routes without path params will take precedence over all other routes, and named path params over catch all path params. Take a look at the following examples:
- - `pages/post/create.astro` - Will match `/post/create`
- - `pages/post/[pid].astro` - Will match `/post/1`, `/post/abc`, etc. But not `/post/create`
- - `pages/post/[...slug].astro` - Will match `/post/1/2`, `/post/a/b/c`, etc. But not `/post/create`, `/post/abc`
diff --git a/docs/src/pages/en/getting-started.md b/docs/src/pages/en/getting-started.md
deleted file mode 100644
index f8e22ed03..000000000
--- a/docs/src/pages/en/getting-started.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Getting Started
-description: A basic intro to Astro.
----
-
-Astro is a modern static site builder. Learn what Astro is all about from [our homepage](https://astro.build/) or [our release post](https://astro.build/blog/introducing-astro). This page is an overview of the Astro documentation and all related resources.
-
-## Try Astro
-
-The easiest way to try Astro is to run `npm init astro` in a new directory on your machine. Our CLI wizard will assist you in starting a new Astro project.
-
-To get started with Astro in 5 quick and easy steps, visit our [Quick-Start guide](/en/quick-start).
-
-Alternatively, read our [Installation Guide](/en/installation) for a full walk-through on getting set up with Astro.
-
-### Example Projects
-
-If you prefer to learn Astro by example, check out our [complete library of examples](https://github.com/withastro/astro/tree/main/examples) on GitHub.
-
-You can check out any of these examples on your local machine by running `npm init astro` with the `--template` CLI flag. The `--template` flag also supports third-party, community templates.
-
-```bash
-# Run the init wizard and use this official template
-npm init astro -- --template [OFFICIAL_EXAMPLE_NAME]
-# Run the init wizard and use this community template
-npm init astro -- --template [GITHUB_USER]/[REPO_NAME]
-npm init astro -- --template [GITHUB_USER]/[REPO_NAME]/path/to/example
-```
-
-### Online Playgrounds
-
-If you're interested in playing around with Astro in the browser, you can instantly spin up a new Astro project with our UI at [astro.new](https://astro.new/).
-
-You can try Astro in online code editors like Stackblitz, CodeSandbox, Gitpod, and GitHub Codespaces. Click the "Open in Stackblitz" link in any of the examples in our [examples library](https://github.com/withastro/astro/tree/main/examples). Or, [click here](https://stackblitz.com/fork/astro) to start a new project in [Stackblitz](https://stackblitz.com/fork/astro).
-
-## Learn Astro
-
-All manner of people come to Astro from different backgrounds bringing with them different learning styles. Whether you prefer a more theoretical or a practical approach, we hope you'll find this section helpful.
-
-- If you prefer to **learn by doing**, start with our [examples library](https://github.com/withastro/astro/tree/main/examples).
-- If you prefer to **learn concepts step by step**, start with our [basic concepts and guides](/en/core-concepts/project-structure).
-
-Like any unfamiliar technology, Astro comes with a slight learning curve. However, with practice and some patience, we know, you _will_ get the hang of it, in no time.
-
-### Learn `.astro` Syntax
-
-When you begin to learn Astro, you'll see many files using the `.astro` file extension. This is **Astro's Component Syntax**: a special HTML-like file format which Astro uses for templating. It was designed to feel familiar to anyone with HTML or JSX experience.
-
-Our helpful guide on [Astro components](/en/core-concepts/astro-components) introduces you to the Astro syntax, and is the best way to learn.
-
-### API Reference
-
-This documentation section is useful when you want to learn more details about a particular Astro API. For example, [Configuration Reference](/en/reference/configuration-reference) lists all possible configuration options available to you. [Built-in Components Reference](/en/reference/builtin-components) lists all available core components, like ` ` and `
`.
-
-### Versioned Documentation
-
-This documentation always reflects the latest stable version of Astro. Once we hit the v1.0 milestone, we will add the ability to view versioned documentation.
-
-## Staying Informed
-
-The [@astrodotbuild](https://twitter.com/astrodotbuild) Twitter account is the official source for the updates from the Astro team.
-
-We also post release announcements to our [Discord community](https://astro.build/chat) in the #announcements channel.
-
-Not every Astro release deserves its own blog post, but you can find a detailed changelog for every release in the [`CHANGELOG.md` file in the Astro repository](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md).
-
-## Something Missing?
-
-If something is missing in the documentation or if you found some part confusing, please [file an issue for the documentation](https://github.com/withastro/astro/issues/new/choose) with your suggestions for improvement, or tweet at the [@astrodotbuild](https://twitter.com/astrodotbuild) Twitter account. We love hearing from you!
-
-## Credit
-
-This getting started guide was originally based off of [React's](https://reactjs.org/) getting started guide.
diff --git a/docs/src/pages/en/guides/aliases.md b/docs/src/pages/en/guides/aliases.md
deleted file mode 100644
index 6c226a5a6..000000000
--- a/docs/src/pages/en/guides/aliases.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Aliases
-description: An intro to aliases with Astro.
----
-
-An **alias** is a way to create shortcuts for your imports.
-
-Aliases can help improve the development experience in codebases with many directories or relative imports.
-
-```astro
----
-// my-project/src/pages/about/company.astro
-
-import Button from '../../components/controls/Button.astro';
-import logoUrl from '../../assets/logo.png?url';
----
-```
-
-In this example, a developer would need to understand the tree relationship between `src/pages/about/company.astro`, `src/components/controls/Button.astro`, and `src/assets/logo.png`. And then, if the `company.astro` file were to be moved, these imports would also need to be updated.
-
-You can add import aliases from either `tsconfig.json` or `jsconfig.json`.
-
-```json
-{
- "compilerOptions": {
- "baseUrl": ".",
- "paths": {
- "asset:*": ["src/assets/*?url"],
- "component:*": ["src/components/*.astro"]
- }
- }
-}
-```
-
-With this change, you can now import using the aliases anywhere in your project:
-
-```astro
----
-// my-project/src/pages/about/company.astro
-
-import Button from 'component:Button';
-import logoUrl from 'asset:logo.png';
----
-```
-
-These aliases are also integrated automatically into [VSCode](https://code.visualstudio.com/docs/languages/jsconfig) and other editors.
diff --git a/docs/src/pages/en/guides/data-fetching.md b/docs/src/pages/en/guides/data-fetching.md
deleted file mode 100644
index a0481f059..000000000
--- a/docs/src/pages/en/guides/data-fetching.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Data Fetching
-description: Learn how to fetch remote data with Astro using the fetch API.
----
-
-Astro components and pages can fetch remote data to help generate your pages. Astro provides two different tools to pages to help you do this: **fetch()** and **top-level await.**
-
-## `fetch()`
-
-Astro pages have access to the global `fetch()` function in their setup script. `fetch()` is a native JavaScript API ([MDN- fetch ](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch)) that lets you make HTTP requests for things like APIs and resources.
-
-Even though Astro component scripts run inside of Node.js (and not in the browser) Astro provides this native API so that you can fetch data at page build time.
-
-```astro
----
-// Movies.astro
-const response = await fetch('https://example.com/movies.json');
-const data = await response.json();
-// Remember: Astro component scripts log to the CLI
-console.log(data);
----
-
-{JSON.stringify(data)}
-```
-
-## Top-level await
-
-`await` is another native JavaScript feature that lets you await the response of some asynchronous promise ([MDN- await ](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await)). Astro supports `await` in the top-level of your component script.
-
-**Important:** These are not yet available inside of non-page Astro components. Instead, do all of your data loading inside of your pages, and then pass them to your components as props.
-
-## Using `fetch()` outside of Astro Components
-
-If you want to use `fetch()` in a non-astro component, it is also globally available:
-
-```tsx
-// Movies.tsx
-import type { FunctionalComponent } from 'preact';
-import { h } from 'preact';
-
-const data = fetch('https://example.com/movies.json').then((response) =>
- response.json()
-);
-
-// Components that are build-time rendered also log to the CLI.
-// If you loaded this component with a directive, it would log to the browser console.
-console.log(data);
-
-const Movies: FunctionalComponent = () => {
- // Output the result to the page
- return {JSON.stringify(data)}
;
-};
-
-export default Movies;
-```
diff --git a/docs/src/pages/en/guides/debugging.md b/docs/src/pages/en/guides/debugging.md
deleted file mode 100644
index 7e3211656..000000000
--- a/docs/src/pages/en/guides/debugging.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Debugging
-description: Debug in Astro using the Debug component
----
-
-Astro runs on the server and logs directly to your terminal, so it can be difficult to debug values from Astro. Astro's built-in `` component can help you inspect values inside your files on the clientside. Read more about the [built-in Debug Component](/en/reference/builtin-components#debug-).
diff --git a/docs/src/pages/en/guides/deploy.md b/docs/src/pages/en/guides/deploy.md
deleted file mode 100644
index d5b6797db..000000000
--- a/docs/src/pages/en/guides/deploy.md
+++ /dev/null
@@ -1,528 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Deploy a Website
-description: Multiple different methods to deploy a website with Astro.
----
-
-The following guides are based on some shared assumptions:
-
-- You are using the default build output location (`dist/`). This location [can be changed using the `dist` configuration option](/en/reference/configuration-reference).
-- You are using npm. You can use equivalent commands to run the scripts if you are using Yarn or other package managers.
-- Astro is installed as a local dev dependency in your project, and you have set up the following npm scripts:
-
-```json
-{
- "scripts": {
- "start": "astro dev",
- "build": "astro build",
- "preview": "astro preview"
- }
-}
-```
-
-## Building The App
-
-You may run `npm run build` command to build the app.
-
-```bash
-$ npm run build
-```
-
-By default, the build output will be placed at `dist/`. You may deploy this `dist/` folder to any of your preferred platforms.
-
-## GitHub Pages
-
-> **Warning:** By default, Github Pages will break the `_astro/` directory of your deployed website. To disable this behavior and fix this issue, make sure that you use the `deploy.sh` script below or manually add an empty `.nojekyll` file to your `public/` site directory.
-
-1. Set the correct `buildOptions.site` in `astro.config.mjs`.
-1. Inside your project, create `deploy.sh` with the following content (uncommenting the appropriate lines), and run it to deploy:
-
- ```bash
- #!/usr/bin/env sh
-
- # abort on errors
- set -e
-
- # build
- npm run build
-
- # navigate into the build output directory
- cd dist
-
- # add .nojekyll to bypass GitHub Page's default behavior
- touch .nojekyll
-
- # if you are deploying to a custom domain
- # echo 'www.example.com' > CNAME
-
- git init
- git add -A
- git commit -m 'deploy'
-
- # if you are deploying to https://.github.io
- # git push -f git@github.com:/.github.io.git main
-
- # if you are deploying to https://.github.io/
- # git push -f git@github.com:/.git main:gh-pages
-
- cd -
- ```
-
- > You can also run the above script in your CI setup to enable automatic deployment on each push.
-
-### GitHub Actions
-
-1. In the astro project repo, create `gh-pages` branch then go to Settings > Pages and set to `gh-pages` branch for GitHub Pages and set directory to `/` (root).
-2. Set the correct `buildOptions.site` in `astro.config.mjs`.
-3. Create the file `.github/workflows/main.yml` and add in the yaml below. Make sure to edit in your own details.
-4. In GitHub go to Settings > Developer settings > Personal Access tokens. Generate a new token with repo permissions.
-5. In the astro project repo (not \.github.io) go to Settings > Secrets and add your new personal access token with the name `API_TOKEN_GITHUB`.
-6. When you push changes to the astro project repo CI will deploy them to \.github.io for you.
-
-```yaml
-# Workflow to build and deploy to your GitHub Pages repo.
-
-# Edit your project details here.
-# Remember to add API_TOKEN_GITHUB in repo Settings > Secrets as well!
-env:
- githubEmail:
- deployToRepo: .github.io)>
-
-name: Github Pages Astro CI
-
-on:
- # Triggers the workflow on push and pull request events but only for the main branch
- push:
- branches: [main]
- pull_request:
- branches: [main]
-
- # Allows you to run this workflow manually from the Actions tab.
- workflow_dispatch:
-
-jobs:
- deploy:
- runs-on: ubuntu-latest
-
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v2
-
- # Install dependencies with npm
- - name: Install dependencies
- run: npm ci
-
- # Build the project and add .nojekyll file to supress default behaviour
- - name: Build
- run: |
- npm run build
- touch ./dist/.nojekyll
-
- # Push to your pages repo
- - name: Push to pages repo
- uses: cpina/github-action-push-to-another-repository@main
- env:
- API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
- with:
- source-directory: 'dist'
- destination-github-username: ${{ github.actor }}
- destination-repository-name: ${{ env.deployToRepo }}
- user-email: ${{ env.githubEmail }}
- commit-message: Deploy ORIGIN_COMMIT
- target-branch: gh-pages
-```
-
-### Travis CI
-
-1. Set the correct `buildOptions.site` in `astro.config.mjs`.
-2. Create a file named `.travis.yml` in the root of your project.
-3. Run `npm install` locally and commit the generated lockfile (`package-lock.json`).
-4. Use the GitHub Pages deploy provider template, and follow the [Travis CI documentation](https://docs.travis-ci.com/user/deployment/pages/).
-
- ```yaml
- language: node_js
- node_js:
- - lts/*
- install:
- - npm ci
- script:
- - npm run build
- deploy:
- provider: pages
- skip_cleanup: true
- local_dir: dist
- # A token generated on GitHub allowing Travis to push code on you repository.
- # Set in the Travis settings page of your repository, as a secure variable.
- github_token: $GITHUB_TOKEN
- keep_history: true
- on:
- branch: master
- ```
-
-## GitLab Pages
-
-1. Set the correct `buildOptions.site` in `astro.config.mjs`.
-2. Set `dist` in `astro.config.mjs` to `public` and `public` in `astro.config.mjs` to a newly named folder that is holding everything currently in `public`. The reasoning is because `public` is a second source folder in astro, so if you would like to output to `public` you'll need to pull public assets from a different folder. Your `astro.config.mjs` might end up looking like this:
-
- ```js
- export default /** @type {import('astro').AstroUserConfig} */ ({
- // Enable the Preact renderer to support Preact JSX components.
- renderers: ['@astrojs/renderer-preact'],
- // files in `static/` will be blindly copied to `public/`
- public: 'static',
- // `public/` is where the built website will be output to
- dist: 'public',
- buildOptions: {
- sitemap: true,
- site: 'https://astro.build/',
- },
- });
- ```
-
-3. Create a file called `.gitlab-ci.yml` in the root of your project with the content below. This will build and deploy your site whenever you make changes to your content:
-
- ```yaml
- image: node:14
- pages:
- cache:
- paths:
- - node_modules/
- script:
- - npm install
- - npm run build
- artifacts:
- paths:
- - public
- only:
- - main
- ```
-
-## Netlify
-
-**Note:** If you are using an older [build image](https://docs.netlify.com/configure-builds/get-started/#build-image-selection) on Netlify, make sure that you set your Node.js version in either a [`.nvmrc`](https://github.com/nvm-sh/nvm#nvmrc) file (example: `node v14.17.6`) or a `NODE_VERSION` environment variable. This step is no longer required by default.
-
-You can configure your deployment in two ways, via the Netlify website or with a local project `netlify.toml` file.
-
-### `netlify.toml` file
-
-Create a new `netlify.toml` file at the top level of your project repository with the following settings:
-
-```toml
-[build]
- command = "npm run build"
- publish = "dist"
-```
-
-Push the new `netlify.toml` file up to your hosted git repository. Then, set up a new project on [Netlify](https://netlify.com) for your git repository. Netlify will read this file and automatically configure your deployment.
-
-### Netlify Website UI
-
-You can skip the `netlify.toml` file and go directly to [Netlify](https://netlify.com) to configure your project. Netlify should now detect Astro projects automatically and pre-fill the configuration for you. Make sure that the following settings are entered before hitting the "Deploy" button:
-
-- **Build Command:** `astro build` or `npm run build`
-- **Publish directory:** `dist`
-
-## Google Cloud
-
-Different from most available deploy options here, [Google Cloud](https://cloud.google.com) requires some UI clicks to deploy projects. (Most of these actions can also be done using the gcloud CLI).
-
-### Cloud Run
-
-1. Create a new GCP project, or select one you already have.
-
-2. Make sure the Cloud Run API is enabled.
-
-3. Create a new service.
-
-4. Use a container from Docker Hub or build your own using [Cloud Build](https://cloud.google.com/build).
-
-5. Configure a port from which the files are served.
-
-6. Enable public access by adding a new permission to `allUsers` called `Cloud Run Invoker`.
-
-### Cloud Storage
-
-1. Create a new GCP project, or select one you already have.
-
-2. Create a new bucket under [Cloud Storage](https://cloud.google.com/storage).
-
-3. Give it a name and other required settings.
-
-4. Upload your `dist` folder into it or upload using [Cloud Build](https://cloud.google.com/build).
-
-5. Enable public access by adding a new permission to `allUsers` called `Storage Object Viewer`.
-
-6. Edit the website configuration and add `ìndex.html` as entrypoint and `404.html` as errorpage.
-
-## Google Firebase
-
-1. Make sure you have [firebase-tools](https://www.npmjs.com/package/firebase-tools) installed.
-
-2. Create `firebase.json` and `.firebaserc` at the root of your project with the following content:
-
- `firebase.json`:
-
- ```json
- {
- "hosting": {
- "public": "dist",
- "ignore": []
- }
- }
- ```
-
- `.firebaserc`:
-
- ```json
- {
- "projects": {
- "default": ""
- }
- }
- ```
-
-3. After running `npm run build`, deploy using the command `firebase deploy`.
-
-## Surge
-
-1. First install [surge](https://www.npmjs.com/package/surge), if you haven't already.
-
-2. Run `npm run build`.
-
-3. Deploy to surge by typing `surge dist`.
-
-You can also deploy to a [custom domain](http://surge.sh/help/adding-a-custom-domain) by adding `surge dist yourdomain.com`.
-
-## Heroku
-
-1. Install [Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli).
-
-2. Create a Heroku account by [signing up](https://signup.heroku.com).
-
-3. Run `heroku login` and fill in your Heroku credentials:
-
- ```bash
- $ heroku login
- ```
-
-4. Create a file called `static.json` in the root of your project with the below content:
-
- `static.json`:
-
- ```json
- {
- "root": "./dist"
- }
- ```
-
- This is the configuration of your site; read more at [heroku-buildpack-static](https://github.com/heroku/heroku-buildpack-static).
-
-5. Set up your Heroku git remote:
-
- ```bash
- # version change
- $ git init
- $ git add .
- $ git commit -m "My site ready for deployment."
-
- # creates a new app with a specified name
- $ heroku apps:create example
-
- # set buildpack for static sites
- $ heroku buildpacks:set https://github.com/heroku/heroku-buildpack-static.git
- ```
-
-6. Deploy your site:
-
- ```bash
- # publish site
- $ git push heroku master
-
- # opens a browser to view the Dashboard version of Heroku CI
- $ heroku open
- ```
-
-## Vercel
-
-You can deploy Astro to [Vercel](http://vercel.com) through the CLI or the Vercel git integrations.
-
-### CLI
-
-1. Install the [Vercel CLI](https://vercel.com/cli) and run `vercel` to deploy.
-2. When asked `Want to override the settings? [y/N]`, choose `Y`.
-3. Update `Output Directory` to `./dist`.
-4. Your application is deployed! (e.g. [astro.vercel.app](https://astro.vercel.app/))
-
-```bash
-$ npm i -g vercel
-$ vercel
-```
-
-### Git
-
-1. Push your code to your git repository (GitHub, GitLab, BitBucket).
-2. [Import your project](https://vercel.com/new) into Vercel.
-3. Update `Output Directory` to `./dist`.
-4. Your application is deployed! (e.g. [astro.vercel.app](https://astro.vercel.app/))
-
-After your project has been imported and deployed, all subsequent pushes to branches will generate [Preview Deployments](https://vercel.com/docs/concepts/deployments/environments#preview), and all changes made to the Production Branch (commonly “main”) will result in a [Production Deployment](https://vercel.com/docs/concepts/deployments/environments#production).
-
-Learn more about Vercel’s [Git Integration](https://vercel.com/docs/concepts/git).
-
-## Azure Static Web Apps
-
-You can deploy your Astro project with Microsoft Azure [Static Web Apps](https://aka.ms/staticwebapps) service. You need:
-
-- An Azure account and a subscription key. You can create a [free Azure account here](https://azure.microsoft.com/free).
-- Your app code pushed to [GitHub](https://github.com).
-- The [SWA Extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurestaticwebapps) in [Visual Studio Code](https://code.visualstudio.com).
-
-Install the extension in VS Code and navigate to your app root. Open the Static Web Apps extension, sign in to Azure, and click the '+' sign to create a new Static Web App. You will be prompted to designate which subscription key to use.
-
-Follow the wizard started by the extension to give your app a name, choose a framework preset, and designate the app root (usually `/`) and built file location `/dist`. The wizard will run and will create a GitHub action in your repo in a `.github` folder.
-
-The action will work to deploy your app (watch its progress in your repo's Actions tab) and, when successfully completed, you can view your app in the address provided in the extension's progress window by clicking the 'Browse Website' button that appears when the GitHub action has run.
-
-## Cloudflare Pages
-
-You can deploy your Astro project on [Cloudflare Pages](https://pages.cloudflare.com). You need:
-
-- A Cloudflare account. If you don’t already have one, you can create a free Cloudflare account during the process.
-- Your app code pushed to a [GitHub](https://github.com) or a [GitLab](https://about.gitlab.com/) repository.
-
-Then, set up a new project on Cloudflare Pages.
-
-Use the following build settings:
-
-- **Framework preset**: `Astro`
-- **Build command:** `npm run build`
-- **Build output directory:** `dist`
-- **Environment variables (advanced)**: Currently, Cloudflare Pages supports `NODE_VERSION = 12.18.0` in the Pages build environment by default. Astro requires `14.15.0`, `v16.0.0`, or higher. You can add an environment variable with the **Variable name** of `NODE_VERSION` and a **Value** of a [Node version that’s compatible with Astro](https://docs.astro.build/installation#prerequisites) or by specifying the node version of your project in a `.nvmrc` or `.node-version` file.
-
-Then click the **Save and Deploy** button.
-
-## Render
-
-You can deploy your Astro project on [Render](https://render.com/) following these steps:
-
-1. Create a [render.com account](https://dashboard.render.com/) and sign in
-2. Click the **New +** button from your dashboard and select **Static Site**
-3. Connect your [GitHub](https://github.com/) or [GitLab](https://about.gitlab.com/) repository or alternatively enter the public URL of a public repository
-4. Give your website a name, select the branch and specify the build command and publish directory
- - **build command:** `npm run build`
- - **publish directory:** `dist`
-5. Click the **Create Static Site** button
-
-## Buddy
-
-You can deploy your Astro project using [Buddy](https://buddy.works). To do so you'll need to:
-
-1. Create a **Buddy** account [here](https://buddy.works/sign-up).
-2. Create a new project and connect it with a git repository (GitHub, GitLab, BitBucket, any private Git Repository or you can use Buddy Git Hosting).
-3. Add a new pipeline.
-4. In the newly created pipeline add a **[Node.js](https://buddy.works/actions/node-js)** action.
-5. In this action add:
-
- ```bash
- npm install
- npm run build
- ```
-
-6. Add a deployment action - there are many to choose from, you can browse them [here](https://buddy.works/actions). Although their can settings differ, remember to set the **Source path** to `dist`.
-7. Press the **Run** button.
-
-## Layer0
-
-You can deploy your Astro project using the steps in the following sections.
-
-### Create the Astro Site
-
-If you don't have an existing Astro site, you can create one by running:
-
-```bash
-# Make a new project directory, and navigate directly into it
-$ mkdir my-astro-project && cd $_
-
-# prepare for liftoff...
-$ npm init astro
-
-# install dependencies
-$ npm install
-
-# start developing!
-$ npm run dev
-
-# when you're ready: build your static site to `dist/`
-$ npm run build
-```
-
-### Add Layer0
-
-```bash
-# First, globally install the Layer0 CLI:
-$ npm i -g @layer0/cli
-
-# Then, add Layer0 to your Astro site:
-$ 0 init
-```
-
-### Update your Layer0 Router
-
-Paste the following into routes.ts:
-
-```js
-// routes.ts
-import { Router } from '@layer0/core';
-
-export default new Router()
- .get(
- '/:path*/:file.:ext(js|css|png|ico|jpg|gif|svg)',
- ({ cache, serveStatic }) => {
- cache({
- browser: {
- // cache js, css, and images in the browser for one hour...
- maxAgeSeconds: 60 * 60,
- },
- edge: {
- // ... and at the edge for one year
- maxAgeSeconds: 60 * 60 * 24 * 365,
- },
- });
- serveStatic('dist/:path*/:file.:ext');
- }
- )
- .match('/:path*', ({ cache, serveStatic, setResponseHeader }) => {
- cache({
- // prevent the browser from caching html...
- browser: false,
- edge: {
- // ...cache html at the edge for one year
- maxAgeSeconds: 60 * 60 * 24 * 365,
- },
- });
- setResponseHeader('content-type', 'text/html; charset=UTF-8');
- serveStatic('dist/:path*');
- });
-```
-
-You can remove the origin backend from `layer0.config.js`:
-
-```js
-module.exports = {};
-```
-
-### Deploy to Layer0
-
-To deploy your site to Layer0, run:
-
-```bash
-# Create a production build of your astro site
-$ npm run build
-
-# Deploy it to Layer0
-$ 0 deploy
-```
-
-## Credits
-
-This guide was originally based off [Vite](https://vitejs.dev/)’s well-documented static deploy guide.
diff --git a/docs/src/pages/en/guides/environment-variables.md b/docs/src/pages/en/guides/environment-variables.md
deleted file mode 100644
index c8546c8d7..000000000
--- a/docs/src/pages/en/guides/environment-variables.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Using environment variables
-description: Learn how to use environment variables in an Astro project.
----
-
-Astro uses Vite for environment variables, and allows you to use any of its methods to get and set environment variables. Note that all environment variables must be prefixed with `PUBLIC_` to be accessible by client side code.
-
-The ability to access private variables on the server side is [still being discussed](https://github.com/withastro/astro/issues/1765).
-
-## Setting environment variables
-
-Vite includes `dotenv` by default, allowing you to easily set environment variables without any extra configuration in Astro projects. You can also attach a mode (either `production` or `development`) to the filename, like `.env.production` or `.env.development`, which makes the environment variables only take effect in that mode.
-
-Just create a `.env` file in the project directory and add some variables to it.
-
-```bash
-# .env
-PUBLIC_POKEAPI="https://pokeapi.co/api/v2"
-```
-
-## Getting environment variables
-
-Instead of using `process.env`, with Vite you use `import.meta.env`, which uses the `import.meta` feature added in ES2020 (don't worry about browser support though, Vite replaces all `import.meta.env` mentions with static values). For example, to get the `PUBLIC_POKEAPI` environment variable, you could use `import.meta.env.PUBLIC_POKEAPI`.
-
-```js
-fetch(`${import.meta.env.PUBLIC_POKEAPI}/pokemon/squirtle`);
-```
-
-> ⚠️WARNING⚠️:
-> Because Vite statically replaces `import.meta.env`, you cannot access it with dynamic keys like `import.meta.env[key]`.
-
-## IntelliSense for TypeScript
-
-By default, Vite provides type definition for `import.meta.env` in `vite/client.d.ts`. While you can define more custom env variables in `.env.[mode]` files, you may want to get TypeScript IntelliSense for user-defined env variables which prefixed with `PUBLIC_`.
-
-To achieve, you can create an `env.d.ts` in `src` directory, then augment `ImportMetaEnv` like this:
-
-```ts
-interface ImportMetaEnv {
- readonly PUBLIC_POKEAPI: string;
- // more env variables...
-}
-
-interface ImportMeta {
- readonly env: ImportMetaEnv;
-}
-```
diff --git a/docs/src/pages/en/guides/imports.md b/docs/src/pages/en/guides/imports.md
deleted file mode 100644
index fffcfe925..000000000
--- a/docs/src/pages/en/guides/imports.md
+++ /dev/null
@@ -1,142 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Supported Imports
-description: Learn how to import different content types with Astro.
----
-
-Astro uses Vite as its internal build system. Vite provides Astro with built-in support for the following file types, with no configuration required:
-
-- JavaScript (`.js`, `.mjs`)
-- TypeScript (`.ts`, `.tsx`)
-- JSON (`.json`)
-- JSX (`.jsx`, `.tsx`)
-- CSS (`.css`)
-- CSS Modules (`.module.css`)
-- Images & Assets (`.svg`, `.jpg`, `.png`, etc.)
-- Astro Components (`.astro`)
-- Markdown (`.md`)
-- WASM (`.wasm`)
-
-Any files in your `public/` directory are copied into the final build, untouched by Vite or Astro. The following applies to files in your `src/` directory, which Astro is ultimately responsible for.
-
-## JavaScript & ESM
-
-Astro was designed for JavaScript's native ES Module (ESM) syntax. ESM lets you define explicit imports & exports that browsers and build tools can better understand and optimize for. If you're familiar with the `import` and `export` keywords in JavaScript, then you already know ESM!
-
-```js
-// ESM Example - src/user.js
-export function getUser() {
- /* ... */
-}
-
-// src/index.js
-import { getUser } from './user.js';
-```
-
-All browsers now support ESM, so Astro is able to ship this code directly to the browser during development.
-
-## TypeScript
-
-Astro includes built-in support to build TypeScript files (`*.ts`) to JavaScript. Astro components also support TypeScript in the frontmatter script section.
-
-Note that this built-in support is build only. By default, Astro does not type-check your TypeScript code.
-
-
-
-## JSX
-
-Astro includes built-in support to build JSX files (`*.jsx` & `*.tsx`) to JavaScript.
-
-If you are using Preact, Astro will detect your Preact import and switch to use the Preact-style JSX `h()` function. This is all done automatically for you.
-
-**Note: Astro does not support JSX in `.js`/`.ts` files.**
-
-## JSON
-
-```js
-// Load the JSON object via the default export
-import json from './data.json';
-```
-
-Astro supports importing JSON files directly into your application. Imported files return the full JSON object in the default import.
-
-## CSS
-
-```js
-// Load and inject 'style.css' onto the page
-import './style.css';
-```
-
-Astro supports importing CSS files directly into your application. Imported styles expose no exports, but importing one will automatically add those styles to the page. This works for all CSS files by default, and can support compile-to-CSS languages like Sass & Less via plugins.
-
-If you prefer not to write CSS, Astro also supports all popular CSS-in-JS libraries (ex: styled-components) for styling.
-
-## CSS Modules
-
-```jsx
-// 1. Converts './style.module.css' classnames to unique, scoped values.
-// 2. Returns an object mapping the original classnames to their final, scoped value.
-import styles from './style.module.css';
-
-// This example uses JSX, but you can use CSS Modules with any framework.
-return Your Error Message
;
-```
-
-Astro supports CSS Modules using the `[name].module.css` naming convention. Like any CSS file, importing one will automatically apply that CSS to the page. However, CSS Modules export a special default `styles` object that maps your original classnames to unique identifiers.
-
-CSS Modules help you enforce component scoping & isolation on the frontend with unique-generated class names for your stylesheets.
-
-## Other Assets
-
-```jsx
-import imgReference from './image.png'; // img === '/src/image.png'
-import svgReference from './image.svg'; // svg === '/src/image.svg'
-import txtReference from './words.txt'; // txt === '/src/words.txt'
-
-// This example uses JSX, but you can use import references with any framework.
- ;
-```
-
-All other assets not explicitly mentioned above can be imported via ESM `import` and will return a URL reference to the final built asset. This can be useful for referencing non-JS assets by URL, like creating an image element with a `src` attribute pointing to that image.
-
-It can also be useful to place images in the `public/`-folder as explained on the [project-structure page](/en/core-concepts/project-structure/#public).
-
-## WASM
-
-```js
-// Loads and intializes the requested WASM file
-const wasm = await WebAssembly.instantiateStreaming(fetch('/example.wasm'));
-```
-
-Astro supports loading WASM files directly into your application using the browser's [`WebAssembly`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly) API.
-
-## NPM Packages
-
-```js
-// Returns the React & React-DOM npm packages
-import React from 'react';
-import ReactDOM from 'react-dom';
-```
-
-Astro lets you import npm packages directly in the browser. Even if a package was published using a legacy format, Astro will up-convert the package to ESM before serving it to the browser.
-
-When you start up your dev server or run a new build, you may see a message that Vite is "installing dependencies". This means that Vite is converting your dependencies to run in the browser. This needs to run only once, or until you next change your dependency tree by adding or removing dependencies.
-
-## Node Builtins
-
-We encourage Astro users to avoid Node.js builtins (`fs`, `path`, etc) whenever possible. Astro aims to be compatible with multiple JavaScript runtimes in the future. This includes [Deno](https://deno.land/) and [Cloudflare Workers](https://workers.cloudflare.com/) which do not support Node builtin modules such as `fs`.
-
-Our aim is to provide Astro alternatives to common Node.js builtins. However, no such alternatives exist today. So, if you _really_ need to use these builtin modules we don't want to stop you. Astro supports Node.js builtins using Node's newer `node:` prefix. If you want to read a file, for example, you can do so like this:
-
-```astro
----
-// Example: import the "fs/promises" builtin from Node.js
-import fs from 'node:fs/promises';
-
-const url = new URL('../../package.json', import.meta.url);
-const json = await fs.readFile(url, 'utf-8');
-const data = JSON.parse(json);
----
-
-Version: {data.version}
-```
diff --git a/docs/src/pages/en/guides/markdown-content.md b/docs/src/pages/en/guides/markdown-content.md
deleted file mode 100644
index 487856171..000000000
--- a/docs/src/pages/en/guides/markdown-content.md
+++ /dev/null
@@ -1,332 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Markdown
-description: An intro to Markdown with Astro.
----
-
-Astro comes with out-of-the-box Markdown support powered by the expansive [remark](https://remark.js.org/) ecosystem.
-
-## Parsers
-
-Astro lets you use any Markdown parser you want. It just needs to be a function that follows the `MarkdownParser` type declared inside [this file](https://github.com/withastro/astro/blob/main/packages/astro/src/@types/astro.ts). You can declare it inside `astro.config.mjs`:
-
-```js
-// astro.config.mjs
-export default {
- markdownOptions: {
- render: [
- 'parser-name', // or import('parser-name') or (contents) => {...}
- {
- // options
- },
- ],
- },
-};
-```
-
-Astro comes with the `@astrojs/markdown-remark` package - the default parser.
-
-### Remark and Rehype Plugins
-
-In addition to custom components inside the [`` component](/en/guides/markdown-content#astros-markdown-component), the default parser comes with these plugins pre-enabled:
-
-- [GitHub-flavored Markdown](https://github.com/remarkjs/remark-gfm)
-- [remark-smartypants](https://github.com/silvenon/remark-smartypants)
-- [rehype-slug](https://github.com/rehypejs/rehype-slug)
-
-Also, Astro supports third-party plugins for Markdown. You can provide your plugins in `astro.config.mjs`.
-
-> **Note:** Enabling custom `remarkPlugins` or `rehypePlugins` removes Astro's built-in support for the plugins previously mentioned. You must explicitly add these plugins to your `astro.config.mjs` file, if desired.
-
-### Add a Markdown plugin in Astro
-
-If you want to add a plugin, you need to install the npm package dependency in your project and then update `remarkPlugins` or `rehypePlugins` inside the `@astrojs/markdown-remark` options depending on what plugin you want to have:
-
-```js
-// astro.config.mjs
-export default {
- markdownOptions: {
- render: [
- '@astrojs/markdown-remark',
- {
- remarkPlugins: [
- // Add a Remark plugin that you want to enable for your project.
- // If you need to provide options for the plugin, you can use an array and put the options as the second item.
- // ['remark-autolink-headings', { behavior: 'prepend'}],
- ],
- rehypePlugins: [
- // Add a Rehype plugin that you want to enable for your project.
- // If you need to provide options for the plugin, you can use an array and put the options as the second item.
- // 'rehype-slug',
- // ['rehype-autolink-headings', { behavior: 'prepend'}],
- ],
- },
- ],
- },
-};
-```
-
-You can provide names of the plugins as well as import them:
-
-```js
-import autolinkHeadings from 'remark-autolink-headings';
-
-// astro.config.mjs
-export default {
- markdownOptions: {
- render: [
- '@astrojs/markdown-remark',
- {
- remarkPlugins: [[autolinkHeadings, { behavior: 'prepend' }]],
- },
- ],
- },
-};
-```
-
-### Syntax Highlighting
-
-Astro comes with built-in support for [Prism](https://prismjs.com/) and [Shiki](https://shiki.matsu.io/). By default, Prism is enabled. You can modify this behavior by updating the `@astrojs/markdown-remark` options:
-
-```js
-// astro.config.mjs
-export default {
- markdownOptions: {
- render: [
- '@astrojs/markdown-remark',
- {
- // Pick a syntax highlighter. Can be 'prism' (default), 'shiki' or false to disable any highlighting.
- syntaxHighlight: 'prism',
- // If you are using shiki, here you can define a global theme and
- // add custom languages.
- shikiConfig: {
- theme: 'github-dark',
- langs: [],
- wrap: false,
- },
- },
- ],
- },
-};
-```
-
-You can read more about custom Shiki [themes](https://github.com/shikijs/shiki/blob/main/docs/themes.md#loading-theme) and [languages](https://github.com/shikijs/shiki/blob/main/docs/languages.md#supporting-your-own-languages-with-shiki).
-
-## Markdown Pages
-
-Astro treats any `.md` files inside of the `/src/pages` directory as pages. These files can contain frontmatter, but are otherwise processed as plain markdown files and do not support components. If you're looking to embed rich components in your markdown, take a look at the [Markdown Component](#astros-markdown-component) section.
-
-### Layouts
-
-Markdown pages have a special frontmatter property for `layout`. This defines the relative path to an `.astro` component which should wrap your Markdown content, for example a [Layout](/en/core-concepts/layouts) component. All other frontmatter properties defined in your `.md` page will be exposed to the component as properties of the `content` prop. The rendered Markdown content is placed into the default ` ` element.
-
-```markdown
----
-# src/pages/index.md
-layout: ../layouts/BaseLayout.astro
-title: My cool page
-draft: false
----
-
-# Hello World!
-```
-
-```astro
----
-// src/layouts/BaseLayout.astro
-const { content } = Astro.props;
----
-
-
- {content.title}
-
-
-
-
-
-
-```
-
-For Markdown files, the `content` prop also has an `astro` property which holds special metadata about the page such as the complete Markdown `source` and a `headers` object. An example of what a blog post `content` object might look like is as follows:
-
-```json
-{
- /** Frontmatter from a blog post
- "title": "Astro 0.18 Release",
- "date": "Tuesday, July 27 2021",
- "author": "Matthew Phillips",
- "description": "Astro 0.18 is our biggest release since Astro launch.",
- "draft": false,
- **/
- "astro": {
- "headers": [
- {
- "depth": 1,
- "text": "Astro 0.18 Release",
- "slug": "astro-018-release"
- },
- {
- "depth": 2,
- "text": "Responsive partial hydration",
- "slug": "responsive-partial-hydration"
- }
- /* ... */
- ],
- "source": "# Astro 0.18 Release\\nA little over a month ago, the first public beta [...]"
- },
- "url": ""
-}
-```
-
-> Keep in mind that the only guaranteed properties coming from the `content` prop are `astro` and `url`.
-
-### Images and videos
-
-Using images or videos follows Astro's normal import rules:
-
-- Place them in the `public/` as explained on the [project-structure page](/en/core-concepts/project-structure/#public)
- - Example: Image is located at `/public/assets/img/astonaut.png` → Markdown: `![Astronaut](/assets/img/astronaut.png)`
-- Or use `import` as explained on the [imports page](/en/guides/imports#other-assets) (when using Astro's Markdown Component)
-
-### Markdown draft pages
-
-Markdown pages which have the property `draft` set in their frontmatter are referred to as "draft pages". By default, Astro excludes these pages from the build when building the static version of your page (i.e `astro build`), which means that you can exclude draft/incomplete pages from the production build by setting `draft` to `true`. To enable building of draft pages, you can set `buildOptions.drafts` to `true` in the configuration file, or pass the `--drafts` flag when running `astro build`. Markdown pages which do not have the `draft` property set are not affected. An example of a markdown draft page can be:
-
-```markdown
----
-# src/pages/blog-post.md
-title: My Blog Post
-draft: true
----
-
-This is my blog post which is currently incomplete.
-```
-
-An example of a markdown post which is not a draft:
-
-```markdown
----
-# src/pages/blog-post.md
-title: My Blog Post
-draft: false
----
-
-This is my blog post...
-```
-
-> This feature only applies to local markdown pages, not the ` ` component, or remote markdown.
-
-## Astro's Markdown Component
-
-Astro has a dedicated component used to let you render your markdown as HTML components. This is a special component that is only exposed to `.astro` files. To use the `` component, within your frontmatter block use the following import statement:
-
-```astro
----
-import { Markdown } from 'astro/components';
----
-```
-
-You can utilize this within your `.astro` file by doing the following:
-
-```astro
----
-import { Markdown } from 'astro/components';
----
-
-
-
- # Hello world!
-
- The contents inside here is all in markdown.
-
-
-```
-
-`` components provide more flexibility and allow you to use plain HTML or custom components. For example:
-
-````astro
----
-// For now, this import _must_ be named "Markdown" and _must not_ be wrapped with a custom component
-// We're working on easing these restrictions!
-import { Markdown } from 'astro/components';
-import Layout from '../layouts/main.astro';
-import MyFancyCodePreview from '../components/MyFancyCodePreview.tsx';
-
-const expressions = 'Lorem ipsum';
----
-
-
-
- # Hello world!
-
- **Everything** supported in a `.md` file is also supported here!
-
- There is _zero_ runtime overhead.
-
- In addition, Astro supports:
- - Astro {expressions}
- - Automatic indentation normalization
- - Automatic escaping of expressions inside code blocks
-
- ```js
- // This content is not transformed!
- const object = { someOtherValue };
- ```
-
- - Rich component support like any `.astro` file!
- - Recursive Markdown support (Component children are also processed as Markdown)
-
-
- ```js
- const object = { someOtherValue };
- ```
-
-
-
-````
-
-## Remote Markdown
-
-If you have Markdown in a remote source, you may pass it directly to the Markdown component through the `content` attribute. For example, the example below fetches the README from Snowpack's GitHub repository and renders it as HTML.
-
-```astro
----
-import { Markdown } from 'astro/components';
-
-const content = await fetch('https://raw.githubusercontent.com/snowpackjs/snowpack/main/README.md').then(res => res.text());
----
-
-
-
-
-```
-
-There might be times when you want to combine both dynamic, and static markdown. If that is the case, you can nest `` components with each other to get the best of both worlds.
-
-```astro
----
-import { Markdown } from 'astro/components';
-
-const content = await fetch('https://raw.githubusercontent.com/snowpackjs/snowpack/main/README.md').then(res => res.text());
----
-
-
-
- ## Markdown example
-
- Here we have some __Markdown__ code. We can also dynamically render content from remote places.
-
-
-
-
-```
-
-## Security FAQs
-
-**Aren't there security concerns to rendering remote markdown directly to HTML?**
-
-Yes! Just like with regular HTML, improper use of the `Markdown` component can open you up to a [cross-site scripting (XSS)](https://en.wikipedia.org/wiki/Cross-site_scripting) attack. If you are rendering untrusted content, be sure to _sanitize your content **before** rendering it_.
-
-**Why not use a prop like React's `dangerouslySetInnerHTML={{ __html: content }}`?**
-
-Rendering a string of HTML (or Markdown) is an extremely common use case when rendering a static site and you probably don't need the extra hoops to jump through. Rendering untrusted content is always dangerous! Be sure to _sanitize your content **before** rendering it_.
diff --git a/docs/src/pages/en/guides/pagination.md b/docs/src/pages/en/guides/pagination.md
deleted file mode 100644
index 73fc2ef96..000000000
--- a/docs/src/pages/en/guides/pagination.md
+++ /dev/null
@@ -1,108 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Pagination
-description: An intro to Astro pagination to split large amounts of data into different pages.
----
-
-Astro supports built-in, automatic pagination for large collections of data that need to be split into multiple pages. Astro also automatically includes pagination metadata for things like previous/next page URL, total number of pages, and more.
-
-## When to use pagination
-
-Pagination is only useful when you need to generate multiple, numbered pages from a larger data set.
-
-If all of your data can fit on a single page then you should consider using a static [page component](/en/core-concepts/astro-pages) instead.
-
-If you need to split your data into multiple pages but do not want those page URLs to be numbered, then you should use a [dynamic page](/en/core-concepts/routing) instead without pagination (Example: `/tag/[tag].astro`).
-
-## How to use pagination
-
-### Create your page component
-
-To automatically paginate some data, you'll first need to create your page component. This is the component `.astro` file that every page in the paginated collection will inherit from.
-
-Pagination is built on top of dynamic page routing, with the page number in the URL represented as a dynamic route param: `[page].astro` or `[...page].astro`. If you aren't familiar with routing in Astro, quickly familiarize yourself with our [Routing documentation](/en/core-concepts/routing) before continuing.
-
-Your first page URL will be different depending on which type of query param you use:
-
-- `/posts/[page].astro` will generate the URLs `/posts/1`, `/posts/2`, `/posts/3`, etc.
-- `/posts/[...page].astro` will generate the URLs `/posts`, `/posts/2`, `/posts/3`, etc.
-
-### calling the `paginate()` function
-
-Once you have decided on the file name/path for your page component, you'll need to export a [`getStaticPaths()`](/en/reference/api-reference#getstaticpaths) function from the component. `getStaticPaths()` is where you tell Astro what pages to generate.
-
-`getStaticPaths()` provides the `paginate()` function that we'll use to paginate your data. In the example below, we'll use `paginate()` to split a list of 150 Pokemon into 15 pages of 10 Pokemon each.
-
-```js
-export async function getStaticPaths({ paginate }) {
- // Load your data with fetch(), Astro.fetchContent(), etc.
- const response = await fetch(`https://pokeapi.co/api/v2/pokemon?limit=150`);
- const result = await response.json();
- const allPokemon = result.results;
- // Return a paginated collection of paths for all posts
- return paginate(allPokemon, { pageSize: 10 });
-}
-// If set up correctly, The page prop now has everything that
-// you need to render a single page (see next section).
-const { page } = Astro.props;
-```
-
-`paginate()` generates the correct array of path objects for `getStaticPaths()`. This automatically tells Astro to create a new URL for every page of the collection. The page data will then be passed as a `page` prop to the `.astro` page component.
-
-### using the `page` prop
-
-Once you've set up your page component and defined your `getStaticPaths()` function, you're ready to design your page template. Each page in the paginated collection will be passed its data in the `page` prop.
-
-```astro
----
-export async function getStaticPaths { /* ... */ }
-const { page } = Astro.props;
----
-Page {page.currentPage}
-
- {page.data.map(item => {item.title} )}
-
-```
-
-The `page` prop has several useful properties, but the most important one is `page.data`. This is the array containing the page's slice of data that you passed to the `paginate()` function. For example, if you called `paginate()` on an array of 150 Pokemon:
-
-- `/1`: `page.data` would be an array of the first 10 Pokemon
-- `/2`: `page.data` would be an array of Pokemon 11-20
-- `/3`: `page.data` would be an array of Pokemon 21-30
-- etc. etc.
-
-The `page` prop includes other helpful metadata, like `page.url.next`, `page.url.prev`, `page.total`, and more. See our [API reference](/en/reference/api-reference#the-pagination-page-prop) for the full `page` interface.
-
-## Nested pagination
-
-A more advanced use-case for pagination is **nested pagination.** This is when pagination is combined with other dynamic route params. You can use nested pagination to group your paginated collection by some property or tag.
-
-For example, if you want to group your paginated markdown posts by some tag, you would use nested pagination by creating a `/src/pages/[tag]/[page].astro` page that would match the following URLS:
-
-- `/red/1` (tag=red)
-- `/red/2` (tag=red)
-- `/blue/1` (tag=blue)
-- `/green/1` (tag=green)
-
-Nested pagination works by returning an array of `paginate()` results from `getStaticPaths()`, one for each grouping. In the following example, we will implement nested pagination to build the URLs listed above:
-
-```astro
----
-// Example: /src/pages/[tag]/[page].astro
-export function getStaticPaths({paginate}) {
- const allTags = ['red', 'blue', 'green'];
- const allPosts = Astro.fetchContent('../../posts/*.md');
- // For every tag, return a paginate() result.
- // Make sure that you pass `{params: {tag}}` to `paginate()`
- // so that Astro knows which tag grouping the result is for.
- return allTags.map((tag) => {
- const filteredPosts = allPosts.filter((post) => post.tag === tag);
- return paginate(filteredPosts, {
- params: { tag },
- pageSize: 10
- });
- });
-}
-const { page } = Astro.props;
-const { params } = Astro.request;
-```
diff --git a/docs/src/pages/en/guides/publish-to-npm.md b/docs/src/pages/en/guides/publish-to-npm.md
deleted file mode 100644
index 2b3d88932..000000000
--- a/docs/src/pages/en/guides/publish-to-npm.md
+++ /dev/null
@@ -1,216 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Publish to NPM
-description: Learn how to publish Astro components to NPM
----
-
-Building a new Astro component? **Publish it to [npm!](https://npmjs.com/)**
-
-Publishing a component is a great way to reuse work across your team, your company, or the entire world. Astro components can be published to and installed from npm, just like any other JavaScript package.
-
-**Astro's ability to publish and reuse popular components is one of it's most powerful features!**
-
-Even if you don't plan on publishing your components online, the patterns outlined below can help any developer design reusable components in isolation from their custom website or business logic.
-
-Looking for inspiration? Check out some of [our favorite themes & components][/themes] from the Astro community. You can also [search npm](https://www.npmjs.com/search?q=keywords:astro-component) to see the entire public catalog.
-
-## Creating a package
-
-> Before diving in, it will help have a basic understanding of:
->
-> - [Node Modules](https://docs.npmjs.com/creating-node-js-modules)
-> - [JSON Manifest (`package.json`)](https://docs.npmjs.com/creating-a-package-json-file)
-> - [Workspaces](https://docs.npmjs.com/cli/v7/configuring-npm/package-json#workspaces)
-
-To create a new package, we recommend developing with **workspaces**. This will allow you to develop your component alongside a working copy of Astro.
-
-```
-my-project/
- ├─ demo/
- └─ ... for testing and demonstration
- ├─ package.json
- └─ packages/
- └─ my-component/
- ├─ index.js
- ├─ package.json
- └─ ... additional files used by the package
-```
-
-In this example, named `my-project`, we create a project with a single package, named `my-component`, and a `demo` directory for testing and demonstrating the component.
-
-This is configured in the project root’s `package.json` file.
-
-```json
-{
- "name": "my-project",
- "workspaces": ["demo", "packages/*"]
-}
-```
-
-In this example, multiple packages can be developed together from the `packages` directory. These packages can also be referenced from `demo`, where you can install a working copy of Astro.
-
-```shell
-npm init astro demo --template minimal
-```
-
-Now let’s explore the files that will make up your individual package:
-
-### `package.json`
-
-The `package.json` in the package directory includes all of the information related to your package, including its description, dependencies, and any other package metadata.
-
-```json
-{
- "name": "my-component",
- "description": "... description",
- "version": "1.0.0",
- "type": "module",
- "exports": {
- ".": "./index.js",
- "./astro": "./MyAstroComponent.astro",
- "./react": "./MyReactComponent.jsx"
- },
- "files": ["index.js", "MyAstroComponent.astro", "MyReactComponent.jsx"],
- "keywords": ["astro-component", "... etc", "... etc"]
-}
-```
-
-#### `package.json#description`
-
-The short description of your component used to help others know what it does.
-
-```json
-{
- "description": "An Astro Element Generator"
-}
-```
-
-#### `package.json#type`
-
-The module format used by Node.js and Astro to interpret your `index.js` files.
-
-```json
-{
- "type": "module"
-}
-```
-
-We recommend using `"type": "module"` so that your `index.js` can be used as an entrypoint with `import` and `export`.
-
-#### `package.json#exports`
-
-The entry points allowed by Astro to import your component or any of its [files](#packagejsonfiles).
-
-```json
-{
- "exports": {
- ".": "./index.js",
- "./astro": "./MyAstroComponent.astro",
- "./react": "./MyReactComponent.jsx"
- }
-}
-```
-
-In this example, importing `my-component` would use `index.js`, while importing `my-component/astro` or `my-component/react` would use `MyAstroComponent.astro` or `MyReactComponent.jsx`.
-
-#### `package.json#files`
-
-```json
-{
- "files": ["index.js", "MyAstroComponent.astro", "MyReactComponent.jsx"]
-}
-```
-
-#### `package.json#keywords`
-
-An array of keywords relevant to your component that are used to help others [find your component on npm](https://www.npmjs.com/search?q=keywords:astro-component) and any other search catalogs.
-
-We recommend adding the `astro-component` as a special keyword to maximize its discoverability in the Astro ecosystem.
-
-```json
-{
- "keywords": ["astro-component", "... etc", "... etc"]
-}
-```
-
----
-
-### `index.js`
-
-The main **package entrypoint** used whenever your package is imported.
-
-```js
-export { default as MyAstroComponent } from './MyAstroComponent.astro';
-
-export { default as MyReactComponent } from './MyReactComponent.jsx';
-```
-
-This allows you to package multiple components together into a single interface.
-
-#### Example: Using Named Imports
-
-```astro
----
-import { MyAstroComponent } from 'my-component';
-import { MyReactComponent } from 'my-component';
----
-
-
-```
-
-#### Example: Using Namespace Imports
-
-```astro
----
-import * as Example from 'example-astro-component';
----
-
-
-```
-
-#### Example: Using Individual Imports
-
-```astro
----
-import MyAstroComponent from 'example-astro-component/astro';
-import MyReactComponent from 'example-astro-component/react';
----
-
-
-```
-
----
-
-## Developing your package
-
-Astro does not have a dedicated "package mode" for development. Instead, you should use a demo project to develop and test your package inside of your project. This can be a private website only used for development, or a public demo/documentation website for your package.
-
-If you are extracting components from an existing project, you can even continue to use that project to develop your now-extracted components.
-
-## Testing your component
-
-Astro does not currently ship a test runner. This is something that we would like to tackle before our v1.0 release. _(If you are interested in helping out, [join us on Discord!](https://astro.build/chat))_
-
-In the meantime, our current recommendation for testing is:
-
-1. Add a test `fixtures` directory to your `demo/src/pages` directory.
-2. Add a new page for every test that you'd like to run.
-3. Each page should include some different component usage that you'd like to test.
-4. Run `astro build` to build your fixtures, then compare the output of the `dist/__fixtures__/` directory to what you expected.
-
-```bash
-my-project/demo/src/pages/__fixtures__/
- ├─ test-name-01.astro
- ├─ test-name-02.astro
- └─ test-name-03.astro
-```
-
-## Publishing your component
-
-Once you have your package ready, you can publish it to npm!
-
-To publish a package to npm, use the `npm publish` command. If that fails, make sure that you've logged in via `npm login` and that your package.json is correct. If it succeeds, you're done!
-
-Notice that there was no `build` step for Astro packages. Any file type that Astro supports can be published directly without a build step, because we know that Astro already supports them natively. This includes all files with extensions like `.astro`, `.ts`, `.jsx`, and `.css`.
-
-If you need some other file type that isn't natively supported by Astro, you are welcome to add a build step to your package. This advanced exercise is left up to you.
diff --git a/docs/src/pages/en/guides/rss.md b/docs/src/pages/en/guides/rss.md
deleted file mode 100644
index 52c80ea2d..000000000
--- a/docs/src/pages/en/guides/rss.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: RSS
-description: An intro to RSS in Astro
----
-
-Astro supports fast, automatic RSS feed generation for blogs and other content websites. For more information about RSS feeds in general, see [aboutfeeds.com](https://aboutfeeds.com/).
-
-You can create an RSS feed from any Astro page that uses a `getStaticPaths()` function for routing. Only dynamic routes can use `getStaticPaths()` today (see [Routing](/en/core-concepts/routing)).
-
-> We hope to make this feature available to all other pages before v1.0. As a workaround, you can convert a static route to a dynamic route that only generates a single page. See [Routing](/en/core-concepts/routing) for more information about dynamic routes.
-
-Create an RSS Feed by calling the `rss()` function that is passed as an argument to `getStaticPaths()`. This will create an `rss.xml` file in your final build based on the data that you provide using the `items` array.
-
-```js
-// Example: /src/pages/posts/[...page].astro
-// Place this function inside your Astro component script.
-export async function getStaticPaths({rss}) {
- const allPosts = Astro.fetchContent('../post/*.md');
- const sortedPosts = allPosts.sort((a, b) => new Date(b.date) - new Date(a.date));
- // Generate an RSS feed from this collection
- rss({
- // The RSS Feed title, description, and custom metadata.
- title: 'Don\'s Blog',
- // See "Styling" section below
- stylesheet: true,
- description: 'An example blog on Astro',
- customData: `en-us `,
- // The list of items for your RSS feed, sorted.
- items: sortedPosts.map(item => ({
- title: item.title,
- description: item.description,
- link: item.url,
- pubDate: item.date,
- })),
- // Optional: Customize where the file is written to.
- // Otherwise, defaults to "/rss.xml"
- dest: "/my/custom/feed.xml",
- });
- // Return your paths
- return [...];
-}
-```
-
-Note: RSS feeds will **not** be built during development. Currently, RSS feeds are only generated during your final build.
-
-### Styling
-
-RSS Feeds can be styled with an XSL stylesheet for a more pleasant user experience when they are opened directly in a browser. By default, Astro does not set a stylesheet for RSS feeds, but it can be enabled by setting the `stylesheet` option.
-
-Astro can automatically use [Pretty Feed](https://github.com/genmon/aboutfeeds/blob/main/tools/pretty-feed-v3.xsl), a popular open-source XSL stylesheet. To enable this behavior, pass `stylesheet: true`.
-
-If you'd like to use a custom XSL stylesheet, you can pass a string value like `stylesheet: '/my-custom-stylesheet.xsl'`. This file should be in your `public/` directory (in this case, `public/my-custom-stylesheet.xsl`).
diff --git a/docs/src/pages/en/guides/styling.md b/docs/src/pages/en/guides/styling.md
deleted file mode 100644
index 5687ff7b8..000000000
--- a/docs/src/pages/en/guides/styling.md
+++ /dev/null
@@ -1,640 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Styling & CSS
-description: Learn how to style components with Astro.
----
-
-Astro includes special handling to make writing CSS as easy as possible. Styling inside of Astro components is done by adding a `
-
-I’m a scoped style and I’m red!
-I'm a scoped style and I’m cursive!
-```
-
-Note that the `h1` selector won’t bleed out of the current component! These styles won’t apply any other `h1` tags outside this document. Not even child components.
-
-_Tip: even though you can use element selectors, using classnames is preferred. This is not only slightly more performant, but is also easier to read, especially in a large document._
-
-### Global styles
-
-Of course, the real power of CSS is being able to reuse as much as possible! The preferred method of loading global styles is by using a standard ` ` tag like you’re used to. It can even be used in conjunction with Astro’s scoped `
-
-
- Scoped Page Title
-
-```
-
-_Note: `Astro.resolve()` is a handy utility that helps resolve files from anywhere ([docs][astro-resolve])_
-
-#### Styling children
-
-If you’d like scoped styles to apply to children, you can use the special `:global()` function borrowed from [CSS Modules][css-modules]:
-
-```astro
-
----
-import PostContent from './Post.astro';
----
-
-
-Title
-
-
-
-```
-
-This is a great way to style things like blog posts, or documents with CMS-powered content where the contents live outside of Astro. But be careful when styling children unconditionally, as it breaks component encapsulation. Components that appear different based on whether or not they have a certain parent component can become unwieldy quickly.
-
-#### Global styles within style tag
-
-If you’d like to use global styles but you don’t want to use a normal ` ` tag (recommended), there is a `
-
-Globally-styled
-```
-
-You can achieve the same by using the `:global()` function at the root of a selector:
-
-```html
-
-```
-
-It’s recommended to only use this in scenarios where a ` ` tag won’t work. It’s harder to track down errant global styles when they’re scattered around and not in a central CSS file.
-
-📚 Read our full guide on [Astro component syntax][astro-component] to learn more about using the `
-
-```
-
-As an alternative to `src/styles/global.css`, You may also add Tailwind utilities to individual `pages/*.astro` components in `
-
-
-
-```
-
-_Note: all the examples here use `lang="scss"` which is a great convenience for nesting, and sharing [colors and variables][sass-use], but it's entirely optional and you may use normal CSS if you wish._
-
-That `.btn` class is scoped within that component, and won't leak out. It means that you can **focus on styling and not naming.** Local-first approach fits in very well with Astro's ESM-powered design, favoring encapsulation and reusability over global scope. While this is a simple example, it should be noted that **this scales incredibly well.** And if you need to share common values between components, [Sass' module system][sass-use] also gets our recommendation for being easy to use, and a great fit with component-first design.
-
-By contrast, Astro does allow global styles via the `:global()` and `
-
-
- Menu
-
-```
-
-This is undesirable because now `` and `` fight over what the final button looks like. Now, whenever you edit one, you'll always have to edit the other, and they are no longer truly isolated as they once were (now coupled by a bidirectional styling dependency). It's easy to see how this pattern only has to be repeated a couple times before being afraid that touching any styles _anywhere_ may break styling in a completely different part of the app (queue `peter-griffin-css-blinds.gif`).
-
-Instead, let `` control its own styles, and try a prop:
-
-```astro
----
-// src/components/Button.astro
-const { theme } = Astro.props;
----
-
-
-
-
-
-```
-
-Elsewhere, you can use `` to set the type of button it is. This preserves the contract of _Button is in charge of its styles, and Nav is in charge of its styles_, and now you can edit one without affecting the other. The worst case scenario of using global styles is that the component is broken and unusable (it's missing part of its core styles). But the worst case scenario of using props (e.g. typo) is that a component will only fall back to its default, but still usable, state.
-
-💁 **Why this works well in Astro**: Astro is inspired most by JavaScript modules: you only need to know about what's in one file at a time, and you never have to worry about something in a remote file affecting how this code runs. But we're not alone in this; Vue and Svelte have both capitalized on and popularized the idea that styles and markup are natural fits in the same component file. [You can still have separation of concerns][peace-on-css] even with markup, styling, and logic contained in one file. In fact, that's what makes component design so powerful! So write CSS without fear that you picked a name that's used by some other component across your app.
-
-#### Utility CSS
-
-Recently there has been a debate of all-scoped component styles vs utility-only CSS. But we agree with people like Sarah Dayan who ask [why can't we have both][utility-css]? Truth is that while having scoped component styles are great, there are still hundreds of times when the website's coming together when two components just don't line up _quite_ right, and one needs a nudge. Or different text treatment is needed in one component instance.
-
-While the thought of having perfect, pristine components is nice, it's unrealistic. No design system is absolutely perfect, and every design system has inconsistencies. And it's in reconciling these inconsistencies where components can become a mess without utility CSS. Utility CSS is great for adding minor tweaks necessary to get the website out the door. But they also are incomplete on their own—if you've ever tried to manage responsive styles or accessible focus states with utility CSS it can quickly become a mess! **Utility CSS works best in partnership with component (scoped) CSS**. And in order to be as easy as possible to use, Utility CSS should be global (arguably should be your only global CSS, besides maybe reset.css) so you don't have to deal with imports all willy-nilly.
-
-Some great problems best handled with Utility CSS are:
-
-- [margin](https://github.com/drwpow/sass-utils#-margin--padding)
-- [padding](https://github.com/drwpow/sass-utils#-margin--padding)
-- [text/background color](https://github.com/drwpow/sass-utils#-color)
-- [font size and family](https://github.com/drwpow/sass-utils#%F0%9F%85%B0%EF%B8%8F-font--text)
-- [default element styling](https://github.com/kognise/water.css)
-
-In Astro, we recommend the following setup for this:
-
-```html
-
-
-
-```
-
-And in your local filesystem, you can even use Sass' [@use][sass-use] to combine files together effortlessly:
-
-```
-├── src/
-│ └── styles/
-│ ├── _base.scss
-│ ├── _tokens.scss
-│ ├── _typography.scss
-│ ├── _utils.scss
-│ └── global.scss
-```
-
-What's in each file is up to you to determine, but start small, add utilities as you need them, and you'll keep your CSS weight incredibly low. And utilities you wrote to meet your real needs will always be better than anything off the shelf.
-
-So to recap, think of scoped styles as the backbone of your styles that get you 80% of the way there, and utility CSS filling in the remaining 20%. They both work well in tandem, with each compensating for the other's weakness.
-
-💁 **Why this works well in Astro**: Astro was built around the idea of **Scoped CSS and Global Utility CSS living together in harmony** ♥️! Take full advantage of it.
-
-### More suggestions
-
-"But wait!" you may ask, having read the previous section. "That doesn't take care of [my usecase]!" If you‘re looking for more pointers on some common styling problems, you may be interested in the following suggestions. These all are cohesive, and fit with the **Hybrid Scoped + Utility** philosophy:
-
-1. Split your app into Layout Components and Base Components
-1. Avoid Flexbox and Grid libraries (write your own!)
-1. Avoid `margin` on a component wrapper
-1. Avoid global media queries
-
-#### Suggestion #1: Split your app into Layout Components and Base Components
-
-While this guide will never be long enough to answer the question _"How should a page be laid out?"_ (that's a [design problem!][cassie-evans-css]) there is a more specific question hiding within that we _can_ answer: _"Given a layout, how should components/styles be organized?"_ The answer is **don't bake layout into components.** Have layout components that control layout, and base components (buttons, cards, etc.) that don't control layout. _What does that mean?_ Let's walk through an example so it's more clear. Pretend we have a page that looks like this (numbers for different components):
-
-```
-|---------------|
-| 1 |
-|-------+-------|
-| 2 | 2 |
-|---+---|---+---|
-| 3 | 3 | 3 | 3 |
-|---+---+---+---|
-| 3 | 3 | 3 | 3 |
-|---+---+---+---|
-```
-
-The layout consists of a big, giant, full-width post at top, followed by two half-width posts below it. And below that, we want a bunch of smaller posts to fill out the rest of the page. For simplicity, we'll just call these `` (1), `` (2), and `` (3). We add them to our page like so:
-
-```astro
----
-// src/pages/index.astro
-
-import Nav from '../components/Nav.astro';
-import BigPost from '../components/BigPost.astro';
-import Grid from '../components/Grid.astro';
-import MediumPosts from '../components/MediumPosts.astro';
-import SmallPosts from '../components/SmallPosts.astro';
-import Footer from '../components/Footer.astro';
----
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-This _looks_ clean, but looks can be deceiving. At first glance, we may think that `` is controlling the layout, but that's an illusion. We actually have `` handling its own width, `` loading 2 components and controlling its width, and `` loading 4+ components and controlling its width. In total, including ``, that means **4 components** are all fighting over the same layout. Remove one post from ``, the layout breaks. Edit ``, the layout breaks. Edit ``, the layout breaks. If you think about it, none of these components are truly reusable—they might as well just be one big file.
-
-This is actually the **Global CSS Problem** in disguise—multiple components fight over how they all lay out together, without layout being one, central responsibility (kinda like global CSS)! Now that we identified the problem, one way to fix this is to hoist the entire layout to the top level, and load all components there, too:
-
-```astro
----
-// src/pages/index.astro
-
-import Nav from '../components/Nav.astro';
-import BigPost from '../components/BigPost.astro';
-import MediumPost from '../components/MediumPost.astro';
-import SmallPost from '../components/SmallPost.astro';
-import Footer from '../components/Footer.astro';
----
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-Getting over that this is more code, it's actually a much cleaner separation. What was a four-component layout is now managed 100% within the top-level `index.astro` (which we can now consider a **Layout Component**, and if we wanted to reuse this we could extract this into its own file). Your layout is centralized, and now these components truly are reusable because they don't care one bit about whether they're in the same grid or not. You can edit styles in any of these files now without fear of styles breaking in another.
-
-The basic rule is that when orchestrating multiple components, **that's a unique responsibility** that should live in one central place, rather than split between 4 components as we were doing. In fact, top-level pages are great at this, and should always be the starting point of your layout components. See how far you can take it, and only extract layout components when you absolutely have to.
-
-To recap: **if you have to touch multiple files to manage one layout, you probably need to reorganize everything into a Layout Component.**
-
-💁 **Why this works well in Astro**: In Astro, anything can be a `.astro` component, and you never incur performance problems no matter how many components you add. But the main benefit to [Layout isolation][layout-isolated] is how much it cuts down on the amount of CSS you need.
-
-#### Suggestion #2: Avoid Flexbox and Grid libraries (write your own!)
-
-This may feel like a complete overreach to tell you not to use your favorite layout framework you're familiar with. After all, it's gotten you this far! But the days of [float madness](https://zellwk.com/blog/responsive-grid-system/) are gone, replaced by Flexbox and Grid. And the latter don't need libraries to manage them (often they can make it harder).
-
-Many front-end developers experience the following train of thought:
-
-1. I should reuse as much CSS as possible (_good!_)
-2. Many pages reuse the same layout, … (_hold up—_)
-3. … therefore I can find an existing solution to manage all my duplicate layouts (_wait a minute—_)
-
-While the logic is sound, the reality is that #2 isn't truth for many projects. Probably, many parts of the website weren't designed to fit into these nice, neat, 12 column grids. Even modest web apps can contain _hundreds_ of unique layouts when you factor in all the breakpoints. Ask yourself: _If the website I'm building really contains so many unique layouts, why am I using a heavy grid library that only gives me generic layouts?_
-
-A few well-written lines of CSS Grid here and there will not only be perfect in every occasion; it's likely lighter and easier to manage than that heavy library you've fought with for so long. Another way to look at it: if you have to spend a couple hours learning a proprietary styling framework, wrestling with it, filing issues, etc., why not just spend that time on Flexbox and Grid instead? For many people, learning the basics only takes an hour, and that can get you pretty far! There are great, free, learning resources that are worth your time:
-
-- [Flexbox Froggy](https://flexboxfroggy.com/)
-- [CSS Grid Garden](https://cssgridgarden.com/)
-
-So in short: stop trying to deduplicate layouts when there's nothing to deduplicate! You'll find your styles not only easier to manage, but your CSS payloads much lighter, and load times faster.
-
-💁 **Why this works well in Astro**: grid libraries are a quick path to stylesheet bloat, and a major contributor to people attempting to [treeshake their styles][css-treeshaking]. Astro does **not** treeshake unused CSS for you, because [that can cause problems][css-treeshaking]. We're not saying you have to be library free; we're big fans of libraries like [Material UI][material-ui]. But if you can at least shed the thousands upon thousands of layouts you're not using from your styling library, you probably don't need automatic treeshaking.
-
-#### Suggestion #3: Avoid `margin` on a component wrapper
-
-In other words, don't do this:
-
-```astro
-
-
-
-
-```
-
-If you remember the [CSS box model][box-model], `margin` extends beyond the boundaries of the box. This means that when you place `margin` on the outermost element, now that will push other components next to it. Even though the styles are scoped, it's _technically_ affecting elements around it, so it [breaks the concept of style containment][layout-isolated].
-
-When you have components that rearrange, or appear different when they're next to other components, that's a hard battle to win. **Components should look and act the same no matter where they are placed.** That's what makes them components!
-
-💁 **Why this works well in Astro**: margins pushing other components around creeps into your styling architecture in sneaky ways, and can result in the creation of some wonky or brittle layout components. Avoiding it altogether will keep your layout components simpler, and you'll spend less time styling in general.
-
-#### Suggestion #4: Avoid global media queries
-
-The final point is a natural boundary of **Scoped Styles**. That extends to breakpoints, too! You know that one, weird breakpoint where your ` ` component wraps awkwardly at a certain size? You should handle that within ` `, and not anywhere else.
-
-Even if you end up with some random value like `@media (min-width: 732px) {`, that'll probably work better than trying to create a global [magic number][magic-number] somewhere that only applies to one context (an arbitrary value may be "magic" to the rest of an app, but it does still have meaning within the context of a component that needs that specific value).
-
-Granted, this has been near-impossible to achieve until Container Queries; fortunately [they are finally landing!][container-queries]
-
-Also, a common complaint of this approach is when someone asks _"What if I have 2 components that need to do the same thing at the same breakpoint?"_ to which my answer is: you'll always have one or two of those; just handle those as edge cases. But if your entire app is made up of dozens of these cases, perhaps your component lines could be redrawn so that they're more [layout-isolated][layout-isolated] in general.
-
-💁 **Why this works well in Astro**: this is probably the least important point, which is why it's saved for last. In fact, you could probably skip this if it doesn't work for you. But it's something that people try to architect for at scale, and having a global system to manage this can often be unnecessary. Give _not_ architecting for global media queries a try, and see how far it takes you!
-
-### 👓 Further Reading
-
-This guide wouldn't be possible without the following blog posts, which expand on these topics and explain them in more detail. Please give them a read!
-
-- [**Layout-isolated Components**][layout-isolated] by Emil Sjölander
-- [**In defense of utility-first CSS**][utility-css] by Sarah Dayan
-
-Also please check out the [Stylelint][stylelint] project to whip your styles into shape. You lint your JS, why not your CSS?
-
-[autoprefixer]: https://github.com/postcss/autoprefixer
-[astro-component]: /en/core-concepts/astro-components#css-styles
-[astro-resolve]: /en/reference/api-reference#astroresolve
-[bem]: http://getbem.com/introduction/
-[box-model]: https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model
-[browserslist]: https://github.com/browserslist/browserslist
-[browserslist-defaults]: https://github.com/browserslist/browserslist#queries
-[cassie-evans-css]: https://twitter.com/cassiecodes/status/1392756828786790400?s=20
-[container-queries]: https://ishadeed.com/article/say-hello-to-css-container-queries/
-[css-modules]: https://github.com/css-modules/css-modules
-[css-treeshaking]: https://css-tricks.com/how-do-you-remove-unused-css-from-a-site/
-[fouc]: https://en.wikipedia.org/wiki/Flash_of_unstyled_content
-[layout-isolated]: https://web.archive.org/web/20210227162315/https://visly.app/blogposts/layout-isolated-components
-[less]: https://lesscss.org/
-[issues]: https://github.com/withastro/astro/issues
-[magic-number]: https://css-tricks.com/magic-numbers-in-css/
-[material-ui]: https://material.io/components
-[peace-on-css]: https://didoo.medium.com/let-there-be-peace-on-css-8b26829f1be0
-[sass]: https://sass-lang.com/
-[sass-use]: https://sass-lang.com/documentation/at-rules/use
-[smacss]: http://smacss.com/
-[styled-components]: https://styled-components.com/
-[stylus]: https://stylus-lang.com/
-[styled-jsx]: https://github.com/vercel/styled-jsx
-[stylelint]: https://stylelint.io/
-[svelte-style]: https://svelte.dev/docs#style
-[tailwind]: https://tailwindcss.com
-[tailwind-utilities]: https://tailwindcss.com/docs/adding-new-utilities#using-css
-[utility-css]: https://frontstuff.io/in-defense-of-utility-first-css
-[vite-preprocessors]: https://vitejs.dev/guide/features.html#css-pre-processors
-[vue-css-modules]: https://vue-loader.vuejs.org/guide/css-modules.html
-[vue-scoped]: https://vue-loader.vuejs.org/guide/scoped-css.html
diff --git a/docs/src/pages/en/installation.md b/docs/src/pages/en/installation.md
deleted file mode 100644
index 087112095..000000000
--- a/docs/src/pages/en/installation.md
+++ /dev/null
@@ -1,176 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Installation
-description: How to install Astro with NPM, PNPM, or Yarn.
----
-
-There are a few different ways to install Astro in a new project.
-
-## Prerequisites
-
-- **Node.js** - `14.15.0`, `v16.0.0`, or higher.
-- **Text editor** - We recommend [VS Code](https://code.visualstudio.com/) with our [Official Astro extension](https://marketplace.visualstudio.com/items?itemName=astro-build.astro-vscode).
-- **Terminal** - Astro is mainly accessed via the terminal's command-line.
-
-For demonstration purposes, we will be using [`npm`](https://www.npmjs.com/) in the examples below, but you could also use [`yarn`](https://yarnpkg.com/) or [`pnpm`](https://pnpm.io/) if you prefer an npm alternative.
-
-## Create Astro
-
-`npm init astro` is the easiest way to install Astro in a new project. Run this command in your terminal to start our `create-astro` install wizard to assist you with setting up a new project.
-
-```shell
-# With NPM
-npm init astro
-
-# Yarn
-yarn create astro
-
-# Pnpm
-pnpm create astro
-```
-
-[`create-astro`](https://github.com/withastro/astro/tree/main/packages/create-astro) wizard lets you choose from a set of [starter templates](https://github.com/withastro/astro/tree/main/examples) or alternatively, you could import your own Astro project directly from GitHub.
-
-```bash
-# Note: Replace "my-astro-project" with the name of your project.
-
-# npm 6.x
-npm init astro my-astro-project --template starter
-# npm 7+ (extra double-dash is needed)
-npm init astro my-astro-project -- --template starter
-# yarn
-yarn create astro my-astro-project --template starter
-# pnpm
-pnpm create astro my-astro-project -- --template starter
-# Using a third-party template
-npm init astro my-astro-project -- --template [GITHUB_USER]/[REPO_NAME]
-# Using a third-party template, inside a repo
-npm init astro my-astro-project -- --template [GITHUB_USER]/[REPO_NAME]/path/to/template
-```
-
-After `create-astro` scaffolds out your project, remember to install your projects dependencies using npm or your package manager of choice. In this example, we'll use npm:
-
-```bash
-npm install
-```
-
-You can now [Start](#start-astro) your Astro project. Once you have completed assembling your Astro project you can then [Build](#build-astro) your project. Astro would then package up your application and have the static files ready for you to [Deploy](/en/guides/deploy) to your favourite hosting provider.
-
-## Manual Install
-
-You can also set up Astro without the aide of the `create-astro` wizard, below are the few extra steps that are required to get Astro going.
-
-### Set up your project
-
-```bash
-# Make and enter a new directory
-mkdir my-astro-project
-cd my-astro-project
-```
-
-Create an empty directory with the name of your project, and then navigate into it:
-
-### Create `package.json`
-
-```bash
-# This command will create a basic package.json for you
-npm init --yes
-```
-
-Astro is designed to work with the entirety of the npm package ecosystem. This is managed by a project manifest at the root of your project known as `package.json` . If you're not familiar with the `package.json` file, we highly recommend you to have a quick read over it on [the npm documentation](https://docs.npmjs.com/creating-a-package-json-file).
-
-### Install Astro
-
-Following the instructions above, you should have a directory with a single `package.json` file inside of it. You can now set up Astro inside your project.
-
-```bash
-npm install astro
-```
-
-You can now replace the placeholder "scripts" section of your `package.json` file that `npm init` created for you with the following:
-
-```diff
- "scripts": {
-- "test": "echo \"Error: no test specified\" && exit 1"
-+ "dev": "astro dev",
-+ "build": "astro build",
-+ "preview": "astro preview"
- },
-}
-```
-
-The [`dev`](#start-astro) command launches the Astro Dev Server on `http://localhost:3000`. Once your project is ready, the [`build`](#build-astro) command outputs your project to the `dist/` directory. [Read more about deploying Astro in the Deploy guide.](/en/guides/deploy)
-
-### Create your first page
-
-Astro Open up your favourite text editor, and create a new file in your project:
-
-1. Create a new file at `src/pages/index.astro`
-2. Copy-and-paste the following snippet (including `---` dashes) into it.
-
-```astro
----
-// JS/TS Code written in between the (---) code fence,
-// is ran solely on the Server!
-console.log('See me in the Terminal')
----
-
-
-
- Hello, World!
-
-
-
-
-
-
-```
-
-Above is an example of the Astro's Component's Syntax, which comprises of both HTML & JSX.
-
-You can create more pages in the `src/pages` directory, and Astro will use the filename to create new pages on your site. For example, by creating a new file at `src/pages/about.astro` (reusing the previous snippet), Astro will generate a new page at the URL : `http://localhost/about`
-
-## [Start Astro](#start-astro)
-
-```bash
-npm run dev
-```
-
-Astro will now start serving your application on `http://localhost:3000`. By opening this URL in your browser, you should see the Astro's “Hello, World”.
-
-If you need to share your development progress on the local network or check out the app from a phone, just add the following [snowpack](https://www.snowpack.dev/reference/configuration#devoptionshostname) option to `astro.config.mjs`:
-
-```js
-devOptions: {
- hostname: '0.0.0.0',
-}
-```
-
-## [Build Astro](#build-astro)
-
-```bash
-npm run build
-```
-
-This will instruct Astro to build your site and save it directly to disk. Your application is now ready in the `dist/` directory.
-
-## Next Steps
-
-Success! You're now ready to start developing!
-
-We highly encourage you to get more familiar with the way Astro works. You can do so by further exploring our Docs, we suggest that you consider the following:
-
-📚 Learn more about Astro's project structure in our [Project Structure guide.](/en/core-concepts/project-structure)
-
-📚 Learn more about Astro's component syntax in our [Astro Components guide.](/en/core-concepts/astro-components)
-
-📚 Learn more about Astro's file-based routing in our [Routing guide.](/en/core-concepts/astro-pages)
diff --git a/docs/src/pages/en/migration/0.21.0.md b/docs/src/pages/en/migration/0.21.0.md
deleted file mode 100644
index 70d127c1f..000000000
--- a/docs/src/pages/en/migration/0.21.0.md
+++ /dev/null
@@ -1,264 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Migrating to v0.21
-description: How to migrate projects from Astro v0.20.
----
-
-## Vite
-
-Starting in v0.21, Astro is built with [Vite].
-As a result, configurations written in `snowpack.config.mjs` should be moved into `astro.config.mjs`.
-
-```js
-// @ts-check
-
-/** @type {import('astro').AstroUserConfig} */
-export default {
- renderers: [],
- vite: {
- plugins: [],
- },
-};
-```
-
-To learn more about configuring Vite, please visit their [configuration guide](https://vitejs.dev/config/).
-
-## Aliasing
-
-In Astro v0.21, import aliases can be added from `tsconfig.json` or `jsconfig.json`.
-
-```json
-{
- "compilerOptions": {
- "baseUrl": ".",
- "paths": {
- "@/components/*": ["src/components/*"]
- }
- }
-}
-```
-
-_These aliases are integrated automatically into [VSCode](https://code.visualstudio.com/docs/languages/jsconfig) and other editors._
-
-## Variables in Scripts & Styles
-
-In Astro v0.21, _serializable_ server-side variables can be passed into client-side `
-✓
-```
-
-## Imports on top bug
-
-In Astro v0.21, a bug has been introduced that requires imports inside components to be at the top of your frontmatter.
-
-```astro
----
-import Component from '../components/component.astro'
-const whereShouldIPutMyImports = "on top!"
----
-```
-
-_Note: This is a bug that will be fixed._
-
-## Components in Markdown
-
-In Astro v0.21, Components from any framework can be used within Markdown files.
-
-```markdown
----
-layout: '...'
-setup: |
- import MyReactComponent from '../components/MyReactComponent.jsx'
----
-
-# Hydrating on visibility
-
-
-
-# Hello world!
-
-
-```
-
-## Components in Frontmatter
-
-Previously, you could create mini Astro Components inside of the Astro Frontmatter, using JSX syntax instead of Astro's component syntax. This was always a bit of a hack, but in the new compiler it became impossible to support. We hope to re-introduce this feature in a future release of Astro using a different, non-JSX API.
-
-To migrate to v0.21, please convert all JSX Astro components (that is, any Astro components created inside of another component's frontmatter) to standalone components.
-
-## Environment Variables
-
-In Astro v0.21, environment variables can be loaded from `.env` files in your project directory.
-
-```ini
-.env # loaded in all cases
-.env.local # loaded in all cases, ignored by git
-.env.[mode] # only loaded in specified mode
-.env.[mode].local # only loaded in specified mode, ignored by git
-```
-
-For security purposes, only variables prefixed with `PUBLIC_` are accessible to your code.
-
-```ini
-SECRET_PASSWORD=password123
-PUBLIC_ANYBODY=there
-```
-
-In this example, `PUBLIC_ANYBODY` will be available as `import.meta.env.PUBLIC_ANYBODY` in server or client code, while `SECRET_PASSWORD` will not.
-
-> In prior releases, these variables were prefixed with `SNOWPACK_PUBLIC_` and required the `@snowpack/plugin-env` plugin.
-
-## File Extensions
-
-In Astro v0.21, files need to be referenced by their actual extension, exactly as it is on disk.
-
-```tsx
-// Div.tsx
-export default function Div(props) {
- return
;
-}
-```
-
-In this example, `Div.tsx` would need to be referenced as `Div.tsx`, not `Div.jsx`.
-
-```diff
-- import Div from './Div.jsx' // Astro v0.20
-+ import Div from './Div.tsx' // Astro v0.21
-```
-
-This same change applies to styles.
-
-```scss
-// Div.scss
-div {
- all: unset;
-}
-```
-
-```diff
--
-+
-```
-
-## Plugins
-
-In Astro v0.21, Vite plugins may be configured within `astro.config.mjs`.
-
-```js
-import { imagetools } from 'vite-imagetools';
-
-export default {
- vite: {
- plugins: [imagetools()],
- },
-};
-```
-
-To learn more about Vite plugins, please visit their [plugin guide](https://vitejs.dev/guide/using-plugins.html).
-
-## Custom Renderers
-
-In Astro v0.21, plugins should now use `viteConfig()`.
-
-```diff
-// renderer-svelte/index.js
-+ import { svelte } from '@sveltejs/vite-plugin-svelte';
-
-export default {
- name: '@astrojs/renderer-svelte',
- client: './client.js',
- server: './server.js',
-- snowpackPlugin: '@snowpack/plugin-svelte',
-- snowpackPluginOptions: { compilerOptions: { hydratable: true } },
-+ viteConfig() {
-+ return {
-+ optimizeDeps: {
-+ include: ['@astrojs/renderer-svelte/client.js', 'svelte', 'svelte/internal'],
-+ exclude: ['@astrojs/renderer-svelte/server.js'],
-+ },
-+ plugins: [
-+ svelte({
-+ emitCss: true,
-+ compilerOptions: { hydratable: true },
-+ }),
-+ ],
-+ };
-+ },
-}
-```
-
-To learn more about Vite plugins, please visit their [plugin guide](https://vitejs.dev/guide/using-plugins.html).
-
-> In prior releases, these were configured with `snowpackPlugin` or `snowpackPluginOptions`.
-
-## Markdown Options
-
-The configuration of markdown options has changed slightly in Astro v0.21. There's now a `render` property, which should include `@astrojs/markdown-remark`:
-
-```diff
-// astro.config.mjs
-export default {
- markdownOptions: {
-+ render: [
-+ '@astrojs/markdown-remark',
-+ {
- remarkPlugins: [
- // Add a Remark plugin that you want to enable for your project.
- ],
- rehypePlugins: [
- // Add a Rehype plugin that you want to enable for your project.
- ],
-+ },
-+ ],
- },
-};
-```
-
-## Styling Changes
-
-### Autoprefixer
-
-Autoprefixer is no longer run by default. To enable:
-
-1. Install the latest version (`npm i autoprefixer`)
-2. Create a `postcss.config.cjs` file at the root of your project with:
- ```js
- module.exports = {
- plugins: {
- autoprefixer: {},
- },
- };
- ```
-
-### Tailwind CSS
-
-Ensure you have PostCSS installed. This was optional in previous releases, but is required now:
-
-1. Install the latest version of postcss (`npm i -D postcss`)
-2. Create a `postcss.config.cjs` file at the root of your project with:
- ```js
- module.exports = {
- plugins: {
- tailwindcss: {},
- },
- };
- ```
- For more information, read the [Tailwind CSS documentation](https://tailwindcss.com/docs/installation#add-tailwind-as-a-post-css-plugin)
-
-[snowpack]: https://www.snowpack.dev
-[vite]: https://vitejs.dev
diff --git a/docs/src/pages/en/quick-start.md b/docs/src/pages/en/quick-start.md
deleted file mode 100644
index 452a4c43a..000000000
--- a/docs/src/pages/en/quick-start.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Quick Start
-description: The easiest way to get started quickly with Astro.
----
-
-```shell
-# prerequisite: check that Node.js is 14.15.0+, or 16+
-node --version
-
-# Make a new project directory, and navigate directly into it
-mkdir my-astro-project && cd $_
-
-# prepare for liftoff...
-npm init astro
-
-# install dependencies
-npm install
-
-# start developing!
-npm run dev
-```
-
-For production sites,
-
-```shell
-# when you're ready: build your static site to `dist/`
-npm run build
-```
-
-To learn more about installing and using Astro for the first time, please [read our installation guide.](/en/installation)
-
-If you prefer to learn by example, check out our [complete library of examples](https://github.com/withastro/astro/tree/main/examples) on GitHub. You can check out any of these examples locally by running `npm init astro -- --template "EXAMPLE_NAME"`.
-
-## Start your project
-
-From inside your project directory, enter the following command into your terminal:
-
-```bash
-npm run dev
-```
-
-Astro will now start serving your application on [http://localhost:3000](http://localhost:3000). Opening this URL in your browser, you should see the Astro's "Hello, World".
-
-The server will listen for live file changes in your `src/` directory, so you do not need to restart the application as you make changes during development.
-
-## Build your project
-
-To build your project, from inside your directory enter the following build command into your terminal:
-
-```bash
-npm run build
-```
-
-This will instruct Astro to build your site and save it directly to disk. Your application is now ready in the `dist/` directory.
-
-## Deploy your project
-
-Astro sites are static, so they can be deployed to your favourite host:
-
-- [AWS S3 bucket](https://aws.amazon.com/s3/)
-- [Google Firebase](https://firebase.google.com/)
-- [Netlify](https://www.netlify.com/)
-- [Vercel](https://vercel.com/)
-- [Read more about deploying Astro in our Deploy guide.](/en/guides/deploy)
-
-## Next Steps
-
-Success! You're now ready to start developing!
-
-We recommend that you to take some time to get more familiar with the way Astro works. You can do so by further exploring our Docs, we suggest that you consider the following:
-
-📚 Learn more about Astro's project structure in our [Project Structure guide.](/en/core-concepts/project-structure)
-
-📚 Learn more about Astro's component syntax in our [Astro Components guide.](/en/core-concepts/astro-components)
-
-📚 Learn more about Astro's file-based routing in our [Routing guide.](/en/core-concepts/astro-pages)
diff --git a/docs/src/pages/en/reference/api-reference.md b/docs/src/pages/en/reference/api-reference.md
deleted file mode 100644
index 4722da822..000000000
--- a/docs/src/pages/en/reference/api-reference.md
+++ /dev/null
@@ -1,293 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: API Reference
----
-
-## `Astro` global
-
-The `Astro` global is available in all contexts in `.astro` files. It has the following functions:
-
-### `Astro.fetchContent()`
-
-`Astro.fetchContent()` is a way to load local `*.md` files into your static site setup.
-
-```astro
----
-// ./src/components/my-component.astro
-const data = Astro.fetchContent('../pages/post/*.md'); // returns an array of posts that live at ./src/pages/post/*.md
----
-
-
-{data.slice(0, 3).map((post) => (
-
- {post.title}
- {post.description}
- Read more
-
-))}
-
-```
-
-`.fetchContent()` only takes one parameter: a relative URL glob of which local files you'd like to import. Currently only `*.md` files are supported. It's synchronous, and returns an array of items of type:
-
-```js
-{
- /** frontmatter from the post.. example frontmatter:
- title: '',
- tag: '',
- date: '',
- image: '',
- author: '',
- description: '',
- **/
- astro: {
- headers: [], // an array of h1...h6 elements in the markdown file
- source: '', // raw source of the markdown file
- html: '' // rendered HTML of the markdown file
- },
- url: '' // the rendered path
- }[]
-```
-
-### `Astro.request`
-
-`Astro.request` returns an object with the following properties:
-
-| Name | Type | Description |
-| :------------- | :---- | :---------------------------------------------- |
-| `url` | `URL` | The URL of the request being rendered. |
-| `canonicalURL` | `URL` | [Canonical URL][canonical] of the current page. |
-
-### `Astro.resolve()`
-
-`Astro.resolve()` helps with creating URLs relative to the current Astro file, allowing you to reference files within your `src/` folder.
-
-Astro _does not_ resolve relative links within HTML, such as images:
-
-```html
-
-```
-
-The above will be sent to the browser as-is and the browser will resolve it relative to the current **page**. If you want it to be resolved relative to the .astro file you are working in, use `Astro.resolve`:
-
-```astro
-
-```
-
-### `Astro.site`
-
-`Astro.site` returns a `URL` made from `buildOptions.site` in your Astro config. If undefined, this will return a URL generated from `localhost`.
-
-```astro
----
-const path = Astro.site.pathname;
----
-
-Welcome to {path}
-```
-
-### `Astro.slots`
-
-`Astro.slots` returns an object with any slotted regions passed into the current Astro file.
-
-```js
-const {
- heading as headingSlot, // true or undefined, based on whether `<* slot="heading">` was used.
- default as defaultSlot, // true or undefined, based on whether `<* slot>` or `<* default>` was used.
-} = Astro.slots;
-```
-
-## `getStaticPaths()`
-
-If a page uses dynamic params in the filename, that component will need to export a `getStaticPaths()` function.
-
-This function is required because Astro is a static site builder. That means that your entire site is built ahead of time. If Astro doesn't know to generate a page at build time, your users won't see it when they visit your site.
-
-```astro
----
-export async function getStaticPaths() {
- return [
- { params: { /* required */ }, props: { /* optional */ } },
- { params: { ... } },
- { params: { ... } },
- // ...
- ];
-}
----
-
-```
-
-The `getStaticPaths()` function should return an array of objects to determine which paths will be pre-rendered by Astro.
-
-⚠️ The `getStaticPaths()` function executes in its own isolated scope once, before any page loads. Therefore you can't reference anything from its parent scope, other than file imports. The compiler will warn if you break this requirement.
-
-### `params`
-
-The `params` key of every returned object tells Astro what routes to build. The returned params must map back to the dynamic parameters and rest parameters defined in your component filepath.
-
-`params` are encoded into the URL, so only strings are supported as values. The value for each `params` object must match the parameters used in the page name.
-
-For example, suppose that you have a page at `src/pages/posts/[id].astro`. If you export `getStaticPaths` from this page and return the following for paths:
-
-```astro
----
-export async function getStaticPaths() {
- return [
- { params: { id: '1' } },
- { params: { id: '2' } }
- ];
-}
-const {id} = Astro.request.params;
----
-{id}
-```
-
-Then Astro will statically generate `posts/1` and `posts/2` at build time.
-
-### Data Passing with `props`
-
-To pass additional data to each generated page, you can also set a `props` value on every returned path object. Unlike `params`, `props` are not encoded into the URL and so aren't limited to only strings.
-
-For example, suppose that you generate pages based off of data fetched from a remote API. You can pass the full data object to the page component inside of `getStaticPaths`:
-
-```astro
----
-export async function getStaticPaths() {
- const data = await fetch('...').then(response => response.json());
- return data.map((post) => {
- return {
- params: { id: post.id },
- props: { post } };
- });
-}
-const {id} = Astro.request.params;
-const {post} = Astro.props;
----
-{id}: {post.name}
-```
-
-Then Astro will statically generate `posts/1` and `posts/2` at build time using the page component in `pages/posts/[id].astro`. The page can reference this data using `Astro.props`:
-
-### `paginate()`
-
-Pagination is a common use-case for websites that Astro natively supports via the `paginate()` function. `paginate()` will automatically generate the array to return from `getStaticPaths()` that creates one URL for every page of the paginated collection. The page number will be passed as a param, and the page data will be passed as a `page` prop.
-
-```js
-export async function getStaticPaths({ paginate }) {
- // Load your data with fetch(), Astro.fetchContent(), etc.
- const response = await fetch(`https://pokeapi.co/api/v2/pokemon?limit=150`);
- const result = await response.json();
- const allPokemon = result.results;
- // Return a paginated collection of paths for all posts
- return paginate(allPokemon, { pageSize: 10 });
-}
-// If set up correctly, The page prop now has everything that
-// you need to render a single page (see next section).
-const { page } = Astro.props;
-```
-
-`paginate()` assumes a file name of `[page].astro` or `[...page].astro`. The `page` param becomes the page number in your URL:
-
-- `/posts/[page].astro` would generate the URLs `/posts/1`, `/posts/2`, `/posts/3`, etc.
-- `/posts/[...page].astro` would generate the URLs `/posts`, `/posts/2`, `/posts/3`, etc.
-
-#### The pagination `page` prop
-
-Pagination will pass a `page` prop to every rendered page that represents a single page of data in the paginated collection. This includes the data that you've paginated (`page.data`) as well as metadata for the page (`page.url`, `page.start`, `page.end`, `page.total`, etc). This metadata is useful for things like a "Next Page" button or a "Showing 1-10 of 100" message.
-
-| Name | Type | Description |
-| :----------------- | :-------------------: | :-------------------------------------------------------------------------------------------------------------------------------- |
-| `page.data` | `Array` | Array of data returned from `data()` for the current page. |
-| `page.start` | `number` | Index of first item on current page, starting at `0` (e.g. if `pageSize: 25`, this would be `0` on page 1, `25` on page 2, etc.). |
-| `page.end` | `number` | Index of last item on current page. |
-| `page.size` | `number` | How many items per-page. |
-| `page.total` | `number` | The total number of items across all pages. |
-| `page.currentPage` | `number` | The current page number, starting with `1`. |
-| `page.lastPage` | `number` | The total number of pages. |
-| `page.url.current` | `string` | Get the URL of the current page (useful for canonical URLs) |
-| `page.url.prev` | `string \| undefined` | Get the URL of the previous page (will be `undefined` if on page 1). |
-| `page.url.next` | `string \| undefined` | Get the URL of the next page (will be `undefined` if no more pages). |
-
-### `rss()`
-
-RSS feeds are another common use-case that Astro supports natively. Call the `rss()` function to generate an `/rss.xml` feed for your project using the same data that you loaded for this page. This file location can be customized (see below).
-
-```js
-// Example: /src/pages/posts/[...page].astro
-// Place this function inside your Astro component script.
-export async function getStaticPaths({rss}) {
- const allPosts = Astro.fetchContent('../post/*.md');
- const sortedPosts = allPosts.sort((a, b) => new Date(b.date) - new Date(a.date));
- // Generate an RSS feed from this collection
- rss({
- // The RSS Feed title, description, and custom metadata.
- title: 'Don’s Blog',
- description: 'An example blog on Astro',
- customData: `en-us `,
- // The list of items for your RSS feed, sorted.
- items: sortedPosts.map(item => ({
- title: item.title,
- description: item.description,
- link: item.url,
- pubDate: item.date,
- })),
- // Optional: Customize where the file is written to.
- // Defaults to "/rss.xml"
- dest: "/my/custom/feed.xml",
- });
- // Return a paginated collection of paths for all posts
- return [...];
-}
-```
-
-```ts
-// The full type definition for the rss() function argument:
-interface RSSArgument {
- /** (required) Title of the RSS Feed */
- title: string;
- /** (required) Description of the RSS Feed */
- description: string;
- /** Specify arbitrary metadata on opening tag */
- xmlns?: Record;
- /** Specify custom data in opening of file */
- customData?: string;
- /**
- * Specify where the RSS xml file should be written.
- * Relative to final build directory. Example: '/foo/bar.xml'
- * Defaults to '/rss.xml'.
- */
- dest?: string;
- /** Return data about each item */
- items: {
- /** (required) Title of item */
- title: string;
- /** (required) Link to item */
- link: string;
- /** Publication date of item */
- pubDate?: Date;
- /** Item description */
- description?: string;
- /** Append some other XML-valid data to this item */
- customData?: string;
- }[];
-}
-```
-
-## `import.meta`
-
-> In this section we use `[dot]` to mean `.`. This is because of a bug in our build engine that is rewriting `import[dot]meta[dot]env` if we use `.` instead of `[dot]`.
-
-All ESM modules include a `import.meta` property. Astro adds `import[dot]meta[dot]env` through [Vite](https://vitejs.dev/guide/env-and-mode.html).
-
-**`import[dot]meta[dot]env[dot]SSR`** can be used to know when rendering on the server. Sometimes you might want different logic, for example a component that should only be rendered in the client:
-
-```jsx
-import { h } from 'preact';
-
-export default function () {
- // Note: rewrite "[dot]" to "." for this to to work in your project.
- return import[dot]meta[dot]env[dot]SSR ?
: ;
-}
-```
-
-[canonical]: https://en.wikipedia.org/wiki/Canonical_link_element
diff --git a/docs/src/pages/en/reference/builtin-components.md b/docs/src/pages/en/reference/builtin-components.md
deleted file mode 100644
index 76102bbaf..000000000
--- a/docs/src/pages/en/reference/builtin-components.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Built-In Components
----
-
-Astro includes several builtin components for you to use in your projects. All builtin components are available via `import {} from 'astro/components';`.
-
-## `
`
-
-```astro
----
-import { Code } from 'astro/components';
----
-
-
-
-
-
-
-```
-
-This component provides syntax highlighting for code blocks at build time (no client-side JavaScript included). The component is powered internally by shiki and it supports all popular [themes](https://github.com/shikijs/shiki/blob/main/docs/themes.md) and [languages](https://github.com/shikijs/shiki/blob/main/docs/languages.md). Plus, you can add your custom themes and languages by passing them to `theme` and `lang` respectively.
-
-You can also use the ` ` component for syntax highlighting powered by the [Prism](https://prismjs.com/) syntax highlighting library. This is the library that Astro's Markdown uses by default. However, we will be transitioning all usage over to `` as we move towards our v1.0 release.
-
-## ` `
-
-```astro
----
-import { Markdown } from 'astro/components';
----
-
- # Markdown syntax is now supported! **Yay!**
-
-```
-
-See our [Markdown Guide](/en/guides/markdown-content) for more info.
-
-
-
-## ` `
-
-```astro
----
-import { Prism } from 'astro/components';
----
-
-```
-
-This component provides language-specific syntax highlighting for code blocks. Since this never changes in the client it makes sense to use an Astro component (it's equally reasonable to use a framework component for this kind of thing; Astro is server-only by default for all frameworks!).
-
-See the [list of languages supported by Prism](https://prismjs.com/#supported-languages) where you can find a language's corresponding alias. And, you can also display your Astro code blocks with lang="astro"!
-
-## ` `
-
-```astro
----
-import Debug from 'astro/debug';
-const serverObject = {
- a: 0,
- b: "string",
- c: {
- nested: "object"
- }
-}
----
-
-```
-
-This component provides a way to inspect values on the clientside, without any JavaScript.
diff --git a/docs/src/pages/en/reference/cli-reference.md b/docs/src/pages/en/reference/cli-reference.md
deleted file mode 100644
index 0ada6b8a2..000000000
--- a/docs/src/pages/en/reference/cli-reference.md
+++ /dev/null
@@ -1,72 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: CLI Reference
----
-
-## Commands
-
-### `astro dev`
-
-Runs the Astro development server. This starts an HTTP server that responds to requests for pages stored in `src/pages` (or which folder is specified in your [configuration](/en/reference/configuration-reference)).
-
-**Flags**
-
-#### `--port`
-
-Specifies should port to run on. Defaults to `3000`.
-
-### `astro build`
-
-Builds your site for production.
-
-### `astro preview`
-
-Start a local static file server to serve your built `dist/` directory. Useful for previewing your static build locally, before deploying it.
-
-This command is meant for local testing only, and is not designed to be run in production. For help with production hosting, check out our guide on [Deploying an Astro Website](/en/guides/deploy).
-
-### `astro check`
-
-Runs diagnostics (such as type-checking) against your project and reports errors to the console. If any errors are found the process will exit with a code of **1**.
-
-This command is intended to be used in CI workflows.
-
-## Global Flags
-
-### `--config path`
-
-Specify the path to the config file. Defaults to `astro.config.mjs`. Use this if you use a different name for your configuration file or have your config file in another folder.
-
-```shell
-astro --config config/astro.config.mjs dev
-```
-
-### `--project-root path`
-
-Specify the path to the project root. If not specified the current working directory is assumed to be the root.
-
-The root is used for finding the Astro configuration file.
-
-```shell
-astro --project-root examples/snowpack dev
-```
-
-### `--reload`
-
-Clears the cache (dependencies are built within Astro apps).
-
-### `--verbose`
-
-Enables verbose logging, which is helpful when debugging an issue.
-
-### `--silent`
-
-Enables silent logging, which is helpful for when you don't want to see Astro logs.
-
-### `--version`
-
-Print the Astro version number and exit.
-
-### `--help`
-
-Print the help message and exit.
diff --git a/docs/src/pages/en/reference/configuration-reference.md b/docs/src/pages/en/reference/configuration-reference.md
deleted file mode 100644
index 9c729ee0b..000000000
--- a/docs/src/pages/en/reference/configuration-reference.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Configuration Reference
----
-
-To configure Astro, add an `astro.config.mjs` file to the root of your project.
-
-```js
-export default /** @type {import('astro').AstroUserConfig} */ ({
- // all options are optional; these values are the defaults
- projectRoot: './',
- public: './public/',
- dist: './dist/',
- src: './src/',
- pages: './src/pages/',
- renderers: [
- '@astrojs/renderer-svelte',
- '@astrojs/renderer-vue',
- '@astrojs/renderer-react',
- '@astrojs/renderer-preact',
- ],
- vite: {},
-});
-```
-
-#### projectRoot
-
-The `projectRoot` option sets the working directory used by Astro. Astro will resolve all other directory options from this path.
-
-**Default**: The current working directory.
-
-#### public
-
-The `public` option sets the directory used to resolve public assets. Astro does not process any files within this directory.
-
-**Default**: The `public` directory within the `projectRoot` directory.
-
-#### dist
-
-The `dist` option sets the directory used to output the final build of the project. Contents of the `public` directory are also copied into this directory.
-
-**Default**: The `dist` directory within the `projectRoot` directory.
-
-#### src
-
-The `src` option sets the directory used to resolve source files, like `pages`. Astro may process, optimize, and bundle any files in this directory.
-
-**Default**: The `src` directory within the `projectRoot` directory.
-
-#### pages
-
-The `pages` option sets the directory used to resolve pages, relative to the `projectRoot` option.
-
-**Default**: The `src/pages` directory within the `projectRoot` directory.
-
-#### renderers
-
-The `renderers` option defines the framework renderers to be used by Astro.
-
-**Default**: An array of `@astrojs/renderer-svelte`, `@astrojs/renderer-vue`, `@astrojs/renderer-react`, and `@astrojs/renderer-preact`. To assign no renderers at all, you must provide an empty array (`[]`).
-
-#### buildOptions
-
-The `buildOptions` option configures how a site is built, including its base URL (`buildOptions.site`), whether it includes a sitemap (`buildOptions.sitemap`), whether markdown draft pages should be included in the build (`buildOptions.drafts`), and whether its pages should be files (`path.html`) or directories (`path/index.html`) (`buildOptions.pageUrlFormat`).
-
-#### devOptions
-
-The `devOptions` option configures features used during development, including the server hostname (`devOptions.hostname`), the server port (`devOptions.port`), and whether urls should include a trailing slash (`devOptions.trailingSlash`).
-
-#### vite
-
-The `vite` option configures the internals of Vite. These options can be explored on [ViteJS.dev](https://vitejs.dev/config/).
-
-#### markdownOptions
-
-The `markdownOptions` option assigns options to the Markdown parser. These options can be explored on [GitHub](https://github.com/withastro/astro/blob/latest/packages/astro/src/@types/astro.ts).
-
----
-
-You can view the entire configuration API on [GitHub](https://github.com/withastro/astro/blob/latest/packages/astro/src/@types/astro.ts).
diff --git a/docs/src/pages/en/reference/renderer-reference.md b/docs/src/pages/en/reference/renderer-reference.md
deleted file mode 100644
index 2b589d8c4..000000000
--- a/docs/src/pages/en/reference/renderer-reference.md
+++ /dev/null
@@ -1,229 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: UI Renderer Reference
----
-
-Astro is designed to support your favorite UI frameworks. [React](https://npm.im/@astrojs/renderer-react), [Svelte](https://npm.im/@astrojs/renderer-svelte), [Vue](https://npm.im/@astrojs/renderer-vue), and [Preact](https://npm.im/@astrojs/renderer-preact) are all built-in to Astro and supported out of the box. No configuration is needed to enable these.
-
-Internally, each framework is supported via a framework **renderer.** A renderer is a type of Astro plugin that adds support for a framework. Some are built-in, but you can also provide your own third-party renderers to add Astro support for new frameworks.
-
-## What is a renderer?
-
-A renderer is an NPM package that has two responsibilities:
-
-1. _render a component to a static string of HTML_ at build time.
-2. _rehydrate that HTML to create an interactive component_ on the client.
-
-Take a look at any one of Astro's built-in [`renderers`](https://github.com/withastro/astro/tree/main/packages/renderers) to see this in action. We'll go into more detail in the following sections.
-
-## Building Your Own Renderer
-
-> **Building a renderer?** We'd love for you to contribute renderers for popular frameworks back to the Astro repo. Feel free to open an issue or pull request to discuss.
-
-A simple renderer only needs a few files:
-
-```
-/my-custom-renderer/
-├── package.json
-├── index.js
-├── server.js
-└── client.js
-```
-
-### Package Manifest (`package.json`)
-
-A renderer should include any framework dependencies as package dependencies. For example, `@astrojs/renderer-react` includes `react` & `react-dom` as dependencies in the `package.json` manifest.
-
-```js
-// package.json
-"name": "@astrojs/renderer-react",
-"dependencies": {
- "react": "^17.0.2",
- "react-dom": "^17.0.2"
-}
-```
-
-This means that Astro users don't need to install the UI framework packages themselves. The renderer is the only package that your users will need to install.
-
-### Renderer Entrypoint (`index.js`)
-
-The main entrypoint of a renderer is a simple JS file which exports a manifest for the renderer. The required values are `name`, `server`, and `client`.
-
-Additionally, this entrypoint can define a [Vite config object](https://vitejs.dev/config/) that should be used to load non-JavaScript files.
-
-```js
-import myVitePlugin from 'vite-plugin-myplugin';
-
-export default {
- name: '@astrojs/renderer-xxx', // the renderer name
- client: './client.js', // relative path to the client entrypoint
- server: './server.js', // (optional) relative path to the server entrypoint
- viteConfig(options = { mode: 'development', command: 'serve' }) {
- // (optional) return config object for Vite (https://vitejs.dev/config/)
- return {
- plugins: [myVitePlugin()], // tip: usually this will depend on a Vite plugin
- optimizeDeps: {
- include: ['my-client-dep'], // tip: it’s always a good idea to specify any client-side hydration deps here
- },
- ssr: {
- external: ['my-client-dep/node/server.js'], // tip: use ssr.external in case you encounter code meant only for Node
- },
- };
- },
- polyfills: ['./shadow-dom-polyfill.js'], // (optional) scripts that should be injected on the page for the component
- hydrationPolyfills: ['./hydrate-framework.js'], // (optional) polyfills that need to run before hydration ever occurs
- jsxImportSource: 'preact', // (optional) the name of the library from which JSX is imported ("react", "preact", "solid-js", etc.)
- jsxTransformOptions: async (options = { mode: 'development', ssr: true }) => {
- // (optional) a function to transform JSX files
- const {
- default: { default: jsx },
- } = await import('@babel/plugin-transform-react-jsx');
- return {
- plugins: [jsx({}, { runtime: 'automatic', importSource: 'preact' })],
- };
- },
-};
-```
-
-### JSX Support
-
-Astro is unique in that it allows you to mix multiple types of JSX/TSX files in a single project. It does this by reading the `jsxImportSource` and `jsxTransformOptions` from renderers and transforming a file with [Babel](https://babeljs.io/).
-
-#### `jsxImportSource`
-
-This is the name of your library (for example `preact` or `react` or `solid-js`) which, if encountered in a file, will signal to Astro that this renderer should be used.
-
-Users may also manually define `/** @jsxImportSource preact */` in to ensure that the file is processed by this renderer (if, for example, the file has no imports).
-
-#### `jsxTransformOptions`
-
-This is an `async` function that returns information about how to transform matching JSX files with [Babel](https://babeljs.io/). It supports [`plugins`](https://babeljs.io/docs/en/plugins) or [`presets`](https://babeljs.io/docs/en/presets) to be passed directly to Babel.
-
-> Keep in mind that this transform doesn't need to handle TSX separately from JSX, Astro handles that for you!
-
-`jsxTransformOptions` receives context about whether it’s running in `development` or `production` mode, as well as whether or not it’s running in SSR or client hydration. These allow you to pass separate Babel configurations for various conditions, like if your files should be compiled differently in SSR mode.
-
-```ts
-export interface JSXTransformOptions {
- (context: {
- /** "development" or "production" */
- mode: string;
- /** True if builder is in SSR mode */
- ssr: boolean;
- }) => {
- plugins?: any[];
- presets?: any[];
- }
-}
-```
-
-### Server Entrypoint (`server.js`)
-
-The server entrypoint of a renderer is responsible for checking if a component should use this renderer, and if so, how that component should be rendered to a string of static HTML.
-
-```js
-export default {
- // should Component use this renderer?
- check(Component, props, childHTML) {},
- // Component => string of static HTML
- renderToStaticMarkup(Component, props, childHTML) {},
-};
-```
-
-#### `check`
-
-`check` is a function that determines whether a Component should be "claimed" by this renderer.
-
-In its simplest form, it can check for the existence of a flag on Object-based components.
-
-```js
-function check(Component) {
- return Component.isMyFrameworkComponent;
-}
-```
-
-In more complex scenarios, like when a Component is a `Function` without any flags, you may need to use `try/catch` to attempt a full render. This result is cached so that it only runs once per-component.
-
-```js
-function check(Component, props, childHTML) {
- try {
- const { html } = renderToStaticMarkup(Component, props, childHTML);
- return Boolean(html);
- } catch (e) {}
- return false;
-}
-```
-
-#### `renderToStaticMarkup`
-
-`renderToStaticMarkup` is a function that renders a Component to a static string of HTML. There's usually a method exported by frameworks named something like `renderToString`.
-
-```js
-import { h, renderToString } from 'xxx';
-
-function renderToStaticMarkup(Component, props, childHTML) {
- const html = renderToString(h(Component, { ...props, innerHTML: childHTML }));
- return { html };
-}
-```
-
-Note that `childHTML` is an HTML string representing this component's children. If your framework does not support rendering HTML directly, you are welcome to use a wrapper component. By convention, Astro uses the `astro-fragment` custom element to inject `childHTML` into. Your renderer should use that, too.
-
-```js
-import { h, renderToString } from 'xxx';
-
-const Wrapper = ({ value }) =>
- h('astro-fragment', { dangerouslySetInnerHTML: { __html: value } });
-
-function renderToStaticMarkup(Component, props, childHTML) {
- const html = renderToString(
- h(Component, props, h(Wrapper, { value: childHTML }))
- );
- return { html };
-}
-```
-
-The `renderToStaticMarkup` function also supports `async/await` for render functions that return a `Promise`.
-
-```js
-import { h, renderToString } from 'xxx';
-
-async function renderToStaticMarkup(Component, props, childHTML) {
- const html = await renderToString(
- h(Component, { ...props, innerHTML: childHTML })
- );
- return { html };
-}
-```
-
-### Client Entrypoint (`client.js`)
-
-The client entrypoint of a renderer is responsible for rehydrating static HTML (the result of `renderToStaticMarkup`) back into a fully interactive component. Its `default` export should be a `function` which accepts the host element of the Component, an `astro-root` custom element.
-
-> If your framework supports non-destructive component hydration (as opposed to a destructive `render` method), be sure to use that! Following your framework's Server Side Rendering (SSR) guide should point you in the right direction.
-
-```js
-import { h, hydrate } from 'xxx';
-
-export default (element) => {
- return (Component, props, childHTML) => {
- hydrate(h(Component, { ...props, innerHTML: childHTML }), element);
- };
-};
-```
-
-Note that `childHTML` is an HTML string representing this component's children. If your framework does not support rendering HTML directly, you should use the same wrapper component you used for the server entrypoint.
-
-```js
-import { h, hydrate } from 'xxx';
-import SharedWrapper from './SharedWrapper.js';
-
-export default (element) => {
- return (Component, props, childHTML) => {
- hydrate(
- h(Component, props, h(SharedWrapper, { value: childHTML })),
- element
- );
- };
-};
-```
diff --git a/docs/src/pages/en/themes.astro b/docs/src/pages/en/themes.astro
deleted file mode 100644
index 5fa3cb3d6..000000000
--- a/docs/src/pages/en/themes.astro
+++ /dev/null
@@ -1,53 +0,0 @@
----
-import Layout from '../../layouts/MainLayout.astro';
-import Card from '../../components/Card.astro';
-import { Markdown } from 'astro/components';
-import themes from '../../data/themes.json';
-import components from '../../data/components.json';
----
-
-
-
-
- ## Featured Theme
-
-
- {themes.featured.map((item) => )}
-
-
- ## Official Themes
-
- Astro maintains several official themes for documentation sites, portfolios, and more.
-
-
- {themes.official.map((item) => )}
-
-
- ## Community Themes
-
- Checkout some themes developed by our community!
-
-
- {themes.community.map((item) => )}
-
-
- ## Featured Packages
-
- Our package ecosystem is growing! Check out these featured community packages. Search the entire collection [on npm.](https://www.npmjs.com/search?q=keywords%3Aastro-component)
-
-
- {components.community.map((item) => )}
-
-
- > Want to see your own work featured? [Share it to Discord!](https://astro.build/chat)
- > We'll often take our favorites from the `#showcase` channel and post them here.
-
-
diff --git a/docs/src/pages/es/comparing-astro-vs-other-tools.md b/docs/src/pages/es/comparing-astro-vs-other-tools.md
deleted file mode 100644
index 5502aedb2..000000000
--- a/docs/src/pages/es/comparing-astro-vs-other-tools.md
+++ /dev/null
@@ -1,233 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Astro versus X
-lang: es
----
-
-Con frecuencia nos preguntamos, "¿Cómo se comporta Astro en comparación a mi generador de páginas web favorito, **\_\_\_\_**?". Esta guía fue escrita para responder a esa pregunta, al comparar varios generadores de páginas web y alternativas a Astro.
-
-Si no ves tu generador de páginas web favorito en la lista, [pregúntanos en Discord.](https://astro.build/chat)
-
-## Estado del Proyecto
-
-Una nota rápida sobre la madurez del proyecto: **Astro aún se encuentra en beta.** Muchas de las herramientas listadas aquí son mucho más maduras. !Algunas tienen más de 12 años en comparación a Astro!
-
-Algunas características, aunque son pocas, aún no están disponibles en Astro y algunas APIs aún no están terminadas. Sin embargo, el proyecto se considera estable desde un punto de vista de los errores; además, ya se han construido muchas páginas web usando Astro. Esto es un punto importante a considerar al momento de escoger a Astro.
-
-## Docusaurus vs. Astro
-
-[Docusaurus](https://docusaurus.io/) es un popular generador de sitios web sobre documentación. Docusaurus desarrollado por React para generar tu UI del sitio web; mientras que Astro soporta React, Vue.js, Svelte, y plantillas HTML.
-
-Docusaurus fue diseñada para construir la documentación de las páginas web y tienen una creación propia y unas características específicas de documentación que Astro no posee. En lugar de eso, Astro ofrece características específicas de documentación mediante un tema oficial [`docs`](https://github.com/withastro/astro/tree/main/examples/docs) que puedes utilizar en tu sitio. !Este sitio web se construyó usando ese tema!
-
-#### Comparando el Rendimiento de Docusaurus vs. Astro
-
-En la mayoría de casos, los sitios web de Astro cargarán mucho más rápido que los sitios web de Docusaurus. Esto es porque Astro automáticamente quita el código JavaScript innecesario de la página, cargando sólo los componentes individuales que la página que necesita. Esta característica se llama [hidratación parcial](/es/core-concepts/component-hydration).
-
-Docusaurus no soporta hidratación parcial, en lugar de eso, hace que el usuario cargue y rehidrata la página completa en el navegador, incluso si la mayoría del contenido de la página es estático. Esto crea una carga de página más lenta y un peor rendimiento para tu sitio web. No hay manera de deshabilitar este comportamiento en Docusaurus.
-
-#### Caso de Estudio: Documentando un sitio web
-
-[docusaurus.io/docs](https://docusaurus.io/docs) es la documentación oficial de Docusaurus y está construida con Docusaurus. El sitio web ofrece unas características similares en su diseño y funcionalidad al compararla con documentación oficial de Astro. Esto nos da una **_vista detallada y realista_** entre los dos generadores de sitios web.
-
-- **Puntaje de rendimiento de Docusaurus**: 61 de 100 [(ver detalles)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocusaurus.io%2Fdocs)
-- **Puntaje de rendimiento de Astro**: 99 de 100 [(ver detalles)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-Una de las más grandes razones detrás de la diferencia en los rendimientos es que la carga de Javascript en Astro es el poco tiempo de carga de Javascropt en Astro: [docusaurus.io/docs](https://docusaurus.io/docs) carga **238kb** de Javascript en la primera carga; mientras que [docs.astro.build](https://docs.astro.build/es/getting-started) carga **78.7kb** (en general, 67% menos de JavaScript) _después_ de la primera carga.
-
-## Elder.js vs. Astro
-
-[Elder.js](https://elderguide.com/tech/elderjs/) es un dogmático generador de sitios web estáticos de código abierto que desarrollado para Svelte.
-
-Elder.js utiliza Svelte para generar tu sitio web. Astro es más flexible: eres libre de crear un componente UI en cualquier librería popular (React, Preact, Vue, Svelte, Solid entre otros) o puedes crear un componente de Astro con una sintaxis parecida a HTML, que es similar a HTML + JSX.
-
-Elder.js es el único en esta lista, junto con Astro, que soporta [hidratación parcial](/es/core-concepts/component-hydration). Astro y Elder.js automáticamente quitan el código JavaScript innecesario de la página, cargando sólo los componentes individuales que se necesiten. Elder.js tiene una API de hidratación parcial un poco diferente, pero Astro soporta algunas características que Elder.js no soporta (como `client:media`). Sin embargo, ambos generadores de sitios web construyen sitios web similares en temas de rendimiento.
-
-Elder.js utiliza una solución de rutas personalizadas que puede sentirse poco familiar para los nuevos desarrolladores. Astro utiliza [rutas basadas en archivos](/es/core-concepts/routing) que debería sentirse familiar a todos los desarrolladores que han visto Next.js, SvelteKit y otros generadores de sitios web estáticos como Eleventy.
-
-Elder.js fue diseñado para correr en sitios web grandes y afirma que puede construir un sitio web de 20 mil páginas en menos de 10 minutos (en una modesta máquina virtual). Al momento de escribir esto, Astro construye mil páginas en 66 segundos, pero aún no ha sido probado en proyectos de más de 20 mil páginas. Astro está aún en la fase inicial y la meta para Astro v1.0 es alcanzar la velocidad de construcción sitios web de Elder.js.
-
-Elder.js soporta tanto Static Site Generation (SSG) como Server-Side Rendering (SSR). Hoy en día, Astro tan sólo soporta Static Site Generation (SSG).
-
-## Eleventy vs. Astro
-
-[Eleventy](https://www.11ty.dev/) es un popular creador de sitios estáticos desarrollado por Node.js.
-
-Eleventy utiliza mucho [plantillas de lenguaje HTML antiguas](https://www.11ty.dev/docs/languages/) para renderizar tu sitio web: Nunjucks, Liquid, Pug, EJS, entre otros. Astro es más flexible: eres libre de crear un componente UI en cualquier librería popular (React, Preact, Vue, Svelte, Solid entre otros) o puedes crear un componente de Astro con una sintaxis parecida a HTML, que es similar a HTML + JSX.
-
-#### Comparando el Rendimiento de Eleventy vs. Astro
-
-Conceptualmente, Eleventy está alineado con el enfoque de Astro sobre "el uso mínimo de Javascript en el lado del cliente". Tanto Eleventy y Astro ofrecen un rendimiento similar, un uso extremadamente bajo de Javascript por defecto.
-
-Eleventy alcanza este punto al empujarte a evitar usar Javascript. Los sitios de Eleventy son escritos, con frecuencia, con poco o ninguna línea de Javascript. Esto se convierte en un problema cuando necesitas Javascript en el lado del cliente. Es tu responsabilidad crear tu propia línea de construcción de recursos para Eleventy. Esto puede ser una tarea difícil y te obliga a configurar una gran cantidad de optimizaciones, como la fusión de archivos, la minificación y otros.
-
-Por otro lado, Astro automáticamente construye el CSS y Javascript en el lado del cliente por ti. Astro automáticamente quita el código Javascript innecesario de la página, cargando sólo los componentes individuales que se necesiten. Está funcionalidad se llama [hidratación parcial](/es/core-concepts/component-hydration). Mientras que en Eleventy lo puedes alcanzar esto por ti mismo; Astro la ofrece desde el inicio y sin configuración extra.
-
-## Gatsby vs. Astro
-
-[Gatsby](https://www.gatsbyjs.com/) es una popular página web y framework de React.
-
-Gatsby utiliza React para renderizar tu sitio web. Astro es más flexible: eres libre de crear un componente UI en cualquier librería popular (React, Preact, Vue, Svelte, Solid, entre otros) o puedes crear un componente de Astro con una sintaxis parecida a HTML, que es similar a HTML + JSX.
-
-Gatsby v4 soporta tanto Static Site Generation (SSG) como Server-Side Rendering (SSR). Hoy en día, Astro tan sólo soporta Static Site Generation (SSG).
-
-Gatsby requiere de una API personalizada de GraphQL para trabajar con todo el contenido de tu sitio web. Aunque algunos desarrolladores disfrutan de este modelo, una crítica común a Gatsby es que este modelo se vuelve demasiado complejo y difícil de mantener en el tiempo, especialmente cuando las páginas crecen. Astro no requiere una API de GraphQL, en su lugar ofrece apoyos para API familiares (como `fetch()` y `await`) para la carga de datos cuando se necesite.
-
-#### Comparando el Rendimiento de Gatsby vs. Astro
-
-En la mayoría de casos, los sitios de Astro cargarán mucho más rápido que los sitios de Gatsby. Esto pasa porque Astro automáticamente quita el código Javascript innecesario de la página, cargando sólo los componentes individuales que se necesiten. Esta característica se llama [hidratación parcial](/es/core-concepts/component-hydration).
-
-Gatsby no soporta la hidratación parcial. En su lugar, hace que el usuario cargue e hidrate la página completa en el navegador, incluso si la mayoría del contenido es estático. Esto hace que las páginas carguen más lentamente y que el rendimiento sea más bajo para tu sitio web. Gatsby tiene [un plugin comunitario](https://www.gatsbyjs.com/plugins/gatsby-plugin-no-javascript/) para remover todo el Javascript de la página, pero esto rompería muchos sitios web. Esto le queda a usted con una decisión de todo-o-nada para la interactividad en cada una de las páginas.
-
-Gatsby tiene un gran ecosistema de plugins, el cual podría hacer que Gatsby sea una gran opción para tu proyecto dependiendo de tus necesidades. [gatsby-plugin-image](https://www.gatsbyjs.com/plugins/gatsby-plugin-image/) es un popular plugin para optimizar imágenes, esto podría convertir a Gatsby en una mejor opción para algunas páginas con muchas imágenes.
-
-#### Caso de Estudio: Documentando un sitio web
-
-[gatsbyjs.com/docs](https://www.gatsbyjs.com/docs/quick-start/) es la documentación oficial de Gatsby, construida con Gatsby. El sitio web ofrece una interfaz similar y un conjunto de características a comparar con la documentación oficial de Astro. Esto nos da una **_vista detallada y realista_** entre los dos generadores de sitios web.
-
-- **Puntaje de rendimiento de Gatsby**: 64 de 100 [(ver detalles)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fwww.gatsbyjs.com%2Fdocs%2Fquick-start%2F)
-- **Puntaje de rendimiento de Astro**: 99 de 100 [(ver detalles)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-Una de las más grandes razones detrás de la diferencia en los rendimientos es que la carga de Javascript en Astro es el poco tiempo de carga de Javascropt en Astro: [gatsbyjs.com/docs](https://www.gatsbyjs.com/docs/quick-start/) carga **417kb** de Javascript en la primera carga; mientras que [docs.astro.build](https://docs.astro.build/es/getting-started) loads **78.7kb** (en general, 81% menos de JavaScript) _después_ de la primera carga.
-
-## Hugo vs. Astro
-
-[Hugo](https://gohugo.io/) es un generador de sitios web estático desarrollado por Go.
-
-Hugo utiliza una [plantilla de lenguajes personalizados](https://gohugo.io/templates/introduction/) para renderizar tu sitio web. Astro te deja crear un componente UI en cualquier librería popular (React, Preact, Vue, Svelte, Solid, entre otros) o puedes crear un componente de Astro con una sintaxis parecida a HTML, que es similar a HTML + JSX.
-
-#### Comparando el Rendimiento de Hugo vs. Astro
-
-Conceptualmente, Hugo está alineado con el enfoque de Astro sobre "el uso mínimo de Javascript en el lado del cliente". Tanto Hugo y Astro ofrecen un rendimiento similar, un uso extremadamente bajo de Javascript por defecto.
-
-Tanto Hugo como Astro, traen incorporado soporte para la construcción, el empaquetado y la minificación de JavaScript. Astro automáticamente quita el código Javascript innecesario de la página, cargando sólo los componentes individuales que se necesiten. Esta característica se llama [hidratación parcial](/es/core-concepts/component-hydration). Mientras que esto lo puedes hacer en Hugo por ti mismo, Astro lo ofrece incorporado por defecto.
-
-## Jekyll vs. Astro
-
-[Jekyll](https://jekyllrb.com/) es un popular generador de sitios estáticos, desarrollado por Ruby.
-
-Jekyll utiliza una vieja versión de [lenguaje de plantillas](https://jekyllrb.com/docs/liquid/) para renderizar tu sitio web. Astro te permite crear páginas usando una interfaz de usuario de librerías de componentes (React, Preact, Vue, Svelte, entre otros otros) o una sintaxis de componente similar a HTML + JSX. Jekyll no soporta la utilización de componentes modernos para las plantillas de HTML.
-
-#### Comparando el Rendimiento de Jekyll vs. Astro
-
-Conceptualmente, Eleventy está alineado con el enfoque de Astro sobre "el uso mínimo de Javascript en el lado del cliente". Tanto Jekyll y Astro ofrecen un rendimiento similar, un uso extremadamente bajo de Javascript por defecto.
-
-Jekyll alcanza este punto porque no permite que el usuario cargue Javascript. Los sitios Jekyll son frecuentemente escritos con poco a ningún Javascript, en su lugar promueven el renderizado de HTML en el lado del servidor. Esto se convierte en un problema cuando necesitas utilizar JavaScript en el lado del cliente. Es tu responsabilidad crear tu propia cadena de procesos de construcción para Jekyll. Esto consume mucho de tu tiempo y te obliga a configurar la empaquetación, la minificación y otras optimizaciones por ti mismo.
-
-En contraste, Astro automáticamente construye el Javascript del lado del cliente para ti. Astro sólo envía el mínimo de Javascript al navegador, minificado, empaquetado y optimizado para producción. Esto puede ser posible por ti mismo en Jekyll, pero con Astro esto se hace por defecto.
-
-## SvelteKit vs. Astro
-
-[SvelteKit](https://kit.svelte.dev/) es un popular sitio web y un marco de trabajo para Svelte.
-
-SeveltKit utiliza Svelte para renderizar tu sitio web. Astro es más flexible: eres libre de crear un componente UI en cualquier librería popular (React, Preact, Vue, Svelte, Solid, entre otros) o puedes crear un componente de Astro con una sintaxis parecida a HTML, que es similar a HTML + JSX.
-
-Tanto SveltKit como Astro, son estructuras o frameworks para crear sitios web. SvelteKit funciona mejor con sitios web altamente dinámicos (como tableros y bandejas de entradas); mientras que Astro funciona mejor con sitios altamente estáticos (como contenido web y sitios de comercio electrónico).
-
-SvelteKit soporta tanto Static Site Generation (SSG) como Server-Side Rendering (SSR). Hoy en día, Astro tan sólo soporta Static Site Generation (SSG).
-
-#### Comparando el Rendimiento de SveltKit vs. Astro
-
-En la mayoría de casos, los sitios de Astro cargarán mucho más rápido que los sitios de SveltKit. Esto pasa porque Astro automáticamente quita el código Javascript innecesario de la página, cargando sólo los componentes individuales que se necesiten. Esta característica se llama [hidratación parcial](/es/core-concepts/component-hydration).
-
-SveltKit no soporta la hidratación parcial, en su lugar hace que el usuario cargue e hidrate la página completa en el navegador, incluso si la mayoría del contenido de la página es estático. Esto crea una carga de página más lenta y un rendimiento inferior para tu sitio web. SveltKit ofrece soporte para [páginas estáticas, con cero JavaScript](https://kit.svelte.dev/docs#ssr-and-javascript-hydrate). Sin embargo, en su página no hay planificación para realizar la hidratación parcial de componentes individuales. Por lo tanto, queda a tu criterio tomar la decisión de todo-o-nada en la interactividad de cada página.
-
-#### Caso de Estudio: Documentando un sitio web
-
-[kit.svelte.dev](https://kit.svelte.dev/docs#ssr-and-javascript-hydrate) es el sitio oficial de SvelteKit, está construido con SvelteKit. El sitio web ofrece una interfaz similar y un conjunto de características a comparar con la documentación oficial de Astro. Esto nos da una **_vista detallada y realista_** entre los dos generadores de sitios web.
-
-Una notable diferencia entre los dos sitios web que se están probando: es que la documentación de SvelteKit se proporciona como una sola página, mientras que la documentación de Astro se divide en múltiples páginas. Este mayor contenido debería tener un impacto negativo en el rendimiento que no está relacionado con la herramienta en sí misma.
-
-- **Puntaje de rendimiento de SveltKit**: 92 de 100 [(ver detalles)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fkit.svelte.dev%2Fdocs)
-- **Puntaje de rendimiento de Astro**: 99 de 100 [(ver detalles)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-El rendimiento de SvelteKit fue muy similar al de Astro en esta prueba.
-
-## Next.js vs. Astro
-
-[Next.js](https://nextjs.org/) es una popular y un framework para React.
-
-Next.js utiliza React para renderizar tu sitio web. Astro es más flexible: eres libre de crear un componente UI en cualquier librería popular (React, Preact, Vue, Svelte, Solid, entre otros) o puedes crear un componente de Astro con una sintaxis parecida a HTML, que es similar a HTML + JSX.
-
-Tanto Next.js como Astro, son frameworks para crear sitios web. Nesxt.js funciona mejor en sitios web altamente dinámicos (como tableros y bandejas de entradas); mientras que Astro funciona mejor con sitios altamente estáticos (como contenido web y sitios de comercio electrónico).
-
-Next.js soporta tanto Static Site Generation (SSG) como Server-Side Rendering (SSR). Hoy en día, Astro tan sólo soporta Static Site Generation (SSG).
-
-#### Comparando el Rendimiento de Gatsby vs. Astro
-
-En la mayoría de casos, los sitios de Astro cargarán mucho más rápido que los sitios de Next.js. Esto pasa porque Astro automáticamente quita el código Javascript innecesario de la página, cargando sólo los componentes individuales que se necesiten. Esta característica se llama [hidratación parcial](/es/core-concepts/component-hydration).
-
-Next.js no soporta hidratación parcial, en su lugar hace que el usuario cargue e hidrate la página completa en el navegador, incluso si la mayoría del contenido de la página es estático. Esto crea una carga de página más lenta y un rendimiento inferior para tu sitio web. Next.js ofrece un [ soporte experimental](https://piccalil.li/blog/new-year-new-website/#heading-no-client-side-react-code) para sitios completamente estáticos con cero Javascript. Sin embargo, en su página no hay planificación para realizar la hidratación parcial de componentes individuales. Por lo tanto, queda a tu criterio tomar la decisión de todo-o-nada en la interactividad de cada página.
-
-Next.js tiene un gran soporte para optimizar imágenes, lo que podría hacer que Next.js sea una buena opción para sitios web con muchas imágenes.
-
-#### Caso de Estudio: Documentando un sitio web
-
-[nextjs.org/docs](https://nextjs.org/docs/getting-started) es la página oficial de Next.js, está construida con Next.js. El sitio web ofrece una interfaz similar y un conjunto de características a comparar con la documentación oficial de Astro. Esto nos da una **_vista detallada y realista_** entre los dos generadores de sitios web.
-
-- **Puntaje de rendimiento de Next.js**: 59 de 100 [(ver detalles)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fnextjs.org%2Fdocs%2Fgetting-started)
-- **Puntaje de rendimiento de Astro**: 99 de 100 [(ver detalles)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-Una razón de peso por lo que se produce esta diferencia de rendimiento es que Astro tiene una menor carga de JavaScript: [nextjs.org/docs](https://nextjs.org/docs/getting-started) carga **463kb** de JavaScript en la primera carga de la página, mientras que [docs.astro.build](https://docs.astro.build/es/getting-started) carga **78.7kb** (en general, 83% menos de JavaScript) _después_ de la primera carga.
-
-## Nuxt vs. Astro
-
-[Nuxt](https://nuxtjs.org/) es una popular página web y un framework para Vue. Es similar a Next.js
-
-Nuxt utiliza Vue para renderizar tu sitio web. Astro es más flexible: eres libre de crear un componente UI en cualquier librería popular (React, Preact, Vue, Svelte, Solid, entre otros) o puedes crear un componente de Astro con una sintaxis parecida a HTML, que es similar a HTML + JSX.
-
-Tanto Nuxt como Astro, son frameworks para crear sitios web. Nuxt funciona mejor con sitios web altamente dinámicos (como tableros y bandejas de entradas); mientras que Astro funciona mejor con sitios altamente estáticos (como contenido web y sitios de comercio electrónico).
-
-Nuxt soporta tanto Static Site Generation (SSG) como Server-Side Rendering (SSR). Hoy en día, Astro tan sólo soporta Static Site Generation (SSG).
-
-#### Comparando el Rendimiento de Nuxt vs. Astro
-
-En la mayoría de casos, los sitios de Astro cargarán mucho más rápido que los sitios de Nuxt. Esto pasa porque Astro automáticamente quita el código Javascript innecesario de la página, cargando sólo los componentes individuales que se necesiten. Esta característica se llama [hidratación parcial](/es/core-concepts/component-hydration).
-
-Nuxt no soporta hidratación parcial, en su lugar hace que el usuario cargue e hidrate la página completa en el navegador, incluso si la mayoría del contenido de la página es estático. Esto crea una carga de página más lenta y un rendimiento inferior para tu sitio web. No hay forma de deshabilitar este comportamiento en Nuxt.
-
-Nuxt tiene un gran soporte para optimizar imágenes, lo que podría hacer que Nuxt sea una buena opción para sitios web con muchas imágenes.
-
-#### Caso de Estudio: Documentando un sitio web
-
-[nuxtjs.org/docs](https://nuxtjs.org/docs/2.x/get-started/installation) es la documentación oficial de Nuxt, construida con Gatsby. El sitio web ofrece una interfaz similar y un conjunto de características a comparar con la documentación oficial de Astro. Esto nos da una **_vista detallada y realista_** entre los dos generadores de sitios web.
-
-- **Puntaje de rendimiento de Nuxt**: 48 de 100 [(ver detalles)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fnuxtjs.org%2Fdocs%2F2.x%2Fget-started%2Finstallation)
-- **Puntaje de rendimiento de Astro**: 99 de 100 [(ver detalles)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-Una de las más grandes razones detrás de la diferencia en los rendimientos es que la carga de Javascript en Astro es el poco tiempo de carga de Javascropt en Astro: [nuxtjs.org/docs](https://nuxtjs.org/docs/2.x/get-started/installation) carga **469kb** de Javascript en la primera carga; mientras que [docs.astro.build](https://docs.astro.build/es/getting-started) loads **78.7kb** (en general, 83% menos de JavaScript) _después_ de la primera carga.
-
-## VuePress vs. Astro
-
-[VuePress](https://vuepress.vuejs.org/guide/) es un constructor de documentación de sitios web, desarrollado por los creadores de Vue.js. VuePress utiliza Vue.js para generar la interfaz de usuario de tu sitio web, mientras que Astro soporta React, Vue.js, Svelte, y plantillas HTML.
-
-VuePress fue diseñado para documentar sitios web y tiene funcionalidades y características propias que Astro no soporta por defecto. En su lugar, Astro ofrece características específicas de documentación mediante un tema oficial [`docs`](https://github.com/withastro/astro/tree/main/examples/docs), el cual puedes usar para tu sitio web. !Este sitio web fue construido usando ese tema!
-
-Actualmente, Evan You (creador de Vue.js) está trabajando en una nueva versión de Vuepress llamado [VitePress.](https://vitepress.vuejs.org/). Si quieres conocer una moderna alternativa a VuePress, [revisa este post de Evan](https://github.com/withastro/astro/issues/1159#issue-974035962) del porqué VitePress podría ser una mejor opción.
-
-#### Comparando el VuePress de Gatsby vs. Astro
-
-En la mayoría de casos, los sitios de Astro cargarán mucho más rápido que los sitios de VuePress. Esto pasa porque Astro automáticamente quita el código Javascript innecesario de la página, cargando sólo los componentes individuales que se necesiten. Esta característica se llama [hidratación parcial](/es/core-concepts/component-hydration).
-
-VuePress no soporta hidratación parcial, en su lugar hace que el usuario cargue e hidrate la página completa en el navegador, incluso si la mayoría del contenido de la página es estático. Esto crea una carga de página más lenta y un rendimiento inferior para tu sitio web. No hay forma de deshabilitar este comportamiento en VuePress.
-
-#### Caso de Estudio: Documentando un sitio web
-
-[vuepress.vuejs.org](https://vuepress.vuejs.org/guide/) es la documentación oficial de VuePress, construida con VuePress. El sitio web ofrece una interfaz similar y un conjunto de características a comparar con la documentación oficial de Astro. Esto nos da una **_vista detallada y realista_** entre los dos generadores de sitios web.
-
-- **Puntaje de rendimiento de Vuepress**: 63 de 100 [(ver detalles)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fvuepress.vuejs.org%2Fguide%2F)
-- **Puntaje de rendimiento de Astro**: 99 de 100 [(ver detalles)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-Una de las más grandes razones detrás de la diferencia en los rendimientos es que la carga de Javascript en Astro es el poco tiempo de carga de Javascropt en Astro: [vuepress.vuejs.org](https://vuepress.vuejs.org/guide/) carga **166kb** de Javascript en la primera carga; mientras que [docs.astro.build](https://docs.astro.build/es/getting-started) loads **78.7kb** (en general, 53% menos de JavaScript) _después_ de la primera carga.
-
-## Zola vs. Astro
-
-[Zola](https://www.getzola.org/) es un popular y rápido generador de sitios estáticos, desarrollado por Rust.
-
-Zola utiliza [Tera](https://tera.netlify.app/) para renderizar tu sitio web. Astro es más flexible: eres libre de crear un componente UI en cualquier librería popular (React, Preact, Vue, Svelte, Solid, entre otros) o puedes crear un componente de Astro con una sintaxis parecida a HTML, que es similar a HTML + JSX. Zola no soporta el uso de componentes modernos para plantillas HTML.
-
-#### Comparando el Rendimiento de Gatsby vs. Astro
-
-Conceptualmente, Zola está alineado con el enfoque de Astro sobre "el uso mínimo de Javascript en el lado del cliente". Tanto Zola y Astro ofrecen un rendimiento similar, un uso extremadamente bajo de Javascript por defecto.
-
-Astro ofrece soporte para construir, empaquetar y minimizar JavaScript. Zola requiere usar otra herramienta de construcción como Webpack para empaquetar y procesar JavaScript. Astro automáticamente quita el código Javascript innecesario de la página, cargando sólo los componentes individuales que se necesiten. Esta característica se llama [hidratación parcial](/es/core-concepts/component-hydration). Mientras que Zola puedes hacerlo por ti mismo, Astro lo ofrece incorporado por defecto.
diff --git a/docs/src/pages/es/core-concepts/astro-components.md b/docs/src/pages/es/core-concepts/astro-components.md
deleted file mode 100644
index 13dc279b2..000000000
--- a/docs/src/pages/es/core-concepts/astro-components.md
+++ /dev/null
@@ -1,379 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Componentes de Astro
-lang: es
----
-
-Los **componentes de Astro** (archivos que terminan con `.astro`) son la base de las plantillas del lado del servidor en Astro. Piensa en la sintaxis del componente Astro como HTML mejorado con JavaScript.
-
-Aprender una nueva sintaxis puede ser intimidante, por lo que cuidadosamente diseñamos la sintaxis del componente Astro para que los desarrolladores web se familizarizen lo más pronto posible. En gran medida se basa en patrones que probablemente ya conozcas: componentes, portada, propiedades y expresiones JSX. Estamos seguros de que esta guía te permitirá escribir componentes de Astro en poco tiempo, especialmente si ya estás familiarizado con HTML y JavaScript.
-
-## Visión general de la sintaxis
-
-Un único archivo `.astro` representa un solo componente Astro en tu proyecto. Este patrón se conoce como **Componente de archivo único (SFC, del inglés Single-File Component)**. Tanto Svelte (`.svelte`) como Vue (`.vue`) también siguen este patrón.
-
-A continuación se muestra un recorrido por las diferentes piezas y características de la sintaxis del componente Astro. Puedes leerlo de principio a fin o saltar entre secciones.
-
-### Plantilla HTML
-
-La sintaxis del componente Astro es un superconjunto de HTML. **Si conoces HTML, ya sabes lo suficiente como para escribir tu primer componente Astro.**
-
-Por ejemplo, este archivo de tres líneas es un componente Astro válido:
-
-```html
-
-
-
¡Hola mundo!
-
-```
-
-Un componente Astro representa un fragmento de HTML en tu proyecto. Puede ser un componente reutilizable o una página completa de HTML que incluya elementos ``, `` y ``. Consulta nuestra guía sobre [Páginas de Astro](/es/core-concepts/astro-pages) para aprender a crear tu primera página HTML completa con Astro.
-
-**Cada componente de Astro debe incluir una plantilla HTML.** Aunque puede mejorar su componente de varias maneras (ver más abajo), al fin y al cabo es la plantilla HTML la que dicta cómo se verá tu componente Astro renderizado.
-
-### Estilos CSS
-
-Las reglas CSS dentro de una etiqueta `
-
-```
-
-```html
-
-
-
-
-
-
- ...
-
-
-```
-
-El uso de `
-
-
-```
-
-Arriba hay un ejemplo de la sintaxis del componente de Astro, que comprende HTML y JSX.
-
-Puedes crear más páginas en el directorio `src/pages` y Astro utilizará los archivos creados para generar nuevas páginas de tu sitio web. Por ejemplo, Al crear el archivo `about.astro` en `src/pages/about.astro` (reusando el fragmento de código anterior), Astro generará una página HTML en la dirección URL: `http://localhost/about`.
-
-## [Iniciar Astro](#start-astro)
-
-```bash
-npm run dev
-```
-
-Ahora Astro estará corriendo tu aplicación en `http://localhost:3000`. Al abrir esta URL en tu navegador, deberías ver el “¡Hola, Mundo!” de Astro.
-
-Si necesitas compartir tu progreso de desarrollo en la red local o revisar la aplicación desde un teléfono, sólo agrega la siguiente opción [snowpack](https://www.snowpack.dev/reference/configuration#devoptionshostname) en `astro.config.mjs`:
-
-```js
-devOptions: {
- hostname: '0.0.0.0';
-}
-```
-
-## [Compilar Astro](#build-astro)
-
-```bash
-npm run build
-```
-
-Con esta instrucción Astro generará tu sitio web y lo guardará directamente en el directorio `dist/`. Tu aplicación está ahora lista en el directorio `dist/`.
-
-## Próximos pasos
-
-¡Felicidades! ¡Ahora estás listo para comenzar a desarrollar!
-
-Te recomendamos fervientemente que te familiarices con la forma en que Astro funciona. Lo puedes hacer explorando nuestra documentación, te sugerimos que consideres las siguientes lecturas:
-
-📚 Aprende más sobre la estructura de proyectos de Astro, en nuestra [guía de estructura de proyecto](/es/core-concepts/project-structure).
-
-📚 Aprende más sobre la sintaxis de los componentes de Astro, en nuestra [guía de componentes de Astro](/es/core-concepts/astro-components).
-
-📚 Aprende más sobre la rutas basada en archivos de Astro, en nuestra [guía de rutas](/es/core-concepts/astro-pages).
diff --git a/docs/src/pages/es/quick-start.md b/docs/src/pages/es/quick-start.md
deleted file mode 100644
index 25904f897..000000000
--- a/docs/src/pages/es/quick-start.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Comienzo rápido
-lang: es
----
-
-```shell
-# prerrequisitos: revisa que Node.js está en la versión 14.15.0+, ó 16+
-node --version
-
-# crea un nuevo proyecto en el directorio y entra a él
-mkdir my-astro-project && cd $_
-
-# inicializa el proyecto...
-npm init astro
-
-# instala las dependencias
-npm install
-
-# comienza con el desarrollo
-npm run dev
-```
-
-Para los sitios de producción,
-
-```shell
-# cuando estés listo: crea tu sitio estático en la carpeta `dist/`
-npm run build
-```
-
-Para saber más sobre la instalación y uso de Astro por primera vez, por favor [lea nuestra guía de instalación.](installation)
-
-Si prefieres aprender con ejemplos, revisa nuestra [librería completa de ejemplos](https://github.com/withastro/astro/tree/main/examples) en GitHub. Puedes revisar cualquiera de estos ejemplos localmente ejecutando `npm init astro -- --template "EXAMPLE_NAME"`.
-
-## Comienza con tu proyecto
-
-Dentro del directorio de tu proyecto, ingresa el siguiente comando en la terminal:
-
-```bash
-npm run dev
-```
-
-Astro comenzará a correr en el servidor de desarrollo en [http://localhost:3000](http://localhost:3000). Abre esta ubicación en tu navegador, deberías ver la página de "¡Hola Mundo!" de Astro.
-
-El servidor escuchará los cambios en vivo de los archivos en tu carpeta `src/`, así que, no necesitarás reiniciar la aplicación cuando hagas cambios durante el desarrollo.
-
-## Construye tu proyecto
-
-Para construir tu proyecto, ingresa el siguiente comando en la terminal:
-
-```bash
-npm run build
-```
-
-Este comando hará que Astro cree y guarde tu sitio estático en la carpeta `dist/` de tu proyecto.
-
-## Desplega tu proyecto
-
-Los sitios de Astro son estáticos, por lo que puedes desplegarlos en tu servicio de host favorito:
-
-- [AWS S3 bucket](https://aws.amazon.com/s3/)
-- [Google Firebase](https://firebase.google.com/)
-- [Netlify](https://www.netlify.com/)
-- [Vercel](https://vercel.com/)
-- [Lee más acerca del despliegue con nuestra guía de despliegue de Astro.](/es/guides/deploy)
-
-## Próximos Pasos
-
-¡Felicitaciones! Ahora estás listo para comenzar a desarrollar.
-
-Te recomendamos que te tomes tu tiempo para familiarizarte con la forma en la que Astro. Lo puedes hacer al explorar con mayor profundidad nuestra documentación. Te sugerimos que consideres lo siguiente.
-
-📚 Aprende más sobre la estructura de proyectos de Astro, en nuestra [guía de estructura de proyecto](/es/core-concepts/project-structure).
-
-📚 Aprende más sobre la sintaxis de los componentes de Astro, en nuestra [guía de componentes de Astro](/es/core-concepts/astro-components).
-
-📚 Aprende más sobre la rutas basada en archivos de Astro, en nuestra [guía de rutas](core-concepts/astro-pages).
diff --git a/docs/src/pages/es/reference/api-reference.md b/docs/src/pages/es/reference/api-reference.md
deleted file mode 100644
index 53af45c50..000000000
--- a/docs/src/pages/es/reference/api-reference.md
+++ /dev/null
@@ -1,294 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Referencia de API
-lang: es
----
-
-## `Astro` global
-
-La variable `Astro` global está disponible en todos los contextos en los archivos `.astro`. Tiene las siguientes funciones:
-
-### `Astro.fetchContent()`
-
-`Astro.fetchContent()` is a way to load local `*.md` files into your static site setup.
-
-```astro
----
-// ./src/components/my-component.astro
-const data = Astro.fetchContent('../pages/post/*.md'); // returns an array of posts that live at ./src/pages/post/*.md
----
-
-
-{data.slice(0, 3).map((post) => (
-
- {post.title}
- {post.description}
- Read more
-
-))}
-
-```
-
-`.fetchContent()` only takes one parameter: a relative URL glob of which local files you'd like to import. Currently only `*.md` files are supported. It's synchronous, and returns an array of items of type:
-
-```js
-{
- /** frontmatter from the post.. example frontmatter:
- title: '',
- tag: '',
- date: '',
- image: '',
- author: '',
- description: '',
- **/
- astro: {
- headers: [], // an array of h1...h6 elements in the markdown file
- source: '', // raw source of the markdown file
- html: '' // rendered HTML of the markdown file
- },
- url: '' // the rendered path
- }[]
-```
-
-### `Astro.request`
-
-`Astro.request` returns an object with the following properties:
-
-| Name | Type | Description |
-| :------------- | :---- | :---------------------------------------------- |
-| `url` | `URL` | The URL of the request being rendered. |
-| `canonicalURL` | `URL` | [Canonical URL][canonical] of the current page. |
-
-### `Astro.resolve()`
-
-`Astro.resolve()` helps with creating URLs relative to the current Astro file, allowing you to reference files within your `src/` folder.
-
-Astro _does not_ resolve relative links within HTML, such as images:
-
-```html
-
-```
-
-The above will be sent to the browser as-is and the browser will resolve it relative to the current **page**. If you want it to be resolved relative to the .astro file you are working in, use `Astro.resolve`:
-
-```astro
-
-```
-
-### `Astro.site`
-
-`Astro.site` returns a `URL` made from `buildOptions.site` in your Astro config. If undefined, this will return a URL generated from `localhost`.
-
-```astro
----
-const path = Astro.site.pathname;
----
-
-Welcome to {path}
-```
-
-### `Astro.slots`
-
-`Astro.slots` returns an object with any slotted regions passed into the current Astro file.
-
-```js
-const {
- heading as headingSlot, // true or undefined, based on whether `<* slot="heading">` was used.
- default as defaultSlot, // true or undefined, based on whether `<* slot>` or `<* default>` was used.
-} = Astro.slots;
-```
-
-## `getStaticPaths()`
-
-If a page uses dynamic params in the filename, that component will need to export a `getStaticPaths()` function.
-
-This function is required because Astro is a static site builder. That means that your entire site is built ahead of time. If Astro doesn't know to generate a page at build time, your users won't see it when they visit your site.
-
-```astro
----
-export async function getStaticPaths() {
- return [
- { params: { /* required */ }, props: { /* optional */ },
- { params: { ... } },
- { params: { ... } },
- // ...
- ];
-}
----
-
-```
-
-The `getStaticPaths()` function should return an array of objects to determine which paths will be pre-rendered by Astro.
-
-⚠️ The `getStaticPaths()` function executes in its own isolated scope once, before any page loads. Therefore you can't reference anything from its parent scope, other than file imports. The compiler will warn if you break this requirement.
-
-### `params`
-
-The `params` key of every returned object tells Astro what routes to build. The returned params must map back to the dynamic parameters and rest parameters defined in your component filepath.
-
-`params` are encoded into the URL, so only strings are supported as values. The value for each `params` object must match the parameters used in the page name.
-
-For example, suppose that you have a page at `src/pages/posts/[id].astro`. If you export `getStaticPaths` from this page and return the following for paths:
-
-```astro
----
-export async function getStaticPaths() {
- return [
- { params: { id: '1' } },
- { params: { id: '2' } }
- ];
-}
-const {id} = Astro.request.params;
----
-{id}
-```
-
-Then Astro will statically generate `posts/1` and `posts/2` at build time.
-
-### Data Passing with `props`
-
-To pass additional data to each generated page, you can also set a `props` value on every returned path object. Unlike `params`, `props` are not encoded into the URL and so aren't limited to only strings.
-
-For example, suppose that you generate pages based off of data fetched from a remote API. You can pass the full data object to the page component inside of `getStaticPaths`:
-
-```astro
----
-export async function getStaticPaths() {
- const data = await fetch('...').then(response => response.json());
- return data.map((post) => {
- return {
- params: { id: post.id },
- props: { post } };
- });
-}
-const {id} = Astro.request.params;
-const {post} = Astro.props;
----
-{id}: {post.name}
-```
-
-Then Astro will statically generate `posts/1` and `posts/2` at build time using the page component in `pages/posts/[id].astro`. The page can reference this data using `Astro.props`:
-
-### `paginate()`
-
-Pagination is a common use-case for websites that Astro natively supports via the `paginate()` function. `paginate()` will automatically generate the array to return from `getStaticPaths()` that creates one URL for every page of the paginated collection. The page number will be passed as a param, and the page data will be passed as a `page` prop.
-
-```js
-export async function getStaticPaths({ paginate }) {
- // Load your data with fetch(), Astro.fetchContent(), etc.
- const response = await fetch(`https://pokeapi.co/api/v2/pokemon?limit=150`);
- const result = await response.json();
- const allPokemon = result.results;
- // Return a paginated collection of paths for all posts
- return paginate(allPokemon, { pageSize: 10 });
-}
-// If set up correctly, The page prop now has everything that
-// you need to render a single page (see next section).
-const { page } = Astro.props;
-```
-
-`paginate()` assumes a file name of `[page].astro` or `[...page].astro`. The `page` param becomes the page number in your URL:
-
-- `/posts/[page].astro` would generate the URLs `/posts/1`, `/posts/2`, `/posts/3`, etc.
-- `/posts/[...page].astro` would generate the URLs `/posts`, `/posts/2`, `/posts/3`, etc.
-
-#### The pagination `page` prop
-
-Pagination will pass a `page` prop to every rendered page that represents a single page of data in the paginated collection. This includes the data that you've paginated (`page.data`) as well as metadata for the page (`page.url`, `page.start`, `page.end`, `page.total`, etc). This metadata is useful for things like a "Next Page" button or a "Showing 1-10 of 100" message.
-
-| Name | Type | Description |
-| :----------------- | :-------------------: | :-------------------------------------------------------------------------------------------------------------------------------- |
-| `page.data` | `Array` | Array of data returned from `data()` for the current page. |
-| `page.start` | `number` | Index of first item on current page, starting at `0` (e.g. if `pageSize: 25`, this would be `0` on page 1, `25` on page 2, etc.). |
-| `page.end` | `number` | Index of last item on current page. |
-| `page.size` | `number` | How many items per-page. |
-| `page.total` | `number` | The total number of items across all pages. |
-| `page.currentPage` | `number` | The current page number, starting with `1`. |
-| `page.lastPage` | `number` | The total number of pages. |
-| `page.url.current` | `string` | Get the URL of the current page (useful for canonical URLs) |
-| `page.url.prev` | `string \| undefined` | Get the URL of the previous page (will be `undefined` if on page 1). |
-| `page.url.next` | `string \| undefined` | Get the URL of the next page (will be `undefined` if no more pages). |
-
-### `rss()`
-
-RSS feeds are another common use-case that Astro supports natively. Call the `rss()` function to generate an `/rss.xml` feed for your project using the same data that you loaded for this page. This file location can be customized (see below).
-
-```js
-// Example: /src/pages/posts/[...page].astro
-// Place this function inside your Astro component script.
-export async function getStaticPaths({rss}) {
- const allPosts = Astro.fetchContent('../post/*.md');
- const sortedPosts = allPosts.sort((a, b) => new Date(b.date) - new Date(a.date));
- // Generate an RSS feed from this collection
- rss({
- // The RSS Feed title, description, and custom metadata.
- title: 'Don’s Blog',
- description: 'An example blog on Astro',
- customData: `en-us `,
- // The list of items for your RSS feed, sorted.
- items: sortedPosts.map(item => ({
- title: item.title,
- description: item.description,
- link: item.url,
- pubDate: item.date,
- })),
- // Optional: Customize where the file is written to.
- // Defaults to "/rss.xml"
- dest: "/my/custom/feed.xml",
- });
- // Return a paginated collection of paths for all posts
- return [...];
-}
-```
-
-```ts
-// The full type definition for the rss() function argument:
-interface RSSArgument {
- /** (required) Title of the RSS Feed */
- title: string;
- /** (required) Description of the RSS Feed */
- description: string;
- /** Specify arbitrary metadata on opening tag */
- xmlns?: Record;
- /** Specify custom data in opening of file */
- customData?: string;
- /**
- * Specify where the RSS xml file should be written.
- * Relative to final build directory. Example: '/foo/bar.xml'
- * Defaults to '/rss.xml'.
- */
- dest?: string;
- /** Return data about each item */
- items: {
- /** (required) Title of item */
- title: string;
- /** (required) Link to item */
- link: string;
- /** Publication date of item */
- pubDate?: Date;
- /** Item description */
- description?: string;
- /** Append some other XML-valid data to this item */
- customData?: string;
- }[];
-}
-```
-
-## `import.meta`
-
-> In this section we use `[dot]` to mean `.`. This is because of a bug in our build engine that is rewriting `import[dot]meta[dot]env` if we use `.` instead of `[dot]`.
-
-All ESM modules include a `import.meta` property. Astro adds `import[dot]meta[dot]env` through [Snowpack](https://www.snowpack.dev/).
-
-**`import[dot]meta[dot]env[dot]SSR`** can be used to know when rendering on the server. Sometimes you might want different logic, for example a component that should only be rendered in the client:
-
-```jsx
-import { h } from 'preact';
-
-export default function () {
- // Note: rewrite "[dot]" to "." for this to to work in your project.
- return import[dot]meta[dot]env[dot]SSR ?
: ;
-}
-```
-
-[canonical]: https://en.wikipedia.org/wiki/Canonical_link_element
diff --git a/docs/src/pages/es/reference/builtin-components.md b/docs/src/pages/es/reference/builtin-components.md
deleted file mode 100644
index f735b084a..000000000
--- a/docs/src/pages/es/reference/builtin-components.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Componentes integrados
-lang: es
----
-
-Astro incluye varios componentes integrados para que los utilices en tus proyectos. Todos los componentes integrados están disponibles a través de `import {} from 'astro/components';`.
-
-## `
`
-
-```astro
----
-import { Code } from 'astro/components';
----
-
-
-
-
-
-
-```
-
-Este componente proporciona resaltado de sintaxis para bloques de código en el momento de la compilación (no se incluye JavaScript del lado del cliente). El componente funciona internamente con shiki y es compatible con todos los [temas](https://github.com/shikijs/shiki/blob/main/docs/themes.md) populares y [lenguajes](https://github.com /shikijs/shiki/blob/main/docs/languages.md).
-
-También puede utilizar el componente ` ` para el resaltado de sintaxis impulsado por la librería de resaltado de sintaxis [Prism](https://prismjs.com/). Esta es la librería que el Markdown de Astro usa por defecto. Sin embargo, cambiaremos todo el uso a `` a medida que avanzamos hacia nuestra versión v1.0.
-
-## ` `
-
-```astro
----
-import { Markdown } from 'astro/components';
----
-
- # ¡La sintaxis de Markdown ahora es compatible! **¡Hurra!**
-
-```
-
-Mira nuestra [Guía de Markdown](/es/guides/markdown-content) para más información.
-
-
-
-## ` `
-
-```astro
----
-import { Prism } from 'astro/components';
----
-
-```
-
-Este componente proporciona resaltado de sintaxis específico del lenguaje para bloques de código. Dado que esto nunca cambia en el cliente, tiene sentido usar un componente Astro (es igualmente razonable usar un componente de framework para este tipo de cosas; ¡Astro es solo servidor por defecto para todos los frameworks!).
-
-Consulta la [lista de lenguajes soportados por Prism](https://prismjs.com/#supported-languages) donde puedes encontrar undonde puede encontrar el alias correspondiente de un lenguaje. ¡Y también puedes mostrar tus bloques de código Astro con `lang="astro"`!
-
-## ` `
-
-```astro
----
-import Debug from 'astro/debug';
-const serverObject = {
- a: 0,
- b: "string",
- c: {
- nested: "object"
- }
-}
----
-
-```
-
-Este componente proporciona una forma de inspeccionar los valores en el lado del cliente, sin JavaScript.
diff --git a/docs/src/pages/es/reference/cli-reference.md b/docs/src/pages/es/reference/cli-reference.md
deleted file mode 100644
index 2a4cf3beb..000000000
--- a/docs/src/pages/es/reference/cli-reference.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Referencia de CLI
-lang: es
----
-
-## Comandos
-
-### `astro dev`
-
-Ejecuta el servidor de desarrollo de Astro. Esto inicia un servidor HTTP que responde a las solicitudes de páginas almacenadas en `src/pages` (o la carpeta que se especifique en tu [configuración](/es/reference/configuration-reference)).
-
-**Flags**
-
-#### `--port`
-
-Especifica el puerto en el que se ejecutará. El valor predeterminado es `3000`.
-
-### `astro build`
-
-Crea tu sitio para producción.
-
-### `astro preview`
-
-Inicia un servidor de archivos estático local para servir tu directorio `dist/` construido. Útil para obtener una vista previa de tu compilación estática localmente, antes de desplegarla.
-
-Este comando está destinado únicamente a pruebas locales y no está diseñado para ejecutarse en producción. Para obtener ayuda con el alojamiento de producción, consulta nuestra guía sobre [DEspliegue de un sitio web Astro](/es/guides/deploy).
-
-## Global Flags
-
-### `--config path`
-
-Especifica la ruta al archivo de configuración. El valor predeterminado es `astro.config.mjs`. Use esto si usas un nombre diferente para su archivo de configuración o tienes tu archivo de configuración en otra carpeta.
-
-```shell
-astro --config config/astro.config.mjs dev
-```
-
-### `--project-root path`
-
-Especifica la ruta a la raíz del proyecto. Si no se especifica, se supone que el directorio de trabajo actual es la raíz.
-
-La raíz se utiliza para encontrar el archivo de configuración de Astro.
-
-```shell
-astro --project-root examples/snowpack dev
-```
-
-### `--reload`
-
-Borra la caché (las dependencias se crean dentro de las aplicaciones Astro).
-
-### `--verbose`
-
-Habilita el registro detallado, que es útil al depurar un problema.
-
-### `--silent`
-
-Habilita el registro silencioso, que es útil cuando no deseas ver los registros de Astro.
-
-### `--version`
-
-Imprima el número de versión de Astro y sale.
-
-### `--help`
-
-Imprime el mensaje de ayuda y sale.
diff --git a/docs/src/pages/es/reference/configuration-reference.md b/docs/src/pages/es/reference/configuration-reference.md
deleted file mode 100644
index 72935b2b9..000000000
--- a/docs/src/pages/es/reference/configuration-reference.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Referencia de Configuración
-lang: es
----
-
-Para configurar Astro, agrega un archivo `astro.config.mjs` en la raíz de tu proyecto. Todos los ajustes son opcionales.
-
-Puedes ver la API de configuración completa (incluida la información sobre la configuración predeterminada) en [GitHub](https://github.com/withastro/astro/blob/latest/packages/astro/src/@types/config.ts).
-
-```js
-// Example: astro.config.mjs
-
-// @type-check habilitado!
-// VSCode y otros editores de texto habilitados para TypeScript proporcionarán autocompletado,
-// información sobre herramientas útiles y advertencias si el objeto exportado no es válido.
-// Puede desactivar esto eliminando los comentarios "@ts-check" y `@type` a continuación.
-
-// @ts-check
-export default /** @type {import('astro').AstroUserConfig} */ (
- {
- // ...
- }
-);
-```
-
-## Configuración Snowpack
-
-Astro funciona internamente con Snowpack. Puedes configurar Snowpack directamente creando un archivo `snowpack.config.mjs`. Consulta [snowpack.dev](https://www.snowpack.dev/reference/configuration) para obtener la documentación completa sobre este archivo.
diff --git a/docs/src/pages/es/reference/renderer-reference.astro b/docs/src/pages/es/reference/renderer-reference.astro
deleted file mode 100644
index 7e668d94f..000000000
--- a/docs/src/pages/es/reference/renderer-reference.astro
+++ /dev/null
@@ -1,14 +0,0 @@
----
-import { Markdown } from 'astro/components';
-import MainLayout from '~/layouts/MainLayout.astro';
-const [content] = Astro.fetchContent(
- '/src/pages/en/reference/renderer-reference.md'
-);
----
-
-
-
- > Esta página todavía no está disponible en Español. Se muestra la versión en inglés.
-
- {content.astro.html}
-
diff --git a/docs/src/pages/fi/getting-started.md b/docs/src/pages/fi/getting-started.md
deleted file mode 100644
index 868123519..000000000
--- a/docs/src/pages/fi/getting-started.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Aloittaminen
-lang: fi
----
-
-Astro on moderni työkalu staattisten sivustojen luomiseen. Voit löytää lisätietoa Astrosta englanniksi [kotisivultamme](https://astro.build/) tai [julkistusviestistämme](https://astro.build/blog/introducing-astro). Tämä sivu on yleiskatsaus Astron dokumentaatioon ja liittyviin sisältöihin.
-
-## Kokeile Astroa
-
-Helpoin tapa kokeilla Astroa on suorittaa `npm init astro` uudessa hakemistossa omalla koneellasi. Tämä CLI-komento käy lävitse tarvittavat vaiheet uuden Astro-projektin alkuunsaattamiseksi.
-
-[Asennusoppaastamme](/installation) löydät täyden läpikäynnin Astron saamiseksi käyttökuntoon.
-
-### Netin leikkikentät
-
-Sikäli jos sinua kiinnostaa kokeilla Astroa selaimessa, voit käyttää leikkikenttää netissä. Kokeile Hello World -templaattia [CodeSandboxissa](https://codesandbox.io/s/astro-template-hugb3).
-
-_Huomaa: jotkin toiminnallisuudet (mm. nopea päivitys) ovat toistaiseksi rajallisia CodeSandboxissa._
-
-## Astron oppiminen
-
-Ihmisillä on monenlaisia taustoja ja erilaisia oppimistyylejä. Toivomme sinun saavan irti tästä osiosta riippumatta siitä oletko enemmän teoriatason vaiko käytännön tason oppija.
-
-- Jos suosit **oppimista tekemällä**, kokeile aloittaa [esimerkkikirjastostamme](https://github.com/withastro/astro/tree/main/examples).
-- Jos suosit **konseptien oppimista vaihe vaiheelta**, kokeile aloittaa [peruskonsepteista ja oppaista](/core-concepts/project-structure).
-
-Astrolla on oma oppimiskäyränsä kuten millä tahansa ennestään tuntemattomalla teknologialla. Harjoittelulla ja kärsivällisyydellä _tulet_ pääsemään asioista kärryille.
-
-### `.astro`-syntaksin oppiminen
-
-Aloittaessasi Astrolla tulet kohtaamaan monia `.astro`-päätteellisiä tiedostoja. Nämä sisältävät **Astro-komponenttien syntaksia**, joka on erityistä HTML:n kaltaista templaattikieltä, jota Astro käyttää. Se on suunniteltu olemaan tuttu kenelle tahansa, jolla on kokemusta HTML:stä tai JSX:stä.
-
-Oppaamme [Astron komponenteista](/core-concepts/astro-components) esittelee uuden syntaksin ja on paras paikka sen opiskelulle.
-
-### API-luettelo
-
-Tämä dokumentaation osa on hyödyllisin halutessasi oppia yksityiskohtia tietystä Astron rajapinnasta. Muun muassa [asetusluettelo](/reference/configuration-reference) listaa kaikki mahdolliset asetusvaihtoehdot. [Ydinkomponenttien luettelo](/reference/builtin-components) listaa kaikki käytössä olevat Astron mukana tulevat komponentit kuten ` ` ja `
`.
-
-### Dokumentaation versioinnista
-
-Tämä dokumentaatio edustaa aina Astron viimeisintä vakaata versiota. Saavutettuamme v1.0 virstanpylvään tulemme lisäämään mahdollisuuden tarkastella versioitua dokumentaatiota.
-
-## Pysyminen ajantasalla
-
-Twitterin [@astrodotbuild](https://twitter.com/astrodotbuild)-tunnus on virallinen lähde Astro-tiimin päivityksille.
-
-Tulemme kertomaan julkaisuista myös [Discord-yhteisössä](https://astro.build/chat) kanavalla #announcements.
-
-Kaikki Astro-julkaisut eivät tule olemaan oman blogikirjoituksensa arvoisia, mutta löydät yksityiskohtaisen muutoslokin jokaiselle julkaisulle [`CHANGELOG.md`-tiedostosta Astron repossa](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md).
-
-## Puuttuuko jotakin?
-
-Mikäli havaitset puutteita dokumentaatiossa tai että osa siitä ovat hämmentäviä, jätäthän [ilmoituksen dokumentaation ongelmasta](https://github.com/withastro/astro/issues/new/choose) sisältäen ehdotuksesi sen parantamiseksi, tai twiittaa [@astrodotbuild](https://twitter.com/astrodotbuild) Twitter-tunnukselle. Otamme palautetta vastaan mielellämme!
-
-## Kiitokset
-
-Tämä aloittamisen opas perustui alkujaan [Reactin](https://reactjs.org/) vastaavaan oppaaseen.
diff --git a/docs/src/pages/fi/installation.md b/docs/src/pages/fi/installation.md
deleted file mode 100644
index 63a4a72ec..000000000
--- a/docs/src/pages/fi/installation.md
+++ /dev/null
@@ -1,94 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Asennus
-lang: fi
----
-
-Astron voi asentaa parilla eri tavalla uuteen projektiin.
-
-## Vaatimukset
-
-- **Node.js** - `v14.15.0`, `v16.0.0` tai uudempi.
-- **Tekstieditori** - Suosittelemme [VS Codea](https://code.visualstudio.com/) yhdessä [Astro-laajennoksen](https://marketplace.visualstudio.com/items?itemName=astro-build.astro-vscode) kanssa.
-- **Terminaali** - Astroa käytetään pääasiassa komentorivin kautta.
-
-## Suositeltu asennus
-
-`npm init astro` on helpoin tapa lisätä Astro uuteen projektiin. Komennon suorittaminen terminaalissa aloittaa `create-astro`-asennusvelhon, joka käy lävitse uuden projektin aloituksen.
-
-```bash
-mkdir
-cd
-npm init astro
-```
-
-Seuraa CLI-ohjelman ohjeistusta asentaaksesi Astron käyttäen yhtä virallisista aloitustemplaateista.
-
-Tämän jälkeen voit siirtyä [pika-aloitusoppaaseen](/quick-start#start-your-project) saadaksesi 30:n sekunnin yhteenvedon siitä, kuinka käynnistää uusi projekti kehittämistä varten, ja kuinka luoda siitä lopullinen sivusto!
-
-## Asentaminen itse
-
-### Projektin valmistelu
-
-Luo uusi tyhjä hakemisto jolla on projektisi nimi ja siirry siihen:
-
-```bash
-mkdir
-cd
-# Huomaa: korvaa projektisi nimellä.
-```
-
-Luo uusi `package.json`-tiedosto projektille. Astro on suunniteltu toimimaan npm-ympäristössä, jota hallinnoidaan `package.json` sisältämien sääntöjen kautta. Mikäli `package.json` ei ole ennestään tuttu, niin suosittelemme tutustumaan [npm:n dokumentaatioon](https://docs.npmjs.com/creating-a-package-json-file).
-
-```bash
-# Tämä komento luo uuden package.json-tiedoston sisältäen muutaman peruskentän
-npm init --yes
-```
-
-### Asenna Astro
-
-Sinulla tulisi olla nyt hakemisto, josta löytyy yksittäinen `package.json`-tiedosto kun aiemmin mainitut toimet on tehty. Astron lisääminen projektiin on nyt mahdollista.
-
-Käytämme `npm`:ää esimerkeissämme, mutta vaihtoehtoisesti voit myös käyttää `yarn`:ia tai `pnpm`:ää. Sikäli jos kumpikaan `yarn` tahi `pnpm` ei ole tuttu, niin suosittelemme pitäytymistä `npm`:ssä.
-
-```bash
-npm install astro
-```
-
-Voit nyt vaihtaa oletuksena toimivan "scripts"-osion `npm init`in luomassa `package.json`:ssa seuraavasti:
-
-```diff
- "scripts": {
-- "test": "echo \"Error: no test specified\" && exit 1"
-+ "dev": "astro dev",
-+ "build": "astro build",
-+ "preview": "astro preview"
- },
-}
-```
-
-### Lisää ensimmäinen sivu
-
-Avaa tekstieditori ja luo uusi tiedosto projektiin:
-
-```astro
----
-// 1. Luo uusi tiedosto /src/pages/index.astro
-// 2. Kopioi ja liitä tämä koko tiedosto (sisältäen `-` väliviivat) siihen.
----
-
-
- Moi maailma!
-
-
-```
-
-Voit nyt lisätä uusia sivuja `src/pages`-hakemistoon Astron käyttäessä ennettua tiedostonimeä luodakseen uusia sivuja sivustolle. Jos esimerkiksi luot uuden tiedoston nimellä `src/pages/about.astro` (käyttäen edellistä koodia), niin Astro luo uuden sivun osoitteeseen `/about`.
-
-### Seuraavat vaiheet
-
-Näin se hoituu! Olet nyt valmis aloittamaan kehittämisen! Siirry [pika-aloitusoppaaseen](/quick-start#start-your-project) saadaksesi 30:n sekunnin läpikäynnin Astron käynnistämisestä ja projektin luomisesta sivustoksi!
-
-📚 Opi lisää Astron projektien rakenteesta [projektin rakenneoppaassa](/core-concepts/project-structure).
-📚 Opi lisää Astron komponenttien syntaksista [Astro-komponenttien oppaassa](/core-concepts/astro-components).
-📚 Opi lisää Astron tiedostoihin pohjautuvasta reitityksestä [reititysoppaassa](core-concepts/astro-pages).
diff --git a/docs/src/pages/fi/quick-start.md b/docs/src/pages/fi/quick-start.md
deleted file mode 100644
index b7c78c2d9..000000000
--- a/docs/src/pages/fi/quick-start.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Pika-aloitus
-lang: fi
----
-
-```shell
-# vaatimukset: varmista että Node.js on vähintään versiota 14.15.0+ tai 16+
-node --version
-
-# luo uuden projektin hakemisto ja siirry siihen
-mkdir astrokokeilu && cd "$_"
-
-# valmistaudu laukaisuun...
-npm init astro
-
-# asenna riippuvuudet
-npm install
-
-# aloita kehittäminen!
-npm run dev
-```
-
-```shell
-# kun olet valmis: luo oma staattinen sivustosi hakemistoon `dist/`
-npm run build
-```
-
-Astro-sivuston käyttöönotto tuotannossa vaatii `/dist`-hakemiston (joka luodaan suorittamalla `npm run build`) sisällön siirtämisen haluamallesi palveluntarjoajalle.
-
-[Luo lisää tästä Astron julkaisuoppaassa.](/guides/deploy)
-
-## Projektin käynnistäminen
-
-Siirry takaisin komentoriville ja suorita tämä komento projektin hakemistossa:
-
-```bash
-npm run dev
-```
-
-Tämän jälkeen ohjelma on käynnissä osoitteessa [http://localhost:3000](http://localhost:3000). Avaa tämä URL selaimessa nähdäksesi viestin "Moi maailma!", jonka kopioimme edellisessä vaiheessa.
-
-Astro seuraa muutoksia `src/`-hakemiston sisällä, joten ohjelmaa ei tarvitse käynnistää uudelleen tehdessäsi muutoksia siihen koodatessasi.
-
-## Sivuston luominen
-
-Palaa takaisin komentoriville ja suorita tämä komento projektin hakemistossa:
-
-```bash
-npm run build
-```
-
-Tämä muodostaa projektista valmiit sivuston tiedostot ja kirjoittaa ne `dist/`-hakemistoon. Astro-sivustot ovat staattisia, joten ne voi julkaista mille tahansa palveluntarjoajalle (Vercel, Netlify, S3 bucket, jne.).
diff --git a/docs/src/pages/fr/getting-started.md b/docs/src/pages/fr/getting-started.md
deleted file mode 100644
index 16817606a..000000000
--- a/docs/src/pages/fr/getting-started.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Bien démarrer
-lang: fr
----
-
-Astro est un générateur de site statique moderne. Comprenez ce qu'est Astro en visitant [notre page d'accueil](https://astro.build/) ou [notre annonce de sortie](https://astro.build/blog/introducing-astro). Cette page est une vue d'ensemble de la documentation d'Astro et de toutes les ressources associées.
-
-## Essayer Astro
-
-La manière la plus simple d'essayer Astro est de lancer `npm init astro` à partir d'un nouveau dossier depuis votre machine. Notre utilitaire CLI vous assistera dans la création d'un nouveau projet Astro.
-
-Pour bien débuter avec Astro en 5 étapes rapides et faciles, visitez notre [Guide de démarrage rapide](/fr/quick-start).
-
-Autrement, lisez notre [Guide d'installation](/fr/installation) pour un accompagnement pas-à-pas sur la mise en place d'Astro.
-
-### Terrains de jeu en ligne (Online Playground)
-
-Si vous voulez tester Astro directement dans votre navigateur, vous pouvez utiliser un playground en ligne. Essayez notre modèle "Hello World!" sur [CodeSandbox](https://codesandbox.io/s/astro-template-hugb3).
-
-_Note: quelques-unes des fonctionnalités (ex : Rafraîchissement Rapide) sont pour le moment limitées sur CodeSandbox._
-
-## Apprendre Astro
-
-Tous les développeurs qui essaient Astro n'ont ni la même expérience, ni les mêmes méthodes d'apprentissage. Que vous préfériez une approche plutôt théorique ou pratique, nous espérons que vous trouverez l'aide qu'il vous faut dans cette section.
-
-- Si vous préférez une **approche pratique**, commencez avec notre [librairie d'exemples](https://github.com/withastro/astro/tree/main/examples).
-- Si vous préférez **apprendre les concepts étape par étape**, commencez avec nos [fondamentaux et guides](/core-concepts/project-structure).
-
-Comme toute nouvelle technologie, Astro possède une certaine courbe d'apprentissage. Malgré cela, avec de la pratique et de la patience, nous savons, que _vous_ allez prendre la main, en très peu de temps.
-
-### Apprendre la syntaxe `.astro`
-
-Quand vous débutez l'apprentissage d'Astro, vous allez rencontrer beaucoup de fichier avec l'extension `.astro`. C'est la **Syntaxe des Composants Astro** : des fichiers particuliers avec un format similaire au HTML qu'Astro utilise comme template. Ils ont été conçus pour être familiers à toute personne ayant une expérience avec le HTML ou le JSX.
-
-Notre guide sur les [composants Astro](/core-concepts/astro-components) vous présente la syntaxe Astro et reste la meilleure façon d'apprendre.
-
-### Documentation de l'API
-
-Cette documentation vous sera utile si vous souhaitez comprendre en détails certaines API d'Astro. Par exemple, la [Documentation de la Configuration](/reference/configuration-reference) liste toutes les options de configuration à votre disposition. La [Documentation des Composants de base](/reference/builtin-components) liste tous les composants disponibles de base, comme ` ` et `
`.
-
-### Documentation versionnée
-
-Cette documentation reflète toujours la dernière version stable d'Astro. Dès que nous auront atteint l'étape de la v1.0, nous ajouterons la possibilité de parcourir la documentation versionnée.
-
-## Rester informé
-
-Le compte Twitter [@astrodotbuild](https://twitter.com/astrodotbuild) est la source officielle d'information de l'équipe Astro.
-
-Nous publions également les annonces de nouvelles versions sur notre [Communauté Discord](https://astro.build/chat) dans le salon #announcements.
-
-Toutes les releases d'Astro ne requièrent pas leur propre article de blog, mais vous pouvez trouver un changelog détaillé de toutes les releases dans le [fichier `CHANGELOG.md` du dépôt Astro](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md).
-
-## Quelque chose vous manque ?
-
-Si vous pensez que quelque chose manque dans la documentation ou si vous en trouvez une partie déroutante, veuillez [créer une "issue" sur le dépôt de la documentation](https://github.com/withastro/astro/issues/new/choose) avec vos suggestions d'amélioration, ou bien mentionnez le compte [@astrodotbuild](https://twitter.com/astrodotbuild) sur Twitter. Nous adorons avoir de vos nouvelles !
-
-## Crédits
-
-Ce guide de démarrage est basé sur le guide "Bien débuter" de [React](https://reactjs.org/).
diff --git a/docs/src/pages/fr/installation.md b/docs/src/pages/fr/installation.md
deleted file mode 100644
index fc77d1b02..000000000
--- a/docs/src/pages/fr/installation.md
+++ /dev/null
@@ -1,160 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Installation
-lang: fr
----
-
-Il y a plusieurs façons d'installer Astro dans un nouveau projet.
-
-## Prérequis
-
-- **Node.js** - `v14.15.0`, `v16.0.0`, or plus.
-- **Éditeur de texte** - Privilégiez [VS Code](https://code.visualstudio.com/) et [l'extension Astro officielle](https://marketplace.visualstudio.com/items?itemName=astro-build.astro-vscode).
-- **Terminal** - Astro s'utilise principalement en ligne de commande.
-
-Ce guide utilise [`npm`](https://www.npmjs.com/) dans les exemples ci-après, mais vous pouvez utiliser [`yarn`](https://yarnpkg.com/) ou [`pnpm`](https://pnpm.io/) si vous y êtes habitué·e.
-
-## Initialisation complète
-
-`npm init astro` est le moyen le plus facile de créer un nouveau projet avec Astro. Entrez cette commande dans un terminal pour lancer `create-astro`, l'assistant d'installation.
-
-```bash
-# Avec NPM
-npm init astro
-
-# Yarn
-yarn create astro
-```
-
-L'assistant d'installation [`create-astro`](https://github.com/withastro/astro/tree/main/packages/create-astro) vous propose de choisir entre différents [squelettes d'application](/examples), mais offre aussi la possibilité d'importer un projet Astro directement depuis GitHub.
-
-```bash
-# Note : remplacez "my-astro-project" avec le nom de votre projet.
-
-# npm 6.x
-npm init astro my-astro-project --template starter
-# npm 7+ (tiret -- supplémentaire)
-npm init astro my-astro-project -- --template starter
-# yarn
-yarn create astro my-astro-project --template starter
-# À partir d'un template disponible sur GitHub
-npm init astro my-astro-project -- --template [GITHUB_USER]/[REPO_NAME]
-# ... ou si ce template ce trouve à l'intérieur d'un dépôt GitHub
-npm init astro my-astro-project -- --template [GITHUB_USER]/[REPO_NAME]/path/to/template
-```
-
-Après que `create-astro` a mis en place l'architecture de votre projet, n'oubliez pas d'installer les dépendances avec npm, yarn ou pnpm. Par exemple avec npm:
-
-```bash
-npm install
-```
-
-Vous pouvez maintenant [lancer](#démarrer-astro) votre projet. Une fois votre projet prêt à être déployé, vous pourrez [le compiler](#compiler-avec-astro). Astro va empaqueter votre application et produire les fichiers statiques nécessaires pour que vous puissiez [déployer](/guides/deploy) votre application.
-
-## Installation manuelle
-
-Vous pouvez installer Astro en vous passant de l'assistant `create-astro` avec les quelques étapes suivantes.
-
-### Créer un projet
-
-```bash
-# Créez et placez vous dans un nouveau dossier
-mkdir my-astro-project
-cd my-astro-project
-```
-
-### Créer un `package.json`
-
-```bash
-# Cette commande va créer un fichier package.json basique
-npm init --yes
-```
-
-Astro est conçu pour fonctionner avec tout l'ecosystème npm. Cela est rendu possible par un fichier de projet nommé `package.json` à la racine de votre projet. Si vous n'êtes pas familier·e avec le fichier `package.json`, nous vous recommandons fortement de lire [la documentation officielle sur le site de npm](https://docs.npmjs.com/creating-a-package-json-file).
-
-### Installer Astro
-
-En suivant les instructions précédentes, vous devriez avoir un dossier avec un seul fichier `package.json` dedans. Vous pouvez maintenant ajouter Astro à votre projet.
-
-```bash
-npm install astro
-```
-
-Vous pouvez aussi remplacer la section "scripts" du fichier `package.json` avec les lignes suivantes :
-
-```diff
- "scripts": {
-- "test": "echo \"Error: no test specified\" && exit 1"
-+ "dev": "astro dev",
-+ "build": "astro build",
-+ "preview": "astro preview"
- },
-}
-```
-
-La commande [`dev`](#start-astro) démarre le serveur de développement Astro à l'adresse `http://localhost:3000`. Une fois votre projet terminé, la commande [`build`](#build-astro) produit votre site dans le dossier `dist/`. [En savoir plus sur le déploiement d'un site développé avec Astro.](/guides/deploy)
-
-### Créer une première page
-
-Ouvrez votre éditeur favori, et créez un nouveau fichier :
-
-1. Créez un nouveau fichier à l'emplacement `src/pages/index.astro`.
-2. Copiez-collez l'extrait suivant (`---` compris) dedans.
-
-```astro
----
-// Le code JS/TS écrit entre les (---) n'est exécuté que par le serveur
-console.log('Coucou dans le terminal')
----
-
-
-
- Hello, World!
-
-
-
-
-
-
-```
-
-Vous venez de lire un exemple de syntaxe des composants Astro, inspirée par le HTML et le JSX.
-
-Vous pouvez continuer à ajouter des fichiers dans le dossier `src/pages`, et Astro se servira du nom du fichier pour ajouter des pages à votre site. Par exemple, si vous ajoutez une page `src/pages/a-propos.astro` (par exemple en reprenant le code ci-dessus), Astro va générer une nouvelle page à l'adresse `http://localhost:3000/a-propos`.
-
-## [Démarrer Astro](#démarrer-astro)
-
-```bash
-npm run dev
-```
-
-Astro va démarrer votre site à l'adresse `http://localhost:3000`. En ouvrant cette URL dans votre navigateur, vous devriez voir s'afficher "Hello, World", ou bien la page créée précédemment.
-
-## [Compiler avec Astro](#compiler-avec-astro)
-
-```bash
-npm run build
-```
-
-Astro va produire une version allégée du site et la sauvegarder directement sur le disque. Votre application se trouvera dans le dossier `dist/`.
-
-## Prochaines étapes
-
-Vous êtes désormais prêt·e à développer !
-
-Nous vous recommandons de prendre le temps de vous familiariser avec Astro et son fonctionnement. Nous vous recommandons les guides suivants :
-
-📚 En savoir plus sur [la structure des projets Astro](/core-concepts/project-structure).
-
-📚 En savoir plus sur [la syntaxe des composants Astro](/core-concepts/astro-components).
-
-📚 En savoir plus sur [la génération des adresses à partir de l'arborescence.](/core-concepts/astro-pages).
diff --git a/docs/src/pages/fr/quick-start.md b/docs/src/pages/fr/quick-start.md
deleted file mode 100644
index 99532c490..000000000
--- a/docs/src/pages/fr/quick-start.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Démarrage rapide
-lang: fr
----
-
-```shell
-# Prérequis : vérifiez que Node.js est en version 14.15.0+, ou 16+
-node --version
-
-# Créez un nouveau dossier, et placez-vous dedans
-mkdir my-astro-project && cd $_
-
-# Attention au décollage...
-npm init astro
-
-# Installez les dépendances
-npm install
-
-# Commencez à coder !
-npm run dev
-```
-
-```shell
-# Quand votre site est fin prêt, compilez-en une version statique dans le dossier `dist/`
-npm run build
-```
-
-Si vous désirez en savoir plus sur les différentes façons d'installer Astro dans votre projet, [lisez notre guide d'installation](installation).
-
-## Commencez votre projet
-
-Depuis un terminal ouvert dans votre projet, entrez la commande suivante :
-
-```bash
-npm run dev
-```
-
-Astro va lancer un serveur local sur [http://localhost:3000](http://localhost:3000). Ouvrez cette adresse dans votre navigateur, et vous devriez voir le "Hello, World" d'Astro.
-
-Vous n'avez jamais besoin de redémarrer Astro : à chaque modification dans le dossier `src/`, le serveur recompile votre site.
-
-## Compilez votre projet
-
-Pour compiler votre projet, entrez la commande suivante dans un terminal :
-
-```bash
-npm run build
-```
-
-Astro va produire une version allégée de votre site et la sauvegarder directement sur le disque. Votre application se trouvera dans le dossier `dist/`.
-
-## Mettez en production
-
-Les sites compilés avec Astros sont statiques, et peuvent par conséquent être déployés par votre hébergeur préféré :
-
-- [Vercel](https://vercel.com/)
-- [Netlify](https://www.netlify.com/)
-- [S3 bucket](https://aws.amazon.com/s3/)
-- [Google Firebase](https://firebase.google.com/)
-- [Lire le guide de déploiement sur la documentation Astro](/guides/deploy)
-
-## Prochaines étapes
-
-Vous êtes désormais prêt·e à développer !
-
-Nous vous recommandons de prendre le temps de vous familiariser avec Astro et son fonctionnement. Nous vous recommandons les guides suivants :
-
-📚 En savoir plus sur [la structure des projets Astro](/core-concepts/project-structure).
-
-📚 En savoir plus sur [la syntaxe des composants Astro](/core-concepts/astro-components).
-
-📚 En savoir plus sur [la génération des adresses à partir de l'arborescence.](/core-concepts/astro-pages).
diff --git a/docs/src/pages/index.astro b/docs/src/pages/index.astro
deleted file mode 100644
index 203ed38cf..000000000
--- a/docs/src/pages/index.astro
+++ /dev/null
@@ -1,38 +0,0 @@
----
-import Layout from '../layouts/MainLayout.astro';
----
-
-
-
diff --git a/docs/src/pages/it/getting-started.md b/docs/src/pages/it/getting-started.md
deleted file mode 100644
index a1887ccdd..000000000
--- a/docs/src/pages/it/getting-started.md
+++ /dev/null
@@ -1,72 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Come iniziare
-description: Una guida introduttiva ad Astro.
----
-
-Astro è un generatore moderno di siti statici. Scopri di più su Astro dalla [nostra homepage](https://astro.build/) o dal nostro [post di rilascio](https://astro.build/blog/introducing-astro). Questa pagina è una panoramica della documentazione di Astro e di tutte le risorse correlate.
-
-## Prova Astro
-
-Il modo più semplice per provare Astro è lanciare `npm init astro` in una nuova cartella nella tua macchina. La procedura guidata da CLI ti assisterà nell'avvio di un nuovo progetto Astro.
-
-Puoi iniziare da subito con Astro in 5 passi semplici, attraverso la nostra [Guida Rapida all'Avvio](/quick-start).
-
-In alternativa, leggi la nostra [Guida all'Installazione](/installation) per una panoramica più completa su come impostare Astro.
-
-### Esempi
-
-Se preferisci imparare Astro tramite esempi, dai un'occhiata alla nostra [libreria completa degli esempi](https://github.com/withastro/astro/tree/main/examples) su GitHub.
-
-Puoi testare uno qualsiasi di questi esempi sulla tua macchina locale lanciando `npm init astro` con la flag `--template` da CLI. La flag `--template` supporta anche template di terze parti della community.
-
-```bash
-# Avvia la procedura guidata e usa questo template ufficiale
-npm init astro -- --template [NOME_ESEMPIO_UFFICIALE]
-# Avvia la procedura guidata e usa questo template della community
-npm init astro -- --template [UTENTE_GITHUB]/[NOME_REPO]
-npm init astro -- --template [UTENTE_GITHUB]/[NOME_REPO]/percorso/al/esempio
-```
-
-### Online Playgrounds
-
-Se ti interessa provare Astro in un browser, puoi utilizzare un code editor online come Stackblitz, CodeSandbox, Gitpod o GitHub Codespaces. Clicca sul link "Open in Stackblitz" in uno dei nostri esempi nella [libreria degli esempi](https://github.com/withastro/astro/tree/main/examples). In alternativa, [clicca qui](https://stackblitz.com/fork/astro) per avviare un nuovo progetto in [Stackblitz](https://stackblitz.com/fork/astro).
-
-## Impara Astro
-
-In Astro arrivano persone di tutti i tipi, con il loro background di conoscenze e stili d'apprendimento diversi. Sia che tu preferisca un approccio più teorico o più pratico, speriamo troverai questa sezione utile.
-
-- Se preferisci **imparare facendo cose**, puoi iniziare con la nostra [libreria degli esempi](https://github.com/withastro/astro/tree/main/examples).
-- Se preferisci **imparare i concetti passo-passo**, puoi iniziare da [guide e concetti base](/core-concepts/project-structure).
-
-Come ogni tecnologia poco familiare, Astro si presenta con una leggera curva di apprendimento. Tuttavia, con un po' di pratica e pazienza, sappiamo che ci riuscirai in poco tempo.
-
-## Imparare la Sintassi `.astro`
-
-Quando inizierai ad imparare Astro, vedrai molti file usare l'estensione `.astro`. Questa è la **Sintassi dei Componenti di Astro**: è un file speciale simile all'HTML che Astro usa per i template. È stato progettato per risultare familiare a chiunque abbia avuto esperienze con l'HTML o JSX.
-
-La nostra utile guida ai [componenti Astro](/core-concepts/astro-components) ti aiuterà a comprendere la sintassi Astro, ed è il modo migliore per impararla.
-
-### Reference API
-
-Questa parte della documentazione è utile quando si vuole comprendere meglio una particolare API di Astro. Ad esempio, la [Reference di Configurazione](/reference/configuration-reference) elenca tutte le possibili opzioni di configurazione possibili. La [Reference dei componenti incorporati](/reference/builtin-components) elenca tutti i componenti principali disponibili, come ` ` e `
`.
-
-### Documentazione a versioni
-
-Questa documentazione fa riferimento sempre all'ultima versione stabile di Astro. Una volta raggiunta la v1.0, inseriremo la possibilità di navigare tra le versioni della documentazione.
-
-## Rimani aggiornato
-
-L'account Twitter [@astrodotbuild](https://twitter.com/astrodotbuild) è la fonte ufficiale del team Astro per rimanere aggiornati.
-
-Pubblichiamo anche annunci sui rilasci nella nostra [community Discord](https://astro.build/chat) nel canale #announcements.
-
-Non tutte le release di Astro saranno accompagnate da un post sul blog, ma puoi sempre trovare un changelog dettagliato per ogni release nel [file `CHANGELOG.md` nella repository Astro](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md).
-
-## Manca Qualcosa?
-
-Se manca qualcosa nella documentazione o trovi qualche parte confusionaria, per favore [segnala un problema sulla documentazione](https://github.com/withastro/astro/issues/new/choose) con i tuoi suggerimenti per migliorarla, oppure twitta all'account Twitter [@astrodotbuild](https://twitter.com/astrodotbuild). Ci piace ascoltarvi!
-
-## Crediti
-
-Questa guida introduttiva è basata originariamente sulla guida introduttiva di [React](https://reactjs.org/).
diff --git a/docs/src/pages/ja/comparing-astro-vs-other-tools.md b/docs/src/pages/ja/comparing-astro-vs-other-tools.md
deleted file mode 100644
index 954dbfbea..000000000
--- a/docs/src/pages/ja/comparing-astro-vs-other-tools.md
+++ /dev/null
@@ -1,237 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Astro vs. X
-description: Astroと他の静的サイトジェネレーター(Gatsby、Next.js、Nuxt、Hugo、Eleventyなど)の比較
-lang: ja
----
-
-よく、「Astro は、私が気に入ってる静的サイトジェネレーターの **\_\_\_\_** と比べてどうですか?」と聞かれます。このガイドは、いくつかの人気の静的サイトジェネレーターと Astro の代わりに使えるツールについて、その質問に答えるために書かれました。
-
-もし、お気に入りの静的サイトジェネレーターがここに掲載されていない場合は、 [Discord で聞いてみてください](https://astro.build/chat)。
-
-## プロジェクトの状況
-
-プロジェクトの進捗状況について簡単に説明します。**Astro はまだベータ版です**。 ここに掲載されている多くのツールはもっと成熟しており、中には Astro より 12 年以上先行しているものもあります。
-
-Astro にはまだいくつかの機能が欠けており、いくつかの API もまだ完成していません。しかし、バグの観点からは安定していると考えられていて、すでにいくつかの本番用 Web サイトが Astro を使って構築されています。これは、Astro を選択する際の重要なポイントとなるでしょう。
-
-## Docusaurus vs. Astro
-
-[Docusaurus](https://docusaurus.io/) は、人気のあるドキュメントサイト生成ツールです。 Docusaurus は React を使って Web サイトの UI を生成しますが、Astro は React、Vue.js、Svelte、そして生の HTML テンプレートをサポートしています。
-
-Docusaurus は、ドキュメント Web サイトを構築するために設計されていて、Astro にはない、ドキュメントに特化した Web サイト機能がいくつか組み込まれています。その代わり、Astro では、ドキュメントに特化した機能を、サイトに使用できる公式の[`docs`](https://github.com/snowpackjs/astro/tree/main/examples/docs)テーマを通じて提供しています。この Web サイトは、そのテンプレートを使って構築されています。
-
-### Docusaurus と Astro のパフォーマンス比較
-
-ほとんどの場合、Astro の Web サイトは Docusaurus の Web サイトよりも大幅に速く読み込まれます。これは、Astro がページ内の不要な JavaScript を自動的に外し、必要なコンポーネントのみをハイドレーションするためです。この機能を[パーシャルハイドレーション](/core-concepts/component-hydration)と呼びます。
-
-Docusaurus はパーシャルハイドレーションに対応しておらず、ページコンテンツのほとんどが静的なものであっても、ユーザーがブラウザでページ全体を読み込んで再ハイドレーションするようになっています。これにより、ページの読み込みが遅くなり、Web サイトのパフォーマンスが低下します。Docusaurus では、この動作を無効にする方法はありません。
-
-### ケーススタディ:ドキュメントサイトの構築
-
-[docusaurus.io/docs](https://docusaurus.io/docs) は、Docusaurus で構築された Docusaurus の公式ドキュメントサイトです。このサイトは、Astro の公式ドキュメントサイトと比較しても、十分に似たデザインと機能を提供しています。これにより、2 つのサイトビルダーを**大雑把に実際のサイト**で比較できます。
-
-- **Docusaurus のパフォーマンススコア**: 100 点満点中 61 点 [(テスト結果)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocusaurus.io%2Fdocs)
-- **Astro のパフォーマンススコア**: 100 点満点中 99 点 [(テスト結果)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-このパフォーマンス差の大きな理由の 1 つは、Astro の JavaScript ペイロードが小さいことです。
-[docusaurus.io/docs](https://docusaurus.io/docs)が最初のページ読み込み時に**238kb**の JavaScript をロードするのに対し、[docs.astro.build](https://docs.astro.build)は最初の読み込み後に**78.7kb**(全体で 67%の JavaScript 削減)の JavaScript をロードします。
-
-## Elder.js vs. Astro
-
-[Elder.js](https://elderguide.com/tech/elderjs/) は、Svelte のために作られたこだわりの強い静的サイトビルダーです。
-
-Elder.js は Svelte を使って Web サイトをレンダリングします。Astro はより柔軟で、人気のあるコンポーネントライブラリ(React、Preact、Vue、Svelte、Solid など)や、HTML+JSX に似た Astro の HTML ライクなコンポーネント構文を使って UI を自由に構築できます。
-
-Elder.js は、[パーシャルハイドレーション](/core-concepts/component-hydration)をサポートするサイトビルダーとして、このリストの中でもユニークな存在です。Astro も Elder.js も、ページから不要な JavaScript を自動的に外し、必要な個々のコンポーネントだけをハイドレーションします。Elder のパーシャルハイドレーションの API は少し違っていて、Astro は Elder.js がサポートしていないいくつかの機能をサポートしています(`client:media`など)。しかし、パフォーマンス的には、どちらのプロジェクトも非常に似通ったサイトを構築できます。
-
-Elder.js は独自のルーティングを採用しており、新しい開発者には馴染みがないかもしれません。Astro は[ファイルベースのルーティング](/core-concepts/routing)を採用していて、Next.js や SvelteKit、または Eleventy のような静的サイトビルダーを使っている人には馴染みがあるでしょう。
-
-Elder.js は、大規模な Web サイトで動作するように設計されていて、20,000 ページ程度の Web サイトを(手頃な VM 上で)10 分以内に構築できると謳っています。Astro は、記事執筆時点では、1,000 ページを 66 秒で構築していますが、20,000 ページ以上のプロジェクトではまだテストされていません。Astro はまだ初期のベータ版であり、Elder.js のビルド速度に匹敵することが Astro v1.0 の目標です。
-
-Elder.js は、静的サイト生成(SSG)とサーバーサイドレンダリング(SSR)の両方をサポートしています。現在、Astro は静的サイト生成(SSG)のみをサポートしています。
-
-## Eleventy vs. Astro
-
-[Eleventy](https://www.11ty.dev/) は、Node.js を採用した人気の高い静的サイトビルダーです。
-
-Eleventy は、いくつかの [古い HTML テンプレート言語](https://www.11ty.dev/docs/languages/) を使用して Web サイトをレンダリングします。サポートしているテンプレート言語には、Nunjucks、Liquid、Pug、EJS などがあります。Astro では、お気に入りの UI コンポーネントライブラリ(React、Preact、Vue、Svelte など)や、HTML + JSX に似た、組み込みのコンポーネント構文を使ってページを作成できます。 Eleventy は、モダンな UI コンポーネントを使った HTML のテンプレート化には対応していません。
-
-### Eleventy と Astro のパフォーマンス比較
-
-Eleventy のコンセプトは、Astro の「クライアントサイドの JavaScript を最小限にする」という Web 開発のアプローチと一致しています。Eleventy と Astro は、どちらも同様に、デフォルトでは JavaScript を使用しないパフォーマンスを基本として提供します。
-
-Eleventy は、JavaScript を完全に避けることでこれを実現しています。Eleventy のサイトは、往々にして JavaScript をほとんど、あるいはまったく使わずに書かれています。これは、クライアントサイドの JavaScript が必要になったときに問題になります。Eleventy のために独自のアセットビルドパイプラインを作成することは、あなた次第です。そのため、バンドルやミニファイなどの複雑な最適化を自分で設定しなければならず、時間がかかります。
-
-これに対して、Astro は、クライアントサイドの JavaScript と CSS を自動的に構築します。Astro では、ページ内の不要な JavaScript を自動的に外し、必要な個々のコンポーネントのみをハイドレーションします。この機能を[パーシャルハイドレーション](/core-concepts/component-hydration)と呼びます。この機能は、Eleventy でも自分で用意すれば実現可能ですが、Astro では、デフォルトで組み込まれています。
-
-## Gatsby vs. Astro
-
-[Gatsby](https://www.gatsbyjs.com/)は、React 向けの人気の Web サイト&アプリケーションフレームワークです。
-
-Gatsby は React を使って Web サイトをレンダリングします。Astro はより柔軟で、人気のあるコンポーネントライブラリ(React、Preact、Vue、Svelte、Solid など)や、HTML+JSX に似た Astro の HTML ライクなコンポーネント構文を使って UI を自由に構築できます。
-
-Gatsby v4 は、インクリメンタル・リビルドによる静的サイト生成 (SSG)、Deferred Static Generation (DSG)、サーバーサイドレンダリング (SSR)のすべてをサポートしています。現在、Astro は静的サイト生成(SSG)のみをサポートしています。
-
-Gatsby では、サイトのすべてのコンテンツを扱うために、カスタムの GraphQL API が必要です。開発者の中にはこのモデルを好む人もいますが、Gatsby に対する一般的な批判は、このモデルが複雑になりすぎて、とくにサイトの成長に伴って維持するのが難しくなるというものです。Astro では、GraphQL を必要とせず、代わりに(`fetch()`やトップレベル`await`のような)使い慣れた API を提供し、データが必要とされる場所の近くでデータを読み込めます。
-
-### Gastby と Astro のパフォーマンス比較
-
-ほとんどの場合、Astro の Web サイトは、Gatsby の Web サイトよりも大幅に速く読み込まれます。これは、Astro がページから不要な JavaScript を自動的に外し、必要な個々のコンポーネントのみをハイドレーションするためです。この機能を[パーシャルハイドレーション](/core-concepts/component-hydration)と呼びます。
-
-Gatsby はパーシャルハイドレーションをサポートしておらず、ページコンテンツのほとんどが静的なものであっても、ユーザーがブラウザでページ全体を読み込んで再ハイドレーションするようになっています。これにより、ページの読み込みが遅くなり、Web サイトのパフォーマンスが低下します。Gatsby には、ページからすべての JavaScript を削除するための[コミュニティプラグイン](https://www.gatsbyjs.com/plugins/gatsby-plugin-no-javascript/)がありますが、これでは多くの Web サイトが壊れてしまいます。このプラグインを使うなら、各ページのインタラクティブ性について、「すべてか無か」の決断を迫られることになります。
-
-Gatsby には素晴らしいプラグインエコシステムがあり、ニーズに応じて Gatsby をより良い選択にすることができます。[gatsby-plugin-image](https://www.gatsbyjs.com/plugins/gatsby-plugin-image/)は、画像の最適化のための人気のあるプラグインで、画像を多用する Web サイトには Gatsby が適しているかもしれません。
-
-### ケーススタディ:ドキュメントサイトの構築
-
-[gatsbyjs.com/docs](https://www.gatsbyjs.com/docs/quick-start/) は、Gatsby で構築された Gatsby の公式ドキュメントサイトです。この Web サイトは、Astro の公式ドキュメント Web サイトと比較して、十分に似たデザインと機能セットを提供しています。これにより、この一般的なユースケースにおける、2 つのサイトビルダーの**大雑把に実際のサイト**での比較が可能になりました。
-
-- **Gatsby パフォーマンススコア**: 100 点満点中 64 点 [(テスト結果)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fwww.gatsbyjs.com%2Fdocs%2Fquick-start%2F)
-- **Astro パフォーマンススコア**: 100 点満点中 99 点 [(テスト結果)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-このパフォーマンス差の大きな理由の 1 つは、Astro の JavaScript ペイロードの小ささです。[gatsbyjs.com/docs](https://www.gatsbyjs.com/docs/quick-start/)では、最初のページ読み込み時に**417kb**の JavaScript をロードするのに対し、[docs.astro.build](https://docs.astro.build)では、最初の読み込み後に**78.7kb**(全体で 81%の JavaScript 削減)の JavaScript をロードします。
-
-## Hugo vs. Astro
-
-[Hugo](https://gohugo.io/) は、人気のある静的サイトジェネレーターで、Go で書かれています。
-
-Hugo は独自の[テンプレート言語](https://gohugo.io/templates/introduction/)を使って Web サイトを作成します。Astro では、お気に入りの UI コンポーネントライブラリ(React、Preact、Vue、Svelte など)や、HTML+JSX に似た組み込みのコンポーネント構文を使ってページを作成できます。Hugo は、モダンな UI コンポーネントを使った HTML のテンプレート化をサポートしていません。
-
-### Hugo と Astro のパフォーマンスの比較
-
-Hugo のコンセプトは、Astro の「クライアントサイドの JavaScript を最小限にする」という Web 開発のアプローチと一致しています。Hugo と Astro は、どちらも同様に、デフォルトで JavaScript を使用しないパフォーマンスを基本として提供します。
-
-Hugo も Astro も、JavaScript のビルド、バンドル、ミニファイをサポートします。Astro は、ページから不要な JavaScript を自動的に外し、必要な個々のコンポーネントのみをハイドレーションします。この機能を[パーシャルハイドレーション](/core-concepts/component-hydration)と呼びます。Hugo でもこの機能を実現できますが、Astro ではデフォルトでこの機能が組み込まれています。
-
-## Jekyll vs. Astro
-
-[Jekyll](https://jekyllrb.com/) は、人気の高い静的サイトジェネレーターで、Ruby で書かれています。
-
-Jekyll は、[Liquid と呼ばれる古いテンプレート言語](https://jekyllrb.com/docs/liquid/)を使って Web サイトをレンダリングします。Astro は、お気に入りの UI コンポーネントライブラリ(React、Preact、Vue、Svelte など)や、HTML + JSX に似た組み込みのコンポーネント構文を使ってページを作成できます。Jekyll は、モダンな UI コンポーネントを使った HTML のテンプレート化をサポートしていません。
-
-### Jekyll と Astro のパフォーマンス比較
-
-Jekyll のコンセプトは、Astro の「クライアントサイドの JavaScript を最小限にする」という Web 開発アプローチと一致しています。Jekyll と Astro は、どちらも同じように、デフォルトで JavaScript を使用しないパフォーマンスを基本として提供します。
-
-Jekyll は、JavaScript を完全に避けることでこれを実現しています。Jekyll のサイトは、往々にして JavaScript をほとんど、あるいはまったく使わずに書かれていて、代わりにサーバーサイドでの HTML 生成を推進しています。これは、クライアントサイドの JavaScript が必要になったとき、問題になります。Jekyll のために独自のビルドパイプラインを作成するのはあなた次第です。そのため、バンドルやミニファイなどの最適化を自分で設定しなければならず、手間がかかります。
-
-これに対して、Astro は、クライアントサイドの JavaScript を自動的に構築します。Astro では、必要最低限の JavaScript のみを、最小化、バンドル、最適化してブラウザに送信します。これは、Jekyll でも実現可能ですが、Astro ではデフォルトで組み込まれています。
-
-## SvelteKit vs. Astro
-
-[SvelteKit](https://kit.svelte.dev/) は、Svelte 用の Web サイト&アプリケーションフレームワークとして人気があります。
-
-SvelteKit は、Svelte を使って Web サイトを生成します。Astro はより柔軟で、人気のあるコンポーネントライブラリ(React、Preact、Vue、Svelte、Solid など)や、HTML+JSX に似た Astro の HTML ライクなコンポーネント構文を使って UI を自由に構築できます。
-
-SvelteKit も Astro も、Web サイトを構築するためのフレームワークです。SvelteKit は動的な Web サイト(ダッシュボードや受信トレイなど)に適しており、Astro は静的な Web サイト(コンテンツや e コマースサイトなど)に適しています。
-
-SvelteKit は、静的サイト生成(SSG)とサーバーサイドレンダリング(SSR)の両方をサポートしています。現在、Astro は静的サイト生成(SSG)のみをサポートしています。
-
-### SvelteKit と Astro のパフォーマンス比較
-
-ほとんどの場合、Astro の Web サイトは SvelteKit の Web サイトよりも速く読み込まれます。これは、Astro がページから不要な JavaScript を自動的に取り除き、必要な個々のコンポーネントのみをハイドレーションするためです。この機能は、[パーシャルハイドレーション](/core-concepts/component-hydration)と呼ばれています。
-
-SvelteKit はパーシャルハイドレーションに対応しておらず、ページコンテンツのほとんどが静的なものであっても、ユーザーがブラウザでページ全体を読み込んで再ハイドレーションするようになっています。これにより、ページの読み込みが遅くなり、Web サイトのパフォーマンスが低下します。SvelteKit は、[ページレベルの静的なゼロ JavaScript ページ](https://kit.svelte.dev/docs#ssr-and-javascript-hydrate)をサポートしています。しかし、ページ上の個々のコンポーネントをハイドレートするためのサポートは予定されていません。このため、各ページのインタラクティブ性については、「すべてか無か」の判断を迫られることになります。
-
-### ケーススタディ:ドキュメントサイトの構築
-
-[kit.svelte.dev](https://kit.svelte.dev/docs#ssr-and-javascript-hydrate) は、SvelteKit で構築された SvelteKit の公式ドキュメントサイトです。この Web サイトは、Astro の公式ドキュメント Web サイトと比較して、十分に似たデザインと機能を提供しています。これにより、この一般的なユースケースにおける 2 つのサイトビルダーの**大雑把に実際のサイト**での比較ができます。
-
-今回テストした 2 つのサイトの注目すべき違いが 1 つあります。SvelteKit のドキュメントは 1 つのページとして提供されるのに対し、Astro のドキュメントは複数のページに分かれています。この大きなコンテンツペイロードは、ツール自体とは関係なく、パフォーマンスに若干のマイナス影響を与えるはずです。
-
-- **SvelteKit パフォーマンススコア**: 100 点満点中 92 点 [(テスト結果)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fkit.svelte.dev%2Fdocs)
-- **Astro パフォーマンススコア**: 100 点満点中 99 点 [(テスト結果)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-このテストでは、SvelteKit は Astro と同等のパフォーマンスを発揮しました。
-
-## Next.js vs. Astro
-
-[Next.js](https://nextjs.org/) は、React 用の Web サイト&アプリケーションフレームワークとして人気があります。
-
-Next.js は React を使って Web サイトをレンダリングします。Astro はより柔軟で、人気のあるコンポーネントライブラリ(React、Preact、Vue、Svelte、Solid など)や、HTML+JSX に似た Astro の HTML ライクなコンポーネント構文を使って UI を自由に構築できます。
-
-Next.js も Astro も、Web サイトを構築するためのフレームワークです。Next.js はダッシュボードや受信トレイなどの動的な Web サイトに適しており、Astro はコンテンツや e コマースサイトなどの静的な Web サイトに適しています。
-
-Next.js は静的サイト生成(SSG)とサーバーサイドレンダリング(SSR)の両方をサポートしています。現在、Astro は静的サイト生成(SSG)のみをサポートしています。
-
-### Next.js と Astro のパフォーマンス比較
-
-ほとんどの場合、Astro の Web サイトは Next.js の Web サイトよりも圧倒的に速く読み込まれます。これは、Astro がページから不要な JavaScript を自動的に取り除き、必要な個々のコンポーネントのみをハイドレーションするためです。この機能を[パーシャルハイドレーション](/core-concepts/component-hydration)と呼びます。
-
-Next.js はパーシャルハイドレーションをサポートしておらず、ページコンテンツのほとんどが静的なものであっても、ユーザーがブラウザでページ全体を読み込んで再ハイドレーションするようになっています。そのため、ページの読み込みが遅くなり、Web サイトのパフォーマンスが低下します。Next.js は、完全にスタティックな、JavaScript を使用しないページを[実験的にサポート](https://piccalil.li/blog/new-year-new-website/#heading-no-client-side-react-code) しています。しかし、ページ上の個々のコンポーネントをハイドレートするためのサポートは予定されていません。そのため、各ページのインタラクティブ性については、「すべてか無か」の判断を迫られることになります。
-
-Next.js には画像を最適化する機能が組み込まれているため、画像を多用する Web サイトでは Next.js の方が適しているかもしれません。
-
-### ケーススタディ:ドキュメントサイトの構築
-
-[nextjs.org/docs](https://nextjs.org/docs/getting-started) は、Next.js で構築された公式の Next.js ドキュメントサイトです。この Web サイトは、Astro の公式ドキュメントサイトと比較しても、十分に似たデザインと機能を備えています。これにより、この一般的なユースケースにおける 2 つのサイトビルダーの**大雑把に実際のサイト**での比較ができます。
-
-- **Next.js パフォーマンススコア**: 100 点満点中 59 点 [(テスト結果)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fnextjs.org%2Fdocs%2Fgetting-started)
-- **Astro パフォーマンススコア**: 100 点満点中 99 点 [(テスト結果)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-このパフォーマンス差の大きな理由の 1 つは、Astro の JavaScript ペイロードの小ささです。
-[nextjs.org/docs](https://nextjs.org/docs/getting-started)が最初のページ読み込み時に**463kb**の JavaScript をロードするのに対し、 [docs.astro.build](https://docs.astro.build)は最初の読み込み後に**78.7kb**(全体では 83%の JavaScript 削減)の JavaScript をロードします。
-
-## Nuxt vs. Astro
-
-[Nuxt](https://nuxtjs.org/) は、人気のある Vue の Web サイト&アプリケーションフレームワークです。Next.js に似ています。
-
-Nuxt は Vue を使って Web サイトを生成します。Astro はより柔軟で、人気のあるコンポーネントライブラリ(React、Preact、Vue、Svelte、Solid など)や、HTML+JSX に似た Astro の HTML ライクなコンポーネント構文を使って UI を自由に構築できます。
-
-Nuxt も Astro も、Web サイトを構築するためのフレームワークです。Nuxt は動的な Web サイト(ダッシュボードや受信トレイなど)に最適で、Astro は静的な Web サイト(コンテンツや e コマースサイトなど)に最適です。
-
-Nuxt は静的サイト生成(SSG)とサーバーサイドレンダリング(SSR)の両方をサポートしています。現在、Astro は静的サイト生成(SSG)のみをサポートしています。
-
-### Nuxt と Astro のパフォーマンス比較
-
-ほとんどの場合、Astro の Web サイトは Nuxt の Web サイトよりも圧倒的に速く読み込まれます。これは、Astro がページから不要な JavaScript を自動的に取り除き、必要な個々のコンポーネントのみをハイドレーションするためです。この機能は、[パーシャルハイドレーション](/core-concepts/component-hydration)と呼ばれています。
-
-Nuxt はパーシャルハイドレーションに対応しておらず、ページコンテンツのほとんどが静的なものであっても、ユーザーがブラウザでページ全体を読み込んで再ハイドレーションします。これにより、ページの読み込みが遅くなり、Web サイトのパフォーマンスが低下します。この動作を無効にする方法は、Nuxt にはありません。
-
-Nuxt には優れた画像最適化機能が内蔵されているため、画像を多用する Web サイトでは Nuxt の方が適している場合があります。
-
-### ケーススタディ:ドキュメントサイトの構築
-
-[nuxtjs.org/docs](https://nuxtjs.org/docs/2.x/get-started/installation) は、Nuxt で構築された Nuxt の公式ドキュメントサイトです。この Web サイトは、Astro の公式ドキュメントサイトと比較しても、十分に似たデザインと機能を備えています。これにより、2 つのサイトビルダーを、この一般的なユースケースにおいて、**大雑把に実際のサイト**で比較できます。
-
-- **Nuxt パフォーマンススコア**: 100 点満点中 48 点 [(テスト結果)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fnuxtjs.org%2Fdocs%2F2.x%2Fget-started%2Finstallation)
-- **Astro パフォーマンススコア**: 100 点満点中 99 点 [(テスト結果)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-このパフォーマンスの差の大きな理由の 1 つは、Astro の JavaScript ペイロードの小ささです。
-[nuxtjs.org/docs](https://nuxtjs.org/docs/2.x/get-started/installation)が最初のページ読み込み時に **469kb** の JavaScript をロードするのに対し、 [docs.astro.build](https://docs.astro.build) は最初の読み込み後に **78.7kb**(83%減)の JavaScript をロードします。
-
-## VuePress vs. Astro
-
-[VuePress](https://vuepress.vuejs.org/guide/) は、Vue.js の作者が開発した、人気の高いドキュメント Web サイト生成ツールです。VuePress は Vue.js を使用して Web サイトの UI を生成し、Astro は React、Vue.js、Svelte、生の HTML テンプレートをサポートしています。
-
-VuePress は、ドキュメントサイト用に設計されており、Astro ではサポートしていないドキュメントに特化した Web サイトの機能がいくつか組み込まれています。その代わり、Astro では、ドキュメントに特化した機能を公式の [`docs`](https://github.com/snowpackjs/astro/tree/main/examples/docs)テーマで提供しており、サイトに使用できます。この Web サイトは、そのテンプレートを使って作られています。
-
-Vue.js の作者である Evan You 氏は現在、[VitePress](https://vitepress.vuejs.org/)という VuePress の新バージョンを開発しています。VuePress に代わるモダンなツールをお求めの方は、なぜ、VitePress がより良い選択肢なのか、[Evan 氏の投稿](https://github.com/snowpackjs/astro/issues/1159#issue-974035962)をご覧ください。
-
-### VuePress と Astro のパフォーマンス比較
-
-ほとんどの場合、Astro の Web サイトは VuePress の Web サイトよりも圧倒的に速く読み込まれます。これは、Astro がページから不要な JavaScript を自動的に外し、必要な個々のコンポーネントのみをハイドレーションするためです。この機能は、[パーシャルハイドレーション](/core-concepts/component-hydration)と呼ばれています。
-
-VuePress はパーシャルハイドレーションに対応しておらず、ページコンテンツのほとんどが静的なものであっても、ユーザーがブラウザでページ全体を読み込んで再ハイドレーションするようになっています。これにより、ページの読み込みが遅くなり、Web サイトのパフォーマンスが低下します。VuePress では、この動作を無効にする方法はありません。
-
-### ケーススタディ:ドキュメントサイトの構築
-
-[vuepress.vuejs.org](https://vuepress.vuejs.org/guide/) は、VuePress で構築された、VuePress の公式ドキュメントサイトです。このサイトは、Astro の公式ドキュメントサイトと比較しても、十分に似たデザインと機能セットを提供しています。これにより、2 つのサイトビルダーを、この一般的なユースケースにおいて、**大雑把に実際のサイト**で比較できます。
-
-- **Vuepress パフォーマンススコア**: 100 点満点中 63 点 [(テスト結果)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fvuepress.vuejs.org%2Fguide%2F)
-- **Astro パフォーマンススコア**: 100 点満点中 99 点 [(テスト結果)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-このパフォーマンス差の大きな理由の 1 つは、Astro の JavaScript ペイロードの小ささです。[vuepress.vuejs.org](https://vuepress.vuejs.org/guide/) が最初のページ読み込みで **166kb** の JavaScript をロードするのに対し、 [docs.astro.build](https://docs.astro.build)は最初の読み込み後に **78.7kb**(全体で 53%の JavaScript 削減)の JavaScript をロードします。
-
-## Zola vs. Astro
-
-Zola は、Rust を使った人気の高い高速な静的サイトジェネレーターです。
-
-Zola は [Tera](https://tera.netlify.app/) を使って Web サイトを生成します。Astro は、お気に入りの UI コンポーネントライブラリ(React、Preact、Vue、Svelte など)や、HTML + JSX に似た組み込みのコンポーネント構文を使ってページを作成できます。Zola はモダンな UI コンポーネントを使った HTML のテンプレート化には対応していません。
-
-### Zola と Astro のパフォーマンス比較
-
-コンセプト的には、Zola は Astro の「クライアントサイドの JavaScript を最小限にする」という Web 開発のアプローチと一致しています。Zola と Astro は、どちらも似たような、デフォルトでは JavaScript を使用しないパフォーマンスを基本として提供します。
-
-Astro は、JavaScript のビルド、バンドル、ミニファイをサポートしています。Zola では、JavaScript をバンドルして処理するために、webpack のような別のビルドツールを使用する必要があります。Astro では、ページから不要な JavaScript を自動的に外し、必要な個々のコンポーネントのみをハイドレーションします。この機能を[パーシャルハイドレーション](/core-concepts/component-hydration)と呼びます。Zola でもこの機能を実現することは可能ですが、Astro ではデフォルトでこの機能が組み込まれています。
diff --git a/docs/src/pages/ja/getting-started.md b/docs/src/pages/ja/getting-started.md
deleted file mode 100644
index 8a7cbb768..000000000
--- a/docs/src/pages/ja/getting-started.md
+++ /dev/null
@@ -1,76 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: はじめに
-lang: ja
----
-
-Astro(アストロ)は、モダンな静的サイトジェネレーターです。Astro については、[ホームページ](https://astro.build/)や[リリース記事](https://astro.build/blog/introducing-astro)をご覧ください。このページでは、Astro のドキュメントおよび関連リソースの概要を紹介します。
-
-Astro の簡単な概要を知りたい方は[ホームページ](https://astro.build/)をご覧ください。
-
-## Astro を試す
-
-もっとも簡単な Astro を試す方法は、あなたのマシンの新しいディレクトリで `npm init astro` を実行することです。新しい Astro プロジェクトを立ち上げる際には、CLI ウィザードがサポートしてくれます。
-
-5 つの簡単なステップで Astro を使い始めるには、[クイックスタートガイド](/ja/quick-start)をご覧ください。
-
-また、[インストールガイド](/ja/installation)では、Astro のセットアップ方法を詳しく解説しています。
-
-## サンプルプロジェクト
-
-サンプルを使って Astro を学びたい方は、GitHub にある[全サンプル](https://github.com/withastro/astro/tree/main/examples)をご覧ください。
-
-これらのサンプルは、`--template` という CLI フラグを付けて `npm init astro` を実行すると、ローカルマシンでチェックアウトできます。また、 `--template` フラグは、サードパーティのコミュニティテンプレートもサポートしています。
-
-```bash
-# 公式テンプレートを使用して、initウィザードを実行
-npm init astro -- --template [OFFICIAL_EXAMPLE_NAME].
-# コミュニティテンプレートを使用して、initウィザードを実行
-npm init astro -- --template [GITHUB_USER]/[REPO_NAME]を実行します。
-npm init astro -- --template [GITHUB_USER]/[REPO_NAME]/path/to/example
-```
-
-### オンラインコードエディター
-
-ブラウザで Astro を使ってみたいという方は、[astro.new](https://astro.new/)にある UI を使ってすぐに新しい Astro プロジェクトを立ち上げられます。
-
-Stackblitz、CodeSandbox、Gitpod、GitHub Codespaces などのオンラインコードエディターでも Astro を試せます。[サンプル集](https://github.com/snowpackjs/astro/tree/main/examples)にあるサンプルの中の「Open in Stackblitz」リンクをクリックしてください。また、[ここをクリック](https://stackblitz.com/fork/astro)すると、[Stackblitz](https://stackblitz.com/fork/astro)で新しいプロジェクトを始められます。
-
-## Astro を学ぶ
-
-Astro には、さまざまなバックグラウンドを持った人が集まっており、学習スタイルもさまざまです。このセクションでは、より理論的なアプローチや実践的なアプローチなど、さまざまな学習スタイルをご紹介していますので、参考になれば幸いです。
-
-- 実際にやってみて学びたいという方は、まず[サンプルライブラリ](https://github.com/withastro/astro/tree/main/examples)から始めてください。
-- また、コンセプトを段階的に学びたい方は、[基本コンセプトとガイド](/core-concepts/project-structure)をご覧ください。
-
-他の慣れない技術と同様、Astro にも若干の習得が必要です。しかし、練習と忍耐力があれば、すぐに使いこなせるようになること間違いなしでしょう。
-
-### `.astro` 構文の学習
-
-Astro の学習を始めると、多くのファイルに `.astro` という拡張子がついているのを目にします。これは**Astro コンポーネント構文**といって、Astro がテンプレートとして使用する HTML に似た特殊なファイル形式です。HTML や JSX の経験がある人には馴染みやすいように設計されています。
-
-[Astro コンポーネント](/core-concepts/astro-components)のガイドでは、Astro コンポーネント構文を紹介していますので、これを参考にしてください。
-
-### API リファレンス
-
-このドキュメントセクションは、特定の Astro API の詳細を知りたい場合に役立ちます。たとえば、[設定リファレンス](/reference/configuration-reference)では、利用可能なすべての設定オプションがリストアップされています。[ビルトインコンポーネントリファレンス](/reference/builtin-components)では、` ` や `
` など、利用可能なすべてのコアコンポーネントがリストアップされています。
-
-### バージョン管理されたドキュメント
-
-このドキュメントは、常に最新の安定版の Astro を反映しています。v1.0 になったら、バージョン管理されたドキュメントを見れるようになる予定です。
-
-## 情報を入手する
-
-Astro チームからの最新情報は、[@astrodotbuild](https://twitter.com/astrodotbuild)の Twitter アカウントが公式に発信しています。
-
-また、[Discord コミュニティ](https://astro.build/chat)の #announcements チャンネルにもリリースのお知らせを投稿しています。
-
-すべてのリリースがブログ記事で紹介されるわけではありませんが、[Astro リポジトリの `CHANGELOG.md` ファイル](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md)には、すべてのリリースの詳細な変更履歴が記載されています。
-
-## 何か足りない?
-
-ドキュメントに何か足りないところがあったり、わかりにくいところを見つけたら、改善のための提案を[ドキュメントの Issue として提出してください](https://github.com/withastro/astro/issues/new/choose)。または [@astrodotbuild](https://twitter.com/astrodotbuild) の Twitter アカウントにつぶやいてください。皆様のご意見をお待ちしております。
-
-## クレジット
-
-このスタートアップガイドは、[React](https://reactjs.org/)のスタートアップガイドを元にしています。
diff --git a/docs/src/pages/ja/installation.md b/docs/src/pages/ja/installation.md
deleted file mode 100644
index 80757433f..000000000
--- a/docs/src/pages/ja/installation.md
+++ /dev/null
@@ -1,179 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: インストール
-description: npm、pnpm、YarnでのAstroのインストール方法
-lang: ja
----
-
-新しいプロジェクトに Astro をインストールするには、いくつかの方法があります。
-
-## 事前準備
-
-- **Node.js** -`v14.15.0`、`v16.0.0`、またはそれ以上。
-- **テキストエディター** - [VS Code](https://code.visualstudio.com/) と [公式 Astro extension](https://marketplace.visualstudio.com/items?itemName=astro-build.astro-vscode)をオススメします。
-- **ターミナル** - Astro は主にターミナルのコマンドラインからアクセスします。
-
-解説のため、このドキュメントでは [`npm`](https://www.npmjs.com/) を使用しますが、npm の代わりに [`Yarn`](https://yarnpkg.com/) や [`pnpm`](https://pnpm.io/) を使用してもかまいません。
-
-## ウィザードによる作成
-
-新しいプロジェクトに Astro をインストールするには、`npm init astro`がもっとも簡単な方法です。ターミナルでこのコマンドを実行すると、新しいプロジェクトのセットアップを支援する`create-astro`インストールウィザードが起動します。
-
-```shell
-# npm
-npm init astro
-
-# Yarn
-yarn create astro
-
-# pnpm
-pnpm create astro
-```
-
-[`create-astro`](https://github.com/withastro/astro/tree/main/packages/create-astro)ウィザードでは、[スターターテンプレート](https://github.com/withastro/astro/tree/main/examples)から好きなものを選べます。代わりに GitHub から自分の Astro プロジェクトを直接インポートもできます。
-
-```bash
-# 注: "my-astro-project" はあなたのプロジェクト名に置き換えてください。
-
-# npm 6.x
-npm init astro my-astro-project --template starter
-# npm 7+ (追加でダブルダッシュが必要)
-npm init astro my-astro-project -- --template starter
-# Yarn
-yarn create astro my-astro-project --template starter
-# pnpm
-pnpm create astro my-astro-project --template starter
-# サードパーティのテンプレートを使用
-npm init astro my-astro-project -- --template [GITHUB_USER]/[REPO_NAME]
-# パスを指定してサードパーティのテンプレートを使用
-npm init astro my-astro-project -- --template [GITHUB_USER]/[REPO_NAME]/path/to/template
-```
-
-`create-astro` でプロジェクトを作成したら、npm やお好みのパッケージマネージャーを使って、プロジェクトの依存関係をインストールすることを忘れないでください。この例では、npm を使用します。
-
-```bash
-npm install
-```
-
-これで、Astro プロジェクトを[スタート](#astro-の開始)できます。Astro の実行に必要なファイルの準備ができたら、プロジェクトを[ビルド](#astro-のビルド)できます。 Astro はアプリケーションをパッケージ化し、静的ファイルを用意しますので、好きなホスティングサービスに[デプロイ](/guides/deploy)できます。
-
-## 手動インストール
-
-Astro は、`create-astro`ウィザードを使わなくてもインストールできます。以下に、Astro を動作させるために必要な追加手順を示します。
-
-### プロジェクトのセットアップ
-
-```bash
-# 新しいディレクトリを作成し、その中に移動してください。
-mkdir my-astro-project
-cd my-astro-project
-```
-
-プロジェクト名で空のディレクトリを作成し、その中に移動します。
-
-### `package.json` の作成
-
-```bash
-# This command will create a basic package.json for you
-npm init --yes
-```
-
-Astro は、npm パッケージ・エコシステム全体を扱うように設計されています。
-これは、プロジェクトのルートにある「package.json」と呼ばれるプロジェクト・マニフェストで管理されます。もし、`package.json`ファイルに慣れていないのであれば、[npm のドキュメント](https://docs.npmjs.com/creating-a-package-json-file)を参照することを強くオススメします。
-
-### Astro のインストール
-
-上記の手順で、「package.json」ファイルのあるディレクトリが完成しました。これで、プロジェクト内に Astro をインストールできます。
-
-```bash
-npm install astro
-```
-
-次に、`npm init`が作成してくれた`package.json`ファイルの"scripts"セクションを、以下のように置き換えます。
-
-```diff
- "scripts": {
-- "test": "echo \"Error: no test specified\" && exit 1"
-+ "dev": "astro dev",
-+ "build": "astro build",
-+ "preview": "astro preview"
- },
-}
-```
-
-[`dev`](#astro-の開始)コマンドは、Astro Dev Server(`http://localhost:3000`)を起動します。プロジェクトの準備ができたら、[`build`](#astro-のビルド)コマンドで、プロジェクトを`dist/`ディレクトリに出力します。Astro のデプロイについては、[デプロイガイド](/guides/deploy)をご覧ください。
-
-### 最初のページを作る
-
-お気に入りのテキストエディターを開き、プロジェクト内に新規ファイルを作成します。
-
-1. `src/pages/index.astro` に新しいファイルを作成する
-2. 以下のスニペットをコピー&ペーストする(`---`のダッシュも含みます)
-
-```astro
----
-// (---)のコードフェンスの間には、JS/TSコードが書かれています。
-// これらのコードはサーバー上でのみ実行されます!
-console.log('これはターミナルに表示されます')
----
-
-
-
- Hello, World!
-
-
-
-
-
-
-```
-
-上記は、Astro コンポーネント構文の一例で、HTML と JSX の両方で構成されています。
-
-`src/pages`ディレクトリには、さらに多くのページを作成でき、Astro はそのファイル名を使ってサイトに新しいページを作成します。たとえば、`src/pages/about.astro`に(前のスニペットを再利用して)新しいファイルを作成すると、`http://localhost/about`という URL に新しいページが作成されます。
-
-## [Astro の開始](#astro-の開始)
-
-```bash
-npm run dev
-```
-
-これで Astro は、`http://localhost:3000`でアプリケーションのサービスを開始します。この URL をブラウザで開くと、Astro の「Hello, World」が表示されるはずです。
-
-開発の進捗状況をローカルネットワーク上で共有したり、スマートフォンからアプリを確認したければ、以下の[snowpack](https://www.snowpack.dev/reference/configuration#devoptionshostname)オプションを`astro.config.mjs`に追加してください。
-
-```js
-devOptions: {
- hostname: '0.0.0.0';
-}
-```
-
-## [Astro のビルド](#astro-のビルド)
-
-```bash
-npm run build
-```
-
-このコマンドを実行すると、Astro はサイトを構築し、ディスクに直接保存するように指示します。
-`dist/`ディレクトリをみると構築されたアプリケーションが確認できます。
-
-## 次のステップ
-
-これで開発を始める準備が整いました。
-
-Astro がどのように機能しているかをもっとよく知ることを強くオススメします。そのためには、これらのドキュメントを探索することを検討してみてください。
-
-📚 Astro のプロジェクト構造については、[プロジェクト構造ガイド](/core-concepts/project-structure)をご覧ください。
-
-📚 Astro のコンポーネント構文については[Astro コンポーネントガイド](/core-concepts/astro-components)を参照してください。
-
-📚 Astro のファイルベースのルーティングについては、[ルーティングガイド](core-concepts/astro-pages)を参照してください。
diff --git a/docs/src/pages/ja/quick-start.md b/docs/src/pages/ja/quick-start.md
deleted file mode 100644
index bfb0e307f..000000000
--- a/docs/src/pages/ja/quick-start.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: クイックスタート
-lang: ja
----
-
-```shell
-# 必須条件: Node.jsが14.15.0+、または16+であることを確認する。
-node --version
-
-# 新しいプロジェクトディレクトリを作成し、その中に直接移動します
-mkdir my-astro-project && cd $_
-
-# 必要なファイルの準備
-npm init astro
-
-# 依存関係のインストール
-npm install
-
-# 開発を始めよう
-npm run dev
-```
-
-```shell
-# 準備ができたら、`dist/`に静的サイトを構築します。
-npm run build
-```
-
-はじめて Astro をインストールして使用する場合は、[インストールガイド](/ja/installation)をご覧ください。
-
-サンプルを見ながら学びたいという方は、GitHub にある[全サンプル](https://github.com/withastro/astro/tree/main/examples)をご覧ください。 `npm init astro -- --template "EXAMPLE_NAME"` を実行すれば、これらのサンプルをローカルにチェックアウトできます。
-
-## プロジェクトの開始
-
-ターミナルでプロジェクトのディレクトリに移動し、次のコマンドを入力します。
-
-```bash
-npm run dev
-```
-
-これで Astro は、 [http://localhost:3000](http://localhost:3000)で、アプリケーションの提供を開始します。この URL をブラウザで開くと、Astro の「Hello, World」が表示されるはずです。
-
-サーバーは、あなたの`src/`ディレクトリにあるファイルの変更を常に監視しているので、開発中に変更してもアプリケーションを再起動する必要はありません。
-
-## プロジェクトのビルド
-
-プロジェクトをビルドするには、あなたのディレクトリ内で、ターミナルに次のビルドコマンドを入力します。
-
-```bash
-npm run build
-```
-
-このコマンドを実行すると、Astro はサイトを構築し、ディスクに直接保存するように指示します。これで、`dist/`ディレクトリにアプリケーションができあがりました。
-
-## プロジェクトのデプロイ
-
-Astro のサイトは静的なので、お好みのホストにデプロイできます。
-
-- [AWS S3 bucket](https://aws.amazon.com/s3/)
-- [Google Firebase](https://firebase.google.com/)
-- [Netlify](https://www.netlify.com/)
-- [Vercel](https://vercel.com/)
-- もっと詳しい Astro のデプロイについては、[デプロイガイド](/guides/deploy)をご覧ください。
-
-## 次のステップ
-
-これで開発を始める準備が整いました。
-
-次のステップでは、Astro の仕組みをより深く理解することをオススメします。これらのドキュメントを探索することを検討してみてください。
-
-📚 Astro のプロジェクト構造については、[プロジェクト構造ガイド](/core-concepts/project-structure)をご覧ください。
-
-📚 Astro のコンポーネント構文については、[Astro コンポーネントガイド](/core-concepts/astro-components)を参照してください。
-
-📚 Astro のファイルベースのルーティングについては、[ルーティングガイド](/core-concepts/astro-pages)を参照してください。
diff --git a/docs/src/pages/ja/themes.astro b/docs/src/pages/ja/themes.astro
deleted file mode 100644
index 5a64cf826..000000000
--- a/docs/src/pages/ja/themes.astro
+++ /dev/null
@@ -1,53 +0,0 @@
----
-import Layout from '../../layouts/MainLayout.astro';
-import Card from '../../components/Card.astro';
-import { Markdown } from 'astro/components';
-import themes from '../../data/themes.json';
-import components from '../../data/components.json';
----
-
-
-
-
- ## 注目のテーマ
-
-
- {themes.featured.map((item) => )}
-
-
- ## 公式テーマ
-
- Astro では、ドキュメントサイトやポートフォリオなど、いくつかの公式テーマを用意しています。
-
-
- {themes.official.map((item) => )}
-
-
- ## コミュニティテーマ
-
- コミュニティが開発したテーマをご覧ください。
-
-
- {themes.community.map((item) => )}
-
-
- ## 注目のパッケージ
-
- 私たちのパッケージエコシステムは成長し続けています。注目のコミュニティパッケージをご覧ください。コレクション全体は[npm](https://www.npmjs.com/search?q=keywords%3Aastro-component)で検索できます。
-
-
- {components.community.map((item) => )}
-
-
- > 自分のテーマを紹介したい場合は、[Discord でシェアしてください!](https://astro.build/chat)
- > `#showcase` チャンネルに投稿されたお気に入りの作品をよくピックアップしています。
-
-
diff --git a/docs/src/pages/kr/getting-started.md b/docs/src/pages/kr/getting-started.md
deleted file mode 100644
index e6af7a19e..000000000
--- a/docs/src/pages/kr/getting-started.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: 시작하기
-lang: kr
----
-
-Astro는 현대적인 정적 사이트 생성기(Static Site Generator)입니다. [홈페이지](https://astro.build/)나 [블로그](https://astro.build/blog/introducing-astro) 글을 통해 Astro에 대한 모든 것을 알아보세요. 이 페이지는 Astro 문서와 관련된 리소스를 소개합니다.
-
-## Astro 시작하기
-
-Astro를 시작하는 가장 쉬운 방법은 `npm init astro` 명령어를 실행하는 것입니다. 새로운 디렉토리에서 명령어를 실행해주세요. CLI 도우미가 새로운 프로젝트를 시작할 수 있도록 도와줍니다.
-
-이 문서의 퀵스타트 가이드에서는 Astro를 쉽고 빠르게 시작할 수 있도록 도와주는 5가지 단계를 소개하고 있습니다. [퀵스타트 가이드](quick-start) 페이지를 방문해 관련 내용을 자세히 알아보세요.
-
-혹은 [설치 가이드](/installation)를 통해 Astro 시작과 설정에 관한 자세한 설명을 읽어볼 수도 있습니다.
-
-### 온라인 플레이그라운드
-
-온라인 플레이그라운드를 통해 Astro를 브라우저 환경에서 체험해보는 것도 가능합니다. [CodeSandbox](https://codesandbox.io/s/astro-template-hugb3)에서 "Hello World!" 템플릿으로 시작해보세요.
-
-_주의: 몇몇 기능은 아직 CodeSandbox에서 동작하지 않을 수 있습니다. (예: Fast Refresh)_
-
-## Astro 배우기
-
-사람들은 다양한 배경에서 각자 다른 학습 스타일로 Astro에 입문합니다. 이 섹션이 이론적인 접근 방식이나 실용적인 접근 방식을 선호하는 사람 모두에게 도움이 되기를 바랍니다.
-
-- **직접 경험하며 배우는** 방식을 선호한다면, [예제 라이브러리](https://github.com/withastro/astro/tree/main/examples)에서 시작해보세요.
-- **개념부터 차근차근 익히는** 방식을 선호한다면, [기본 개념 가이드](/core-concepts/project-structure)에서 시작해보세요.
-
-다른 낯선 기술과 마찬가지로 Astro에는 러닝 커브(learning curve)가 있습니다. 하지만 약간의 인내심을 가지고 연습한다면 충분히, 쉽게 습득할 수 있습니다.
-
-### `.astro` 문법 배우기
-
-Astro를 배우기 시작하면 많은 파일들이 `.astro` 확장자를 사용하고 있는 것이 눈에 띌 것입니다. 이것은 Astro의 **컴포넌트**를 의미합니다. Astro의 컴포넌트는 HTML과 비슷한 파일 포맷을 가지고 있으며 템플레이팅 (templating)에 사용됩니다. HTML이나 JSX를 사용해본 경험이 있는 사람이라면 누구나 익숙함을 느끼도록 설계되었습니다.
-
-Astro 컴포넌트를 배우는 가장 좋은 방법은 이 문서의 [Astro 컴포넌트 가이드](/core-concepts/astro-components)를 읽는 것입니다. Astro 컴포넌트 페이지에서는 기본 문법을 익히는 데 도움 되는 가이드를 제공합니다.
-
-### API 참조
-
-API 참조 섹션은 특정 Astro API를 자세히 배우고 싶을 때 유용합니다. 예를 들어, [환경 설정](/reference/configuration-reference) 페이지는 설정에 적용 가능한 모든 옵션을 제공하며, [내장 컴포넌트](/reference/builtin-components) 페이지는 ` `이나 ` `과 같은 핵심적인 컴포넌트들의 목록을 보여줍니다.
-
-### 버전 관리된 문서
-
-이 문서는 항상 최신 안정 버전의 Astro를 반영합니다. 이전 버전의 문서를 열람하는 기능은 Astro가 1.0 버전에 도달한 이후에 제공될 예정입니다.
-
-## 최신 소식 받아보기
-
-[@astrodotbuild](https://twitter.com/astrodotbuild) 트위터 계정을 통해 Astro 팀이 게시하는 공식적인 업데이트 소식을 받아볼 수 있습니다.
-
-또한 [디스코드](https://astro.build/chat)의 #announcements 채널에서도 릴리즈 소식을 찾아볼 수 있습니다.
-
-모든 릴리즈가 블로그에 게시되는 것은 아닙니다. 블로그에 게시되지 않은 버전 릴리즈에 관한 자세한 수정사항은 [Astro 리포지터리 안의 `CHANGELOG.md`](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) 파일에서 읽어볼 수 있습니다.
-
-## 빠진 항목이 있나요?
-
-문서에서 빠진 항목을 발견하거나 혼동되는 부분이 있다면 개선을 위한 제안과 함께 [문서의 리포지터리](https://github.com/withastro/astro/issues/new/choose)에 이슈를 올리거나 [@astrodotbuild](https://twitter.com/astrodotbuild) 트위터 계정으로 트윗해주세요. 여러분의 참여를 기다립니다!
-
-## 크레딧
-
-이 시작하기 가이드는 [React](https://reactjs.org/)의 시작하기 가이드를 참고하여 제작되었습니다.
diff --git a/docs/src/pages/nl/getting-started.md b/docs/src/pages/nl/getting-started.md
deleted file mode 100644
index 3717c7fe0..000000000
--- a/docs/src/pages/nl/getting-started.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Beginnen
-lang: nl
----
-
-Astro is een moderne statische sitebouwer. Leer alles over Astro op onze [homepage](https://astro.build/) of ons [release-bericht](https://astro.build/blog/introducing-astro). Deze pagina is een overzicht van de Astro documentatie en alle gerelateerde bronnen.
-
-## Probeer Astro
-
-De gemakkelijkste manier om Astro te proberen, is door `npm init astro` uit te voeren in een nieuwe map op je computer. Deze CLI opdracht helpt je in verschillende stappen je eerste Astro project op te zetten.
-
-Lees onze [installatiegids](/installation) voor een volledige uitleg over hoe je met Astro aan de slag kunt.
-
-### Online Playgrounds
-
-Als je interesse hebt om Astro online uit te proberen in je browser, kun je een online playground gebruiken. Probeer een Hello World voorbeeld op [CodeSandbox](https://codesandbox.io/s/astro-template-hugb3).
-
-_Opmerking: sommige functies (bv. Snel vernieuwen) zijn momenteel beperkt op CodeSandbox._
-
-## Astro leren
-
-Mensen komen naar Astro vanuit verschillende achtergronden en met verschillende leerstijlen. Of je nu de voorkeur geeft aan een meer theoretische of praktische benadering, we hopen dat je deze sectie nuttig zult vinden.
-
-- Als je liever **leert door te doen**, begin dan met onze [voorbeeldenbibliotheek](https://github.com/withastro/astro/tree/main/examples).
-- Als je de concepten liever **stap voor stap leert**, begin dan met onze [basisconcepten en handleidingen](/core-concepts/project-structure).
-
-Zoals elke onbekende technologie heeft Astro een leercurve. Met wat oefening en wat geduld krijg je het onder de knie.
-
-### Leer de `.astro` syntax
-
-Wanneer je Astro begint te leren, zul je veel bestanden zien die de `.astro` bestandsextensie gebruiken. Dit is de syntax van de **Astro-component**: een speciaal HTML-achtig bestandsformaat dat Astro gebruikt voor sjablonen. Het is ontworpen om vertrouwd te voelen voor iedereen met HTML- of JSX-ervaring.
-
-Onze gids over [Astro-componenten](/core-concepts/astro-components) helpt je door de nieuwe `.astro` syntax en is de beste manier om te leren.
-
-### API referentie
-
-Deze documentatiesectie is handig als je meer details wilt weten over een bepaalde Astro API. [Configuratie referentie](/reference/configuration-reference) vermeldt bijvoorbeeld alle mogelijke configuratieopties die beschikbaar zijn. [Ingebouwde Componenten Referentie](/reference/builtin-components) geeft een overzicht van alle beschikbare kerncomponenten, zoals ` ` en `
`.
-
-### Documentatie versies
-
-Deze documentatie geeft altijd de laatste stabiele versie van Astro weer. Zodra we de v1.0-mijlpaal hebben bereikt, voegen we de mogelijkheid toe om versiedocumentatie te bekijken.
-
-## Op de hoogte blijven
-
-Het [@astrodotbuild](https://twitter.com/astrodotbuild) Twitter-account is de officiële bron voor de updates van het Astro-team.
-
-We plaatsen ook release-aankondigingen in onze [Discord-community](https://astro.build/chat) in het #announcements kanaal.
-
-Niet elke Astro-release verdient een eigen blogpost, maar je kunt een gedetailleerde changelog voor elke release vinden in het [CHANGELOG.md-bestand in de Astro-repository](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md).
-
-## Mis je iets?
-
-Als er iets ontbreekt in de documentatie of als je een onderdeel verwarrend vond, [dien dan een probleem in voor de documentatie](https://github.com/withastro/astro/issues/new/choose) met je suggesties voor verbetering, of tweet naar het [@astrodotbuild](https://twitter.com/astrodotbuild) Twitter-account. We horen graag van je!
-
-## Credit
-
-Deze handleiding 'Aan de slag' was oorspronkelijk gebaseerd op de handleiding 'Aan de slag' van [React](https://reactjs.org/).
diff --git a/docs/src/pages/nl/quick-start.md b/docs/src/pages/nl/quick-start.md
deleted file mode 100644
index d09dd6170..000000000
--- a/docs/src/pages/nl/quick-start.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Snel Start
-description: De makkelijkste manier om snel te beginnen met Astro.
----
-
-```shell
-# voorwaarde: check dat Node.js versie een van de volgende is: 14.15.0+, of 16+
-node --version
-
-# maak een nieuwe project folder en navigeer naar deze folder
-mkdir my-astro-project && cd $_
-
-# maak je klaar voor de lancering
-npm init astro
-
-# afhankelijkheden installeren
-npm install
-
-# start de ontwikkeling!
-npm run dev
-```
-
-```shell
-# zodra je klaar bent, bouw dan je website met het volgende commanda
-npm run build
-```
-
-Voor meer informatie over het voor het gebruik van Astro en het installeren ervan: [lees onze installatie handleiding.](/installation)
-
-Als je liever leert doormiddel van voorbeelden, bekijk dan de [complete bibliotheek van voorbeelden](https://github.com/withastro/astro/tree/main/examples) op GitHub. Je kan deze voorbeelden lokaal bekijken door het volgende commando uit te voeren: `npm init astro -- --template "EXAMPLE_NAME"`.
-
-## Start je project
-
-Navigeer naar je project folder, en voer het volgende commando uit in je terminal:
-
-```bash
-npm run dev
-```
-
-Astro start nu je applicatie op, je kan deze vinden op [http://localhost:3000](http://localhost:3000). Als je deze URL opent zie je de Astro versie van "Hello, World".
-
-De server luistert naar live wijzifgingen in je `src/` folder, dus je hoeft de applicatie niet handmatig te herstarten bij elke wijziging tijdens de ontwikkeling.
-
-## Bouw je project
-
-Om je project te bouwen voor productie kun je het volgende commando uitvoeren in de terminal. (Zorg ervoor dat je in de folder bent).
-
-```bash
-npm run build
-```
-
-Dit zorgt ervoor dat Astro je project bouwt. De applicatie is nu beschikbaar in de `dist/` folder.
-
-## Host je project
-
-Astro websites zijn statisch, dus ze kunnen gehost worden op je favorite hosting platformen:
-
-- [AWS S3 bucket](https://aws.amazon.com/s3/)
-- [Google Firebase](https://firebase.google.com/)
-- [Netlify](https://www.netlify.com/)
-- [Vercel](https://vercel.com/)
-- [Lees meer over Astor hosting in onze hosting handleiding.](/guides/deploy)
-
-## Volgende stappen
-
-Succes! Je bent nu klaar om te beginnen met ontwikkelen!
-
-We raden je aan om wat tijd te nemen om bekend te raken met hoe Astro werkt. Je kan meer informatie verkrijgen door de Docs te bestuderen, we raden de volgende artikelen aan:
-
-📚 Leer meer over Astro's projectstructuur: [Projectstructuur handleiding.](/core-concepts/project-structure)
-
-📚 Leer meer over Astro's component syntax: [Astro Components handleiding.](/core-concepts/astro-components)
-
-📚 Lees meer over Astro's bestand routing [Routing handleiding.](core-concepts/astro-pages)
diff --git a/docs/src/pages/pt-br/getting-started.md b/docs/src/pages/pt-br/getting-started.md
deleted file mode 100644
index cff738a22..000000000
--- a/docs/src/pages/pt-br/getting-started.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Introdução
-lang: pt-br
----
-
-Astro é um moderno construtor de site estático. Aprenda mais sobre Astro através da [nossa página inicial](https://astro.build/) ou do [nosso post de lançamento](https://astro.build/blog/introducing-astro). Esta página é uma visão geral da documentação do Astro e de todos os recursos relacionados.
-
-## Experimente Astro
-
-A maneira mais fácil de experimentar Astro é através da execução do comando `npm init astro` em um novo diretório na sua máquina. Nosso assistente para interface de linha de comandos (Wizard CLI) irá te ajudar a iniciar um novo projeto Astro.
-
-Para começar com Astro em 5 etapas rápidas e fáceis, visite nosso [Guia de início rápido](quick-start).
-
-Como alternativa, leia nosso [Guia de Instalação](/installation) para uma guia de instalação completo do Astro.
-
-### Experimente Online
-
-Se você tem interesse em testar Astro online no navegador, você pode usar um editor de código online. Experimente nosso template "Olá Mundo!" em [CodeSandbox](https://codesandbox.io/s/astro-template-hugb3).
-
-_Nota: algumas funcionalidades (ex: Fast Refresh) no momento estão limitadas no CodeSandbox._
-
-## Aprenda Astro
-
-Todos os tipos de pessoas vêm ao Astro com diferentes bagagens trazendo com eles diferentes estilos de aprendizagem. Se você prefere uma abordagem mais teórica ou prática, esperamos que você encontre esta seção útil.
-
-- Se você prefere **aprender fazendo**, comece com nossa [biblioteca de exemplos](https://github.com/withastro/astro/tree/main/examples).
-- Se você prefere **aprender conceitos passo-a-passo**, comece com [conceitos básicos e guias](/core-concepts/project-structure).
-
-Como qualquer tecnologia emergente, Astro vem com uma leve curva de aprendizado. No entanto, com prática e alguma paciência, sabemos que você _vai_ pegar o jeito da coisa.
-
-### Aprenda a Sintaxe do `.astro`
-
-Quando você começa a aprender Astro, você verá muitos arquivos usando a extensão `.astro`. Esta é a **Sintaxe de componentes do Astro**: um formato de arquivo HTML especial que o Astro usa para modelagem. Foi projetado para dar o sentimento de familiaridade para qualquer pessoa com experiência HTML ou JSX.
-
-Nosso guia útil em [componentes de Astro](/core-concepts/astro-components) apresenta você à sintaxe Astro e é a melhor maneira de aprender.
-
-### Referência da API
-
-Esta seção de documentação é útil quando você deseja aprender mais detalhes sobre uma determinada API do Astro. Por exemplo, [Referência de Configuração](/reference/configuration-reference) lista todas as opções de configuração possíveis disponíveis para você. [Referência de componentes incorporados](/reference/builtin-components) listas todos os componentes base disponíveis, como ` ` e `
`.s
-
-### Documentação por Versão
-
-Esta documentação sempre reflete a última versão estável do Astro. Assim que liberarmos a versão v1.0, adicionaremos a capacidade de visualizar a documentação baseado na versão.
-
-## Fique Informado(a)
-
-A conta do Twitter [@astrodotbuild](https://twitter.com/astrodotbuild) é a fonte oficial de atualizações da equipe do Astro.
-
-Também publicamos anúncios de lançamento em nossa [comunidade no Discord](https://astro.build/chat) no canal #announcements.
-
-Nem todo lançamento do Astro merece sua própria postagem no blog, mas você pode encontrar um changelog detalhado para cada lançamento no arquivo [`CHANGELOG.md` no repositório Astro](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md).
-
-## Algo está faltando?
-
-Se algo estiver faltando na documentação ou se você achar alguma parte confusa, por favor [registre uma nova issue para a documentação](https://github.com/withastro/astro/issues/new/choose) com suas sugestões de melhoria, ou tweet na conta do Twitter [@astrodotbuild](https://twitter.com/astrodotbuild). Nós adoramos ouvir de você!
-
-## Créditos
-
-Este guia de introdução foi originalmente baseado no guia de introdução do [React](https://reactjs.org/).
diff --git a/docs/src/pages/ru/getting-started.md b/docs/src/pages/ru/getting-started.md
deleted file mode 100644
index ed0bc7995..000000000
--- a/docs/src/pages/ru/getting-started.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Начало Работы
----
-
-Astro – это современный сборщик статических сайтов. Вы можете узнать всё об Astro на [главной странице](https://astro.build/) или из [нашего релизного поста](https://astro.build/blog/introducing-astro). Эта страница даёт общее представление о документации и всех относящихся к Asto материалах.
-
-## Пробуем Astro
-
-Самый простой способ попробовать Astro — запустить команду `npm init astro` в новой директории на вашем компьютере. Наш CLI установщик поможет вам в разворачивании нового проекта на Astro.
-
-Для быстрого старта с Astro в 5 простых шагов, посетите страницу руководства по [быстрому старту](ru/quick-start).
-
-Также вы можете развернуть проект с помощью [руководства по установке](/installation), которое пошагово проведёт через процесс разворачивания проекта с Astro.
-
-### Примеры проектов
-
-Если вы предпочитаете учить Astro по примерам, вы можете воспользоваться [полной библиотекой примеров](https://github.com/withastro/astro/tree/main/examples) на GitHub.
-
-Вы можете установить любой из этих примеров на вашу локальную машину с помощью команды `npm init astro` и дополнительного параметра `--template`. Флаг `--template` также поддерживает сторонние шаблоны.
-
-```bash
-# Запустить инициализацию и использовать официальный шаблон
-npm init astro -- --template [OFFICIAL_EXAMPLE_NAME]
-# Запустить инициализацию и использовать шаблон, предложенный сообществом
-npm init astro -- --template [GITHUB_USER]/[REPO_NAME]
-npm init astro -- --template [GITHUB_USER]/[REPO_NAME]/path/to/example
-```
-
-### Онлайн-песочницы
-
-Если вы хотите попробовать Astro прямо в браузере, можно использовать онлайн-редакторы кода, например, Stackblitz, CodeSandbox, Gitpod или GitHub Codespaces.
-Также вы можете нажать на кнопку "Open in Stackblitz" в любом из примеров в нашей [библиотеке](https://github.com/withastro/astro/tree/main/examples). Или [нажмите здесь](https://stackblitz.com/fork/astro), чтобы запустить новый проект на [Stackblitz](https://stackblitz.com/fork/astro).
-
-## Изучаем Astro
-
-Люди, приходящие в Astro из разных областей, приносят свой уникальный стиль изучения. Независимо от того, какой стиль изучения вы предпочитаете: теоретический или практический, мы надеемся, этот раздел будет вам полезен.
-
-- Если вы предпочитаете **изучение на практике**, начните с нашей [библиотеки примеров](https://github.com/withastro/astro/tree/main/examples).
-- Если вы предпочитаете **изучать принципы шаг за шагом**, начните с [основных принципов и руководств](/core-concepts/project-structure).
-
-Как любая новая технология, Astro требует немного изучения.
-Однако мы уверены, что при должной практике и некотором терпении вы быстро _научитесь_ этому.
-
-### Изучаем `.astro` синтаксис
-
-Когда вы начнёте изучать Astro, вы увидите много файлов, которые используют расширение `.astro`. **Синтаксис компонентов Astro** – это специальный, похожий на HTML-формат файл, который Astro изпользует для шаблонизации. Он был разработан так, чтобы быть знакомым для любого человека, у которого есть опыт работы с HTML или JSX.
-
-Наше руководство по [Astro компонентам](/core-concepts/astro-components) даст вам представление о синтаксисе Astro, и это самый лучший путь для их изучения.
-
-### Справочник API
-
-Если вы хотите узнать больше деталей о конкретных Astro API, изучите справочник по API. Например, в нём можно найти документацию по [конфигурации](/reference/configuration-reference) с полным списком доступных настроек, или [полный список встроенных компонентов](/reference/builtin-components), таких как ` ` и `
`.
-
-### Документация на старые версии Astro
-
-Эта документация всегда описывает последнюю стабильную версию Astro. Как только мы достигнем версии v1.0, добавим возможность для просмотра других версий документации.
-
-## Обратная связь
-
-Твиттер аккаунт [@astrodotbuild](https://twitter.com/astrodotbuild) является официальным источником обновлений от команды Astro.
-
-Также мы выкладываем анонсы релизов в нашем сообществе в [Discord](https://astro.build/chat) в канале #announcements.
-
-Не каждый релиз Astro заслуживает отдельной публикации в нашем блоге, но вы можете найти все детали в описании изменений к релизу в файле [`CHANGELOG.md`](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) в нашем репозитории на Github.
-
-## Что-то упущено?
-
-Если в документации что-то пропущено или какая-то часть не совсем понятна, пожалуйста, [создайте issue по документации](https://github.com/withastro/astro/issues/new/choose) с вашими предложениями об исправлениях или улучшениях, или упомяните наш [@astrodotbuild](https://twitter.com/astrodotbuild) Твиттер аккаунт в вашем твите. Мы всегда рады услышать ваши мысли об Astro!
-
-## Благодарность
-
-Этот гайд был основан на руководстве по быстрому старту с [React](https://reactjs.org/).
diff --git a/docs/src/pages/ru/quick-start.md b/docs/src/pages/ru/quick-start.md
deleted file mode 100644
index 83383c7c9..000000000
--- a/docs/src/pages/ru/quick-start.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Быстрый старт
----
-
-```shell
-# Заметка: проверьте, что у вас установлена Node.js версии 14.15.0+, или 16+
-node --version
-
-# Создайте новую директорию и перейдите в неё
-mkdir my-astro-project && cd $_
-
-# подготовка к запуску...
-npm init astro
-
-# установка зависимостей
-npm install
-
-# начинаем разработку!
-npm run dev
-```
-
-```shell
-# когда все готово: запустите сборку вашего статического сайта в директорию `dist/`
-npm run build
-```
-
-Чтобы узнать больше об установке и использовании Astro, пожалуйста, [прочитайте нашу инструкцию по установке.](installation)
-
-Если вы предпочитаете обучаться по примерам, обратите внимание на [нашу библиотеку примеров](https://github.com/withastro/astro/tree/main/examples) на GitHub. Вы можете развернуть любой из примеров локально, запустив команду `npm init astro -- --template "EXAMPLE_NAME"`.
-
-## Запуск вашего проекта
-
-Находясь в директории проекта запустите команду ниже в терминале:
-
-```bash
-npm run dev
-```
-
-Astro запустит сервер для разработки по адресу [http://localhost:3000](http://localhost:3000). При открытии этого URL в вашем браузере, вы должны увидеть "Hello, World" от Astro.
-
-Сервер будет следить за изменениями в директории `src/`, значит вам не нужно будет перезапускать сервер каждый раз после внесения изменений.
-
-## Сборка проекта
-
-Чтобы собрать ваш проект, находясь в директории проекта, введите и запустите следующую команду в терминале:
-
-```bash
-npm run build
-```
-
-Эта команда запустит процесс сборки и сохранит собранный сайт на диск. После выполнения ваш сайт будет находиться в директории `dist/`.
-
-## Деплой вашего сайта
-
-Сайты, созданные с помощью Astro, являются статичными. Это значит, что они могут быть размещены на любом из хостингов, который вы предпочитаете:
-
-- [AWS S3 bucket](https://aws.amazon.com/s3/)
-- [Google Firebase](https://firebase.google.com/)
-- [Netlify](https://www.netlify.com/)
-- [Vercel](https://vercel.com/)
-- [Читайте больше о деплое сайтов, собранных с помощью Astro, в нашем руководстве по деплою.](/guides/deploy)
-
-## Следующие шаги
-
-Ура! Теперь вы готовы к разработке!
-
-Мы рекомендуем вам потратить немного времени, чтобы познакомиться с работой Astro ближе. Вы можете сделать это с помощью дальнейшего ознакомления с документацией. Мы советуем изучить следующие материалы:
-
-📚 Узнать больше [о структуре проектов Astro.](/core-concepts/project-structure)
-
-📚 Узнать больше [о синтаксисе компонентов Astro.](/core-concepts/astro-components)
-
-📚 Узнать больше [о роутинге, основанном на файловой структуре.](core-concepts/astro-pages)
diff --git a/docs/src/pages/zh-CN/comparing-astro-vs-other-tools.md b/docs/src/pages/zh-CN/comparing-astro-vs-other-tools.md
deleted file mode 100644
index 65441ea3e..000000000
--- a/docs/src/pages/zh-CN/comparing-astro-vs-other-tools.md
+++ /dev/null
@@ -1,205 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: Astro 对比其他框架
-lang: zh-CN
----
-
-我们经常被问到这个问题, "Astro 和我最喜欢的网站构建工具**\_\_\_\_**相比如何?"本指南是为了帮助回答这个问题而编写的,适用于几个流行的网站构建工具以及 Astro 替代品。
-
-如果你没有看到你最喜欢的网站构建工具被列在这里。 [请在 Discord 告诉我们](https://astro.build/chat)
-
-## 项目现状
-
-关于项目成熟度的简短说明。**Astro 仍处于测试阶段** 这里列出的许多工具都要比 Astro 成熟得多。有些工具比 Astro 早了 12 年以上。
-
-Astro 仍然缺少一些功能,一些 API 还没有最终确定。虽然项目暂时并不稳定,但是已经有几个生产型网站使用 Astro 建立。这是选择 Astro 时需要考虑的一个重要问题。
-
-## Docusaurus vs. Astro
-
-[Docusaurus](https://docusaurus.io/) 是一个流行的文档网站创建工具。Docusaurus 使用 React 来生成你的网站界面,而 Astro 支持 React、 Vue.js 、Svelte 以及原始 HTML 模板。
-
-Docusaurus 是为建立文档网站而设计的,它有一些内置的、针对文档的网站功能,而 Astro 却没有。相反,Astro 通过一个官方的 [`docs`](https://github.com/withastro/astro/tree/main/examples/docs) 主题提供了特定的文档功能,你可以在你的网站尝试使用。本网站就是用这个模板建立的!
-
-#### 对比 Docusaurus 及 Astro 性能
-
-在大多数情况下,Astro 网站的加载速度将明显快于 Docusaurus 网站。这是因为 Astro 会自动从页面中剥离不必要的 JavaScript,只对需要它的个别组件进行渲染。这个功能被称为[局部渲染](/core-concepts/component-hydration)。
-
-Docusaurus 不支持局部渲染,而是让用户在浏览器中加载并重新渲染整个页面,即使大部分的页面内容是静态的。这为你的网站创造了一个较慢的页面加载和较差的性能。在 Docusaurus 中没有办法停用这种行为。
-
-#### 案例研究 : 构建文档网站
-
-[Docusaurus. io/docs](https://docusaurus.io/docs) 是官方的 Docusaurus 文档网站,由 Docusaurus 构建。该网站提供了大量设计模板和功能插件,可以与官方 Astro 文档网站进行比较。让我们对这两个网站构建工具进行一个粗略的真实的比较。
-
-- **Docusaurus 性能评分**:26 / 100[(更多详情)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocusaurus.io%2Fdocs)
-- **Astro 性能分数**:95(满分 100)[(更多详情)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-性能差异背后的一个主要原因是 Astro 的 JavaScript 依赖更小:[docusaurus.io/docs](https://docusaurus.io/docs)在第一次加载时加载**238kb**的 JavaScript,而[docs.astro.build](https://docs.astro.build)第一次只加载**9.3kb**(总体上减少 96%的 JavaScript)。
-
-## Eleventy vs. Astro
-
-[Eleventy](https://www.11ty.dev/)是一个流行的静态网站构建器,由 Node.js 提供支持。
-
-Eleventy 使用了几种[较老的 HTML 模板语言](https://www.11ty.dev/docs/languages/)来渲染你的网站:Nunjucks, Liquid, Pug, EJS 等等。Astro 允许您使用您喜欢的 UI 组件库(React、Preact、Vue、Svelte 等)或类似于 HTML/JSX 的内置组件语法创建页面。eleven 不支持在 HTML 模板中使用现代 UI 组件。
-
-#### 对比 Eleventy 及 Astro 性能
-
-从概念上讲,Eleventy 与 Astro 的 "最小客户端 JavaScript "的网络开发方法是一致的。Eleventy 和 Astro 都提供类似的零 JavaScript 默认性能基线。
-
-Eleventy 通过推动你完全避免使用 JavaScript 来实现这一目标。Eleventy 的网站通常很少或根本没有使用 JavaScript。当你确实需要客户端的 JavaScript 时,这就成了一个问题。你可以为 Eleventy 创建自己的资产构建管道。这可能会很耗时,并迫使你自己设置捆绑、最小化和其他复杂的优化。
-
-相比之下,Astro 自动为你构建客户端的 JavaScript 和 CSS。Astro 自动从页面中剥离不必要的 JavaScript,只对需要它的个别组件进行渲染。这个功能被称为[局部渲染](/core-concepts/component-hydration)。虽然在 Eleventy 中可以自己实现这个功能,但 Astro 默认提供了内置的功能。
-
-## Gatsby vs. Astro
-
-[Gatsby](https://www.gatsbyjs.com/)是一个流行的 React 的网站和应用程序框架。
-
-Gatsby 使用 React 来渲染你的网站。Astro 更灵活:你可以自由地使用任何流行的组件库(React、Preact、Vue、Svelte、Solid 和其他)或 Astro 的类似 HTML 的组件语法来构建 UI,这类似于 HTML+JSX 。
-
-今天,Gatsby 和 Astro 都只支持静态网站生成(SSG)。Gatsby 支持增量重建,而 Astro 只支持完整的网站重建。Astro 已经表示计划在未来的版本中支持服务器端渲染(SSR),而 Gatsby 没有计划支持 SSR。
-
-Gatsby 需要一个定制的 GraphQL API 来处理所有的网站内容。虽然有些开发者喜欢这种模式,但对 Gatsby 的一个普遍意见是,这种模式随着时间的推移变得过于复杂和难以维护,特别是随着网站的增长。Astro 没有 GraphQL 要求,而是提供熟悉的 API(如`fetch()`和顶层的`await`),以便在需要数据的地方加载数据。
-
-#### 对比 Gastby 及 Astro 性能
-
-在大多数情况下,Astro 网站的加载速度将明显快于 Gatsby 网站。这是因为 Astro 会自动从页面中剥离不必要的 JavaScript,只对需要它的个别组件进行渲染。这个功能被称为[局部渲染](/core-concepts/component-hydration)。
-
-Gatsby 不支持局部渲染,而是让用户在浏览器中加载并重新渲染整个页面,即使大部分页面内容是静态的。这为你的网站创造了更慢的页面加载和更差的性能。Gatsby 有[一个社区插件](https://www.gatsbyjs.com/plugins/gatsby-plugin-no-javascript/)用于移除页面中的所有 JavaScript 但这将破坏许多网站。这让你在每个页面的互动性上做出一个全有或全无的决定。
-
-Gatsby 有一个很好的插件生态系统,根据你的需要,它可以使 Gatsby 成为你的项目的更好选择。[gatsby-plugin-image](https://www.gatsbyjs.com/plugins/gatsby-plugin-image/)是一个流行的图像优化插件,这可能使 Gatsby 成为一些图像密集型网站的更好选择。
-
-#### 案例研究 : 构建文档网站
-
-[gatsbyjs.com/docs](https://www.gatsbyjs.com/docs/quick-start/)是 Gatsby 的官方文档网站,用 Gatsby 构建。该网站提供了足够相似的设计和功能集,可以与 Astro 官方文档网站进行比较。让我们对这两个网站构建工具进行一个粗略的真实的比较。以满足这个常见的使用情况。
-
-- **Gatsby 性能评分**: 64 分(满分 100 分)[(更多详情)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fwww.gatsbyjs.com%2Fdocs%2Fquick-start%2F)
-- **Astro 性能评分**: 99 分(满分 100 分)[(更多详情)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-这种性能差异背后的一个重要原因是 Astro 的 JavaScript 有效载荷较小。[gatsbyjs.com/docs](https://www.gatsbyjs.com/docs/quick-start/)在首次加载页面时加载了**417kb**的 JavaScript,而[docs.astro.build](https://docs.astro.build)在首次加载后加载了**78.7kb**(总体上减少了 81%的 JavaScript)。
-
-## Hugo vs. Astro
-
-[Hugo](https://gohugo.io/)是一个流行的静态网站生成器,由 Go 驱动。
-
-Hugo 使用一个自定义的[模板语言](https://gohugo.io/templates/introduction/)来渲染你的网站。Astro 让你使用你喜欢的 UI 组件库(React、Preact、Vue、Svelte 等)或类似于 HTML/JSX 的内置组件语法来创建页面。Hugo 不支持使用现代 UI 组件进行 HTML 模板制作。
-
-#### 对比 Hugo 及 Astro 性能
-
-从概念上讲,Hugo 与 Astro 的 "最小客户端 JavaScript "的网络开发方法是一致的。Hugo 和 Astro 都提供了类似的、默认为零的 JavaScript 性能基线。
-
-Hugo 和 Astro 都提供了对构建、捆绑和最小化 JavaScript 的内置支持。Astro 会自动从页面中剥离不必要的 JavaScript,只对需要它的个别组件进行渲染。这个功能被称为[局部渲染](/core-concepts/component-hydration)。虽然在 Hugo 中可以自己实现这个功能,但 Astro 默认提供了内置的功能。
-
-## Jekyll vs. Astro
-
-[Jekyll](https://jekyllrb.com/)是一个流行的静态网站生成器,由 Ruby 驱动。
-
-Jekyll 使用一种较早的[模板语言](https://jekyllrb.com/docs/liquid/)来渲染你的网站,称为 Liquid。Astro 让你使用你喜欢的 UI 组件库(React、Preact、Vue、Svelte 和其他)或类似于 HTML/JSX 的内置组件语法来创建页面。Jekyll 不支持使用现代 UI 组件进行 HTML 模板制作。
-
-#### 对比 Jekyll 及 Astro 性能
-
-在概念上,Jekyll 与 Astro 的 "最小客户端 JavaScript "的网站开发方法是一致的。Jekyll 和 Astro 都提供了类似的、默认为零 JavaScript 的性能基线。
-
-Jekyll 通过推动你完全避免使用 JavaScript 来实现这一目标。Jekyll 的网站通常很少甚至没有使用 JavaScript,而是采用服务器端的 HTML 渲染。当你确实需要客户端的 JavaScript 时,这就成了一个问题。这取决于你是否为 Jekyll 创建自己的构建管道。这可能很耗时,并迫使你自己设置捆绑、最小化和其他优化。
-
-相比之下,Astro 自动为你构建客户端的 JavaScript。Astro 只向浏览器发送最低限度的 JavaScript,并对其进行粉碎、捆绑和优化。虽然在 Jekyll 中可以自己实现这一点,但在 Astro 中,这一点是默认内置的。
-
-## SvelteKit vs. Astro
-
-[SvelteKit](https://kit.svelte.dev/)是 Svelte 的一个流行的网站和应用程序框架。
-
-SvelteKit 使用 Svelte 来渲染你的网站。Astro 更加灵活:你可以使用任何 UI 组件库(React、Preact、Vue、Svelte 和其他)或 Astro 的内置组件语法,这与 HTML/JSX 类似。
-
-SvelteKit 和 Astro 都是构建网站的框架。SvelteKit 对高度动态的网站(如仪表盘和收件箱)效果最好,而 Astro 对高度静态的网站(如内容和电子商务网站)效果最好。
-
-SvelteKit 同时支持静态网站生成(SSG)和服务器端渲染(SSR)。如今,Astro 只支持静态网站生成(SSG)。
-
-#### 对比 SvelteKit 及 Astro 性能
-
-在大多数情况下,Astro 网站的加载速度会比 SvelteKit 网站快。这是因为 Astro 会自动从页面中剥离不必要的 JavaScript,只对需要它的个别组件进行渲染。这个功能被称为[局部渲染](/core-concepts/component-hydration)。
-
-SvelteKit 不支持局部渲染,而是让用户在浏览器中加载并重新渲染整个页面,即使大部分页面内容是静态的。这给你的网站带来了更慢的页面加载和更差的性能。SvelteKit 确实提供了对[页面级静态、零 JavaScript 页面](https://kit.svelte.dev/docs#ssr-and-javascript-hydrate)的支持。然而,没有计划对页面上的单个组件进行渲染支持。这使得你在每个页面的交互性方面只能做一个全有或全无的决定。
-
-#### 案例研究 : 构建文档网站
-
-[kit.svelte.dev](https://kit.svelte.dev/docs#ssr-and-javascript-hydrate)是 SvelteKit 的官方文档网站,用 SvelteKit 构建。该网站提供了大量设计模板和功能插件,可以与官方 Astro 文档网站进行比较。让我们对这两个网站构建工具进行一个粗略的真实的比较。以满足这个常见的使用情况。
-
-测试的两个网站之间有一个明显的区别。SvelteKit 的文档是作为一个单一的页面提供的,而 Astro 的文档被分成多个页面。这种较大的内容有效载荷应该会对性能产生轻微的负面影响,这与工具本身无关。
-
-- **SvelteKit 性能得分**。92 分(满分 100 分)[(更多详情)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fkit.svelte.dev%2Fdocs)
-- **Astro 性能得分**。95 分(满分 100 分)[(更多详情)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-在这项测试中,SvelteKit 的表现与 Astro 相当。
-
-## Next.js vs. Astro
-
-[Next.js](https://nextjs.org/)是 React 的一个流行的网站和应用程序框架。
-
-Next.js 使用 React 来渲染你的网站。Astro 更灵活:你可以使用任何 UI 组件库(React、Preact、Vue、Svelte 等)或 Astro 的内置组件语法,这与 HTML/JSX 类似。
-
-Next.js 和 Astro 都是构建网站的框架。Next.js 对高度动态的网站(如仪表盘和收件箱)效果最好,而 Astro 对高度静态的网站(如内容和电商网站)效果最好。
-
-Next.js 同时支持静态网站生成(SSG)和服务器端渲染(SSR)。如今,Astro 只支持静态网站生成(SSG)。
-
-#### 对比 Next.js 及 Astro 性能
-
-在大多数情况下,Astro 网站的加载速度将明显高于 Next.js 网站。这是因为 Astro 会自动从页面中剥离不必要的 JavaScript,只对需要它的个别组件进行渲染。这个功能被称为[局部渲染](/core-concepts/component-hydration)。
-
-Next.js 不支持局部渲染,而是让用户在浏览器中加载并重新渲染整个页面,即使页面的大部分内容是静态的。这给你的网站带来了较慢的页面加载和较差的性能。Next.js 对完全静态的零 JavaScript 页面有[实验性支持](https://piccalil.li/blog/new-year-new-website/#heading-no-client-side-react-code)。然而,目前还没有计划支持对页面上的单个组件进行渲染。这让你在每个页面的交互性上都要做出全有或全无的决定。
-
-Next.js 有很好的内置图像优化功能,这可以使 Next.js 成为一些图像密集型网站的更好选择。
-
-#### 案例研究 : 构建文档网站
-
-[nextjs.org/docs](https://nextjs.org/docs/getting-started)是 Next.js 官方文档网站,用 Next.js 构建。该网站提供了足够相似的设计和功能集,可以与官方的 Astro 文档网站进行比较。这为我们提供了一个**_的、真实的、_**的两个静态网站构建工具在这个常见的使用情况下的比较。
-
-- **Next.js 的性能得分**。59 分(满分 100 分)[(更多详情)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fnextjs.org%2Fdocs%2Fgetting-started)
-- **Astro 性能得分**。95 分(满分 100 分)[(更多详情)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-这种性能差异背后的一个重要原因是 Astro 的 JavaScript 有效载荷较小。[nextjs.org/docs](https://nextjs.org/docs/getting-started)在首次加载时加载了**463kb**的 JavaScript,而[docs.astro.build](https://docs.astro.build)只加载了**9.3kb**(总体而言,JavaScript 减少了 98%)。
-
-## Nuxt vs. Astro
-
-[Nuxt](https://nextjs.org/)是 Vue 的一个流行的网站和应用程序框架。它类似于 Next.js。
-
-Nuxt 使用 Vue 来渲染你的网站。Astro 更灵活:你可以使用任何 UI 组件库(React、Preact、Vue、Svelte 和其他)或 Astro 的内置组件语法,这与 HTML/JSX 类似。
-
-Nuxt 和 Astro 都是构建网站的框架。Nuxt 最适合高度动态的网站(如仪表盘和收件箱),而 Astro 最适合高度静态的网站(如内容和电商网站)。
-
-Nuxt 同时支持静态网站生成(SSG)和服务器端渲染(SSR)。今天,Astro 只支持静态网站生成(SSG)。
-
-#### 对比 Nuxt 及 Astro 性能
-
-在大多数情况下,Astro 网站的加载速度将明显快于 Nuxt 网站。这是因为 Astro 会自动从页面中剥离不必要的 JavaScript,只对需要它的个别组件进行渲染。这个功能被称为[局部渲染](/core-concepts/component-hydration)。
-
-Nuxt 不支持局部渲染,而是让用户在浏览器中加载并重新渲染整个页面,即使大部分的页面内容是静态的。这给你的网站带来了较慢的页面加载和较差的性能。在 Nuxt 中没有办法禁用这种行为。
-
-Nuxt 有很好的内置图片优化功能,这可以使 Nuxt 成为一些图片密集型网站的更好选择。
-
-#### 案例研究 : 构建文档网站
-
-[nuxtjs.org/docs](https://nuxtjs.org/docs/2.x/get-started/installation)是 Nuxt 官方文档网站,用 Nuxt 构建。该网站提供了大量设计模板和功能插件,可以与官方 Astro 文档网站进行比较。让我们对这两个网站构建工具进行一个粗略的真实的比较。
-
-- **新的性能得分**。48 分(满分 100 分)[(更多详情)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fnuxtjs.org%2Fdocs%2F2.x%2Fget-started%2Finstallation)
-- **Astro 性能得分**。95 分(满分 100 分)[(更多详情)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-这种性能差异背后的一个重要原因是 Astro 的 JavaScript 有效载荷较小。[nuxtjs.org/docs](https://nuxtjs.org/docs/2.x/get-started/installation)在首次加载时加载了**469kb**的 JavaScript,而[docs.astro.build](https://docs.astro.build)只加载了**9.3kb**(总体而言,JavaScript 减少了 98%)。
-
-## VuePress vs. Astro
-
-[VuePress](https://vuepress.vuejs.org/guide/)是一个流行的文档网站建设者。VuePress 使用 Vue.js 来生成你的网站用户界面,而 Astro 支持 React、Vue.js、Svelte 和原始 HTML 模板化。
-
-VuePress 是为建立文档网站而设计的,它有一些内置的、针对文档的网站功能,而 Astro 没有。相反,Astro 通过官方的[`docs`](https://github.com/withastro/astro/tree/main/examples/docs)主题提供了特定的文档功能,你可以在你的网站使用。这个网站就是用这个模板建立的!
-
-#### 对比 VuePress 及 Astro 性能
-
-在大多数情况下,Astro 网站的加载速度将明显快于 VuePress 网站。这是因为 Astro 会自动从页面中剥离不必要的 JavaScript,只对需要它的个别组件进行渲染。这个功能被称为[局部渲染](/core-concepts/component-hydration)。
-
-VuePress 不支持局部渲染,而是让用户在浏览器中加载并重新渲染整个页面,即使页面的大部分内容是静态的。这将使你的网站的页面加载速度变慢,性能变差。在 VuePress 中没有办法禁用这种行为。
-
-#### 案例研究 : 构建文档网站
-
-[vuepress.vuejs.org](https://vuepress.vuejs.org/guide/)是 VuePress 的官方文档网站,用 VuePress 构建。该网站提供了大量设计模板和功能插件,可以与官方 Astro 文档网站进行比较。让我们对这两个网站构建工具进行一个粗略的真实的比较。
-
-- **Vuepress 的性能得分**。63 分(满分 100 分)[(更多详情)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fvuepress.vuejs.org%2Fguide%2F)
-- **Astro 性能得分**。95 分(满分 100 分)[(更多详情)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fdocs.astro.build%2Fgetting-started)
-
-这种性能差异背后的一个重要原因是 Astro 的 JavaScript 有效载荷较小。[vuepress.vuejs.org](https://vuepress.vuejs.org/guide/)在首次加载时加载了**166kb**的 JavaScript,而[docs.astro.build](https://docs.astro.build)只加载了**9.3kb**(总体来说,JavaScript 少了 95%)。
diff --git a/docs/src/pages/zh-CN/examples.md b/docs/src/pages/zh-CN/examples.md
deleted file mode 100644
index b9a39b4ba..000000000
--- a/docs/src/pages/zh-CN/examples.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: 模板样例
-lang: zh-CN
----
-
-如果你喜欢通过实例来学习,请查看我们在 GitHub 上的[模板样例](https://github.com/withastro/astro/tree/main/examples)
-
-
diff --git a/docs/src/pages/zh-CN/getting-started.md b/docs/src/pages/zh-CN/getting-started.md
deleted file mode 100644
index 07f00ea1a..000000000
--- a/docs/src/pages/zh-CN/getting-started.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: 入门指南
-lang: zh-CN
----
-
-Astro 是一个现代的静态网站生成工具. 你可以从 [我们的主页](https://astro.build/) 或者 [我们的 release 公告](https://astro.build/blog/introducing-astro) 中了解到 Astro 的全部内容,本页是 Astro 文档和所有相关资源的概述。
-
-## 尝试一下 Astro
-
-尝试 Astro 的最简单的方法是在新目录下运行 `npm init astro`。我们的 CLI 工具会帮助你创建启动一个新的 Astro 项目。
-
-想要快速了解学习使用 Astro, [快速入门](quick-start).
-
-另外,请阅读我们的 [安装指南](/installation),了解如何使用 Astro 进行安装的全部步骤。
-
-### 在线游乐场
-
-如果你有兴趣在浏览器中尝试 Astro,你可以使用一个在线代码游乐场。试试我们在 [CodeSandbox](https://codesandbox.io/s/astro-template-hugb3) 上的 "Hello World!"模板。
-
-注意:一些功能(例如:快速刷新)目前在 CodeSandbox 上是受限的。
-
-## 学习 Astro
-
-各种各样的人来自不同的背景,带来了不同的学习方式,来到 Astro。无论你喜欢的是理论性强的方法还是实践性强的方法,我们希望你会发现本节内容对你有帮助。
-
-- 如果你喜欢在**实践中**学习,请从我们的 [实例库](https://github.com/withastro/astro/tree/main/examples) 开始学习。
-
-- 如果你喜欢**逐步学习概念**,请从我们的[基本概念和指南](/core-concepts/project-structure)开始。
-
-像任何不熟悉的技术一样,Astro 也有一个轻量化的学习曲线。然而我们相信只要有耐心勤于练习你很快就会掌握诀窍的。
-
-### 学习 `.astro` 语法
-
-当你开始学习 Astro 时,你会看到许多文件使用`.astro`文件扩展名。这是**Astro 的组件语法**:一种特殊的类似 HTML 的文件格式,Astro 用于模板制作。这样设计是为了让任何有 HTML 或 JSX 经验的人更容易上手。
-
-我们在 [Astro 组件](/corecepts/astro-components) 上的有用指南向你介绍了 Astro 语法,这也是学习的最好方法。
-
-### API 参考文档
-
-当你想了解某个特定的 Astro API 的更多细节时,这部分文档是有用的。例如 [配置参考](/reference/configuration-reference) 列出所有可能的配置选项供你使用。 [内置组件参考](/reference/builtin-components) 列出了所有可用的核心组件,如` `和`
`。
-
-### 其他版本文档
-
-本文档总是展示 Astro 的最新稳定版本。一旦我们达到 V1.0 的里程碑,我们将增加查看版本文件的能力。
-
-## 了解最新消息
-
-[@astrodotbuild](https://twitter.com/astrodotbuild) Twitter 账户是 Astro 团队的官方更新来源。
-
-我们也在我们的 [Discord 社区](https://astro.build/chat) 的 #announcements 频道中发布 release 公告。
-
-当然并非每个 Astro 的发布都会有自己的 release 公告,你可以在 Astro 仓库的 [`CHANGELOG.md`文件](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) 中找到每个版本的详细更新日志。
-
-## 勘误与建议
-
-如果你在阅读的过程中发现文档中缺少什么,或者你发现某些部分令人困惑,请 [为文档提交问题](https://github.com/withastro/astro/issues/new/choose) ,提出你的改进建议,或者在 [@astrodotbuild](https://twitter.com/astrodotbuild) Twitter 账户上发推文。我们希望听到你的建议!
-
-## 参考
-
-本入门指南最初是基于 [React](https://reactjs.org/) 的入门指南。
diff --git a/docs/src/pages/zh-CN/installation.md b/docs/src/pages/zh-CN/installation.md
deleted file mode 100644
index f8a912fe3..000000000
--- a/docs/src/pages/zh-CN/installation.md
+++ /dev/null
@@ -1,171 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: 安装指南
-lang: zh-CN
----
-
-可以使用多种方式创建 Astro 新项目
-
-## 环境要求
-
-- **Node.js** - `v14.15.0` 和 `v16.0.0`,或更高版本。
-- **文本编辑器** - 我们推荐使用 [VS Code](https://code.visualstudio.com/) 搭配 [Astro 官方插件](https://marketplace.visualstudio.com/items?itemName=astro-build.astro-vscode)。
-- **命令行终端** - Astro 主要是通过终端的命令行执行。
-
-下方案例中使用 [`npm`](https://www.npmjs.com/) 为例。也可以使用 [`yarn`](https://yarnpkg.com/) 或 [`pnpm`](https://pnpm.io/) 等 npm 替代方案。
-
-## 创建 Astro 工程
-
-`npm init astro` 是在一个新项目中安装 Astro 的最简单的方法。
-
-在终端运行这个命令,启动我们的 `create-astro` 安装工具,协助你建立一个新项目。
-
-```shell
-# 用 NPM
-npm init astro
-
-# Yarn
-yarn create astro
-```
-
-[`create-astro`](https://github.com/withastro/astro/tree/main/packages/create-astro) 工具让你从预设的 [启动模板](/examples) 中选择,或者你也可以直接从 Github 导入自己的 Astro 项目。
-
-```bash
-# 提醒:把「my-astro-project」改为项目的名称。
-
-# npm 6.x
-npm init astro my-astro-project --template starter
-# npm 7+(一定要多加上一组双横杠)
-npm init astro my-astro-project -- --template starter
-# yarn
-yarn create astro my-astro-project --template starter
-# 使用第三方模板
-npm init astro my-astro-project -- --template [GITHUB_USER]/[REPO_NAME]
-# 在 Repo 里,使用第三方模板
-npm init astro my-astro-project -- --template [GITHUB_USER]/[REPO_NAME]/path/to/template
-```
-
-在 `create-astro` 搭建好你的项目后,记得用 npm 或你选择的软件包管理器安装你的项目依赖。在这个例子中,我们将使用 npm 。
-
-```bash
-npm install
-```
-
-你现在可以[开发](#start-astro)你的 Astro 项目。一旦你完成了 Astro 项目的开发,你就可以[构建](#build-astro)你的项目。然后 Astro 会把你的应用程序打包,并准备好静态文件,让你[部署](/guides/deploy)到你最喜欢的托管服务商。
-
-## 手动安装
-
-当然没有 `create-astro` 工具的协助,也可以创建 Astro 工程。 接下来就是要让 Astro 运行起来的一些额外步骤。
-
-### 创建项目
-
-```bash
-# 创建并进入新项目目录
-mkdir my-astro-project
-cd my-astro-project
-```
-
-### 创建 `package.json`
-
-```bash
-# 初始化项目并生成的默认的 package.json
-npm init --yes
-```
-
-Astro 被设计为与整个 npm 软件包生态系统一起工作。这是由项目根目录下的 `package.json` 管理的。
-
-如果你不熟悉 `package.json` 文件,我们强烈建议你在[npm 文档](https://docs.npmjs.com/creating-a-package-json-file)上快速阅读它。
-
-### 安裝 Astro
-
-按照上面的说明,你的工程目录下会新建一个 `package.json` 文件。
-
-现在你可以在你的项目中安装 Astro
-
-```bash
-npm install astro
-```
-
-现在你可以把 `package.json` 文件中默认为你创建的 `scripts` 部分替换为以下内容。
-
-```diff
- "scripts": {
-- "test": "echo \"Error: no test specified\" && exit 1"
-+ "dev": "astro dev",
-+ "build": "astro build",
-+ "preview": "astro preview"
- },
-}
-```
-
-[`dev`](#start-dev) 命令在 `http://localhost:3000` 上启动 Astro 开发服务器。一旦你的项目准备好了。
-
-[`build`](#build-astro)命令将你的项目输出到 `dist/` 目录。[在部署指南中阅读更多关于部署 Astro 的内容。](/guides/deploy)
-
-### 创建第一个页面
-
-打开文本编辑器,在项目添加文件 :
-
-1. 新建 `src/pages/index.astro` 文件
-2. 在文件中复制粘贴以下代码片段(包含横杠 "---" )
-
-```astro
----
-// 在 (`---`) 范围之内的 JS 或 TS 代码只在服务器上运行!
-console.log('See me in the Terminal')
----
-
-
-
- Hello, World!
-
-
-
-
-
-
-```
-
-以上是 Astro 组件语法的一个例子,同時包含 HTML 和 JSX。
-
-你可以在 `src/pages` 目录下创建更多的页面,Astro 将使用该文件名在你的网站上创建新的页面。例如,通过在 `src/pages/about.astro` 创建一个新的文件(重复使用以前的片段),Astro 将生成一个新的页面,URL 为:`http://localhost/about` 。
-
-## [启动 Astro](#start-astro)
-
-```bash
-npm run dev
-```
-
-Astro 会开启预览服务器,地址为 [http://localhost:3000](http://localhost:3000),
-在浏览器打开这个网址,就会看到 Astro 的 HelloWorld 页面
-
-服务器会实时监听 'src/' 目录下的文件改动,所以在开发过程的支持热更新,修改程序后,无需重启。
-
-## [Build Astro](#build-astro)
-
-```bash
-npm run build
-```
-
-这将让 Astro 打包你的网站并直接保存到磁盘。你的应用程序现在已经在 `dist/` 目录中打包好了。
-
-## 下一步
-
-成功了!现在即可开始开发!
-
-我们建议花点时间用于熟悉 Astro 的运作方式。只要在文档中进一步探索,建议看看这些:
-
-📚 深入了解 Astro 的项目结构:[项目结构](/core-concepts/project-structure)
-
-📚 深入了解 Astro 的组件语法:[Astro 组件指南](/core-concepts/astro-components)
-
-📚 深入了解 Astro 根据文件路径生成路由:[路由指南](core-concepts/astro-pages)
diff --git a/docs/src/pages/zh-CN/quick-start.md b/docs/src/pages/zh-CN/quick-start.md
deleted file mode 100644
index bedd596cf..000000000
--- a/docs/src/pages/zh-CN/quick-start.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: 快速入门
-lang: zh-CN
----
-
-```shell
-# 环境要求:确保 Node.js 版本是 14.15.0+ 或 16 及以上。
-node --version
-
-# 创建并进入新项目目录
-mkdir my-astro-project && cd $_
-
-# 初始化项目
-npm init astro
-
-# 安装项目依赖
-npm install
-
-# 启动项目
-npm run dev
-```
-
-```shell
-# 将项目打包到 dist 文件夹下
-npm run build
-```
-
-如果想要知道还有哪些方法能够使用 Astro 来做开发,请阅读 [安装指南](installation)。
-
-## 启动项目
-
-工程目录下终端输入以下命令:
-
-```bash
-npm run dev
-```
-
-Astro 会开启预览服务器,地址为 [http://localhost:3000](http://localhost:3000),
-在浏览器打开这个网址,就会看到 Astro 的 HelloWorld 页面
-
-服务器会实时监听 'src/' 目录下的文件改动,所以在开发过程的支持热更新,修改程序后,无需重启。
-
-## 打包项目
-
-工程目录下终端输入以下命令:
-
-```bash
-npm run build
-```
-
-这将让 Astro 打包你的网站并直接保存到磁盘。你的应用程序现在已经在`dist/`目录中打包好了。
-
-## 部署项目
-
-Astro 生成的网站是静态的可以发布常见的托管服务商:
-
-- [Vercel](https://vercel.com/)
-- [Netlify](https://www.netlify.com/)
-- [S3 bucket](https://aws.amazon.com/s3/)
-- [Google Firebase](https://firebase.google.com/)
-- 查看 [部署指南](/guides/deploy) 了解更多细节
-
-## 下一步
-
-成功了!现在即可开始开发!
-
-我们建议花点时间用于熟悉 Astro 的运作方式。只要在文档中进一步探索,建议看看这些:
-
-📚 深入了解 Astro 的项目结构:[项目结构](/core-concepts/project-structure)
-
-📚 深入了解 Astro 的组件语法:[Astro 组件指南](/core-concepts/astro-components)
-
-📚 深入了解 Astro 根据文件路径生成路由:[路由指南](core-concepts/astro-pages)
diff --git a/docs/src/pages/zh-TW/examples.md b/docs/src/pages/zh-TW/examples.md
deleted file mode 100644
index 0feb9779a..000000000
--- a/docs/src/pages/zh-TW/examples.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: 範例
-lang: zh-Hant-TW
----
-
-如果喜歡從做中學,可以看看放在 Github 的[範例資源庫](https://github.com/withastro/astro/tree/main/examples)。
-
-
diff --git a/docs/src/pages/zh-TW/getting-started.md b/docs/src/pages/zh-TW/getting-started.md
deleted file mode 100644
index c01cce59a..000000000
--- a/docs/src/pages/zh-TW/getting-started.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: 新手上路
-lang: zh-Hant-TW
----
-
-Astro 是利用現代技術的靜態網站生成工具。可以從[首頁](https://astro.build/)或[釋出版本貼文](https://astro.build/blog/introducing-astro)來了解 Astro 的用途。此頁面是 Astro 文件與所有相關資源的概要。
-
-## 試玩 Astro
-
-試用 Astro 最簡單的方法,就是在機器的新資料夾裡執行 `npm init astro`。我們製作的 CLI 精靈會協助開啟全新的 Astro 專案。
-
-簡易又迅速 5 步驟就開始使用 Astro 的方法,請看 [快速開始指南](quick-start)。
-
-或者,閱讀[安裝指南](/installation),有安裝 Astro 的完整流程。
-
-### 示範專案
-
-比較喜歡從範例來學 Astro 的話,請看放在 Github 的[範例資源庫](https://github.com/withastro/astro/tree/main/examples)。
-
-這裡的範例都可以在本地端機器執行 `npm init astro` 並加上 CLI Flag: `--template`。
-`--template` Flag 也支援第三方、社群的範本。
-
-```bash
-# 執行 init 精靈,並使用官方範本
-npm init astro -- --template [OFFICIAL_EXAMPLE_NAME]
-# 執行 init 精靈,並使用社群範本
-npm init astro -- --template [GITHUB_USER]/[REPO_NAME]
-npm init astro -- --template [GITHUB_USER]/[REPO_NAME]/path/to/example
-```
-
-### 線上玩玩看
-
-有興趣在瀏覽器試玩 Astro 的話,可以在 Stackblitz、CodeSandbox、Gitpod 或 GitHub Codespaces 使用線上程式碼編輯器。點選[範例資源庫](https://github.com/withastro/astro/tree/main/examples)裡任一個範例的 "Open in Stackblitz" 連結。或者,[點此](https://stackblitz.com/fork/astro)在 Stackblitz 開啟新專案。
-
-## 學習 Astro
-
-每個來到 Astro 的人來自不同背景,使得學習方式也不同。不管是喜歡更為理論,還是實際的方法,希望都可以覺得這部分很有用。
-
-- 如果喜歡**從做中學**,從[範例資源庫](https://github.com/withastro/astro/tree/main/examples)開始。
-- 如果喜歡**一步一步學習概念**,就從[基本概念與指南](/core-concepts/project-structure)開始。
-
-就像任何還不熟悉的技術,Astro 會有一些學習曲線。只不過,只要練習和一些耐心,我們確信很快就會熟悉。
-
-### 學習 `.astro` 語法
-
-開始學習 Astro 的時候,會看到很多檔案副檔名是 `.astro`。這是 **Astro 的元件語法**:近似於 HTML 的特殊檔案格式,Astro 用來當作範本。設計成有 HTML 或 JSX 經驗的人都覺得和藹可親。
-
-[Astro 元件](/core-concepts/astro-components)指南會很有幫助,介紹 Astro 的語法,也是最好的學習方式。
-
-### API 參考手冊
-
-如果想要深入探討某個 Astro API,這部分的文件會很有幫助。例如:[設定參考](/reference/configuration-reference)列出所有可以使用的設定選項。[內建元件參考](/reference/builtin-components)列出所有可以使用的核心元件,像是 ` ` 和 `
`。
-
-### 先前版本的文件
-
-這份文件就肯定是根據 Astro 最新的穩定版本。一但達到 1.0 里程碑,會增加查閱過去文件版本的功能。
-
-## 獲得最新訊息
-
-推特帳號 [@astrodotbuild](https://twitter.com/astrodotbuild) 是 Astro 團隊撰寫的官方更新消息來源。
-
-我們也會把釋出版本公告貼在 [Discord 社群](https://astro.build/chat) 的 #announcements 頻道。
-
-不是每個 Astro 釋出版本都會有一篇專屬的部落格貼文。然而,還是可以在 [Astro 的 Repository 裡的 `CHANGELOG.md` 檔案](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md),找到每個釋出版本的詳細變動記錄。
-
-## 還漏了什麼嗎?
-
-如果文件裡有東西沒寫到,或是覺得有些地方很難理解,請[開文件的 Issue](https://github.com/withastro/astro/issues/new/choose),附上改進建議,或推文到推特帳號 [@astrodotbuild](https://twitter.com/astrodotbuild)。我們喜愛聽到回饋!
-
-## 參考
-
-這份新手上路指南一開始是根據 [React](https://reactjs.org/) 的新手上路指南。
diff --git a/docs/src/pages/zh-TW/installation.md b/docs/src/pages/zh-TW/installation.md
deleted file mode 100644
index ef7129919..000000000
--- a/docs/src/pages/zh-TW/installation.md
+++ /dev/null
@@ -1,163 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: 安裝
-lang: zh-Hant-TW
----
-
-有幾種方式把 Astro 安裝在新專案。
-
-## 環境需求
-
-- **Node.js** - `v14.15.0` 和 `v16.0.0`,或更之後的版本。
-- **文字編輯器** - 我們推薦使用 [VS Code](https://code.visualstudio.com/) 和 [Astro 官方擴充套件](https://marketplace.visualstudio.com/items?itemName=astro-build.astro-vscode)。
-- **終端機** - Astro 主要透過終端機指令進行。
-
-下方範例使用的 [`npm`](https://www.npmjs.com/) 只是用來舉例。也可以使用 [`yarn`](https://yarnpkg.com/) 或 [`pnpm`](https://pnpm.io/) 等 npm 替代方案。
-
-## 建立 Astro
-
-`npm init astro` 是新專案裡,最容易安裝 Astro 的方式。在終端機裡執行這個指令,就可以啟動 `create-astro` 安裝精靈,協助設定新專案。
-
-```shell
-# 用 NPM
-npm init astro
-
-# Yarn
-yarn create astro
-```
-
-[`create-astro`](https://github.com/withastro/astro/tree/main/packages/create-astro) 精靈提供一些[上手範本](/examples)進行挑選。或者,也可以直接從 Github 匯入自己的 Astro 專案。
-
-```bash
-# 提醒:把「my-astro-project」改為專案的名稱。
-
-# npm 6.x
-npm init astro my-astro-project --template starter
-# npm 7+(一定要多加上一組雙橫槓)
-npm init astro my-astro-project -- --template starter
-# yarn
-yarn create astro my-astro-project --template starter
-# 使用第三方範本
-npm init astro my-astro-project -- --template [GITHUB_USER]/[REPO_NAME]
-# 在 Repo 裡,使用第三方範本
-npm init astro my-astro-project -- --template [GITHUB_USER]/[REPO_NAME]/path/to/template
-```
-
-`create-astro` 架設好專案的基礎外框之後,記得要用 npm 或偏好的套件管理工具,安裝專案的相依套件。範例裡使用 npm:
-
-```bash
-npm install
-```
-
-現在,可以[啟動](#start-astro) Astro 專案。把 Astro 專案組裝好之後,接著是 [Build](#build-astro) 專案。Astro 就會將應用程式打包起來,準備好靜態檔案,就可以[部署](/guides/deploy)至慣用的主機服務。
-
-## 手動安裝
-
-沒有 `create-astro` 精靈的協助,也可以設定 Astro。接下來就是要讓 Astro 動起來的一些額外步驟。
-
-### 設定專案
-
-```bash
-# 建立、進入新資料夾
-mkdir my-astro-project
-cd my-astro-project
-```
-
-建立以專案名稱為名的空資料夾,接著進入該處:
-
-### 建立 `package.json`
-
-```bash
-# 這個指令會建立基本的 package.json
-npm init --yes
-```
-
-Astro 設計成與 npm 套件整體生態一起運作,由專案根目錄 裡,稱為 `package.json` 的專案 Manifest 進行管理。如果不熟悉 `package.json` 檔案,強烈建議先將 [npm 文件](https://docs.npmjs.com/creating-a-package-json-file)快速讀過一遍。
-
-### 安裝 Astro
-
-按照上方的指示之後,應該有個資料夾,裡面只有 `package.json` 一個檔案。現在即可在專案裡設定 Astro。
-
-```bash
-npm install astro
-```
-
-取代 `package.json` 檔案裡,從 `npm init` 產生、一開始就有的 "script" 部分:
-
-```diff
- "scripts": {
-- "test": "echo \"Error: no test specified\" && exit 1"
-+ "dev": "astro dev",
-+ "build": "astro build",
-+ "preview": "astro preview"
- },
-}
-```
-
-[`dev`](#start-astro) 指令在 `http://localhost:3000` 啟動 Astro 開發伺服器。一但專案已經準備好,[`build`](#build-astro) 指令將專案輸出至 `dist/` 資料夾。[在「部署指南」深入閱讀部署 Astro](/guides/deploy)。
-
-### 建立第一個頁面
-
-打開偏好的文字編輯器,接著在專案裡新增檔案:
-
-1. 在 `src/pages/index.astro` 新增檔案
-2. 在檔案裡複製貼上以下程式碼片段(包含橫槓 `---` ):
-
-```astro
----
-// 在程式碼 fence 之間寫的 JS/TS 程式碼,
-// 只會在伺服器端執行!
-console.log('See me in the Terminal')
----
-
-
-
- Hello, World!
-
-
-
-
-
-
-```
-
-以上就是 Astro 的元件語法範例,同時包含 HTML 和 JSX。
-
-在 `src/pages` 資料夾裡還可以加入更多頁面,Astro 就會使用檔案名稱建立網站的新頁面。舉例來說,位在 `src/pages/about.astro` 的檔案(可以重複使用上面的程式碼片段),Astro 就會有網址是 `http://localhost/about` 的新頁面。
-
-## [啟動 Astro](#start-astro)
-
-```bash
-npm run dev
-```
-
-Astro 會為應用程式打開 `http://localhost:3000` 的伺服器。在瀏覽器開啟網址,就會看到 Astro 的「Hello World」。
-
-## [Build Astro](#build-astro)
-
-```bash
-npm run build
-```
-
-這樣就會指揮 Astro 開始 Build 網站,存在磁碟裡。現在,應用程式已經放在 `dist/` 資料夾裡準備好了。
-
-### 下一步
-
-成功了!現在即可開始開發!
-
-我們建議花點時間更熟悉 Astro 的運作方式。只要在文件裡進一步探索,建議看看這些:
-
-📚 深入了解 Astro 的專案架構:[專案架構指南。](/core-concepts/project-structure)
-
-📚 深入了解 Astro 的元件語法:[Astro 元件指南。](/core-concepts/astro-components)
-
-📚 深入了解 Astro 根據檔案產生的路徑:[路徑指南。](core-concepts/astro-pages)
diff --git a/docs/src/pages/zh-TW/quick-start.md b/docs/src/pages/zh-TW/quick-start.md
deleted file mode 100644
index ecd402422..000000000
--- a/docs/src/pages/zh-TW/quick-start.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-layout: ~/layouts/MainLayout.astro
-title: 快速開始
-lang: zh-Hant-TW
----
-
-```shell
-# 環境需求:檢查 Node.js 版本是 14.15.0+ 或 16+。
-node --version
-
-# 開新專案資料夾,並且直接移動到該處
-mkdir my-astro-project && cd $_
-
-# 準備發射...
-npm init astro
-
-# 安裝相依套件
-npm install
-
-# 開始開發!
-npm run dev
-```
-
-```shell
-# 做好之後:把靜態網站 build 進 `dist/`
-npm run build
-```
-
-若想要知道還有哪些方法能夠以 Astro 來做專案,請[閱讀安裝指南](installation)。
-
-## 開始專案
-
-專案目錄裡,在終端機輸入以下指令:
-
-```bash
-npm run dev
-```
-
-現在,Astro 就會開啟應用程式的伺服器,位置是 [http://localhost:3000](http://localhost:3000)。在瀏覽器打開這網址,就會看到 Astro 的 「Hello, World」。
-
-伺服器會即時監聽 `src/` 資料夾的檔案異動,所以在開發過程的更新毋需重新啟動應用程式。
-
-## Build 專案
-
-若要將專案 Build 起來,移至資料夾裡面,在終端機輸入指令:
-
-```bash
-npm run build
-```
-
-這樣就會指揮 Astro 開始 Build 網站,存在磁碟裡。現在,應用程式已經放在 `dist/` 資料夾裡準備好了。
-
-## 部署專案
-
-Astro 網站是靜態的,所以可以發布至慣用的主機:
-
-- [Vercel](https://vercel.com/)
-- [Netlify](https://www.netlify.com/)
-- [S3 bucket](https://aws.amazon.com/s3/)
-- [Google Firebase](https://firebase.google.com/)
-- [「部署指南」有更多部署 Astro 的細節。](/guides/deploy)
-
-## 下一步
-
-成功了!現在即可開始開發!
-
-我們建議花點時間更熟悉 Astro 的運作方式。只要在文件裡進一步探索,建議看看這些:
-
-📚 深入了解 Astro 的專案架構:[專案架構指南。](/core-concepts/project-structure)
-
-📚 深入了解 Astro 的元件語法:[Astro 元件指南。](/core-concepts/astro-components)
-
-📚 深入了解 Astro 根據檔案產生的路徑:[路徑指南。](core-concepts/astro-pages)
diff --git a/docs/src/pages/zh-TW/themes.astro b/docs/src/pages/zh-TW/themes.astro
deleted file mode 100644
index c1908fbc8..000000000
--- a/docs/src/pages/zh-TW/themes.astro
+++ /dev/null
@@ -1,53 +0,0 @@
----
-import Layout from '../../layouts/MainLayout.astro';
-import Card from '../../components/Card.astro';
-import { Markdown } from 'astro/components';
-import themes from '../../data/themes.json';
-import components from '../../data/components.json';
----
-
-
-
-
- ## 精選佈景主題
-
-
- {themes.featured.map((item) => )}
-
-
- ## 官方佈景主題
-
- Astro 維護的文件網站、作品集 ⋯ 等官方佈景主題。
-
-
- {themes.official.map((item) => )}
-
-
- ## 社群佈景主題
-
- 趕緊來看看社群開發的佈景主題!
-
-
- {themes.community.map((item) => )}
-
-
- ## 精選套件
-
- 我們的套件生態持續成長!所有精選社群套件都可以在 [npm](https://www.npmjs.com/search?q=keywords%3Aastro-component) 發掘。
-
-
- {components.community.map((item) => )}
-
-
- > 想要讓自己的作品成為精選嗎?[在 Discord 分享!](https://astro.build/chat)
- > 我們常在 `#showcase` 頻道取材,把深受喜愛的在這裡發布。
-
-
diff --git a/docs/src/util.ts b/docs/src/util.ts
deleted file mode 100644
index c20b0713e..000000000
--- a/docs/src/util.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-export function getLanguageFromURL(pathname: string) {
- const langCodeMatch = pathname.match(/\/([a-z]{2}-?[A-Z]{0,2})\//);
- return langCodeMatch ? langCodeMatch[1] : 'en';
-}
-
-/** Remove \ and / from beginning of string */
-export function removeLeadingSlash(path: string) {
- return path.replace(/^[/\\]+/, '');
-}
-
-/** Remove \ and / from end of string */
-export function removeTrailingSlash(path: string) {
- return path.replace(/[/\\]+$/, '');
-}
diff --git a/examples/with-markdown-plugins/README.md b/examples/with-markdown-plugins/README.md
index 69720bf0a..b1d3f3b38 100644
--- a/examples/with-markdown-plugins/README.md
+++ b/examples/with-markdown-plugins/README.md
@@ -6,4 +6,4 @@ npm init astro -- --template with-markdown-plugins
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/with-markdown-plugins)
-This example showcases Astro's [built-in Markdown support](../../docs/markdown.md) with additional, user-provided plugins.
+This example showcases Astro's [built-in Markdown support](https://docs.astro.build/en/guides/markdown-content/) with additional, user-provided plugins.
diff --git a/examples/with-markdown-shiki/README.md b/examples/with-markdown-shiki/README.md
index d97d1855d..d902a2589 100644
--- a/examples/with-markdown-shiki/README.md
+++ b/examples/with-markdown-shiki/README.md
@@ -6,7 +6,7 @@ npm init astro -- --template with-markdown-shiki
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/with-markdown)
-This example showcases Astro's [built-in Markdown support](../../docs/markdown.md).
+This example showcases Astro's [built-in Markdown support](https://docs.astro.build/en/guides/markdown-content/).
- `src/pages/index.astro` uses Astro's `` component.
- `src/pages/other.md` is a treated as a page entrypoint and uses a `layout`.
diff --git a/examples/with-markdown/README.md b/examples/with-markdown/README.md
index e8ea164ea..5acc87f7c 100644
--- a/examples/with-markdown/README.md
+++ b/examples/with-markdown/README.md
@@ -6,7 +6,7 @@ npm init astro -- --template with-markdown
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/with-markdown)
-This example showcases Astro's [built-in Markdown support](../../docs/markdown.md).
+This example showcases Astro's [built-in Markdown support](https://docs.astro.build/en/guides/markdown-content/).
- `src/pages/index.astro` uses Astro's `` component.
- `src/pages/other.md` is a treated as a page entrypoint and uses a `layout`.
diff --git a/netlify.toml b/netlify.toml
index 47f65bce1..de7a454af 100644
--- a/netlify.toml
+++ b/netlify.toml
@@ -1,2 +1,2 @@
[build]
- ignore = "git diff --quiet $COMMIT_REF $CACHED_COMMIT_REF -- packages/astro/src docs/"
+ ignore = "git diff --quiet $COMMIT_REF $CACHED_COMMIT_REF -- packages/astro/src"
diff --git a/package.json b/package.json
index 002e8cf12..630ea9c5d 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
"scripts": {
"release": "yarn build && changeset publish",
"build": "turbo run build --no-deps --scope=astro --scope=create-astro --scope=\"@astrojs/*\"",
- "build:examples": "turbo run build --scope=docs --scope=\"@example/*\"",
+ "build:examples": "turbo run build --scope=\"@example/*\"",
"dev": "turbo run dev --no-deps --no-cache --parallel --scope=astro --scope=create-astro --scope=\"@astrojs/*\"",
"test": "turbo run test --scope=astro",
"test:match": "cd packages/astro && yarn run test:match",
@@ -27,7 +27,6 @@
"examples/component/demo",
"examples/component/packages/*",
"scripts",
- "docs",
"packages/astro/test/fixtures/builtins/packages/*",
"packages/astro/test/fixtures/builtins-polyfillnode",
"packages/astro/test/fixtures/custom-elements/my-component-lib",
diff --git a/packages/astro/test/benchmark/build.bench.js b/packages/astro/test/benchmark/build.bench.js
index 5a0f2111c..9595af76c 100644
--- a/packages/astro/test/benchmark/build.bench.js
+++ b/packages/astro/test/benchmark/build.bench.js
@@ -1,3 +1,5 @@
+/** @todo migrate these to use the independent docs repository at https://github.com/withastro/docs */
+
import { fileURLToPath } from 'url';
import { performance } from 'perf_hooks';
import { build as astroBuild } from '#astro/build';
diff --git a/packages/astro/test/benchmark/dev.bench.js b/packages/astro/test/benchmark/dev.bench.js
index 97710d713..0ffbe55a2 100644
--- a/packages/astro/test/benchmark/dev.bench.js
+++ b/packages/astro/test/benchmark/dev.bench.js
@@ -1,3 +1,5 @@
+/** @todo migrate these to use the independent docs repository at https://github.com/withastro/docs */
+
import { performance } from 'perf_hooks';
import { Benchmark } from './benchmark.js';
import { runDevServer } from '../helpers.js';
diff --git a/scripts/smoke/index.js b/scripts/smoke/index.js
index 823e9edfa..8c3f27ae9 100644
--- a/scripts/smoke/index.js
+++ b/scripts/smoke/index.js
@@ -1,3 +1,5 @@
+/** @todo migrate these to use the independent docs repository at https://github.com/withastro/docs */
+
import fs from 'fs';
import { execa } from 'execa';
import { fileURLToPath } from 'url';