HamlExpandedRenderer.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. /* SVN FILE: $Id: HamlExpandedRenderer.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
  3. /**
  4. * HamlExpandedRenderer class file.
  5. * @author Chris Yates <chris.l.yates@gmail.com>
  6. * @copyright Copyright (c) 2010 PBM Web Development
  7. * @license http://phamlp.googlecode.com/files/license.txt
  8. * @package PHamlP
  9. * @subpackage Haml.renderers
  10. */
  11. /**
  12. * HamlExpandedRenderer class.
  13. * Blocks are on single lines and content indented.
  14. * @package PHamlP
  15. * @subpackage Haml.renderers
  16. */
  17. class HamlExpandedRenderer extends HamlRenderer {
  18. /**
  19. * Renders the opening tag of an element
  20. */
  21. public function renderOpeningTag($node) {
  22. return parent::renderOpeningTag($node) .
  23. ($node->whitespaceControl['inner'] ? '' :
  24. ($node->isSelfClosing && $node->whitespaceControl['outer'] ? '' : "\n"));
  25. }
  26. /**
  27. * Renders the closing tag of an element
  28. */
  29. public function renderClosingTag($node) {
  30. return ($node->isSelfClosing ? '' : parent::renderClosingTag($node) .
  31. ($node->whitespaceControl['outer'] ? '' : "\n"));
  32. }
  33. /**
  34. * Renders content.
  35. * @param HamlNode the node being rendered
  36. * @return string the rendered content
  37. */
  38. public function renderContent($node) {
  39. return self::INDENT . parent::renderContent($node) . "\n";
  40. }
  41. /**
  42. * Renders the start of a code block
  43. */
  44. public function renderStartCodeBlock($node) {
  45. return parent::renderStartCodeBlock($node) . "\n";
  46. }
  47. /**
  48. * Renders the end of a code block
  49. */
  50. public function renderEndCodeBlock($node) {
  51. return parent::renderEndCodeBlock($node) . "\n";
  52. }
  53. }