トップ «前の日記(2010-12-01) 最新 次の日記(2010-12-09)» 編集

Route 477



2010-12-03

[reposh] Reposh 0.1.10をリリースしました

今年、僕以外にも少なくとも1人のユーザがいることが分かったreposhを更新しました。

ruby_promptという設定項目が使えるようになり、プロンプトにgitのブランチとか出せるようになりました。

% reposh
loaded config file: /Users/yhara/.reposh.yaml
Welcome to reposh 0.1.10 (mode: git)
master> 

.reposh.yamlにこんな感じに書きます。YAMLにRubyスクリプト書くのすごい難しかったのでいい加減YAML捨てたいです*1。これが若さ故の過ちというものか…

system:
  git:
    ruby_prompt: '"#{`git branch`[/\* (.+)/, 1]}> "'

*1 Ruby DSLにしたい

[rails] yarvinstructions.heroku.comをRails3に移植しました

先日公開した http://yarvinstructions.heroku.com/ に対し「コメント欄とかあるといいかも」というご意見をいただいたので、コメント欄→DBとかフォームとか→そろそろRailsか、という思考で SinatraからRails3に移植してみました。

移植は1時間弱でできたのでわりと簡単でした。

SinatraとRails

Sinatraはわりとトップレベルになんでも置く感じになりがちで、それ故に開発速度が速かったです。Railsだと同じメソッドでもコントローラに定義するか、ヘルパーに定義するか、ApplicationHelperに定義するか…みたいな選択肢があって、そこでちょっと悩むという。逆に言うと、Railsに移植してより綺麗なコードになった気がします (Sinatraでも、規模が大きくなったらクラス定義してその中に書いていくModularスタイルを選んだ方が良いと思います)。

僕はわりと設計上のどっちでもいいことで悩みがちなので、Sinatraでとりあえず動くものを作ってからRailsに移植するのはいいのかも知れない。

コメント欄の例:

移植中にDisqus使えばいいじゃんということに気づいたので、実はDBもフォームも要らなかったという…。

[rails] SlimのTipsとか

SlimはHTMLをこんな風に書けるテンプレートエンジンで、Railsでもちゃんと動きました。

  • 「|」内の大なりとか小なりとかはエスケープされない。自分で<とか書く必要がある
  • 行末に半角スペースを入れたいときは「| foo 」みたいに末尾にスペースを入れるんだけど、それだとエディタ上で分かりにくいので、「|」の代わりに「' foo」と書くと末尾にスペースが入る。
  • コメントは「/」から始めるが、もちろんC++風に「//」でもいい。「//」はcommentout.vimで簡単に入れられるのでもっぱらこっちを使っている。
  • Slimに惹かれるなら、CSSもSlimっぽく書きたくなると思う。そんなときはSassを使えばOK。
  • 「javascript:」でJSタグを書ける。「markdown:」でMarkdownマークアップの文書を書ける(要gem install rdiscount)。サイトの特定ページだけ長文を書きたいときに便利
  • Sinatraの時期リリースはデフォルトでSlimがサポートされる(!)。

こんなところかな?

最後に:

  • Slimにはいろんな便利記法があるけど、あまり使いすぎると暗号になるから注意。最初は基本的な記法だけ覚えるのが楽でいいと思う。