I would like to use a gallery tag in Jekyll like this:
{% gallery columns="2" %}
../images/2013/12/image.png "This is one caption"
../images/2013/12/bli.png "Another caption"
../images/2014/01/bla.png
../images/2013/12/blup.png "The other one has no caption."
{% endgallery %}
which should give a gallery like this:
I've tried
module Jekyll
class GalleryTag < Liquid::Tag
def initialize(tag_name, text, tokens)
super
@text = text
@tokens = tokens
end
def render(context)
lines = @text.split("\n")
lines.strip!
rendered = '<ul class="gallery mw-gallery-traditional">'
lines.each do |line|
words = line.split(" ")
words.strip!
src, alt, *rest = words
rendered += '<li class="gallerybox" style="width: 155px">'
rendered += '<div style="width: 155px">'
rendered += '<div class="thumb" style="width: 150px;">'
rendered += '<div style="margin:21px auto;">'
rendered += '<a href="'+src+'" class="image">'
rendered += '<img src="'+src+'" alt="'+alt+'" width="120" height="108"/>'
rendered += '</a>'
rendered += '</div>'
rendered += '</div>'
rendered += '<div class="gallerytext">'+alt+'</div>'
rendered += '</div>'
rendered += '</li>'
end
rendered += "</div>"
return rendered
end
end
end
Liquid::Template.register_tag('gallery', Jekyll::GalleryTag)
But it doesn't work:
Liquid Exception: Unknown tag 'endgallery' in _posts/2013-03-10-abc.md
How can I generate a gallery tag like this?