PageRenderTime 46ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/_content/plugins/Phamlp/libs/PhamlP/haml/filters/HamlScssFilter.php

https://bitbucket.org/ludovicchabant/bolt80.com
PHP | 37 lines | 11 code | 3 blank | 23 comment | 0 complexity | 6a114fcfc651cf7c5fa7011a43930a33 MD5 | raw file
  1. <?php
  2. /* SVN FILE: $Id: HamlSassFilter.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
  3. /**
  4. * {@link Scss http://sass-lang.com/} Filter for
  5. * {@link http://haml-lang.com/ Haml} class file.
  6. * @author Chris Yates <chris.l.yates@gmail.com>
  7. * @copyright Copyright (c) 2010 PBM Web Development
  8. * @license http://phamlp.googlecode.com/files/license.txt
  9. * @package PHamlP
  10. * @subpackage Haml.filters
  11. */
  12. require_once('HamlCssFilter.php');
  13. require_once(dirname(__FILE__).'/../../sass/SassParser.php');
  14. /**
  15. * {@link Sass http://sass-lang.com/} Filter for
  16. * {@link http://haml-lang.com/ Haml} class.
  17. * Parses the text as Sass then calls the CSS filter.
  18. * Useful for including inline Sass.
  19. * @package PHamlP
  20. * @subpackage Haml.filters
  21. */
  22. class HamlScssFilter extends HamlBaseFilter {
  23. /**
  24. * Run the filter
  25. * @param string text to filter
  26. * @return string filtered text
  27. */
  28. public function run($text) {
  29. $sass = new SassParser(array('syntax'=>'scss'));
  30. $css = new HamlCssFilter();
  31. $css->init();
  32. return $css->run($sass->toCss(preg_replace(HamlParser::MATCH_INTERPOLATION, '<?php echo \1; ?>', $text), false));
  33. }
  34. }