/** * Sanitizes input. * * @return array */ public function sanitize() { $input = $this->all(); $parser = new \Sabberworm\CSS\Parser($input['boardCustomCSS']); $style = $parser->parse()->render(\Sabberworm\CSS\OutputFormat::createPretty()); $input['boardCustomCSS'] = $style; $this->replace($input); }
/** * render the rtled css code, by defualt it will return a string * @param bool $save_to_file if true save the code in a rtl.css file */ public function render($save_to_file = false) { return $this->document->render(CSS\OutputFormat::createPretty()); }
public function testPretty() { global $TEST_CSS; $this->assertSame($TEST_CSS, $this->oDocument->render(OutputFormat::createPretty())); }
/** * Executes the command * * @param InputInterface $input * @param OutputInterface $output */ protected function execute(InputInterface $input, OutputInterface $output) { $src = $input->getArgument('src'); $dst = $input->getArgument('dst'); $selector = $input->getArgument('selector'); $append = $input->getOption('append'); // Create CSS dest object $dstCss = new \Sabberworm\CSS\Parser($append && file_exists($dst) ? file_get_contents($dst) : null); $dstCssDoc = $dstCss->parse(); $finder = new Finder(); $resources = $finder->files()->depth(0)->in($src)->name($selector . '.css'); foreach ($resources as $res) { $output->writeln('CSS Found: ' . $res->getRealPath()); $css = new \Sabberworm\CSS\Parser(file_get_contents($res->getRealPath())); $cssDoc = $css->parse(); foreach ($cssDoc->getContents() as $block) { if ($block instanceof \Sabberworm\CSS\RuleSet\DeclarationBlock) { /* @var $ruleset \Sabberworm\CSS\RuleSet\DeclarationBlock */ // Keep only the root CSS (ignore media queries) $keepRules = array(); foreach ($block->getRules() as $rule) { /* @var $rule \Sabberworm\CSS\Rule\Rule */ $value = $rule->getValue(); if (is_object($value)) { // keep only object with size rem $keepValue = false; switch (get_class($value)) { case 'Sabberworm\\CSS\\Value\\Size': /* @var $value \Sabberworm\CSS\Value\Size */ if ($value->getUnit() == 'rem') { $value->setSize($value->getSize() * 10); $value->setUnit('px'); $keepValue = true; } break; case 'Sabberworm\\CSS\\Value\\RuleValueList': /* @var $value \Sabberworm\CSS\Value\RuleValueList */ foreach ($value->getListComponents() as $c) { if ($c instanceof \Sabberworm\CSS\Value\Size) { if ($c->getUnit() == 'rem') { $c->setSize($c->getSize() * 10); $c->setUnit('px'); $keepValue = true; } } } break; } if ($keepValue) { $keepRules[] = $rule; } } } if (count($keepRules)) { $oItem = new \Sabberworm\CSS\RuleSet\DeclarationBlock(); $oItem->setSelectors($block->getSelectors()); foreach ($keepRules as $rule) { $oItem->addRule($rule); } $dstCssDoc->append($oItem); } } } } $output->writeln('Write ' . $dst); file_put_contents($dst, $dstCssDoc->render(\Sabberworm\CSS\OutputFormat::createPretty())); }