リンクを新しいウィンドウで開く Nanoc の link_to ヘルパーを作る
nanoc にはリンクを生成してくれる link_to というヘルパーがあります。
link_to ヘルパーで生成するリンクを新しいウィンドウ(タブ)で開くためには、3 つ目の引数に target オプションを指定する必要があります。
link_to "Google", "http://google.com", target: "_blank"しかし、新しいウィンドウで開きたいリンクが多い場合に、target オプションをいちいち書くのは面倒です。というわけで、デフォルトで target オプションが指定されている link_to_new_window というヘルパーを書いてみました。
lib/helpers/link_to.rb:
module LinkTo
def link_to_new_window(text, target, attributes = {})
attributes.merge! target: "_blank"
Nanoc::Helpers::LinkTo.link_to(text, target, attributes)
end
endlib/default.rb:
include LinkToテンプレート(Haml)では以下のように使用します:
= link_to_new_window 'Google', 'http://google.com'HTML は以下のように出力されます:
<a target="_blank" href="http://google.com">Google</a>楽チンになりました :)