cloudhead
7a2ce13712
better cross-environment handling. stub out require() in browser.
2010-06-15 18:44:59 -04:00
cloudhead
92db519390
(dist) wrap script in anonymous function
2010-06-15 18:05:03 -04:00
cloudhead
8f2131f339
(dist) version bump
2010-06-15 14:52:52 -04:00
cloudhead
2755abb0cc
fix/refactor ajax in firefox [browser]
2010-06-15 14:52:17 -04:00
cloudhead
f8f2b8f61c
use isFileProtocol variable for dryness
2010-06-15 14:51:48 -04:00
cloudhead
24c3b9cbbf
abstract localStorage a little
2010-06-15 03:52:25 -04:00
cloudhead
daaa2bc4dd
(dist) version bump
2010-06-15 02:36:55 -04:00
cloudhead
bb1bfb2b26
update error messages if new error [browser]
2010-06-15 02:35:52 -04:00
cloudhead
b5a86f3d79
don't replace style text if equal to new one [browser]
2010-06-15 02:17:29 -04:00
cloudhead
a3ac5f24aa
don't give style tags a 'title' attribute, it screws things up. [browser]
2010-06-15 02:16:55 -04:00
cloudhead
66d29e2dd6
make error messages work with multiple stylesheets
2010-06-15 02:12:30 -04:00
cloudhead
773469d5b4
(api) less.refresh [browser]
2010-06-15 02:11:35 -04:00
cloudhead
4835eacdf4
use : in ids, - isn't authorized as first character. use firstChild instead of childNodes[0]
2010-06-15 01:17:35 -04:00
cloudhead
4a74c0049b
various improvements to browser.js
2010-06-15 00:56:37 -04:00
cloudhead
d7ce0d973d
set optimization level depending on less.env
2010-06-14 21:43:34 -04:00
cloudhead
c8a7ce9bd5
cleanup browser.js, make ajax synch by default, with option to turn off
2010-06-14 21:30:56 -04:00
cloudhead
cacba8e311
cleanup browser.js
2010-06-14 21:20:04 -04:00
cloudhead
e3888bfdd2
don't use a timer to load the stylesheets, or the body starts loading too early
2010-06-14 21:19:39 -04:00
cloudhead
639a5dd3d6
use two fields for cache, so we don't need to parse JSON
2010-06-14 21:08:11 -04:00
cloudhead
77f82601aa
(api) custom port == development mode
2010-06-14 21:07:38 -04:00
cloudhead
0477f14dde
better error handling
2010-06-11 21:46:24 -04:00
cloudhead
4bb64a2753
(new) css compression support
2010-06-11 21:45:51 -04:00
cloudhead
d369a658ff
(dist) fuck I always forget to update this version number
2010-06-11 18:33:49 -04:00
cloudhead
a386380afb
refactored and fixed css node creation, for watch mode
2010-06-11 18:18:40 -04:00
cloudhead
09fc69b654
(new) set watch mode with less.watch() and .unwatch()
2010-06-11 18:17:35 -04:00
cloudhead
03e94d2860
fix trying to create CSS from null root [browser]
2010-06-09 21:55:32 -04:00
cloudhead
183f285f24
(new) ability to @import on the browser
2010-06-07 18:20:13 -04:00
cloudhead
277c45eb5e
move error message css back in error function
2010-06-07 16:26:22 -04:00
cloudhead
7a36ffd877
fix generated stylesheet title
2010-06-07 16:12:59 -04:00
cloudhead
4c27e0a9bb
decoupled single stylesheet loading
2010-06-07 16:12:25 -04:00
cloudhead
85d50c84da
Better error messages, wrap browser.js.
2010-06-07 15:47:41 -04:00
cloudhead
621b13d11d
(new) auto stylesheet refreshing with '#!refresh'
2010-06-06 18:23:55 -04:00
cloudhead
6a5354579b
improve error reporting, include filename
2010-06-04 13:28:38 -04:00
cloudhead
63bcaf5414
fix error messages in cli
2010-06-04 12:34:41 -04:00
cloudhead
2487dbcec0
revert chunk split improvement
2010-06-04 12:27:25 -04:00
James Foster
bb2d359e78
Fixed incorrect inputLength. Avoid creating multiple empty chucks for consecutive blank lines.
2010-06-05 00:13:26 +08:00
cloudhead
2894174213
tweaks to bin/lessc
2010-06-01 21:48:13 -04:00
cloudhead
040759c31e
better fix for parse-error reporting
2010-06-01 21:34:56 -04:00
cloudhead
3ef983712d
fix parse error reporting when at beginning of file
2010-06-01 21:28:42 -04:00
cloudhead
23a4d55d04
fix optimizations, and errors on multi-line comments
2010-06-01 21:21:59 -04:00
cloudhead
3b69642134
log error if no AJAX available
2010-05-23 12:52:23 -04:00
cloudhead
a4111ae63b
Merge branch 'master' of github.com:cloudhead/less.js
2010-05-23 12:50:36 -04:00
cloudhead
8ab4d0aac0
treat Directive like a Ruleset
2010-05-23 12:50:20 -04:00
James Foster
8a02f29050
Fix for IE6 compatibility
2010-05-24 00:17:12 +08:00
cloudhead
0075217391
removed unnecessary code in Ruleset#toCSS
2010-05-22 20:57:10 -04:00
cloudhead
697136961e
support CSS3 @media more fully
2010-05-22 18:24:37 -04:00
cloudhead
7a29d7fd67
support [0-9_] in CSS attribute names
2010-05-22 15:13:02 -04:00
cloudhead
fae02b0889
(minor) formatting
2010-05-18 21:16:44 -04:00
James Foster
101790db21
Fixes for IE7 compatibility
2010-05-19 08:52:49 +08:00
cloudhead
d501d9df7b
(minor) formatting
2010-05-18 19:51:24 -04:00
cloudhead
d552222a65
[#.] is not optional in a mixin call
2010-05-18 19:49:19 -04:00
cloudhead
944a7c2be9
removed wildcard parser
2010-05-18 19:12:41 -04:00
cloudhead
9e9c988f79
removed trailing comma, which breaks minification
2010-05-17 23:28:23 -04:00
cloudhead
410b34314e
fix querySelectorAll call
2010-05-17 23:09:12 -04:00
cloudhead
a9b47a026c
added ECMAScript 4 compatibility
2010-05-17 22:57:11 -04:00
cloudhead
a3f252b727
don't cache return values. %() plays nice with strings
2010-05-13 20:15:59 -04:00
cloudhead
b38f5325c9
Refactored some of the evaluation mechanisms
...
- Don't call `eval` from `toCSS`
- Every node responds to `eval`
2010-05-07 23:21:16 -04:00
cloudhead
8ed7d8c9b8
Evaluate arguments before passing them to mixin.
...
Closes #23
2010-05-07 00:41:09 -07:00
cloudhead
8ef8bfed8c
rename variables() to variable()
2010-05-07 00:40:21 -07:00
cloudhead
3c89d3b9bd
evaluate Values of length > 1 properly
2010-05-06 09:46:36 -07:00
cloudhead
94780c2f72
moved index.js to lib/less
2010-05-05 00:23:45 -04:00
cloudhead
7155f44f43
be more flexible, pattern matching
2010-05-04 20:37:06 -04:00
cloudhead
0ec53f74e0
make operations left-associative Closes #20
2010-05-03 14:25:12 -04:00
cloudhead
839da27353
fix timestamps not being compared properly, when loading a .less
2010-04-30 15:22:58 -04:00
cloudhead
861bc2972a
fix error styles
2010-04-30 15:09:36 -04:00
cloudhead
d9dd858160
fix for when css isn't available in local storage
2010-04-30 14:49:58 -04:00
cloudhead
1d9b95f9e6
Evaluate function calls properly.
...
- `fun(f())` is now possible
- Anonymous can take normal strings
- Tests for `%()`
2010-04-30 14:07:05 -04:00
cloudhead
30773f942f
New %
function, to perform string interpolation
2010-04-30 14:06:36 -04:00
cloudhead
0aaf715232
fixed selector attributes not parsing with a '-'
2010-04-28 17:29:22 -04:00
cloudhead
4347211270
use a timer to check when the dom is ready, before showing errors
2010-04-26 14:22:37 -04:00
cloudhead
210e2e1886
automatically set less.env in certain conditions
2010-04-26 14:22:18 -04:00
cloudhead
535a0301ba
Local Storage caching, and .less loading from disk
...
- .less files can now be loaded directly from disk
- nice error messages
- use HTML 5 storage to cache parsing
2010-04-25 19:42:49 -04:00
cloudhead
f6d1cf981e
Overhaul of the error system
...
The parse() function no longer assumes the command-line is the output
device. We use less.writeError in node.js.
2010-04-25 19:39:21 -04:00
cloudhead
8c762b9e26
Support for pattern-matching on mixin calls.
2010-04-25 00:09:40 -04:00
cloudhead
7555c09707
More accurate parse error messages
...
Because of the backtracking, we lose the previous point of failure.
The solution is to store the furthest point the parser has parsed to,
when backtracking, and using it when showing parse errors.
2010-04-25 00:06:45 -04:00
cloudhead
1c52d6ac4d
use a hash to store variables, fixes variable redifinition bug
2010-04-23 17:52:36 -04:00
cloudhead
1e6cbbf61d
fixed bug with passing variables to functions
2010-04-23 13:49:55 -04:00
cloudhead
6778f51fc3
Added a couple colour functions
...
saturate, desaturate, lighten, darken, greyscale.
2010-04-23 13:36:50 -04:00
cloudhead
f0942511bb
Fixed HSL
...
HSL colors weren't working properly. The values weren't being normalized
to {0, 1}.
2010-04-23 13:35:36 -04:00
cloudhead
7be2b22cfb
the e() LESS function
...
used to escape strings in values.
Added Anonymous node to handle things like this.
2010-04-22 19:42:02 -04:00
cloudhead
1b5452652a
refactored mixin.definition.eval
2010-04-22 13:47:01 -04:00
cloudhead
444401dc3c
Fixed mixin calls not working from dynamic mixins
...
Dynamic mixins aren't treated enough like Rulesets.
There is some code duplication which needs to be cleaned up,
ideally they should share a prototype.
2010-04-22 13:34:49 -04:00
cloudhead
23640fe116
Fix dynamic mixins with nested rules
...
Dynamic mixins with more than one level of nesting wouldn't work.
This is now fixed. Also refactored mixin.definition.eval a little.
2010-04-22 13:07:41 -04:00
cloudhead
ac7916aa87
Reorganized some of the parsing rule order
...
- Fix for "{" not parsing
- Use some backtracking when necessary,
it's prettier than crazy lookaheads.
2010-04-21 10:12:29 -04:00
cloudhead
03e669be21
less.js now works in firefox, safari and chrome
2010-04-01 22:37:59 -04:00
cloudhead
9a34a05555
@import with .css files no longer precompiles. This gives us some extra
...
flexibility.
2010-03-30 15:32:38 -04:00
cloudhead
1721e02ae7
We aren't using adapters anymore.
2010-03-29 22:56:07 -04:00
cloudhead
92bdf598c7
quote 'import' so it doesn't freak out
2010-03-29 22:24:33 -04:00
cloudhead
30bf1ff7f3
fix optimization option wrongly scoped
2010-03-29 22:13:36 -04:00
cloudhead
400427e47a
merge
2010-03-27 02:27:59 -04:00
cloudhead
24bba952c7
removed lib/ext, moved lib/less.js to /index.js, moved Array/find to tree.find
2010-03-27 02:26:55 -04:00
cloudhead
3a474c9bae
Created a compat.js file in build/, for browser compatiblity, moved trim() in
...
there. LESS builds to dist/ now.
2010-03-27 02:24:39 -04:00
cloudhead
41d701de1d
Doc for Call, Comments, Operation..
2010-03-23 18:33:17 -04:00
cloudhead
aad5ff6385
putting the operate function in operation.js, to facilitate access from browser code
2010-03-23 01:19:12 -04:00
cloudhead
a2133e4b78
functional browser based parsing + css node creation
2010-03-23 01:16:59 -04:00
cloudhead
3287a6ce2c
fix typo in browser.js
2010-03-22 23:24:05 -04:00
cloudhead
be5d1999e3
no need for context passing
2010-03-22 23:15:25 -04:00
cloudhead
edf68ec0aa
String/trim()
2010-03-22 23:13:47 -04:00
cloudhead
5977640040
optimization level is taken from env now
2010-03-22 23:13:24 -04:00
cloudhead
ca43e06db9
browser.js init -- very basic browser support - Makefile also builds for browser now
2010-03-22 23:12:58 -04:00
cloudhead
a349b9b3fb
added render() convenience method. Returns an EventEmitter if no callback was passed.
2010-03-22 21:34:05 -04:00
cloudhead
259a4ad451
refactored the import mechanism, added some doc
2010-03-22 20:59:49 -04:00
cloudhead
336b655e16
allow for passing a context of evaluation to the importer
2010-03-22 20:59:11 -04:00
cloudhead
94f81a5fe0
removed unnecessary require
2010-03-22 20:15:06 -04:00
cloudhead
3253afad27
asynchronous import functionality! All tests passing.
2010-03-21 19:18:47 -04:00
cloudhead
ef97105ce3
made parser reentrant for import support
2010-03-21 19:17:37 -04:00
cloudhead
80905fdc58
no need to pass starting values to toCSS() anymore
2010-03-19 20:14:35 -04:00
cloudhead
40f8671bcd
fix to undefined mixin error message
2010-03-19 19:46:37 -04:00
cloudhead
5ee3d47e11
operations.less now passes
2010-03-19 18:47:17 -04:00
cloudhead
10965a9034
allow for operations with no spaces, such as '4+5'
2010-03-19 18:46:42 -04:00
cloudhead
ef61aec5f1
refactored operand(), and take away parsing of -()
2010-03-19 18:05:36 -04:00
cloudhead
f973deec28
refactored rule() cause the closure slows things down too much for some reason
2010-03-19 17:56:43 -04:00
cloudhead
215ef05907
added import.js to less.js
2010-03-19 17:50:48 -04:00
cloudhead
53996b2364
parse() is now asynch, and uses a callback
2010-03-19 17:50:35 -04:00
cloudhead
5088fca537
import.js init
2010-03-18 18:44:03 -04:00
cloudhead
2c0dc223ce
Parse @import properly.
2010-03-18 18:13:02 -04:00
cloudhead
00273d452c
don't use process.mixin, it's deprecated
2010-03-18 16:42:25 -04:00
cloudhead
79a3b58fa8
fixed scope problem in parser
2010-03-18 14:49:10 -04:00
cloudhead
854f65f079
Refactored parsers.rule
2010-03-13 20:15:44 -05:00
cloudhead
61a7b2e9e7
Added lots more documentation to the parser
2010-03-13 20:14:44 -05:00
cloudhead
fe732e843c
refactor of module system. Things work properly now, and it's all much cleaner.
2010-03-13 03:34:48 -05:00
cloudhead
e0623094fa
part 2 of the comment pass
2010-03-12 15:03:05 -05:00
cloudhead
be11ab6b89
some eval functions for good measure
2010-03-11 15:36:50 -05:00
cloudhead
9c84b50d5b
we need to make sure we're not eating a '-' in the operation parsing, it fucks up our generation of functions which start with a -
2010-03-11 15:36:32 -05:00
cloudhead
8adac6569e
output directives properly
2010-03-11 15:35:23 -05:00
cloudhead
553aaecf6a
font property parsing, mainly the 'small/12px' part.
2010-03-11 15:34:57 -05:00
cloudhead
9c0fb7174e
Cache Selector/toCSS()
2010-03-09 23:58:05 -05:00
cloudhead
77b2a36059
Cache mixin lookups for a nice speed boost.
2010-03-09 23:56:49 -05:00
cloudhead
c4413facad
did some refactoring in the parser, so we don't need to pass variables
...
to the $() function anymore. We also don't need to pass arrays around.
2010-03-08 23:45:57 -05:00
cloudhead
acd46cf7c6
refactoring of prototypes
2010-03-07 23:38:10 -05:00
cloudhead
07837a83a7
refactored variable lookup
2010-03-07 23:33:26 -05:00
cloudhead
6228f4a6d2
cache ruleset lookup
2010-03-07 23:11:20 -05:00
cloudhead
a68a2fc6bf
cache variable lookup for a 20% speedup
2010-03-07 23:02:16 -05:00
cloudhead
be893c5993
support for nested rulesets inside dynamic mixins, with lexical scoping
2010-03-07 20:20:50 -05:00
cloudhead
d8838a01d0
eval() for Ruleset
2010-03-07 18:50:58 -05:00
cloudhead
7666c71b80
if something other than a Value was passed to the Rule constructor, wrap it in a Value
2010-03-07 18:50:31 -05:00
cloudhead
23775bda9b
implemented dynamic mixins
2010-03-07 18:49:54 -05:00
cloudhead
57013ebdf9
comments.js init
2010-03-06 17:54:11 -05:00
cloudhead
2b0853de81
comments, wooh!
2010-03-06 17:53:55 -05:00
cloudhead
808bd55a95
let us just assume that a rule which contains subrules is a ruleset
2010-03-06 17:34:08 -05:00
cloudhead
7b151447b1
peek() can take a string too now
2010-03-05 21:51:45 -05:00
cloudhead
289a775e83
simplified rule regex
2010-03-05 21:45:23 -05:00
cloudhead
b2d242ba39
some optimizations to make the parser run faster
2010-03-05 21:08:41 -05:00
cloudhead
d08c1fe559
basic directive css output
2010-03-05 19:23:39 -05:00
cloudhead
f0f425de33
move node/ -> tree/
2010-03-05 19:19:14 -05:00
cloudhead
287ecff0cf
added version number to less.js
2010-03-05 15:33:50 -05:00
cloudhead
0af5632531
renamed string to quoted, to match the node
2010-03-05 14:56:27 -05:00
cloudhead
cd5bddff99
when parsing a string, capture the content too
2010-03-05 14:55:21 -05:00
cloudhead
00279d8a06
in an operation, inherit the unit of either operand
2010-03-05 13:36:24 -05:00
cloudhead
74ec956602
just return self if trying to evaluate compound values, seeing as we use eval() for variable lookup/eval
2010-03-05 13:32:07 -05:00