Markdownでのコンテンツ作成
Starlightでは、.md
ファイルにおいてMarkdown構文のすべての機能を利用できます。また、タイトルや説明文(description)などのメタデータを定義するためのフロントマターYAMLもサポートしています。
MDXやMarkdocを使用する場合、サポートされるMarkdownの機能や使用方法が異なることがあるため、MDXドキュメントやMarkdocドキュメントを必ず確認してください。
フロントマター
フロントマターに値を設定して、Starlightの個々のページをカスタマイズできます。フロントマターは、ファイル先頭の---
によって区切られた区間に設定します。
すべてのページには、少なくともtitle
が必要です。利用可能なすべてのフィールドと、カスタムフィールドの追加方法については、フロントマターのリファレンスを参照してください。
インラインスタイル
テキストは太字、斜体、または取り消し線にできます。
別のページにリンクできます。
バックティックでインラインコード
を強調できます。
画像
Starlightは、Astro組み込みのアセット最適化機能を使用して画像を表示します。
MarkdownとMDXは、スクリーンリーダーや支援技術のための代替テキストを含む画像を表示するためのMarkdown構文をサポートしています。
プロジェクトにローカルに保存されている画像についても、相対パスを使用して表示できます。
見出し
見出しによりコンテンツを構造化できます。Markdownの見出しは、行の先頭にある#
の数で示されます。
ページコンテンツを構造化する方法
Starlightは、ページタイトルをトップレベルの見出しとして自動的に使用し、また各ページの目次の先頭に「概要」という見出しを含めます。各ページを通常のテキストコンテンツで開始し、ページ上の見出しは<h2>
以下を使用することをおすすめします。
見出しの自動アンカーリンク
Markdownで見出しを使用するとアンカーリンクが自動的に付与されるため、ページの特定のセクションに直接リンクできます。
レベル2(<h2>
)とレベル3(<h3>
)の見出しは、ページの目次に自動的に表示されます。
Astroが見出しのid
をどのように処理するかについて、詳しくはAstroドキュメントを参照してください。
補足情報
補足情報(「警告」や「吹き出し」とも呼ばれます)は、ページのメインコンテンツと並べて補助的な情報を表示するのに便利です。
Starlightは、補足情報をレンダリングするためのカスタムMarkdown構文を提供しています。補足情報のブロックは、コンテンツを囲む3つのコロン:::
によって示し、note
(注釈)、tip
(ヒント)、caution
(注意)、danger
(危険)というタイプに設定できます。
他のMarkdownコンテンツを補足情報の中にネストできますが、補足情報は短く簡潔なコンテンツに最も適しています。
注釈
カスタムのタイトル
補足情報のカスタムタイトルを、補足情報のタイプの後ろに角括弧で囲んで指定できます。たとえば:::tip[ご存知でしたか?]
のようにできます。
その他のタイプ
注意(Caution)と危険(Danger)の補足は、ユーザーがつまずく可能性のある細かい点に注意を向けさせるのに役立ちます。もしこれらを多用しているとすれば、それはあなたがドキュメントを書いている対象の設計を見直す余地があることのサインかもしれません。
引用
これは引用です。他の人の言葉やドキュメントを引用するときによく使われます。
引用は、各行の先頭に
>
を付けることで示されます。
コード
コードのブロックは、先頭と末尾に3つのバックティック```
を持つブロックで示されます。コードブロックを開始するバックティックの後ろに、使用されているプログラミング言語を指定できます。
Expressive Code機能
Starlightは、コードブロックのフォーマットを拡張するためにExpressive Codeを使用しています。Expressive Codeのテキストマーカーとウィンドウフレームプラグインはデフォルトで有効になっています。コードブロックのレンダリングは、StarlightのexpressiveCode
設定オプションにより設定できます。
テキストマーカー
Expressive Codeのテキストマーカーをコードブロックの先頭で使うことで、コードブロックの特定の行や部分をハイライトできます。波括弧({ }
)を使って行全体をハイライトし、引用符を使ってテキストの文字列をハイライトします。
ハイライトのスタイルは3つあります。コードに注意を向けるための中立的なスタイル、挿入されたコードを示す緑色のスタイル、削除されたコードを示す赤色のスタイルです。テキストと行全体の両方を、デフォルトのマーカー、またはins=
とdel=
を組み合わせてマークし、目的のハイライトを生成できます。
Expressive Codeには、コードサンプルの外観をカスタマイズするためのさまざまなオプションが用意されています。これらの多くは組み合わせることができ、非常に明快なコードサンプルを作成できます。利用可能な多くのオプションについては、Expressive Codeのドキュメントを確認してください。最も一般的な例をいくつか以下に示します。
フレームとタイトル
コードブロックをウィンドウのようなフレームの中にレンダリングできます。シェルスクリプト言語(bash
やsh
など)には、ターミナルウィンドウのようなフレームが使用されます。その他の言語は、タイトルを含んでいる場合、コードエディタスタイルのフレーム内に表示されます。
title="..."
属性を、コードブロックの開始を表わすバックティックと言語識別子の後ろに続けて記述するか、コードの最初の行にファイル名コメントを記述することで、コードブロックにオプションでタイトルを設定できます。
その他のMarkdown機能
Starlightは、リストやテーブルなど、その他のMarkdown記法をすべてサポートしています。Markdownのすべての構文要素の概要については、The Markdown GuideのMarkdownチートシートを参照してください。
高度なMarkdownとMDXの設定
Starlightは、remarkとrehypeをベースとした、AstroのMarkdown・MDXレンダラーを使用しています。Astroの設定ファイルにremarkPlugins
またはrehypePlugins
を追加することで、カスタム構文や動作をサポートできます。詳しくは、Astroドキュメントの「MarkdownとMDXの設定」を参照してください。
Markdoc
Starlightは、実験的なAstro Markdoc統合とStarlight Markdocプリセットを使用して、Markdocでのコンテンツ作成をサポートしています。
Markdocで新しいプロジェクトを作成する
create astro
を使用して、Markdocが事前設定された新しいStarlightプロジェクトを開始します:
既存のプロジェクトにMarkdocを追加する
既にStarlightサイトがあり、Markdocを追加したい場合は、以下の手順に従ってください。
-
AstroのMarkdoc統合を追加します:
-
Starlight Markdocプリセットをインストールします:
-
markdoc.config.mjs
にMarkdoc設定ファイルを作成し、Starlight Markdocプリセットを使用します:
Markdocの構文と機能についてさらに学ぶには、MarkdocのドキュメントまたはAstro Markdoc統合ガイドを参照してください。