diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/image_tag.rb | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/plugins/image_tag.rb b/plugins/image_tag.rb index 7be4003d..25a38df5 100644 --- a/plugins/image_tag.rb +++ b/plugins/image_tag.rb @@ -17,12 +17,20 @@ module Jekyll @img = nil @title = nil @class = '' + @width = '' + @height = '' def initialize(tag_name, markup, tokens) - if markup =~ /(\S.*\s+)?(https?:\/\/|\/)(\S+)(\s+.+)?/i - @class = $1 + if markup =~ /(\S.*\s+)?(https?:\/\/|\/)(\S+)(\s+\d+\s+\d+)?(\s+.+)?/i + @class = $1 || '' @img = $2 + $3 - @title = $4 + if $5 + @title = $5.strip + end + if $4 =~ /\s*(\d+)\s+(\d+)/ + @width = $1 + @height = $2 + end end super end @@ -30,9 +38,9 @@ module Jekyll def render(context) output = super if @img - "<img class='#{@class}' src='#{@img}' alt='#{@title}' title='#{@title}'>" + "<img class='#{@class}' src='#{@img}' width='#{@width}' height='#{@height}' alt='#{@title}' title='#{@title}'>" else - "Error processing input, expected syntax: {% img [class name(s)] /url/to/image [title text] %}" + "Error processing input, expected syntax: {% img [class name(s)] /url/to/image [width height] [title text] %}" end end end |