Class: TabBlock

Inherits:
Liquid::Block
  • Object
show all
Defined in:
lib/jekyll_bootstrap5_tabs.rb

Overview

Handles the inner tab %endtab % Liquid block for Bootstrap 5

Instance Method Summary collapse

Constructor Details

#initialize(tag, args, _) ⇒ TabBlock

Returns a new instance of TabBlock.

Raises:

  • (SyntaxError)


74
75
76
77
78
79
80
81
82
# File 'lib/jekyll_bootstrap5_tabs.rb', line 74

def initialize(tag, args, _)
  super

  @logger = PluginMetaLogger.instance.new_logger(self)

  @tabs_group, @tab = split_params(args.strip)
  @logger.debug { "TabBlock: @tabs_group = '#{@tabs_group}', @tab = '#{@tab}'" }
  raise SyntaxError, "Block #{tag} requires tabs name" if @tabs_group.empty? || @tab.empty?
end

Instance Method Details

#render(context) ⇒ Object



84
85
86
87
88
89
90
# File 'lib/jekyll_bootstrap5_tabs.rb', line 84

def render(context)
  content = super

  environment = context.environments.first # Has type Jekyll::Drops::UnifiedPayloadDrop
  environment["tabs-#{@tabs_group}"] ||= {}
  environment["tabs-#{@tabs_group}"][@tab] = content
end