stylus-source 0.23.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +5 -5
- data/VERSION +1 -1
- data/vendor/lib/functions/index.js +11 -12
- data/vendor/lib/functions/index.styl +45 -0
- data/vendor/lib/parser.js +13 -0
- data/vendor/lib/stylus.js +1 -1
- data/vendor/lib/visitor/evaluator.js +8 -0
- data/vendor/node_modules/cssom/Jakefile.js +35 -0
- data/vendor/node_modules/cssom/lib/CSSImportRule.js +10 -9
- data/vendor/node_modules/cssom/lib/CSSKeyframeRule.js +2 -0
- data/vendor/node_modules/cssom/lib/CSSKeyframesRule.js +2 -1
- data/vendor/node_modules/cssom/lib/CSSMediaRule.js +2 -1
- data/vendor/node_modules/cssom/lib/CSSRule.js +1 -0
- data/vendor/node_modules/cssom/lib/CSSStyleDeclaration.js +7 -5
- data/vendor/node_modules/cssom/lib/CSSStyleRule.js +11 -9
- data/vendor/node_modules/cssom/lib/CSSStyleSheet.js +4 -4
- data/vendor/node_modules/cssom/lib/MediaList.js +3 -3
- data/vendor/node_modules/cssom/lib/StyleSheet.js +3 -1
- data/vendor/node_modules/cssom/lib/clone.js +5 -5
- data/vendor/node_modules/cssom/lib/index.js +14 -12
- data/vendor/node_modules/cssom/lib/parse.js +48 -43
- data/vendor/node_modules/cssom/package.json +5 -4
- data/vendor/node_modules/debug/History.md +35 -0
- data/vendor/node_modules/debug/Makefile +5 -0
- data/vendor/node_modules/debug/Readme.md +128 -0
- data/vendor/node_modules/debug/debug.js +111 -0
- data/vendor/node_modules/debug/example/app.js +19 -0
- data/vendor/node_modules/debug/example/browser.html +24 -0
- data/vendor/node_modules/debug/example/wildcards.js +10 -0
- data/vendor/node_modules/debug/example/worker.js +22 -0
- data/vendor/node_modules/debug/index.js +2 -0
- data/vendor/node_modules/debug/lib/debug.js +129 -0
- data/vendor/node_modules/debug/package.json +11 -0
- data/vendor/node_modules/growl/History.md +21 -0
- data/vendor/node_modules/growl/Readme.md +29 -20
- data/vendor/node_modules/growl/lib/growl.js +113 -36
- data/vendor/node_modules/growl/package.json +1 -1
- data/vendor/node_modules/growl/test.js +12 -13
- data/vendor/node_modules/mkdirp/README.markdown +35 -2
- data/vendor/node_modules/mkdirp/examples/pow.js +1 -1
- data/vendor/node_modules/mkdirp/index.js +72 -13
- data/vendor/node_modules/mkdirp/package.json +2 -2
- data/vendor/node_modules/mkdirp/test/chmod.js +38 -0
- data/vendor/node_modules/mkdirp/test/clobber.js +37 -0
- data/vendor/node_modules/mkdirp/test/perm.js +32 -0
- data/vendor/node_modules/mkdirp/test/perm_sync.js +39 -0
- data/vendor/node_modules/mkdirp/test/sync.js +27 -0
- data/vendor/node_modules/mkdirp/test/umask.js +28 -0
- data/vendor/node_modules/mkdirp/test/umask_sync.js +27 -0
- data/vendor/package.json +6 -5
- data/vendor/testing/test.css +39 -0
- data/vendor/testing/test.html +21 -0
- data/vendor/testing/test.js +5 -3
- data/vendor/testing/test.styl +42 -2
- metadata +23 -542
- data/vendor/History.md +0 -672
- data/vendor/Makefile +0 -20
- data/vendor/Readme.md +0 -155
- data/vendor/docs/bifs.md +0 -598
- data/vendor/docs/comments.md +0 -35
- data/vendor/docs/compare.md +0 -81
- data/vendor/docs/conditionals.md +0 -107
- data/vendor/docs/css-style.md +0 -77
- data/vendor/docs/error-reporting.md +0 -50
- data/vendor/docs/escape.md +0 -28
- data/vendor/docs/executable.md +0 -163
- data/vendor/docs/extend.md +0 -123
- data/vendor/docs/firebug.md +0 -59
- data/vendor/docs/font-face.md +0 -26
- data/vendor/docs/functions.md +0 -197
- data/vendor/docs/functions.url.md +0 -32
- data/vendor/docs/gedit.md +0 -24
- data/vendor/docs/import.md +0 -75
- data/vendor/docs/interpolation.md +0 -55
- data/vendor/docs/introspection.md +0 -38
- data/vendor/docs/iteration.md +0 -102
- data/vendor/docs/js.md +0 -157
- data/vendor/docs/keyframes.md +0 -122
- data/vendor/docs/kwargs.md +0 -34
- data/vendor/docs/literal.md +0 -16
- data/vendor/docs/media.md +0 -18
- data/vendor/docs/middleware.md +0 -72
- data/vendor/docs/mixins.md +0 -138
- data/vendor/docs/operators.md +0 -470
- data/vendor/docs/selectors.md +0 -133
- data/vendor/docs/textmate.md +0 -4
- data/vendor/docs/vargs.md +0 -84
- data/vendor/docs/variables.md +0 -85
- data/vendor/editors/Stylus.tmbundle/Commands/Compile and Display CSS.tmCommand +0 -33
- data/vendor/editors/Stylus.tmbundle/Preferences/Comments.tmPreferences +0 -36
- data/vendor/editors/Stylus.tmbundle/Syntaxes/Stylus.tmLanguage +0 -228
- data/vendor/editors/Stylus.tmbundle/info.plist +0 -10
- data/vendor/editors/gedit/styl.lang +0 -475
- data/vendor/examples/arithmetic.js +0 -12
- data/vendor/examples/arithmetic.styl +0 -29
- data/vendor/examples/basic.js +0 -12
- data/vendor/examples/basic.styl +0 -8
- data/vendor/examples/builtins.js +0 -12
- data/vendor/examples/builtins.styl +0 -56
- data/vendor/examples/comments.js +0 -11
- data/vendor/examples/comments.styl +0 -15
- data/vendor/examples/compress.js +0 -12
- data/vendor/examples/conversions.js +0 -12
- data/vendor/examples/conversions.styl +0 -34
- data/vendor/examples/functions.js +0 -12
- data/vendor/examples/functions.styl +0 -30
- data/vendor/examples/gradients.js +0 -13
- data/vendor/examples/gradients.styl +0 -8
- data/vendor/examples/images/gopher.jpg +0 -0
- data/vendor/examples/images/gradient.svg +0 -9
- data/vendor/examples/images/jesus.gif +0 -0
- data/vendor/examples/images/sprite.gif +0 -0
- data/vendor/examples/images.js +0 -20
- data/vendor/examples/images.styl +0 -15
- data/vendor/examples/implicit-functions.js +0 -12
- data/vendor/examples/implicit-functions.styl +0 -23
- data/vendor/examples/import.js +0 -12
- data/vendor/examples/import.styl +0 -11
- data/vendor/examples/js-functions.js +0 -55
- data/vendor/examples/js-functions.styl +0 -23
- data/vendor/examples/literal.js +0 -12
- data/vendor/examples/literal.styl +0 -8
- data/vendor/examples/middleware.js +0 -23
- data/vendor/examples/mixins/box.styl +0 -14
- data/vendor/examples/mixins/gradients.styl +0 -92
- data/vendor/examples/nesting.js +0 -12
- data/vendor/examples/nesting.styl +0 -14
- data/vendor/examples/variables.js +0 -12
- data/vendor/examples/variables.styl +0 -24
- data/vendor/node_modules/cssom/Jakefile +0 -37
- data/vendor/node_modules/cssom/MIT-LICENSE.txt +0 -20
- data/vendor/node_modules/cssom/README.mdown +0 -34
- data/vendor/node_modules/cssom/Rakefile +0 -23
- data/vendor/node_modules/cssom/animation.html +0 -27
- data/vendor/node_modules/cssom/bench.html +0 -47
- data/vendor/node_modules/cssom/comments.js +0 -63
- data/vendor/node_modules/cssom/docs/bar.css +0 -3
- data/vendor/node_modules/cssom/docs/col_table.html +0 -15
- data/vendor/node_modules/cssom/docs/cols.html +0 -14
- data/vendor/node_modules/cssom/docs/cols_inline-blocks.html +0 -33
- data/vendor/node_modules/cssom/docs/demo.css +0 -0
- data/vendor/node_modules/cssom/docs/diff.html +0 -132
- data/vendor/node_modules/cssom/docs/foo.css +0 -4
- data/vendor/node_modules/cssom/docs/parse.html +0 -282
- data/vendor/node_modules/cssom/docs/parse.html_ +0 -268
- data/vendor/node_modules/cssom/docs/parse2.html +0 -518
- data/vendor/node_modules/cssom/docs/parser.html +0 -31
- data/vendor/node_modules/cssom/index.html +0 -100
- data/vendor/node_modules/cssom/lib/CSSOM.js +0 -3
- data/vendor/node_modules/cssom/lib/Parser.js +0 -362
- data/vendor/node_modules/cssom/media.html +0 -17
- data/vendor/node_modules/cssom/plugins/toHTML.js +0 -32
- data/vendor/node_modules/cssom/server/index.html +0 -22
- data/vendor/node_modules/cssom/server/index.js +0 -21
- data/vendor/node_modules/cssom/shorthands.html +0 -21
- data/vendor/node_modules/cssom/strings.html +0 -10
- data/vendor/node_modules/cssom/test/CSSImportRule.test.js +0 -52
- data/vendor/node_modules/cssom/test/CSSStyleDeclaration.test.js +0 -42
- data/vendor/node_modules/cssom/test/CSSStyleRule.test.js +0 -12
- data/vendor/node_modules/cssom/test/CSSStyleSheet.test.js +0 -16
- data/vendor/node_modules/cssom/test/MediaList.test.js +0 -21
- data/vendor/node_modules/cssom/test/_helper.js +0 -122
- data/vendor/node_modules/cssom/test/clone.test.js +0 -38
- data/vendor/node_modules/cssom/test/fixtures/dummy.css +0 -3
- data/vendor/node_modules/cssom/test/helper.js +0 -122
- data/vendor/node_modules/cssom/test/index.html +0 -45
- data/vendor/node_modules/cssom/test/parse.test.js +0 -718
- data/vendor/node_modules/cssom/test/vendor/qunit.css +0 -189
- data/vendor/node_modules/cssom/test/vendor/qunit.js +0 -1415
- data/vendor/test/cases/arithmetic.color.css +0 -44
- data/vendor/test/cases/arithmetic.color.styl +0 -48
- data/vendor/test/cases/arithmetic.css +0 -23
- data/vendor/test/cases/arithmetic.styl +0 -30
- data/vendor/test/cases/arithmetic.unary.css +0 -16
- data/vendor/test/cases/arithmetic.unary.styl +0 -16
- data/vendor/test/cases/atscope.css +0 -21
- data/vendor/test/cases/atscope.styl +0 -23
- data/vendor/test/cases/bifs.add-property.css +0 -21
- data/vendor/test/cases/bifs.add-property.styl +0 -48
- data/vendor/test/cases/bifs.components.css +0 -9
- data/vendor/test/cases/bifs.components.styl +0 -9
- data/vendor/test/cases/bifs.dark.css +0 -5
- data/vendor/test/cases/bifs.dark.styl +0 -4
- data/vendor/test/cases/bifs.darken.css +0 -8
- data/vendor/test/cases/bifs.darken.styl +0 -9
- data/vendor/test/cases/bifs.fade.css +0 -6
- data/vendor/test/cases/bifs.fade.styl +0 -6
- data/vendor/test/cases/bifs.image-size.css +0 -9
- data/vendor/test/cases/bifs.image-size.styl +0 -16
- data/vendor/test/cases/bifs.join.css +0 -18
- data/vendor/test/cases/bifs.join.styl +0 -21
- data/vendor/test/cases/bifs.keys.css +0 -4
- data/vendor/test/cases/bifs.keys.styl +0 -6
- data/vendor/test/cases/bifs.last.css +0 -5
- data/vendor/test/cases/bifs.last.styl +0 -6
- data/vendor/test/cases/bifs.length.css +0 -10
- data/vendor/test/cases/bifs.length.styl +0 -18
- data/vendor/test/cases/bifs.light.css +0 -5
- data/vendor/test/cases/bifs.light.styl +0 -4
- data/vendor/test/cases/bifs.lighten.css +0 -14
- data/vendor/test/cases/bifs.lighten.styl +0 -14
- data/vendor/test/cases/bifs.lookup.css +0 -3
- data/vendor/test/cases/bifs.lookup.styl +0 -8
- data/vendor/test/cases/bifs.match.css +0 -4
- data/vendor/test/cases/bifs.match.styl +0 -9
- data/vendor/test/cases/bifs.opposite-position.css +0 -8
- data/vendor/test/cases/bifs.opposite-position.styl +0 -9
- data/vendor/test/cases/bifs.push.css +0 -25
- data/vendor/test/cases/bifs.push.styl +0 -48
- data/vendor/test/cases/bifs.rgba.css +0 -5
- data/vendor/test/cases/bifs.rgba.styl +0 -4
- data/vendor/test/cases/bifs.s.css +0 -11
- data/vendor/test/cases/bifs.s.styl +0 -12
- data/vendor/test/cases/bifs.type.css +0 -11
- data/vendor/test/cases/bifs.type.styl +0 -12
- data/vendor/test/cases/bifs.unit.css +0 -6
- data/vendor/test/cases/bifs.unit.styl +0 -5
- data/vendor/test/cases/bifs.unquote.css +0 -5
- data/vendor/test/cases/bifs.unquote.styl +0 -8
- data/vendor/test/cases/bifs.url.css +0 -11
- data/vendor/test/cases/bifs.url.styl +0 -15
- data/vendor/test/cases/bifs.values.css +0 -5
- data/vendor/test/cases/bifs.values.styl +0 -6
- data/vendor/test/cases/casting.css +0 -12
- data/vendor/test/cases/casting.styl +0 -14
- data/vendor/test/cases/coercion.css +0 -6
- data/vendor/test/cases/coercion.styl +0 -5
- data/vendor/test/cases/comments.css +0 -18
- data/vendor/test/cases/comments.styl +0 -28
- data/vendor/test/cases/compress.comments.css +0 -2
- data/vendor/test/cases/compress.comments.styl +0 -5
- data/vendor/test/cases/compress.units.css +0 -2
- data/vendor/test/cases/compress.units.styl +0 -18
- data/vendor/test/cases/conditional-assignment.css +0 -4
- data/vendor/test/cases/conditional-assignment.styl +0 -9
- data/vendor/test/cases/control.blueprint.ie.css +0 -126
- data/vendor/test/cases/control.blueprint.ie.styl +0 -36
- data/vendor/test/cases/control.blueprint.screen.css +0 -1103
- data/vendor/test/cases/control.blueprint.screen.styl +0 -265
- data/vendor/test/cases/control.boilerplate.css +0 -473
- data/vendor/test/cases/control.boilerplate.styl +0 -265
- data/vendor/test/cases/css.extend.css +0 -13
- data/vendor/test/cases/css.extend.styl +0 -15
- data/vendor/test/cases/css.functions.single-line.css +0 -9
- data/vendor/test/cases/css.functions.single-line.styl +0 -13
- data/vendor/test/cases/css.if.css +0 -8
- data/vendor/test/cases/css.if.styl +0 -21
- data/vendor/test/cases/css.keyframes.css +0 -57
- data/vendor/test/cases/css.keyframes.styl +0 -48
- data/vendor/test/cases/css.large.css +0 -172
- data/vendor/test/cases/css.large.styl +0 -172
- data/vendor/test/cases/css.media.css +0 -15
- data/vendor/test/cases/css.media.styl +0 -17
- data/vendor/test/cases/css.mixins.braces.css +0 -38
- data/vendor/test/cases/css.mixins.braces.styl +0 -53
- data/vendor/test/cases/css.mixins.css +0 -38
- data/vendor/test/cases/css.mixins.root.css +0 -26
- data/vendor/test/cases/css.mixins.root.styl +0 -25
- data/vendor/test/cases/css.mixins.root.wonky.css +0 -26
- data/vendor/test/cases/css.mixins.root.wonky.styl +0 -17
- data/vendor/test/cases/css.mixins.styl +0 -47
- data/vendor/test/cases/css.selector.interpolation.css +0 -91
- data/vendor/test/cases/css.selector.interpolation.styl +0 -90
- data/vendor/test/cases/css.selectors.css +0 -38
- data/vendor/test/cases/css.selectors.styl +0 -53
- data/vendor/test/cases/css.whitespace.css +0 -37
- data/vendor/test/cases/css.whitespace.styl +0 -38
- data/vendor/test/cases/dumb.css +0 -10
- data/vendor/test/cases/dumb.styl +0 -11
- data/vendor/test/cases/eol-escape.css +0 -11
- data/vendor/test/cases/eol-escape.styl +0 -27
- data/vendor/test/cases/escape.css +0 -4
- data/vendor/test/cases/escape.styl +0 -4
- data/vendor/test/cases/extend.complex.css +0 -16
- data/vendor/test/cases/extend.complex.styl +0 -15
- data/vendor/test/cases/extend.css +0 -22
- data/vendor/test/cases/extend.multiple-definitions.css +0 -11
- data/vendor/test/cases/extend.multiple-definitions.styl +0 -9
- data/vendor/test/cases/extend.styl +0 -22
- data/vendor/test/cases/fontface.css +0 -4
- data/vendor/test/cases/fontface.styl +0 -5
- data/vendor/test/cases/for.complex.css +0 -44
- data/vendor/test/cases/for.complex.styl +0 -28
- data/vendor/test/cases/for.css +0 -52
- data/vendor/test/cases/for.function.css +0 -20
- data/vendor/test/cases/for.function.styl +0 -51
- data/vendor/test/cases/for.styl +0 -44
- data/vendor/test/cases/function.arguments.css +0 -4
- data/vendor/test/cases/function.arguments.styl +0 -14
- data/vendor/test/cases/function.literals.css +0 -6
- data/vendor/test/cases/function.literals.styl +0 -12
- data/vendor/test/cases/functions.arg-calls.css +0 -3
- data/vendor/test/cases/functions.arg-calls.styl +0 -9
- data/vendor/test/cases/functions.call.css +0 -4
- data/vendor/test/cases/functions.call.styl +0 -7
- data/vendor/test/cases/functions.css +0 -11
- data/vendor/test/cases/functions.defaults.css +0 -15
- data/vendor/test/cases/functions.defaults.styl +0 -30
- data/vendor/test/cases/functions.multi-line.css +0 -9
- data/vendor/test/cases/functions.multi-line.styl +0 -25
- data/vendor/test/cases/functions.multiple-calls.css +0 -13
- data/vendor/test/cases/functions.multiple-calls.styl +0 -26
- data/vendor/test/cases/functions.nested-calls.css +0 -3
- data/vendor/test/cases/functions.nested-calls.styl +0 -9
- data/vendor/test/cases/functions.nested.css +0 -10
- data/vendor/test/cases/functions.nested.styl +0 -37
- data/vendor/test/cases/functions.property.css +0 -10
- data/vendor/test/cases/functions.property.styl +0 -11
- data/vendor/test/cases/functions.return.css +0 -15
- data/vendor/test/cases/functions.return.each.css +0 -10
- data/vendor/test/cases/functions.return.each.styl +0 -23
- data/vendor/test/cases/functions.return.styl +0 -86
- data/vendor/test/cases/functions.styl +0 -34
- data/vendor/test/cases/functions.variable.css +0 -9
- data/vendor/test/cases/functions.variable.ident.css +0 -3
- data/vendor/test/cases/functions.variable.ident.styl +0 -11
- data/vendor/test/cases/functions.variable.styl +0 -27
- data/vendor/test/cases/hack.star.css +0 -27
- data/vendor/test/cases/hack.star.styl +0 -37
- data/vendor/test/cases/if.css +0 -43
- data/vendor/test/cases/if.else.css +0 -6
- data/vendor/test/cases/if.else.styl +0 -16
- data/vendor/test/cases/if.mixin.css +0 -7
- data/vendor/test/cases/if.mixin.styl +0 -24
- data/vendor/test/cases/if.postfix.css +0 -61
- data/vendor/test/cases/if.postfix.styl +0 -110
- data/vendor/test/cases/if.selectors.css +0 -16
- data/vendor/test/cases/if.selectors.styl +0 -22
- data/vendor/test/cases/if.styl +0 -99
- data/vendor/test/cases/import.basic/a.styl +0 -5
- data/vendor/test/cases/import.basic/b.styl +0 -5
- data/vendor/test/cases/import.basic/c.styl +0 -3
- data/vendor/test/cases/import.basic.css +0 -11
- data/vendor/test/cases/import.basic.styl +0 -4
- data/vendor/test/cases/import.complex/a.styl +0 -4
- data/vendor/test/cases/import.complex/c.styl +0 -2
- data/vendor/test/cases/import.complex/nested/b.styl +0 -4
- data/vendor/test/cases/import.complex.css +0 -9
- data/vendor/test/cases/import.complex.styl +0 -1
- data/vendor/test/cases/import.index/vendor/a.styl +0 -2
- data/vendor/test/cases/import.index/vendor/b.styl +0 -2
- data/vendor/test/cases/import.index/vendor/c.styl +0 -2
- data/vendor/test/cases/import.index/vendor/index.styl +0 -4
- data/vendor/test/cases/import.index.css +0 -9
- data/vendor/test/cases/import.index.styl +0 -2
- data/vendor/test/cases/import.literal.css +0 -2
- data/vendor/test/cases/import.literal.styl +0 -3
- data/vendor/test/cases/import.mixins.css +0 -7
- data/vendor/test/cases/import.mixins.styl +0 -9
- data/vendor/test/cases/import.ordering/five.styl +0 -2
- data/vendor/test/cases/import.ordering/four.styl +0 -4
- data/vendor/test/cases/import.ordering/two.styl +0 -2
- data/vendor/test/cases/import.ordering.css +0 -15
- data/vendor/test/cases/import.ordering.styl +0 -12
- data/vendor/test/cases/important.css +0 -6
- data/vendor/test/cases/important.styl +0 -6
- data/vendor/test/cases/interpolation.properties.css +0 -40
- data/vendor/test/cases/interpolation.properties.styl +0 -56
- data/vendor/test/cases/introspection.css +0 -7
- data/vendor/test/cases/introspection.styl +0 -14
- data/vendor/test/cases/jquery.css +0 -3
- data/vendor/test/cases/jquery.styl +0 -5
- data/vendor/test/cases/keyframes.css +0 -9
- data/vendor/test/cases/keyframes.fabrication.css +0 -18
- data/vendor/test/cases/keyframes.fabrication.defaults.css +0 -45
- data/vendor/test/cases/keyframes.fabrication.defaults.styl +0 -9
- data/vendor/test/cases/keyframes.fabrication.styl +0 -11
- data/vendor/test/cases/keyframes.newlines.css +0 -45
- data/vendor/test/cases/keyframes.newlines.styl +0 -7
- data/vendor/test/cases/keyframes.styl +0 -6
- data/vendor/test/cases/kwargs.css +0 -63
- data/vendor/test/cases/kwargs.styl +0 -74
- data/vendor/test/cases/list.css +0 -3
- data/vendor/test/cases/list.styl +0 -3
- data/vendor/test/cases/literal.color.css +0 -10
- data/vendor/test/cases/literal.color.styl +0 -9
- data/vendor/test/cases/literal.css +0 -10
- data/vendor/test/cases/literal.styl +0 -18
- data/vendor/test/cases/media.css +0 -14
- data/vendor/test/cases/media.styl +0 -11
- data/vendor/test/cases/mixin.conditional.css +0 -19
- data/vendor/test/cases/mixin.conditional.styl +0 -36
- data/vendor/test/cases/mixin.order.conditional.css +0 -11
- data/vendor/test/cases/mixin.order.conditional.styl +0 -20
- data/vendor/test/cases/mixin.order.css +0 -9
- data/vendor/test/cases/mixin.order.nested.css +0 -9
- data/vendor/test/cases/mixin.order.nested.styl +0 -21
- data/vendor/test/cases/mixin.order.styl +0 -20
- data/vendor/test/cases/mixins/box.styl +0 -11
- data/vendor/test/cases/mixins.complex.css +0 -30
- data/vendor/test/cases/mixins.complex.fix-to.css +0 -15
- data/vendor/test/cases/mixins.complex.fix-to.styl +0 -28
- data/vendor/test/cases/mixins.complex.styl +0 -41
- data/vendor/test/cases/mixins.conditional.css +0 -3
- data/vendor/test/cases/mixins.conditional.styl +0 -8
- data/vendor/test/cases/mixins.nested.css +0 -7
- data/vendor/test/cases/mixins.nested.selectors.css +0 -21
- data/vendor/test/cases/mixins.nested.selectors.styl +0 -31
- data/vendor/test/cases/mixins.nested.styl +0 -14
- data/vendor/test/cases/mixins.order.2.css +0 -11
- data/vendor/test/cases/mixins.order.2.styl +0 -16
- data/vendor/test/cases/mixins.reset.css +0 -75
- data/vendor/test/cases/mixins.reset.styl +0 -27
- data/vendor/test/cases/mixins.return.css +0 -4
- data/vendor/test/cases/mixins.return.styl +0 -8
- data/vendor/test/cases/mixins.root.css +0 -3
- data/vendor/test/cases/mixins.root.styl +0 -5
- data/vendor/test/cases/operator.range.css +0 -15
- data/vendor/test/cases/operator.range.styl +0 -23
- data/vendor/test/cases/operators.assignment.function.css +0 -15
- data/vendor/test/cases/operators.assignment.function.styl +0 -34
- data/vendor/test/cases/operators.assignment.mixin.css +0 -15
- data/vendor/test/cases/operators.assignment.mixin.styl +0 -39
- data/vendor/test/cases/operators.assignment.root.css +0 -25
- data/vendor/test/cases/operators.assignment.root.styl +0 -55
- data/vendor/test/cases/operators.complex.css +0 -9
- data/vendor/test/cases/operators.complex.styl +0 -32
- data/vendor/test/cases/operators.css +0 -40
- data/vendor/test/cases/operators.equality.css +0 -55
- data/vendor/test/cases/operators.equality.styl +0 -55
- data/vendor/test/cases/operators.in.css +0 -37
- data/vendor/test/cases/operators.in.styl +0 -51
- data/vendor/test/cases/operators.mixins.css +0 -10
- data/vendor/test/cases/operators.mixins.styl +0 -25
- data/vendor/test/cases/operators.precedence.css +0 -51
- data/vendor/test/cases/operators.precedence.styl +0 -82
- data/vendor/test/cases/operators.styl +0 -96
- data/vendor/test/cases/operators.subscript.assign.css +0 -21
- data/vendor/test/cases/operators.subscript.assign.styl +0 -45
- data/vendor/test/cases/operators.subscript.css +0 -59
- data/vendor/test/cases/operators.subscript.range.css +0 -14
- data/vendor/test/cases/operators.subscript.range.styl +0 -15
- data/vendor/test/cases/operators.subscript.styl +0 -81
- data/vendor/test/cases/page.css +0 -16
- data/vendor/test/cases/page.styl +0 -17
- data/vendor/test/cases/parent.css +0 -32
- data/vendor/test/cases/parent.styl +0 -33
- data/vendor/test/cases/properties.colons.css +0 -8
- data/vendor/test/cases/properties.colons.styl +0 -10
- data/vendor/test/cases/properties.css +0 -4
- data/vendor/test/cases/properties.one-line.css +0 -10
- data/vendor/test/cases/properties.one-line.styl +0 -11
- data/vendor/test/cases/properties.styl +0 -4
- data/vendor/test/cases/property-access.bubble.css +0 -38
- data/vendor/test/cases/property-access.bubble.styl +0 -46
- data/vendor/test/cases/property-access.css +0 -48
- data/vendor/test/cases/property-access.siblings.css +0 -19
- data/vendor/test/cases/property-access.siblings.styl +0 -20
- data/vendor/test/cases/property-access.styl +0 -62
- data/vendor/test/cases/regression.107.lookup-failure.css +0 -12
- data/vendor/test/cases/regression.107.lookup-failure.styl +0 -13
- data/vendor/test/cases/regression.127.css +0 -3
- data/vendor/test/cases/regression.127.styl +0 -2
- data/vendor/test/cases/regression.130.css +0 -16
- data/vendor/test/cases/regression.130.styl +0 -6
- data/vendor/test/cases/regression.131.css +0 -7
- data/vendor/test/cases/regression.131.styl +0 -2
- data/vendor/test/cases/regression.137.css +0 -7
- data/vendor/test/cases/regression.137.styl +0 -7
- data/vendor/test/cases/regression.139.css +0 -5
- data/vendor/test/cases/regression.139.styl +0 -21
- data/vendor/test/cases/regression.142.css +0 -39
- data/vendor/test/cases/regression.142.styl +0 -54
- data/vendor/test/cases/regression.146.css +0 -30
- data/vendor/test/cases/regression.146.styl +0 -31
- data/vendor/test/cases/regression.153.css +0 -8
- data/vendor/test/cases/regression.153.styl +0 -9
- data/vendor/test/cases/regression.154.css +0 -8
- data/vendor/test/cases/regression.154.styl +0 -14
- data/vendor/test/cases/regression.156.css +0 -4
- data/vendor/test/cases/regression.156.styl +0 -6
- data/vendor/test/cases/regression.212.css +0 -15
- data/vendor/test/cases/regression.212.styl +0 -14
- data/vendor/test/cases/regression.216.css +0 -10
- data/vendor/test/cases/regression.216.styl +0 -8
- data/vendor/test/cases/regression.220.css +0 -5
- data/vendor/test/cases/regression.220.styl +0 -5
- data/vendor/test/cases/regression.229.css +0 -12
- data/vendor/test/cases/regression.229.styl +0 -9
- data/vendor/test/cases/regression.233.css +0 -6
- data/vendor/test/cases/regression.233.styl +0 -7
- data/vendor/test/cases/regression.235.css +0 -11
- data/vendor/test/cases/regression.235.styl +0 -13
- data/vendor/test/cases/regression.243.css +0 -3
- data/vendor/test/cases/regression.243.styl +0 -4
- data/vendor/test/cases/regression.244.css +0 -3
- data/vendor/test/cases/regression.244.styl +0 -3
- data/vendor/test/cases/regression.247.css +0 -6
- data/vendor/test/cases/regression.247.styl +0 -6
- data/vendor/test/cases/regression.248.compressed.css +0 -4
- data/vendor/test/cases/regression.248.compressed.styl +0 -10
- data/vendor/test/cases/regression.252.css +0 -13
- data/vendor/test/cases/regression.252.styl +0 -13
- data/vendor/test/cases/regression.260.css +0 -6
- data/vendor/test/cases/regression.260.styl +0 -6
- data/vendor/test/cases/regression.267.css +0 -3
- data/vendor/test/cases/regression.267.styl +0 -3
- data/vendor/test/cases/regression.270.css +0 -5
- data/vendor/test/cases/regression.270.styl +0 -7
- data/vendor/test/cases/regression.272.css +0 -11
- data/vendor/test/cases/regression.272.styl +0 -17
- data/vendor/test/cases/regression.274.css +0 -14
- data/vendor/test/cases/regression.274.styl +0 -16
- data/vendor/test/cases/regression.292.css +0 -3
- data/vendor/test/cases/regression.292.styl +0 -3
- data/vendor/test/cases/regression.360.css +0 -19
- data/vendor/test/cases/regression.360.styl +0 -1
- data/vendor/test/cases/regression.368.css +0 -4
- data/vendor/test/cases/regression.368.styl +0 -3
- data/vendor/test/cases/regression.379.css +0 -6
- data/vendor/test/cases/regression.379.styl +0 -10
- data/vendor/test/cases/regression.380.css +0 -8
- data/vendor/test/cases/regression.380.styl +0 -14
- data/vendor/test/cases/regression.388.css +0 -2
- data/vendor/test/cases/regression.388.styl +0 -6
- data/vendor/test/cases/regression.415.css +0 -5
- data/vendor/test/cases/regression.415.styl +0 -3
- data/vendor/test/cases/regression.420.css +0 -21
- data/vendor/test/cases/regression.420.styl +0 -29
- data/vendor/test/cases/regression.432.css +0 -5
- data/vendor/test/cases/regression.432.styl +0 -4
- data/vendor/test/cases/regression.440.css +0 -5
- data/vendor/test/cases/regression.440.styl +0 -7
- data/vendor/test/cases/regression.449.css +0 -9
- data/vendor/test/cases/regression.449.styl +0 -10
- data/vendor/test/cases/regression.458.css +0 -3
- data/vendor/test/cases/regression.458.styl +0 -3
- data/vendor/test/cases/regression.460.css +0 -13
- data/vendor/test/cases/regression.460.styl +0 -18
- data/vendor/test/cases/regression.469.css +0 -4
- data/vendor/test/cases/regression.469.styl +0 -6
- data/vendor/test/cases/regression.472.css +0 -10
- data/vendor/test/cases/regression.472.styl +0 -23
- data/vendor/test/cases/regression.475.css +0 -6
- data/vendor/test/cases/regression.475.styl +0 -7
- data/vendor/test/cases/regression.480.css +0 -9
- data/vendor/test/cases/regression.480.styl +0 -12
- data/vendor/test/cases/regression.484.css +0 -9
- data/vendor/test/cases/regression.484.styl +0 -8
- data/vendor/test/cases/regression.498.css +0 -8
- data/vendor/test/cases/regression.498.styl +0 -11
- data/vendor/test/cases/regression.499.css +0 -14
- data/vendor/test/cases/regression.499.styl +0 -20
- data/vendor/test/cases/regression.503.css +0 -65
- data/vendor/test/cases/regression.503.styl +0 -7
- data/vendor/test/cases/regression.504.css +0 -65
- data/vendor/test/cases/regression.504.styl +0 -12
- data/vendor/test/cases/regression.524.css +0 -4
- data/vendor/test/cases/regression.524.styl +0 -7
- data/vendor/test/cases/regression.535.css +0 -3
- data/vendor/test/cases/regression.535.styl +0 -9
- data/vendor/test/cases/regression.536.css +0 -3
- data/vendor/test/cases/regression.536.styl +0 -5
- data/vendor/test/cases/reset.css +0 -70
- data/vendor/test/cases/reset.styl +0 -16
- data/vendor/test/cases/rule.charset.css +0 -1
- data/vendor/test/cases/rule.charset.styl +0 -2
- data/vendor/test/cases/rulset.css +0 -4
- data/vendor/test/cases/rulset.newline.css +0 -5
- data/vendor/test/cases/rulset.newline.styl +0 -5
- data/vendor/test/cases/rulset.styl +0 -3
- data/vendor/test/cases/scope.complex.css +0 -10
- data/vendor/test/cases/scope.complex.styl +0 -16
- data/vendor/test/cases/scope.css +0 -5
- data/vendor/test/cases/scope.nested.css +0 -9
- data/vendor/test/cases/scope.nested.styl +0 -10
- data/vendor/test/cases/scope.styl +0 -12
- data/vendor/test/cases/selector.interpolation.css +0 -57
- data/vendor/test/cases/selector.interpolation.styl +0 -45
- data/vendor/test/cases/selectors.complex.css +0 -28
- data/vendor/test/cases/selectors.complex.styl +0 -27
- data/vendor/test/cases/selectors.css +0 -50
- data/vendor/test/cases/selectors.nested.comma.css +0 -9
- data/vendor/test/cases/selectors.nested.comma.styl +0 -8
- data/vendor/test/cases/selectors.nested.css +0 -34
- data/vendor/test/cases/selectors.nested.styl +0 -33
- data/vendor/test/cases/selectors.pseudo.css +0 -27
- data/vendor/test/cases/selectors.pseudo.elements.css +0 -26
- data/vendor/test/cases/selectors.pseudo.elements.styl +0 -29
- data/vendor/test/cases/selectors.pseudo.styl +0 -24
- data/vendor/test/cases/selectors.styl +0 -46
- data/vendor/test/cases/self-assignment.css +0 -3
- data/vendor/test/cases/self-assignment.styl +0 -4
- data/vendor/test/cases/vargs.call.css +0 -24
- data/vendor/test/cases/vargs.call.styl +0 -40
- data/vendor/test/cases/vargs.css +0 -30
- data/vendor/test/cases/vargs.styl +0 -49
- data/vendor/test/cases/variable.css +0 -3
- data/vendor/test/cases/variable.styl +0 -4
- data/vendor/test/cases/variables.css +0 -12
- data/vendor/test/cases/variables.styl +0 -17
- data/vendor/test/images/gif +0 -0
- data/vendor/test/images/squirrel.jpeg +0 -0
- data/vendor/test/images/tux.png +0 -0
- data/vendor/test/run.js +0 -169
data/vendor/docs/operators.md
DELETED
|
@@ -1,470 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
## Operator Precedence
|
|
3
|
-
|
|
4
|
-
Below is the operator precedence table, highest to lowest:
|
|
5
|
-
|
|
6
|
-
[]
|
|
7
|
-
! ~ + -
|
|
8
|
-
is defined
|
|
9
|
-
** * / %
|
|
10
|
-
+ -
|
|
11
|
-
... ..
|
|
12
|
-
<= >= < >
|
|
13
|
-
in
|
|
14
|
-
== is != is not isnt
|
|
15
|
-
is a
|
|
16
|
-
&& and || or
|
|
17
|
-
?:
|
|
18
|
-
= := ?= += -= *= /= %=
|
|
19
|
-
not
|
|
20
|
-
if unless
|
|
21
|
-
|
|
22
|
-
## Unary Operators
|
|
23
|
-
|
|
24
|
-
The following unary operators are available, `!`, `not`, `-`, `+`, and `~`.
|
|
25
|
-
|
|
26
|
-
!0
|
|
27
|
-
// => true
|
|
28
|
-
|
|
29
|
-
!!0
|
|
30
|
-
// => false
|
|
31
|
-
|
|
32
|
-
!1
|
|
33
|
-
// => false
|
|
34
|
-
|
|
35
|
-
!!5px
|
|
36
|
-
// => true
|
|
37
|
-
|
|
38
|
-
-5px
|
|
39
|
-
// => -5px
|
|
40
|
-
|
|
41
|
-
--5px
|
|
42
|
-
// => 5px
|
|
43
|
-
|
|
44
|
-
not true
|
|
45
|
-
// => false
|
|
46
|
-
|
|
47
|
-
not not true
|
|
48
|
-
// => true
|
|
49
|
-
|
|
50
|
-
The logical `not` operator has low precedence, therefore the following example could be replaced with
|
|
51
|
-
|
|
52
|
-
a = 0
|
|
53
|
-
b = 1
|
|
54
|
-
|
|
55
|
-
!a and !b
|
|
56
|
-
// => false
|
|
57
|
-
// pased as: (!a) and (!b)
|
|
58
|
-
|
|
59
|
-
With:
|
|
60
|
-
|
|
61
|
-
not a or b
|
|
62
|
-
// => false
|
|
63
|
-
// parsed as: not (a or b)
|
|
64
|
-
|
|
65
|
-
## Binary Operators
|
|
66
|
-
|
|
67
|
-
### Subscript []
|
|
68
|
-
|
|
69
|
-
The subscript operator allows us to grab a value inside an expression via index. Parenthesized expressions may act as tuples (e.g. `(15px 5px)`, `(1 2 3)`).
|
|
70
|
-
|
|
71
|
-
Below is an example that uses tuples for error handling (and showcasing the versatility of this construct):
|
|
72
|
-
|
|
73
|
-
add(a, b)
|
|
74
|
-
if a is a 'unit' and b is a 'unit'
|
|
75
|
-
a + b
|
|
76
|
-
else
|
|
77
|
-
(error 'a and b must be units!')
|
|
78
|
-
|
|
79
|
-
body
|
|
80
|
-
padding add(1,'5')
|
|
81
|
-
// => padding: error "a and b must be units";
|
|
82
|
-
|
|
83
|
-
padding add(1,'5')[0]
|
|
84
|
-
// => padding: error;
|
|
85
|
-
|
|
86
|
-
padding add(1,'5')[0] == error
|
|
87
|
-
// => padding: true;
|
|
88
|
-
|
|
89
|
-
padding add(1,'5')[1]
|
|
90
|
-
// => padding: "a and b must be units";
|
|
91
|
-
|
|
92
|
-
Here's a more complex example. Now we're invoking the built-in `error()` function with the return error message, whenever the ident (the first value) equals `error`.
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (val = add(1,'5'))[0] == error
|
|
96
|
-
error(val[1])
|
|
97
|
-
|
|
98
|
-
## Range .. ...
|
|
99
|
-
|
|
100
|
-
Both the inclusive (`..`) and exclusive (`...`) range operators are provided, expanding to expressions:
|
|
101
|
-
|
|
102
|
-
1..5
|
|
103
|
-
// => 1 2 3 4 5
|
|
104
|
-
|
|
105
|
-
1...5
|
|
106
|
-
// => 1 2 3 4
|
|
107
|
-
|
|
108
|
-
### Additive: + -
|
|
109
|
-
|
|
110
|
-
Multiplicative and additive binary operators work as expected. Type conversion is applied within unit type classes, or default to the literal value. For example `5s - 2px` results in `3s`.
|
|
111
|
-
|
|
112
|
-
15px - 5px
|
|
113
|
-
// => 10px
|
|
114
|
-
|
|
115
|
-
5 - 2
|
|
116
|
-
// => 3
|
|
117
|
-
|
|
118
|
-
5in - 50mm
|
|
119
|
-
// => 3.031in
|
|
120
|
-
|
|
121
|
-
5s - 1000ms
|
|
122
|
-
// => 4s
|
|
123
|
-
|
|
124
|
-
20mm + 4in
|
|
125
|
-
// => 121.6mm
|
|
126
|
-
|
|
127
|
-
"foo " + "bar"
|
|
128
|
-
// => "foo bar"
|
|
129
|
-
|
|
130
|
-
"num " + 15
|
|
131
|
-
// => "num 15"
|
|
132
|
-
|
|
133
|
-
### Multiplicative: / * %
|
|
134
|
-
|
|
135
|
-
2000ms + (1s * 2)
|
|
136
|
-
// => 4ms
|
|
137
|
-
|
|
138
|
-
5s / 2
|
|
139
|
-
// => 2.5s
|
|
140
|
-
|
|
141
|
-
4 % 2
|
|
142
|
-
// => 0
|
|
143
|
-
|
|
144
|
-
When using `/` within a property value, you **must** wrap with parens. Otherwise the `/` is taken literally (to support CSS `line-height`):
|
|
145
|
-
|
|
146
|
-
font: 14px/1.5;
|
|
147
|
-
|
|
148
|
-
But the following is evaluated as `14px` ÷ `1.5`:
|
|
149
|
-
|
|
150
|
-
font: (14px/1.5);
|
|
151
|
-
|
|
152
|
-
This is _only_ required for the `/` operator.
|
|
153
|
-
|
|
154
|
-
### Exponent: **
|
|
155
|
-
|
|
156
|
-
The Exponent operator:
|
|
157
|
-
|
|
158
|
-
2 ** 8
|
|
159
|
-
// => 256
|
|
160
|
-
|
|
161
|
-
### Equality & Relational: == != >= <= > <
|
|
162
|
-
|
|
163
|
-
Equality operators can be used to equate units, colors, strings, and even identifiers. This is a powerful concept, as even arbitrary identifiers (such as as `wahoo`) can be utilized as atoms. A function could return `yes` or `no` instead of `true` or `false` (although not advised).
|
|
164
|
-
|
|
165
|
-
5 == 5
|
|
166
|
-
// => true
|
|
167
|
-
|
|
168
|
-
10 > 5
|
|
169
|
-
// => true
|
|
170
|
-
|
|
171
|
-
#fff == #fff
|
|
172
|
-
// => true
|
|
173
|
-
|
|
174
|
-
true == false
|
|
175
|
-
// => false
|
|
176
|
-
|
|
177
|
-
wahoo == yay
|
|
178
|
-
// => false
|
|
179
|
-
|
|
180
|
-
wahoo == wahoo
|
|
181
|
-
// => true
|
|
182
|
-
|
|
183
|
-
"test" == "test"
|
|
184
|
-
// => true
|
|
185
|
-
|
|
186
|
-
true is true
|
|
187
|
-
// => true
|
|
188
|
-
|
|
189
|
-
'hey' is not 'bye'
|
|
190
|
-
// => true
|
|
191
|
-
|
|
192
|
-
'hey' isnt 'bye'
|
|
193
|
-
// => true
|
|
194
|
-
|
|
195
|
-
(foo bar) == (foo bar)
|
|
196
|
-
// => true
|
|
197
|
-
|
|
198
|
-
(1 2 3) == (1 2 3)
|
|
199
|
-
// => true
|
|
200
|
-
|
|
201
|
-
(1 2 3) == (1 1 3)
|
|
202
|
-
// => false
|
|
203
|
-
|
|
204
|
-
Only exact values match. For example, `0 == false` and `null == false` are both `false`.
|
|
205
|
-
|
|
206
|
-
Aliases:
|
|
207
|
-
|
|
208
|
-
== is
|
|
209
|
-
!= is not
|
|
210
|
-
!= isnt
|
|
211
|
-
|
|
212
|
-
## Truthfulness
|
|
213
|
-
|
|
214
|
-
Nearly everything within Stylus resolves to `true`, including units with a suffix. Even `0%`, `0px`, etc. will resolve to `true` (because it's common in Stylus for mixins or functions to accept units as valid).
|
|
215
|
-
|
|
216
|
-
However, `0` itself is `false` in terms of arithmetic.
|
|
217
|
-
|
|
218
|
-
Expressions (or "lists") with a length greater than 1 are considered truthy.
|
|
219
|
-
|
|
220
|
-
`true` examples:
|
|
221
|
-
|
|
222
|
-
0%
|
|
223
|
-
0px
|
|
224
|
-
1px
|
|
225
|
-
-1
|
|
226
|
-
-1px
|
|
227
|
-
hey
|
|
228
|
-
'hey'
|
|
229
|
-
(0 0 0)
|
|
230
|
-
('' '')
|
|
231
|
-
|
|
232
|
-
`false` examples:
|
|
233
|
-
|
|
234
|
-
0
|
|
235
|
-
null
|
|
236
|
-
false
|
|
237
|
-
''
|
|
238
|
-
|
|
239
|
-
### Logical Operators: && || and or
|
|
240
|
-
|
|
241
|
-
Logical operators `&&` and `||` are aliased `and` / `or` which apply the same precedence.
|
|
242
|
-
|
|
243
|
-
5 && 3
|
|
244
|
-
// => 3
|
|
245
|
-
|
|
246
|
-
0 || 5
|
|
247
|
-
// => 5
|
|
248
|
-
|
|
249
|
-
0 && 5
|
|
250
|
-
// => 0
|
|
251
|
-
|
|
252
|
-
#fff is a 'rgba' and 15 is a 'unit'
|
|
253
|
-
// => true
|
|
254
|
-
|
|
255
|
-
### Existence Operator: in
|
|
256
|
-
|
|
257
|
-
Checks for the existence of the _left-hand_ operand within the _right-hand_ expression.
|
|
258
|
-
|
|
259
|
-
Simple examples:
|
|
260
|
-
|
|
261
|
-
nums = 1 2 3
|
|
262
|
-
1 in nums
|
|
263
|
-
// => true
|
|
264
|
-
|
|
265
|
-
5 in nums
|
|
266
|
-
// => false
|
|
267
|
-
|
|
268
|
-
Some undefined identifiers:
|
|
269
|
-
|
|
270
|
-
words = foo bar baz
|
|
271
|
-
bar in words
|
|
272
|
-
// => true
|
|
273
|
-
|
|
274
|
-
HEY in words
|
|
275
|
-
// => false
|
|
276
|
-
|
|
277
|
-
Works with tuples too:
|
|
278
|
-
|
|
279
|
-
vals = (error 'one') (error 'two')
|
|
280
|
-
error in vals
|
|
281
|
-
// => false
|
|
282
|
-
|
|
283
|
-
(error 'one') in vals
|
|
284
|
-
// => true
|
|
285
|
-
|
|
286
|
-
(error 'two') in vals
|
|
287
|
-
// => true
|
|
288
|
-
|
|
289
|
-
(error 'something') in vals
|
|
290
|
-
// => false
|
|
291
|
-
|
|
292
|
-
Example usage in mixin:
|
|
293
|
-
|
|
294
|
-
pad(types = padding, n = 5px)
|
|
295
|
-
if padding in types
|
|
296
|
-
padding n
|
|
297
|
-
if margin in types
|
|
298
|
-
margin n
|
|
299
|
-
|
|
300
|
-
body
|
|
301
|
-
pad()
|
|
302
|
-
|
|
303
|
-
body
|
|
304
|
-
pad(margin)
|
|
305
|
-
|
|
306
|
-
body
|
|
307
|
-
pad(padding margin, 10px)
|
|
308
|
-
|
|
309
|
-
Yielding:
|
|
310
|
-
|
|
311
|
-
body {
|
|
312
|
-
padding: 5px;
|
|
313
|
-
}
|
|
314
|
-
body {
|
|
315
|
-
margin: 5px;
|
|
316
|
-
}
|
|
317
|
-
body {
|
|
318
|
-
padding: 10px;
|
|
319
|
-
margin: 10px;
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
### Conditional Assignment: ?= :=
|
|
323
|
-
|
|
324
|
-
The conditional assignment operator `?=` (aliased as `:=`) lets us define variables without clobbering old values (if present). This operator expands to an `is defined` binary operation within a ternary.
|
|
325
|
-
|
|
326
|
-
For example, the following are equivalent:
|
|
327
|
-
|
|
328
|
-
color := white
|
|
329
|
-
color ?= white
|
|
330
|
-
color = color is defined ? color : white
|
|
331
|
-
|
|
332
|
-
When using plain `=`, we simply reassign:
|
|
333
|
-
|
|
334
|
-
color = white
|
|
335
|
-
color = black
|
|
336
|
-
|
|
337
|
-
color
|
|
338
|
-
// => black
|
|
339
|
-
|
|
340
|
-
But when using `?=`, our second attempt fails (since the variable is already defined):
|
|
341
|
-
|
|
342
|
-
color = white
|
|
343
|
-
color ?= black
|
|
344
|
-
|
|
345
|
-
color
|
|
346
|
-
// => white
|
|
347
|
-
|
|
348
|
-
### Instance Check: is a
|
|
349
|
-
|
|
350
|
-
Stylus provides a binary operator named `is a` used to type check.
|
|
351
|
-
|
|
352
|
-
15 is a 'unit'
|
|
353
|
-
// => true
|
|
354
|
-
|
|
355
|
-
#fff is a 'rgba'
|
|
356
|
-
// => true
|
|
357
|
-
|
|
358
|
-
15 is a 'rgba'
|
|
359
|
-
// => false
|
|
360
|
-
|
|
361
|
-
Alternatively, we could use the `type()` BIF:
|
|
362
|
-
|
|
363
|
-
type(#fff) == 'rgba'
|
|
364
|
-
// => true
|
|
365
|
-
|
|
366
|
-
**Note:** `color` is the only special-case, evaluating to `true` when the
|
|
367
|
-
left-hand operand is an `RGBA` or `HSLA` node.
|
|
368
|
-
|
|
369
|
-
### Variable Definition: is defined
|
|
370
|
-
|
|
371
|
-
This pseudo binary operator does not accept a right-hand operator, and does _not_ evaluate the left. This allows us to check if a variable has a value assigned to it.
|
|
372
|
-
|
|
373
|
-
foo is defined
|
|
374
|
-
// => false
|
|
375
|
-
|
|
376
|
-
foo = 15px
|
|
377
|
-
foo is defined
|
|
378
|
-
// => true
|
|
379
|
-
|
|
380
|
-
#fff is defined
|
|
381
|
-
// => 'invalid "is defined" check on non-variable #fff'
|
|
382
|
-
|
|
383
|
-
Alternatively, one can use the `lookup(name)` built-in function to do this—or to perform dynamic lookups:
|
|
384
|
-
|
|
385
|
-
name = 'blue'
|
|
386
|
-
lookup('light-' + name)
|
|
387
|
-
// => null
|
|
388
|
-
|
|
389
|
-
light-blue = #80e2e9
|
|
390
|
-
lookup('light-' + name)
|
|
391
|
-
// => #80e2e9
|
|
392
|
-
|
|
393
|
-
This operator is essential, as an undefined identifier is still a truthy value. For example:
|
|
394
|
-
|
|
395
|
-
body
|
|
396
|
-
if ohnoes
|
|
397
|
-
padding 5px
|
|
398
|
-
|
|
399
|
-
_Will_ yield the following CSS when undefined:
|
|
400
|
-
|
|
401
|
-
body {
|
|
402
|
-
padding: 5px;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
However this will be safe:
|
|
406
|
-
|
|
407
|
-
body
|
|
408
|
-
if ohnoes is defined
|
|
409
|
-
padding 5px
|
|
410
|
-
|
|
411
|
-
## Ternary
|
|
412
|
-
|
|
413
|
-
The ternary operator works as we would expect in most languages. It's the only operator with three operands (the _condition_ expression, the _truth_ expression, and the _false_ expression).
|
|
414
|
-
|
|
415
|
-
num = 15
|
|
416
|
-
num ? unit(num, 'px') : 20px
|
|
417
|
-
// => 15px
|
|
418
|
-
|
|
419
|
-
## Casting
|
|
420
|
-
|
|
421
|
-
As an terse alternative to the `unit()` built-in function, the syntax `(expr) unit` may be used to force the suffix.
|
|
422
|
-
|
|
423
|
-
body
|
|
424
|
-
n = 5
|
|
425
|
-
foo: (n)em
|
|
426
|
-
foo: (n)%
|
|
427
|
-
foo: (n + 5)%
|
|
428
|
-
foo: (n * 5)px
|
|
429
|
-
foo: unit(n + 5, '%')
|
|
430
|
-
foo: unit(5 + 180 / 2, deg)
|
|
431
|
-
|
|
432
|
-
## Color Operations
|
|
433
|
-
|
|
434
|
-
Operations on colors provide a terse, expressive way to alter components. For example, we can operate on each RGB:
|
|
435
|
-
|
|
436
|
-
#0e0 + #0e0
|
|
437
|
-
// => #0f0
|
|
438
|
-
|
|
439
|
-
Another example is adjust the lightness value by adding or subtracting a percentage. To lighten a color, add; to darken, subtract.
|
|
440
|
-
|
|
441
|
-
#888 + 50%
|
|
442
|
-
// => #c3c3c3
|
|
443
|
-
|
|
444
|
-
#888 - 50%
|
|
445
|
-
// => #444
|
|
446
|
-
|
|
447
|
-
Adjust the hue is also possible by adding or subtracting with degrees. For example, adding `50deg` to this red value results in a yellow:
|
|
448
|
-
|
|
449
|
-
#f00 + 50deg
|
|
450
|
-
// => #ffd500
|
|
451
|
-
|
|
452
|
-
Values clamp appropriately. For example, we can "spin" the hue 180 degrees, and if the current value is `320deg`, it will resolve to `140deg`.
|
|
453
|
-
|
|
454
|
-
We may also tweak several values at once (including the alpha) by using `rgb()`, `rgba()`, `hsl()`, or `hsla()`:
|
|
455
|
-
|
|
456
|
-
#f00 - rgba(100,0,0,0.5)
|
|
457
|
-
// => rgba(155,0,0,0.5)
|
|
458
|
-
|
|
459
|
-
## Sprintf
|
|
460
|
-
|
|
461
|
-
The string sprintf-like operator `%` can be used to generate a literal value, internally passing arguments through the `s()` built-in:
|
|
462
|
-
|
|
463
|
-
'X::Microsoft::Crap(%s)' % #fc0
|
|
464
|
-
// => X::Microsoft::Crap(#fc0)
|
|
465
|
-
|
|
466
|
-
Multiple values should be parenthesized:
|
|
467
|
-
|
|
468
|
-
'-webkit-gradient(%s, %s, %s)' % (linear (0 0) (0 100%))
|
|
469
|
-
// => -webkit-gradient(linear, 0 0, 0 100%)
|
|
470
|
-
|
data/vendor/docs/selectors.md
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
## Selectors
|
|
2
|
-
|
|
3
|
-
### Indentation
|
|
4
|
-
|
|
5
|
-
Stylus is "pythonic" (i.e. indentation-based). Whitespace is significant, so we substitute `{` and `}` with an _indent_, and an _outdent_ as shown below:
|
|
6
|
-
|
|
7
|
-
body
|
|
8
|
-
color white
|
|
9
|
-
|
|
10
|
-
Which compiles to:
|
|
11
|
-
|
|
12
|
-
body {
|
|
13
|
-
color: #fff;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
If preferred, you can use colons to separate properties and values:
|
|
17
|
-
|
|
18
|
-
body
|
|
19
|
-
color: white
|
|
20
|
-
|
|
21
|
-
### Rule Sets
|
|
22
|
-
|
|
23
|
-
Stylus, just like CSS, allows you to define properties for several selectors at once through comma separation.
|
|
24
|
-
|
|
25
|
-
textarea, input
|
|
26
|
-
border 1px solid #eee
|
|
27
|
-
|
|
28
|
-
The same can be done with a newline:
|
|
29
|
-
|
|
30
|
-
textarea
|
|
31
|
-
input
|
|
32
|
-
border 1px solid #eee
|
|
33
|
-
|
|
34
|
-
Both compile to:
|
|
35
|
-
|
|
36
|
-
textarea,
|
|
37
|
-
input {
|
|
38
|
-
border: 1px solid #eee;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
**The only exception to this rule** are selectors that look like properties. For example, the following `foo bar baz` might be a property **or** a selector:
|
|
42
|
-
|
|
43
|
-
foo bar baz
|
|
44
|
-
> input
|
|
45
|
-
border 1px solid
|
|
46
|
-
|
|
47
|
-
So for this reason (or simply if preferred), we may trail with a comma:
|
|
48
|
-
|
|
49
|
-
foo bar baz,
|
|
50
|
-
form input,
|
|
51
|
-
> a
|
|
52
|
-
border 1px solid
|
|
53
|
-
|
|
54
|
-
### Parent Reference
|
|
55
|
-
|
|
56
|
-
The `&` character references the parent selector(s). In the example below our two selectors (`textarea` and `input`) both alter the `color` on the `:hover` pseudo selector.
|
|
57
|
-
|
|
58
|
-
textarea
|
|
59
|
-
input
|
|
60
|
-
color #A7A7A7
|
|
61
|
-
&:hover
|
|
62
|
-
color #000
|
|
63
|
-
|
|
64
|
-
Compiles to:
|
|
65
|
-
|
|
66
|
-
textarea,
|
|
67
|
-
input {
|
|
68
|
-
color: #a7a7a7;
|
|
69
|
-
}
|
|
70
|
-
textarea:hover,
|
|
71
|
-
input:hover {
|
|
72
|
-
color: #000;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
Below is an example providing a simple `2px` border for Internet Exploder utilizing the parent reference within a mixin:
|
|
76
|
-
|
|
77
|
-
box-shadow()
|
|
78
|
-
-webkit-box-shadow arguments
|
|
79
|
-
-moz-box-shadow arguments
|
|
80
|
-
box-shadow arguments
|
|
81
|
-
html.ie8 &,
|
|
82
|
-
html.ie7 &,
|
|
83
|
-
html.ie6 &
|
|
84
|
-
border 2px solid arguments[length(arguments) - 1]
|
|
85
|
-
|
|
86
|
-
body
|
|
87
|
-
#login
|
|
88
|
-
box-shadow 1px 1px 3px #eee
|
|
89
|
-
|
|
90
|
-
Yielding:
|
|
91
|
-
|
|
92
|
-
body #login {
|
|
93
|
-
-webkit-box-shadow: 1px 1px 3px #eee;
|
|
94
|
-
-moz-box-shadow: 1px 1px 3px #eee;
|
|
95
|
-
box-shadow: 1px 1px 3px #eee;
|
|
96
|
-
}
|
|
97
|
-
html.ie8 body #login,
|
|
98
|
-
html.ie7 body #login,
|
|
99
|
-
html.ie6 body #login {
|
|
100
|
-
border: 2px solid #eee;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
### Disambiguation
|
|
104
|
-
|
|
105
|
-
Expressions such as `padding - n` could be interpreted both as a subtraction operation, as well as a property with an unary minus. To disambiguate, wrap the expression with parens:
|
|
106
|
-
|
|
107
|
-
pad(n)
|
|
108
|
-
padding (- n)
|
|
109
|
-
|
|
110
|
-
body
|
|
111
|
-
pad(5px)
|
|
112
|
-
|
|
113
|
-
Compiles to:
|
|
114
|
-
|
|
115
|
-
body {
|
|
116
|
-
padding: -5px;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
However, this is only true in functions (since functions act both as mixins, or calls with return values).
|
|
120
|
-
|
|
121
|
-
For example, the following is fine (and yields the same results as above):
|
|
122
|
-
|
|
123
|
-
body
|
|
124
|
-
padding -5px
|
|
125
|
-
|
|
126
|
-
Have weird property values that Stylus can't process? `unquote()` can help you out:
|
|
127
|
-
|
|
128
|
-
filter unquote('progid:DXImageTransform.Microsoft.BasicImage(rotation=1)')
|
|
129
|
-
|
|
130
|
-
Yields:
|
|
131
|
-
|
|
132
|
-
filter progid:DXImageTransform.Microsoft.BasicImage(rotation=1)
|
|
133
|
-
|
data/vendor/docs/textmate.md
DELETED
data/vendor/docs/vargs.md
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
## Rest Parameters
|
|
3
|
-
|
|
4
|
-
Stylus supports rest parameters in the form of `name...`. These params consume the remaining arguments passed to a mixin or function. This is useful when utilizing (for example) the implicit function call support to apply vendor prefixes like `-webkit` or `-moz`.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
In the example below, we consume all the arguments passed, and simply apply them to multiple properties.
|
|
8
|
-
|
|
9
|
-
box-shadow(args...)
|
|
10
|
-
-webkit-box-shadow args
|
|
11
|
-
-moz-box-shadow args
|
|
12
|
-
box-shadow args
|
|
13
|
-
|
|
14
|
-
#login
|
|
15
|
-
box-shadow 1px 2px 5px #eee
|
|
16
|
-
|
|
17
|
-
Yielding:
|
|
18
|
-
|
|
19
|
-
#login {
|
|
20
|
-
-webkit-box-shadow: 1px 2px 5px #eee;
|
|
21
|
-
-moz-box-shadow: 1px 2px 5px #eee;
|
|
22
|
-
box-shadow: 1px 2px 5px #eee;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
If we wanted to peek at a specific argument—say, `x-offset`—we could simply use `args[0]`. Or, we may wish to redefine the mixin:
|
|
26
|
-
|
|
27
|
-
box-shadow(offset-x, args...)
|
|
28
|
-
got-offset-x offset-x
|
|
29
|
-
-webkit-box-shadow offset-x args
|
|
30
|
-
-moz-box-shadow offset-x args
|
|
31
|
-
box-shadow offset-x args
|
|
32
|
-
|
|
33
|
-
#login
|
|
34
|
-
box-shadow 1px 2px 5px #eee
|
|
35
|
-
|
|
36
|
-
Yielding:
|
|
37
|
-
|
|
38
|
-
#login {
|
|
39
|
-
got-offset-x: 1px;
|
|
40
|
-
-webkit-box-shadow: 1px 2px 5px #eee;
|
|
41
|
-
-moz-box-shadow: 1px 2px 5px #eee;
|
|
42
|
-
box-shadow: 1px 2px 5px #eee;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
### arguments
|
|
46
|
-
|
|
47
|
-
The `arguments` variable is injected into mixin and function bodies, containing the exact expression passed. This is useful for several reasons (especially vendor support) as you get the _exact_ expression, commas and all.
|
|
48
|
-
|
|
49
|
-
For example, if we use a rest param, the comma is consumed (since it is an expression delimiter):
|
|
50
|
-
|
|
51
|
-
box-shadow(args...)
|
|
52
|
-
-webkit-box-shadow args
|
|
53
|
-
-moz-box-shadow args
|
|
54
|
-
box-shadow args
|
|
55
|
-
|
|
56
|
-
#login
|
|
57
|
-
box-shadow #ddd 1px 1px, #eee 2px 2px
|
|
58
|
-
|
|
59
|
-
Yielding undesired results:
|
|
60
|
-
|
|
61
|
-
#login {
|
|
62
|
-
-webkit-box-shadow: #ddd 1px 1px #eee 2px 2px;
|
|
63
|
-
-moz-box-shadow: #ddd 1px 1px #eee 2px 2px;
|
|
64
|
-
box-shadow: #ddd 1px 1px #eee 2px 2px;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
Let's redefine the mixin using `arguments`:
|
|
68
|
-
|
|
69
|
-
box-shadow()
|
|
70
|
-
-webkit-box-shadow arguments
|
|
71
|
-
-moz-box-shadow arguments
|
|
72
|
-
box-shadow arguments
|
|
73
|
-
|
|
74
|
-
body
|
|
75
|
-
box-shadow #ddd 1px 1px, #eee 2px 2px
|
|
76
|
-
|
|
77
|
-
Now, yielding the desired result:
|
|
78
|
-
|
|
79
|
-
body {
|
|
80
|
-
-webkit-box-shadow: #ddd 1px 1px, #eee 2px 2px;
|
|
81
|
-
-moz-box-shadow: #ddd 1px 1px, #eee 2px 2px;
|
|
82
|
-
box-shadow: #ddd 1px 1px, #eee 2px 2px;
|
|
83
|
-
}
|
|
84
|
-
|