Sha256: f7d7e6c10759b6bcb1782e6f591b1cece8ee3b7a56b030012000f1a0e742918f

Contents?: true

Size: 368 Bytes

Versions: 4

Compression:

Stored size: 368 Bytes

Contents

description 'Tag which creates sorted list'

Tag.define :sort, :optional => %w(ordered descending) do |context, attrs, content|
  type = attrs['ordered'] == 'ordered' ? 'ol' : 'ul'
  order = attrs['descending'] == 'descending' ? -1 : 1
  %{<#{type}>#{content.strip.split(/\n/).sort {|a,b| (a <=> b) * order }.map {|x| "<li>#{escape_html x}</li>"}.join}</#{type}>}
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
olelo-0.9.3 plugins/tags/sort.rb
olelo-0.9.2 plugins/tags/sort.rb
olelo-0.9.1 plugins/tags/sort.rb
olelo-0.9.0 plugins/tags/sort.rb