PythonScriptでhtmlテンプレートを使いたいなぁと思ったのでHandlebarsを使ってみた。

index.jade
!!! 5
html
head
meta(charset='utf-8')
meta(name='viewport', content='width=device-width')
title Handlebars demo
link(rel='stylesheet', href='stylesheets/app.css')
script(src='javascripts/vendor/custom.modernizr.js')
body
.row
.large-12
h2 PythonScript with Handlebars
hr
script(src='javascripts/jquery.js')
script(src='javascripts/handlebars.js')
script(src='javascripts/pythonscript.js')
script(src='javascripts/jquery.py.js')
script(src='javascripts/app.py.js')
script(src='javascripts/foundation/foundation.js')
script
$(document).foundation();
app.py
テンプレートをhtmlのscriptから取れなかったのでベタ書きした。あと",'の扱いが0.7.4でおかしくなってる。
source = "<h3>{{title}}</h3><div>{{body}}</div>"
template = JS("Handlebars.compile(source)")
title = "ひげひげひげ"
body = "セクシーコマンドー外伝"
data = JS("template({title:title,body:body})")
J("body .row ").append(data)
ちょっと試した感じではラップすればjavascriptを意識せずに使えそう。scriptタグでテンプレートが読み込めない問題は困るが。