ぱろっと・すたじお

技術メモなどをまったりと / my site : http://parrot-studio.com/

Middlemanで自サイトを再構築してみた

昨年後半あたりから仕事でさんざんもめたり、
年末にはプライベートが忙しかったりで、
最近まともに何かを作ってませんでした(´・ω・`)

・・・といいつつ、実は作ったものはあって、
個人的にこっそり使ってますが、
公開していいものか迷っていたりも

そもそも、最近は仕事がわりと忙しくて、
いい意味で「コードを書きたい欲」が発散されているので、
自分のプライベートな何かに注力する気分ではないというか・・・

そんなわけで、しばらく(コードを)公開するようなものがなかったのですが、
例によって「WEB+DB PRESS」を読んでいたところ、
naoya氏がMiddlemanについて解説してまして

Middleman: Hand-crafted frontend development

WEB+DB PRESS Vol.78

WEB+DB PRESS Vol.78

SinatraRailsでWebシステムを作る際、
HamlやSlimのようなツールを最近はよく使います*1が、
その辺を静的なサイトでも使えないか・・・という発想で作られたツールです

HamlもSlimも最終的な出力は「HTML」ですし、
CoffeeScriptもやはり「JavaScript」に変換されます
これを手でやるのはめんどいよね・・・ということです

とはいえ、プライベートでも仕事でも、
「静的なサイト構築」に関わることはほとんどなくて、
最低ラインでもSinatraだったりします(´・ω・`)

一方、プライベートで使いまくっている「Gagnrath*2は、
Viewのコードがerbで書かれており、これをHamlやSlimに変えるとなると、
結構大がかりな修正になってしまいます

本当はBootstrap3対応のついでにやりたいのですが、
今普通に使えているツールですし、
試すものに対してコストがかかりすぎるというか(´-ω-)

そこで思いついたのが、「自サイトの再構築」です

http://parrot-studio.com/

(デザインそのものは何も変えてないのですが、
 Bootstrapのバージョンを2から3に変えました)

見ていただければわかると思いますが、
作ったものやプレゼン資料が繰り返しで並んでまして、
前々から「どうにかならんか」と思っていたのです

DBを使うのはやりすぎだし、ファイルを読み込ませるにしても、
たかだか3ページの静的サイトを「システム化」するのは、
さすがにコストが大きすぎます

・・・と思っていたところに例の記事を読んだので、
3ページ程度なら試すにはちょうどいいだろうと、
Middleman+Slimで再構築してみました(´・ω・)っ

https://github.com/parrot-studio/potal

YAMLでデータを定義しておき、View側で動的に埋め込んだりとか、
layout側に制御を入れてボタンのデザインを変えたりとか、
プログラマ(特にRubyになじみのある方)なら便利かと

ただ、少なくとも「Middleman」に関していえば、
残念ながら今の仕事で使う機会はないと思います
Sinatra/Padrino/Railsを使うものばかりなので

Slimに関しては、今回のでなんとなく使い方がわかったので、
次の"個人的な開発"から使ってもいいかなと思いました(`・ω・´) b

「テストを書こうとすると、メソッドの粒度が洗練される」みたいに、
「Slim(やHaml)で書こうとすると、HTML/CSSの構造が洗練される」というか、
元がシンプルなコードだけに、構造自体もシンプルにしたくなるというか・・・

一方、仕事では既存画面との絡みがあったり、
私の担当はAPI等のバックエンド周りがほとんどで、
やはり使う機会はないと思います

フロントエンドは私より得意な人がいるので、
その人向けにAPI等を提供して、
「後はよろしく(`・ω・´)ノ」の方が早いもので・・・*3

何か話がずれてきましたが、Middlemanは
プログラマっぽい人がプログラマっぽい発想で静的サイトを作る場合」に
便利なツールだと思いますので、機会があればお試しを

*1: ・・・使うんですよね(´・ω・)?

*2: 自分に都合の良いように作っているのだから当たり前ですが・・・

*3: 「チームで仕事をする」というのは、「各自の得意分野を把握して、適切に仕事を分担すること」ですからね