{"_id":"setochka","_rev":"9-09764b1762c3d793953a514e693b49ca","name":"setochka","description":"Setochka — divide et impera","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.3":{"name":"setochka","description":"Setochka — divide et impera","version":"0.0.3","homepage":"http://github.com/afelix/setochka","author":{"name":"Sergey Kryzhanovsky","email":"skryzhanovsky@ya.ru","url":"http://github.com/afelix"},"repository":{"type":"git","url":"git://github.com/afelix/setochka.git"},"directories":{"lib":"./lib","bin":"./bin"},"main":"./lib/setochka","dependencies":{"cssp":">= 0.0.10"},"bin":{"setochka":"./bin/setochka"},"engines":{"node":">=0.4.0"},"licenses":[{"type":"MIT"}],"_id":"setochka@0.0.3","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.4.8","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"fec0861fc91a7dc7202eac0788dc93690fe50ccd","tarball":"https://registry.npmjs.org/setochka/-/setochka-0.0.3.tgz","integrity":"sha512-m+NGYD5bltwHSdAlfgKKJz4ua3cn/1lrsSCGp2fwfgt2/DEFF72SKME0Uz66KCc+AR7WLtPv2MYjXATD/67dIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9ZZscD4jwClvAEb/ASg19X4JX+7rIIOlrXGw6RtFW6gIhAPq6MGKSb0CzREjsV6kHfNVRmz1rjI2FSyqGWhzPZatL"}]}},"0.0.5":{"name":"setochka","description":"Setochka — divide et impera","version":"0.0.5","homepage":"http://github.com/afelix/setochka","author":{"name":"Sergey Kryzhanovsky","email":"skryzhanovsky@ya.ru","url":"http://github.com/afelix"},"repository":{"type":"git","url":"git://github.com/afelix/setochka.git"},"directories":{"lib":"./lib"},"main":"./lib/setochka","dependencies":{"cssp":">= 1.0.2"},"bin":{"setochka":"./bin/setochka"},"engines":{"node":">=0.4.0"},"licenses":[{"type":"MIT"}],"_npmUser":{"name":"afelix","email":"skryzhanovsky@gmail.com"},"_id":"setochka@0.0.5","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.99","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"aea84c79b2e6b668e44fd75ad3294203bca2351c","tarball":"https://registry.npmjs.org/setochka/-/setochka-0.0.5.tgz","integrity":"sha512-0kQMAht8D+Tf2Fn26futiZ/3bw/TgTt+p9NLtfshk5BCKOXQRtGWAUJeykDp0KGlzfNSjPS67GrtVrj/oLfTPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5qpZxPlV13hYEjORP+/VbZuVRcitj8/UQJD+mWKlDIgIgYNDQnBnqrCFr5K8Mv2R9UCYQPwABmXQMvHFbJoGwsAg="}]},"maintainers":[{"name":"afelix","email":"skryzhanovsky@gmail.com"}]},"0.0.6":{"name":"setochka","description":"Setochka — divide et impera","version":"0.0.6","homepage":"http://github.com/afelix/setochka","author":{"name":"Sergey Kryzhanovsky","email":"skryzhanovsky@ya.ru","url":"http://github.com/afelix"},"repository":{"type":"git","url":"http://github.com/afelix/setochka.git"},"directories":{"lib":"./lib"},"main":"./lib/setochka","bin":{"setochka":"./bin/setochka"},"engines":{"node":">=0.6.0"},"licenses":[{"type":"MIT"}],"readme":"# Сеточка (setochka)\n\nСеточка&nbsp;— инструмент для выделения CSS-свойств исходного CSS в отдельные файлы. Также может использоваться для удаления этих свойств без записи.\n\n## Предварительные требования\n\n* OS Linux / Mac OS X\n* nodejs версии 0.4.x&nbsp;— [http://nodejs.org](http://nodejs.org)\n* npm&nbsp;— [http://github.com/isaacs/npm/](http://github.com/isaacs/npm/)\n\n## Установка\n\nДля установки следует выполнить команду `npm install setochka`.\n\nДля обновления следует выполнить команду `npm update setochka`.\n\nДля удаления следует выполнить команду `npm uninstall setochka`.\n\n## Использование\n\nКратко (копия файла USAGE):\n\n    setochka\n    setochka -h\n    setochka --help\n        показывает этот текст\n    setochka -v\n    setochka --version\n        показывает версию \"Сеточки\"\n    setochka -i <CSS_filename>\n    setochka --input <CSS_filename>\n        принимает <CSS_filename> на вход\n    setochka -a \"alias0,alias1,aliasN\"\n    setochka -a alias0 -a \"alias1,aliasN\"\n    setochka --aliases \"alias0,alias1,aliasN\"\n    setochka --aliases alias0 --aliases \"alias1,aliasN\"\n        перечисляет синонимы для использования\n    setochka -mc <config_filename>\n    setochka --merge-config <config_filename>\n        совмещает настройки по умолчанию с настройками из <config_filename>\n    setochka -rc <config_filename>\n    setochka --replace-config <config_filename>\n        замещает настройки по умолчанию настройками из <config_filename>\n    setochka -l\n    setochka --list\n        показывает настройки\n\n## Настройки\n\nФайл настроек представляет собою JavaScript-файл.\n\n### Структура файла настроек\n\n    exports.config = {\n        outFile: function(filename) { return .. },                   <- имя файла для записи CSS без отфильтрованных свойств\n        aliases: {                                                   <- набор синонимов\n            'синоним0': {                                            <- уникальный синоним для группирования настроек\n                mark: 'метка',                                       <- метка для маркировки свойства\n                description: 'краткое описание',                     <- краткое описание синонима\n                outFile: function(filename) { return .. },           <- имя файла для записи выделенных свойств\n                tokens: {                                            <- токены для сверки с шаблоном\n                    'declaration': [/regexp/, function(s) {..}, ..], <- CSS-свойство в целом\n                    'property': [/regexp/, function(s) {..}, ..],    <- имя CSS-свойства\n                    'value': [/regexp/, function(s) {..}, ..]        <- значение CSS-свойства\n                }\n            },\n            'синоним1': {\n                ..\n            },\n            'синонимN': {\n                ..\n            }\n        }\n    }\n### outFile\n\nФункция, возвращающая имя файла, в который следует записывать результат обработки. В случае с outFile высшего уровня (не относящийся к alias) это CSS, из которого отфильтровали свойства. В случае с alias.outFile это файл, в который записываются все свойства, попавшие под шаблоны.\n\nЕсли outFile отсутствует или его значение равно `false` (`null`, `undefined`, пустая строка, `0`), файл записан не будет. Этим можно пользоваться для удаления свойств.\n\n### aliases\n\nСиноним (alias)&nbsp;— имя группы, в которую включаются шаблоны, метка, описание, настройки исходящего файла и всё прочее, что имеет смысл вносить в группу. Группа, в свою очередь, нужна для того, чтобы пользователь мог уникально идентифицировать наборы шаблонов и применять их посредством вызова. В общем, очевидная концепция.\n\n### alias.mark\n\nМаркер, которым в CSS помечаются свойства для безусловной фильтрации: свойство будет перемещено вне зависимости от того, попадает оно под шаблоны или нет. В CSS маркер должен быть заключён в комментарий и находиться до свойства, при этом между маркером и свойством не должно быть пробелов и чего-либо ещё:\n\n    .test {\n        /*webkit*/color: red\n    }\n\n### alias.description\n\nКраткое описание синонима.\n\n### alias.tokens\n\nТокен представляет собою имя CSS-части (токена), к которой применять шаблоны. Шаблон&nbsp;— регулярное выражение JavaScript или функция, которая получает аргументом текст токена и возвращает `true` (в случае совпадения) или `false` (несовпадения). Если текстовое представление токена соответствует шаблону, свойство (NB: свойство целиком!), к которому относится эта часть, выделяется.\n\nНапоминание: в CSS свойство – это `declaration` в виде `property:value`.\n\n* `declaration`&nbsp;— массив шаблонов и функций для применения к свойству целиком.\n* `property`&nbsp;— массив шаблонов и функций для применения к именам свойств.\n* `value`&nbsp;— массив шаблонов и функций для применения к значениям свойств.\n\n### Пример\n\n    exports.config = {\n        outFile: function(filename) { return 'base.' + filename },\n        aliases: {\n            'moz': {\n                mark: 'moz',\n                description: 'Gecko (Mozilla): -moz-',\n                outFile: function(filename) { return 'moz.' + filename },\n                tokens: {\n                    'property': [/^\\-moz\\-/]\n                }\n            }\n        }\n    }\n\n## Сценарии использования\n\nОсновным сценарием использования видится выделение вендорных свойств по шаблонам&nbsp;— то, ради чего создана Сеточка, и под эту задачу созданы настройки по умолчанию, которые можно посмотреть [здесь](http://nodejs.org).\n\nЕсли пользователь нуждается в переопределении или дополнении настроек (вероятно, изменение имени исходящих файлов или дополнение настроек), следует использовать сценарии \"Дополнение настроек\" и \"Замещение настроек\".\n\n### Выделение свойств по шаблону\n\nВ настройках должны быть заполнены следующие параметры:\n\n* config.outFile\n* config.aliases.alias.outFile\n* config.aliases.alias.tokens и / или config.aliases.alias.mark\n\nЗапуск: `setochka -i my.css`\n\n### Удаление свойств\n\nВ настройках должны быть заполнены следующие параметры:\n\n* config.outFile\n* config.aliases.alias.tokens и / или config.aliases.alias.mark\n\nЭтот параметр должен быть пустым (или иметь значение, равное `false`):\n\n* config.aliases.alias.outFile\n\nЗапуск: `setochka -i my.css`\n\n### Дополнение настроек\n\nПри дополнении настроек пользовательские настройки замещают собою пересекающуюся часть настроек по умолчанию, а также дополняют то, чего в настройках не было. NB: массивы шаблонов не дополняются, но замещаются целиком!\n\nПример настроек по умолчанию (фактические отличаются):\n\n    exports.config = {\n        outFile: function(filename) { return 'base.' + filename },\n        aliases: {\n            'moz': {\n                mark: 'moz',\n                description: 'Gecko (Mozilla): -moz-',\n                outFile: function(filename) { return 'moz.' + filename },\n                tokens: {\n                    'property': [/^\\-moz\\-/]\n                }\n            }\n        }\n    }\n\nПример пользовательских настроек (`/foo/bar/myconfig.js`):\n\n    exports.config = {\n        outFile: function(filename) { return 'my.' + filename },\n        aliases: {\n            'moz': {\n                tokens: {\n                    'property': [/^\\-moz\\-color/],\n                    'value': [/^\\mozilla\\-/]\n                }\n            },\n            'test': {\n                mark: 'test'\n            }\n        }\n    }\n\nИтог:\n\n    exports.config = {\n        outFile: function(filename) { return 'my.' + filename },\n        aliases: {\n            'moz': {\n                mark: 'moz',\n                description: 'Gecko (Mozilla): -moz-',\n                outFile: function(filename) { return 'moz.' + filename },\n                tokens: {\n                    'property': [/^\\-moz\\-color/],\n                    'value': [/^\\mozilla\\-/]\n                }\n            },\n            'test': {\n                mark: 'test'\n            }\n        }\n    }\n\nЗапуск: `setochka -i my.css -mc /foo/bar/myconfig.js`\n\n### Замещение настроек\n\nЗапуск: `setochka -i my.css -rc /foo/bar/myconfig.js`\n","readmeFilename":"README.md","_id":"setochka@0.0.6","dist":{"shasum":"288efe1f26b3dcdb004f7c4145f35167b4d4e3f8","tarball":"https://registry.npmjs.org/setochka/-/setochka-0.0.6.tgz","integrity":"sha512-XRIG62f4lBUqQ7sc6X45ZxccVQ1XdhdbhuOd/GtcL9j/tBUJ1F2FPlqFGlQcx5NQ8yvjKLE9zFMgnGRNT+L6nw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkrH+y1R+9CKGM59fcdknT7A3zg22c6EbYKMVdJCT0twIhALJnT1VgHxfKUyzr2DB8GrfBFldNCu1F9JauNV6ysQG4"}]},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"afelix","email":"skryzhanovsky@gmail.com"},"maintainers":[{"name":"afelix","email":"skryzhanovsky@gmail.com"}]}},"maintainers":[{"name":"afelix","email":"skryzhanovsky@gmail.com"}],"time":{"modified":"2022-06-26T18:21:17.025Z","created":"2011-07-25T16:32:57.303Z","0.0.3":"2011-07-25T16:32:57.820Z","0.0.5":"2011-11-08T16:38:48.840Z","0.0.6":"2013-07-04T12:49:04.875Z"},"author":{"name":"Sergey Kryzhanovsky","email":"skryzhanovsky@ya.ru","url":"http://github.com/afelix"},"repository":{"type":"git","url":"http://github.com/afelix/setochka.git"}}