From 3e1814e0467387756da6304de08a102df30871fe Mon Sep 17 00:00:00 2001 From: Thomas Reynolds Date: Fri, 6 Jan 2012 00:01:24 -0800 Subject: [PATCH] make sure compass sprites get built and copied. closes #228 --- middleman-core/lib/middleman-core.rb | 4 ++-- middleman-core/lib/middleman-core/cli/build.rb | 10 ++++++++++ middleman-more/features/compass-sprites.feature | 4 ++++ .../fixtures/compass-sprites-app/config.rb | 0 .../source/images/icon/arrow_down.png | Bin 0 -> 379 bytes .../source/images/icon/arrow_left.png | Bin 0 -> 345 bytes .../source/images/icon/arrow_right.png | Bin 0 -> 349 bytes .../source/images/icon/arrow_up.png | Bin 0 -> 372 bytes .../source/stylesheets/site.css.scss | 3 +++ 9 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 middleman-more/features/compass-sprites.feature create mode 100644 middleman-more/fixtures/compass-sprites-app/config.rb create mode 100755 middleman-more/fixtures/compass-sprites-app/source/images/icon/arrow_down.png create mode 100755 middleman-more/fixtures/compass-sprites-app/source/images/icon/arrow_left.png create mode 100755 middleman-more/fixtures/compass-sprites-app/source/images/icon/arrow_right.png create mode 100755 middleman-more/fixtures/compass-sprites-app/source/images/icon/arrow_up.png create mode 100644 middleman-more/fixtures/compass-sprites-app/source/stylesheets/site.css.scss diff --git a/middleman-core/lib/middleman-core.rb b/middleman-core/lib/middleman-core.rb index 6666961b..8a145506 100755 --- a/middleman-core/lib/middleman-core.rb +++ b/middleman-core/lib/middleman-core.rb @@ -22,8 +22,8 @@ require "middleman-core/vendor/hooks-0.2.0/lib/hooks" module Middleman WINDOWS = !!(RUBY_PLATFORM =~ /(mingw|bccwin|wince|mswin32)/i) unless const_defined?(:WINDOWS) JRUBY = !!(RbConfig::CONFIG["RUBY_INSTALL_NAME"] =~ /^jruby/i) unless const_defined?(:JRUBY) - DARWIN = RbConfig::CONFIG['target_os'] =~ /darwin/i - LINUX = RbConfig::CONFIG['target_os'] =~ /linux/i + DARWIN = RbConfig::CONFIG['target_os'] =~ /darwin/i unless const_defined?(:DARWIN) + LINUX = RbConfig::CONFIG['target_os'] =~ /linux/i unless const_defined?(:LINUX) # Auto-load modules on-demand autoload :Base, "middleman-core/base" diff --git a/middleman-core/lib/middleman-core/cli/build.rb b/middleman-core/lib/middleman-core/cli/build.rb index 1cc766bc..d2b19b6a 100644 --- a/middleman-core/lib/middleman-core/cli/build.rb +++ b/middleman-core/lib/middleman-core/cli/build.rb @@ -102,6 +102,7 @@ module Middleman::Cli begin destination, request_path = self.class.shared_instance.reroute_builder(destination, request_path) + # $stderr.puts request_path response = self.class.shared_rack.get(request_path.gsub(/\s/, "%20")) create_file(destination, response.body, config) @@ -189,6 +190,15 @@ module Middleman::Cli def execute! # Sort order, images, fonts, js/css and finally everything else. sort_order = %w(.png .jpeg .jpg .gif .bmp .svg .svgz .ico .woff .otf .ttf .eot .js .css) + + @app.sitemap.all_paths.select do |p| + File.extname(p) == ".css" + end.each do |p| + Middleman::Cli::Build.shared_rack.get("/" + p.gsub(/\s/, "%20")) + end + + # Double-check for compass sprites + @app.files.reload_path(File.join(@app.source_dir, @app.images_dir)) # Sort paths to be built by the above order. This is primarily so Compass can # find files in the build folder when it needs to generate sprites for the diff --git a/middleman-more/features/compass-sprites.feature b/middleman-more/features/compass-sprites.feature new file mode 100644 index 00000000..e4c060a6 --- /dev/null +++ b/middleman-more/features/compass-sprites.feature @@ -0,0 +1,4 @@ +Feature: Compass sprites should be generated on build and copied + Scenario: Building a clean site with sprites + Given a successfully built app at "compass-sprites-app" + Then the output should contain "images/icon-" \ No newline at end of file diff --git a/middleman-more/fixtures/compass-sprites-app/config.rb b/middleman-more/fixtures/compass-sprites-app/config.rb new file mode 100644 index 00000000..e69de29b diff --git a/middleman-more/fixtures/compass-sprites-app/source/images/icon/arrow_down.png b/middleman-more/fixtures/compass-sprites-app/source/images/icon/arrow_down.png new file mode 100755 index 0000000000000000000000000000000000000000..2c4e279377bf348f9cf53894e76bb673ccf067bd GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGfsxnK#WBR<^wP=p-pqjl zN1h)M$rSCJvvpBZJ=Z}Gt&4h(zIV9p`r#-dee}Iz#Epm>oMnQ^ie=08S6lD?t+Vd( z?v|KswTJs>-Zl5^5&V26>FVJJOU09W3`%E6t?PR~+32p5=z+Tz<6b?;Sjx)a$Xr>6EXEGLlS|nYL>P+OpO`9nC}gnpw*?$;WMS<6knvT?L(jEk7oU^c1&-N| z7JQMPb9c_R*}ZBnxJ+GVY&cTi@b2r$<|m)7MCCOuTcCaEs)+U9vpK7`|FaMkD6-_2 z++TMrd4>3L6;8Il%QC*Nw_B-o`QX!c*|XNYoh@nCws`x)w;Ahwru$?){&w`(<{;_! j<@4J^XQkY;`p;yevi*3*-5uf#3=9mOu6{1-oD!M<7Qv!R literal 0 HcmV?d00001 diff --git a/middleman-more/fixtures/compass-sprites-app/source/images/icon/arrow_left.png b/middleman-more/fixtures/compass-sprites-app/source/images/icon/arrow_left.png new file mode 100755 index 0000000000000000000000000000000000000000..5dc696781e6135d37b5bf2e98e46fd94f020c48d GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGf#J2Mi(`nz>Eu8E|JyUG zHgq;R8JytJu$_34?Z|FV!v@yg`mgWj?>AZ^ae$+nb-`Kjqc>H){QL9s@P`k7o!jE= z>y7{XVm!28qK?UM#=pLV<|lez;!{%^v+OjFX{}p+VC|6)&+p5#N#v!>pi}DK=-A_2WU(nzopr0L@vM A0RR91 literal 0 HcmV?d00001 diff --git a/middleman-more/fixtures/compass-sprites-app/source/images/icon/arrow_right.png b/middleman-more/fixtures/compass-sprites-app/source/images/icon/arrow_right.png new file mode 100755 index 0000000000000000000000000000000000000000..b1a1819238c6de8f9e50988f4151261fa6ba64ea GIT binary patch literal 349 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGf#JQUi(`nz>Eu8E|JyUG zHgq;R864r^nDKPu?d(ay(l^=u{Q7wM+4Jx5;S-NaIBpE6QWBOCt^fZg^~dMm{D{lj~O;n04GIwr%8X(E$Setdmxe)#O|?Rs;w_AlVSbePHbq}PpU58vA_VEq5@ zz{mId>l=TVAAVo&@JC$jTl>S))7Mu;MP{k5_uZX(j%l;x5`lG+D_)pKe9UM0E3Wwc z_4oV<+VzKH8H&FBYp>pDCH*4ZV0L$Nw_{LH*Tb)?uk&orzq7ZX`kbwFg@gbz57$=R z2C+BnxBhUfh@AT*V#kI0uPgzd9T#Mm8YU&SJZEL#cz(eAZqAwu3=9kmp00i_>zopr E06PhqnE(I) literal 0 HcmV?d00001 diff --git a/middleman-more/fixtures/compass-sprites-app/source/images/icon/arrow_up.png b/middleman-more/fixtures/compass-sprites-app/source/images/icon/arrow_up.png new file mode 100755 index 0000000000000000000000000000000000000000..1ebb193243780b8eb1919a51ef27c2a0d36ccec2 GIT binary patch literal 372 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGfsxJA#WBR<^wP=p`YeGW zN6&AX*^-fNx=HY2mg*bzi5+e_(Oml`b@_NqTfu2ORimY&t*rgUp7Q^;Q`3^!^8Kp) z>nxw&yA#I2=xY*aerNwp%`*Mp;eic%U%%bG#dh}`wYm2mBt71C>blhWf(iUW!Mpt@ zpL_J@4AU8&{-?}wr>?83#aYFiUSZbQ#n+nZ=c1@KL1D(MIc%1%CM~`kFI=1epUS5Aq3{?mV-6hq_GL`TOyt@Q!C1uTY* zY_0u_Km6IWooA~g2+z>m^SFbh?||0X@&w0&^OPA+8A!}fVR|5W^CD*pt5%o&|3md( YSzin7N>cN?4GLEVPgg&ebxsLQ0RM`VV*mgE literal 0 HcmV?d00001 diff --git a/middleman-more/fixtures/compass-sprites-app/source/stylesheets/site.css.scss b/middleman-more/fixtures/compass-sprites-app/source/stylesheets/site.css.scss new file mode 100644 index 00000000..25a6f535 --- /dev/null +++ b/middleman-more/fixtures/compass-sprites-app/source/stylesheets/site.css.scss @@ -0,0 +1,3 @@ +@import "compass"; +@import "icon/*.png"; +@include all-icon-sprites; \ No newline at end of file