original_string: public function execute($path = null, $parents = array())
      {
          $content = '';
  
          // loop CSS data (raw data and files)
          foreach ($this->data as $source => $css) {
              /*
               * Let's first take out strings & comments, since we can't just
               * remove whitespace anywhere. If whitespace occurs inside a string,
               * we should leave it alone. E.g.:
               * p { content: "a   test" }
               */
              $this->extractStrings();
              $this->stripComments();
              $css = $this->replace($css);
  
              $css = $this->stripWhitespace($css);
              $css = $this->shortenHex($css);
              $css = $this->shortenZeroes($css);
              $css = $this->shortenFontWeights($css);
              $css = $this->stripEmptyTags($css);
  
              // restore the string we've extracted earlier
              $css = $this->restoreExtractedData($css);
  
              $source = is_int($source) ? '' : $source;
              $parents = $source ? array_merge($parents, array($source)) : $parents;
              $css = $this->combineImports($source, $css, $parents);
              $css = $this->importFiles($source, $css);
  
              /*
               * If we'll save to a new path, we'll have to fix the relative paths
               * to be relative no longer to the source file, but to the new path.
               * If we don't write to a file, fall back to same path so no
               * conversion happens (because we still want it to go through most
               * of the move code, which also addresses url() & @import syntax...)
               */
              $converter = $this->getPathConverter($source, $path ?: $source);
              $css = $this->move($converter, $css);
  
              // combine css
              $content .= $css;
          }
  
          $content = $this->moveImportsToTop($content);
  
          return $content;
      }
code: public function execute($path = null, $parents = array())
      {
          $content = '';
  
          // loop CSS data (raw data and files)
          foreach ($this->data as $source => $css) {
              /*
               * Let's first take out strings & comments, since we can't just
               * remove whitespace anywhere. If whitespace occurs inside a string,
               * we should leave it alone. E.g.:
               * p { content: "a   test" }
               */
              $this->extractStrings();
              $this->stripComments();
              $css = $this->replace($css);
  
              $css = $this->stripWhitespace($css);
              $css = $this->shortenHex($css);
              $css = $this->shortenZeroes($css);
              $css = $this->shortenFontWeights($css);
              $css = $this->stripEmptyTags($css);
  
              // restore the string we've extracted earlier
              $css = $this->restoreExtractedData($css);
  
              $source = is_int($source) ? '' : $source;
              $parents = $source ? array_merge($parents, array($source)) : $parents;
              $css = $this->combineImports($source, $css, $parents);
              $css = $this->importFiles($source, $css);
  
              /*
               * If we'll save to a new path, we'll have to fix the relative paths
               * to be relative no longer to the source file, but to the new path.
               * If we don't write to a file, fall back to same path so no
               * conversion happens (because we still want it to go through most
               * of the move code, which also addresses url() & @import syntax...)
               */
              $converter = $this->getPathConverter($source, $path ?: $source);
              $css = $this->move($converter, $css);
  
              // combine css
              $content .= $css;
          }
  
          $content = $this->moveImportsToTop($content);
  
          return $content;
      }
code_tokens: public function execute ( $ path = null , $ parents = array ( ) ) { $ content = '' ; // loop CSS data (raw data and files) foreach ( $ this -> data as $ source => $ css ) { /*
               * Let's first take out strings & comments, since we can't just
               * remove whitespace anywhere. If whitespace occurs inside a string,
               * we should leave it alone. E.g.:
               * p { content: "a   test" }
               */ $ this -> extractStrings ( ) ; $ this -> stripComments ( ) ; $ css = $ this -> replace ( $ css ) ; $ css = $ this -> stripWhitespace ( $ css ) ; $ css = $ this -> shortenHex ( $ css ) ; $ css = $ this -> shortenZeroes ( $ css ) ; $ css = $ this -> shortenFontWeights ( $ css ) ; $ css = $ this -> stripEmptyTags ( $ css ) ; // restore the string we've extracted earlier $ css = $ this -> restoreExtractedData ( $ css ) ; $ source = is_int ( $ source ) ? '' : $ source ; $ parents = $ source ? array_merge ( $ parents , array ( $ source ) ) : $ parents ; $ css = $ this -> combineImports ( $ source , $ css , $ parents ) ; $ css = $ this -> importFiles ( $ source , $ css ) ; /*
               * If we'll save to a new path, we'll have to fix the relative paths
               * to be relative no longer to the source file, but to the new path.
               * If we don't write to a file, fall back to same path so no
               * conversion happens (because we still want it to go through most
               * of the move code, which also addresses url() & @import syntax...)
               */ $ converter = $ this -> getPathConverter ( $ source , $ path ? : $ source ) ; $ css = $ this -> move ( $ converter , $ css ) ; // combine css $ content .= $ css ; } $ content = $ this -> moveImportsToTop ( $ content ) ; return $ content ; }
docstring: Minify the data.
  Perform CSS optimizations.
  
  @param string[optional] $path    Path to write the data to
  @param string[]         $parents Parent paths, for circular reference checks
  
  @return string The minified data
docstring_tokens: Minify the data . Perform CSS optimizations .