Sha256: e35220a82d6d3bb3dc8ce2f2fdb61d577491fe7bcb97b3808654de86311f2a80
Contents?: true
Size: 745 Bytes
Versions: 12
Compression:
Stored size: 745 Bytes
Contents
description 'Tag to redirect to other pages' Application.hook :render do |name, xml, layout| if params[:redirect] && layout links = [params[:redirect]].flatten.map do |link| %{<a href="#{escape_html build_path(link, action: :edit)}">#{escape_html link}</a>} end.join(' → ') xml.sub!(/<div id="menu">.*?<\/ul>/m, "\\0Redirected from #{links} → ◎ ") end end Tag.define :redirect, requires: 'to', dynamic: true do |context, attrs| list = context.params[:redirect] || [] to = attrs['to'] if list.include?(to) raise "Invalid redirect to #{to}" else list << context.page.path throw :redirect, build_path(to, 'redirect[]' => list, version: !context.page.head? && context.page) end end
Version data entries
12 entries across 12 versions & 1 rubygems