- Node.js: http://nodejs.org
- npm: https://github.com/isaacs/npm
##Установка, удаление и обновление:
Установка: npm install cssp
Обновление: npm update cssp
Удаление: npm uninstall cssp
По умолчанию CSSP разбирает входной CSS-текст в дерево (parser -- P), затем отправляет дерево на трансформацию (transformer -- TF), после чего транслирует в CSS-текст (translator -- TL).
Таким образом полный цикл выглядит как CSS -> P -> TF -> TL -> CSS, и без указания ключей CSSP отдаст тот же текст, что был на входе.
Использование command line интерфейса:
cssp
показывает этот текст
cssp <имя_файла>
считывает CSS из <имя_файла> и записывает результат полного цикла (тот же CSS) в stdout
cssp <имя_файла> -dp
cssp <имя_файла> --parser
считывает CSS из <имя_файла> и записывает результат CSS -> P -> stdout
cssp <имя_файла> -df
cssp <имя_файла> --transformer
считывает CSS из <имя_файла> и записывает результат CSS -> P -> TF -> stdout
cssp <имя_файла> -dl
cssp <имя_файла> --translator
считывает CSS из <имя_файла> и записывает результат CSS -> P -> TF -> TL -> stdout
cssp <имя_файла> -r <имя_правила>
cssp <имя_файла> --rule <имя_правила>
считывает CSS из <имя_файла> и передаёт в цикл (P TF TL) <имя_правила>, которое надо обработать
cssp <имя_файла> -t
cssp <имя_файла> --trim
считывает CSS из <имя_файла> и удаляет начальные и концевые пробельные символы
Примеры:
1) test.css = 'color: red'
> cssp test.css -r declaration -dp
> ['declaration',
['property',
['ident', 'color']],
['value',
['s', ' '],
['ident', 'red']]]
2) test.css = '10px'
> cssp test.css -r dimension -dp -dl
> ['dimension',
['number', '10'], 'px']
10px
Пример программного использования (Node.js):
var cssp = require('cssp'),
src = 'a { color: red }',
tree, trans,
dst;
tree = cssp.parse(src);
trans = cssp.transform(tree);
dst = cssp.translate(trans);
console.log('Source CSS:');
console.log(src);
console.log('Parser out:');
console.log(tree);
console.log('Transformer out:');
console.log(trans);
console.log('Translator out:');
console.log(dst);