あなたはデザインシステムについてもっと学ぶことができますか?それからシニアのUIエンジニアを見逃さないでください ミナマルカム at ニューヨークを生成します 4月28日、彼女がパンツスーツを作成した方法を議論すると、hillaryclinton.comでホストされているアプリケーションの多くを獲得したデザインシステムについて説明します。そして西海岸で、AT サンフランシスコを生成します 6月9日に、 ステファニーリウィス Salesforceデザインシステムの構築中に学んだ教訓を共有します。
今までに、私たちの多くはおなじみです スタイルガイド 。しかし、蒸気を得るための新しい品種のデザインシステムのマニュアルがあります:パターンライブラリ。 2つの主な違いは、ツールのドキュメントの主な源です。
スタイルガイドのドキュメントは、マークダウンファイルから発生する傾向があり、マークアップを表示するために作成者がコピーしてマークダウンに貼り付けることを余儀なくされます。これは複数のコンポーネントを一緒にフィットするときに維持することはほとんど不可能です。
一方、パターンライブラリは、コンポーネントのHTMLファイルをファーストクラス市民として扱います。各コンポーネントは独自のページを取得し、そこでマークアップとHTMLをHTMLファイルから直接表示します。これにより、HTMLファイルとドキュメントがSYNCから抜け出すことはできません。
パターンライブラリは、プレーンなHTMLではなくテンプレート言語を使用して構築されることがよくあります。テンプレートは変数や他のロジックを含めることができ、次にさまざまなデータセットを渡すことができ、コンポーネントのバリエーションを表示できます。
複数のテンプレートを組み合わせて、より複雑なディスプレイ、さらにはフルページを作成することができます。これらのファイルは非常に柔軟ですが、プロダクションでも使用できます。私たちのパターンライブラリに加えられた変更は、ライブラリまたはプロダクションのためのすべてのマークアップ - 単一の正規テンプレートから発信されるため、私たちのウェブサイトによって自動的にピックアップされます。
Clearleftによって作成されました、 フラクタル Webコンポーネントライブラリを構築して文書化するのに役立ち、それらをプロジェクトに統合します。このチュートリアルでは、どのように機能するかを詳しく説明します(Demoの完成バージョンをダウンロードする ここに )。
FractalはNPMを介してインストールされているNode.jsモジュールです。まず、新しいプロジェクトを生成できるように、モジュールをグローバルにインストールします。
npm install --global @frctl/fractal
このパッケージをインストールして、新しいプロジェクトを作成します。
fractal new project-name
このコマンドは、セットアッププロセスを通じて歩くインストールガイドを起動します。プロジェクトのタイトルをお願いします。コンポーネント、ドキュメンテーション、およびパブリックフォルダの名前。そしてあなたがバージョン管理のためにgitを使うでしょう。これらの質問が完了すると、フラクタルは必要なすべてのモジュールをインストールし、指定どおりにフォルダ構造を設定します。
グローバルインストールをスキップして手動でプロジェクトを作成する場合は、手動インストール手順を見つけることができます。 ここに 。
これで、完全にインストールされたフラクタルプロジェクトがあります。プロジェクトフォルダにステッピングすることでそれをスピンアップする CDプロジェクト名 そしてfractal syncコマンドを実行します。これはローカルサーバーを起動し、変更のためにファイルを見て自動的にBrowserSyncを起動します。
fractal start --sync
そのように、あなたはフラクタルの働いていたインスタンスを持っています。選択したブラウザを開き、ナビゲートします http:// localhost:3000 あなたの新しいフラクタルプロジェクトの開始を見るために。全員がグローバルにフラクタルをインストールする必要がないようにするには、あなたの中にスクリプトを作成してください。 Package.json. それはフラクタルバイナリを呼び出します。
"スクリプト":{
"fractal": "./node_modules/.bin/fractal start --sync"
今あなたは使うことができます NPMはフラクタルを運営しています グローバルに何かをインストールしなくても。
今すぐフラクタルプロジェクトを開始しました、それはいくつかのコンポーネントを追加する時が来ました。スターターファイルには 'example'というコンポーネントが付属していますが、それを取り除き、新しいものを傷から新しいものにします。
フラクタルについての最良のことの1つは、あなたがあなたのコンポーネントをコンポーネントフォルダーの中に整理することができるということです、そしてそれはパターンライブラリナビゲーション内の前記組織を自動的に模倣します。
最初のコンポーネントの場合は、内部に新しいプライマリボタンを作成します。 ボタンフォルダ 。そのためには、テンプレートファイルで作成してください。 コンポーネント/ボタン/プライマリボタン/プライマリボタン.HBS 。 Fractalは箱から出してハンドルバーのテンプレートをサポートするので、 .HBSの ファイル拡張子:
<ボタンクラス= "プライマリボタン"> {{text}}<
the {{テキスト}} ボタンタグ内の文字列は変数プレースホルダであり、これによりテンプレートを再利用でき、異なる値を渡すことができます。 テキスト データファイルから。
データファイルを作成するには、ハンドルバーファイルと同じ基本名を使用しますが、別のものではありません。 yml. 拡張。今すぐ primary-button.config.yml. の中に座って コンポーネント/ボタン/プライマリボタン フォルダは次のようになります。
タイトル:プライマリボタン
環境:
テキスト:私をクリックしてください
これはすべて、最初の新しいコンポーネント、プライマリボタン、ボタンカテゴリのメンバーをテキストで作成します。
フラクタルは同じコンポーネントのバリエーションをサポートしているため、さまざまな修飾子クラスや属性と同じコンポーネントを表示できます。それでは、暗いテーマのボタンを使うことを選択したいと思ってみましょう。新しいテンプレートファイルを作成できました プライマリボタン - Dark.HBS 元のテンプレートの横にある(ダブルダッシュはこれらのコンポーネントのバリエーションを示します)。このテンプレートでは、新しいスタイルを添付するためにフックすることができる修飾子を適用します。
ボタンクラス= "プライマリボタン"データテーマ= "Dark"≫ {{text}}
今CSSを書くと、このテンプレートを変更してこのテンプレートを変更するには、次のセレクタを含めることができます。
.primary-button [データテーマ= "dark"] {}
複数のテンプレートファイルを作成することによってバリエーションを定義できるように、データ内のバリエーションを作成することもできます。私たちはこれを中にすることができます primary-button.config.yml. バリアント配列を追加することによってファイル。
タイトル:プライマリボタン
環境:
テキスト:Meをクリックしてください
バリエント:
- 名前:ダウンロード
環境:
テキスト:今すぐダウンロードしてください
- 名前:インストール
環境:
テキスト:今すぐインストール
これにより、さまざまなテキストがボタンに渡された状態で、「ダウンロード」と「install」という名前の新しいバリエーションが作成されます。あなたがこれを使っていたならば、より実用的な例があるかもしれません プライマリボタン 生産だけでなくフラクタルのテンプレート。この場合、ダークテーマのための真新しいテンプレートを作成するのではなく、テーマ値を変数として渡し、データのバリエーションを使用してすべての異なるボタンテーマを表示することができます。
ボタンクラス= "プライマリボタン"データテーマ= "{{theme}}"> {{text}}< / button>
タイトル:プライマリボタン
環境:
テキスト:Meをクリックしてください
テーマ:ライト
バリエント:
- 名前:ダークテーマ
環境:
テキスト:Meをクリックしてください
テーマ:ダーク
フラクタルは、マークアップやデータ以外のファイルを処理します。コンポーネントフォルダに追加するCSS、JavaScript、画像、その他の資産が「資産」タブに表示されます。 Aを指定できます readme.md. コンポーネントのファイルは、コンポーネントの使用方法に関するメモを書くことができます。またはドキュメントの他の部分へのリンクを作成できます。
すべてのコアコンポーネントの前の例を繰り返すと、サイトのメインビルディングブロックの便利なカタログが作成されます。しかし、パターンライブラリの実際の力はこれらのピースを一緒に組み合わせる能力から来ています。必ずチェックアウトしてください フラクタルドキュメンテーション より小さなアトミック要素を組み合わせることによってより複雑なコンポーネントの作成をどのように開始するかを学ぶためには、より大きなものを作成することができます。
Docsフォルダは、伝統的なスタイルのガイド情報と付加的なメモを入れるのに最適な場所です。これは、オンボーディングドキュメント、あなたのブランドの音声とトーンに関するガイドライン、色と変数のリストなどをカバーするかもしれません。コンポーネントの実行と同じフォルダベースのナビゲーションに従います。サブジェクトフォルダ内にファイルを整理すると、 フラクタルドキュメント 風。
フラクタルはまた、より複雑なデータソースをサポートします。テンプレートの大規模なデータセットを生成する必要がある場合、または一部のサードパーティのAPIからプルインしたい場合は、使用できます。 component-name.config.js. YMLファイルデータの代わりにJavaScriptオブジェクトを返す。
最後に、フラクタルを使用すると、さまざまなテンプレート言語を使用できます。マニュアルの全リストを必ずチェックアウトしてください。そして、すべてのほとんど、楽しんでください!
へのチケットを予約してください 生む 今日!に ニューヨーク Hillary Clintonの大統領キャンペーンのデザインシステムを建設したMina Markhamから学ぶことができます。 サンフランシスコ Stephanie Rewisは、企業規模で「リビングデザインシステム」のための現代CSSフレームワークを建築し、構築することができる方法を説明します。
この記事はもともとネットマガジン号285で公開されました。 ここで購入してください
あなたがちょうどグラフィックデザインやシーズンのプロから始めているのかどうかは、あなたがゲームを先に留めておくべきかどうかを常�..