リンクを新しいウィンドウで開く 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
end
lib/default.rb:
include LinkTo
テンプレート(Haml)では以下のように使用します:
= link_to_new_window 'Google', 'http://google.com'
HTML は以下のように出力されます:
<a target="_blank" href="http://google.com">Google</a>
楽チンになりました :)