スタイルガイドに KSS を導入
StyleDocco より kss のほうがナウそうなので使ってみる
インストール
npm install grunt-kss
Gruntfile.js の設定例は以下
kss: { options: { includeType: 'css', includePath: 'path/to/style.css' }, dist: { files: { 'docs/styleguide': ['path/to/source_dir'] } } }
意味はこんな感じ
path/to/source_dir
以下のスタイルシート(scssとか)をパースdocs/styleguide
ディレクトリにスタイルガイド用の HTML などを生成- 自動生成されないので事前に対象ディレクトリを作成しておくこと (2014/06/19追記)
path/to/style.css
を生成したHTMLで読み込む
kss-node のバグなのか知らんけど .scss なファイルを --sass
オプションで指定しても 0バイトな css が生成されてどーにもならなかったのでとりあえず .css を使うことにした
grunt.registerTask('styleguide', ['compass', 'kss']);
Sass にスタイルガイド用のコメントを書く
kss はコメントの記述をパースしてスタイルガイドを生成するらしい
以下、記述例
// A button suitable for giving stars to someone. // // description desu yo // description desu ze // // :hover - Subtle hover highlight. // .stars-given - A highlight indicating you've already given a star. // .stars-given:hover - Subtle hover highlight on top of stars-given styling. // .disabled - Dims the button to indicate it cannot be used. // // Markup: // <button class="button {$modifiers}">Button (button.button)</button> // <a href="#" class="button {$modifiers}">Button (a.button)</a> // // hogefugahogefuga // // Styleguide 1.1. html { .button { background-color: #CCC; &:hover { font-weight: bold; } &.stars-given { color: #FFFFCC; &:hover { color: white; } } &.disabled { color: #AAA; } } }
スタイルガイド用コメントのルールはなんとなく以下な感じ
- コメント1行目はタイトルになる
- タイトルの下に1行開けて文を書くと説明文になる
:hover
とか.class-name
とかを1行ずつ書くとスタイルガイドにHTMLが生成されるMarkup:
::hover
とかで指定した要素を HTML として書き出し- {$modifiers} を指定すると指定した
.class-name
とかが挿入される
- {$modifiers} を指定すると指定した
Styleguide <ref>.
:Styleguide
の後ろに数字+.を繋げると章番号になる- ex.
Styleguide 1.2.
== Chapter 1.2
- ex.
- タイトルや説明文などのセクション?は空行で区切る
grunt-kss は内部で kss-node を実行しているらしいので記法とかの詳細は以下を参照
実行
grunt styleguide