middlemanによる静的サイト作成術 その1

前回の投稿で、若者のための投資信託のすすめをリリースしたと書きましたが、このサイトはCMSとか使っていないただのHTML5,JS,CSSのみで作られています。

そのように作った理由ですが、html,js,cssのみで作っているサイトは負荷に強いし軽いからです。数年前まではちょっとしたサイトだったらWordPressやMODxを使って作ったほうが早いし楽だと思っていたのですが、今は違います。というのも、WordPressやMODxはデータベースが必須だしPHPが動く環境も必要だからです。今頃だとStaticPressというのもあるらしいですが。今は、私はmiddlemanを使っています。

middlemanとは

middlemanはRuby製の静的サイトジェネレータです。Railsで開発をしている人たちには親しみやすいツールだと思います。利点はいくつもあります。

  • テンプレートエンジンとして、haml,slim,erbなどが使える
  • htmlのパーツ化ができる
  • 初期設定でCoffeeScriptやSassが使える
  • Railsのように自動コンパイルされる
  • LiveReload機能も使うことができる
  • minifyも簡単に行える

これらの機能が、最初からほぼ使えます。config.rbを多少修正すると、もっと便利に使えます。

JS界隈ではgrunt,gulpなどが自動化で有名なところで、AltJSやSassのコンパイルもそれらのツールに任せることができますが、どこかのブログで書かれていましたが、管理が大変そうに思えました。

Grunt/Gulpで憔悴したおっさんの話

私は昔、yeomanでAngularJSを使ってサイト作るんだー!と思ってやろうとしたことがあるんですが、正直面倒になってしまってやめました…。Railsに比べると、gruntで自動化を設定していくのがしんどかったからです。そこで、Railsのように書ける静的サイト作る用のツールないのか!?と思って探したら見つかったのがmiddlemanです。

実は以前にmiddlemanは紹介しています。

Ionic Framework & Cordova & Middlemanでやってみようと思う。

middlemanのインストールから動かすところまで

middlemanはgemなので、Rubyがあればすぐにできます。
ちなみに私の環境はMac(Yosemite)なので、他の環境での動作はわかりません。
私はRubyはRVMでインストールしています。Rubyのバージョンを変えたりする場合は、RVMをインストールしてもいいと思いますが、MacのデフォルトのRubyでも問題なく動作するとは思います。

インストール

ターミナルから以下を入力します。

gem install middleman

これだけです。ただ、これだとおそらくmiddleman 3系がインストールされます。
今回は私はmiddlemanの4系をインストールしたので、以下のようにしています。

gem install middleman -v 4.0.0.alpha.6

middleman 3系と4系では結構違うようなので、α版とはいえ、4系を使ってもいいかなと思います。

プロジェクトの作成

ターミナルで、以下を入力します。my_projectはプロジェクト名なので変更はご自由に。

middleman init my_project

これで、今のディレクトリにmy_projectディレクトリが作られました。

middlemanの起動

middlemanの起動はめっちゃ簡単です。
以下をターミナルで入力します。

middleman

これだけです。これでWebサーバーが立ち上がり、http://localhost:4567にアクセスすると、my_projectを見ることができるようになりました。

プロジェクトのビルド

ここでいうビルドとは、middlemanで作っているサイトを、html,js,cssとして出力するということです。haml, coffeescirpt, sassで作っていたサイトがこれだけで静的なファイルになるので、ものすごく便利です。作られたファイルは、buildディレクトリ以下にまとめられるので、あとはこれらをインターネット上のサーバにポイッとアップロードすれば完了です。

ここまでですと、middlemanは動かせたけれど、よくわからん!ということになりそうなので、次回はmiddlemanの設定を行っていきます。


若者向けの投資信託に関するサイトを作りました。

先週末になりますが、『若者のための投資信託のすすめ』というサイトをオープンしました。ちょうど、投資信託の比重を多くしようとしていたところで、twitterで貯金をどうしたらいいんだろう?投資で減らしたくないし!かといって貯金しても不安!みたいなツイートを見かけていたので、その場で色々とツイートしたのですが、もうこの際だから一度サイトにしてみるか!?と思って作りました。

メインにおいている内容は、分散投資と積立投資をしなさいという内容ですが、分厚い本を読まなくても要点はだいたいまとまっていると思います(本も読んだ方がいいですが)。細かく書かずに簡潔に書いたのには訳があって、そもそも細かく書くくらいだったら本を紹介するし、かといって本を読むほど時間もないという人も多いだろうと思ったからです。

スマホ対応は一応したつもりですので、時間があるときで構わないので、

  • 20代・30代である。
  • 投資をほとんどしたことがない。
  • 昔、株やFXで痛い目にあった。
  • 貯金自体がほぼないが、貯めたい

これらのどれかに当てはまるような人には読んでもらえたら嬉しいなーと思います。

『若者のための投資信託のすすめ』


Railsのassets:precompileの設定を勘違いしていた。

なんか初歩的なところをミスっていたので非常に悲しい。

config/application.rbで、config.assets.precompileの設定をミスっていた。
設定していたはずのコードが別に作られないのはなんでだろう?と思っていたのです。しかも、別のディレクトリのやつは作られるのに!と思っていたのですが、それも勘違いでした。

勘違いしていたコード

config.assets.precompile += %w(foo.js.coffee bar/application.js.coffee)

サブディレクトリのapplication.(js|css)は自動的にprecompileの対象になるようです。であれば、そもそもこのbar/application.js.coffeeの記述は必要なかったし、これを追加されることでコンパイルされると思い込んでいたので、新たにfoo.js.coffeeを追加して、コンパイルされなかったのが謎で仕方がなかったんですが、拡張子がjs.coffeeじゃなくてjsじゃないとダメでした。

正しいコード

config.assets.precompile += %w(foo.js)

これでよかったんや…。ずっと勘違いしていた恥ずかしいわー…。

参考URL: アセットパイプラインにハマる | 小さな星がほらひとつ


mineoのsimが届いたので早速設定してみた

前回の記事を書いたときは1週間くらいかかるらしいので、と書いていたのですが、なんと2日後にsimが届きました。はやっ!

前回の記事:mineoにMNPを申し込んでみたので注意点をまとめてみた

前回の記事では、移行コストがauへの違約金1万円、MNP手数料2千円、mineoの手数料3千円で、一人当たりだと税込1万6千円程度と書いていました。しかし、今だと基本料金割引キャンペーンを行っていたみたいで、3ヶ月間658円の割引(税込)がありました。約2千円くらいの割引なので、結構お得です!3月いっぱいまでのキャンペーンのようです。

さて、設定についてはそんなにつまづくことはありませんでした。mineoが送ってきた資料の中の通りにやっていけばできました。MNPの作業自体は、mineoのサイトから申請して、電源を落として30分程度待つだけ。気をつける点は、MNPの作業は受付時間が決まっています。9:00〜21:00の間ですから、その時間内に作業をしましょう。

そのあとは、テスト用の電話番号に電話して、電話が通じれば成功です。

次は、モバイルネットワークの設定ですが、これもmineoの資料通りにすれば問題ありませんでした。私の使用端末は京セラのTORQUEですが、普通にtwitterやFacebookも使えています。
今度はauの頃に使っていたスマートパス経由でDLしたアプリが使えなくなったのでどんどん削除しておきました。ほとんど使わなかったアプリばかり…。乗り換え案内くらいかなぁ、使ってたのは。スマートパスはよくできた集金システムだなぁと思います…。

その次は、mineo.jpのメールアドレスの設定でした。これ別に要らないなと思っていたのですが、資料を読んでいくと、重要なお知らせはmineo.jpのアドレスに送りますと書かれていたので、とりあえず登録しておきました。資料に書いてある通りにすれば大丈夫です。

最後は、別にこれは要らない人はやらなくていいと思いますが、LaLa Callというアプリをインストールしました。これは、050で始まるIP電話の番号をもらえるシステムです。mineoは20円/30秒なので、普通の通話に関しては結構高いです。LaLa Callを使えば、電話代を抑えることができます。携帯電話にかけるときも安くなりますが、固定電話にかけるときは3分8円になるので、だいぶ違います。また、LaLa Call同士であれば、通話料は無料です。まぁこれはLINEがあれば別によくない?とは思いますが。

特にトラブルもなく使えるようになったのでよかったです。auユーザーでAndroidを使っている人にはオススメできます。通信料4GBついて、通話できて2,190円(税抜)ですからね!


mineoにMNPを申し込んでみたので注意点をまとめてみた

au回線のMVNOであるmineoに申し込みを行ってみました。
現在、夫婦でauを使っていたのですが、月々の支払いが端末代を入れると約2万円くらいになっていました。auはカケホとデジラの組み合わせを進めているのですが、あれは私たちにとってはめちゃくちゃ高いプランで、電話はほとんどしないのでカケホいらないし、デジラの5GBも高いのでもうやめたいなーと思っていました。

mineoにしようと思ったのは、ただただ安いからです。妻は現在専業主婦なので、ほとんど家にいるから、LTEがなくても自宅の光回線にWiFiでつなげる事ができるので、外出時の1GBで十分。そのプランだと、月々1460円(税抜)。私は外で使うことが多いので、テザリングも使うし、4GBのプランで2,190円(税抜)。また、私のスマホ本体の残りの支払いが月々2,000円くらい(残り15ヶ月くらい)。

2015年3月現在だと消費税は8%なので、固定費で考えると、

(1460 + 2190 + 2000) * 1.08 = 約6000円(税込)

となり、2万円近くあったのが約3分の1くらいになる予定です。

もちろん、auの2年縛りの違約金が1万円と、MNPの手数料2千円と、mineo側の事務手数料3千円が発生するので、税込だと1人当たり1万6千円ちょっとかかります。

コストとしては、初回に2人で3万円近くありますが、月々あたり1万4千円ほど浮かせられるので、3ヶ月もあれば元をとることができます。最新機種を使い続けたいとか、電話をいっぱいかける人は向いていないと思いますが、それ以外であればよさそうです。

ちなみにまだsimは届いていません。到着には1週間程度かかる模様です。到着したらまたなにか報告できればなと思います。

mineoにMNPする際の注意点

今回、mineoに申し込みをしたときに、色々と注意点があったので、それを情報共有できればいいかなと思ったので、書いておきます。

まず、mineoの契約をするには、本人名義のクレジットカードが必須です。今回、私たちは夫婦でMNPしたわけですが、auだったときは私のクレジットカードでまとめ払いをしていたのですが、申し込み時はそれができないことがわかりました。回線が開通後であれば、他人名義のクレジットカードに変更可能らしいのですが、初回は必須のようです。

次に、契約名義がMNPのときは本人でないといけないということです。まぁ当たり前な感じもしますが…。ただ、もしできるのであれば、私名義で2回線持って、1つを妻用にしようと思っていたのですが、MNPの場合は以前の契約者本人じゃないとダメということだったため、それぞれがmineoにMNP申請を行いました。もし番号が変わってもいいという人でしたら、一旦解約して、1人の名義で複数回線を契約したほうが管理しやすいかなと思います。

mineo自体の注意点

安いのでいいことずくめに見えるmineoですが、注意点はあります。
まず、iOS8系で使えないことです。
詳細はmineo: 動作確認端末一覧で確認できますが、iOS7だと使えるらしいのですが、アップデートしたら使えなくなるとか…。なので、iPhoneユーザーは除外されてしまうかなと思います。

次に、3Gが使えなくなることです。LTEの入るところのみになります。通話に関しては3Gエリアでもできるらしいですが、データ通信は3Gでできないので、よくLTEから外れるようなところに行く人だと、向いてないでしょう。

あとは、ezwebのメールアドレスが使えなくなることですかね。最近はLINEやGmailでやりとりしていることが多いとは思いますが、キャリアのメールアドレスも未だに根強いかなと思います。これをばっさり捨てられる人にとってはいいでしょう。私はもう最近は迷惑メールとメルマガくらいしか来ていないので、むしろなくしたいくらいです。

お試しすることも可能

いきなり契約して使えなかったら最悪だからどうしよう…と二の足を踏んでいる人向け(?)に、mineoがお試しで使ってもらえるようにとプリペイドsimを発売を開始した模様です。Amazonから買うことができます。一旦このsimを使って、使い勝手がいいようだったら、mineoのサイトから普通の契約に変更することもできるそうです。しかもその際の手続き手数料は無料だそうです(まぁこのプリペイドsimに含まれているような気がしますが)。auのMVNOに興味がある人は、まずはプリペイドsimから試してみてはどうでしょうか?