Tenjinテンプレートエンジンで快適Web制作4
IWDD41で発表したTenjinテンプレートエンジンで快適Web制作3の続きエントリーです。
画像ファイルが沢山あるページの場合、srcやaltをそのままhtmlの中に書いても良いですが、yamlファイルで管理したりすると便利かも。
Tenjinテンプレートエンジンで快適Web制作3
IWDD41で発表したTenjinテンプレートエンジンで快適Web制作2の続きエントリーです。
Webサイトの原稿をもらうときに、ワードだったり、エクセルだったりすることがあるかと思いますが(><)、今回はエクセルファイルから直接ページを作ってみます。
まず、エクセルでこんなシートを作ります。シート名は「page1」、ファイル名は「data.xls」にしておきます。これがページの原稿になります。
data.xls
RubyのSpreadSheetライブラリを使って、エクセルのデータを直接読み込んでテンプレートの中に展開します。
Tenjinテンプレートエンジンで快適Web制作2
IWDD41で発表したTenjinテンプレートエンジンで快適Web制作の続きエントリーです。
TenjinをCGIから使う基本的な環境が出来たら、「header.html/body.html/footer.html」のパーツごとに分けてみます。
分割されたテンプレートファイルを読み込むには
<?rb import 'filename' ?>
を使います。
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.fmのMac用リスニングソフト「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)でした。
基本的には
$ sudo gem update typo
$ typo install typo_path
でOKだけど、所々手を入れているので、うまくupgradeできない。
なので、DBはそのままで始めからtypoをinstall。
そしてtheme, files等の移動、必要な部分をマージ。その後
$rake RAILS_ENV=production db:migrate
でDBのupgrade。
919speakersで発表したUiUIKit + HTML5を公開
盛岡で919speakersというLTイベントが行われたのですが、そこで僕が発表した「UiUIKit + HTML5」のファイル群をUPしました。
iPhone UiUIKit-2.1 + HTML5
Download: UiUIKit-2.1-HTML5.zip
This is a HTML5 version. Original xhtml1.0 version is here. http://code.google.com/p/iphone-universal/
The UiUIKit + HTML5 it's a collection of HTML5 examples of what can be done with CSS3 and Safari's Webkit. With this framework you can:
Fast prototype any web app with ease. Make you're own app using different iPhone original interfaces.
The framework is based on 1 stylesheet and several HTML5 examples, also, it contains original artwork so you can edit them in Adobe Photoshop CS and adapt it to your projects. With this framework you can build:
Headers
- Simple header
- With back button
- With back and action button
- With pre title
Normal Lists
- Simple list (standard iphone list)
- Contact list (address book list example)
- Icon list (settings list like with icons)
- Content List (similar to youtube app list, ical and others)
- Metal list (similar to Clock app)
Rounded Lists
- Standard
- With content
Plastic lists (App Store like)
- Minibanners
- Big banners examples
Information fields
- Address book profile example
Image lists
- Loading sprites example list
- Image gallery
Chat interface example
- Chat bubbles example
- Master chat bubble psd file
Forms
- Standard form in Apple interfaces
- Error fields
- Small JS inline to clear content on click (just a simple example)
Buttons
- Buttons panel
- Buttons examples
Best enjoyed on a real iPhone This iPhone UI Framework kit is licenced under GNU Affero General Public License (GNU AGPL 3)
Tour de France 2009に行ってきた(準備出発編)
何年か前からツール・ド・フランスを現地で見てみたいなぁ〜と思っていましたが、ついに今年、現地に行ってきました。

(写真:マイヨジョーヌを着るコンタドール)
「ツール・ド・フランス」というのは世界最大の自転車ロードレースで、フランスを一周するようなコース、今年は約3460kmを23日間で走ります。日本ではサイクルロードレースの知名度は低いですが、ヨーロッパではサッカー並に人気のスポーツです。そんなレースを観戦に行ってきました。いゃーすごかった。ツールが世界最大の自転車レースと言われる所以が分かったような気がします。ただレースの開催規模が大きいというだけでなく、それを支える地域と人々、自転車に対する文化と歴史、それを少しでも垣間見ることが出来たと思います。
日本人が出場!そして活躍!これはとても凄い事!
また今年のツールは日本の自転車ロードレース界にとっても、新しい歴史が開かれた大会となりました。今回、「よし行こう!」と決めたら、日本人が二人も出場することが決まり、とても良いタイミングで行けました。日本人で出場したのは、Bbox Bouygues Telecom所属の新城幸也選手、SKIl SHIMANO所属の別府史之選手。
レース後半〜最終日のゴールを観戦する日程で行ったのですが、最終日にパリで待っていても日本人のゴールは見られないのではないか...という気持ちがちょっとだけありましたが、全くの杞憂に終わりました。二人とも無事に最後まで完走するだけでなく、各ステージですばらしい仕事をして活躍しました。そして最終日のシャンゼリゼ、フミが逃げる姿をこの目で見られるとは...
ということで、次回また自分が行くときのために、そして誰か次に行く人の参考になればと思ってまとめてみます。