https://github.com/css/cssp
Ometa-JS based CSS parser
https://github.com/css/cssp
Last synced: 12 months ago
JSON representation
Ometa-JS based CSS parser
- Host: GitHub
- URL: https://github.com/css/cssp
- Owner: css
- Created: 2011-06-15T00:11:35.000Z (almost 15 years ago)
- Default Branch: master
- Last Pushed: 2012-10-11T14:23:53.000Z (over 13 years ago)
- Last Synced: 2025-03-27T20:14:18.236Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 364 KB
- Stars: 25
- Watchers: 12
- Forks: 7
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
Awesome Lists containing this project
README
## Предварительные требования:
* 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);