Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.
<?php
>
/** * SCSSPHP *
< * @copyright 2012-2019 Leaf Corcoran
> * @copyright 2012-2020 Leaf Corcoran
* * @license http://opensource.org/licenses/MIT MIT * * @link http://scssphp.github.io/scssphp */ namespace ScssPhp\ScssPhp\Formatter; use ScssPhp\ScssPhp\Formatter;
< use ScssPhp\ScssPhp\Formatter\OutputBlock;
/** * Compressed formatter * * @author Leaf Corcoran <leafot@gmail.com> */ class Compressed extends Formatter { /** * {@inheritdoc} */ public function __construct() { $this->indentLevel = 0; $this->indentChar = ' '; $this->break = ''; $this->open = '{'; $this->close = '}'; $this->tagSeparator = ','; $this->assignSeparator = ':'; $this->keepSemicolons = false; } /** * {@inheritdoc} */ public function blockLines(OutputBlock $block) { $inner = $this->indentStr(); $glue = $this->break . $inner; foreach ($block->lines as $index => $line) { if (substr($line, 0, 2) === '/*' && substr($line, 2, 1) !== '!') { unset($block->lines[$index]); } elseif (substr($line, 0, 3) === '/*!') { $block->lines[$index] = '/*' . substr($line, 3); } } $this->write($inner . implode($glue, $block->lines)); if (! empty($block->children)) { $this->write($this->break); } } /** * Output block selectors * * @param \ScssPhp\ScssPhp\Formatter\OutputBlock $block */ protected function blockSelectors(OutputBlock $block) { $inner = $this->indentStr(); $this->write( $inner . implode( $this->tagSeparator, str_replace([' > ', ' + ', ' ~ '], ['>', '+', '~'], $block->selectors) ) . $this->open . $this->break ); } }