class Jekyll::AttendeasePlugin::ScheduleWidgetTag

Public Instance Methods

render(context) click to toggle source
# File lib/jekyll/attendease_plugin/tags.rb, line 4
def render(context)
  schedule_data = ScheduleDataParser.new(context.registers[:site])
  base = File.join(context.registers[:site].config['attendease_source'])

  instances = schedule_data.sessions.inject([]) do |memo, s|
    s['instances'].each do |instance|
      instance['session'] = s
      memo << instance
    end
    memo
  end
  instances.sort!{|x,y| [x['time'], x['session']['name']] <=> [y['time'], y['session']['name']]}

  source_template_path = File.join(base, '_attendease', 'templates', 'schedule', 'widget.html')

  Liquid::Template.parse(File.read(source_template_path)).render('dates' => schedule_data.event['dates'], 'instances' => instances, 'filters' => schedule_data.filters)
end