mirror of
https://github.com/less/less.js.git
synced 2026-05-01 03:00:22 -04:00
Merge branch 'normalized-urls' of https://github.com/rjgotten/less.js into 1.5.0-wip
Conflicts: test/css/static-urls/urls.css test/css/urls.css
This commit is contained in:
5
bower.json
Normal file
5
bower.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "less",
|
||||||
|
"version": "1.4.2",
|
||||||
|
"main": ["./lib/less/index"]
|
||||||
|
}
|
||||||
@@ -87,6 +87,33 @@
|
|||||||
return !/^(?:[a-z-]+:|\/)/.test(path);
|
return !/^(?:[a-z-]+:|\/)/.test(path);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
tree.evalEnv.prototype.normalizePath = function( path ) {
|
||||||
|
var
|
||||||
|
segments = path.split("/").reverse(),
|
||||||
|
segment;
|
||||||
|
|
||||||
|
path = [];
|
||||||
|
while (segments.length !== 0 ) {
|
||||||
|
segment = segments.pop();
|
||||||
|
switch( segment ) {
|
||||||
|
case ".":
|
||||||
|
break;
|
||||||
|
case "..":
|
||||||
|
if ((path.length === 0) || (path[path.length - 1] === "..")) {
|
||||||
|
path.push( segment );
|
||||||
|
} else {
|
||||||
|
path.pop();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
path.push( segment );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return path.join("/");
|
||||||
|
};
|
||||||
|
|
||||||
//todo - do the same for the toCSS env
|
//todo - do the same for the toCSS env
|
||||||
//tree.toCSSEnv = function (options) {
|
//tree.toCSSEnv = function (options) {
|
||||||
//};
|
//};
|
||||||
|
|||||||
@@ -73,13 +73,18 @@ tree.Import.prototype = {
|
|||||||
evalPath: function (env) {
|
evalPath: function (env) {
|
||||||
var path = this.path.eval(env);
|
var path = this.path.eval(env);
|
||||||
var rootpath = this.currentFileInfo && this.currentFileInfo.rootpath;
|
var rootpath = this.currentFileInfo && this.currentFileInfo.rootpath;
|
||||||
if (rootpath && !(path instanceof tree.URL)) {
|
|
||||||
var pathValue = path.value;
|
if (!(path instanceof tree.URL)) {
|
||||||
// Add the base path if the import is relative
|
if (rootpath) {
|
||||||
if (pathValue && env.isPathRelative(pathValue)) {
|
var pathValue = path.value;
|
||||||
path.value = rootpath + pathValue;
|
// Add the base path if the import is relative
|
||||||
|
if (pathValue && env.isPathRelative(pathValue)) {
|
||||||
|
path.value = rootpath + pathValue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
path.value = env.normalizePath(path.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
return path;
|
return path;
|
||||||
},
|
},
|
||||||
eval: function (env) {
|
eval: function (env) {
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ tree.URL.prototype = {
|
|||||||
val.value = rootpath + val.value;
|
val.value = rootpath + val.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val.value = ctx.normalizePath(val.value);
|
||||||
|
|
||||||
return new(tree.URL)(val, null);
|
return new(tree.URL)(val, null);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@import "folder (1)/../css/background.css";
|
@import "css/background.css";
|
||||||
@import "folder (1)/import-test-d.css";
|
@import "folder (1)/import-test-d.css";
|
||||||
@font-face {
|
@font-face {
|
||||||
src: url("/fonts/garamond-pro.ttf");
|
src: url("/fonts/garamond-pro.ttf");
|
||||||
@@ -30,11 +30,11 @@
|
|||||||
#logo {
|
#logo {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
background: url('folder (1)/../assets/logo.png');
|
background: url('assets/logo.png');
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: xecret;
|
font-family: xecret;
|
||||||
src: url('folder (1)/../assets/xecret.ttf');
|
src: url('assets/xecret.ttf');
|
||||||
}
|
}
|
||||||
#secret {
|
#secret {
|
||||||
font-family: xecret, sans-serif;
|
font-family: xecret, sans-serif;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@import "import/../css/background.css";
|
@import "css/background.css";
|
||||||
@import "import/import-test-d.css";
|
@import "import/import-test-d.css";
|
||||||
@import "file.css";
|
@import "file.css";
|
||||||
@font-face {
|
@font-face {
|
||||||
@@ -33,11 +33,11 @@
|
|||||||
#logo {
|
#logo {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
background: url('import/imports/../assets/logo.png');
|
background: url('import/assets/logo.png');
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: xecret;
|
font-family: xecret;
|
||||||
src: url('import/imports/../assets/xecret.ttf');
|
src: url('import/assets/xecret.ttf');
|
||||||
}
|
}
|
||||||
#secret {
|
#secret {
|
||||||
font-family: xecret, sans-serif;
|
font-family: xecret, sans-serif;
|
||||||
|
|||||||
Reference in New Issue
Block a user