macでの.bashrc
すぐ忘れるのでメモ。
~/.bash_profileを作成して以下を記述。
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi
で、~/.bashrcを作成してこれに記述。 例えばこんな感じ。
. ~/.nvm/nvm.sh
nvm use v0.8.2
最後に設定を反映させるために、
source ~/.bashrc
Metroアプリでライブタイルを実装するときに参考になるサイト
とりあえず公式のドキュメントで参考になるもの
・基本中の基本
Quickstart: Sending a tile update (Metro style apps using JavaScript and HTML)
・notification queueを使う時
上2つの左側のリンクに他にもいくつかチュートリアル的なものがある。
・Tileのテンプレートについて
Choosing a tile template (Metro style apps using JavaScript and HTML)
・Windows 8アプリ開発者ブログ
・サンプル
//NotificationQueueを使って更新する場合。定期的にテキストが更新される
Notifications.TileUpdateManager.createTileUpdaterForApplication().enableNotificationQueue(true);
var tileUpdateManager = Notifications.TileUpdateManager;
var data = Data.groups.dataSource.list._groupKeys;
for (var i = 0, len = data.length; i < len; i++) {
var template = tileUpdateManager.getTemplateContent(Notifications.TileTemplateType.tileSquareText03);
var tileAttribute = template.getElementsByTagName('text')[0];
tileAttribute.appendChild(template.createTextNode(data[i]));
var tileNotification = new Notifications.TileNotification(template);
tileUpdateManager.createTileUpdaterForApplication().update(tileNotification);
}
Handlebarsメモ
HandlebarsはMustacheをベースに開発されたテンプレートエンジンです。 細かい使用方法は公式サイトで詳しく説明されています。
少し試している中でif文での比較を行いたい部分があったのですが どうやらデフォルトではサポートしていないみたい。
具体的には、
{{#if length == 0}} No length {{else}} length exist {{/if}}
みたいに書きたかったのですがだめでした。
調べてみるとやはりサポートしていないようでBlock Helperを自分で定義する必要があるみたい。元から用意されているビルドインヘルパーの#ifは単純に値が存在するかしか見てくれない様子。 まあViewにごちゃごちゃとコードを書かないでViewとロジックを分離させようという方針のものなので自然なことかと思いました。
このことについてはここで議論されていました。
ということで比較ヘルパーを定義します。 ここで同じ事を行なっている人がいたので使わせてもらいました。
例えばequalという名前のヘルパーを登録するときは以下のように行います。 ヘルパーの登録方法についても公式ページにきちんと書いてあります。
Handlebars.registerHelper('equal', function(lvalue, rvalue, options) { //処理 });
これにより、以下のように書けるようになります。
{{#equal length 0}} No length {{else}} length exist {{/equal}}
ちょうどBackbone.jsのTodoアプリのサンプルでこれを使える部分があったので使ってみました。BackboneのTodoアプリサンプルはunderscore.jsのテンプレート(_.template)を使っているのですが、これをHandlebarsを使うように置き換えています。
ヘルパー部分は分かりやすいようにhandlebars-helper.jsと分けています。