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で実行できるようにしておけば便利。