blog.migiue.jp

Tenjinテンプレートエンジンで快適Web制作3

IWDD41で発表したTenjinテンプレートエンジンで快適Web制作2の続きエントリーです。

Webサイトの原稿をもらうときに、ワードだったり、エクセルだったりすることがあるかと思いますが(><)、今回はエクセルファイルから直接ページを作ってみます。

まず、エクセルでこんなシートを作ります。シート名は「page1」、ファイル名は「data.xls」にしておきます。これがページの原稿になります。

エクセルで原稿を作る data.xls

RubyのSpreadSheetライブラリを使って、エクセルのデータを直接読み込んでテンプレートの中に展開します。

Tenjinテンプレートエンジンで快適Web制作

IWDD41で「Tenjinテンプレートエンジンで快適Web制作」として発表してきました。

VGAアダプタを忘れてプロジェクタに映せなかったので(><)、blogにコードを貼ってみます。

素のHTMLを何ページも手書きしたくない、CMSを入れる程でもない、DreamWeaverテンプレートでは物足りない。 デザイナーでもテンプレートエンジンを使いこなしたい。Rubyを使いたい。そんな人にお勧めです。

今年はもっとRubyを勉強しようと思っているので、Ruby用のrbTenjinを使ってデモを書きました。

IWDDで発表した内容は

  • 基本的なTenjinの使い方
  • ヘッダ、本文、フッタの3ファイルに分ける方法
  • エクセルファイルからデータを読み込んでHTMLページ生成
  • YAMLファイルからデータを読み込んでHTMLページ生成
  • CGIのパラメータを受け取ってページの内容を変える

基本的なTenjinの使い方

テンプレートファイルの中で

  • ${...}と書けばrubyの式を評価した結果が入る(HTMLエスケープ有り)
  • #{...}と書けばrubyの式を評価した結果が入る(HTMLエスケープ無し)
  • <?rb ... ?>でrubyの文を埋め込める

AppleScriptでLast.fmのLove,Ban,Skipを操作する

Last.fmMac用リスニングソフト「Last.fm.app」はAppleScriptに対応していないですが、SystemEventsを使って、メニューバーを直接クリック操作すれば「Love」「Ban」「Skip」とかコントロールできる。

tell application "Last.fm" to activate
tell application "System Events"
    tell application process "Last.fm"
        click menu item "Love" of menu "Tools" of menu bar 1
    end tell
end tell

このAppleScriptをLaunchBarで実行できるようにしておけば便利。

2009年 大変お世話になったMacアプリ

引き続き、2010年もよろしくお願いします。

TextMate

プログラム等を書くには最強のエディタ、Snow Leopardでも問題なく動く。plug-inのProjectPlusを入れるとバージョン管理の状態が分かるので便利。早くTextMate2出ないかな...
http://macromates.com/

Coda

HTMLとかCSSを書くときに便利なエディタ。基本はTextMateを使いつつ、必要な時だけCodaを使う。Gitと、Code Foldingに対応してほしい。SubEthaEditがCode Foldingに対応したので、Codaにも近々入るのかな。
http://www.panic.com/jp/coda/

JeditX と JDiffX

日本語を扱う上ではどうしても必要になるエディタ。扱うのはほとんどUTF-8になったので出番は少なくなってきたかも。書類比較が出来るJDiffXは、TimeMachineに保存してある過去との比較もできて便利。
http://www.artman21.com/jp/jedit_x/
http://www.artman21.com/jp/jdiff_x/

Changes

書類同士の比較を確認するツール。Diff関係はJDiffxもいいのだけど、フォルダ構成とかも比較できるChangesが見た目的にも好み。
http://connectedflow.com/changes/

LaunchBar

今年はQuickSilverからLaunchBarに乗り換えた。ラウンチャとしてだけでなく、コピーバッファとしても使えるのが便利。自作のAppleScriptとかを実行するにも便利だ。
http://www.obdev.at/products/launchbar/

Layers

スクリーンキャプチャを撮るツールだけど、画像をPSD形式で書き出してくれる。それぞれのウィンドウや画面構成要素が、レイヤー別になったPSDファイルになるので、必要な部分だけを使ったり、撮影後でもウィンドウの位置やカーソルの位置を動かしたり出来て便利。
http://layersapp.com/

MacZip4Win

Macの標準アーカイバで作ったzipファイルは、winで解凍したときに日本語ファイル名が文字化するけど、文字化けしないzipファイルを作ってくれるアーカイバ。
http://japo.net/rana/2008/08/maczip4win.html

PGP Whole Disk Encryption

ディスク丸ごと暗号化してくれるソフト。MacのブートローダーをPGP独自のものに差し替えて、パスフレーズを入れないと起動しない&ディスクの暗号化も解けないようにしてくれる。Snow Leopardには正式対応してないけど、Beta版で使えるようになった。
http://www.pgp.com/jp/products/wholediskencryption/index.html
http://blog.pgp.com/index.php/2009/10/snow-leopard-beta-program-open/

Etc...

  • Adobe系
  • Omni系
  • Transmit
  • ForkLift
  • ExpanDrive
  • GitX
  • Little Snitch
  • Mouseposé
  • ScreenFlow
  • WireTap Studio
  • TextExpander
  • globalSAN iSCSI Initiator
  • Last.fm
  • MacPorts
  • VMware Fusion
  • Parallels Desktop
  • Snow Leopard
  • ...

Upgrading Typo 5.4.1

Rails 2.3.5で動くTypo 5.4.1が出ていたので、upgrade。
日本で使ってる人いるんだろうか...

http://wiki.github.com/fdv/typo/
http://wiki.github.com/fdv/typo/upgrading-to-typo-54

すぐに目に付く5.4での変更点

  • Rails 2.3.4 ベース
  • Bluecloth(C)の導入
  • 独自のCacheモデルではなくRailsのCacheを使うようになった
  • pagesで別レイアウトが可能

Typo 5.4のコードネームは「Willy Ronis」
Typo 5.3は「Robert Franck」(参考:[1101.com] (http://www.1101.com/photograph/2006-09-01.html))でした。

基本的には
$ sudo gem update typo
$ typo install typo_path
でOKだけど、所々手を入れているので、うまくupgradeできない。

なので、DBはそのままで始めからtypoをinstall。
そしてtheme, files等の移動、必要な部分をマージ。その後

$rake RAILS_ENV=production db:migrate

でDBのupgrade。