Sha256: 9260851ab5d12a0de850cdccebf47597e64e4f3ca88cf1e78d30b5171420a327
Contents?: true
Size: 1.08 KB
Versions: 6
Compression:
Stored size: 1.08 KB
Contents
class Rad::TextUtils::ImageBox < Rad::TextUtils::Processor # !![img] => [![img_thumb]][img] def process markdown, env img_urls = {} markdown = markdown.gsub(/!!\[(.+?)\]/) do img_key = $1 || '' if url = markdown.scan(/\[#{img_key}\]:\s*([^\s]+)$/).first.try(:first) unless url =~ /\.[^\.]+\.[^\.]+$/ # image.png thumb_img_key = "#{img_key}_thumb" # building url with thumb (foo.png => foo.thumb.png) img_urls[thumb_img_key] = url.sub(/\.([^\.]+)$/){".thumb.#{$1}"} "[![][#{thumb_img_key}]][#{img_key}]" else # image.(icon|thumb|...).png img_key_full = "#{img_key}_full" # building url with thumb (foo.png => foo.thumb.png) img_urls[img_key_full] = url.sub(/\.([^\.]+)\.([^\.]+)$/){".#{$2}"} "[![][#{img_key}]][#{img_key_full}]" end else $& || '' end end unless img_urls.blank? markdown << "\n" markdown << img_urls.to_a.collect{|k, v| "[#{k}]: #{v}"}.join("\n") end call_next markdown, env end end
Version data entries
6 entries across 6 versions & 1 rubygems