diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 365a3a2d8fa6b..983c1146f96e1 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,10 +1,8 @@ #### Description (required) - - - + #### Related issues & labels (optional) diff --git a/.github/hacktoberfest.md b/.github/hacktoberfest.md index d006f611d8e6d..297503193fa5a 100644 --- a/.github/hacktoberfest.md +++ b/.github/hacktoberfest.md @@ -52,4 +52,4 @@ Reviewed a translation PR? We want you to get credit, too! **Create a PR followi If you have any questions, just ask, and thank you for helping to translate the Astro Docs! -During Hacktoberfest 2023, we've received 2 translation PR reviews from helpful contributors. Thank you! +During Hacktoberfest 2023, we've received 4 translation PR reviews from helpful contributors. Thank you! diff --git a/contributor-guides/translating-astro-docs.md b/contributor-guides/translating-astro-docs.md index fac7f2492deb5..73cc93adde86b 100644 --- a/contributor-guides/translating-astro-docs.md +++ b/contributor-guides/translating-astro-docs.md @@ -30,7 +30,7 @@ Unfortunately, we cannot support all languages at this time, and must prioritize We receive several translation PRs to our repository daily, meaning one of the most helpful and impactful ways to contribute is through **reviews** so that all of these wonderful translations can be properly checked before being published. Keep reading to find out how to contribute on GitHub! -If you're a beginner when it comes to reviewing GitHub PRs and translations, we got you covered in our [Reviewer Process section](#reviewer). +If you're a beginner when it comes to reviewing GitHub PRs and translations, we got you covered in our [Reviewer Process section](#review-process). > **Note** > Did you know that reviews and translations count towards your Astro Badge? [Astro Badges](https://astro.badg.es/) is a community initiative made to award contributions to Astro through achievements you can showcase in your GitHub profile! diff --git a/contributor-guides/writing-and-style-guide.md b/contributor-guides/writing-and-style-guide.md index 22fe22fdb75bb..c7fb9ad674f59 100644 --- a/contributor-guides/writing-and-style-guide.md +++ b/contributor-guides/writing-and-style-guide.md @@ -374,7 +374,7 @@ Here are two examples of what our code snippets look like written in Markdown, j #### Example 2 - use the file name as a title (alt method) -- apply "+ diff" styling (green backround) to any occurrence of `` +- apply "+ diff" styling (green background) to any occurrence of `` - highlight any occurrence of `{props.title}` and `{props.social}` ``````markdown diff --git a/old-translations/de/core-concepts/endpoints.mdx b/old-translations/de/core-concepts/endpoints.mdx index 4f5eb0bc95267..add863ba258cc 100644 --- a/old-translations/de/core-concepts/endpoints.mdx +++ b/old-translations/de/core-concepts/endpoints.mdx @@ -100,7 +100,7 @@ Alles, was bei den Endpunkten für statische Dateien beschrieben wurde, kann auc Im Gegensatz zum `static`-Modus werden allerdings im `server`-Modus deine Endpunkte erst dann erzeugt, wenn eine Anfrage für sie empfangen wird. Dies ermöglicht den Zugriff auf neue Funktionen, die zum Erstellungszeitpunkt nicht verfügbar sind, und erlaubt es dir, API-Routen zu erstellen, die auf Anfragen warten und ihren Code zur Laufzeit in einer sicheren Server-Umgebung ausführen. :::note -Stelle sicher, dass du [SSR aktivierst](/de/guides/server-side-rendering/#ssr-in-deinem-projekt-aktivieren), bevor du diese Beispiele ausprobierst. +Stelle sicher, dass du [SSR aktivierst](/de/guides/server-side-rendering/), bevor du diese Beispiele ausprobierst. ::: Server-Endpunkte können auf `params` zugreifen, ohne `getStaticPaths` zu exportieren, und sie können ein [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)-Objekt zurückgeben, welches dir ermöglicht, Statuscodes und Header zu setzen: diff --git a/old-translations/de/guides/rss.mdx b/old-translations/de/guides/rss.mdx index de7b95d40e08b..1964ee6b6a959 100644 --- a/old-translations/de/guides/rss.mdx +++ b/old-translations/de/guides/rss.mdx @@ -7,7 +7,7 @@ Astro unterstützt die schnelle, automatische Generierung von RSS-Feeds für Blo ## Einrichten von `@astrojs/rss` -Das `@astrojs/rss`-Paket bietet Hilfsfunktionen zur Erzeugung von RSS-Feeds mithilfe von [API-Endpunkten](/de/core-concepts/astro-pages/#nicht-html-seiten). Dies ermöglicht _sowohl_ statische Feeds, die zum Erstellungszeitpunkt der Website generiert werden, als auch die On-Demand-Generierung bei Verwendung eines [SSR-Adapters](/de/guides/server-side-rendering/#ssr-in-deinem-projekt-aktivieren). +Das `@astrojs/rss`-Paket bietet Hilfsfunktionen zur Erzeugung von RSS-Feeds mithilfe von [API-Endpunkten](/de/core-concepts/astro-pages/#nicht-html-seiten). Dies ermöglicht _sowohl_ statische Feeds, die zum Erstellungszeitpunkt der Website generiert werden, als auch die On-Demand-Generierung bei Verwendung eines [SSR-Adapters](/de/guides/server-side-rendering/). Installiere zu Beginn `@astrojs/rss` mit deinem bevorzugten Paketmanager: diff --git a/old-translations/fr/core-concepts/endpoints.mdx b/old-translations/fr/core-concepts/endpoints.mdx index b5db647f00c0d..070800a711634 100644 --- a/old-translations/fr/core-concepts/endpoints.mdx +++ b/old-translations/fr/core-concepts/endpoints.mdx @@ -102,7 +102,7 @@ Tout ce qui est décrit dans la section des points de terminaison statiques peut Mais, à la différence du mode `static`, lorsque vous configurez le mode `server`, les points de terminaison seront construits à la demande. Ceci déverrouille de nouvelles fonctionnalités qui ne sont pas disponibles au moment de la compilation, et vous permet de construire des routes d'API qui écoutent les demandes et exécutent le code de manière sécurisée sur le serveur au moment de l'exécution. :::note -Soyez sûr d'avoir [activé le SSR](/fr/guides/server-side-rendering/#activation-du-mode-ssr-dans-votre-projet) avant d'essayer ces exemples. +Soyez sûr d'avoir [activé le SSR](/fr/guides/server-side-rendering/) avant d'essayer ces exemples. ::: Les points de terminaison serveur peuvent accéder aux `params` sans avoir à exporter `getStaticPaths`, et ils peuvent retourner un objet [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response), permettant d'affecter des codes de statut et des en-têtes : diff --git a/old-translations/fr/guides/rss.mdx b/old-translations/fr/guides/rss.mdx index f2675796abf3c..b0480e7ad4097 100644 --- a/old-translations/fr/guides/rss.mdx +++ b/old-translations/fr/guides/rss.mdx @@ -11,7 +11,7 @@ Astro prend en charge la génération rapide et automatique de flux RSS pour les ## Mise en place d'`@astrojs/rss` -Le [package `@astrojs/rss`](https://github.com/withastro/astro/tree/main/packages/astro-rss) fournit des fonctions d'aide pour la génération de flux RSS en utilisant des ["API endpoints" (ou points d'arrêt API)](/fr/core-concepts/endpoints/#points-de-terminaison-statiques). Cela permet de débloquer à la fois les builds statiques _et_ la génération à la demande lors de l'utilisation d'un [adaptateur SSR](/fr/guides/server-side-rendering/#activation-du-mode-ssr-dans-votre-projet). +Le [package `@astrojs/rss`](https://github.com/withastro/astro/tree/main/packages/astro-rss) fournit des fonctions d'aide pour la génération de flux RSS en utilisant des ["API endpoints" (ou points d'arrêt API)](/fr/core-concepts/endpoints/#points-de-terminaison-statiques). Cela permet de débloquer à la fois les builds statiques _et_ la génération à la demande lors de l'utilisation d'un [adaptateur SSR](/fr/guides/server-side-rendering/). Pour commencer, installez `@astrojs/rss` en utilisant votre gestionnaire de Package préféré : diff --git a/package.json b/package.json index 8ed8c221851cd..ca4723e118ee6 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "astro-auto-import": "^0.3.1", "astro-eslint-parser": "^0.9.2", "astro-expressive-code": "^0.20.0", - "astro-og-canvas": "^0.2.1", + "astro-og-canvas": "^0.3.0", "bcp-47-normalize": "^2.1.0", "canvaskit-wasm": "^0.37.0", "dedent-js": "^1.0.1", @@ -104,7 +104,7 @@ "remark-smartypants": "^2.0.0", "sass": "^1.54.3" }, - "packageManager": "pnpm@8.6.12", + "packageManager": "pnpm@8.10.0", "pnpm": { "peerDependencyRules": { "ignoreMissing": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 41744d99fdd32..3c226d0635279 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -101,8 +101,8 @@ devDependencies: specifier: ^0.20.0 version: 0.20.0(astro@3.0.8) astro-og-canvas: - specifier: ^0.2.1 - version: 0.2.1(astro@3.0.8) + specifier: ^0.3.0 + version: 0.3.0(astro@3.0.8) bcp-47-normalize: specifier: ^2.1.0 version: 2.1.0 @@ -2800,14 +2800,15 @@ packages: remark-expressive-code: 0.20.0 dev: true - /astro-og-canvas@0.2.1(astro@3.0.8): - resolution: {integrity: sha512-FuUKUXOt9ZXSgjcjyy7+GHJHx7z9csHne6MTogBJ8oGvxG2mMBUsBCdO5xvBtM+TwNnT4tMpGe1rCph2BLsR5Q==} + /astro-og-canvas@0.3.0(astro@3.0.8): + resolution: {integrity: sha512-UVT7layzhxdiIuBrxwQoMAXq814d6AKMMUO4iC8IhZGssYW+ZDIKN8NEI4dn1WKgYsNv813w6Im3eSER01t2ZA==} engines: {node: '>=18.14.1'} peerDependencies: astro: ^3.0.0 dependencies: astro: 3.0.8(@types/node@18.6.4)(sass@1.54.3) canvaskit-wasm: 0.37.0 + deterministic-object-hash: 1.3.1 entities: 4.5.0 dev: true @@ -3421,6 +3422,10 @@ packages: engines: {node: '>=8'} dev: true + /deterministic-object-hash@1.3.1: + resolution: {integrity: sha512-kQDIieBUreEgY+akq0N7o4FzZCr27dPG1xr3wq267vPwDlSXQ3UMcBXHqTGUBaM/5WDS1jwTYjxRhUzHeuiAvw==} + dev: true + /devalue@4.3.2: resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} dev: true diff --git a/public/captions/pt-br/197398760-8fd30eff-4d13-449d-a598-00a6a1ac4644.vtt b/public/captions/pt-br/197398760-8fd30eff-4d13-449d-a598-00a6a1ac4644.vtt new file mode 100644 index 0000000000000..adf396523cffe --- /dev/null +++ b/public/captions/pt-br/197398760-8fd30eff-4d13-449d-a598-00a6a1ac4644.vtt @@ -0,0 +1,37 @@ +WEBVTT + +00:00.570 --> 00:06.520 +Olá pessoal, eu sou o Dan, e hoje irei te mostrar como utilizar Tailwind CSS com seu projeto Astro. + +00:06.815 --> 00:12.415 +Você pode ver que tenho um site Astro básico aqui e ele parece bem entediante, então eu quero adicionar alguns estilos a ele. + +00:12.500 --> 00:15.500 +Vou clicar nesse botão para abrir um novo terminal + +00:15.511 --> 00:19.871 +onde eu posso executar o comando “npx astro add tailwind”. + +00:20.107 --> 00:25.500 +Este comando pode ser encontrado na documentação de integrações que vou me certificar de adicionar um link para. + +00:26.327 --> 00:34.383 +Ele me pede para permití-lo modificar o arquivo de configuração para dar suporte para Tailwind, eu vou em frente apertar "yes" para isso + +00:34.563 --> 00:38.673 +e agora ele quer instalar o próprio Tailwind e eu definitivamente vou apertar "yes" para isso. + +00:39.017 --> 00:44.760 +Assim que isso estiver feito, ele quer generar um arquivo de configuração do Tailwind automaticamente, então apertarei "yes" + +00:45.076 --> 00:49.365 +e agora tudo o que preciso fazer é reiniciar o servidor de desenvolvimento + +00:49.447 --> 00:55.857 +e podemos ver que eu já tenho alguns bons estilos escritos com Tailwind em um dos meus componentes. + +00:56.069 --> 01:02.075 +Me deixe só colocar o cabeçalho em negrito, usando Tailwind. + +01:02.236 --> 01:04.927 +E é isso aí: Tailwind no Astro! diff --git a/public/logos/cosmic.svg b/public/logos/cosmic.svg new file mode 100644 index 0000000000000..f59d0ceb381dd --- /dev/null +++ b/public/logos/cosmic.svg @@ -0,0 +1,14 @@ + diff --git a/scripts/docgen.mjs b/scripts/docgen.mjs index 0160ed6559bad..0c60eb65c590e 100644 --- a/scripts/docgen.mjs +++ b/scripts/docgen.mjs @@ -1,3 +1,5 @@ +// @ts-check + import fs from 'fs'; import jsdoc from 'jsdoc-api'; import fetch from 'node-fetch'; @@ -42,25 +44,29 @@ const FOOTER = ``; export async function run() { const sourceBranch = process.env.SOURCE_BRANCH || 'main'; const sourceRepo = process.env.SOURCE_REPO || 'withastro/astro'; + + let task = 'Fetch `@types/astro.ts` from ' + sourceRepo + '#' + sourceBranch; + console.time(task); + const inputBuffer = STUB || (await fetch( `https://raw.githubusercontent.com/${sourceRepo}/${sourceBranch}/packages/astro/src/%40types/astro.ts` ).then((r) => r.text())); + console.timeEnd(task); + task = 'Parse types and generate configuration reference'; + console.time(task); + // Get all `@docs` JSDoc comments in the file. const allComments = [ - ...inputBuffer.matchAll(/\/\*\*\s*\n([^\*]|\*[^\/])*@docs([^\*]|\*[^\/])*\*\//g), + ...inputBuffer.matchAll(/\/\*\*\s*\n([^*]|\*[^/])*@docs([^*]|\*[^/])*\*\//g), ]; const allCommentsInput = allComments .map((m) => m[0]) .filter((c) => c.includes('* @docs')) .join('\n\n'); - console.log(jsdoc); - console.log(allCommentsInput); - console.log(jsdoc.explainSync({ source: allCommentsInput })); - const allParsedComments = jsdoc .explainSync({ source: allCommentsInput }) .filter((data) => data.tags); @@ -68,60 +74,67 @@ export async function run() { let result = ``; for (const comment of allParsedComments) { - if (comment.kind === 'heading') { - result += `## ${comment.name}\n\n`; - if (comment.description) { - result += comment.description.trim() + '\n\n'; - } - continue; - } - const cliFlag = comment.tags.find((f) => f.title === 'cli'); - const typerawFlag = comment.tags.find((f) => f.title === 'typeraw'); if (!comment.name) { throw new Error(`Missing @docs JSDoc tag: @name`); } - if (!comment.type && !typerawFlag) { - throw new Error(`Missing @docs JSDoc tag: @type or @typeraw`); - } - const typesFormatted = typerawFlag - ? typerawFlag.text.replace(/\{(.*)\}/, '$1') - : comment.type.names.join(' | '); + result += [ - `### ${comment.longname}`, - ``, + getHeading(comment), getDeprecatedAside(comment.deprecated), - `
`,
- ``,
- [
- `**Type:** \`${typesFormatted}\``,
- cliFlag ? `**CLI:** \`${cliFlag.text}\`` : undefined,
- comment.defaultvalue ? `**Default:** ${comment.defaultvalue}` : undefined,
- comment.version ? `
\n'),
- `
', '', properties, '
', ''].join('\n') : undefined; +} + run(); diff --git a/src/content/docs/ar/concepts/why-astro.mdx b/src/content/docs/ar/concepts/why-astro.mdx index 277aaf6dbf73b..834c1dda64764 100644 --- a/src/content/docs/ar/concepts/why-astro.mdx +++ b/src/content/docs/ar/concepts/why-astro.mdx @@ -1,6 +1,7 @@ --- title: لماذا أسترو؟ -description: "أسترو هو إطار عمل ويب شامل لبناء مواقع ويب سريعة تركز على المحتوى." +description: "أسترو هو إطار عمل ويب شامل لبناء مواقع ويب سريعة تركز على المحتوى. تعرف على المزيد." +i18nReady: true --- أسترو هو إطار عمل ويب **شامل** لبناء مواقع ويب **سريعة** تركز على **المحتوى**. @@ -71,7 +72,7 @@ description: "أسترو هو إطار عمل ويب شامل لبناء موا **أسترو إطار ويب شامل يأتي مع كل ما تحتاجه لبناء موقع ويب.** يوفر أسترو إمكانية بناء مكونات الويب، وتوجيهًا قائمًا على الملفات، ومعالجة الأصول (الخطوط والصور وغيرها)، وبناء الموقع وتحزيمه، والتحسينات، وجلب البيانات، والمزيد. يمكنك إنشاء مواقع ويب رائعة بالميزات الأساسية لأسترو دون الحاجة لشيء آخر. -إذا كنت بحاجة إلى مزيد من التحكم، يمكنك توسيع أسترو بـ [أكثر من 100 اضافة](https://astro.build/integrations/) مثل، [React](https://www.npmjs.com/package/@astrojs/react), [Svelte](https://www.npmjs.com/package/@astrojs/svelte), [Vue](https://www.npmjs.com/package/@astrojs/vue), [Tailwind CSS](https://www.npmjs.com/package/@astrojs/tailwind), [MDX](https://www.npmjs.com/package/@astrojs/mdx), [تحسين الصور](https://www.npmjs.com/package/@astrojs/image)، والمزيد. [اربط بنظام إدارة المحتوى الذي تفضل](/ar/guides/cms/) أو [انشر موقعك على مضيفك المفضل](/ar/guides/deploy/) بأمر واحد فقط. +إذا كنت بحاجة إلى مزيد من التحكم، يمكنك توسيع أسترو بـ [أكثر من 100 اضافة](https://astro.build/integrations/) مثل [React](https://www.npmjs.com/package/@astrojs/react)، [Svelte](https://www.npmjs.com/package/@astrojs/svelte)، [Vue](https://www.npmjs.com/package/@astrojs/vue)، [Tailwind CSS](https://www.npmjs.com/package/@astrojs/tailwind)، [MDX](https://www.npmjs.com/package/@astrojs/mdx)، والمزيد. [اربط بنظام إدارة المحتوى الذي تفضل](/ar/guides/cms/) أو [انشر موقعك على مضيفك المفضل](/ar/guides/deploy/) بأمر واحد فقط. أسترو ليس إطار لواجهات الويب، مما يعني بإمكانك **العمل على إطارك المفضل**. React أو Preact أو Solid أو Svelte أو Vue أو Lit بشكل رسمي في أسترو. يمكنك حتى استخدام أكثر من إطار في نفس الصفحة، مما يجعل نقل المشاريع بين الأطر أمرًا سهلًا، ويمنع حكر مشروع على إطار بعينه. diff --git a/src/content/docs/ar/core-concepts/astro-components.mdx b/src/content/docs/ar/core-concepts/astro-components.mdx index a1de3495cf2ed..3a95f3dd31d58 100644 --- a/src/content/docs/ar/core-concepts/astro-components.mdx +++ b/src/content/docs/ar/core-concepts/astro-components.mdx @@ -125,7 +125,7 @@ const { greeting, name } = Astro.props; ---Zeige mich!
} + +{sichtbar ?Zeige mich!
:Zeige mich sonst!
} +``` + +### Dynamische Tags + +Du kannst auch dynamische Tags verwenden, indem du eine Variable auf einen HTML-Tag-Namen oder einen Komponentenimport setzt: + +```astro title="src/components/DynamicTags.astro" /Element|(?Hallo! +Roher HTML-Inhalt
'; +--- +Es ist nicht erforderlich, Elemente in einen einziges umschließendes Element einzubetten.
+Astro unterstützt mehrere Root-Elemente in einer Vorlage.
+``` + +#### Kommentare + +In Astro kannst du Standard-HTML-Kommentare oder Kommentare im JavaScript-Stil verwenden. + +```astro title="example.astro" +--- +--- + +{/* Die Syntax für JS-Kommentare ist ebenfalls gültig */} +``` + +:::caution +HTML-Kommentare werden in dem DOM des Browsers enthalten sein, während JavaScript-Kommentare übersprungen werden. Um TODO-Nachrichten oder andere nur für die Entwicklung bestimmte Erläuterungen zu hinterlassen, empfiehlt es sich, Kommentare im JavaScript-Stil zu verwenden. +::: diff --git a/src/content/docs/de/core-concepts/endpoints.mdx b/src/content/docs/de/core-concepts/endpoints.mdx index 608d54790e5ed..01dcf4feffc35 100644 --- a/src/content/docs/de/core-concepts/endpoints.mdx +++ b/src/content/docs/de/core-concepts/endpoints.mdx @@ -99,7 +99,7 @@ Im Gegensatz zum `static`-Modus werden die Endpunkte bei der Konfiguration des `