cssp

CSSP — Ometa-JS based CSS parser

npm install cssp
37 downloads in the last day
319 downloads in the last week
2 168 downloads in the last month

Предварительные требования:

Установка, удаление и обновление:

Установка: 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);
npm loves you