├── .editorconfig ├── .gitattributes ├── .gitignore ├── .travis.yml ├── README.md ├── composer.json ├── composer.lock ├── index.js ├── package.json ├── phpunit.xml.dist ├── src └── Northys │ └── CSSInliner │ ├── CSSInliner.php │ └── Exceptions │ └── Exceptions.php ├── templates ├── config.php └── example │ ├── example.css │ ├── example.html │ └── images │ ├── newsletter_03_2014_profi_dj.jpg │ ├── newsletter_03_2014_profi_dj_02.jpg │ ├── newsletter_03_2014_profi_dj_03.jpg │ ├── newsletter_03_2014_profi_dj_04.jpg │ ├── newsletter_03_2014_profi_dj_05.jpg │ ├── newsletter_03_2014_profi_dj_06.jpg │ ├── newsletter_03_2014_profi_dj_07.jpg │ ├── newsletter_03_2014_profi_dj_08.jpg │ └── newsletter_03_2014_profi_dj_09.jpg └── tests ├── CSSInlinerTest.php ├── test.css └── test.html /.editorconfig: -------------------------------------------------------------------------------- 1 | ; This file is for unifying the coding style for different editors and IDEs. 2 | ; More information at http://editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | charset = utf-8 8 | indent_size = 4 9 | indent_style = space 10 | end_of_line = lf 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | 14 | [*.php] 15 | indent_style = tab 16 | 17 | [*.neon] 18 | indent_style = tab 19 | 20 | [{*.json,*.js,*.yml}] 21 | indent_style = space 22 | indent_size = 2 23 | 24 | [*.md] 25 | trim_trailing_whitespace = false 26 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | vendor 12 | nbproject 13 | 14 | node_modules/ 15 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | 3 | php: 4 | - 5.6 5 | - 7.0 6 | - 7.1 7 | - nightly 8 | - hhvm 9 | - hhvm-nigthly 10 | 11 | # This triggers builds to run on the new TravisCI infrastructure. 12 | # See: http://docs.travis-ci.com/user/workers/container-based-infrastructure/ 13 | sudo: false 14 | 15 | before_script: 16 | - travis_retry composer self-update 17 | - travis_retry composer update ${COMPOSER_FLAGS} --no-interaction --prefer-source 18 | - composer dump-autoload -o 19 | 20 | script: 21 | - cd tests 22 | - ../vendor/bin/phpunit . --coverage-text --coverage-clover=coverage.clover --verbose 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | CSS-Inliner 2 | ------- 3 | 4 | [![Latest Version on Packagist][ico-version]][link-packagist] 5 | [![Software License][ico-license]](LICENSE.md) 6 | [![Build Status][ico-travis]][link-travis] 7 | [![Total Downloads][ico-downloads]][link-downloads] 8 | 9 | CSS-Inliner is simple PHP tools that **inserts CSS from file into HTML style attributes**. Nothing more, nothing less. 10 | 11 | I tried to make it **as fast as possible**, but due to third party libraries I can't do more. 12 | 13 | Anyway, this tools wasn't created for **inlining CSS files of bambilions lines (hey, [Bootstrap](http://getbootstrap.com) - of course you can inline it, but you will have enough time to make a coffee)**, but for inlining styles into e-mails. So I hope it will do its job for you and helps you with creating newsletters, sending notification mails and so on. 14 | 15 | ## Usage 16 | 17 | ### Installation using composer 18 | 19 | Add northys/css-inliner to your composer.json. It is necessary to install this tools using composer. Otherwise you will need to download another libs manually. 20 | 21 | ```sh 22 | $ composer require northys/css-inliner 23 | ``` 24 | 25 | ### Requirements 26 | 27 | - [sabberworm/PHP-CSS-Parser](https://github.com/sabberworm/PHP-CSS-Parser) 28 | - [Symfony/CssSelector](https://github.com/symfony/CssSelector) 29 | 30 | ### Example code 31 | 32 | ```php 33 | $inliner = new Northys\CSSInliner; 34 | $inliner->addCSS(__DIR__ . '/example.css'); 35 | $inliner->render(file_get_contents(__DIR__ . '/example.html')); 36 | ``` 37 | 38 | Method `addCSS()` accepts file path to the CSS file however `render()` accepts html content. 39 | If you would like to know why, here is the reason for you - there are tons of templating system like `Nette\Latte` or `Smarty` and sometimes you will need to use this tool on code that those libs generated. 40 | 41 | #### Input 42 | 43 | ```html 44 |

Hello, world!

45 | Google 46 | Facebook 47 | Outlook 48 | ``` 49 | ```css 50 | h1{color:#27ae60;font-size:200px;margin:10px 50px 80px 30px;} 51 | a{color:#2c3e50;} 52 | a#outlook{color:#2980b9;position:absolute;top:30px;left:500px;padding:50px;} 53 | a.facebook{color:#8e44ad;margin:300px;} 54 | a.google{color:#c0392b;font-weight:700;font-family:Verdana, 'Open Sans';font-size:30px;} 55 | ``` 56 | 57 | #### Output 58 | 59 | ```html 60 |

Hello, world!

61 | Google 62 | Facebook 63 | Outlook 64 | ``` 65 | 66 | ### Or run it with node 67 | 1. Install dependencies 68 | ```js 69 | npm install 70 | ``` 71 | 2. Run 72 | ```js 73 | node index example myResult 74 | ``` 75 | A file myResult.html will be genereted in templates/example. 76 | 77 | Your .html and .css files must be the same name of your template path. 78 | See an example in https://github.com/alisonmonteiro/CSS-Inliner/tree/master/templates 79 | 80 | [ico-version]: https://img.shields.io/packagist/v/northys/CSS-Inliner.svg?style=flat-square 81 | [ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square 82 | [ico-travis]: https://travis-ci.org/Northys/CSS-Inliner.svg?branch=master 83 | [ico-scrutinizer]: https://img.shields.io/scrutinizer/coverage/g/northys/CSS-Inliner.svg?style=flat-square 84 | [ico-code-quality]: https://img.shields.io/scrutinizer/g/northys/CSS-Inliner.svg?style=flat-square 85 | [ico-downloads]: https://img.shields.io/packagist/dt/northys/CSS-Inliner.svg?style=flat-square 86 | 87 | [link-packagist]: https://packagist.org/packages/northys/CSS-Inliner 88 | [link-travis]: https://travis-ci.org/Northys/CSS-Inliner 89 | [link-scrutinizer]: https://scrutinizer-ci.com/g/northys/CSS-Inliner/code-structure 90 | [link-code-quality]: https://scrutinizer-ci.com/g/northys/CSS-Inliner 91 | [link-downloads]: https://packagist.org/packages/northys/CSS-Inliner 92 | [link-author]: https://github.com/Northys 93 | [link-contributors]: ../../contributors 94 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "northys/css-inliner", 3 | "description": "PHP Library that converts css file into html inline styles.", 4 | "license": "LGPL", 5 | "authors": [ 6 | { 7 | "name": "Jiri Travnicek", 8 | "email": "jiri.travnicek@outlook.com", 9 | "role": "Developer" 10 | } 11 | ], 12 | "require": { 13 | "symfony/css-selector": "~3.2", 14 | "sabberworm/php-css-parser": "~8.1" 15 | }, 16 | "require-dev": { 17 | "phpunit/phpunit": "4.*" 18 | }, 19 | "autoload": { 20 | "psr-4": { 21 | "Northys\\": "src/Northys" 22 | } 23 | }, 24 | "autoload-dev": { 25 | "psr-4": { 26 | "Tests\\": "tests/" 27 | } 28 | }, 29 | "scripts": { 30 | "test": "vendor/bin/phpunit" 31 | }, 32 | "extra": { 33 | "branch-alias": { 34 | "dev-master": "1.0.x-dev" 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", 5 | "This file is @generated automatically" 6 | ], 7 | "hash": "6443a6b807f781b3749e3106e308c470", 8 | "content-hash": "bdd843746ecf67e537734d8ee277d69c", 9 | "packages": [ 10 | { 11 | "name": "sabberworm/php-css-parser", 12 | "version": "8.1.0", 13 | "source": { 14 | "type": "git", 15 | "url": "https://github.com/sabberworm/PHP-CSS-Parser.git", 16 | "reference": "850cbbcbe7fbb155387a151ea562897a67e242ef" 17 | }, 18 | "dist": { 19 | "type": "zip", 20 | "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/850cbbcbe7fbb155387a151ea562897a67e242ef", 21 | "reference": "850cbbcbe7fbb155387a151ea562897a67e242ef", 22 | "shasum": "" 23 | }, 24 | "require": { 25 | "php": ">=5.3.2" 26 | }, 27 | "require-dev": { 28 | "phpunit/phpunit": "*" 29 | }, 30 | "type": "library", 31 | "autoload": { 32 | "psr-0": { 33 | "Sabberworm\\CSS": "lib/" 34 | } 35 | }, 36 | "notification-url": "https://packagist.org/downloads/", 37 | "license": [ 38 | "MIT" 39 | ], 40 | "authors": [ 41 | { 42 | "name": "Raphael Schweikert" 43 | } 44 | ], 45 | "description": "Parser for CSS Files written in PHP", 46 | "homepage": "http://www.sabberworm.com/blog/2010/6/10/php-css-parser", 47 | "keywords": [ 48 | "css", 49 | "parser", 50 | "stylesheet" 51 | ], 52 | "time": "2016-07-19 19:14:21" 53 | }, 54 | { 55 | "name": "symfony/css-selector", 56 | "version": "v3.2.0", 57 | "source": { 58 | "type": "git", 59 | "url": "https://github.com/symfony/css-selector.git", 60 | "reference": "e1241f275814827c411d922ba8e64cf2a00b2994" 61 | }, 62 | "dist": { 63 | "type": "zip", 64 | "url": "https://api.github.com/repos/symfony/css-selector/zipball/e1241f275814827c411d922ba8e64cf2a00b2994", 65 | "reference": "e1241f275814827c411d922ba8e64cf2a00b2994", 66 | "shasum": "" 67 | }, 68 | "require": { 69 | "php": ">=5.5.9" 70 | }, 71 | "type": "library", 72 | "extra": { 73 | "branch-alias": { 74 | "dev-master": "3.2-dev" 75 | } 76 | }, 77 | "autoload": { 78 | "psr-4": { 79 | "Symfony\\Component\\CssSelector\\": "" 80 | }, 81 | "exclude-from-classmap": [ 82 | "/Tests/" 83 | ] 84 | }, 85 | "notification-url": "https://packagist.org/downloads/", 86 | "license": [ 87 | "MIT" 88 | ], 89 | "authors": [ 90 | { 91 | "name": "Jean-François Simon", 92 | "email": "jeanfrancois.simon@sensiolabs.com" 93 | }, 94 | { 95 | "name": "Fabien Potencier", 96 | "email": "fabien@symfony.com" 97 | }, 98 | { 99 | "name": "Symfony Community", 100 | "homepage": "https://symfony.com/contributors" 101 | } 102 | ], 103 | "description": "Symfony CssSelector Component", 104 | "homepage": "https://symfony.com", 105 | "time": "2016-11-03 08:11:03" 106 | } 107 | ], 108 | "packages-dev": [ 109 | { 110 | "name": "doctrine/instantiator", 111 | "version": "1.0.5", 112 | "source": { 113 | "type": "git", 114 | "url": "https://github.com/doctrine/instantiator.git", 115 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" 116 | }, 117 | "dist": { 118 | "type": "zip", 119 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", 120 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", 121 | "shasum": "" 122 | }, 123 | "require": { 124 | "php": ">=5.3,<8.0-DEV" 125 | }, 126 | "require-dev": { 127 | "athletic/athletic": "~0.1.8", 128 | "ext-pdo": "*", 129 | "ext-phar": "*", 130 | "phpunit/phpunit": "~4.0", 131 | "squizlabs/php_codesniffer": "~2.0" 132 | }, 133 | "type": "library", 134 | "extra": { 135 | "branch-alias": { 136 | "dev-master": "1.0.x-dev" 137 | } 138 | }, 139 | "autoload": { 140 | "psr-4": { 141 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 142 | } 143 | }, 144 | "notification-url": "https://packagist.org/downloads/", 145 | "license": [ 146 | "MIT" 147 | ], 148 | "authors": [ 149 | { 150 | "name": "Marco Pivetta", 151 | "email": "ocramius@gmail.com", 152 | "homepage": "http://ocramius.github.com/" 153 | } 154 | ], 155 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 156 | "homepage": "https://github.com/doctrine/instantiator", 157 | "keywords": [ 158 | "constructor", 159 | "instantiate" 160 | ], 161 | "time": "2015-06-14 21:17:01" 162 | }, 163 | { 164 | "name": "phpdocumentor/reflection-common", 165 | "version": "1.0", 166 | "source": { 167 | "type": "git", 168 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git", 169 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" 170 | }, 171 | "dist": { 172 | "type": "zip", 173 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", 174 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", 175 | "shasum": "" 176 | }, 177 | "require": { 178 | "php": ">=5.5" 179 | }, 180 | "require-dev": { 181 | "phpunit/phpunit": "^4.6" 182 | }, 183 | "type": "library", 184 | "extra": { 185 | "branch-alias": { 186 | "dev-master": "1.0.x-dev" 187 | } 188 | }, 189 | "autoload": { 190 | "psr-4": { 191 | "phpDocumentor\\Reflection\\": [ 192 | "src" 193 | ] 194 | } 195 | }, 196 | "notification-url": "https://packagist.org/downloads/", 197 | "license": [ 198 | "MIT" 199 | ], 200 | "authors": [ 201 | { 202 | "name": "Jaap van Otterdijk", 203 | "email": "opensource@ijaap.nl" 204 | } 205 | ], 206 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure", 207 | "homepage": "http://www.phpdoc.org", 208 | "keywords": [ 209 | "FQSEN", 210 | "phpDocumentor", 211 | "phpdoc", 212 | "reflection", 213 | "static analysis" 214 | ], 215 | "time": "2015-12-27 11:43:31" 216 | }, 217 | { 218 | "name": "phpdocumentor/reflection-docblock", 219 | "version": "3.1.1", 220 | "source": { 221 | "type": "git", 222 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 223 | "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" 224 | }, 225 | "dist": { 226 | "type": "zip", 227 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", 228 | "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", 229 | "shasum": "" 230 | }, 231 | "require": { 232 | "php": ">=5.5", 233 | "phpdocumentor/reflection-common": "^1.0@dev", 234 | "phpdocumentor/type-resolver": "^0.2.0", 235 | "webmozart/assert": "^1.0" 236 | }, 237 | "require-dev": { 238 | "mockery/mockery": "^0.9.4", 239 | "phpunit/phpunit": "^4.4" 240 | }, 241 | "type": "library", 242 | "autoload": { 243 | "psr-4": { 244 | "phpDocumentor\\Reflection\\": [ 245 | "src/" 246 | ] 247 | } 248 | }, 249 | "notification-url": "https://packagist.org/downloads/", 250 | "license": [ 251 | "MIT" 252 | ], 253 | "authors": [ 254 | { 255 | "name": "Mike van Riel", 256 | "email": "me@mikevanriel.com" 257 | } 258 | ], 259 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", 260 | "time": "2016-09-30 07:12:33" 261 | }, 262 | { 263 | "name": "phpdocumentor/type-resolver", 264 | "version": "0.2.1", 265 | "source": { 266 | "type": "git", 267 | "url": "https://github.com/phpDocumentor/TypeResolver.git", 268 | "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" 269 | }, 270 | "dist": { 271 | "type": "zip", 272 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", 273 | "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", 274 | "shasum": "" 275 | }, 276 | "require": { 277 | "php": ">=5.5", 278 | "phpdocumentor/reflection-common": "^1.0" 279 | }, 280 | "require-dev": { 281 | "mockery/mockery": "^0.9.4", 282 | "phpunit/phpunit": "^5.2||^4.8.24" 283 | }, 284 | "type": "library", 285 | "extra": { 286 | "branch-alias": { 287 | "dev-master": "1.0.x-dev" 288 | } 289 | }, 290 | "autoload": { 291 | "psr-4": { 292 | "phpDocumentor\\Reflection\\": [ 293 | "src/" 294 | ] 295 | } 296 | }, 297 | "notification-url": "https://packagist.org/downloads/", 298 | "license": [ 299 | "MIT" 300 | ], 301 | "authors": [ 302 | { 303 | "name": "Mike van Riel", 304 | "email": "me@mikevanriel.com" 305 | } 306 | ], 307 | "time": "2016-11-25 06:54:22" 308 | }, 309 | { 310 | "name": "phpspec/prophecy", 311 | "version": "v1.6.2", 312 | "source": { 313 | "type": "git", 314 | "url": "https://github.com/phpspec/prophecy.git", 315 | "reference": "6c52c2722f8460122f96f86346600e1077ce22cb" 316 | }, 317 | "dist": { 318 | "type": "zip", 319 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/6c52c2722f8460122f96f86346600e1077ce22cb", 320 | "reference": "6c52c2722f8460122f96f86346600e1077ce22cb", 321 | "shasum": "" 322 | }, 323 | "require": { 324 | "doctrine/instantiator": "^1.0.2", 325 | "php": "^5.3|^7.0", 326 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", 327 | "sebastian/comparator": "^1.1", 328 | "sebastian/recursion-context": "^1.0|^2.0" 329 | }, 330 | "require-dev": { 331 | "phpspec/phpspec": "^2.0", 332 | "phpunit/phpunit": "^4.8 || ^5.6.5" 333 | }, 334 | "type": "library", 335 | "extra": { 336 | "branch-alias": { 337 | "dev-master": "1.6.x-dev" 338 | } 339 | }, 340 | "autoload": { 341 | "psr-0": { 342 | "Prophecy\\": "src/" 343 | } 344 | }, 345 | "notification-url": "https://packagist.org/downloads/", 346 | "license": [ 347 | "MIT" 348 | ], 349 | "authors": [ 350 | { 351 | "name": "Konstantin Kudryashov", 352 | "email": "ever.zet@gmail.com", 353 | "homepage": "http://everzet.com" 354 | }, 355 | { 356 | "name": "Marcello Duarte", 357 | "email": "marcello.duarte@gmail.com" 358 | } 359 | ], 360 | "description": "Highly opinionated mocking framework for PHP 5.3+", 361 | "homepage": "https://github.com/phpspec/prophecy", 362 | "keywords": [ 363 | "Double", 364 | "Dummy", 365 | "fake", 366 | "mock", 367 | "spy", 368 | "stub" 369 | ], 370 | "time": "2016-11-21 14:58:47" 371 | }, 372 | { 373 | "name": "phpunit/php-code-coverage", 374 | "version": "2.2.4", 375 | "source": { 376 | "type": "git", 377 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 378 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" 379 | }, 380 | "dist": { 381 | "type": "zip", 382 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", 383 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", 384 | "shasum": "" 385 | }, 386 | "require": { 387 | "php": ">=5.3.3", 388 | "phpunit/php-file-iterator": "~1.3", 389 | "phpunit/php-text-template": "~1.2", 390 | "phpunit/php-token-stream": "~1.3", 391 | "sebastian/environment": "^1.3.2", 392 | "sebastian/version": "~1.0" 393 | }, 394 | "require-dev": { 395 | "ext-xdebug": ">=2.1.4", 396 | "phpunit/phpunit": "~4" 397 | }, 398 | "suggest": { 399 | "ext-dom": "*", 400 | "ext-xdebug": ">=2.2.1", 401 | "ext-xmlwriter": "*" 402 | }, 403 | "type": "library", 404 | "extra": { 405 | "branch-alias": { 406 | "dev-master": "2.2.x-dev" 407 | } 408 | }, 409 | "autoload": { 410 | "classmap": [ 411 | "src/" 412 | ] 413 | }, 414 | "notification-url": "https://packagist.org/downloads/", 415 | "license": [ 416 | "BSD-3-Clause" 417 | ], 418 | "authors": [ 419 | { 420 | "name": "Sebastian Bergmann", 421 | "email": "sb@sebastian-bergmann.de", 422 | "role": "lead" 423 | } 424 | ], 425 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 426 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 427 | "keywords": [ 428 | "coverage", 429 | "testing", 430 | "xunit" 431 | ], 432 | "time": "2015-10-06 15:47:00" 433 | }, 434 | { 435 | "name": "phpunit/php-file-iterator", 436 | "version": "1.4.2", 437 | "source": { 438 | "type": "git", 439 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 440 | "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" 441 | }, 442 | "dist": { 443 | "type": "zip", 444 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", 445 | "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", 446 | "shasum": "" 447 | }, 448 | "require": { 449 | "php": ">=5.3.3" 450 | }, 451 | "type": "library", 452 | "extra": { 453 | "branch-alias": { 454 | "dev-master": "1.4.x-dev" 455 | } 456 | }, 457 | "autoload": { 458 | "classmap": [ 459 | "src/" 460 | ] 461 | }, 462 | "notification-url": "https://packagist.org/downloads/", 463 | "license": [ 464 | "BSD-3-Clause" 465 | ], 466 | "authors": [ 467 | { 468 | "name": "Sebastian Bergmann", 469 | "email": "sb@sebastian-bergmann.de", 470 | "role": "lead" 471 | } 472 | ], 473 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 474 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 475 | "keywords": [ 476 | "filesystem", 477 | "iterator" 478 | ], 479 | "time": "2016-10-03 07:40:28" 480 | }, 481 | { 482 | "name": "phpunit/php-text-template", 483 | "version": "1.2.1", 484 | "source": { 485 | "type": "git", 486 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 487 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" 488 | }, 489 | "dist": { 490 | "type": "zip", 491 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 492 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 493 | "shasum": "" 494 | }, 495 | "require": { 496 | "php": ">=5.3.3" 497 | }, 498 | "type": "library", 499 | "autoload": { 500 | "classmap": [ 501 | "src/" 502 | ] 503 | }, 504 | "notification-url": "https://packagist.org/downloads/", 505 | "license": [ 506 | "BSD-3-Clause" 507 | ], 508 | "authors": [ 509 | { 510 | "name": "Sebastian Bergmann", 511 | "email": "sebastian@phpunit.de", 512 | "role": "lead" 513 | } 514 | ], 515 | "description": "Simple template engine.", 516 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 517 | "keywords": [ 518 | "template" 519 | ], 520 | "time": "2015-06-21 13:50:34" 521 | }, 522 | { 523 | "name": "phpunit/php-timer", 524 | "version": "1.0.8", 525 | "source": { 526 | "type": "git", 527 | "url": "https://github.com/sebastianbergmann/php-timer.git", 528 | "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260" 529 | }, 530 | "dist": { 531 | "type": "zip", 532 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260", 533 | "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260", 534 | "shasum": "" 535 | }, 536 | "require": { 537 | "php": ">=5.3.3" 538 | }, 539 | "require-dev": { 540 | "phpunit/phpunit": "~4|~5" 541 | }, 542 | "type": "library", 543 | "autoload": { 544 | "classmap": [ 545 | "src/" 546 | ] 547 | }, 548 | "notification-url": "https://packagist.org/downloads/", 549 | "license": [ 550 | "BSD-3-Clause" 551 | ], 552 | "authors": [ 553 | { 554 | "name": "Sebastian Bergmann", 555 | "email": "sb@sebastian-bergmann.de", 556 | "role": "lead" 557 | } 558 | ], 559 | "description": "Utility class for timing", 560 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 561 | "keywords": [ 562 | "timer" 563 | ], 564 | "time": "2016-05-12 18:03:57" 565 | }, 566 | { 567 | "name": "phpunit/php-token-stream", 568 | "version": "1.4.9", 569 | "source": { 570 | "type": "git", 571 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", 572 | "reference": "3b402f65a4cc90abf6e1104e388b896ce209631b" 573 | }, 574 | "dist": { 575 | "type": "zip", 576 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3b402f65a4cc90abf6e1104e388b896ce209631b", 577 | "reference": "3b402f65a4cc90abf6e1104e388b896ce209631b", 578 | "shasum": "" 579 | }, 580 | "require": { 581 | "ext-tokenizer": "*", 582 | "php": ">=5.3.3" 583 | }, 584 | "require-dev": { 585 | "phpunit/phpunit": "~4.2" 586 | }, 587 | "type": "library", 588 | "extra": { 589 | "branch-alias": { 590 | "dev-master": "1.4-dev" 591 | } 592 | }, 593 | "autoload": { 594 | "classmap": [ 595 | "src/" 596 | ] 597 | }, 598 | "notification-url": "https://packagist.org/downloads/", 599 | "license": [ 600 | "BSD-3-Clause" 601 | ], 602 | "authors": [ 603 | { 604 | "name": "Sebastian Bergmann", 605 | "email": "sebastian@phpunit.de" 606 | } 607 | ], 608 | "description": "Wrapper around PHP's tokenizer extension.", 609 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/", 610 | "keywords": [ 611 | "tokenizer" 612 | ], 613 | "time": "2016-11-15 14:06:22" 614 | }, 615 | { 616 | "name": "phpunit/phpunit", 617 | "version": "4.8.30", 618 | "source": { 619 | "type": "git", 620 | "url": "https://github.com/sebastianbergmann/phpunit.git", 621 | "reference": "a534e04d0bd39c557c2881c341efd06fa6f1292a" 622 | }, 623 | "dist": { 624 | "type": "zip", 625 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a534e04d0bd39c557c2881c341efd06fa6f1292a", 626 | "reference": "a534e04d0bd39c557c2881c341efd06fa6f1292a", 627 | "shasum": "" 628 | }, 629 | "require": { 630 | "ext-dom": "*", 631 | "ext-json": "*", 632 | "ext-pcre": "*", 633 | "ext-reflection": "*", 634 | "ext-spl": "*", 635 | "php": ">=5.3.3", 636 | "phpspec/prophecy": "^1.3.1", 637 | "phpunit/php-code-coverage": "~2.1", 638 | "phpunit/php-file-iterator": "~1.4", 639 | "phpunit/php-text-template": "~1.2", 640 | "phpunit/php-timer": "^1.0.6", 641 | "phpunit/phpunit-mock-objects": "~2.3", 642 | "sebastian/comparator": "~1.2.2", 643 | "sebastian/diff": "~1.2", 644 | "sebastian/environment": "~1.3", 645 | "sebastian/exporter": "~1.2", 646 | "sebastian/global-state": "~1.0", 647 | "sebastian/version": "~1.0", 648 | "symfony/yaml": "~2.1|~3.0" 649 | }, 650 | "suggest": { 651 | "phpunit/php-invoker": "~1.1" 652 | }, 653 | "bin": [ 654 | "phpunit" 655 | ], 656 | "type": "library", 657 | "extra": { 658 | "branch-alias": { 659 | "dev-master": "4.8.x-dev" 660 | } 661 | }, 662 | "autoload": { 663 | "classmap": [ 664 | "src/" 665 | ] 666 | }, 667 | "notification-url": "https://packagist.org/downloads/", 668 | "license": [ 669 | "BSD-3-Clause" 670 | ], 671 | "authors": [ 672 | { 673 | "name": "Sebastian Bergmann", 674 | "email": "sebastian@phpunit.de", 675 | "role": "lead" 676 | } 677 | ], 678 | "description": "The PHP Unit Testing framework.", 679 | "homepage": "https://phpunit.de/", 680 | "keywords": [ 681 | "phpunit", 682 | "testing", 683 | "xunit" 684 | ], 685 | "time": "2016-12-01 17:05:48" 686 | }, 687 | { 688 | "name": "phpunit/phpunit-mock-objects", 689 | "version": "2.3.8", 690 | "source": { 691 | "type": "git", 692 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", 693 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" 694 | }, 695 | "dist": { 696 | "type": "zip", 697 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", 698 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", 699 | "shasum": "" 700 | }, 701 | "require": { 702 | "doctrine/instantiator": "^1.0.2", 703 | "php": ">=5.3.3", 704 | "phpunit/php-text-template": "~1.2", 705 | "sebastian/exporter": "~1.2" 706 | }, 707 | "require-dev": { 708 | "phpunit/phpunit": "~4.4" 709 | }, 710 | "suggest": { 711 | "ext-soap": "*" 712 | }, 713 | "type": "library", 714 | "extra": { 715 | "branch-alias": { 716 | "dev-master": "2.3.x-dev" 717 | } 718 | }, 719 | "autoload": { 720 | "classmap": [ 721 | "src/" 722 | ] 723 | }, 724 | "notification-url": "https://packagist.org/downloads/", 725 | "license": [ 726 | "BSD-3-Clause" 727 | ], 728 | "authors": [ 729 | { 730 | "name": "Sebastian Bergmann", 731 | "email": "sb@sebastian-bergmann.de", 732 | "role": "lead" 733 | } 734 | ], 735 | "description": "Mock Object library for PHPUnit", 736 | "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", 737 | "keywords": [ 738 | "mock", 739 | "xunit" 740 | ], 741 | "time": "2015-10-02 06:51:40" 742 | }, 743 | { 744 | "name": "sebastian/comparator", 745 | "version": "1.2.2", 746 | "source": { 747 | "type": "git", 748 | "url": "https://github.com/sebastianbergmann/comparator.git", 749 | "reference": "6a1ed12e8b2409076ab22e3897126211ff8b1f7f" 750 | }, 751 | "dist": { 752 | "type": "zip", 753 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/6a1ed12e8b2409076ab22e3897126211ff8b1f7f", 754 | "reference": "6a1ed12e8b2409076ab22e3897126211ff8b1f7f", 755 | "shasum": "" 756 | }, 757 | "require": { 758 | "php": ">=5.3.3", 759 | "sebastian/diff": "~1.2", 760 | "sebastian/exporter": "~1.2 || ~2.0" 761 | }, 762 | "require-dev": { 763 | "phpunit/phpunit": "~4.4" 764 | }, 765 | "type": "library", 766 | "extra": { 767 | "branch-alias": { 768 | "dev-master": "1.2.x-dev" 769 | } 770 | }, 771 | "autoload": { 772 | "classmap": [ 773 | "src/" 774 | ] 775 | }, 776 | "notification-url": "https://packagist.org/downloads/", 777 | "license": [ 778 | "BSD-3-Clause" 779 | ], 780 | "authors": [ 781 | { 782 | "name": "Jeff Welch", 783 | "email": "whatthejeff@gmail.com" 784 | }, 785 | { 786 | "name": "Volker Dusch", 787 | "email": "github@wallbash.com" 788 | }, 789 | { 790 | "name": "Bernhard Schussek", 791 | "email": "bschussek@2bepublished.at" 792 | }, 793 | { 794 | "name": "Sebastian Bergmann", 795 | "email": "sebastian@phpunit.de" 796 | } 797 | ], 798 | "description": "Provides the functionality to compare PHP values for equality", 799 | "homepage": "http://www.github.com/sebastianbergmann/comparator", 800 | "keywords": [ 801 | "comparator", 802 | "compare", 803 | "equality" 804 | ], 805 | "time": "2016-11-19 09:18:40" 806 | }, 807 | { 808 | "name": "sebastian/diff", 809 | "version": "1.4.1", 810 | "source": { 811 | "type": "git", 812 | "url": "https://github.com/sebastianbergmann/diff.git", 813 | "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" 814 | }, 815 | "dist": { 816 | "type": "zip", 817 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", 818 | "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", 819 | "shasum": "" 820 | }, 821 | "require": { 822 | "php": ">=5.3.3" 823 | }, 824 | "require-dev": { 825 | "phpunit/phpunit": "~4.8" 826 | }, 827 | "type": "library", 828 | "extra": { 829 | "branch-alias": { 830 | "dev-master": "1.4-dev" 831 | } 832 | }, 833 | "autoload": { 834 | "classmap": [ 835 | "src/" 836 | ] 837 | }, 838 | "notification-url": "https://packagist.org/downloads/", 839 | "license": [ 840 | "BSD-3-Clause" 841 | ], 842 | "authors": [ 843 | { 844 | "name": "Kore Nordmann", 845 | "email": "mail@kore-nordmann.de" 846 | }, 847 | { 848 | "name": "Sebastian Bergmann", 849 | "email": "sebastian@phpunit.de" 850 | } 851 | ], 852 | "description": "Diff implementation", 853 | "homepage": "https://github.com/sebastianbergmann/diff", 854 | "keywords": [ 855 | "diff" 856 | ], 857 | "time": "2015-12-08 07:14:41" 858 | }, 859 | { 860 | "name": "sebastian/environment", 861 | "version": "1.3.8", 862 | "source": { 863 | "type": "git", 864 | "url": "https://github.com/sebastianbergmann/environment.git", 865 | "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" 866 | }, 867 | "dist": { 868 | "type": "zip", 869 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", 870 | "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", 871 | "shasum": "" 872 | }, 873 | "require": { 874 | "php": "^5.3.3 || ^7.0" 875 | }, 876 | "require-dev": { 877 | "phpunit/phpunit": "^4.8 || ^5.0" 878 | }, 879 | "type": "library", 880 | "extra": { 881 | "branch-alias": { 882 | "dev-master": "1.3.x-dev" 883 | } 884 | }, 885 | "autoload": { 886 | "classmap": [ 887 | "src/" 888 | ] 889 | }, 890 | "notification-url": "https://packagist.org/downloads/", 891 | "license": [ 892 | "BSD-3-Clause" 893 | ], 894 | "authors": [ 895 | { 896 | "name": "Sebastian Bergmann", 897 | "email": "sebastian@phpunit.de" 898 | } 899 | ], 900 | "description": "Provides functionality to handle HHVM/PHP environments", 901 | "homepage": "http://www.github.com/sebastianbergmann/environment", 902 | "keywords": [ 903 | "Xdebug", 904 | "environment", 905 | "hhvm" 906 | ], 907 | "time": "2016-08-18 05:49:44" 908 | }, 909 | { 910 | "name": "sebastian/exporter", 911 | "version": "1.2.2", 912 | "source": { 913 | "type": "git", 914 | "url": "https://github.com/sebastianbergmann/exporter.git", 915 | "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" 916 | }, 917 | "dist": { 918 | "type": "zip", 919 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", 920 | "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", 921 | "shasum": "" 922 | }, 923 | "require": { 924 | "php": ">=5.3.3", 925 | "sebastian/recursion-context": "~1.0" 926 | }, 927 | "require-dev": { 928 | "ext-mbstring": "*", 929 | "phpunit/phpunit": "~4.4" 930 | }, 931 | "type": "library", 932 | "extra": { 933 | "branch-alias": { 934 | "dev-master": "1.3.x-dev" 935 | } 936 | }, 937 | "autoload": { 938 | "classmap": [ 939 | "src/" 940 | ] 941 | }, 942 | "notification-url": "https://packagist.org/downloads/", 943 | "license": [ 944 | "BSD-3-Clause" 945 | ], 946 | "authors": [ 947 | { 948 | "name": "Jeff Welch", 949 | "email": "whatthejeff@gmail.com" 950 | }, 951 | { 952 | "name": "Volker Dusch", 953 | "email": "github@wallbash.com" 954 | }, 955 | { 956 | "name": "Bernhard Schussek", 957 | "email": "bschussek@2bepublished.at" 958 | }, 959 | { 960 | "name": "Sebastian Bergmann", 961 | "email": "sebastian@phpunit.de" 962 | }, 963 | { 964 | "name": "Adam Harvey", 965 | "email": "aharvey@php.net" 966 | } 967 | ], 968 | "description": "Provides the functionality to export PHP variables for visualization", 969 | "homepage": "http://www.github.com/sebastianbergmann/exporter", 970 | "keywords": [ 971 | "export", 972 | "exporter" 973 | ], 974 | "time": "2016-06-17 09:04:28" 975 | }, 976 | { 977 | "name": "sebastian/global-state", 978 | "version": "1.1.1", 979 | "source": { 980 | "type": "git", 981 | "url": "https://github.com/sebastianbergmann/global-state.git", 982 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" 983 | }, 984 | "dist": { 985 | "type": "zip", 986 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", 987 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", 988 | "shasum": "" 989 | }, 990 | "require": { 991 | "php": ">=5.3.3" 992 | }, 993 | "require-dev": { 994 | "phpunit/phpunit": "~4.2" 995 | }, 996 | "suggest": { 997 | "ext-uopz": "*" 998 | }, 999 | "type": "library", 1000 | "extra": { 1001 | "branch-alias": { 1002 | "dev-master": "1.0-dev" 1003 | } 1004 | }, 1005 | "autoload": { 1006 | "classmap": [ 1007 | "src/" 1008 | ] 1009 | }, 1010 | "notification-url": "https://packagist.org/downloads/", 1011 | "license": [ 1012 | "BSD-3-Clause" 1013 | ], 1014 | "authors": [ 1015 | { 1016 | "name": "Sebastian Bergmann", 1017 | "email": "sebastian@phpunit.de" 1018 | } 1019 | ], 1020 | "description": "Snapshotting of global state", 1021 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 1022 | "keywords": [ 1023 | "global state" 1024 | ], 1025 | "time": "2015-10-12 03:26:01" 1026 | }, 1027 | { 1028 | "name": "sebastian/recursion-context", 1029 | "version": "1.0.2", 1030 | "source": { 1031 | "type": "git", 1032 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 1033 | "reference": "913401df809e99e4f47b27cdd781f4a258d58791" 1034 | }, 1035 | "dist": { 1036 | "type": "zip", 1037 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", 1038 | "reference": "913401df809e99e4f47b27cdd781f4a258d58791", 1039 | "shasum": "" 1040 | }, 1041 | "require": { 1042 | "php": ">=5.3.3" 1043 | }, 1044 | "require-dev": { 1045 | "phpunit/phpunit": "~4.4" 1046 | }, 1047 | "type": "library", 1048 | "extra": { 1049 | "branch-alias": { 1050 | "dev-master": "1.0.x-dev" 1051 | } 1052 | }, 1053 | "autoload": { 1054 | "classmap": [ 1055 | "src/" 1056 | ] 1057 | }, 1058 | "notification-url": "https://packagist.org/downloads/", 1059 | "license": [ 1060 | "BSD-3-Clause" 1061 | ], 1062 | "authors": [ 1063 | { 1064 | "name": "Jeff Welch", 1065 | "email": "whatthejeff@gmail.com" 1066 | }, 1067 | { 1068 | "name": "Sebastian Bergmann", 1069 | "email": "sebastian@phpunit.de" 1070 | }, 1071 | { 1072 | "name": "Adam Harvey", 1073 | "email": "aharvey@php.net" 1074 | } 1075 | ], 1076 | "description": "Provides functionality to recursively process PHP variables", 1077 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 1078 | "time": "2015-11-11 19:50:13" 1079 | }, 1080 | { 1081 | "name": "sebastian/version", 1082 | "version": "1.0.6", 1083 | "source": { 1084 | "type": "git", 1085 | "url": "https://github.com/sebastianbergmann/version.git", 1086 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" 1087 | }, 1088 | "dist": { 1089 | "type": "zip", 1090 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", 1091 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", 1092 | "shasum": "" 1093 | }, 1094 | "type": "library", 1095 | "autoload": { 1096 | "classmap": [ 1097 | "src/" 1098 | ] 1099 | }, 1100 | "notification-url": "https://packagist.org/downloads/", 1101 | "license": [ 1102 | "BSD-3-Clause" 1103 | ], 1104 | "authors": [ 1105 | { 1106 | "name": "Sebastian Bergmann", 1107 | "email": "sebastian@phpunit.de", 1108 | "role": "lead" 1109 | } 1110 | ], 1111 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 1112 | "homepage": "https://github.com/sebastianbergmann/version", 1113 | "time": "2015-06-21 13:59:46" 1114 | }, 1115 | { 1116 | "name": "symfony/yaml", 1117 | "version": "v3.2.0", 1118 | "source": { 1119 | "type": "git", 1120 | "url": "https://github.com/symfony/yaml.git", 1121 | "reference": "f2300ba8fbb002c028710b92e1906e7457410693" 1122 | }, 1123 | "dist": { 1124 | "type": "zip", 1125 | "url": "https://api.github.com/repos/symfony/yaml/zipball/f2300ba8fbb002c028710b92e1906e7457410693", 1126 | "reference": "f2300ba8fbb002c028710b92e1906e7457410693", 1127 | "shasum": "" 1128 | }, 1129 | "require": { 1130 | "php": ">=5.5.9" 1131 | }, 1132 | "require-dev": { 1133 | "symfony/console": "~2.8|~3.0" 1134 | }, 1135 | "suggest": { 1136 | "symfony/console": "For validating YAML files using the lint command" 1137 | }, 1138 | "type": "library", 1139 | "extra": { 1140 | "branch-alias": { 1141 | "dev-master": "3.2-dev" 1142 | } 1143 | }, 1144 | "autoload": { 1145 | "psr-4": { 1146 | "Symfony\\Component\\Yaml\\": "" 1147 | }, 1148 | "exclude-from-classmap": [ 1149 | "/Tests/" 1150 | ] 1151 | }, 1152 | "notification-url": "https://packagist.org/downloads/", 1153 | "license": [ 1154 | "MIT" 1155 | ], 1156 | "authors": [ 1157 | { 1158 | "name": "Fabien Potencier", 1159 | "email": "fabien@symfony.com" 1160 | }, 1161 | { 1162 | "name": "Symfony Community", 1163 | "homepage": "https://symfony.com/contributors" 1164 | } 1165 | ], 1166 | "description": "Symfony Yaml Component", 1167 | "homepage": "https://symfony.com", 1168 | "time": "2016-11-18 21:17:59" 1169 | }, 1170 | { 1171 | "name": "webmozart/assert", 1172 | "version": "1.2.0", 1173 | "source": { 1174 | "type": "git", 1175 | "url": "https://github.com/webmozart/assert.git", 1176 | "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" 1177 | }, 1178 | "dist": { 1179 | "type": "zip", 1180 | "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", 1181 | "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", 1182 | "shasum": "" 1183 | }, 1184 | "require": { 1185 | "php": "^5.3.3 || ^7.0" 1186 | }, 1187 | "require-dev": { 1188 | "phpunit/phpunit": "^4.6", 1189 | "sebastian/version": "^1.0.1" 1190 | }, 1191 | "type": "library", 1192 | "extra": { 1193 | "branch-alias": { 1194 | "dev-master": "1.3-dev" 1195 | } 1196 | }, 1197 | "autoload": { 1198 | "psr-4": { 1199 | "Webmozart\\Assert\\": "src/" 1200 | } 1201 | }, 1202 | "notification-url": "https://packagist.org/downloads/", 1203 | "license": [ 1204 | "MIT" 1205 | ], 1206 | "authors": [ 1207 | { 1208 | "name": "Bernhard Schussek", 1209 | "email": "bschussek@gmail.com" 1210 | } 1211 | ], 1212 | "description": "Assertions to validate method input/output with nice error messages.", 1213 | "keywords": [ 1214 | "assert", 1215 | "check", 1216 | "validate" 1217 | ], 1218 | "time": "2016-11-23 20:04:58" 1219 | } 1220 | ], 1221 | "aliases": [], 1222 | "minimum-stability": "stable", 1223 | "stability-flags": [], 1224 | "prefer-stable": false, 1225 | "prefer-lowest": false, 1226 | "platform": [], 1227 | "platform-dev": [] 1228 | } 1229 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | var request = require('request'), 2 | fs = require('fs'), 3 | myHost = 'http://cssinliner.dev/', 4 | myBody = null, 5 | myPath = null, 6 | myTemplatesPath = 'templates/', 7 | myOutput = 'output', 8 | myPrefix = '- '; 9 | 10 | process.argv.forEach( 11 | function(val, index, array) { 12 | if(index == 2) myPath = val; 13 | if(index == 3) myOutput = val; 14 | } 15 | ); 16 | 17 | if(myPath != null){ 18 | try { 19 | stats = fs.lstatSync(myTemplatesPath + myPath); 20 | if (stats.isDirectory()) { 21 | 22 | request(myHost + myTemplatesPath + 'config.php?template=' + myPath, 23 | function(err, response, body) { 24 | if(err) console.log(err); 25 | 26 | myBody = body; 27 | console.log(myPrefix + 'Its works'); 28 | 29 | fs.writeFile(myTemplatesPath + myPath + '/' + myOutput + '.html', myBody, 30 | function(err) { 31 | if(err) { 32 | return console.log(err); 33 | } 34 | 35 | console.log(myPrefix + 'The file was saved!'); 36 | } 37 | ); 38 | } 39 | ); 40 | 41 | } 42 | }catch (e){ 43 | console.log(e); 44 | } 45 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CSSInliner", 3 | "description": "Simple PHP tools that inserts CSS from file into HTML tags.", 4 | "priavete": true, 5 | "dependencies": { 6 | "request": "~2.53.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /phpunit.xml.dist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | tests 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/Northys/CSSInliner/CSSInliner.php: -------------------------------------------------------------------------------- 1 | css .= $css; 48 | } 49 | 50 | /** 51 | * Gets styles from