{"id":441,"date":"2006-07-05T10:25:03","date_gmt":"2006-07-05T10:25:03","guid":{"rendered":"http:\/\/www.nargalzius.com\/blog2\/http:\/www.nargalzius.com\/blog2\/archives\/2006\/07\/2006_07_05_1825.php"},"modified":"2017-02-10T02:23:22","modified_gmt":"2017-02-10T02:23:22","slug":"flickr-ized","status":"publish","type":"post","link":"http:\/\/nargalzius.com\/blog\/archives\/2006\/07\/05\/flickr-ized","title":{"rendered":"Flickr-ized"},"content":{"rendered":"<p>I decided to maximize the use of <a href=\"http:\/\/www.flickr.com\" title=\"Visit Flickr\">Flickr<\/a> as an image repository <em>specifically<\/em> for my blog. While it would be nice to just move the entire <a href=\"http:\/\/www.nargalzius.com\/gallery\" title=\"Visit gallery\">gallery<\/a> to Flickr, I really don&#8217;t like the idea of not being able to skin it (and that the gallery&#8217;s <code>URL<\/code> will be outside of my domain). I&#8217;m not sure if they have an API released that allows a fully blown gallery to be created outside of their servers, but for now it&#8217;s not an option for me.<\/p>\n<p>I finally finished editing each and every entry to fix the broken image links after I moved everything to <a href=\"http:\/\/www.flickr.com\" title=\"Visit Flickr\">Flickr<\/a>. And while modifying the posts, I realized some things that may be useful in case you guys didn&#8217;t know it yet. One cool thing about <a href=\"http:\/\/www.flickr.com\" title=\"Visit Flickr\">Flickr<\/a> is that stores its images <em>statically,<\/em> which allows you to do some <strong>legitimate<\/strong> hotlinking to [your] images in the Flickr server from virtually anywhere.<\/p>\n<p>The drawback was that you had to do a decent amount of clicking before you can get to the &#8220;static URL&#8221; field of the file&#8230; at least that&#8217;s what I experienced until now. This post is just a discussion on how to access and use those static URLs quickly and efficiently for your hotlinking needs.<!--more--><a href=\"http:\/\/www.flickr.com\" title=\"Visit Flickr\">flickr<\/a>: <a href=\"http:\/\/www.flickr.com\">http:\/\/www.flickr.com<\/a> &#8220;Visit Flickr&#8221;<\/p>\n<p>One of the things I love about <a href=\"http:\/\/www.flickr.com\" title=\"Visit Flickr\">Flickr<\/a> is their whole &#8220;notes&#8221; feature. The reason why I now have live links to most if not all pictures in the blog, is <em>just in case<\/em> there are notes attached to the images. An example would be <em>all<\/em> images of the <a href=\"http:\/\/www.nargalzius.com\/blog\/archives\/2006\/07\/2006_07_03_1813.php\" title=\"View post\">previous post<\/a>, which by themselves aren&#8217;t large to begin with. Embedding them at full resolution would still fit the blog page nicely, but I still choose to link outside because of the notes. Having established that need of mine, I believe no further explanation is needed as to <em>why<\/em> I chose this method.<\/p>\n<h1>Breaking the Code<\/h1>\n<p>Let&#8217;s take this image for example:\n<a href=\"http:\/\/www.flickr.com\/photos\/nargalzius\/180358328\" title=\"You may click on the image for more details in Flickr\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/static.flickr.com\/75\/180358328_1b4b1958ba_m.jpg\" \/><\/a><\/p>\n<p>The anchor tag redirects to <code>http:\/\/www.flickr.com\/photos\/<\/code><strong>nargalzius<\/strong><code>\/<\/code><strong>180358328<\/strong> &#8211; which is the link to the image&#8217;s &#8220;official&#8221; Flickr page. This <code>URL<\/code> is very useful because if there&#8217;s one thing I love about Flickr, it&#8217;s the whole &#8220;notes&#8221; feature they have.<\/p>\n<p>So just by that we know that you can actually have an absolute-ish URL fragment of <code>http:\/\/www.flickr.com\/photos\/nargalzius\/<\/code> for <em>all<\/em> your images. So start creating your template from there.<\/p>\n<p>Next we have the actual <code>IMG<\/code> link, which surprise surprise! &#8211; is different from the <a href=\"http:\/\/www.flickr.com\" title=\"Visit Flickr\">Flickr<\/a> pages you&#8217;re viewing them from. For the image above we have <code>http:\/\/static.flickr.com\/75\/<\/code><strong>180358328<\/strong><code>_1b4b1958ba_<\/code><strong>m<\/strong><code>.jpg<\/code><\/p>\n<p>We now see familiar things such as the actual image ID (180358328). If you&#8217;ll look at the letter <em>after<\/em> that random hash-thingie, you can try experimenting with it and find out that:<\/p>\n<p><code>http:\/\/static.flickr.com\/75\/180358328_1b4b1958ba_<\/code><strong>t<\/strong><code>.jpg<\/code>\ngive&#8217;s you this:<\/p>\n<img decoding=\"async\" alt=\"\" src=\"http:\/\/static.flickr.com\/75\/180358328_1b4b1958ba_t.jpg\" \/>\n<p>which is a thumbnail similar to when you upload files.<\/p>\n<p><code>http:\/\/static.flickr.com\/75\/180358328_1b4b1958ba_<\/code><strong>s<\/strong><code>.jpg<\/code>\ngive&#8217;s you this:<\/p>\n<img decoding=\"async\" alt=\"\" src=\"http:\/\/static.flickr.com\/75\/180358328_1b4b1958ba_s.jpg\" \/>\n<p>which is the default square thumbnail (I didn&#8217;t remove the default <code>img<\/code> borders to make the square crop obvious)<\/p>\n<p><code>http:\/\/static.flickr.com\/75\/180358328_1b4b1958ba_<\/code><strong>m<\/strong><code>.jpg<\/code>\ngive&#8217;s you this:<\/p>\n<img decoding=\"async\" alt=\"\" src=\"http:\/\/static.flickr.com\/75\/180358328_1b4b1958ba_m.jpg\" \/>\n<p>incidentally, you&#8217;d think stands for &#8220;medium&#8221; which it probably does, but it&#8217;s actually the <em>small<\/em> version of the file.<\/p>\n<p><code>http:\/\/static.flickr.com\/75\/180358328_1b4b1958ba.jpg<\/code>\ngive&#8217;s you this:<\/p>\n<img decoding=\"async\" alt=\"\" src=\"http:\/\/static.flickr.com\/75\/180358328_1b4b1958ba.jpg\" \/>\n<p>this is the <em>medium<\/em> setting, also the default resolution when you see the image&#8217;s <a href=\"http:\/\/www.flickr.com\" title=\"Visit Flickr\">Flickr<\/a> page which is why you don&#8217;t see any appended letter after the hash info.<\/p>\n<p><code>http:\/\/static.flickr.com\/75\/180358328_1b4b1958ba_<\/code><strong>o<\/strong><code>.<\/code><strong>gif<\/strong>\ngive&#8217;s you this:<\/p>\n<img decoding=\"async\" alt=\"\" src=\"http:\/\/static.flickr.com\/75\/180358328_1b4b1958ba_o.gif\" \/>\n<p>which is the <em>large\/original<\/em> setting.<\/p>\n<p>Which incidentally, are the different sizes available in <a href=\"http:\/\/www.flickr.com\" title=\"Visit Flickr\">Flickr<\/a>&#8216;s <a href=\"http:\/\/www.flickr.com\/photo_zoom.gne?id=180358328\" title=\"view Flickr page\">all sizes<\/a> page of the said image.<\/p>\n<p>Now you see the extension <strong>changed<\/strong> for the large setting of this particular file. The original file was a <code>GIF<\/code> file, and Flickr generates alternate views as JPEGs (<code>.jpg<\/code>). It&#8217;s also worth mentioning that the <em>medium\/default<\/em> and <em>large<\/em> settings are practically the same dimensions, it would depend on your image. If <a href=\"http:\/\/www.flickr.com\" title=\"Visit Flickr\">Flickr<\/a> detects that once the smaller variants are already below the threshold of a given dimension bracket (e.g. large, medium, etc.) then it will not resize the image any further. So in this case, the maximum resolution was already hit when viewing the <em>medium\/default<\/em> view, so it has the same dimensions as the <em>large<\/em> view.<\/p>\n<h1>What Now?<\/h1>\n<p>But again, I mentioned that to get to the actual <a href=\"http:\/\/www.flickr.com\/photo_zoom.gne?id=180358328\" title=\"view Flickr page\"><em>&#8220;all sizes&#8221;<\/em><\/a> page takes quite a few clicks <span class=\"footnote_referrer\"><a role=\"button\" tabindex=\"0\" onclick=\"footnote_moveToReference_441_1('footnote_plugin_reference_441_1_1');\" onkeypress=\"footnote_moveToReference_441_1('footnote_plugin_reference_441_1_1');\" ><sup id=\"footnote_plugin_tooltip_441_1_1\" class=\"footnote_plugin_tooltip_text\">1 <\/sup><\/a><span id=\"footnote_plugin_tooltip_text_441_1_1\" class=\"footnote_tooltip\">OK fine only one, but you know what I mean<\/span><\/span><script type=\"text\/javascript\"> jQuery('#footnote_plugin_tooltip_441_1_1').tooltip({ tip: '#footnote_plugin_tooltip_text_441_1_1', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top right', relative: true, offset: [10, 10], });<\/script> But the thing I found out was you didn&#8217;t really have to go to that page to get those URLs. You can practically access the URL from anywhere in <code>Flickr<\/code> because <em>all<\/em> variations of the image you see at any point <span class=\"footnote_referrer\"><a role=\"button\" tabindex=\"0\" onclick=\"footnote_moveToReference_441_1('footnote_plugin_reference_441_1_2');\" onkeypress=\"footnote_moveToReference_441_1('footnote_plugin_reference_441_1_2');\" ><sup id=\"footnote_plugin_tooltip_441_1_2\" class=\"footnote_plugin_tooltip_text\">2 <\/sup><\/a><span id=\"footnote_plugin_tooltip_text_441_1_2\" class=\"footnote_tooltip\">Except the flash slideshow I guess&#8230; and the previous-next applet.<\/span><\/span><script type=\"text\/javascript\"> jQuery('#footnote_plugin_tooltip_441_1_2').tooltip({ tip: '#footnote_plugin_tooltip_text_441_1_2', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top right', relative: true, offset: [10, 10], });<\/script> (search view, photostream, etc.) are taken from the same static file URLs just mentioned. So all you have to do is once you see your image, right click on it and select your browser&#8217;s option closest to <em>&#8220;save image location&#8221;<\/em> That will almost surely give you one of the 4 URLs mentioned above.<\/p>\n<p>How I do a rapid <a href=\"http:\/\/www.flickr.com\" title=\"Visit Flickr\">Flickr<\/a> image hotlink.<\/p>\n<p>First I made an anchor template for Ecto (called by a hotkey) which somewhat looks like this:<\/p>\n<p><a href=\"http:\/\/www.flickr.com\/photos\/nargalzius\/\" target=\"_blank\" title=\"You may click on the image for more details in Flickr\"><img decoding=\"async\" alt=\"\" src=\"\" \/><\/a><\/p>\n<p>As you can see, I left the image ID blank, and the whole <code>img src<\/code> blank as well. After that anchor code pops up from a hotkey stroke. I then go to <a href=\"http:\/\/www.flickr.com\" title=\"Visit Flickr\">Flickr<\/a>, do a search on my photos for the image I want (in case it&#8217;s not right in front of me already) and just right-click and copy the <strong>image location.<\/strong> I then post that onto the <code>src<\/code> field, adjust the letter if neccessary, then copy the image ID and append it into the <code>href<\/code> field. Then you get the live, linked image you see above.<\/p>\n<p>The only thing you probably have to pay attention to is whenever you plan to use the <code>_o<\/code> attribute, where you have to know what extension you uploaded with.<\/p><div class=\"speaker-mute footnotes_reference_container\"> <div class=\"footnote_container_prepare\"><p><span role=\"button\" tabindex=\"0\" class=\"footnote_reference_container_label pointer\" onclick=\"footnote_expand_collapse_reference_container_441_1();\">Notes<\/span><span role=\"button\" tabindex=\"0\" class=\"footnote_reference_container_collapse_button\" style=\"display: none;\" onclick=\"footnote_expand_collapse_reference_container_441_1();\">[<a id=\"footnote_reference_container_collapse_button_441_1\">+<\/a>]<\/span><\/p><\/div> <div id=\"footnote_references_container_441_1\" style=\"\"><table class=\"footnotes_table footnote-reference-container\"><caption class=\"accessibility\">Notes<\/caption> <tbody> \r\n\r\n<tr class=\"footnotes_plugin_reference_row\"> <th scope=\"row\" class=\"footnote_plugin_index_combi pointer\"  onclick=\"footnote_moveToAnchor_441_1('footnote_plugin_tooltip_441_1_1');\"><a id=\"footnote_plugin_reference_441_1_1\" class=\"footnote_backlink\"><span class=\"footnote_index_arrow\">&#8673;<\/span>1<\/a><\/th> <td class=\"footnote_plugin_text\">OK fine only one, but you know what I mean<\/td><\/tr>\r\n\r\n<tr class=\"footnotes_plugin_reference_row\"> <th scope=\"row\" class=\"footnote_plugin_index_combi pointer\"  onclick=\"footnote_moveToAnchor_441_1('footnote_plugin_tooltip_441_1_2');\"><a id=\"footnote_plugin_reference_441_1_2\" class=\"footnote_backlink\"><span class=\"footnote_index_arrow\">&#8673;<\/span>2<\/a><\/th> <td class=\"footnote_plugin_text\">Except the flash slideshow I guess&#8230; and the previous-next applet.<\/td><\/tr>\r\n\r\n <\/tbody> <\/table> <\/div><\/div><script type=\"text\/javascript\"> function footnote_expand_reference_container_441_1() { jQuery('#footnote_references_container_441_1').show(); jQuery('#footnote_reference_container_collapse_button_441_1').text('\u2212'); } function footnote_collapse_reference_container_441_1() { jQuery('#footnote_references_container_441_1').hide(); jQuery('#footnote_reference_container_collapse_button_441_1').text('+'); } function footnote_expand_collapse_reference_container_441_1() { if (jQuery('#footnote_references_container_441_1').is(':hidden')) { footnote_expand_reference_container_441_1(); } else { footnote_collapse_reference_container_441_1(); } } function footnote_moveToReference_441_1(p_str_TargetID) { footnote_expand_reference_container_441_1(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } } function footnote_moveToAnchor_441_1(p_str_TargetID) { footnote_expand_reference_container_441_1(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } }<\/script>","protected":false},"excerpt":{"rendered":"<p>: http:\/\/www.flickr.com &#8220;Visit Flickr&#8221; I decided to maximize the use of [Flickr][] as an image repository specifically for my blog. While it would be nice to just move the entire 1 to Flickr, I really don&#8217;t like the idea of not being able to skin it (and that the gallery&#8217;s URL will be outside of &hellip; <p class=\"link-more\"><a href=\"http:\/\/nargalzius.com\/blog\/archives\/2006\/07\/05\/flickr-ized\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Flickr-ized&#8221;<\/span><\/a><\/p><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[5,9,12],"tags":[441,582,595,810,817,905,909],"class_list":["post-441","post","type-post","status-publish","format-standard","hentry","category-internet","category-nargalzius","category-photography","tag-flickr","tag-images","tag-internet","tag-nargalzius","tag-nblog","tag-photoblog","tag-photography"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/posts\/441","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/comments?post=441"}],"version-history":[{"count":1,"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/posts\/441\/revisions"}],"predecessor-version":[{"id":1697,"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/posts\/441\/revisions\/1697"}],"wp:attachment":[{"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/media?parent=441"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/categories?post=441"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/tags?post=441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}