Astro StarlightでTailwind CSSを利用する
AstroのドキュメントテンプレートStarlightでTailwind CSSを使ってみたので備忘録です。
Tailwind CSSの追加
既存のStarlightプロジェクトにTailwind CSSを追加します。(新規の場合はこちら)
-
AstroのTailwindインテグレーションを追加:
Terminal window pnpm astro add @astrojs/tailwindTerminal window npx astro add @astrojs/tailwindTerminal window yarn astro add @astrojs/tailwind
-
StarlightのTailwindプラグインをインストール:
Terminal window pnpm add @astrojs/starlight-tailwindTerminal window npm install @astrojs/starlight-tailwindTerminal window yarn add @astrojs/starlight-tailwind -
Tailwindのベーススタイル用のCSSファイルを作成(例:
src/styles/tailwind.css
)します。src/styles/tailwind.css @tailwind base;@tailwind components;@tailwind utilities; -
astro.config.mjs
を更新しますastro.config.mjs import { defineConfig } from 'astro/config';import starlight from '@astrojs/starlight';import tailwind from '@astrojs/tailwind';export default defineConfig({integrations: [starlight({title: 'Tailwindを使ったドキュメント',customCss: ['./src/styles/tailwind.css',],}),tailwind({applyBaseStyles: false,}),],}); -
tailwind.config.mjs
にStarlightのTailwindプラグインを追加します。tailwind.config.mjs import starlightPlugin from '@astrojs/starlight-tailwind';/** @type {import('tailwindcss').Config} */export default {content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],plugins: [starlightPlugin()],};
Tailwindを使ったStarlightのスタイリング
StarlightはTailwindのテーマ設定値をUIで使用します。
例としてリンクなどに使われるアクセントカラーを変更する方法を紹介します。
colors.accent
:リンクと現在のアイテムのハイライト
今回はtailwindの色設定を利用します。
色を確認したい場合は、Tailwind CSSの公式サイトを参照してください。
import starlightPlugin from '@astrojs/starlight-tailwind';import colors from 'tailwindcss/colors';
/** @type {import('tailwindcss').Config} */export default { content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'], theme: { extend: { colors: { accent: colors.red, }, }, }, plugins: [starlightPlugin()],};
実行すると下記のようにカラーが変更されます。
カスタムテーマの作成
Starlightのカラーテーマは、カスタムプロパティを上書きしてコントロールできます。
Starlightは、テーマカラーエディタを提供しています。
下記のリンクからテーマカラーエディタにアクセスできます。