Ruby on Rails Twitter Bootstrapの設定

昨日は、Twitter Bootstrapの導入まで出来たけど、カスタム設定ができなかった。

全部はいらないよね?bootstrap-sassをカスタマイズして使う方法 - Qiita

のおまけ部分。

 

ちなみに、何回もフォルダ開いて Git Bush Here!ってするのめんどい。

調べてみた。

1.プログラムファイルにある、Gitフォルダをクリック

2.git-bash.exeを右クリックでショートカットを作成

3.ショートカットを右クリックでプロパティを開く

4.作業用フォルダーの部分に、対象の作業フォルダのパスを追加

5.ショートカット名を変更し、スタート画面にピン留めする。

これで、毎回フォルダにアクセスしなくても、スタート画面からGitを開けるぞっと。

 

ついでに、 git add -A commit とかショートカットできないかも調べてみよう。

うん。よくわからないので、愚直に git add -Aってしていこうかな・・・

どんまい俺。

 

さて、カスタマイズ方法をやっていこう。

 

中身はココのコピペ。」って書いてあるのを無視して、一部分だけコピーしたのが原因だったっぽいな。。

あとはこの変数をBootstrapで初めから設定されている変数に
ぶち込んでやればサイトのカラーはこれで完結できる。

 

むむむ・・・scssをちゃんと理解していないため、この言葉を理解していない。

ひとまず、カスタムCSSは使えているっぽい。あとはscssの中身をどうしたら良いのかをチェック。

その前に、今のところうまくいっているので、GitにPushしよう。

マージは、Atomを閉じなければいけないので、あとでしよう・・・

 

さて、カスタムscssを利用して、Twitter Bootstrapを思うように変更させてみたい。やってみたい。

ボタンの色を自由自在に操作できるようにする。

$btn-primary-color: #fff !default;
$btn-primary-bg: $brand-primary !default;
$btn-primary-border: darken($btn-primary-bg, 5%) !default;

とかが怪しい。

$brand-primary:         darken(#428bca, 6.5%) !default; // #337ab7

というところから引用しているのか。

そうかそうか。という事はここの色を変更すると、変わるんだな。

・・おお!変わった。

 

shade と tint の違いがわからなかったけど

Shadeは暗く

Tintは明るく という意味みたいだ。

 

今回色は6つ欲しいので、6つ設定してみよう。

青・赤・オレンジ・緑・黒・紫

 

$btn-blue-color: #fff !default;
$btn-blue-bg: $blue !default;
$btn-blue-border: darken($btn-blue-bg, 5%) !default;

を追加してみたが、動作せず。

btn-info とかって、どこで呼び出しているんだ・・・。

overrrideしか書いていないなぁ。

 

自分で、scssを追加して読み込ませてみよう。

_ ←アンダーバーの意味ってなに?

tenderfeel.github.io

.scss(.sass)ファイル名の先頭にアンダースコアを入れると、コンパイルしてもcss ファイルが作成されないという仕様があります。

Sassではファイルを分割して管理するが、コンパイル後に生成されるCSSファイルは1つだけ。ということが出来るのでとても便利です。
また、インポート専用ファイルの見分けがつきやすくなるという利点もあります。

前に書いていますが、読み込むときの@importでは拡張子とアンダーバーを省略することが出来ます。

だってさ。

ということは、追加していくScssはアンダーバーをつけて追加し、importで読み込めばOKということか。

なんとなく理解。

_original.scssを追加し、importする。

css - Change navbar color in Twitter Bootstrap 3 - Stack Overflow

SO 18529274 - JSFiddle

これをコピペして ナビゲーションの色は変更できた。

でも俺がしたいのはボタンの色を変えること!

_original.scssに

@import "bootstrap-custom/variables";

.btn-blue{
color: #fff;
background-color: $btn-blue-bg;
border-color: $btn-blue-border;
}

としたら、ボタンの色を変えれた・・・!

SCSSで作るといくらファイルつくてもまとまるみたいなので、originalフォルダを作り

application.css.scssに @import "original/*"; を追記して読み込みする事にした

ボタンはめでたく作れた!!

けど、ホバーした時の文字の色が黒くなるので、その設定をしよう。

色を管理するとき、ちょっとめんどいので色々と調べてみる。

Sassで色を管理する色々な方法 - Qiita

マップというものを試してみよう。

・・・やめた。

Twitter Bootstrapの中にヒントが有ると思ったけど、うーむ。

 

ちょっともう一回やり直し!

くそぉ。

 

@importもshadeも無し。

originalフォルダの_button.scssの中に関数を直接書くことにする。

 

Sass Color Generator

Sassのカラージェネレーター。よさげ。

 

_button.scssをこんな感じにして、完成した!!

//色の指定
$blue: #00acf0;
$orange: #bd853f;
$green: #31947c;
$red: #b9403e;
$black: #4a4a4a;
$purple: #8B008B;

//それぞれのボタンの設定。$colorは$btn-colorで設定されているものを引数とする。
@mixin btn-hover($color) {
color: #fff;
background-color: lighten($color,5%);
border-color: $color;
&:hover,
&:focus,
&.focus {
color: #fff;
text-decoration: none;
background-color: darken($color,5%);
}
}

//ボタンの設定
.btn-blue{
$btn-color: $blue;
@include btn-hover($btn-color);
}

.btn-green{
$btn-color: $green;
@include btn-hover($btn-color);
}

.btn-black{
$btn-color: $black;
@include btn-hover($btn-color);
}

.btn-purple{
$btn-color: $purple;
@include btn-hover($btn-color);
}

.btn-orange{
$btn-color: $orange;
@include btn-hover($btn-color);
}

.btn-red{
$btn-color: $red;
@include btn-hover($btn-color);
}

www.webcreatorbox.com

の引数を使う部分を参考にした。

こんな感じで、自分のしたようにTwitter Bootstrapを変えていけるかも・・・!

とりあえず、git add しておこう。

git push herokuも忘れずにね。

 

git checkout master 

git merge ブランチ名

git push heroku master

でHerokuにアップロードを確認。

またブランチで作業しよう。

git checkout ブランチ名。

 

ボタンの部分に active と disabled を追加しておこう。

activeは、若干濃くなる。

disabledは、クリックできなくなる。

 

うーん、うまく動作しないな。

 

お!うまく行った!

色が若干気に入らないので、調整して今日は終わろう。

 

うーむ、色が気に入らない。

カラーレベルを統一したい。明日調べよう。

ひとまず、これで動作は確認出来ている。

 

//色の指定
$blue: #0099cc;
$orange: #daa520;
$green: #008000;
$red: #ff1919;
$black: #4a4a4a;
$purple: #8B008B;

//それぞれのボタンの設定。$colorは$btn-colorで設定されているものを引数とする。
@mixin btn-hover($color) {
color: #fff;
background-color: lighten($color,5%);
border-color: $color;

&:hover,
&:focus,
&.focus {
color: #fff;
text-decoration: none;
background-color: darken($color,5%);
}

// .activeが追加された場合+5%暗く
&:active,
&.active {
background-color: darken($color,10%);
&:hover,
&:focus,
&.focus {
background-color: darken($color,15%);
}
}

// .diabledが追加された場合+5%明るくする
&.disabled,
&[disabled],
fieldset[disabled] & {
background-color: lighten($color,5%);
}

}

//ボタンの設定
.btn-blue{
$btn-color: $blue;
@include btn-hover($btn-color);
}

.btn-green{
$btn-color: $green;
@include btn-hover($btn-color);
}

.btn-black{
$btn-color: $black;
@include btn-hover($btn-color);
}

.btn-purple{
$btn-color: $purple;
@include btn-hover($btn-color);
}

.btn-orange{
$btn-color: $orange;
@include btn-hover($btn-color);
}

.btn-red{
$btn-color: $red;
@include btn-hover($btn-color);
}