Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Ometa-JS based CSS parser
branch: master

This branch is 105 commits behind veged:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib
src
test
GNUmakefile
README
USAGE
VERSION
package.json

README

Beta, try to use.

Предварительные требования:
* Node.js: http://nodejs.org
* npm: https://github.com/isaacs/npm

Установка:
  npm install 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) <имя_правила>, которое надо обработать

Примеры:
    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'),
        parser = cssp.CSSParser,
        transformer = cssp.CSSTransformer,
        translator = cssp.CSSTranslator,
        rule = 'stylesheet',
        src = 'a { color: red }',
        tree, trans,
        dst;

    tree = parser.matchAll(src, rule);
    trans = transformer.match(tree, rule);
    dst = translator.match(trans, rule);

    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);
Something went wrong with that request. Please try again.