From 6f034e71fb53531a7cbdb6b2916f980f53b2401d Mon Sep 17 00:00:00 2001 From: Saivann Date: Tue, 22 Oct 2013 03:17:02 -0400 Subject: [PATCH] Use less to build all CSS files CSS file names are now updated when visitor's browser must reload them Allow files with .css extension to skip less compilation (IE6 invalid CSS syntax) --- _layouts/base.html | 6 +++--- {css => _less}/ie.css | 0 css/rtl.css => _less/rtl.less | 0 css/sans.css => _less/sans.less | 0 _plugins/less.rb | 13 +++++++++---- 5 files changed, 12 insertions(+), 7 deletions(-) rename {css => _less}/ie.css (100%) rename css/rtl.css => _less/rtl.less (100%) rename css/sans.css => _less/sans.less (100%) diff --git a/_layouts/base.html b/_layouts/base.html index 3417f2b2..8eb433b2 100644 --- a/_layouts/base.html +++ b/_layouts/base.html @@ -20,9 +20,9 @@ menu: {% capture title %}{% translate title %}{% endcapture %}{% if title != '' %}{{ title }}{% else %}{{ page.title }}{% endif %} {% lesscss main.less %} - -{% if page.lang == 'ar' or page.lang == 'fa' %}{% endif %} -{% if page.lang == 'pl' or page.lang == 'ru' or page.lang == 'zh_CN' or page.lang == 'zh_TW' %}{% endif %} + +{% if page.lang == 'ar' or page.lang == 'fa' %}{% lesscss rtl.less %}{% endif %} +{% if page.lang == 'pl' or page.lang == 'ru' or page.lang == 'zh_CN' or page.lang == 'zh_TW' %}{% lesscss sans.less %}{% endif %} diff --git a/css/ie.css b/_less/ie.css similarity index 100% rename from css/ie.css rename to _less/ie.css diff --git a/css/rtl.css b/_less/rtl.less similarity index 100% rename from css/rtl.css rename to _less/rtl.less diff --git a/css/sans.css b/_less/sans.less similarity index 100% rename from css/sans.css rename to _less/sans.less diff --git a/_plugins/less.rb b/_plugins/less.rb index cbf4c605..7fb778e0 100644 --- a/_plugins/less.rb +++ b/_plugins/less.rb @@ -30,10 +30,15 @@ module Jekyll Dir.chdir(less_dir) do choices = Dir['**/*'].reject { |x| File.symlink?(x) } if choices.include?(@file) - source = File.read(@file) - f = IO.popen("lessc -", "w+") - f.write(source) - f.close_write() + + if /\.css$/.match(@file) + f = file = File.new(@file, "r") + else + source = File.read(@file) + f = IO.popen("lessc -", "w+") + f.write(source) + f.close_write() + end css = f.readlines().join()