デジタル庁デザインシステム:ドキュメントサイトの構築とメンテナンス
あなたのチームがデジタル庁デザインシステムを導入しようとしていますが、ドキュメントサイトの構築とメンテナンスに困惑していませんか? この記事では、ReactとTailwind CSSを使用してデジタル庁デザインシステムのドキュメントサイトを構築し、効果的にメンテナンスする方法を詳しく説明します。 この記事を読み終えると、ドキュメントサイトの構築手順、コンポーネントの管理方法、バージョン管理のベストプラクティスなどをマスターできます。
プロジェクトの概要と準備
デジタル庁デザインシステムは、政府系ウェブサイトの一貫性とアクセシビリティを確保するための重要なツールです。 このプロジェクトは、デジタル庁デザインシステムをReactとTailwind CSSで実装したサンプル集であり、src/docs/introduction.mdxに詳細な導入情報が記載されています。
必要な環境
ドキュメントサイトの構築とメンテナンスを行うには、以下の環境が必要です:
- Node.js(推奨バージョン:LTS版)
- npmまたはyarn
- Git
リポジトリのクローン
まず、以下のコマンドを使用してリポジトリをクローンします:
git clone https://gitcode.com/GitHub_Trending/de/design-system-example-components.git
cd design-system-example-components
依存関係のインストール
次に、必要な依存関係をインストールします:
npm install
ドキュメントサイトの構築
Storybookの設定
このプロジェクトでは、Storybookを使用してコンポーネントのドキュメントを作成しています。 Storybookは、コンポーネントを孤立して開発し、ドキュメント化するための強力なツールです。 README.md に記載されているように、以下のコマンドでStorybookを起動できます:
npm run storybook
ドキュメントの作成
ドキュメントは主に src/docs ディレクトリに格納されています。 src/docs/introduction.mdx は導入部分のドキュメントであり、MDX形式を使用しています。 MDXはMarkdownにJSXを埋め込むことができる形式で、コンポーネントを直接ドキュメントに表示することができます。
例えば、以下のようにコンポーネントをインポートしてドキュメントに表示できます:
import { Button } from '../components/Button';
<Button>クリック me</Button>
デザイントークンの統合
デザイントークンは、一貫したデザインを実現するための重要な要素です。 このプロジェクトでは、Tailwind CSSと @digital-go-jp/tailwind-theme-plugin を見ると、このプラグインが設定されていることがわかります:
module.exports = {
plugins: [require('@digital-go-jp/tailwind-theme-plugin')],
}
デザイントークンの詳細は src/tokens ディレクトリにあります。 例えば、src/tokens/Colors.tsx は色に関するトークンを定義しています。
コンポーネントの管理とドキュメント化
コンポーネントの構造
コンポーネントは src/components ディレクトリに整理されています。 各コンポーネントは独自のディレクトリに格納され、通常、以下のファイルで構成されています:
Component.tsx: コンポーネントの実装Component.stories.tsx: Storybookのストーリー(ドキュメント用)index.ts: コンポーネントのエクスポート
例えば、Buttonコンポーネントは src/components/Button/ ディレクトリにあります。
ストーリーの作成方法
各コンポーネントのStorybookストーリーは、.stories.tsx ファイルに記述されています。 ストーリーは、さまざまな状態のコンポーネントを表示するためのものです。 例えば、Buttonコンポーネントのストーリーは src/components/Button/Button.stories.tsx にあります。
以下は、Buttonコンポーネントのストーリーの簡単な例です:
import { Meta, Story } from '@storybook/react';
import Button from './Button';
export default {
title: 'Components/Button',
component: Button,
} as Meta;
const Template: Story = (args) => <Button {...args} />;
export const Primary = Template.bind({});
Primary.args = {
label: 'Primary Button',
variant: 'primary',
};
デザインシステムのメンテナンス
バージョン管理
src/docs/introduction.mdx に記載されているように、DADS v2はv2.0.0以降の最新のガイドラインに基づいています。 v1.x系列のコンポーネントは非推奨となっており、順次v2に置き換えられる予定です。 このため、定期的にコンポーネントのバージョンを確認し、必要に応じて更新することが重要です。
不具合報告と機能要望
不具合や機能要望がある場合は、src/docs/introduction.mdx に記載されているように、GitHubのリポジトリからIssueを作成して報告することができます。 ただし、本記事では外部リンクを使用しないため、詳細な手順についてはリポジトリのドキュメントを参照してください。
スタイルの維持
スタイルは主にTailwind CSSを使用して管理されています。 tailwind.config.js では、@digital-go-jp/tailwind-theme-plugin がプラグインとして設定されており、デジタル庁のデザイントークンを提供しています。 プロジェクト固有のカスタマイズが必要な場合は、theme.extend セクションで行うことができます。
検証済み環境
src/docs/introduction.mdx によると、以下のブラウザとスクリーンリーダーで動作確認が行われています:
ブラウザ
- Google Chrome最新版
- Microsoft Edge最新版
- Safari最新版
- Firefox最新版
スクリーンリーダー
- NVDA
- iOS VoiceOver
- TalkBack
- Mac VoiceOver
ドキュメントサイトを更新した後は、これらの環境で必ず動作確認を行ってください。
まとめ
デジタル庁デザインシステムのドキュメントサイトの構築とメンテナンスは、効果的なコンポーネント管理とドキュメント化を通じて実現できます。 Storybookを使用してコンポーネントをドキュメント化し、Tailwind CSSプラグインを利用して一貫したデザインを維持し、定期的なバージョン確認と不具合報告プロセスを確立することで、効率的にデザインシステムを運用することができます。
今後、新しいコンポーネントが追加されたり、既存のコンポーネントが更新されたりすることがあります。 この記事で説明した方法を活用して、ドキュメントサイトを常に最新の状態に保ってください。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



