FEATURE: indicate and link to Flickr Album

FEATURE: indicate and link to Flickr Album

diff --git a/lib/onebox/engine/flickr_onebox.rb b/lib/onebox/engine/flickr_onebox.rb
index ea69d03..94c05a5 100644
--- a/lib/onebox/engine/flickr_onebox.rb
+++ b/lib/onebox/engine/flickr_onebox.rb
@@ -7,10 +7,47 @@ module Onebox
     class FlickrOnebox
       include Engine
       include StandardEmbed
-      include OpengraphImage
 
       matches_regexp(/^https?:\/\/www\.flickr\.com\/photos\//)
       always_https
+
+      def to_html
+        og = get_opengraph
+        return album_html(og) if og.url =~ /\/sets\//
+        return image_html(og) if !og.image.nil?
+        nil
+      end
+
+      private
+
+      def album_html(og)
+        escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
+        album_title = "[Album] #{og.title}"
+
+        <<-HTML
+            <div class='onebox flickr-album'>
+              <a href='#{escaped_url}' target='_blank'>
+                <span class='outer-box' style='max-width:#{og.image_width}px'>
+                  <span class='inner-box'>
+                    <span class='album-title'>#{album_title}</span>
+                  </span>
+                </span>
+                <img src='#{og.get_secure_image}' #{og.title_attr} height='#{og.image_height}' width='#{og.image_width}'>
+              </a>
+            </div>
+          HTML
+      end
+
+      def image_html(og)
+        escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
+
+        <<-HTML
+            <a href='#{escaped_url}' target='_blank' class="onebox">
+              <img src='#{og.get_secure_image}' #{og.title_attr} alt='Imgur' height='#{og.image_height}' width='#{og.image_width}'>
+            </a>
+          HTML
+      end
+
     end
   end
 end

GitHub sha: 078e82a1

1 Like