Skip to content

Commit

Permalink
Merge branch 'main' into i18n-ja-site-search-1
Browse files Browse the repository at this point in the history
  • Loading branch information
HiDeoo authored Feb 18, 2024
2 parents f213ad6 + 5251b19 commit 29f3d7f
Show file tree
Hide file tree
Showing 4 changed files with 369 additions and 0 deletions.
151 changes: 151 additions & 0 deletions docs/src/content/docs/fr/guides/pages.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
---
title: Pages
description: Apprenez à créer et à gérer les pages de votre site de documentation avec Starlight.
sidebar:
order: 1
---

Starlight génère les pages HTML de votre site en fonction de votre contenu, avec des options flexibles fournies par le biais du frontmatter en Markdown.
En outre, les projets Starlight bénéficient d'un accès complet aux [puissants outils de génération de pages d'Astro](https://docs.astro.build/fr/basics/astro-pages/).
Ce guide montre comment fonctionne la génération de pages dans Starlight.

## Pages de contenu

### Formats de fichiers

Starlight prend en charge la création de contenu en Markdown et MDX sans aucune configuration requise.
Vous pouvez ajouter la prise en charge de Markdoc en installant l'intégration expérimentale [Astro Markdoc](https://docs.astro.build/fr/guides/integrations-guide/markdoc/).

### Ajouter des pages

Ajoutez de nouvelles pages à votre site en créant des fichiers `.md` ou `.mdx` dans `src/content/docs/`.
Utilisez des sous-dossiers pour organiser vos fichiers et pour créer plusieurs segments de chemin.

Par exemple, la structure de fichier suivante générera des pages à `exemple.com/hello-world` et `exemple.com/reference/faq` :

import FileTree from '~/components/file-tree.astro';

<FileTree>

- src/
- content/
- docs/
- hello-world.md
- reference/
- faq.md

</FileTree>

### Frontmatter avec sûreté du typage

Toutes les pages Starlight partagent un [ensemble commun de propriétés du frontmatter](/fr/reference/frontmatter/) personnalisable qui permet de contrôler l'apparence de la page :

```md
---
title: Bonjour tout le monde !
description: Voici une page de mon site propulsé par Starlight
---
```

Si vous oubliez quelque chose d'important, Starlight vous le fera savoir.

## Pages personnalisées

Pour les cas d'utilisation avancés, vous pouvez ajouter des pages personnalisées en créant un répertoire `src/pages/`.
Le répertoire `src/pages/` utilise le [routage basé sur les fichiers d'Astro](https://docs.astro.build/fr/basics/astro-pages/#routage-basé-sur-les-fichiers) et inclut le support des fichiers `.astro` parmi d'autres formats de pages.
Ceci est utile si vous avez besoin de construire des pages avec une mise en page complètement personnalisée ou de générer une page à partir d'une source de données alternative.

Par exemple, ce projet mélange du contenu Markdown dans `src/content/docs/` avec des routes Astro et HTML dans `src/pages/` :

<FileTree>

- src/
- content/
- docs/
- hello-world.md
- pages/
- custom.astro
- archived.html

</FileTree>

Pour en savoir plus, consultez le guide [« Pages » dans la documentation d'Astro](https://docs.astro.build/fr/basics/astro-pages/).

### Utiliser le design de Starlight dans des pages personnalisées

Pour utiliser la mise en page Starlight dans des pages personnalisées, englobez le contenu de votre page avec le composant `<StarlightPage />`.
Cela peut s'avérer utile si vous générez du contenu de manière dynamique, mais que vous souhaitez tout de même utiliser le design de Starlight.

```astro
---
// src/pages/page-perso/exemple.astro
import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro';
import CustomComponent from './CustomComponent.astro';
---
<StarlightPage frontmatter={{ title: 'Ma page personnalisée' }}>
<p>Il s'agit d'une page personnalisée avec un composant personnalisé :</p>
<CustomComponent />
</StarlightPage>
```

#### Props

Le composant `<StarlightPage />` accepte les props suivantes.

##### `frontmatter` (obligatoire)

**Type :** `StarlightPageFrontmatter`

Définit les [propriétés du frontmatter](/fr/reference/frontmatter/) pour cette page, similaire au frontmatter dans les pages Markdown.
La propriété [`title`](/fr/reference/frontmatter/#title-obligatoire) est obligatoire et toutes les autres propriétés sont optionnelles.

Les propriétés suivantes diffèrent du frontmatter en Markdown :

- La propriété [`slug`](/fr/reference/frontmatter/#slug) n'est pas supportée et est automatiquement définie en fonction de l'URL de la page personnalisée.
- L'option [`editUrl`](/fr/reference/frontmatter/#editurl) nécessite une URL pour afficher un lien d'édition.
- La propriété [`sidebar`](/fr/reference/frontmatter/#sidebar) n'est pas supportée. Dans le frontmatter en Markdown, cette option permet de personnaliser les [groupes de liens autogénérés](/fr/reference/configuration/#sidebar), ce qui n'est pas applicable aux pages utilisant le composant `<StarlightPage />`.

{/* ##### `sidebar` */}

{/* **Type :** `SidebarEntry[] | undefined` */}
{/* **Par défaut :** la barre latérale générée en fonction de la [configuration globale `sidebar`](/fr/reference/configuration/#sidebar) */}

{/* Fournir une barre latérale de navigation personnalisée pour cette page. */}
{/* Si elle n'est pas définie, la page utilisera la barre latérale globale par défaut. */}

##### `hasSidebar`

**Type :** `boolean`
**Par défaut :** `false` si [`frontmatter.template`](/fr/reference/frontmatter/#template) est `'splash'`, autrement `true`

Contrôle l'affichage ou non de la barre latérale sur cette page.

##### `headings`

**Type :** `{ depth: number; slug: string; text: string }[]`
**Par défaut :** `[]`

Fournit un tableau de tous les titres de cette page.
Starlight générera la table des matières de la page à partir de ces titres s'ils sont fournis.

##### `dir`

**Type :** `'ltr' | 'rtl'`
**Par défaut :** le sens d'écriture pour la locale actuelle

Définit le sens d’écriture pour le contenu de la page.

##### `lang`

**Type :** `string`
**Par défaut :** la langue de la locale actuelle

Définit l'étiquette d’identification BCP-47 pour le contenu de cette page, par exemple `en`, `zh-CN`, ou `pt-BR`.

##### `isFallback`

**Type :** `boolean`
**Par défaut :** `false`

Indique si cette page utilise un [contenu de repli](/fr/guides/i18n/#contenu-de-repli) parce qu'il n'y a pas de traduction pour la langue actuelle.
125 changes: 125 additions & 0 deletions docs/src/content/docs/ja/resources/community-content.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
---
title: コミュニティコンテンツ
description: コミュニティ製のガイドや記事、動画をチェックして、Starlightの学習や開発に役立てましょう!
---

:::tip[自分のものを追加しよう!]
Starlightに関するコンテンツを作成しましたか?このページにリンクを追加するPRを作成しましょう!
:::

import { CardGrid, LinkCard } from '@astrojs/starlight/components';

## 記事とレビュー

以下は、Starlightやその開発体験について学ぶための記事のコレクションです。

<CardGrid>
<LinkCard
href="https://devm.io/open-source/starlight-astro"
title="Starlightによる静的サイト生成"
description="「コンポーネントの設計において、大きすぎるアイデアも小さすぎるアイデアもありません」- StarlightリードのChris Swithinbankとのインタビュー"
/>
<LinkCard
href="https://frontendatscale.com/blog/hybrid-frontend-architecture/"
title="AstroとStarlightによるハイブリッドフロントエンドアーキテクチャ"
description="Maxi FerreiraとBen Holmesが、Starlight、TinaCMS、認証付きのインタラクティブAPIプレイグラウンドを使用してドキュメントサイトを作成します。"
/>
<LinkCard
href="https://www.olets.dev/posts/comparing-docs-site-builders-vuepress-vs-starlight/"
title="ドキュメントサイトビルダーの比較: VuePressとStarlight"
description="両フレームワークはどのように比較されるのでしょうか?"
/>
</CardGrid>

## レシピとガイド

レシピは通常、特定のタスクを読者に具体的に案内する、焦点を絞った短いハウツーガイドです。ステップバイステップの手順に従って、Starlightプロジェクトに新しい機能や動作を追加するための素晴らしい方法といえます!他のガイドでは、画像の使用やMDXの扱い方など、コンテンツの領域に関連する概念も説明しています。

Starlightユーザーによってメンテナンスされている、コミュニティ製のコンテンツをチェックしてみましょう。

<CardGrid>
<LinkCard
href="https://www.webpro.nl/scraps/versioned-docs-with-starlight-and-vercel"
title="StarligtとVercelでバージョン管理されたドキュメントを作成する"
description="プロジェクトの各メジャーバージョンごとにドキュメントのバージョンを分けて実装する方法についてのガイド"
/>
<LinkCard
href="https://hideoo.dev/notes/starlight-heading-links"
title="Starlightの見出しにリンクを追加する"
description="rehypeプラグインを使用して、ドキュメントの特定のセクションへのリンクを共有する方法についてのガイド"
/>
<LinkCard
href="https://blog.otterlord.dev/posts/starlight-sponsors/"
title="Starlightサイトにスポンサーを追加する"
description="ドキュメントのサイドバーにカスタムスポンサーコンポーネントを実装する方法についてのガイド"
/>
<LinkCard
href="https://hideoo.dev/notes/starlight-og-images"
title="Open Graph画像をStarlightに追加する"
description="ソーシャル画像とそれに対応するメタタグを生成する方法についてのガイド"
/>
<LinkCard
href="https://hideoo.dev/notes/starlight-third-party-icon-sets"
title="サードパーティのアイコンセットをStarlightで使用する"
description="unplugin-iconsを使用して、Starlightで利用可能なアイコンの選択肢を拡張する方法についてのガイド"
/>
<LinkCard
href="https://hideoo.dev/notes/starlight-custom-html-head"
title="StarligtページのHTMLヘッドを編集する"
description="ウェブアナリティクス、フォント、スクリプトなどの共通のヘッドコンテンツを追加する方法について学びます"
/>
<LinkCard
href="https://dev.to/mrrobot/publishing-documentation-with-astro-starlight-691"
title="AstroのStarlightでドキュメントを公開する"
description="Starligtドキュメントの始め方"
/>

</CardGrid>

## 動画コンテンツ

ライブストリームや教育コンテンツなど、Starlightに関する動画やチャンネルをチェックしてみましょう。

import YouTubeGrid from '~/components/youtube-grid.astro';

### Astroの動画

<YouTubeGrid
videos={[
{
href: 'https://www.youtube.com/watch?v=5u0Ds7wzUeI',
title: 'AstroによるStarlight',
description: '公式のStarlightローンチ動画をご覧ください。',
},
{
href: 'https://www.youtube.com/shorts/zjOWezSzd18',
title: '🌟 1分で起動チャレンジ',
description:
'Benが1分以内に新しいStarlightサイトを立ち上げる様子を見てみましょう!',
},
]}
/>

### コミュニティ製の動画とストリーム

<YouTubeGrid
videos={[
{
href: 'https://www.youtube.com/watch?v=sF6UcV3moZg',
title: 'StarlightとAstroでドキュメントを作成する',
description:
'ChrisとAlexが、Code with CodingCat.devでStarlightについて語ります。',
},
{
href: 'https://www.youtube.com/watch?v=sWkkHbwDeQc',
title: 'Astro Starlight',
description: '1分でStarligtを紹介します。',
},
{
href: 'https://www.youtube.com/watch?v=-Ki-1E5gNCk',
title:
'AstroによるStarlightドキュメントテンプレート(アプリのドキュメントを作る!)',
description: '5分で新しいStarlightサイトを立ち上げます。',
},
]}
/>
73 changes: 73 additions & 0 deletions docs/src/content/docs/ja/resources/plugins.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: プラグインとインテグレーション
description: プラグインやインテグレーションをチェックして、Starlightを拡張しましょう!
sidebar:
order: 1
---

:::tip[自分のものを追加しよう!]
Starlight向けのプラグインやツールを作成しましたか?このページにリンクを追加するPRを作成しましょう!
:::

## プラグイン

[プラグイン](/ja/reference/plugins/)により、Starlightの設定やUI、動作をカスタマイズできます。また、プラグインは簡単に共有や再利用ができます。Starlightチームが公式にサポートする公式プラグインと、Starlightユーザーがメンテナンスするコミュニティ製プラグインでサイトを拡張しましょう。

### 公式プラグイン

<CardGrid>
<LinkCard
href="/guides/site-search/#algolia-docsearch"
title="Algolia DocSearch"
description="デフォルトの検索プロバイダーであるPagefindを、Algolia DocSearchに置き換えます。"
/>
</CardGrid>

### コミュニティ製プラグイン

<CardGrid>
<LinkCard
href="https://github.com/HiDeoo/starlight-links-validator"
title="starlight-links-validator"
description="Starlightページ内のリンクが壊れていないかをチェックします。"
/>
<LinkCard
href="https://github.com/HiDeoo/starlight-typedoc"
title="starlight-typedoc"
description="TypeDocにより、TypeScriptコードからStarlightページを生成します。"
/>
</CardGrid>

## コミュニティ製ツールとインテグレーション

import { CardGrid, LinkCard } from '@astrojs/starlight/components';

以下のコミュニティ製ツールやインテグレーションにより、Starlightサイトに機能を追加できます。

<CardGrid>
<LinkCard
href="https://www.feelback.dev/blog/new-astro-starlight-integration/"
title="FeelBack"
description="ユーザーフィードバックシステムをドキュメントページに追加します。"
/>
<LinkCard
href="https://github.com/HiDeoo/starlight-blog"
title="starlight-blog"
description="ドキュメントサイトにブログを追加します。"
/>
<LinkCard
href="https://github.com/HiDeoo/starlight-openapi"
title="starlight-openapi"
description="OpenAPI/Swaggerの仕様からドキュメントページを作成します。"
/>
<LinkCard
href="https://github.com/val-town/notion-to-astro"
title="notion-to-astro"
description="NotionのエクスポートをAstro Starlightドキュメントに変換します。"
/>
<LinkCard
href="https://github.com/mattjennings/astro-live-code"
title="astro-live-code"
description="MDXコードブロックをインタラクティブなコンポーネントとしてレンダリングします。"
/>
</CardGrid>
20 changes: 20 additions & 0 deletions docs/src/content/docs/ja/resources/showcase.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Starlightショーケース
description: Starlightで作成されたサイトをチェックしましょう!
sidebar:
label: サイト紹介
---

:::tip[自分のものを追加しよう!]
Starlightでサイトを作成しましたか?このページにリンクを追加するPRを作成しましょう!
:::

## サイト

import ShowcaseSites from '~/components/showcase-sites.astro';

Starlightはすでに本番環境で使用されています。以下は、ウェブ上のいくつかのサイトです。

<ShowcaseSites />

[Starlightを使用しているパブリックなプロジェクトのGitHubリポジトリ](https://github.com/withastro/starlight/network/dependents)を確認してみてください。

0 comments on commit 29f3d7f

Please sign in to comment.