Class: Jekyll::TimelineTag

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

Overview

Outer block tag

Instance Method Summary collapse

Constructor Details

#initialize(tag_name, markup, tokens) ⇒ TimelineTag

Returns a new instance of TimelineTag.



74
75
76
77
# File 'lib/jekyll/timeline_tag.rb', line 74

def initialize(tag_name, markup, tokens)
  super
  @attributes = Jekyll.parse_attrs(markup)
end

Instance Method Details

#render(context) ⇒ Object



79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/jekyll/timeline_tag.rb', line 79

def render(context)
  context.registers[:timeline_events] = []
  super

  events = context.registers[:timeline_events] || []
  order  = @attributes["order"] || "asc"
  events = events.reverse if order == "desc"

  # Clean up so nested timelines don't bleed
  context.registers[:timeline_events] = nil

  <<~HTML
    <div class="timeline">
      #{events.join("\n  ")}
    </div>
  HTML
end