_)
__ `__ \ _ \ __| __| | __|
| | | __/\__ \\__ \ |\__ \
_| _| _|\___|____/____/_) |____/
___/
mess.js is an attempt to use less.js to
compile cascadenik-formatted styles.
it is inspired by but incompatible with
Cascadenik [1].
= Changes from Cascadenik:
- MML files are assumed to be JSON, not XML
- Instead of the name attribute of the TextSymbolizer
and ShieldSymbolizer being a part of the selector, it
is a property of a rule. Thus the evaluation is less
complex and one can use expressions in names.
cascadenik:
#world NAME {
text-face-name: "Arial";
}
mess:
#world {
text-name: "NAME";
text-face-name: "Arial";
}
- Pseudoelements are supported to append extra
symbolizers onto single matched rules.
#world {
line-color: #fff;
line-width: 3;
}
#world::outline {
line-color: #000;
line-width: 6;
}
- outline and inline are removed, having been replaced
with pseudoelements.
- names of styles in XML are derived from layer names,
rather than being entirely autogenerated
- less.js variables and expressions are supported
- fontsets are supported by simply specifying multiple
font names
= Credits
mess.js is based on less.js [2], a CSS compiler
written by Alexis Sellier. It includes
underscore.js [3].
like less, mess.js provides a binary in bin/,
named mess, although it is designed primarily
for usage as a library.
= Usage
messc map_file.json
= Authors
Tom MacWright (tmcw)
Konstantin Käfer (kkaefer)
AJ Ashton (ajashton)
[1]: https://github.com/mapnik/Cascadenik
[2]: https://github.com/cloudhead/less.js
[3]: https://github.com/documentcloud/underscore/