読者です 読者をやめる 読者になる 読者になる

IE(Edge含む!!)でcalc(% + vw)の計算はダメ、ゼッタイ!!

手短に行きます。

フォントサイズを%(パーセント)とvwで指定するとこうなります。

Chrome → OK
Firefox → OK
Safari → OK
IE11 → ×(なーんだ、いつものことか)
Edge → ×(ファッ!!!?)

なんと、IEだけならず、Edgeでもダメなんですね。 具体的には

font-size: calc(200% * 2vm);

みたいにフォントサイズを指定していると、IE,Edgeでは小さく表示されてしまっていました。

どうすればいいの?

teratailに答えがありました。

teratail.com

なんでも、IE9-11/Edgeでは、%とvwでは正確な計算ができないそうな。

紹介されているように、以下のようにしたら直りました。

font-size: calc(200% * 2vm);
     ↓
font-size: calc(2em * 2vm);

ほんとに勘弁して欲しいです。。。

同じようにハマっている人がいたらやってみてください。

Sublime Text で入力済みの大文字英単語をサクっと小文字にする

簡単なのでサクっと。

THIS IS A PEN

みたいな英単語があったとします。

これを全部まとめて小文字にしたい時、全部を選択して、command + k + l で小文字になります。
l はたぶんLower Caseの意味。

逆に大文字にしたいときは、command + k + u
u はたぶん Upper Caseの意味。

ngrokでサクっとローカル環境を外部に公開!

www.yoheim.net

このサイトで紹介されていた ngrok が面白そうだと思って使ってみました。

上の記事では ngrok の本サイト https://ngrok.com/

からDownloadして〜とあったんですが、「ちょっと面倒だなぁ」と思ったので、Homebrewで探してみました。

$ brew cask search ngrok
==> Exact match
ngrok

あった。すげぇなHomebrew。

というわけで、サクっとインストール

$ brew cask install ngrok
==> Downloading https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-darwin-amd64.zip
######################################################################## 100.0%
==> Verifying checksum for Cask ngrok
==> Symlinking Binary 'ngrok' to '/usr/local/bin/ngrok'
🍺  ngrok was successfully installed!

// インストールされたか確認
$ ngrok                                                                               ⏎
NAME:
   ngrok - tunnel local ports to public URLs and inspect traffic

DESCRIPTION:
    ngrok exposes local networked services behinds NATs and firewalls to the
    public internet over a secure tunnel. Share local websites, build/test
    webhook consumers and self-host personal services.
    Detailed help for each command is available with 'ngrok help <command>'.
    Open http://localhost:4040 for ngrok's web interface to inspect traffic.

EXAMPLES:
    ngrok http 80                    # secure public URL for port 80 web server
    ngrok http -subdomain=baz 8080   # port 8080 available at baz.ngrok.io
    ngrok http foo.dev:80            # tunnel to host:port instead of localhost
    ngrok tcp 22                     # tunnel arbitrary TCP traffic to port 22
    ngrok tls -hostname=foo.com 443  # TLS traffic for foo.com to port 443
    ngrok start foo bar baz          # start tunnels from the configuration file

VERSION:
   2.1.18

AUTHOR:
  inconshreveable - <alan@ngrok.com>

COMMANDS:
   authtoken    save authtoken to configuration file
   credits  prints author and licensing information
   http     start an HTTP tunnel
   start    start tunnels by name from the configuration file
   tcp      start a TCP tunnel
   tls      start a TLS tunnel
   update   update ngrok to the latest version
   version  print the version string
   help     Shows a list of commands or help for one command

入ってますね。

使ってみる

適当なディレクトリに移動して、サーバーを立てます

$ cd /〇〇/ngrok-test/

$ python -m SimpleHTTPServer 8080
Serving HTTP on 0.0.0.0 port 8080 ...

別のタブを開いて、ngrokの設定をします。

// 上で指定したポートを指定。
$ ngrok http 8080

ngrok by @inconshreveable                                                           (Ctrl+C to quit)

Session Status                online
Version                       2.1.18
Region                        United States (us)
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://〇〇.ngrok.io -> localhost:8080
Forwarding                    https://〇〇.ngrok.io -> localhost:8080

Connections                   ttl     opn     rt1     rt5     p50     p90
                              0       0       0.00    0.00    0.00    0.00

ここでブラウザから http://〇〇.ngrok.io にアクセスすると、ローカルファイルがひらきます。 すごくね?

ポートが振られていれば、MAMPなどで作成したWordpressのサイトも公開することが出来ます。

公開用のURLは毎回ランダムの文字列で構成される上、ターミナルを落とせば見れなくなります。
なので、リモートにいる仲間にローカルファイルをサクッと確認してもらう時に便利かと思います。

Sublime Text で散らかりがちなMedia Queryをまとめる

スマホタブレット用にCSSを書く時、気を抜くとページ内にいくつも書くことになってしまう Media Query。

以前はSassを使ってPC用、SP用のScssファイルを用意して対応しましたが、Sublime Textのパッケージでまとめることが出来たので、メモ。

必要なもの

  • SublimeCombineMediaQueries
  • group-css-media-queries

SublimeCombineMediaQueries

こちらはPackage Controlにまだないので、Githubから落とします。

GitHub - astronaughts/SublimeCombineMediaQueries: Sublime Text Package for grouping CSS media queries.

ダウンロードしてきたものを解凍し、Packageディレクトリに CombineMediaQueries という名前で設置します。

group-css-media-queries

npmからもってきます。

github.com

$ npm install -g group-css-media-queries

インストール出来たらSublime Text を起動して、Preferences: Package Settings > CombineMediaQueries > Settings – Userを開き、自分のnode のパスを記載します。

nodeのパスを確認するのは、ターミナルからわかります。

$  where node
/usr/local/bin/node
{
  "bin_path" : "/usr/local/bin/node" // 上で調べたパスを記載
}

やってみよう

Media Queryがあちこちに散らばったCSSファイルを開いて、Shift + Control + C を押すと・・・、

// これが
.itemA {
    background-color: #f00;
} 
@media screen and (max-width: 1200px) {
    a {
        display: block;
    flex: 0 1 200px;
    border: 1px solid #555;
    }
}
@media screen and (max-width: 768px) {
    a {
        display: block;
    flex: 0 1 200px;
    border: 1px solid #555;
    }
}
.itemB {
    background-color: #ff0;
} 
@media screen and (max-width: 1200px) {
    a {
        display: block;
    flex: 0 1 200px;
    border: 1px solid #555;
    }
}
@media screen and (max-width: 768px) {
    a {
        display: block;
    flex: 0 1 200px;
    border: 1px solid #555;
    }
}
.itemC {
    background-color: #f0f;
} 
@media screen and (max-width: 1200px) {
    a {
        display: block;
    flex: 0 1 200px;
    border: 1px solid #555;
    }
}
@media screen and (max-width: 768px) {
    a {
        display: block;
    flex: 0 1 200px;
    border: 1px solid #555;
    }
}

// `Shift + Control + C`を押すと・・
.itemA {
  background-color: #f00;
}

.itemB {
  background-color: #ff0;
}

.itemC {
  background-color: #f0f;
}

@media screen and (max-width: 1200px) {
  a {
    display: block;
    flex: 0 1 200px;
    border: 1px solid #555;
  }

  a {
    display: block;
    flex: 0 1 200px;
    border: 1px solid #555;
  }

  a {
    display: block;
    flex: 0 1 200px;
    border: 1px solid #555;
  }
}

@media screen and (max-width: 768px) {

  a {
    display: block;
    flex: 0 1 200px;
    border: 1px solid #555;
  }

  a {
    display: block;
    flex: 0 1 200px;
    border: 1px solid #555;
  }

  a {
    display: block;
    flex: 0 1 200px;
    border: 1px solid #555;
  }
}

うん、いい感じ。

でも実際にはSassコンパイルのタイミングで走らせたいから、gulp-combine-media-queriesとか使ってgulpでやったほうがいいかも。

www.npmjs.com

まぁ、ケース・バイ・ケースで使い分けていこうかなぁ。

Mac使いはSpaceキーで決定できるようにすると色々捗る!

久しぶりの更新です。

確認用ダイアログ(「上書きしてもよろしいですか?」みたいなやつ)が出てきて、その都度マウス or トラックパッドで「OK」を選択すると思います。

でもこれって、 - キーボードから手を離さないといけない - 「OK」の場所にポインタを合わせないといけない

というふうに、結構めんどくさいです。

それを、Tabキーで選択して、Spaceキーで決定してしまおうという話。

やること

「システム環境設定」 → 「キーボード」 → 「ショートカット」タブ を開きます。

下の方の、「フルキーボードアクセス」を「すべてコントロール」に変更します。

これだけです。

やってみよう

ダイアログが出ればなんでもいいんですが、今回は拡張子を変えてみましょう。

画像を一つ用意して、拡張子を変えてみてください。 ダイアログが出るので、おもむろにTabキーを押してみましょう。青い枠が動くのがわかると思います。 そして、またまたおもむろにSpaceを押してみましょう。ダイアログにポイントを合わせて選択したのと同じ結果になりましたね?

これでいちいちマウスから手を話す必要がなくなりました。

簡単にできる設定なので、やっていない人はぜひやってみてください。

BLISKというブラウザに心が震えた

現在、夜中の1時だけど、すごいブラウザを見つけてしまい、興奮してこのポストを書いてます。

そのブラウザの名前は BLISK blisk.io

開発をやりやすいように作られているブラウザのようで、実際、かなり便利だと感じている。

何がいいのか、少し紹介します。

ここがすごいよ、BLISK!!!

BLISKのことを知ったのは以下のブログポストからでした。

nelog.jp

新しいもの好きの自分としては、これは試してみないとと思い、早速ダウンロード。

の前に、brew で落ちてないか確認してみる。

$ brew cask search blisk
==> Exact match
blisk

あった・・・。すげぇな、Homebrew.

なので、インストール。

$ brew cask install blisk
==> Downloading https://bliskcloudstorage.blob.core.windows.net/mac-installers/B

curl: (22) The requested URL returned error: 404 The specified blob does not exist.
Error: Download failed on Cask 'blisk' with message: Download failed: https://bliskcloudstorage.blob.core.windows.net/mac-installers/BliskInstaller_0.61.2743.166.dmg
The incomplete download is cached at /Users/〇〇/Library/Caches/Homebrew/Cask/blisk--0.61.2743.166.dmg.incomplete

あれ?落とせない。どっかでエラー吐いてるみたい。。。 時間があれば調べるけど、試したいだけだから今回は素直にdmgを落としてきます。

blisk.io

アカウント作成を促されるので、一応作っておきます。

まずここに驚いた!

インストールが完了して、立ち上げると早速適当なページを開いてみます。 今回はデベロッパー御用達、はてなブックマークを開きます。

f:id:mksk04:20161031010649p:plain

すごくない?

デスクトップとモバイルの表示が同時にできるんです。

しかも片方でスクロールすると、デフォルトでスクロールが連動します。(これは設定で変更可能) しかもしかも、chromeでおなじみのデベロッパーツールも使えます。

ライブリロードも使えるよ!!

今までライブリロードやろうと思ったら、Gulp設定したりなんやかんややらないと出来ませんでした。 BLISKはライブリロードが使えます。

ツールバーの右から3番目、矢印が回転してるアイコンをクリックして設定画面を開きます。 「ADD NEW WATCH」から変更を監視したいディレクトリを選択します。 この時のディレクトリはルートディレクトリを選択してやれば、それ以下にある html,css,js を監視してくれます。(この監視する拡張子は設定可能)

設定したら、選択したディレクトリ配下にあるファイルを変更してみましょう。 この時、以前のファイルから変更がなければ、保存してもリロードしないようになっているみたいです。

どうですか?リロードされました??すごいですよね???

制作にはSassを使ったりして、コンパイルしないと行けない場合も多いので、これがあれば万事OKってことは難しいかもしれないけど、ちょっとした修正でGulpfile書いたりするのめんどくさいなぁという場合にはかなり使えそう!!

スクリーンショット、動画Gifが取れる!シェアできる!!

スクリーンショットが簡単にとれます。 撮りたい画面を選択してやり、ツールバーのカメラアイコンをクリックしてやるだけで、デスクトップかモバイルのスクリーンショットをかんたんに撮ることが出来ます。

取り終えると、BLISKのストレージに保管されて、ボタン一つで簡単にURLをコピーすることが出来ます。 このURLを複数人で共有することもできるので、ちょっとした意見をもらいたいときに便利かも。 (実際にはSlackでもスクリーンショットのコピペができるからどっちが使いやすいかはケースバイケースかなぁ。)

さらにさらに、動画Gifも取れちゃいます!これはブラウザだけじゃなくて、他のアプリの画面も対象になります。 ちょっとしたコードや、スクリプトの動きを確認してもらいたいときに便利だと感じています。

これだけの機能が付いていながら、まだVersion 0.62.4925.237だって言うんだから、今後が益々楽しみです。

とりあえずしばらく使ってみて、なにかあればまたポスト書きます。

いつの間にかAmazonプライムの会員になっていた件・・・。

しかも約一年間も。。 なんでだ・・・。

どういうこと?

事の発端はAmazonで注文をしようと思った時。

以前からAmazonはよく利用していて、1ヵ月に1度はなにかしら購入していた。 kindle Unlimited も入ってるしね。

Amazonプライムの存在は知ってたし、お急ぎ便やプライムビデオが利用できるのはすごく魅力的だった。 しかも年間3,900円だし。

だけど、いまいち踏ん切りがつかなくて、「いつか入ろう」で、2年くらい経過していた。

事件は予約商品を購入するときに起こった・・・

来月発売の商品を予約購入しようと思って、レジに入れた。 ふと、

「プライム会員だったら発売日に届くんじゃねぇ?」

ってなことが頭をよぎって、これはいい機会だと思い、改めてプライム会員になったときのメリットを確認していた。

色々見てみて

「ふむふむ、やっぱりいいじゃん」

と思っていると、「Amazonプライム会員情報を管理する」というリンクが。

「なんだこれ?」

と思いつつ、リンク先を開いてみると会員情報のページが。

左メニューを見ると、

会員登録日: 2015/11/25
会員タイプ: プライム 

・ ・・ ・・・ ・・・・えっ?

会員タイプ: プライムってなに? しかも登録日が 2015/11/25 ってほぼ一年前じゃん?

どのタイミングではいったんだろう・・・?

別に入りたかったからいいんだけど、プライム会員だったら、もっとお急ぎ便とか使いたかったし、見たい映画やドラマもあったのに!!!

とまぁ、幸いにも私は入りたかったのでそんなに気になりませんでしたが、これを見た人できになった人は一度確認されるのをおすすめします。

以下のアカウント設定 > Amazonプライム会員情報の管理を開いて、左メニューの会員タイプで確認できます。 Amazon.co.jp - アカウントサービス

微妙な気分になったというお話でした。。。