Sha256: 7ac43bed49bbf4500f170347085890597b6d999b1cb8d795f161e30ac4fb58fa

Contents?: true

Size: 752 Bytes

Versions: 1

Compression:

Stored size: 752 Bytes

Contents

description 'Wiki syntax tag for tabs'

Tag.define :tabs do |context, attrs, content|
  tabs = context[:tabs] = []
  prefix = (context[:tabs_prefix] ||= 0)
  content = subfilter(context, content)
  li = []
  tabs.each_with_index do |name, i|
    li << %{<li id="tabhead-#{prefix}-#{i}"><a href="#tab-#{prefix}-#{i}">#{escape_html name}</a></li>}
  end
  context.private.delete(:tabs)
  context[:tabs_prefix] += 1
  %{<ul class="tabs">#{li.join}</ul>} + content
end

Tag.define :tab, :requires => 'name' do |context, attrs, content|
  raise '<tab> can only be used in <tabs>' if !context[:tabs]
  context[:tabs] << attrs['name']
  %{<div class="tab" id="tab-#{context[:tabs_prefix]}-#{context[:tabs].size - 1}">#{subfilter(context, content)}</div>}
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
olelo-0.9.3 plugins/tags/tabs.rb