静的サイトジェネレータ使い比べ
ちょっとしたサイトを作るときの「よっこいせ」感を軽減したいと思った。
というわけで、静的サイトジェネレータをいろいろ使い比べてみる。
選定ポイント
- gh-pagesへのデプロイが簡単か
- ワークフローが短いやつがよい
- 反映速度
- ローカルプレビュー
- blog機能は重視しない(はてなでいいじゃん)
- nodeもしくはgoで書かれていると助かる
- コード量が少ないと助かる
- コードハイライト対応可能(gfm対応)
候補
- jekyll on github
- hexo
- hugo
- jedie
感想
jekyll on github
自動処理してくれるのは嬉しいんだけど、pluginの使用が制限されている。 また、kramdownのgfmオプションも動かなかった。
自動処理は10分くらい待たされるイメージだったんだが、実測してみると、小さなサイトでおおよそ10秒ほどで反映されるようになっていた。
jekyll自体がwindowsで動くか割と微妙なのと、そもそもjekyllのビルドはかなり遅い部類なのが微妙だ。ローカルビルドとgithub pages上のビルド環境がずれそうなのも、はまりそうで危険。
サンプルは以下。
hexo
templateがないとビルド自体できない。templateをがっつり書くのも大変なので、今回は見送る。
deployコマンドがあったり、cliでのサポートが手厚いイメージはある。vuejs.orgでも使われている。
hugo
hexoと同じ。テンプレートのダウンロードが終わらなくてそこで利用を諦めた。
jedie
mattnさん作のjekyllクローン。_pagesがないとビルドできなかったりと、特定のユースに特化している印象はあるけれど、結構動いている。ビルドは0.01秒前後で終わるので、jekyll比で100倍速ぐらいだ。
subtree経由でのデプロイも含めると、下記のような構成になる。
hashrock-sandbox/jedie-mysite-subtree · GitHub
感想
テンプレート充実とかは、あとあと足枷になるという認識なので、あまりありがたみを感じない。ごりごり書いたほうが結局早かったりするものだ。今回のような雑なサイトをモックするという用途では、marxが便利だった。
あとCSSフレームワークのmarxかなり便利。こういうレイアウトなら一瞬で作れる。 http://t.co/GA7UzNV64X
— はっしゅろっく (@hashedrock) 2015, 6月 9
MeteorとVue.jsの連携
書いた / “vue.js - MeteorはTwitter連携ログインを作るのがめちゃ楽 - Qiita” http://t.co/fQheVI9hE6
— はっしゅろっく (@hashedrock) 2015, 5月 5
Qiitaに書いたのだけれど、以前作ったVue.jsとMeteorのサンプルを完成させた。 セキュリティに関する配慮が必要だったので、その辺りの修正をしてから記事として仕上げた。
isomorphic tokyo meetupで、Meteorに対して「時代が追い付いていない」という評価があったけれど、実はとっくに追いついているのではないだろうか。
リアルタイムWebとは、別にチャットアプリだけに必要なものではないような気がしている。通知にも必要だし、Wikiのように、同時編集されたら困るアプリにとっても、リアルタイムWebは複雑さを解決する方法となりうる。
作り始めた時には、いつリアルタイムWebが必要なのかは予想がつかない。そう考えると、プロトタイピングはまずリアルタイムWebで行い、リソース削減のためにRESTベースのAPIに落としこんで行く方がいいのかもしれない。
普通の企業はプロトタイピングを重視しない。だから、個人としてはプロトタイピングを掘り下げる方がきっと面白い。
休日は休まらないし、何も進まない
休日に何をするかというと、雑用か、ゲームか、寝てるかだ。
生産性のあることは何一つしない。かと言ってちゃんと体を休めているかというと、そんなこともなく、普通に夜更かしをしてしまっていたりする。
結構前からこんな感じなのだけれど、そのことで自分を責めるのはやめた。危機感を持ったとしても別に改善なんて出来ないので、休日に期待しないことにした。
休日に何か生産できたらめっけものだ。そのことを記録していってもいいのかもしれない。
切れてるチーズ
今日はIsomorphic meetupなるものに出席した。 LT枠が埋まってないと思い込んで、直前まで突発LTネタの仕込みをやっていたが、ひどい勘違いだった。何もアクション起こさなくて本当に良かった。
世界初のIsomorphic勉強会だったらしいのだが、歴史解説から、現場の声、そして基調講演風のプレゼンなど、まだバラバラの切り口で、今論点が作られようとしている最中のようだった。
自分の理解度では今回の話は実務に活かすことは出来なそうだけど、とりあえずモノリシックなspa作るときは、あとあと必要が出てきたらこの部分で切れるように作っときゃいいのね、 と考えとくことは出来そう
— はっしゅろっく (@hashedrock) 2015, 4月 30
自分はソフトウェアを切れてるチーズみたいに考えている。モノリシックに見えても、内部には切れ目が入っている。一方で、必要が無い限りバラバラにもしない。必要なのは、内部インターフェースの統一だ。そんなことをプレゼン見ながら考えていた。
「入って後悔した風呂はない」
そして先週書いたgif自動スクリーンショット、めっちゃ今役に立っている
— はっしゅろっく (@hashedrock) 2015, 4月 27
入って後悔した風呂はない、の金言を噛みしめる
— はっしゅろっく (@hashedrock) 2015, 4月 27
風呂というのは、なぜだか入るまでに敷居が高い。面倒なのだ。だけど入ってしまえば、風呂に入ったことを後悔はしない。
これ、糸井重里の発言という話を聞いているけど、実はソースがない。結構、多面性のある言葉だと思う。
自分は風呂にはいることを結構躊躇することが多い。同じように、きっと、残りの人生、色々なことを躊躇しまくるのだと思う。だけど、必要なのは、自分の背中を自分で押すことなのだろう。テストを書く。ドキュメントを書く。ちょっとしたことでも、面倒だけどやろう、と。
あと、もう一つ書きたいことがある。
割とこの歳になってくると、普通に同年代の人が事故死して、ころころと死んでしまう。 自分もころっと死ぬかもしれない。そして、特に世の中に影響もなく、自分のやってきたことは消えてしまうだろう。そのことを納得出来るだろうか?きっと死後や死の直前に、自分は納得出来ないだろうな、と思う。そもそも、その時には意識が無いだろうし。
生きているうちにしか、納得することは出来ない。だから、納得を後回しにしてはいけない。風呂に浸かり、「なるほどなるほど、なるほどですね~!風呂は気持ちいいなぁなるほど」と、だらしなくシナプスを発火させながら、自分の行動に対する絶大な納得感とともに、ただただ時間を浪費していきたいなと思う。