Sha256: 144416d3325d6850ee90209ab42eb217ddb09f63454d08f15649ef23cb64f66d

Contents?: true

Size: 749 Bytes

Versions: 12

Compression:

Stored size: 749 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

12 entries across 12 versions & 1 rubygems

Version Path
olelo-0.9.15 plugins/tags/tabs.rb
olelo-0.9.14 plugins/tags/tabs.rb
olelo-0.9.13 plugins/tags/tabs.rb
olelo-0.9.12 plugins/tags/tabs.rb
olelo-0.9.11 plugins/tags/tabs.rb
olelo-0.9.10 plugins/tags/tabs.rb
olelo-0.9.9 plugins/tags/tabs.rb
olelo-0.9.8 plugins/tags/tabs.rb
olelo-0.9.7 plugins/tags/tabs.rb
olelo-0.9.6 plugins/tags/tabs.rb
olelo-0.9.5 plugins/tags/tabs.rb
olelo-0.9.4 plugins/tags/tabs.rb