Skip to content

Commit

Permalink
Merge branch 'main' into tutorial
Browse files Browse the repository at this point in the history
  • Loading branch information
yanthomasdev authored Jan 9, 2025
2 parents f5a90e8 + 228e35f commit 1e9853c
Show file tree
Hide file tree
Showing 19 changed files with 86 additions and 30 deletions.
2 changes: 1 addition & 1 deletion src/content/docs/en/tutorial/6-islands/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ You will:

## Checklist

<Checklist key="interactivity">
<Checklist>
- [ ] I am ready to add some interactivity to my site, and start living that island life!
</Checklist>
</Box>
4 changes: 2 additions & 2 deletions src/content/docs/fr/guides/content-collections.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Les projets peuvent continuer à utiliser l'API de collections de contenu hérit

Vous pouvez définir une **collection** à partir d'un ensemble de données structurellement similaires. Il peut s'agir d'un répertoire d'articles de blog, d'un fichier JSON de produits ou de toute donnée représentant plusieurs éléments de la même forme.

Les collections stockées localement dans votre projet ou sur votre système de fichiers peuvent contenir des entrées de fichiers Markdown, MDX, Markdoc ou JSON :
Les collections stockées localement dans votre projet ou sur votre système de fichiers peuvent contenir des entrées de fichiers Markdown, MDX, Markdoc, YAML ou JSON :

<FileTree>
- src/
Expand Down Expand Up @@ -85,7 +85,7 @@ L'API Content Layer vous permet de récupérer votre contenu (qu'il soit stocké

Astro fournit deux fonctions de chargement intégrées (`glob()` et `file()`) pour récupérer votre contenu local, ainsi qu'un accès à l'API pour construire votre propre chargeur et récupérer des données distantes.

Le chargeur `glob()` crée des entrées à partir de répertoires de fichiers Markdown, MDX, Markdoc ou JSON à partir de n'importe quel endroit du système de fichiers. Il accepte un `pattern` de fichiers d'entrée à faire correspondre et un chemin de fichier `base` indiquant où se trouvent vos fichiers. L'`id` de chaque entrée sera automatiquement généré à partir de son nom de fichier. Utilisez ce chargeur lorsque vous avez un fichier par entrée.
Le chargeur `glob()` crée des entrées à partir de répertoires de fichiers Markdown, MDX, Markdoc ou JSON à partir de n'importe quel endroit du système de fichiers. Il accepte un `pattern` de fichiers d'entrée à faire correspondre à l'aide de modèles glob pris en charge par [micromatch](https://github.com/micromatch/micromatch#matching-features) et un chemin de fichier `base` indiquant où se trouvent vos fichiers. L'`id` de chaque entrée sera automatiquement généré à partir de son nom de fichier. Utilisez ce chargeur lorsque vous avez un fichier par entrée.

Le chargeur `file()` crée plusieurs entrées à partir d'un seul fichier local. Chaque entrée du fichier doit avoir une propriété de clé `id` unique. Il accepte un chemin de fichier `base` vers votre fichier et éventuellement une [fonction `parser`](#fonction-parser) pour les fichiers de données qu'il ne peut pas analyser automatiquement. Utilisez ce chargeur lorsque votre fichier de données peut être analysé comme un tableau d'objets.

Expand Down
1 change: 1 addition & 0 deletions src/content/docs/fr/recipes/build-forms-api.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Cette méthode vous montre comment envoyer les données du formulaire au point d
Cet exemple envoie un objet JSON avec un message au client.

```ts title="src/pages/api/feedback.ts" "request.formData()" "post"
export const prerender = false; // Pas nécessaire en mode `server`
import type { APIRoute } from "astro";

export const POST: APIRoute = async ({ request }) => {
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/ko/guides/server-islands.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ const productId = url.searchParams.get('product');

## 암호화 키 재사용

Astro는 [암호화](https://developer.mozilla.org/en-US/docs/Glossary/Cryptography)를 사용하여 서버 아일랜드에 전달된 props를 해시합니다. 이는 실수로 비밀이 유출되는 것을 방지합니다. props는 빌드 중에 생성된 키를 사용하여 해시됩니다.
Astro는 [cryptography](https://developer.mozilla.org/en-US/docs/Glossary/Cryptography)를 사용하여 서버 아일랜드에 전달된 props를 암호화합니다. 이는 실수로 비밀이 유출되는 것을 방지합니다. props는 빌드 중에 생성된 키를 사용하여 암호화됩니다.

대부분의 호스트의 경우, 이는 투명하게 처리되며 개발자가 별도로 할 일은 없습니다. Kubernetes와 같은 환경에서 롤링 배포를 사용하는 경우, 프런트엔드와 백엔드가 일시적으로 동기화되지 않고 키가 일치하지 않는 문제가 발생할 수 있습니다.

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/ko/tutorial/6-islands/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import Option from '~/components/tutorial/Option.astro';

## Checklist

<Checklist key="interactivity">
<Checklist>
- [ ] 내 사이트에 상호작용 기능을 추가하고 아일랜드 라이프를 시작할 준비가 되었습니다!
</Checklist>
</Box>
6 changes: 3 additions & 3 deletions src/content/docs/zh-cn/guides/content-collections.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Astro 5.0 引入了内容层(Content Layer)API,用于定义和查询内容

你可以从结构相似的数据集中定义一个**集合**。这可以是一个博客文章的目录,一个产品项目的 JSON 文件,或者任何代表相同形状的多个项目的数据。

本地存储在项目中或文件系统上的集合可以包含 Markdown、MDX、Markdoc 或 JSON 文件的条目:
本地存储在项目中或文件系统上的集合可以包含 Markdown、MDX、Markdoc、YAML 或 JSON 文件的条目:

<FileTree>
- src/
Expand Down Expand Up @@ -87,7 +87,7 @@ export const collections = { blog, dogs };

Astro 提供了两个内置的加载器函数(`glob()``file()`)用于获取本地内容,也可以通过 API 来构建自己的加载器并请求远程数据。

`glob()` 加载器可以从文件系统的任何地方创建 Markdown、MDX、Markdoc 或 JSON 文件的目录条目。它接受一个匹配条目文件的 `pattern`,以及你的文件所在的 `base` 文件路径。每个条目的 `id` 将从其文件名自动生成。当每个条目对应一个文件时,请使用此加载器。
`glob()` 加载器可以从文件系统的任何地方创建 Markdown、MDX、Markdoc 或 JSON 文件的目录条目。它基于 [micromatch](https://github.com/micromatch/micromatch#matching-features) 的 glob 模式支持来接受一个匹配条目文件的 `pattern`,以及你的文件所在的 `base` 文件路径。每个条目的 `id` 将从其文件名自动生成。当每个条目对应一个文件时,请使用此加载器。

`file()` 加载器从单个本地文件创建多个条目。文件中的每个条目必须有一个唯一的 `id` 键属性。它接受一个 相对你的文件的 `base` 文件路径,以及一个可选的 [`parser` 函数](#parser-函数) 用于它无法自动解析的数据文件。当你的数据文件可以解析为对象数组时,请使用此加载器。

Expand Down Expand Up @@ -403,7 +403,7 @@ const posts = await getCollection('blog');
```
#### 渲染正文内容

查询后,你可以使用 `render()` 函数属性将 Markdown 和 MDX 条目渲染为 HTML。调用此函数将使你可以访问渲染的 HTML 内容,包括 `<Content />` 组件和所有已渲染标题的列表。
查询后,你可以使用 [`render()`](/zh-cn/reference/modules/astro-content/#render) 函数属性将 Markdown 和 MDX 条目渲染为 HTML。调用此函数将使你可以访问渲染的 HTML 内容,包括 `<Content />` 组件和所有已渲染标题的列表。

```astro title="src/pages/blog/post-1.astro" {5,8}
---
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/zh-cn/guides/deploy/vercel.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ import { Steps } from '@astrojs/starlight/components';

```js title="astro.config.mjs" ins={2, 5-6}
import { defineConfig } from 'astro/config';
import vercel from '@astrojs/vercel/serverless';
import vercel from '@astrojs/vercel';

export default defineConfig({
output: 'server',
Expand Down
8 changes: 4 additions & 4 deletions src/content/docs/zh-cn/guides/integrations-guide/alpinejs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Astro 包含了一个 `astro add` 命令,用于自动设置官方集成。如
</Fragment>
</PackageManagerTabs>

大多数包管理器会自动安装相关的 peer 依赖项。然而,如果在启动 Astro 时看到 "Cannot find package 'alpinejs'"(或者类似)的警告,则需要手动安装 Alpine.js:
大多数包管理器会自动安装相关的 peer 依赖项。然而,如果在启动 Astro 时看到 `Cannot find package 'alpinejs'`(或者类似)的警告,则需要手动安装 Alpine.js:

<PackageManagerTabs>
<Fragment slot="npm">
Expand All @@ -83,13 +83,13 @@ Astro 包含了一个 `astro add` 命令,用于自动设置官方集成。如

然后,使用 `integrations` 属性将集成应用到你的 `astro.config.*` 文件中:

```js ins="alpine()" title="astro.config.mjs" ins={2}
```js ins="alpinejs()" title="astro.config.mjs" ins={2}
import { defineConfig } from 'astro/config';
import alpine from '@astrojs/alpinejs';
import alpinejs from '@astrojs/alpinejs';

export default defineConfig({
// ...
integrations: [alpine()],
integrations: [alpinejs()],
});
```

Expand Down
16 changes: 15 additions & 1 deletion src/content/docs/zh-cn/guides/integrations-guide/preact.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Astro 包含了一个 `astro add` 命令,用于自动设置官方集成。如
</Fragment>
</PackageManagerTabs>

大多数包管理器也会安装相关的对等依赖。如果在启动 Astro 时看到 "Cannot find package 'preact'"(或类似)的警告,你需要安装 Preact:
大多数包管理器也会安装相关的对等依赖。如果在启动 Astro 时看到 `Cannot find package 'preact'`(或类似)的警告,你需要安装 Preact:

<PackageManagerTabs>
<Fragment slot="npm">
Expand Down Expand Up @@ -102,6 +102,20 @@ export default defineConfig({
});
```

然后添加下面的代码到 `tsconfig.json` 文件中。

```json title="tsconfig.json" ins={5-8}
{
"extends": "astro/tsconfigs/strict",
"include": [".astro/types.d.ts", "**/*"],
"exclude": ["dist"],
"compilerOptions": {
"jsx": "react-jsx",
"jsxImportSource": "preact"
}
}
```

## 使用

要在 Astro 中使用你的第一个 Preact 组件,请前往我们的 [UI 框架文档][astro-ui-frameworks]。你将会了解到:
Expand Down
22 changes: 18 additions & 4 deletions src/content/docs/zh-cn/guides/integrations-guide/react.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -60,22 +60,22 @@ Astro 包含了一个 `astro add` 命令,用于自动设置官方集成。如
</Fragment>
</PackageManagerTabs>

大多数包管理器也会安装相关的对等依赖。如果在启动 Astro 时看到 "Cannot find package 'react'"(或类似)的警告,你需要安装 `react``react-dom`
大多数包管理器也会安装相关的对等依赖。如果在启动 Astro 时看到 `Cannot find package 'react'`(或类似)的警告,你需要安装 `react``react-dom`

<PackageManagerTabs>
<Fragment slot="npm">
```sh
npm install react react-dom
npm install react react-dom @types/react @types/react-dom
```
</Fragment>
<Fragment slot="pnpm">
```sh
pnpm add react react-dom
pnpm add react react-dom @types/react @types/react-dom
```
</Fragment>
<Fragment slot="yarn">
```sh
yarn add react react-dom
yarn add react react-dom @types/react @types/react-dom
```
</Fragment>
</PackageManagerTabs>
Expand All @@ -91,6 +91,20 @@ export default defineConfig({
});
```

然后添加下面的代码到 `tsconfig.json` 文件中。

```json title="tsconfig.json" ins={5-8}
{
"extends": "astro/tsconfigs/strict",
"include": [".astro/types.d.ts", "**/*"],
"exclude": ["dist"],
"compilerOptions": {
"jsx": "react-jsx",
"jsxImportSource": "react"
}
}
```

## 入门指南

要在 Astro 中使用你的第一个 React 组件,请前往我们的[UI 框架文档][astro-ui-frameworks]。你将了解:
Expand Down
21 changes: 18 additions & 3 deletions src/content/docs/zh-cn/guides/integrations-guide/solid-js.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -83,15 +83,30 @@ Astro 包含了一个 `astro add` 命令,用于自动设置官方集成。如

然后,使用 `integrations` 属性将集成应用到你的 `astro.config.*` 文件中:

```js title="astro.config.mjs" ins={2} ins="solid()"
```js title="astro.config.mjs" ins={2} ins="solidJs()"
import { defineConfig } from 'astro/config';
import solid from '@astrojs/solid-js';
import solidJs from '@astrojs/solid-js';
export default defineConfig({
// ...
integrations: [solid()],
integrations: [solidJs()],
});
```

然后添加下面的代码到 `tsconfig.json` 文件中。


```json title="tsconfig.json" ins={5-8}
{
"extends": "astro/tsconfigs/strict",
"include": [".astro/types.d.ts", "**/*"],
"exclude": ["dist"],
"compilerOptions": {
"jsx": "preserve",
"jsxImportSource": "solid-js"
}
}
```

## 入门

要在 Astro 使用你的 SolidJS 组件,你可以移步我们的 [UI 框架文档][astro-ui-frameworks]. 你将会了解到:
Expand Down
18 changes: 14 additions & 4 deletions src/content/docs/zh-cn/guides/integrations-guide/svelte.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -61,22 +61,22 @@ Astro 包含了一个 `astro add` 命令,用于自动设置官方集成。如
</Fragment>
</PackageManagerTabs>

大多数包管理器也会安装相关的对等依赖项。如果在启动 Astro 时看到 "Cannot find package 'svelte'" (或类似的)警告,则需要安装 Svelte:
大多数包管理器也会安装相关的对等依赖项。如果在启动 Astro 时看到 `Cannot find package 'svelte'` (或类似的)警告,则需要安装 Svelte 和 TypeScript

<PackageManagerTabs>
<Fragment slot="npm">
```sh
npm install svelte
npm install svelte typescript
```
</Fragment>
<Fragment slot="pnpm">
```sh
pnpm add svelte
pnpm add svelte typescript
```
</Fragment>
<Fragment slot="yarn">
```sh
yarn add svelte
yarn add svelte typescript
```
</Fragment>
</PackageManagerTabs>
Expand All @@ -92,6 +92,16 @@ export default defineConfig({
});
```

然后,在你的项目根目录中创建一个名为 `svelte.config.js` 的文件,并添加以下代码:

```js title="svelte.config.js"
import { vitePreprocess } from '@astrojs/svelte';

export default {
preprocess: vitePreprocess(),
}
```

## 入门

要在 Astro 使用你的 Svelte 组件,你可以移步我们的 [UI 框架文档][astro-ui-frameworks]. 你将会了解到:
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/zh-cn/guides/integrations-guide/vue.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ Astro 包含了一个 `astro add` 命令,用于自动设置官方集成。如
</PackageManagerTabs>


大多数包管理器也会安装相关的对等依赖项。如果在启动 Astro 时看到 "Cannot find package 'vue'" (或类似的)警告,则需要安装 Vue:
大多数包管理器也会安装相关的对等依赖项。如果在启动 Astro 时看到 `Cannot find package 'vue'` (或类似的)警告,则需要安装 Vue:

<PackageManagerTabs>
<Fragment slot="npm">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ Gatsby 和 Astro 共享一些相似性,这将帮助你迁移你的项目:

### 迁移页面和文章

在 Gatsby 中,你的[页面和文章](/zh-cn/basics/astro-pages/)可能存在于 `src/pages/` 或者在 `src` 外部的其他文件夹,如 `content`。而在 Astro 中,**所有的页面内容必须位于 `src/` **
在 Gatsby 中,你的[页面和文章](/zh-cn/basics/astro-pages/)可能存在于 `src/pages/` 或者在 `src` 外部的其他文件夹,如 `content`。而在 Astro 中,除了使用 [内容集合](/zh-cn/guides/content-collections/)所有的页面内容必须位于 `src/`

#### React 页面

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@ export default function Head() {

在 Next.js 中,你的文章要么在 `/pages`,要么在 `/app/routeName/page.jsx`

在 Astro 中,**你所有的页面内容必须在 `src/`** 中,除了使用 [内容集合](/zh-cn/guides/content-collections/)
在 Astro 中,除了使用 [内容集合](/zh-cn/guides/content-collections/),所有的页面内容必须位于 `src/`

#### React 页面

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ Astro 中的每个页面都要求显式存在 `<html>`,`<head>` 和 `<body>`

### 迁移页面和文章

在 NuxtJS 中,你的 [页面](/zh-cn/basics/astro-pages/) 位于 `/pages`。在 Astro 中,**页面的所有内容必须位于 `src/`** 中,除非你正在使用 [内容集合](/zh-cn/guides/content-collections/)
在 NuxtJS 中,你的 [页面](/zh-cn/basics/astro-pages/) 位于 `/pages`。在 Astro 中,除了使用 [内容集合](/zh-cn/guides/content-collections/),所有的页面内容必须位于 `src/`

#### Vue 页面

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/zh-cn/tutorial/6-islands/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import Option from '~/components/tutorial/Option.astro';

## 任务清单

<Checklist key ="interactivity">
<Checklist>
- [ ] 我已经准备好为我的网站添加一些交互性,并开始过上那种岛屿的生活!
</Checklist>
</Box>
1 change: 1 addition & 0 deletions src/content/i18n/fr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ leftSidebar.sponsoredBy: Sponsorisé par
footer.community: Communauté
footer.contribute: Contribuer
footer.translatePage: Traduire cette page
footer.sponsor: Parrainer
# Used in `<Since>`: Added in: v0.24.0 [NEW]
since.addedIn: 'Ajouté à la version :'
since.new: Nouveau
Expand Down
1 change: 1 addition & 0 deletions src/content/i18n/zh-CN.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ leftSidebar.sponsoredBy: 赞助商
footer.translatePage: 翻译本页内容
footer.contribute: 贡献
footer.community: 社区
footer.sponsor: 赞助
# Used in `<Since>`: Added in: v0.24.0 [NEW]
since.addedIn: 添加于:
since.new:
Expand Down

0 comments on commit 1e9853c

Please sign in to comment.