improved minify, thanks Niphlod
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.0.9 (2012-09-17 16:22:24) stable
|
Version 2.0.9 (2012-09-17 21:25:01) stable
|
||||||
|
|||||||
@@ -24,9 +24,9 @@ def write_binary_file(filename,data):
|
|||||||
f.write(data)
|
f.write(data)
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
def fix_links(css,static_path):
|
def fix_links(css,static_path):
|
||||||
return css.replace('../',static_path+'/')
|
return css.replace('../',static_path+'../')
|
||||||
|
|
||||||
def minify(files, path_info, folder, optimize_css, optimize_js,
|
def minify(files, path_info, folder, optimize_css, optimize_js,
|
||||||
ignore_concat = [],
|
ignore_concat = [],
|
||||||
ignore_minify = ['/jquery.js', '/anytime.js']):
|
ignore_minify = ['/jquery.js', '/anytime.js']):
|
||||||
@@ -69,8 +69,19 @@ def minify(files, path_info, folder, optimize_css, optimize_js,
|
|||||||
|
|
||||||
if filename.lower().endswith('.css'):
|
if filename.lower().endswith('.css'):
|
||||||
processed.append(filename)
|
processed.append(filename)
|
||||||
|
spath_info, sfilename = path_info.split('/'), filename.split('/')
|
||||||
|
u = 0
|
||||||
|
for i,a in enumerate(sfilename):
|
||||||
|
try:
|
||||||
|
if a != spath_info[i]:
|
||||||
|
u = i
|
||||||
|
break
|
||||||
|
except:
|
||||||
|
pass
|
||||||
if concat_css:
|
if concat_css:
|
||||||
contents = read_binary_file(abs_filename)
|
contents = read_binary_file(abs_filename)
|
||||||
|
replacement = '../'*len(spath_info[u:]) + '/'.join(sfilename[u:-1]) + '/'
|
||||||
|
contents = fix_links(contents, replacement)
|
||||||
if minify_css:
|
if minify_css:
|
||||||
css.append(cssmin.cssmin(contents))
|
css.append(cssmin.cssmin(contents))
|
||||||
else:
|
else:
|
||||||
@@ -91,9 +102,7 @@ def minify(files, path_info, folder, optimize_css, optimize_js,
|
|||||||
dest_key = hashlib.md5(repr(processed)).hexdigest()
|
dest_key = hashlib.md5(repr(processed)).hexdigest()
|
||||||
if css and concat_css:
|
if css and concat_css:
|
||||||
css = '\n\n'.join(contents for contents in css)
|
css = '\n\n'.join(contents for contents in css)
|
||||||
if inline_css:
|
if not inline_css:
|
||||||
css = ('css:inline',fix_links(css,static_path))
|
|
||||||
else:
|
|
||||||
temppath = os.path.join(folder,'static',temp)
|
temppath = os.path.join(folder,'static',temp)
|
||||||
if not os.path.exists(temppath): os.mkdir(temppath)
|
if not os.path.exists(temppath): os.mkdir(temppath)
|
||||||
dest = "compressed_%s.css" % dest_key
|
dest = "compressed_%s.css" % dest_key
|
||||||
|
|||||||
Reference in New Issue
Block a user