最近、「Dynamic Template」というWindows Live Writerのプラグインを使い始めました。
これが、ブログの文書作成に思いのほか威力を発揮する強力なプラグインだったので、使い方も交えて紹介したいと思います。
photo by Drew Coffman
目次
Dynamic Templateとは
Dynamic Templateは、Windows Live Writerのエディターにテンプレートを挿入するためのプラグインです。
Windows Live Writerユーザーの中には、テンプレートを挿入するのにText Templateを利用している方も多いと思います。ただText Templateは、単にテキストのテンプレートを挿入するだけなのに対し、Dynamic Templateは、さらに一歩進んだ記事編集ができるようになります。
ちなみに、Dynamic Templateのメイン画面は、こんな外観をしています。
これにテンプレートを登録して使うことになります。
以下では、Dynamic Templateについて、その使い方を交えて紹介したいと思います。
通常のテンプレートの登録の仕方
まずは、Dynamic Template紹介がてら、通常テンプレートの登録をしてみたいと思います。
ここでは、ブログ冒頭などでよく使われる「Twitterアカウントを含んだ挨拶」の登録方法の紹介です。
こんなやつです。
@MrYhiraです。こんにちは。
最初なので登録するための操作方法も紹介したいと思います。
まずはDynamic Templateを起動します。
(インストールはDynamic Templateからダウンロードして、実行ファイルからインストールするだけです。)
こんなダイアログが表示されるので、「Edit Templates」をクリック。
するとダイアログが以下のように変化するので「New」ボタンをクリック。
次のようなダイアログが表示されるのでテンプレートの名前を入力し「OK」ボタンを押します。
あとはテンプレートとなるHTMLタグを挿入します。普通のテンプレートを登録するときは、「Template Body」だけ入力すればOKです。
登録が済んだら、Dynamic Templateを起動して
先程作成したテンプレートの項目をダブルクリックすればOKです。
すると以下のようなHTMLタグがエディターに挿入されます。
<a href="https://twitter.com/MrYhira">@MrYhira</a>です。こんにちは。
当然Windows Live Writerでの表示は、こんな感じになります。
いつも利用する文章登録して何度も使えるようにすれば、とても便利なります。
ただ、このような静的テンプレートならText Templateでも同じようなことができます。
Dynamic Templateでは、さらに一歩進んで、「テキストを選択してHTMLタグで囲む」なんて使い方や、「C#を用いて動的に文字列を生成する」なんて使い方も出来るようになります。
テキストを選択してHTMLタグで囲む
僕が、Dynamic Templateで最も便利と思うのがこの機能です。
Windows Live Writerにはよく利用するタグは、リボンやツールバーからあらかじめ挿入できるようになっています。けれど、テキストに自前のスタイルを反映させたいなんて時には、ちょっと不便です。
例えば文字列を以下のようなタグで囲んで強調表示したいときに、どうしようか困ってしまいます。
<span class="hutoaka"></span>
例えば上にある自前のタグを使ってこんな表示にさせたいとき。
さっきスーパーに出かけたら卵が大安売りだった。
こういった操作は、Dynamic Templateだと簡単に行えます。
強調表示したいテキストを選択してDynamic Templateを実行するだけ。
以下のように、選択文字にタグ付けされます。
さっきスーパーに出かけたら<span class="hutoaka">卵が大安売り</span>だった。
(※Windows Live Writerエディター上では表示は変わりません。)
このような感じで、文章中の特定のテキストにタグを付加するときなど、Dynamic Templateではとても簡単に行うことができます。
設定方法
Dynamic Templateでの設定はこのように行います。
「Template Body」にはこのように入力します。
<span class="hutoaka"><%= _selection %></span>
ここで注目したいのは、選択テキスト部分の代わりとして<%= _selection %>と入力されているところです。この部分が、実際に選択しているテキストに置換され、エディターに挿入されます。
Text Templateプラグインでは、ここまで手軽に選択テキストにタグ付けができなかったので、この機能があるプラグインをちょくちょく探していたのですが、ようやく見つけました。
現在の日にち付きのテンプレートを挿入する
次は動的に、編集時の日にちを挿入する方法です。
記事に追記する時などは、以下のように「追記した日にち」を付け加えると読者にわかりやすいです。
追記(2014/5/31): 追記内容
設定方法
Dynamic Templateでの設定方法はこんな感じです。
テンプレートは以下です。
追記(<%= DateTime.Today.ToString("yyyy/M/d") %>):
C#のDateTime.Today.ToStringメソッドを使って動的に日にちを取得しています。
こういうのを、手打ちすると「えっと、今日何日だっけ?」とかってなっちゃって地味に面倒くさいんですよね。
HTMLタグを再変換
これはあんま実用的ではないのですが、こんなこともできます。
以下のように、Windows Live Writerにテキストで貼り付けたため、タグがそのまま表示されてしまったものを再変換することができます。
これは<SUP>上つき文字</SUP>と<SUB>下つき文字</SUB>のテストです。
これは、「HTMLエンティティ」の設定されていないシンプルなテキストを、そのままエディターに貼り付けてしまったことで起こります。
Dynamic Templateでは、これを再変換してキチンとHTMLが反映された状態に戻すことができます。
これは上つき文字と下つき文字のテストです。
設定方法
設定方法は、こんな感じです。
テンプレートはこのように入力します。
HTMLエスケープの解除
<%= HtmlDecode(_selection) %>
一応逆のこともできます。
HTMLエスケープ
<%= HtmlEncode(_selection) %>
その他の機能
ここまでは、Dynamic Templateのさわりみたいなもんです。
他にも、自分で変数を設定して入力時に動的に値をダイアログから入力したり、ループ構文なども使用できます。
ただ、これを説明しだすと長くなるので、どんな感じかだけ紹介します。
例えば、選択した文字のフォントサイズを、入力時に指定したいときはこんなこともできます。
まずはテキストを選択します。
あらかじめ、このように登録されていたテンプレートを実行します。
テンプレートのテキストは以下。
<span style="font-size: <%= size %>"><%= _selection %></span>
実行すると次のようなダイアログが表示されるので、変更したいサイズを入力します。
こんな感じで、文字サイズが指定出来るようになります。Windows Live Writerのインターフェースからは指定できない、12em、12ex、200%、xx-largeみたいな指定方法でもサイズを変更できます。
実行後のHTMLソースはこんな感じになります。
これは<span style="font-size: 100px">大きなフォント</span>のテストです。
その他にも、C#構文が使えるので、以下のようなループも使用できます。
<% for (int i = 0; i < times; i++) { %> <%= text %> <% } %>
ちょっとここまで来ると高度すぎて、いまだ有効な利用方法が思いつかない。
まとめ
Dynamic Templateを使い倒そうと思ったら、C#覚える必要があるくらい奥の深いプラグインです。
ただ、普通に使用するには、「エディターの選択テキストに自前のタグを付加」するのに一番効力を発揮するのではないでしょうか。
今回は、いろいろな使い方を紹介しましたが、以下の2つの構文を覚えるだけでWindows Live Writerでやりたいことの大概の事はできると思います。
- <%= _selection %> (選択文字を編集するとき)
- <%= DateTime.Today.ToString(“yyyy/M/d”) %> (現在の日にちを挿入)
これまでのWindows Live Writerの文字編集に不満を感じている場合は、Dynamic Templateを使うと文章編集の負担を軽減できますよ。
何日も費やして、ようやく目当ての記事にたどりつきました。参考にさせていただきます。