スタイルガイドジェネレータのaigisをGulpで使ってみます。
使い方
Gulpの環境を用意して、gulp-aigisをインストールします。
今回はSassも使うので、gulp-sassも合わせてインストールします。
npm install gulp-aigis --save-dev npm install gulp-sass --save-dev
以下コマンドを実行して、aigisの設定ファイルとテンプレートファイルを用意します。
node_modules\gulp-aigis\node_modules\.bin\aigis init --engine jade
完了すると、現在のファイル構成は以下のようになっているかと思います。
- aigis_assets
- node_modules
- template_jade
- aigis_config.yml
- package.json
今回Sassファイルを使用するので、aigisの設定ファイルを一部変更しておきます。
aigis_config.yml
source: ./aigis_assets ↓ source: ./sass
これでsassディレクトリ以下のファイルを参照するようになりました。
次にSassファイルを用意します。
sassディレクトリを作成して、以下の3ファイルを追加します。
style.scss
@import "button"; @import "list";
_button.scss
/*
---
name: button
category: button
---
## ベースのボタン
`a` か `button` タグが使えます。
```html
<a class="btn">Button</a>
<button class="btn">Button</button>
```
## 色の変更
```html
<button class="btn">Button</button>
<button class="btn btn-a">Button</button>
<button class="btn btn-b">Button</button>
<button class="btn btn-c">Button</button>
```
*/
.btn {
/* buttonタグのリセット */
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 0;
border: none;
outline: none;
background: transparent;
border-radius: 3px;
padding: 5px 10px;
color: #ffffff;
font-size: 14px;
background: #000000;
&-a {
background: #E74C3C;
}
&-b {
background: #3498DB;
}
&-c {
background: #2ECC71;
}
}
_list.scss
/*
---
name: list
category: list
---
## リスト
```html
<ul class="list">
<li class="list__item">List</li>
<li class="list__item">List</li>
<li class="list__item">List</li>
</ul>
```
*/
.list {
margin: 0;
padding-left: 0;
border-top: #000000 1px solid;
&__item {
list-style: none;
border-bottom: #000000 1px solid;
padding: 10px;
}
}
これでSassの用意が完了しました。
次にgulpfile.jsを用意します。
gulpfile.js
var gulp = require('gulp'),
sass = require('gulp-sass'),
aigis = require('gulp-aigis');
gulp.task('sass', function () {
gulp.src(['./sass/**/*.scss', '!./sass/**/_*.scss'])
.pipe(sass({
outputStyle: 'compressed'
}))
.pipe(gulp.dest('./css/'));
});
gulp.task('aigis', function() {
gulp.src('./aigis_config.yml')
.pipe(aigis());
});
Sassコンパイル後はプロジェクトルートのcssディレクトリに生成するようにしました。
このコンパイル後のcssファイルをスタイルガイド内でも読み込みたいので、template_jade内のindex.jadeの以下部分を変更します。
index.jade
link(href=root + 'css/style.css', rel='stylesheet') ↓ link(href=root + '../css/style.css', rel='stylesheet')
デフォルトだとstyleguideディレクトリ内を見るようになっているので、一階層上を見るように変更しました。
これで準備は一通り完了なので、実際に試してみます。
まずはSassをコンパイルします。
gulp sass
cssディレクトリが生成されて、中にstyle.cssが追加されていればOKです。
style.css内は以下のようになっています。
style.css
.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:none;outline:none;background:transparent;border-radius:3px;padding:5px 10px;color:#ffffff;font-size:14px;background:#000000}.btn-a{background:#E74C3C}.btn-b{background:#3498DB}.btn-c{background:#2ECC71}.list{margin:0;padding-left:0;border-top:#000000 1px solid}.list__item{list-style:none;border-bottom:#000000 1px solid;padding:10px}
次にスタイルガイドの生成を試してみます。
gulp aigis
styleguideディレクトリが生成されたらOKです。
以下のようなスタイルガイドが生成できました。
スタイルガイドのデモページ
最終的なファイル構成は以下のようになります。
- aigis_assets
- css
- node_modules
- sass
- _button.scss
- _list.scss
- style.scss
- styleguide
- template_jade
- aigis_config.yml
- gulpfile.js
- package.json
【参考サイト】
コメントが承認されるまで時間がかかります。