Commit be54167b authored by Maxim Kadushkin's avatar Maxim Kadushkin

refactoring for css-embedded images

parent e63a24ce
......@@ -125,13 +125,13 @@
/**/
.background-ximage(@image, @image2x, @w: auto, @h: auto) {
background-image: e(%("url(%s)",@image));
background-image: data-uri(%("%s",@image));
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-resolution: 2dppx),
only screen and (min-resolution: 192dpi) {
background-image: e(%("url(%s)",@image2x));
background-image: data-uri(%("%s",@image2x));
background-size: @w @h;
}
}
......@@ -139,13 +139,13 @@
@common-controls-width: 100px;
.img-commonctrl,
.theme-colorpalette .color-transparent, .palette-color-ext .color-transparent, .dropdown-menu li .checked:before, .input-error:before {
background: e(%("url(%s)",'@{common-image-path}/@{common-controls}')) no-repeat;
background: data-uri(%("%s",'@{common-image-path}/@{common-controls}')) no-repeat;
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-resolution: 2dppx),
only screen and (min-resolution: 192dpi) {
background-image: e(%("url(%s)",'@{common-image-path}/@{common-controls2x}'));
background-image: data-uri(%("%s",'@{common-image-path}/@{common-controls2x}'));
background-size: @common-controls-width auto;
}
}
......@@ -153,13 +153,13 @@
@img-toolbarmenu-width: 60px;
.img-toolbarmenu
{
background: e(%("url(%s)",'@{app-image-path}/toolbar-menu.png')) no-repeat;
background: data-uri(%("%s",'@{app-image-path}/toolbar-menu.png')) no-repeat;
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-resolution: 2dppx),
only screen and (min-resolution: 192dpi) {
background-image: e(%("url(%s)",'@{app-image-path}/toolbar-menu@2x.png'));
background-image: data-uri(%("%s",'@{app-image-path}/toolbar-menu@2x.png'));
background-size: @img-toolbarmenu-width auto;
}
}
......@@ -167,13 +167,13 @@
@img-colorpicker-width: 205px;
.img-colorpicker,
.color-transparent, .hsb-colorpicker .empty-color:before {
background: e(%("url(%s)",'@{common-image-path}/hsbcolorpicker/hsb-colorpicker.png')) no-repeat;
background: data-uri(%("%s",'@{common-image-path}/hsbcolorpicker/hsb-colorpicker.png')) no-repeat;
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-resolution: 2dppx),
only screen and (min-resolution: 192dpi) {
background-image: e(%("url(%s)",'@{common-image-path}/hsbcolorpicker/hsb-colorpicker@2x.png'));
background-image: data-uri(%("%s",'@{common-image-path}/hsbcolorpicker/hsb-colorpicker@2x.png'));
background-size: @img-colorpicker-width auto;
}
}
\ No newline at end of file
......@@ -23,6 +23,6 @@
}
img, .image {
background: ~"url(@{common-image-path}/combo-border-size/BorderSize.png) no-repeat 0 0 #fff";
background: ~"url(@{common-image-const-path}/combo-border-size/BorderSize.png) no-repeat 0 0 #fff";
}
}
......@@ -28,7 +28,7 @@
}
.asc-loadmask-image {
background-image: ~"url(@{common-image-path}/load-mask/loading.gif)";
background-image: ~"url(@{common-image-const-path}/load-mask/loading.gif)";
height: 33px;
width: 33px;
float: left;
......
......@@ -5,8 +5,10 @@
// Paths
// -------------------------
@app-image-path: "resources/img";
@common-image-path: "../../common/main/resources/img";
@app-image-path: "../../resources/img"; // use for data-uri(...)
@common-image-path: "../../../../common/main/resources/img"; // use for data-uri(...)
@app-image-const-path: "../../resources/img"; // use for url(...)
@common-image-const-path: "../../../../common/main/resources/img"; // use for url(...)
// Grays
// -------------------------
......
......@@ -245,7 +245,7 @@
#id-toolbar-mnu-item-border-width {
.border-size-item {
background: ~"url(@{app-image-path}/toolbar/BorderSize.png) repeat-x scroll 0 0";
background: ~"url(@{app-image-const-path}/toolbar/BorderSize.png) repeat-x scroll 0 0";
width: 80px;
height: 20px;
margin-top: -3px;
......
......@@ -141,8 +141,10 @@ module.exports = function(grunt) {
production: {
options: {
compress: true,
ieCompat: false,
modifyVars: packageFile['main']['less']['vars'],
plugins: [
// new (require('less-plugin-clean-css'))()
new (require('less-plugin-clean-css'))()
]
},
files: {
......@@ -158,10 +160,16 @@ module.exports = function(grunt) {
},
replace: {
fixLessUrl: {
src: ['<%= pkg.main.less.files.dest %>'],
writeVersion: {
src: ['<%= pkg.api.copy.script.dest %>' + '/documents/api.js'],
overwrite: true,
replacements: packageFile['main']['less']['replacements']
replacements: [{
from: /(\#{2}BN\#)/,
to: function(matchedWord, index, fullText, regexMatches) {
// return content.replace(/(\#{2}BN\#)/, "." + (process.env['BUILD_NUMBER'] || packageFile.build));
return "." + (process.env['BUILD_NUMBER'] || packageFile.build);
}
}]
}
},
......@@ -207,52 +215,6 @@ module.exports = function(grunt) {
});
});
grunt.registerTask('lessPostFix', function(){
if (packageFile.main.less.embedImages) {
grunt.config('replace.urlToUri', {
src: ['<%= pkg.main.less.files.dest %>'],
overwrite: true,
replacements: [{
from: /url\(\'?(?!data\:image)([^\)\'\"]+)\'?/g,
to: function(matchedWord, index, fullText, regexMatches) {
return 'data-uri(\'' + regexMatches + '\'';
}
},{
from: /filter\:\s?alpha\(opacity\s?=\s?[0-9]{1,3}\)\;/g,
to: ''
}]
});
grunt.config('less.uriPostfix', {
options: {
compress: true,
ieCompat: false
},
files: {
"<%= pkg.main.less.files.dest %>": "<%= pkg.main.less.files.dest %>"
}
});
grunt.config('clean.files', '<%= pkg.main.clean %>/resources/img');
grunt.task.run('replace:urlToUri', 'less:uriPostfix', 'clean');
}
grunt.config('replace.writeVersion', {
src: ['<%= pkg.api.copy.script.dest %>' + '/documents/api.js'],
overwrite: true,
replacements: [{
from: /(\#{2}BN\#)/,
to: function(matchedWord, index, fullText, regexMatches) {
// return content.replace(/(\#{2}BN\#)/, "." + (process.env['BUILD_NUMBER'] || packageFile.build));
return "." + (process.env['BUILD_NUMBER'] || packageFile.build);
}
}]
});
grunt.task.run('replace:writeVersion');
});
grunt.registerTask('mobile-app-init', function() {
grunt.initConfig({
pkg: grunt.file.readJSON(defaultConfig),
......@@ -385,7 +347,7 @@ module.exports = function(grunt) {
grunt.registerTask('deploy-jsrsasign', ['jsrsasign-init', 'clean', 'copy']);
grunt.registerTask('deploy-requirejs', ['requirejs-init', 'clean', 'uglify']);
grunt.registerTask('deploy-app-main', ['main-app-init', 'clean', 'less', 'replace:fixLessUrl', 'requirejs', 'concat', 'imagemin', 'copy', 'lessPostFix']);
grunt.registerTask('deploy-app-main', ['main-app-init', 'clean', 'imagemin', 'less', 'requirejs', 'concat', 'copy', 'replace:writeVersion']);
grunt.registerTask('deploy-app-mobile', ['mobile-app-init', 'clean', 'uglify', 'cssmin:styles', 'copy']);
grunt.registerTask('deploy-app-embed', ['embed-app-init', 'clean:prebuild', 'uglify', 'less', 'replace:fixLessUrl', 'copy', 'clean:postbuild']);
......
......@@ -147,21 +147,16 @@
}
},
"less": {
"embedImages": true,
"files": {
"src": "../apps/documenteditor/main/resources/less/app.less",
"dest": "../deploy/web-apps/apps/documenteditor/main/resources/css/app.css"
},
"replacements": [
{
"from": "../../common/main/resources/img/",
"to": "../img/"
},
{
"from": "resources/img/",
"to": "../img/"
}
]
"vars": {
"app-image-const-path": "'../img'",
"common-image-const-path": "'../img'",
"app-image-path": "'../../../../../deploy/web-apps/apps/documenteditor/main/resources/img'",
"common-image-path": "'../../../../../deploy/web-apps/apps/documenteditor/main/resources/img'"
}
},
"imagemin": {
"images-app": [
......
......@@ -151,21 +151,16 @@
}
},
"less": {
"embedImages": true,
"files": {
"src": "../apps/presentationeditor/main/resources/less/app.less",
"dest": "../deploy/web-apps/apps/presentationeditor/main/resources/css/app.css"
},
"replacements": [
{
"from": "../../common/main/resources/img/",
"to": "../img/"
},
{
"from": "resources/img/",
"to": "../img/"
}
]
"vars": {
"app-image-const-path": "'../img'",
"common-image-const-path": "'../img'",
"app-image-path": "'../../../../../deploy/web-apps/apps/presentationeditor/main/resources/img'",
"common-image-path": "'../../../../../deploy/web-apps/apps/presentationeditor/main/resources/img'"
}
},
"imagemin": {
"images-app": [
......
{
"name": "spreadsheeteditor",
"version": "4.7.0",
"build": 877,
"build": 878,
"homepage": "http://www.onlyoffice.com",
"private": true,
"sdk": {
......@@ -158,21 +158,16 @@
}
},
"less": {
"embedImages": true,
"files": {
"src": "../apps/spreadsheeteditor/main/resources/less/app.less",
"dest": "../deploy/web-apps/apps/spreadsheeteditor/main/resources/css/app.css"
},
"replacements": [
{
"from": "../../common/main/resources/img/",
"to": "../img/"
},
{
"from": "resources/img/",
"to": "../img/"
}
]
"vars": {
"app-image-const-path": "'../img'",
"common-image-const-path": "'../img'",
"app-image-path": "'../../../../../deploy/web-apps/apps/spreadsheeteditor/main/resources/img'",
"common-image-path": "'../../../../../deploy/web-apps/apps/spreadsheeteditor/main/resources/img'"
}
},
"imagemin": {
"images-app": [
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment