embedurl()
bif with optional utf8 uncoding support for SVG.index()
bif.percentage()
bif.slice()
bif, #2115.global
flag to define()
function.match()
bif now returns the matched values instead of a boolean, #2109.flags
argument to match()
bif, #2109.selectors()
now returns proper subselectors.match
function.--include-css
and --resolve-url
used concurrently.selectors()
bif.selector()
's arguments.@supports
value.--resolve-url-nocheck
).;
at the end of blockless unknown at-rules.convert
bif.@media
blocks.--out
options.!optional
directive for extending, #1757.selector-exists
bif, #1758.remove
bif for removing items from hashes.--hoist-atrules
flag) @import
and @charset
hoisting.@media
inside +cache
.resolve-url
for hash urls, #1778.mix
bif for differently transparent colors, #1792.&
without comma.filter: contrast()
error.block
keyword inside block mixin..styl
extension from CLI (added extname
arg).Woff2
and WebP
mime-tipes, #1699.--resolve-url
is set.error()
calls.@keyframes
.@supports
parsing.url()
support for @namespace
.--sourcemap-base
to be ignored when --out
is present.--print
was present.--out
flag is present, #1668..styl.map
=> .css.map
, #1668.globals
and functions
keys to options object in JS API, #1653.rebeccapurple
named color.unicode-range
support (#1648).@extend
inside @media
queries with multi-level selectors (#1658).@css
literal that generated u+0085
characters instead of newlines (#1663).\,
) inside hashes (#1666).%
(#1439).url()
.hsla
.red
, hue
, alpha
etc.).luminosity
bif.blend
bif.contrast
bif.transparentify
bif.list-separator
bif, #1576.@keyframes
parsing issue.{
is on a new line in at-rules.convert
built-in function, #1545.@media
and other at-rules in mixins, #1535.@css
and unquote
inside groups, #1527.property.literal
, #1558.current-property
ignored in property lookup, #1565.current-property
's value to be evaluated in the right context, #1562.@keyframes
converting, #1549.@require
and globbed paths inside functions, #1529.@import
and @require
, #1495.@media
, #1504.\
in a tag name, #1487.@scope
and complex selectors, #1505.display: block
inside block mixins, #1515.@media
bubbling and conditionals, #1518.*
selector first in the group, #1498.@keyframes
, #1490.filename
on keyframes, #1485.+cache
built-in mixin for caching the result of functions and mixins into placeholders, #1466.current-media()
bif that returns the string for the current media query, #1466.called-from
property in functions that contains the names of the functions from the call stack till the current one, #1466.-ms-
prefix for keyframes.only
keyword, #1460.define
bif, #1382.--prefix
option for CLI and +prefix-classes
mixin, #1420.--deps
flag to list the dependencies of the compiled file and stylus.deps function, #1429.@extend
, #1419.define
, #1444.+=
operator with strings, #1423.--watch
, #1435.default
value for cursor
property (Temporally remove default
from the pseudo-classes list), #1438.@keyframes
, #1442.nodes
array, #1412..css
in the dirname, #1385.@block
.add-property
inside function call..styl
in the name.mtime
in middleware imports.@import
globbing with --watch
.@require
, #1287.@import
and @require
. Support Node.js modules, #1316.@block
entity, #1290.selector()
bif, #1279.use()
bif, #1297.block
variable pass, #1285.if
and color in array check, #1301.css-parse
instead of CSSOM
for converting CSS -> Stylus, #1307.selector
, #1278.selector()
interpolation, #1259.@font-face
, #1268.+foo
) with block interpolation (block
), #1223.selector()
bif, #1249.&
.1ed44a81
end
event handlers + optional result css modification, #1180.a[
etc.), #1187.()
, #1178.else if match
, #1154.url
, #1148.--relative-url
, #1156.calc
CSS function, #1133.push
not to modify the first element of another array, #1118.src
and dest
in middleware, started tests for middleware #1143.--resolve-url
that removed tails from urls, #1126..woff
, #1128..toString
for undefined functions, #1119.path.resolve
for nonœ-true resolveURL, #1116.stylus.render()
, #1138.this.calling
, #1122.--print
option to print CSS to stdout, #1108.--resolve-url
is on, #1099.p
function, #1111.substr
, replace
and split
bifs, #1088.image-size
, #1087.tan
trigonometric function, also sin
and cos
now understand deg
units.url()
mimes, also the list of mimes is now configurable, #841, #1046.use()
function to extend Stylus from inside of .styl
files, #788.exports.version
to always show an actual one.image-size
function, #812..styl
in the name and local install of stylusjson()
BIF for loading variables from JSON files [geddesign]basename()
BIFpathjoin()
BIFbasename()
BIFdirname()
BIFextname()
BIF@extend
in mixin. Closes #638!important
supportadd-property()
mixin support [jasonkuhrt]fade-in()
and fade-out()
[jasonkuhrt]rgba()
[jasonkuhrt].import()
- previously failed to mixinmake test-cov
mix()
BIF (docs needed)opposite-position()
pass through "center"`Renderer
"end" event--watch
working on windows with a temporary hack [dciccale]@extend
. Closes #149keys(pairs)
and values(pairs)
BIFs.define()
ing of functionsstylus(1)
repl for 0.6.x)
in selectors. Closes #449(n * 5)%
. Closes #285--include-css
to literally include imported CSS. Closes #448mkdir -p
supportor
binop regression. Closes #475spin()
BIF (same as color + 50deg
etc)@scope <selector>
feature to scope all subsequent selectors!=
operator==
operator!
coerces expression not the first valuemkdir -p
support to the middleware@import url(string)
support. Closes #352fade-in()
and fade-out()
BIFsString#coerce()
for Expressions-U, --inline
to stylus(1)rem
support. Closes #395Parser#function()
. Closes #393:=
of ?=
. Closes #389@keyframe
expansion support. Closes #293@-VENDOR-keyframes
support@property
mixin property access Closes #363/*!
support to comments to disable suppression.styl
when importing. Closes #366utils.absolute(path)
Ident#clone()
with .property
flagpath.join()
usage in utils.lookup()
. Closes #356Renderer#get(option)
@<name>
. Closes #344#rgba
and #rrggbbaa
color formatslighten()
BIF 'lighten by %' function push color closer to white [cwolves]PI
and -math-prop(name)
cos()
and sin()
js(str)
BIFimport
with imported
@-webkit-keyframes
support. Closes #307growl
dep for stylus(1)require("stylus")
instead of ../
for the mac app integration@import
s [brandonbloom]@keyframes
ident error msgarguments
issue with excluding defaults. Closes #272url()
call regression. Closes #270url()
. Closes #267-u, --use PATH
flag for utilizing pluginshsla.clampDegrees()
with negative values [Bruno Héridet]@keyframe
block evaluation. Closes #2520%
in @keyframes
from becoming 0
when compressed. Closes #248^=
attr selector causing infinite loop. Closes #244&
in selectors. Closes #243-{foo}
interpolation support. Closes #235*prop: val
hack support (blueprint / html boilerplate etc parse fine now)SyntaxError
and ParseError
stylus.parse()
Renderer#define(name, node)
to define a globalRenderer#use(fn)
. Closes #224utils.assertType()
error message; include param nameNull#isNull
Boolean#is{True,False}
instanceof
Arguments#clone()
push()
/ append()
unshift()
/ prepend()
BIFs@media
blocks. Closes #216 [reported by jsteenkamp]Renderer#include(path)
. Closes #214@import
path resolution bug. Closes #215HSLA#add(h,s,l,a)
HSLA#sub(h,s,l,a)
RGBA#add(r,g,b,a)
RGBA#sub(r,g,b,a)
RGBA#multiply(n)
RGBA#divide(n)
HSLA#adjustHue(deg)
HSLA#adjustLightness(percent)
HSLA#adjustSaturation(percent)
linear-gradient()
examples(fmt, ...)
built-in; sprintf-like%
sprintf-like string operator, ex: '%s %s' % (1 2)
current-property
local variableadd-property(name, val)
[]=
operator support. Ex: fonts[1] = arial
, nums[1..3] = 2
-I, --include <path>
to stylus(1). Closes #20650 + 25% == 75
rgba + 25%
to lightenrgba - 25%
to darkenrgba - 25
to adjust rgb valuesArguments
node, acts like Expression
utils.params()
debug
option to stylus middlewarehsl + 15deg
etc to adjust hueRGBA
operations (#eee - 20%
)#eee * 0.2
)unit * color
(swaps operands)Expression#clone()
to support Arguments
darken
,lighten
}-by()
BIFsconsole.log()
callFixed connect middleware @import
support. Closes #168
The middleware is now smart enough to know when imports
change, and will re-compile the target file.
Changed middleware compile
function to return the Renderer
(API change)
-i, --interactive
for the Stylus REPL (eval stylus expressions, tab-completion etc)p()
built-in to display parens--compress -C
to -c
, and -css -c
is now -C
*=
in selector, ex [class*="foo"]
--watch
issue with growl, updated to 1.1.0. Closes #188for
-loop support.
Ex: return n if n % 2 == 0 for n in nums
border-radius: 5px if true unless false;
last(expr)
built-in functionsum(nums)
built-in functionavg(nums)
built-in functionjoin(delim, vals)
built-in functionEvaluator#{currentScope,currentBlock}
0
is falsey, 0%
, 0em
, 0px
etc truthy. Closes #160for
implicit return valuefor
explicit return valueRGBA
nodeis a "color"
special-case, true for HSLA
and RGBA
nodes.
Closes #180Parser
and Lexer
(yes, they are really slow).Color
node--watch
support due to dynamic @import
support. Closes #176isnt
operator (same as is not
and !=
)@import
expressions@import
index resolution supportlight()
/ dark()
BIFscompress
option for Connect middleware [disfated]./lib/functions/index.styl
)url()
. Closes #105is
and is not
aliases for ==
and !=
@keyframes
dynamic name support5px + "10"
will give 15px
warn
option Closes #152
Currently this only reports on re-definition of functions$
as a valid identifier charactermixin
local variable for function introspection capabilities. Closes #162Unit#toBoolean()
is now correct&
mid-selector bug. Closes #148 [reported by visnu]for
within brackets. Closes #146@import
with file of the same name. Closes #143--watch
@import
watching support to stylus(1). Closes #134--watch
is not useddarken-by()
BIF@import
literal semi-colon. Closes #140Added stylus(1)
direct css to stylus file conversion [Mario]
For example instead of $ stylus --css < foo.css > foo.styl
you may now either $ stylus --css foo.css
or provide
a destination path $ stylus --css foo.css /tmp/out.styl
.
Added postfix conditionals. Closes #74
Expressive ruby-ish syntax, ex: padding 5px if allow-padding
.
in
operator. 3 in nums
, padding in props
etcExpression#hash
, hashing all of the nodes in orderlighten-by()
BIFdarken-by()
BIF*
selector within @media
blockstd:nth-child(2)\ntd:nth-child(3)
+=
, -=
, *=
, /=
, and %=
--compress
when passing files for stylus(1). Closes #115@import
opposite-position()
with nested expressions, unwrappingAdded: url()
utilizing general lookup paths.
This means that { paths: [] }
is optional now, as lookups
will be relative to the file being rendered by default.
Added -w, --watch
support to stylus(1). Closes #113
opposite-position(positions)
built-in functionimage-lookup(path)
built-in function-o, --out <dir>
support to stylus(1)stylus [file|dir ...]
support[CWD]
for stylus(1)unquote()
using Literal
nodeLiteral
in place of some Ident
s--version
to stylus(1)