This post was originally posted in Qiita at 12/27 2015.
GitHub Pagesでいくつか静的なWebページを作成しているのですが、生のcssではなく、sassでcssを作成することにしました。
sassを使おうとして、調べるとgemでsassをインストールして始めるという記事が見つかります。
また、Compassというものも出てきたりします。
またフロントエンドの環境などについて知っていたりすると、gruntやgulpといったタスクランナーも使えるんじゃないかと思ったりして、それらでsassを使う方法も出てきたりします。
ふむふむ、といった感じで記事を読んだりするのですが、やらないといけないことやルール、覚えないといけないことが多くて、結局どうするのがいいのだろうと迷ってしまいました。
gruntやgulpは確かに便利ですが、ミニマムに始めるにはちょっとやることが多い気がしたり、一週間後に見た時にどうやるか忘れてる自信もあります。 ミニマムにやる方法を調べる中たどり着いたのが、npmのrun scriptを使うという方法です。
npm
npmについては以下の記事がわかりやすいです。
npmはnode.jsで書かれたツールのパッケージマネージャで、gruntやbowerもnpmでインストールします。Grunt/Gulpで憔悴したおっさんの話によると、”Node.js/npmに関する知識とかUNIXに関する知識は、数ヶ月で変わることもない"ので、npmでやるのが簡単そうです。
始める
先に大まかな流れを書くと以下のようになります。 npmのみを使うので、シンプルです。
- nodeをインストールする
- npmでsassのコンパイルに必要なツール、ファイルの監視に必要なツールをインストールする
- npm run scriptでsassをコンパイルする
では、サンプルを用いて詳細を書きます。
環境
使用している環境は以下です。
- OS: OSX 10.11.2 El Capitan
- パッケージマネージャ: homebrew 0.9.5
node.jsのインストール
homebrewでnode.jsをインストールします。
$ brew install node
プロジェクトを作る
例として、Webサイト用のディレクトリをデスクトップに作成します。ここでは、mysiteというディレクトリにします。
$ mkdir ~/Desktop/mysite && cd ~/Desktop/mysite
npmの初期設定を行います。
$ npm init
いろいろ聞かれますが、とりあえずエンター。
sass用のディレクトリ scss 、sassをコンパイルした後にcssを出力する用のディレクトリ cssを作成します。
$ mkdir scss css
ソースをgitで管理する場合に、npmを使用した際に作成されるnode_moduleは不必要なので、gitで管理しないように.gitignoreを作成します。
$ touch .gitignore
.gitignoreに関しては、GitHubによって公開されている.gitignoreリポジトリのNode.gitignoreを参考にするといいと思います。
次にscssファイルを作成します。
$ touch style.scss
以上でプロジェクトの構成は終了です。
npmでツールをインストールする
sassのコンパイルに必要なツール node-sass と、ファイルの更新管理に使用するツール nodemon をnpmでインストールします。
$ npm install -D node-sass nodemon
sassをコンパイルする
npmを使用するとpackage.jsonというファイルができていますが、その中のscriptsの部分に、sassコンパイル用のscript, 監視用のscriptを記述します。
"scripts": {
"build-css": "node-sass --include-path scss scss/style.scss css/style.css",
"watch-css": "nodemon -e scss -x \"npm run build-css\""
}
build-css, watch-cssの部分を npm run の後に書くことで、コマンドを実行できます。
npm run build-css コマンドを実行すると scss/style.scss が css/style.css にコンパイルされ、 npm run watch-css コマンドを実行するとscssの変更が監視されます。
style.scssにコードを書いて、コンパイルします。
$my-color: #3d3d3d;
body {
color: $my-color;
}
$ npm run build-css
これで、css/style.css が作成され、以下のようなファイルができると思います。
body {
color: #3d3d3d;
}
シンプルに
上記のように、nodeの使い方以外を知らなくても、sassを使用する環境を整えることができ、比較的シンプルなのではないかと思っています。 sassライフが捗りそうです。
おまけ
nodeを使えばローカルサーバーも簡単に立ち上げられます。
local-web-serverを使用します。
$ npm install -D local-web-server
package.json
"scripts": {
"build-css": "node-sass --include-path scss scss/style.scss css/style.css",
"watch-css": "nodemon -e scss -x \"npm run build-css\"",
"ws": "ws"
}
$ npm run ws
エンジニアリング npm sass github pages
関連記事
-
2024/3/24
try! Swift Tokyo 2024
try! Swift Tokyo 2024の参加メモ
Swift
-
2023/1/31
SwiftUIでTabBarを非表示にする
SwiftUI TabBar
-
2023/1/14
Bootstrap5.3で追加されたダークモードに対応してみました
Bootstrap DarkMode
-
2021/2/17
brew upgradeで Your CLT does not support macOS 11というエラーがでた
homebrew macOS Big Sur
-
2020/12/1
Apple Silicon搭載 MacBook Pro M1で Homebrewとrbenvをインストールする
先日購入したApple Silicon搭載 MacBook Pro M1にこのブログをビルドするためにHomebrewとrbenvをインストールしたのでメモ。
Apple Silicon Homebrew rbenv
-
2020/11/27
Apple Silicon搭載のMacBook Pro M1が危うく文鎮化するところだったので記録
Apple Silicon搭載のMacBook Pro 13インチを仕事用に購入したのですが、クリーンインストールしたところ文鎮化しかけたので記録しておきます。
MacBook Pro Apple Apple Silicon M1
-
2020/6/23
Platform State of the Unionまとめ
Platform State of the Unioまとめ
WWDC2020 Apple アップル iOS macOS watchOS tvOS
-
2020/6/23
WWDC2020キーノートまとめ
WWDC2020 キーノートまとめ
WWDC2020 Apple アップル iOS macOS watchOS tvOS
-
2020/5/31
GitHub Pagesで無料ブログを作成する - Part4 自分のオリジナルのテーマを作る
Jekyllでは既存のテーマを使うこともできるのですが、さらに一歩踏み込んで、自分で既存のテーマをカスタマイズしたり、テーマを作ることもできます。
GitHub Pages ブログ
-
2020/5/28
GitHub Pagesで無料ブログを作成する - Part3 Jekyllの設定をカスタマイズする
前回の記事では、Jekyllのテーマを利用する方法と記事を追加する方法を紹介しました。今回はさらにJekyllをカスタマイズしていきますが、確認を簡単にするためにまずJekyllをローカル環境で実行する方法を紹介します。
GitHub Pages ブログ