diff --git a/commands/images.rb b/commands/images.rb index c8d9dad..987231f 100644 --- a/commands/images.rb +++ b/commands/images.rb @@ -4,24 +4,28 @@ usage 'images' summary 'prepares images' description 'Prepares images for uploads, i.e. strips them of metadata, compresses them and so on.' +required :s, :sites, 'sites' + module Nanoc::CLI::Commands class Images < ::Nanoc::CLI::CommandRunner def run - img_dir = "content/pigs" - exts = "{" + %w{jpg png gif}.join(",") + "}" - - # resize all large images - Dir["#{img_dir}/*.#{exts}"].select {|f| ImageSize.new(IO.read(f)).width > 400}.map do |img| - small_img = img.gsub /^(.+)\.(\w+)$/, '\1_small.\2' + sites_arg(options[:sites]).each do |site| + img_dir = "content_#{site}/pigs" + exts = "{" + %w{jpg png gif}.join(",") + "}" + + # resize all large images + Dir["#{img_dir}/*.#{exts}"].select {|f| ImageSize.new(IO.read(f)).width > 400}.map do |img| + small_img = img.gsub /^(.+)\.(\w+)$/, '\1_small.\2' - next if File.exists? small_img and File.mtime(small_img) >= File.mtime(img) + next if File.exists? small_img and File.mtime(small_img) >= File.mtime(img) - puts "resizing #{img}..." - system "convert -resize '400' #{img} #{small_img}" + puts "resizing #{img}..." + system "convert -resize '400' #{img} #{small_img}" + end + + # strip exif + system "exiftool -all= -overwrite_original #{img_dir}/*.#{exts}" end - - # strip exif - system "exiftool -all= -overwrite_original #{img_dir}/*.#{exts}" end end end diff --git a/commands/sites.rb b/commands/sites.rb index f76d177..21c8e46 100644 --- a/commands/sites.rb +++ b/commands/sites.rb @@ -44,11 +44,6 @@ module ::Nanoc } } - # only upload pigs for main site - unless $site == "muflax" - @config[:deploy][:default][:options] << "--exclude=pigs/" - end - @config[:watcher][:dirs_to_watch] << "content_#{site}" @config[:base_url] = self.url diff --git a/content/htaccess.erb b/content/htaccess.erb index 6d57ae8..a358d7a 100644 --- a/content/htaccess.erb +++ b/content/htaccess.erb @@ -12,11 +12,6 @@ RewriteEngine on # don't alienate people who use the old feed RewriteRule ^feed/? /rss.xml -<% unless @site.main_site? %> -# store pigs in central site -RewriteRule ^pigs/(.+)$ http://muflax.com/pigs/$1 [L] -<% end %> - # redirect old wordpress links <% @site.slug_items.each do |item| %>RewriteRule ^<%= item[:slug].chop %> <%= item.identifier%> <% end %> diff --git a/content/pigs/20100512after.gif b/content_blog/pigs/20100512after.gif similarity index 100% rename from content/pigs/20100512after.gif rename to content_blog/pigs/20100512after.gif diff --git a/content/pigs/35oj6n-199x300.jpg b/content_blog/pigs/35oj6n-199x300.jpg similarity index 100% rename from content/pigs/35oj6n-199x300.jpg rename to content_blog/pigs/35oj6n-199x300.jpg diff --git a/content/pigs/Gospers_glider_gun.gif b/content_blog/pigs/Gospers_glider_gun.gif similarity index 100% rename from content/pigs/Gospers_glider_gun.gif rename to content_blog/pigs/Gospers_glider_gun.gif diff --git a/content/pigs/JackandtheBeanstalk1974.jpg b/content_blog/pigs/JackandtheBeanstalk1974.jpg similarity index 100% rename from content/pigs/JackandtheBeanstalk1974.jpg rename to content_blog/pigs/JackandtheBeanstalk1974.jpg diff --git a/content/pigs/Turing_Machine_in_Golly.png b/content_blog/pigs/Turing_Machine_in_Golly.png similarity index 100% rename from content/pigs/Turing_Machine_in_Golly.png rename to content_blog/pigs/Turing_Machine_in_Golly.png diff --git a/content/pigs/Turing_Machine_in_Golly_small.png b/content_blog/pigs/Turing_Machine_in_Golly_small.png similarity index 100% rename from content/pigs/Turing_Machine_in_Golly_small.png rename to content_blog/pigs/Turing_Machine_in_Golly_small.png diff --git a/content/pigs/dark_kantian.png b/content_blog/pigs/dark_kantian.png similarity index 100% rename from content/pigs/dark_kantian.png rename to content_blog/pigs/dark_kantian.png diff --git a/content/pigs/dark_kantian_small.png b/content_blog/pigs/dark_kantian_small.png similarity index 100% rename from content/pigs/dark_kantian_small.png rename to content_blog/pigs/dark_kantian_small.png diff --git a/content/pigs/fume.png b/content_blog/pigs/fume.png similarity index 100% rename from content/pigs/fume.png rename to content_blog/pigs/fume.png diff --git a/content/pigs/fume_small.png b/content_blog/pigs/fume_small.png similarity index 100% rename from content/pigs/fume_small.png rename to content_blog/pigs/fume_small.png diff --git a/content/pigs/gol_1.png b/content_blog/pigs/gol_1.png similarity index 100% rename from content/pigs/gol_1.png rename to content_blog/pigs/gol_1.png diff --git a/content/pigs/gol_1_small.png b/content_blog/pigs/gol_1_small.png similarity index 100% rename from content/pigs/gol_1_small.png rename to content_blog/pigs/gol_1_small.png diff --git a/content/pigs/gol_2.png b/content_blog/pigs/gol_2.png similarity index 100% rename from content/pigs/gol_2.png rename to content_blog/pigs/gol_2.png diff --git a/content/pigs/gol_2_small.png b/content_blog/pigs/gol_2_small.png similarity index 100% rename from content/pigs/gol_2_small.png rename to content_blog/pigs/gol_2_small.png diff --git a/content/pigs/gol_3.png b/content_blog/pigs/gol_3.png similarity index 100% rename from content/pigs/gol_3.png rename to content_blog/pigs/gol_3.png diff --git a/content/pigs/gol_3_small.png b/content_blog/pigs/gol_3_small.png similarity index 100% rename from content/pigs/gol_3_small.png rename to content_blog/pigs/gol_3_small.png diff --git a/content/pigs/grief.jpg b/content_blog/pigs/grief.jpg similarity index 100% rename from content/pigs/grief.jpg rename to content_blog/pigs/grief.jpg diff --git a/content/pigs/hill1.png b/content_blog/pigs/hill1.png similarity index 100% rename from content/pigs/hill1.png rename to content_blog/pigs/hill1.png diff --git a/content/pigs/hill21.png b/content_blog/pigs/hill21.png similarity index 100% rename from content/pigs/hill21.png rename to content_blog/pigs/hill21.png diff --git a/content/pigs/hill22.png b/content_blog/pigs/hill22.png similarity index 100% rename from content/pigs/hill22.png rename to content_blog/pigs/hill22.png diff --git a/content/pigs/hours1.png b/content_blog/pigs/hours1.png similarity index 100% rename from content/pigs/hours1.png rename to content_blog/pigs/hours1.png diff --git a/content/pigs/hours1_small.png b/content_blog/pigs/hours1_small.png similarity index 100% rename from content/pigs/hours1_small.png rename to content_blog/pigs/hours1_small.png diff --git a/content/pigs/nlamnqf7jg.jpg b/content_blog/pigs/nlamnqf7jg.jpg similarity index 100% rename from content/pigs/nlamnqf7jg.jpg rename to content_blog/pigs/nlamnqf7jg.jpg diff --git a/content/pigs/nlamnqf7jg_small.jpg b/content_blog/pigs/nlamnqf7jg_small.jpg similarity index 100% rename from content/pigs/nlamnqf7jg_small.jpg rename to content_blog/pigs/nlamnqf7jg_small.jpg diff --git a/content/pigs/philip-enticknap-sonnenblumenfeld-umbrien.jpg b/content_blog/pigs/philip-enticknap-sonnenblumenfeld-umbrien.jpg similarity index 100% rename from content/pigs/philip-enticknap-sonnenblumenfeld-umbrien.jpg rename to content_blog/pigs/philip-enticknap-sonnenblumenfeld-umbrien.jpg diff --git a/content/pigs/philip-enticknap-sonnenblumenfeld-umbrien_small.jpg b/content_blog/pigs/philip-enticknap-sonnenblumenfeld-umbrien_small.jpg similarity index 100% rename from content/pigs/philip-enticknap-sonnenblumenfeld-umbrien_small.jpg rename to content_blog/pigs/philip-enticknap-sonnenblumenfeld-umbrien_small.jpg diff --git a/content/pigs/philo_engineers.jpg b/content_blog/pigs/philo_engineers.jpg similarity index 100% rename from content/pigs/philo_engineers.jpg rename to content_blog/pigs/philo_engineers.jpg diff --git a/content/pigs/pie_hole.jpg b/content_blog/pigs/pie_hole.jpg similarity index 100% rename from content/pigs/pie_hole.jpg rename to content_blog/pigs/pie_hole.jpg diff --git a/content/pigs/selection-2012-02-01153724.png b/content_blog/pigs/selection-2012-02-01153724.png similarity index 100% rename from content/pigs/selection-2012-02-01153724.png rename to content_blog/pigs/selection-2012-02-01153724.png diff --git a/content/pigs/selection-2012-02-01153724_small.png b/content_blog/pigs/selection-2012-02-01153724_small.png similarity index 100% rename from content/pigs/selection-2012-02-01153724_small.png rename to content_blog/pigs/selection-2012-02-01153724_small.png diff --git a/content/pigs/spaceballs.jpg b/content_blog/pigs/spaceballs.jpg similarity index 100% rename from content/pigs/spaceballs.jpg rename to content_blog/pigs/spaceballs.jpg diff --git a/content/pigs/spaceballs_small.jpg b/content_blog/pigs/spaceballs_small.jpg similarity index 100% rename from content/pigs/spaceballs_small.jpg rename to content_blog/pigs/spaceballs_small.jpg diff --git a/content/pigs/tumblr_ly1vbmddTG1rndvvro1_400.jpg b/content_blog/pigs/tumblr_ly1vbmddTG1rndvvro1_400.jpg similarity index 100% rename from content/pigs/tumblr_ly1vbmddTG1rndvvro1_400.jpg rename to content_blog/pigs/tumblr_ly1vbmddTG1rndvvro1_400.jpg diff --git a/content/pigs/twoface.jpg b/content_blog/pigs/twoface.jpg similarity index 100% rename from content/pigs/twoface.jpg rename to content_blog/pigs/twoface.jpg diff --git a/content/pigs/bayes.png b/content_daily/pigs/bayes.png similarity index 100% rename from content/pigs/bayes.png rename to content_daily/pigs/bayes.png diff --git a/content/pigs/chickendopamine.jpg b/content_daily/pigs/chickendopamine.jpg similarity index 100% rename from content/pigs/chickendopamine.jpg rename to content_daily/pigs/chickendopamine.jpg diff --git a/content/pigs/geeks-vs-nongeeks-repetitive-tasks.png b/content_daily/pigs/geeks-vs-nongeeks-repetitive-tasks.png similarity index 100% rename from content/pigs/geeks-vs-nongeeks-repetitive-tasks.png rename to content_daily/pigs/geeks-vs-nongeeks-repetitive-tasks.png diff --git a/content/pigs/geeks-vs-nongeeks-repetitive-tasks_small.png b/content_daily/pigs/geeks-vs-nongeeks-repetitive-tasks_small.png similarity index 100% rename from content/pigs/geeks-vs-nongeeks-repetitive-tasks_small.png rename to content_daily/pigs/geeks-vs-nongeeks-repetitive-tasks_small.png diff --git a/content/pigs/idea_man.jpg b/content_daily/pigs/idea_man.jpg similarity index 100% rename from content/pigs/idea_man.jpg rename to content_daily/pigs/idea_man.jpg diff --git a/content/pigs/maka_chop.jpg b/content_daily/pigs/maka_chop.jpg similarity index 100% rename from content/pigs/maka_chop.jpg rename to content_daily/pigs/maka_chop.jpg diff --git a/content/pigs/nothing.jpg b/content_daily/pigs/nothing.jpg similarity index 100% rename from content/pigs/nothing.jpg rename to content_daily/pigs/nothing.jpg diff --git a/content/pigs/nothing_small.jpg b/content_daily/pigs/nothing_small.jpg similarity index 100% rename from content/pigs/nothing_small.jpg rename to content_daily/pigs/nothing_small.jpg diff --git a/content/pigs/problems.jpg b/content_daily/pigs/problems.jpg similarity index 100% rename from content/pigs/problems.jpg rename to content_daily/pigs/problems.jpg diff --git a/content/pigs/problems_small.jpg b/content_daily/pigs/problems_small.jpg similarity index 100% rename from content/pigs/problems_small.jpg rename to content_daily/pigs/problems_small.jpg diff --git a/content/pigs/real_progress.png b/content_daily/pigs/real_progress.png similarity index 100% rename from content/pigs/real_progress.png rename to content_daily/pigs/real_progress.png diff --git a/content/pigs/serious_man_map.jpg b/content_daily/pigs/serious_man_map.jpg similarity index 100% rename from content/pigs/serious_man_map.jpg rename to content_daily/pigs/serious_man_map.jpg diff --git a/content/pigs/LangtonsAnt.png b/content_muflax/pigs/LangtonsAnt.png similarity index 100% rename from content/pigs/LangtonsAnt.png rename to content_muflax/pigs/LangtonsAnt.png diff --git a/content/pigs/anatta.jpg b/content_muflax/pigs/anatta.jpg similarity index 100% rename from content/pigs/anatta.jpg rename to content_muflax/pigs/anatta.jpg diff --git a/content/pigs/backup.jpg b/content_muflax/pigs/backup.jpg similarity index 100% rename from content/pigs/backup.jpg rename to content_muflax/pigs/backup.jpg diff --git a/content/pigs/cat-lick-funny-stamp.jpg b/content_muflax/pigs/cat-lick-funny-stamp.jpg similarity index 100% rename from content/pigs/cat-lick-funny-stamp.jpg rename to content_muflax/pigs/cat-lick-funny-stamp.jpg diff --git a/content/pigs/cat-lick-funny-stamp_small.jpg b/content_muflax/pigs/cat-lick-funny-stamp_small.jpg similarity index 100% rename from content/pigs/cat-lick-funny-stamp_small.jpg rename to content_muflax/pigs/cat-lick-funny-stamp_small.jpg diff --git a/content/pigs/coffee_cat.jpg b/content_muflax/pigs/coffee_cat.jpg similarity index 100% rename from content/pigs/coffee_cat.jpg rename to content_muflax/pigs/coffee_cat.jpg diff --git a/content/pigs/coffee_cat_small.jpg b/content_muflax/pigs/coffee_cat_small.jpg similarity index 100% rename from content/pigs/coffee_cat_small.jpg rename to content_muflax/pigs/coffee_cat_small.jpg diff --git a/content/pigs/fast.gif b/content_muflax/pigs/fast.gif similarity index 100% rename from content/pigs/fast.gif rename to content_muflax/pigs/fast.gif diff --git a/content/pigs/fast_small.gif b/content_muflax/pigs/fast_small.gif similarity index 100% rename from content/pigs/fast_small.gif rename to content_muflax/pigs/fast_small.gif diff --git a/content/pigs/guru.png b/content_muflax/pigs/guru.png similarity index 100% rename from content/pigs/guru.png rename to content_muflax/pigs/guru.png diff --git a/content/pigs/likebeingdead.jpg b/content_muflax/pigs/likebeingdead.jpg similarity index 100% rename from content/pigs/likebeingdead.jpg rename to content_muflax/pigs/likebeingdead.jpg diff --git a/content/pigs/likebeingdead_small.jpg b/content_muflax/pigs/likebeingdead_small.jpg similarity index 100% rename from content/pigs/likebeingdead_small.jpg rename to content_muflax/pigs/likebeingdead_small.jpg diff --git a/content/pigs/logo.jpg b/content_muflax/pigs/logo.jpg similarity index 100% rename from content/pigs/logo.jpg rename to content_muflax/pigs/logo.jpg diff --git a/content/pigs/lolcats.jpg b/content_muflax/pigs/lolcats.jpg similarity index 100% rename from content/pigs/lolcats.jpg rename to content_muflax/pigs/lolcats.jpg diff --git a/content/pigs/lolcats_small.jpg b/content_muflax/pigs/lolcats_small.jpg similarity index 100% rename from content/pigs/lolcats_small.jpg rename to content_muflax/pigs/lolcats_small.jpg diff --git a/content/pigs/memetically_active.jpg b/content_muflax/pigs/memetically_active.jpg similarity index 100% rename from content/pigs/memetically_active.jpg rename to content_muflax/pigs/memetically_active.jpg diff --git a/content/pigs/mindkiller.png b/content_muflax/pigs/mindkiller.png similarity index 100% rename from content/pigs/mindkiller.png rename to content_muflax/pigs/mindkiller.png diff --git a/content/pigs/parrot.jpg b/content_muflax/pigs/parrot.jpg similarity index 100% rename from content/pigs/parrot.jpg rename to content_muflax/pigs/parrot.jpg diff --git a/content/pigs/parrot_small.jpg b/content_muflax/pigs/parrot_small.jpg similarity index 100% rename from content/pigs/parrot_small.jpg rename to content_muflax/pigs/parrot_small.jpg diff --git a/content/pigs/pie.jpg b/content_muflax/pigs/pie.jpg similarity index 100% rename from content/pigs/pie.jpg rename to content_muflax/pigs/pie.jpg diff --git a/content/pigs/prodeath.jpg b/content_muflax/pigs/prodeath.jpg similarity index 100% rename from content/pigs/prodeath.jpg rename to content_muflax/pigs/prodeath.jpg diff --git a/content/pigs/prodeath_small.jpg b/content_muflax/pigs/prodeath_small.jpg similarity index 100% rename from content/pigs/prodeath_small.jpg rename to content_muflax/pigs/prodeath_small.jpg diff --git a/content/pigs/rorschach.jpg b/content_muflax/pigs/rorschach.jpg similarity index 100% rename from content/pigs/rorschach.jpg rename to content_muflax/pigs/rorschach.jpg diff --git a/content/pigs/rorschach_small.jpg b/content_muflax/pigs/rorschach_small.jpg similarity index 100% rename from content/pigs/rorschach_small.jpg rename to content_muflax/pigs/rorschach_small.jpg diff --git a/content/pigs/selection-2012-01-24135028.png b/content_muflax/pigs/selection-2012-01-24135028.png similarity index 100% rename from content/pigs/selection-2012-01-24135028.png rename to content_muflax/pigs/selection-2012-01-24135028.png diff --git a/content/pigs/selection-2012-01-24135028_small.png b/content_muflax/pigs/selection-2012-01-24135028_small.png similarity index 100% rename from content/pigs/selection-2012-01-24135028_small.png rename to content_muflax/pigs/selection-2012-01-24135028_small.png diff --git a/content/pigs/slow.gif b/content_muflax/pigs/slow.gif similarity index 100% rename from content/pigs/slow.gif rename to content_muflax/pigs/slow.gif diff --git a/content/pigs/slow_small.gif b/content_muflax/pigs/slow_small.gif similarity index 100% rename from content/pigs/slow_small.gif rename to content_muflax/pigs/slow_small.gif diff --git a/content/pigs/tour1.jpg b/content_muflax/pigs/tour1.jpg similarity index 100% rename from content/pigs/tour1.jpg rename to content_muflax/pigs/tour1.jpg diff --git a/content/pigs/tour1_small.jpg b/content_muflax/pigs/tour1_small.jpg similarity index 100% rename from content/pigs/tour1_small.jpg rename to content_muflax/pigs/tour1_small.jpg diff --git a/content/pigs/tumblr_lv1atyRcpy1qj9k6oo1_500.png b/content_muflax/pigs/tumblr_lv1atyRcpy1qj9k6oo1_500.png similarity index 100% rename from content/pigs/tumblr_lv1atyRcpy1qj9k6oo1_500.png rename to content_muflax/pigs/tumblr_lv1atyRcpy1qj9k6oo1_500.png diff --git a/content/pigs/tumblr_lv1atyRcpy1qj9k6oo1_500_small.png b/content_muflax/pigs/tumblr_lv1atyRcpy1qj9k6oo1_500_small.png similarity index 100% rename from content/pigs/tumblr_lv1atyRcpy1qj9k6oo1_500_small.png rename to content_muflax/pigs/tumblr_lv1atyRcpy1qj9k6oo1_500_small.png diff --git a/lib/embed.rb b/lib/embed.rb index 135739c..16c6a65 100644 --- a/lib/embed.rb +++ b/lib/embed.rb @@ -1,17 +1,18 @@ require 'image_size' +require 'set' def image(name, title="", link=nil) # all images are stored at content/pigs and only the main site routes them ret = "" # read image size - img = ImageSize.new IO.read("content/pigs/#{name}") - + img = ImageSize.new IO.read("content_#{$site}/pigs/#{name}") + # if it's too large, redirect to smaller version (which is generated with 'nanoc images') if img.width > 400 and not name.end_with? ".gif" link = "/pigs/#{name}" if link.nil? # link to big version name.gsub! /^(.+)\.(\w+)$/, '\1_small.\2' - img = ImageSize.new IO.read("content/pigs/#{name}") # re-read image + img = ImageSize.new IO.read("content_#{$site}/pigs/#{name}") # re-read image end ret += "" unless link.nil?