[Front-End General] CSScomb: .scss ファイルを自動修正する
.css 対象だが .scss もおおむね機能するようなので導入する。
[markdown]
> * [自動検出と自動修正でCSSを保守する – Qiita](http://qiita.com/r7kamura/items/7addebc61d177313a29d#csscomb-hammer)
## Install
プロジェクトディレクトリにインストールする。
> * [CSScomb: Makes your code beautiful](http://csscomb.com/)
“`prettyprinted
% npm install csscomb –save-dev
“`
### IDE
公式にあるプラグイン以外にも、Atom があってありがたい。
> * [CSSCombのAtomプラグイン – 1000ch.net](https://1000ch.net/posts/2015/atom-csscomb.html)
> * [1000ch/atom-csscomb: Sort your CSS properties with CSSComb.](https://github.com/1000ch/atom-csscomb)
“`prettyprinted
% apm install atom-csscomb
“`
## Config
`.csscomb.json` を作成する。
公式サイトの [CSScomb: Build config](http://csscomb.com/config) から質問に回答していくとで自動生成できる。
[Google HTML/CSS Style Guide](http://google.github.io/styleguide/htmlcssguide.xml#CSS_Formatting_Rules) に準拠した `.csscomb.json` を作成。
## Usage
以下で実行できる。
“`prettyprinted
% $(npm bin)/csscomb source.css
“`
## 導入事例
SCSS 記法への乗り換えをしつつ、CSScomb をかける。
> * [Sass-lint: .sass/.scss ファイルを Lint する | Deadwood](https://www.d-wood.com/blog/2016/03/29_7858.html)
### sass-convert
`.sass` ファイルを `.scss` ファイルに一括変換する。
> * [Sass・Compass まわりの便利だけど忘れがちな Tips | Deadwood](https://www.d-wood.com/blog/2014/09/18_6826.html)
1ファイルを変換。
“`prettyprinted
% sass-convert source/stylesheets/all.css.sass source/stylesheets/all.css.scss
“`
ディレクトリが対象であれば、以下を実行する。
“`prettyprinted
% sass-convert –recursive –from sass –to scss source/stylesheets/layouts
convert source/stylesheets/layouts/_footer.sass
create source/stylesheets/layouts/_footer.scss
convert source/stylesheets/layouts/_header.sass
create source/stylesheets/layouts/_header.scss
convert source/stylesheets/layouts/_main.sass
create source/stylesheets/layouts/_main.scss
convert source/stylesheets/layouts/_sidebar.sass
create source/stylesheets/layouts/_sidebar.scss
“`
### CSScomb
`.scss` ファイルを一括で整形する。
1ファイルを整形。
“`prettyprinted
% $(npm bin)/csscomb source/stylesheets/all.css.scss
“`
ディレクトリが対象であれば、以下を実行する。
“`prettyprinted
% $(npm bin)/csscomb source/stylesheets/layouts/*.scss
“`
導入メリットが大きい。
[/markdown]