読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

Advent Calendar 4 - htmlタグへの属性追加方法

Meteorは、デフォルトではシングルページのウェブアプリケーションを作ることになります。
(iron-routerというパッケージを追加すると、マルチページにすることができます)

MeteorのHTMLファイルは実際にはHTMLではなく、htmlタグを含まず、headとbodyとtemplateタグとその中身を記述します。複数のファイルに分けて記述することもできて、Meteorはそれらのファイルから、templateを展開し、各headと各bodyの中身を一緒にしてHTMLを合成しクライアントに送ります。

さて、htmlタグはMeteorが合成するので、htmlタグの属性を直接書くことはできません。しかし、今時はOpen Graph Protocolを利用する場合などhtmlに名前空間を定義することが多くなりました。
htmlタグに属性を追加するには、サーバー側JavaScriptに次の例のような一文を追加します。

WebApp.addHtmlAttributeHook(function (request) { return 'prefix="og: http://ogp.me/ns#"'; });

追加したい文字列を返すような関数をaddHtmlAttributeHookに渡せばいいわけです。