Pārlūkot izejas kodu

Replace the SCSS->CSS library by a more recent and powerful one

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@4201 a333f486-631f-4898-b8df-5754b55c2be0
dflaven 9 gadi atpakaļ
vecāks
revīzija
12c105b2ba
100 mainītis faili ar 0 papildinājumiem un 6139 dzēšanām
  1. 0 72
      lib/sass/Phamlp.php
  2. 0 31
      lib/sass/PhamlpException.php
  3. 0 29
      lib/sass/haml/HamlException.php
  4. 0 199
      lib/sass/haml/HamlHelpers.php
  5. 0 1249
      lib/sass/haml/HamlParser.php
  6. 0 30
      lib/sass/haml/filters/HamlBaseFilter.php
  7. 0 29
      lib/sass/haml/filters/HamlCdataFilter.php
  8. 0 30
      lib/sass/haml/filters/HamlCssFilter.php
  9. 0 32
      lib/sass/haml/filters/HamlEscapedFilter.php
  10. 0 31
      lib/sass/haml/filters/HamlJavascriptFilter.php
  11. 0 27
      lib/sass/haml/filters/HamlPhpFilter.php
  12. 0 28
      lib/sass/haml/filters/HamlPlainFilter.php
  13. 0 29
      lib/sass/haml/filters/HamlPreserveFilter.php
  14. 0 37
      lib/sass/haml/filters/HamlSassFilter.php
  15. 0 37
      lib/sass/haml/filters/HamlScssFilter.php
  16. 0 50
      lib/sass/haml/filters/_HamlMarkdownFilter.php
  17. 0 50
      lib/sass/haml/filters/_HamlTextileFilter.php
  18. 0 32
      lib/sass/haml/messages/_i18n.php
  19. 0 32
      lib/sass/haml/messages/de.php
  20. 0 32
      lib/sass/haml/messages/fr.php
  21. 0 32
      lib/sass/haml/renderers/HamlCompactRenderer.php
  22. 0 48
      lib/sass/haml/renderers/HamlCompressedRenderer.php
  23. 0 58
      lib/sass/haml/renderers/HamlExpandedRenderer.php
  24. 0 77
      lib/sass/haml/renderers/HamlNestedRenderer.php
  25. 0 137
      lib/sass/haml/renderers/HamlRenderer.php
  26. 0 58
      lib/sass/haml/tree/HamlCodeBlockNode.php
  27. 0 41
      lib/sass/haml/tree/HamlCommentNode.php
  28. 0 27
      lib/sass/haml/tree/HamlDoctypeNode.php
  29. 0 52
      lib/sass/haml/tree/HamlElementNode.php
  30. 0 50
      lib/sass/haml/tree/HamlFilterNode.php
  31. 0 73
      lib/sass/haml/tree/HamlHelperNode.php
  32. 0 253
      lib/sass/haml/tree/HamlNode.php
  33. 0 19
      lib/sass/haml/tree/HamlNodeExceptions.php
  34. 0 58
      lib/sass/haml/tree/HamlRootNode.php
  35. 0 29
      lib/sass/sass/SassException.php
  36. 0 164
      lib/sass/sass/SassFile.php
  37. 0 848
      lib/sass/sass/SassParser.php
  38. 0 65
      lib/sass/sass/extensions/compass/config.php
  39. 0 47
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/_blueprint.scss
  40. 0 101
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_buttons.scss
  41. 0 32
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_colors.scss
  42. 0 11
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_debug.scss
  43. 0 86
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_fancy-type.scss
  44. 0 68
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_form.scss
  45. 0 249
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_grid.scss
  46. 0 109
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_ie.scss
  47. 0 57
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_interaction.scss
  48. 0 37
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_link-icons.scss
  49. 0 147
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_liquid.scss
  50. 0 93
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_print.scss
  51. 0 3
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_reset.scss
  52. 0 133
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_rtl.scss
  53. 0 54
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_scaffolding.scss
  54. 0 104
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_typography.scss
  55. 0 37
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_utilities.scss
  56. 0 58
      lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/reset/_utilities.scss
  57. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/basic/grid.png
  58. 0 4
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/basic/ie.sass
  59. 0 30
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/basic/manifest.rb
  60. 0 10
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/basic/partials/_base.sass
  61. 0 4
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/basic/print.sass
  62. 0 12
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/basic/screen.sass
  63. 0 49
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons.sass
  64. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons/cross.png
  65. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons/key.png
  66. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons/tick.png
  67. 0 17
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/buttons/manifest.rb
  68. 0 13
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons.sass
  69. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/doc.png
  70. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/email.png
  71. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/external.png
  72. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/feed.png
  73. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/im.png
  74. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/pdf.png
  75. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/visited.png
  76. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/xls.png
  77. 0 23
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/manifest.rb
  78. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/project/grid.png
  79. 0 16
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/project/ie.sass
  80. 0 30
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/project/manifest.rb
  81. 0 11
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/project/partials/_base.sass
  82. 0 8
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/project/print.sass
  83. 0 45
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/project/screen.sass
  84. BIN
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/grid.png
  85. 0 16
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/ie.sass
  86. 0 33
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/manifest.rb
  87. 0 10
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_base.sass
  88. 0 6
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_form.sass
  89. 0 18
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_page.sass
  90. 0 38
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_two_col.sass
  91. 0 5
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/print.sass
  92. 0 14
      lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/screen.sass
  93. 0 2
      lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/_compass.scss
  94. 0 15
      lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/_css3.scss
  95. 0 1
      lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/_layout.scss
  96. 0 3
      lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/_reset.scss
  97. 0 6
      lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/_utilities.scss
  98. 0 43
      lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_background-clip.scss
  99. 0 42
      lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_background-origin.scss
  100. 0 14
      lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_background-size.scss

+ 0 - 72
lib/sass/Phamlp.php

@@ -1,72 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlException.php 61 2010-04-16 10:19:59Z chris.l.yates $ */
-/**
- * Phamlp.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- */
-/**
- * Phamlp class.
- * Static support classes.
- * @package			PHamlP
- */
-class Phamlp {
-	/**
-	 * @var string Language used to translate messages
-	 */
-	public static $language;
-	/**
-	 * @var array Messages used for translation
-	 */
-	public static $messages;
-	
-	/**
-	 * Translates a message to the specified language.
-	 * @param string message category.
-	 * @param string the original message
-	 * @param array parameters to be applied to the message using <code>strtr</code>.
-	 * @return string the translated message
-	 */
-	public static function t($category, $message, $params = array()) {
-		if (!empty(self::$language)) {
-			$message = self::translate($category, $message);
-		}
-		return $params!==array() ? strtr($message,$params) : $message;
-	}
-
-	/**
-	 * Translates a message to the specified language.
-	 * If the language or the message in the specified language is not defined the
-	 * original message is returned.
-	 * @param string message category
-	 * @param string the original message
-	 * @return string the translated message
-	 */
-	private static function translate($category, $message) {
-		if (empty(self::$messages[$category])) self::loadMessages($category);
-		return (empty(self::$messages[$category][$message]) ? $message : self::$messages[$category][$message]);
-	}
-
-	/**
-	 * Loads the specified language message file for translation.
-	 * Message files are PHP files in the "category/messages" directory and named
-	 * "language.php", where category is either haml or sass, and language is the
-	 * specified language.
-	 * The message file returns an array of (source, translation) pairs; for example:
-	 * <pre>
-	 * return array(
-	 *   'original message 1' => 'translated message 1',
-	 *   'original message 2' => 'translated message 2',
-	 * );
-	 * </pre>
-	 * @param string message category
-	 */
-	private static function loadMessages($category) {
-		$messageFile = dirname(__FILE__).DIRECTORY_SEPARATOR.$category.DIRECTORY_SEPARATOR.'messages'.DIRECTORY_SEPARATOR.self::$language.'.php';
-		if (file_exists($messageFile)) {
-			self::$messages[$category] = require_once($messageFile);
-		}
-	}
-}

+ 0 - 31
lib/sass/PhamlpException.php

@@ -1,31 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlException.php 61 2010-04-16 10:19:59Z chris.l.yates $ */
-/**
- * Phamlp exception.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- */
-
-require_once('Phamlp.php');
-
-/**
- * Phamlp exception class.
- * Base class for PHamlP::Haml and PHamlP::Sass exceptions.
- * Translates exception messages.
- * @package			PHamlP
- */
-class PhamlpException extends Exception {
-	/**
-	 * Phamlp Exception.
-	 * @param string Category (haml|sass)
-	 * @param string Exception message
-	 * @param array parameters to be applied to the message using <code>strtr</code>.
-	 */
-	public function __construct($category, $message, $params, $object) {
-		parent::__construct(Phamlp::t($category, $message, $params) . 
-			(is_object($object) ? ": {$object->filename}::{$object->line}\nSource: {$object->source}" : '')
-		);
-	}
-}

+ 0 - 29
lib/sass/haml/HamlException.php

@@ -1,29 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlException.php 61 2010-04-16 10:19:59Z chris.l.yates $ */
-/**
- * Haml exception.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml
- */
-
-require_once(dirname(__FILE__).'/../PhamlpException.php');
-
-/**
- * Haml exception class.
- * @package			PHamlP
- * @subpackage	Haml
- */
-class HamlException extends PhamlpException {
-	/**
-	 * Haml Exception. 
-	 * @param string Exception message
-	 * @param array parameters to be applied to the message using <code>strtr</code>.
-	 * @param object object with source code and meta data
-	 */
-	public function __construct($message, $params = array(), $object = null) {
-		parent::__construct('haml', $message, $params, $object);
-	}
-}

+ 0 - 199
lib/sass/haml/HamlHelpers.php

@@ -1,199 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlHelpers.php 92 2010-05-20 17:42:59Z chris.l.yates $ */
-/**
- * HamlHelpers class file.
- * 
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml
- */
-
-/**
- * HamlHelpers class.
- * Contains methods to make it easier to do various tasks.
- * 
- * The class can be extended to provide user defined helper methods. The
- * signature for user defined helper methods is ($block, $other, $arguments);
- * $block is the string generated by the Haml block being operated on.
- * 
- * Tthe path to the extended class is provided to HamlParser in the config
- * array; class name == file name.
- * 
- * HamlHelpers and any extended class are automatically included in the context
- * that a Haml template is parsed in, so all the methods are at your disposal
- * from within the template.
- * 
- * @package			PHamlP
- * @subpackage	Haml
- */
-class HamlHelpers {
-	const XMLNS = 'http://www.w3.org/1999/xhtml';
-	
-	/**
-	 * Returns the block with string appended.
-	 * @see succeed
-	 * @param string Haml block
-	 * @param string string to append
-	 * @return string the block with string appended.
-	 */
-	public static function append($block, $string) {
-	  return $block.$string;
-	}
-	
-	/**
-	 * Escapes HTML entities in text, but without escaping an ampersand that is
-	 * already part of an escaped entity.
-	 * @param string Haml block
-	 * @return string the block with HTML entities escaped.
-	 */
-	public static function escape_once($block) {
-	  return htmlentities(html_entity_decode($block));
-	}
-	
-	/**
-	 * Returns an array containing default assignments for the xmlns, lang, and
-	 * xml:lang attributes of the html element.
-	 * This helper method is for use in the html element only.
-	 * 
-	 * Examples:<br/>
-	 * %html(html_attrs())<br/> 
-	 * produces<br/> 
-	 * <html lang="en-us" xml:lang="en-us" xmlns="http://www.w3.org/1999/xhtml">
-	 * 
-	 * %html(html_attrs('en-gb'))<br/> 
-	 * produces<br/>
-	 * <html lang="en-gb" xml:lang="en-gb" xmlns="http://www.w3.org/1999/xhtml">
-	 * 
-	 * %html(html_attrs('en-gb', false))<br/> 
-	 * produces<br/> 
-	 * <html xml:lang="en-gb" xmlns="http://www.w3.org/1999/xhtml">
-	 * 
-	 * Although handled in HamlParser, the notes below are here for completeness.<br/> 
-	 * Other attributes are defined as normal. e.g.<br/> 
-	 * %html(xmlns:me="http://www.example.com/me" html_attrs('en-gb', false))<br/> 
-	 * produces<br/> 
-	 * <html xml:lang="en-gb" xmlns="http://www.w3.org/1999/xhtml" xmlns:me="http://www.example.com/me">
-	 * 
-	 * PHamlP also allows for the language to be defined using PHP code that can 
-	 * be eval'd; the code must end with a semi-colon (;). e.g.<br/> 
-	 * %html(html_attrs("FW::app()->language);", false))<br/> 
-	 * produces (assuming FW::app()->language returns 'en-gb')<br/> 
-	 * <html xml:lang="en-gb" xmlns="http://www.w3.org/1999/xhtml">
-	 * 
-	 * @param string document language. Default = en-us
-	 * @param boolean whether the html element has the lang attribute. Default: true
-	 * Should be set false for XHTML 1.1 or greater documents
-	 * @return string the block with string appended.
-	 */
-	public static function html_attrs($language = 'en-us', $lang = true)  {
-	  return ($lang ?
-	  	array('xmlns'=>self::XMLNS, 'xml:lang'=>$language, 'lang'=>$language) :
-	  	array('xmlns'=>self::XMLNS, 'xml:lang'=>$language));
-	}
-	
-	/**
-	 * Returns a copy of text with ampersands, angle brackets and quotes escaped
-	 * into HTML entities.
-	 * @param string Haml block
-	 * @return string the block with HTML entities escaped.
-	 */
-	public static function html_escape($block) {
-	  return htmlspecialchars($block);
-	}
-	
-	/**
-	 * Iterates an array and using the block to generate a <li> element for each
-	 * array element.
-	 * Examples:<br/>
-	 * = list_of(array('red', 'orange', ...., 'violet'), 'colour')<br/>
-	 * 	= colour<br/>
-	 * Produces:<br/>
-	 * <li>red</li><br/>
-	 * <li>orange</li><br/>
-	 *    |<br/>
-	 *    |<br/>
-	 * <li>violet></li><br/>
-	 * 
-	 * = list_of(array('Fly Fishing' => 'JR Hartley', 'Lord of the Rings' => 'JRR Tolkien'), 'title', 'author')<br/>
-	 *   %h3= title<br/>
-	 *   %p= author<br/>
-	 * Produces:<br/>
-	 * <li><br/>
-	 *   <h3>Fly Fishing</h3><br/>
-	 *   <p>JR Hartley</p><br/>
-	 * </li><br/>
-	 * <li><br/>
-	 *   <h3>Lord of the Rings</h3><br/>
-	 *   <p>JRR Tolkien</p><br/>
-	 * </li><br/>
-	 * 
-	 * @param string Haml block
-	 * @param array items
-	 * @param string string in block to replace with item key or item value
-	 * @param string string in block to replace with item value
-	 * @return string list items.
-	 */
-	public static function list_of($block, $items, $key, $value = null) {
-		$output = '';
-		foreach ($items as $_key=>$_value) {
-			$output .= '<li>' . strtr($block, (empty($value) ? array($key=>$_value) :
-					array($key=>$_key, $value=>$_value))) . '</li>';
-		} // foreach
-		return $output;
-	}
-	
-	/**
-	 * Alias for prepend.
-	 * @see prepend
-	 * @param string Haml block
-	 * @param string string to prepend
-	 * @return string the block with string prepended
-	 */
-	public static function preceed($block, $string) {
-		return self::prepend($block, $string);
-	}
-	
-	/**
-	 * Returns the block with string prepended.
-	 * @param string Haml block
-	 * @param string string to prepend
-	 * @return string the block with string prepended
-	 */
-	public static function prepend($block, $string) {
-		return $string.$block;
-	}
-	
-	/**
-	 * Converts newlines in the block to HTML entities.
-	 * @param string Haml block
-	 * @return string the block with newlines converted to HTML entities
-	 */
-	public static function preserve($block) {
-		return str_replace("\n", '&#x0d;&#x0a;', $block);
-	}
-	
-	/**
-	 * Alias for append.
-	 * @see append
-	 * @param string Haml block
-	 * @param string string to apppend
-	 * @return string the block with string apppended
-	 */
-	public static function succeed($block, $string) {
-		return self::append($block, $string);
-	}
-	
-	/**
-	 * Surrounds a block of Haml code with strings.
-	 * If $back is not given it defaults to $front.
-	 * @param string Haml block
-	 * @param string string to prepend
-	 * @param string string to apppend
-	 * @return string the block surrounded by the strings
-	 */
-	public static function surround($block, $front, $back=null) {
-	  return $front.$block.(is_null($back) ? $front : $back);
-	}	
-}

+ 0 - 1249
lib/sass/haml/HamlParser.php

@@ -1,1249 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlParser.php 117 2010-09-21 09:41:58Z chris.l.yates@gmail.com $ */
-/**
- * HamlParser class file.
- * HamlParser allows you to write view files in
- * {@link http://haml-lang.com/ Haml}.
- * 
- * Please see the {@link http://haml-lang.com/docs/yardoc/file.Haml_REFERENCE.html#plain_text Haml documentation} for the syntax.
- * 
- * Credits:
- * This is a port of Haml to PHP. All the genius comes from the people that
- * invented and develop Haml; in particular:
- * + {@link http://hamptoncatlin.com/ Hampton Catlin},
- * + {@link http://nex-3.com/ Nathan Weizenbaum},
- * + {@link http://chriseppstein.github.com/ Chris Eppstein}
- * 
- * The bugs are mine. Please report any found at {@link http://code.google.com/p/phamlp/issues/list}
- * 
- * Notes
- * <ul>
- * <li>Debug (addition)<ul>
- * <li>Source debug - adds comments to the output showing each source line above
- * the result - ?#s+ to turn on, ?#s- to turn off, ?#s! to toggle</li>
- * <li>Output debug - shows the output directly in the browser - ?#o+ to turn on, ?#o- to turn off, ?#o! to toggle</li>
- * <li>Control both at once - ?#so+ to turn on, ?#so- to turn off, ?#so! to toggle</li>
- * <li>Ugly mode can be controlled by the template</li>
- * <liUugly mode strips comments in the output by default</li>
- * <li>Ugly mode is turned off when in debug</li></ul></li>
- * <li>"-" command (notes)<ul>
- * <li>PHP does not require ending ";"</li>
- * <li>PHP control blocks are automatically bracketed</li>
- * <li>Switch Case statements do not end with ":"
- * <li>do-while control blocks are written as "do (expression)"</li></ul></li>
- * </ul>
- * Comes with filters that run "out of the box":
- * + <b>plain</b>: useful for large chunks of text to ensure Haml doesn't do anything.
- * + <b>escaped</b>: like plain but the output is (x)html escaped.
- * + <b>preserve</b>: like plain but preserves the whitespace.
- * + <b>cdata</b>: wraps the content in CDATA tags.
- * + <b>javascript</b>: wraps the content in <script> and CDATA tags. Useful for adding inline JavaScript.
- * + <b>css</b>: wraps the content in <style> and CDATA tags. Useful for adding inline CSS.
- * + <b>php</b>: wraps the content in <?php tags. The content is PHP code.
- * There are two filters that require external classes to work. See {@link http://code.google.com/p/phamlp/wiki/PredefinedFilters PredefinedFilters on the PHamlP wiki} for details of how to use them.
- * + <b>markdown</b>: Parses the filtered text with Markdown.
- * + <b>textile</b>: Parses the filtered text with Textile.
- * PHP can be used in all the filters (except php) by wrapping expressions in #().
- * 
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml
- */
-
-require_once('tree/HamlNode.php');
-require_once('HamlHelpers.php');
-require_once('HamlException.php');
-
-/**
- * HamlParser class.
- * Parses {@link http://haml-lang.com/ Haml} view files.
- * @package			PHamlP
- * @subpackage	Haml
- */
-class HamlParser {
-	/**#@+
-	 * Debug modes
-	 */
-	const DEBUG_NONE = 0;
-	const DEBUG_SHOW_SOURCE = 1;
-	const DEBUG_SHOW_OUTPUT = 2;
-	const DEBUG_SHOW_ALL = 3;
-	/**#@-*/
-
-	/**#@+
-	 * Regexes used to parse the document
-	 */
-	const REGEX_HAML = '/(?m)^([ \x09]*)((?::(\w*))?(?:%([\w:-]*))?(?:\.((?:(?:[-_:a-zA-Z]|#\{.+?\})+(?:[-:\w]|#\{.+?\})*(?:\.?))*))?(?:#((?:[_:a-zA-Z]|#\{.+?\})+(?:[-:\w]|#\{.+?\})*))?(?:\[(.+)\])?(?:(\()((?:(?:html_attrs\(.*?\)|data[\t ]*=[\t ]*\{.+?\}|(?:[_:a-zA-Z]+[-:\w]*)[\t ]*=[\t ]*.+)[\t ]*)+\)))?(?:(\{)((?::(?:html_attrs\(.*?\)|data[\t ]*=>[\t ]*\{.+?\}|(?:[_:a-zA-Z]+[-:\w]*)[\t ]*=>?[\t ]*.+)(?:,?[\t ]*)?)+\}))?(\|?>?\|?<?) *((?:\?#)|!!!|\/\/|\/|-#|!=|&=|!|&|=|-|~|\\\\\\\\)? *(.*?)(?:\s(\|)?)?)$/'; // Haml line
-	const REGEX_ATTRIBUTES = '/:?(?:(data)\s*=>?\s*([({].*?[})]))|(\w+(?:[-:]\w*)*)\s*=>?\s*(?(?=\[)(?:\[(.+?)\])|(?(?=([\'"]))(?:[\'"](.*?)\5)|([^\s,]+)))/';
-	const REGEX_ATTRIBUTE_FUNCTION = '/^\$?[_a-zA-Z]\w*(?(?=->)(->[_a-zA-Z]\w*)+|(::[_a-zA-Z]\w*)?)\(.+\)$/'; // Matches functions and instantiated and static object methods
-	const REGEX_WHITESPACE_REMOVAL = '/(.*?)\s+$/s';
-	const REGEX_WHITESPACE_REMOVAL_DEBUG = '%(.*?)(?:<br />\s)$%s'; // whitespace control when showing output
-	//const REGEX_CODE_INTERPOLATION = '/(?:(?<!\\\\)#{(.+?(?:\(.*?\).*?)*)})/';
-	/**#@-*/
-	const MATCH_INTERPOLATION = '/(?<!\\\\)#\{(.*?)\}/';
-	const INTERPOLATE = '<?php echo \1; ?>';
-	const HTML_ATTRS = '/html_attrs\(\s*((?(?=\')(?:.*?)\'|(?:.*?)"))(?:\s*,\s*(.*?))?\)/';
-
-
-	/**#@+
-	 * Haml regex match positions
-	 */
-	const HAML_HAML									=  0;
-	const HAML_INDENT								=  1;
-	const HAML_SOURCE								=  2;
-	const HAML_FILTER								=  3;
-	const HAML_TAG									=  4;
-	const HAML_CLASS								=  5;
-	const HAML_ID										=  6;
-	const HAML_OBJECT_REFERENCE			=  7;
-	const HAML_OPEN_XML_ATTRIBUTES	=  8;
-	const HAML_XML_ATTRIBUTES 			=  9;
-	const HAML_OPEN_RUBY_ATTRIBUTES = 10;
-	const HAML_RUBY_ATTRIBUTES			= 11;
-	const HAML_WHITESPACE_REMOVAL		= 12;
-	const HAML_TOKEN								= 13;
-	const HAML_CONTENT							= 14;
-	const HAML_MULTILINE						= 15;
-	/**#@-*/
-
-	/**#@+
-	 * Haml tokens
-	 */
-	const DOCTYPE = '!!!';
-	const HAML_COMMENT = '!(-#|//)!';
-	const XML_COMMENT = '/';
-	const SELF_CLOSE_TAG = '/';
-	const ESCAPE_XML = '&=';
-	const UNESCAPE_XML = '!=';
-	const INSERT_CODE = '=';
-	const INSERT_CODE_PRESERVE_WHITESPACE = '~';
-	const RUN_CODE = '-';
-	const INNER_WHITESPACE_REMOVAL = '<';
-	const OUTER_WHITESPACE_REMOVAL = '>';
-	const BLOCK_LEFT_OUTER_WHITESPACE_REMOVAL = '|>';
-	const BLOCK_RIGHT_OUTER_WHITESPACE_REMOVAL = '>|';
-	/**#@-*/
-	
-	const MULTILINE= ' |';
-
-	/**#@+
-	 * Attribute tokens
-	 */
-	const OPEN_XML_ATTRIBUTES = '(';
-	const CLOSE_XML_ATTRIBUTES = ')';
-	const OPEN_RUBY_ATTRIBUTES = '{';
-	const CLOSE_RUBY_ATTRIBUTES = '}';
-	/**#@-*/
-
-	/**#@+
-	 * Directives
-	 */
-	const DIRECTIVE = '?#';
-	const SOURCE_DEBUG = 's';
-	const OUTPUT_DEBUG = 'o';
-	/**#@-*/
-
-	const IS_XML_PROLOG = 'XML';
-	const XML_PROLOG = "<?php echo \"<?xml version='1.0' encoding='{encoding}' ?>\n\"; ?>";
-	const DEFAULT_XML_ENCODING = 'utf-8';
-	const XML_ENCODING = '{encoding}';
-
-	/**
-	 * @var string Doctype format. Determines how the Haml Doctype declaration is 
-	 * rendered.
-	 * @see doctypes
-	 */
-	private $format = 'xhtml';
-	/**
-	 * @var string Custom Doctype. If not null and the Doctype declaration in the
-	 * Haml Document is not a built in Doctype this will be used as the Doctype.
-	 * This allows Haml to be used for non-(X)HTML documents that are XML compliant.
-	 * @see doctypes
-	 * @see emptyTags
-	 * @see inlineTags
-	 * @see minimizedAttributes
-	 */
-	 private $doctype;
-	/**
-	 * @var boolean whether or not to escape X(HT)ML-sensitive characters in script.
-	 * If this is true, = behaves like &=; otherwise, it behaves like !=.
-	 * Note that if this is set, != should be used for yielding to subtemplates
-	 * and rendering partials. Defaults to false.
-	 */
-	private $escapeHtml = false;
-  /**
-   * @var boolean Whether or not attribute hashes and scripts designated by
-   * = or ~ should be evaluated. If true, the scripts are rendered as empty strings.
-   * Defaults to false.
-   */
-	private $suppressEval = false;
-  /**
-	 * @var string The character that should wrap element attributes. Characters
-	 * of this type within attributes will be escaped (e.g. by replacing them with
-	 * &apos;) if the character is an apostrophe or a quotation mark.
-	 * Defaults to " (an quotation mark).
-	 */
-	private $attrWrapper = '"';
-	/**
-	 * @var array available output styles:
-	 * nested: output is nested according to the indent level in the source
-	 * expanded: block tags have their own lines as does content which is indented
-	 * compact: block tags and their content go on one line
-	 * compressed: all unneccessary whitepaces is removed. If ugly is true this style is used.
-	 */
-	private $styles = array('nested', 'expanded', 'compact', 'compressed');
-	/**
-	 * @var string output style. Note: ugly must be false to allow style.
-	 */
-	private $style = 'nested';
-  /**
-	 * @var boolean if true no attempt is made to properly indent or format
-	 * the output. Reduces size of output file but is not very readable;
-	 * equivalent of style == compressed. Note: ugly must be false to allow style.
-	 * Defaults to true.
-	 * @see style
-	 */
-	private $ugly = true;
-	/**
-	 * @var boolean if true comments are preserved in ugly mode. If not in
-	 * ugly mode comments are always output. Defaults to false.
-	 */
-	private $preserveComments = false;
-	/**
-	 * @var integer Initial debug setting:
-	 * no debug, show source, show output, or show all.
-	 * Debug settings can be controlled in the template
-	 * Defaults to DEBUG_NONE.
-	 */
-	private $debug = self::DEBUG_NONE;
-	/**
-	 * @var string Path to the directory containing user defined filters. If 
-	 * specified this dirctory will be searched before PHamlP looks for the filter
-	 * in it's collection. This allows the default filters to be overridden and
-	 * new filters to be installed. Note: No trailing directory separator.
-	 */
-	private $filterDir;
-	/**
-	 * @var string Path to the file containing user defined Haml helpers.
-	 */
-	private $helperFile;
-	/**
-	 * @var string Haml helper class. This must be an instance of HamlHelpers.
-	 */
-	private $helperClass = 'HamlHelpers';
-
-	/**
-	 * @var array built in Doctypes
-	 * @see format
-	 * @see doctype
-	 */
-	private $doctypes = array (
-		'html4' => array (
-			'<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">', //HTML 4.01 Transitional
-			'Strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD 4.01 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">', //HTML 4.01 Strict
-			'Frameset' => '<!DOCTYPE html PUBLIC "-//W3C//DTD 4.01 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">', //HTML 4.01 Frameset
-		),
-		'html5' => array (
-			'<!DOCTYPE html>', // XHTML 5
-		),
-		'xhtml' => array (
-			'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">', //XHTML 1.0 Transitional
-			'Strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">', //XHTML 1.0 Strict
-			'Frameset' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">', //XHTML 1.0 Frameset
-			'5' => '<!DOCTYPE html>', // XHTML 5
-			'1.1' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">', // XHTML 1.1
-			'Basic' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">', //XHTML Basic 1.1
-			'Mobile' => '<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">', //XHTML Mobile 1.2
-		)
-	);
-	/**
-	 * @var array A list of tag names that should be automatically self-closed
-	 * if they have no content.
-	 */
-	private $emptyTags = array('meta', 'img', 'link', 'br', 'hr', 'input', 'area', 'param', 'col', 'base');
-	/**
-	 * @var array A list of inline tags.
-	 */
-	private $inlineTags = array('a', 'abbr', 'accronym', 'b', 'big', 'cite', 'code', 'dfn', 'em', 'i', 'kbd', 'q', 'samp', 'small', 'span', 'strike', 'strong', 'tt', 'u', 'var');
-	/**
-	 * @var array attributes that are minimised
-	 */
-	 private $minimizedAttributes = array('compact', 'checked', 'declare', 'readonly', 'disabled', 'selected', 'defer', 'ismap', 'nohref', 'noshade', 'nowrap', 'multiple', 'noresize');
-	/**
-	 * @var array A list of tag names that should automatically have their newlines preserved.
-	 */
-	private $preserve = array('pre', 'textarea');
-	/**#@-*/
-
-	/**
-	 * @var string the character used for indenting. Space or tab.
-	 * @see indentSpaces
-	 */
-	private $indentChar;
-	/**
-	 * @var array allowable characters for indenting
-	 */
-	private $indentChars = array(' ', "\t");
-	/**
-	 * @var integer number of spaces for indentation.
-	 * Used on source if {@link indentChar} is space.
-	 * Used on output if {@link ugly} is false.
-	 */
-	private $indentSpaces;
-	/**
-	 * @var array loaded filters
-	 */
-	private $filters = array();
-	/**
-	 * @var boolean whether line is in a filter
-	 */
-	private $inFilter = false;
-	/**
-	 * @var boolean whether to show the output in the browser for debug
-	 */
-	private $showOutput;
-	/**
-	 * @var boolean whether to show the source in the browser for debug
-	 */
-	private $showSource;
-	/**
-	 * @var integer line number of source being parsed
-	 */
-	private $line;
-	/**
-	 * @var string name of file being parsed
-	 */
-	private $filename;
-	/**
-	 * @var mixed source
-	 */
-	private $source;
-
-	/**
-	 * HamlParser constructor.
-	 * @param array options
-	 * @return HamlParser
-	 */
-	public function __construct($options = array()) {
-		if (isset($options['language'])) {
-			Phamlp::$language = $options['language'];
-			unset($options['language']);
-		}
-		foreach ($options as $name => $value) {
-			$this->$name = $value;
-		} // foreach
-		
-		if ($this->ugly) {
-			$this->style = 'compressed';
-		}
-
-		$this->format = strtolower($this->format);
-		if (is_null($this->doctype) &&
-				!array_key_exists($this->format, $this->doctypes)) {
-			throw new HamlException('Invalid {what} ({value}). Must be one of "{options}"', array('{what}'=>'format', '{value}'=>$this->format, '{options}'=>join(', ', array_keys($this->doctypes))), $this);
-		}
-
-		$this->showSource = $this->debug & HamlParser::DEBUG_SHOW_SOURCE;
-		$this->showOutput = $this->debug & HamlParser::DEBUG_SHOW_OUTPUT;
-		
-		require_once dirname(__FILE__).DIRECTORY_SEPARATOR.'HamlHelpers.php';
-		if (isset($this->helperFile)) {
-			require_once $this->helperFile;
-			$this->helperClass = basename($this->helperFile, ".php"); 
-			if (!is_subclass_of($this->helperClass, 'HamlHelpers')) {
-				throw new HamlException('{what} must extend {base} class', array('{what}'=>$this->helperClass, '{base}'=>'HamlHelpers'), $this);
-			}
-		} 
-	}
-	
-	/**
-	 * Getter.
-	 * @param string name of property to get
-	 * @return mixed return value of getter function
-	 */
-	public function __get($name) {
-		$getter = 'get' . ucfirst($name);
-		if (method_exists($this, $getter)) {
-			return $this->$getter();
-		}
-		throw new HamlException('No getter function for {what}', array('{what}'=>$name));
-	}
-	
-	public function getFilename() {
-		return $this->filename; 
-	}
-	
-	public function getLine() {
-		return $this->line; 
-	}
-	
-	public function getSource() {
-		return $this->source; 
-	}
-
-	/**
-	 * Parses a Haml file.
-	 * If an output directory is given the resulting PHP is cached.
-	 * @param string path to file to parse
-	 * @param mixed boolean: true to use the default cache directory, false to use
-	 * the source file directory. string: path to the cache directory.
-	 * null: disable caching
-	 * @param string output file extension
-	 * @param integer permission for the output directory and file
-	 * @return mixed string: the resulting PHP if no output directory is specified
-	 * or the output filename if the output directory is specified.
-	 * boolean: false if the output file could not be written.
-	 */
-	public function parse($sourceFile, $cacheDir=null, $permission=0755, $sourceExtension='.haml', $outputExtension='.php') {
-		if (is_string($cacheDir) || is_bool($cacheDir)) {
-			if (is_bool($cacheDir)) {
-				$cacheDir =
-						($cacheDir ? dirname(__FILE__).DIRECTORY_SEPARATOR.'haml-cache' :
-						dirname($sourceFile));
-			}
-			$outputFile = $cacheDir.DIRECTORY_SEPARATOR.
-					basename($sourceFile, $sourceExtension).$outputExtension;
-			if (@filemtime($sourceFile) > @filemtime($outputFile)) {
-				if (!is_dir($cacheDir)) {
-					@mkdir($cacheDir, $permission);
-				}
-				$return = (file_put_contents($outputFile, $this->haml2PHP($sourceFile))
-						=== false ? false : $outputFile);
-				if ($return !== false) {
-					@chmod($outputFile, $permission);
-				}
-			}
-			else {
-				$return = $outputFile;
-			}
-		}
-		else {
-			$return = $this->haml2PHP($sourceFile);
-		}
-		return $return;
-	}
-
-	/**
-	 * Parses a Haml file into PHP.  
-	 * @param string path to file to parse
-	 * @return string the resulting PHP
-	 */
-	public function haml2PHP($sourceFile) {
-		$this->line = 0;
-		$this->filename = $sourceFile;
-		$helpers = "<?php\nrequire_once '".dirname(__FILE__).DIRECTORY_SEPARATOR."HamlHelpers.php';\n";
-		if (isset($this->helperFile)) {
-			$helpers .= "require_once '{$this->helperFile}';\n";
-		}
-		$helpers .= "?>";
-		return $helpers . $this->toTree(file_get_contents($sourceFile))->render();
-	}
-
-	/**
-	 * Parse Haml source into a document tree.
-	 * @param string Haml source
-	 * @return HamlRootNode the root of this document tree
-	 */
-	private function toTree($source) {
-		$this->source = explode("\n", $source);
-		$this->setIndentChar();
-
-		preg_match_all(self::REGEX_HAML, $source, $this->source, PREG_SET_ORDER);
-		unset($source);
-		$root = new HamlRootNode(array(
-			'format' => $this->format,
-			'style' => $this->style,
-			'attrWrapper' => $this->attrWrapper,
-			'minimizedAttributes' => $this->minimizedAttributes
-		));
-		$this->buildTree($root);
-		return $root;
-	}
-
-	/**
-	 * Builds a parse tree under the parent node.
-	 * @param HamlNode the parent node
-	 */
-	private function buildTree($parent) {
-		while (!empty($this->source) && $this->isChildOf($parent, $this->source[0])) {
-			$line = $this->getNextLine();
-			if (!empty($line)) {
-				$node = ($this->inFilter ?
-					new HamlNode($line[self::HAML_SOURCE], $parent) :
-					$this->parseLine($line, $parent));
-
-				if (!empty($node)) {
-					$node->token = $line;
-					$node->showOutput = $this->showOutput;
-					$node->showSource = $this->showSource;
-					$this->addChildren($node, $line);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Adds children to a node if the current line has children.
-	 * @param HamlNode the node to add children to
-	 * @param array line to test
-	 */
-	private function addChildren($node, $line) {
-		if ($node instanceof HamlFilterNode) {
-			$this->inFilter = true;
-		}
-		if ($this->hasChild($line, $this->inFilter)) {
-			$this->buildTree($node);
-			if ($node instanceof HamlFilterNode) {
-				$this->inFilter = false;
-			}
-		}
-	}
-
-	/**
-	 * Returns a value indicating if the next line is a child of the parent line
-	 * @param array parent line
-	 * @param boolean whether to all greater than the current indent
-	 * Used if the source line is a comment or a filter.
-	 * If true all indented lines are regarded as children; if not the child line
-	 * must only be indented by 1 or blank. Defaults to false.
-	 * @return boolean true if the next line is a child of the parent line
-	 * @throws Exception if the indent is invalid
-	 */
-	private function hasChild($line, $allowGreater = false) {
-		if (!empty($this->source)) {
-			$i = 0;
-			$c = count($this->source);
-			while (empty($nextLine[self::HAML_SOURCE]) && $i <= $c) {
-				$nextLine = $this->source[$i++];
-			}
-
-			$level = $this->getLevel($nextLine, $line['line'] + $i);
-
-			if (($level == $line['level'] + 1) ||
-					($allowGreater && $level > $line['level'])) {
-				return true;
-			}
-			elseif ($level <= $line['level']) {
-				return false;
-			}
-			else {
-				throw new HamlException('Illegal indentation level ({level}); indentation level can only increase by one', array('{level}'=>$level), $this);
-			}
-		}
-		else {
-			return false;
-		}
-	}
-
-	/**
-	 * Returns a value indicating if $line is a child of a node.
-	 * A blank line is a child of a node.
-	 * @param HamlNode the node
-	 * @param array the line to check
-	 * @return boolean true if the line is a child of the node, false if not
-	 */
-	private function isChildOf($node, $line) {
-		$haml = trim($line[self::HAML_HAML]);
-		return empty($haml) || $this->getLevel($line, $this->line) >
-			$node->level;
-	}
-
-	/**
-	 * Determine the indent character and indent spaces.
-	 * The first character of the first indented line determines the character.
-	 * If this is a space the number of spaces determines the indentSpaces; this
-	 * is always 1 if the indent character is a tab.
-	 * @throws HamlException if the indent is mixed
-	 */
-	private function setIndentChar() {
-		foreach ($this->source as $l=>$source) {
-			if (!empty($source) && in_array($source[0], $this->indentChars)) {
-				$this->indentChar = $source[0];
-				for	($i = 0, $len = strlen($source); $i < $len && $source[$i] == $this->indentChar; $i++);
-				if ($i < $len && in_array($source[$i], $this->indentChars)) {
-					$this->line = ++$l;
-					$this->source = $source;
-					throw new HamlException('Mixed indentation not allowed', array(), $this);
-				}
-				$this->indentSpaces = ($this->indentChar == ' ' ? $i : 1);
-				return;
-			}
-		} // foreach
-		$this->indentChar = ' ';
-		$this->indentSpaces = 2;
-	}
-
-	/**
-	 * Gets the next line.
-	 * @param array remaining source lines
-	 * @return array the next line
-	 */
-	private function getNextLine() {
-		$line = array_shift($this->source);
-		// Blank lines ore OK
-		$haml =  trim($line[self::HAML_HAML]);
-		if (empty($haml)) {
-			$this->line++;
-			return null;
-		}
-		// The regex will strip off a '<' at the start of a line
-		if ($line[self::HAML_WHITESPACE_REMOVAL] ===
-				self::INNER_WHITESPACE_REMOVAL && empty($line[self::HAML_TAG])) {
-			$line[self::HAML_CONTENT] =
-				$line[self::HAML_WHITESPACE_REMOVAL].$line[self::HAML_TOKEN].$line[self::HAML_CONTENT];
-		}
-		// The regex treats lines starting with [.+] as an object reference; they are just content
-		if (!empty($line[self::HAML_OBJECT_REFERENCE]) && empty($line[self::HAML_TAG])) {
-			unset($line[self::HAML_OBJECT_REFERENCE]);
-			$line[self::HAML_CONTENT] = $line[self::HAML_SOURCE];
-		}
-		$line['line'] = $this->line++;
-		$line['level'] = $this->getLevel($line, $this->line);
-		$line['filename'] = $this->filename;
-		if ($this->isMultiline($line)) {
-			$line = $this->getMultiline($line);
-		}
-		return $line;
-	}
-
-	/**
-	 * Returns the indent level of the line.
-	 * @param array the line
-	 * @param integer line number
-	 * @return integer the indent level of the line
-	 * @throws Exception if the indent level is invalid
-	 */
-	private function getLevel($line, $n) {
-		if ($line[self::HAML_INDENT] && $this->indentChar === ' ') {
-			$indent = strlen($line[self::HAML_INDENT]) / $this->indentSpaces;
-		}
-		else {
-			$indent = strlen($line[self::HAML_INDENT]);
-		}
-
-		if (!is_integer($indent) ||
-				preg_match("/[^{$this->indentChar}]/", $line[self::HAML_INDENT])) {
-			throw new HamlException('Invalid indentation', array(), $this);
-		}
-		return $indent;
-	}
-
-	/**
-	 * Parse a line of Haml into a HamlNode for the document tree
-	 * @param array line to parse
-	 * @param HamlNode parent node
-	 * @return HamlNode
-	 */
-	private function parseLine($line, $parent) {
-		if ($this->isHamlComment($line)) {
-			return $this->parseHamlComment($line);
-		}
-		elseif ($this->isXmlComment($line)) {
-			return $this->parseXmlComment($line, $parent);
-		}
-		elseif ($this->isElement($line)) {
-			return $this->parseElement($line, $parent);
-		}
-		elseif ($this->isHelper($line)) {
-			return $this->parseHelper($line, $parent);
-		}
-		elseif ($this->isCode($line)) {
-			return $this->parseCode($line, $parent);
-		}
-		elseif ($this->isDirective($line)) {
-			return $this->parseDirective($line, $parent);
-		}
-		elseif ($this->isFilter($line)) {
-			return $this->parseFilter($line, $parent);
-		}
-		elseif ($this->isDoctype($line)) {
-			return $this->parseDoctype($line, $parent);
-		}
-		else {
-			return $this->parseContent($line, $parent);
-		}
-	}
-
-	/**
-	 * Return a value indicating if the line has content.
-	 * @param array line
-	 * @return boolean true if the line has a content, false if not
-	 */
-	private function hasContent($line) {
-	  return !empty($line[self::HAML_CONTENT]);
-	}
-
-	/**
-	 * Return a value indicating if the line is code to be run.
-	 * @param array line
-	 * @return boolean true if the line is code to be run, false if not
-	 */
-	private function isCode($line) {
-		return $line[self::HAML_TOKEN] === self::RUN_CODE;
-	}
-
-	/**
-	 * Return a value indicating if the line is a directive.
-	 * @param array line
-	 * @return boolean true if the line is a directive, false if not
-	 */
-	private function isDirective($line) {
-		return $line[self::HAML_TOKEN] === self::DIRECTIVE;
-	}
-
-	/**
-	 * Return a value indicating if the line is a doctype.
-	 * @param array line
-	 * @return boolean true if the line is a doctype, false if not
-	 */
-	private function isDoctype($line) {
-		return $line[self::HAML_TOKEN] === self::DOCTYPE;
-	}
-
-	/**
-	 * Return a value indicating if the line is an element.
-	 * Will set the tag to div if it is an implied div.
-	 * @param array line
-	 * @return boolean true if the line is an element, false if not
-	 */
-	private function isElement(&$line) {
-		if (empty($line[self::HAML_TAG]) && (
-				!empty($line[self::HAML_CLASS]) ||
-				!empty($line[self::HAML_ID]) ||
-				!empty($line[self::HAML_XML_ATTRIBUTES]) ||
-				!empty($line[self::HAML_RUBY_ATTRIBUTES]) ||
-				!empty($line[self::HAML_OBJECT_REFERENCE])
-		)) {
-			$line[self::HAML_TAG] = 'div';
-		}
-
-	  return !empty($line[self::HAML_TAG]);
-	}
-
-	/**
-	 * Return a value indicating if the line starts a filter.
-	 * @param array line to test
-	 * @return boolean true if the line starts a filter, false if not
-	 */
-	private function isFilter($line) {
-	  return !empty($line[self::HAML_FILTER]);
-	}
-
-	/**
-	 * Return a value indicating if the line is a Haml comment.
-	 * @param array line to test
-	 * @return boolean true if the line is a Haml comment, false if not
-	 */
-	private function isHamlComment($line) {
-		return preg_match(self::HAML_COMMENT, $line[self::HAML_TOKEN]) > 0;
-	}
-
-	/**
-	 * Return a value indicating if the line is a HamlHelper.
-	 * @param array line to test
-	 * @return boolean true if the line is a HamlHelper, false if not
-	 */
-	private function isHelper($line) {
-		return (preg_match(HamlHelperNode::MATCH, $line[self::HAML_CONTENT], $matches)
-			? method_exists($this->helperClass, $matches[HamlHelperNode::NAME]) : false);
-	}
-
-	/**
-	 * Return a value indicating if the line is an XML comment.
-	 * @param array line to test
-	 * @return boolean true if theline is an XML comment, false if not
-	 */
-	private function isXmlComment($line) {
-	  return $line[self::HAML_SOURCE][0] === self::XML_COMMENT;
-	}
-
-	/**
-	 * Returns a value indicating whether the line is part of a multilne group
-	 * @param array the line to test
-	 * @return boolean true if the line os part of a multiline group, false if not
-	 */
-	private function isMultiline($line) {
-	  return substr($line[self::HAML_SOURCE], -2) === self::MULTILINE;
-	}
-
-	/**
-	 * Return a value indicating if the line's tag is a block level tag.
-	 * @param array line
-	 * @return boolean true if the line's tag is is a block level tag, false if not
-	 */
-	private function isBlock($line) {
-	  return (!in_array($line[self::HAML_TAG], $this->inlineTags));
-	}
-
-	/**
-	 * Return a value indicating if the line's tag is self-closing.
-	 * @param array line
-	 * @return boolean true if the line's tag is self-closing, false if not
-	 */
-	private function isSelfClosing($line) {
-	  return (in_array($line[self::HAML_TAG], $this->emptyTags) ||
-	  	$line[self::HAML_TOKEN] == self::SELF_CLOSE_TAG);
-	}
-
-	/**
-	 * Gets a filter.
-	 * Filters are loaded on first use.
-	 * @param string filter name
-	 * @throws HamlException if the filter does not exist or does not extend HamlBaseFilter
-	 */
-	private function getFilter($filter) {
-		static $firstRun = true;
-		$imported = false;
-		
-		if (empty($this->filters[$filter])) {
-			if ($firstRun) {
-				require_once('filters/HamlBaseFilter.php');
-				$firstRun = false;
-			}
-
-			$filterclass = 'Haml' . ucfirst($filter) . 'Filter';
-			if (isset($this->filterDir)) {
-				$this->filterDir = (substr($this->filterDir, -1) == DIRECTORY_SEPARATOR?
-						substr($this->filterDir, 0, -1):$this->filterDir);
-				if (file_exists($this->filterDir.DIRECTORY_SEPARATOR."$filterclass.php")) {
-					require_once($this->filterDir.DIRECTORY_SEPARATOR."$filterclass.php");
-					$imported = true; 
-				}
-			}
-
-			if (!$imported && file_exists(dirname(__FILE__).DIRECTORY_SEPARATOR.'filters'.DIRECTORY_SEPARATOR."$filterclass.php")) {
-				require_once("filters/$filterclass.php");
-				$imported = true; 
-			}
-			
-			if (!$imported) {
-				throw new HamlException('Unable to find {what}: {filename}', array('{what}'=>$filter.' filter', '{filename}'=>$filterclass.'.php'), $this);
-			}
-			
-			$this->filters[$filter] = new $filterclass();
-
-			if (!($this->filters[$filter] instanceof HamlBaseFilter)) {
-				throw new HamlException('{what} must extend {base} class', array('{what}'=>$filter, '{base}'=>'HamlBaseFilter'), $this);
-			}
-
-			$this->filters[$filter]->init();
-		}
-		return $this->filters[$filter];
-	}
-
-	/**
-	 * Gets the next line.
-	 * @param array first line
-	 * @return array the next line
-	 */
-	private function getMultiline($line) {
-		do {
-			$multiLine = array_shift($this->source);
-			$line[self::HAML_CONTENT] .= substr($multiLine[self::HAML_SOURCE], 0, -2);
-		} while(!empty($this->source) && $this->isMultiline($this->source[0]));
-	  return $line;
-	}
-
-	/**
-	 * Parse attributes.
-	 * @param array line to parse
-	 * @return array attributes in name=>value pairs
-	 */
-	private function parseAttributes($line) {
-		$attributes = array();
-		if (!empty($line[self::HAML_OPEN_XML_ATTRIBUTES])) {
-			if (empty($line[self::HAML_XML_ATTRIBUTES])) {
-				$line[self::HAML_XML_ATTRIBUTES] = $line[self::HAML_CONTENT];
-				unset($line[self::HAML_CONTENT]);
-				do {
-					$multiLine = array_shift($this->source);
-					$line[self::HAML_XML_ATTRIBUTES] .= $multiLine[self::HAML_CONTENT];
-				}	while (substr($line[self::HAML_XML_ATTRIBUTES], -1) !==
-						self::CLOSE_XML_ATTRIBUTES);		
-			}
-			if (preg_match(self::HTML_ATTRS, $line[self::HAML_XML_ATTRIBUTES], $htmlAttrs)) {
-				$line[self::HAML_XML_ATTRIBUTES] = preg_replace(self::HTML_ATTRS, '', $line[self::HAML_XML_ATTRIBUTES]);
-				$attributes = array_merge($attributes, $this->htmlAttrs($htmlAttrs));			
-			}
-			$attributes = array_merge(
-					$attributes,
-					$this->parseAttributeHash($line[self::HAML_XML_ATTRIBUTES])
-			);
-		}
-		if (!empty($line[self::HAML_OPEN_RUBY_ATTRIBUTES])) {
-			if (empty($line[self::HAML_RUBY_ATTRIBUTES])) {
-				$line[self::HAML_RUBY_ATTRIBUTES] = $line[self::HAML_CONTENT];
-				unset($line[self::HAML_CONTENT]);
-				do {
-					$multiLine = array_shift($this->source);
-					$line[self::HAML_RUBY_ATTRIBUTES] .= $multiLine[self::HAML_CONTENT];
-				}	while (substr($line[self::HAML_RUBY_ATTRIBUTES], -1) !==
-						self::CLOSE_RUBY_ATTRIBUTES);		
-			}
-			if (preg_match(self::HTML_ATTRS, $line[self::HAML_RUBY_ATTRIBUTES], $htmlAttrs)) {
-				$line[self::HAML_RUBY_ATTRIBUTES] = preg_replace(self::HTML_ATTRS, '', $line[self::HAML_RUBY_ATTRIBUTES]);
-				$attributes = array_merge($attributes, $this->htmlAttrs($htmlAttrs));			
-			}
-			$attributes = array_merge(
-					$attributes,
-					$this->parseAttributeHash($line[self::HAML_RUBY_ATTRIBUTES])
-			);
-		}
-		if (!empty($line[self::HAML_OBJECT_REFERENCE])) {
-			$objectRef = explode(',', preg_replace('/,\s*/', ',', $line[self::HAML_OBJECT_REFERENCE]));
-			$prefix = (isset($objectRef[1]) ? $objectRef[1] . '_' : '');
-			$class = "strtolower(str_replace(' ',	'_', preg_replace('/(?<=\w)([ A-Z])/', '_\1', get_class(" . $objectRef[0] . '))))';
-			$attributes['class'] = "<?php echo '$prefix' . $class; ?>";
-			$attributes['id'] = "<?php echo '$prefix' . $class . '_' . {$objectRef[0]}->id; ?>";
-		}
-		else {
-			if (!empty($line[self::HAML_CLASS])) {
-				$classes = explode('.', $line[self::HAML_CLASS]);
-				foreach ($classes as &$class) {
-					if (preg_match(self::MATCH_INTERPOLATION, $class)) {
-						$class = $this->interpolate($class);
-					}
-				} // foreach
-				$attributes['class'] = join(' ', $classes) .
-						(isset($attributes['class']) ? " {$attributes['class']}" : '');
-			}
-			if (!empty($line[self::HAML_ID])) {
-				$attributes['id'] =
-						(preg_match(self::MATCH_INTERPOLATION, $line[self::HAML_ID]) ?
-						$this->interpolate($line[self::HAML_ID]) : $line[self::HAML_ID]) .
-						(isset($attributes['id']) ? "_{$attributes['id']}" : '');
-			}
-		}
-
-		ksort($attributes, SORT_STRING);
-	  return $attributes;
-	}
-
-	/**
-	 * Parse attributes.
-	 * @param string the attributes
-	 * @return array attributes in name=>value pairs
-	 */
-	private function parseAttributeHash($subject) {
-		$subject = substr($subject, 0, -1);
- 		$attributes = array();
-		if (preg_match(self::REGEX_ATTRIBUTE_FUNCTION, $subject)) {
-			$attributes[0] = "<?php echo $subject; ?>";
-			return $attributes;
-		}
-		
-		preg_match_all(self::REGEX_ATTRIBUTES, $subject, $attrs, PREG_SET_ORDER);
-		foreach ($attrs as $attr) {
-			if (!empty($attr[1])) { // HTML5 Custom Data Attributes
-				$dataAttributes = $this->parseAttributeHash(substr($attr[2], 1));
-				foreach ($dataAttributes as $key=>$value) {
-					$attributes["data-$key"] = $value;				
-				} // foreach
-			}
-			elseif (!empty($attr[4])) {
-				$values = array_map('trim', explode(',', $attr[4]));
-				if ($attr[3] !== 'class' && $attr[3] !== 'id') {
-					throw new HamlException('Attribute must be "class" or "id" with array value', array(), $this);
-				}
-				$attributes[$attr[3]] = '<?php echo ' . join(($attr[3] === 'id' ? ".'_'." : ".' '."), $values) . '; ?>';
-			}
-			elseif (!empty($attr[6])) {
-				$attributes[$attr[3]] = $this->interpolate($attr[6]);
-			}
-			elseif ($attr[6] === '') {
-				$attributes[$attr[3]] = $attr[6];
-			}
-			else {
-				switch ($attr[7]) {
-					case 'true':
-						$attributes[$attr[3]] = $attr[3];
-						break;
-					case 'false':
-						break;
-					default:
-						$attributes[$attr[3]] = "<?php echo {$attr[7]}; ?>";
-						break;
-				}
-			}
-		} // foreach
-		return $attributes;
-	}
-	
-	/**
-	 * Returns an array of attributes for the html element.
-	 * @param array arguments for HamlHelpers::html_attrs 
-	 * @return array attributes for the html element
-	 */
-	private function htmlAttrs($htmlAttrs) {
-		if (empty($htmlAttrs[1]) && empty($htmlAttrs[2])) {
-			return HamlHelpers::html_attrs();
-		}
-		else {
-			$htmlAttrs[1] = substr($htmlAttrs[1], 1, -1);
-			if (substr($htmlAttrs[1], -1) == ';') {
-				$htmlAttrs[1] = eval("return {$htmlAttrs[1]}");
-			}
-			if (isset($htmlAttrs[2])) {
-				return HamlHelpers::html_attrs($htmlAttrs[1], eval($htmlAttrs[2] . ';'));
-			}
-			else {
-				return HamlHelpers::html_attrs($htmlAttrs[1]);
-			}
-		}
-	}
-	
-	/**
-	 * Parse code
-	 * @param array line to parse
-	 * @param HamlNode parent node
-	 * @return HamlCodeBlockNode
-	 */
-	private function parseCode($line, $parent) {
-		if (preg_match('/^(if|foreach|for|switch|do|while)\b(.*)$/',
-				$line[self::HAML_CONTENT], $block)) {
-			if ($block[1] === 'do') {
-				$node = new HamlCodeBlockNode('<?php do { ?>', $parent);
-				$node->doWhile = 'while' . $block[2] . ';';
-			}
-			elseif ($block[1] === 'switch') {
-				$node = new HamlCodeBlockNode("<?php {$line[self::HAML_CONTENT]} {", $parent);
-			}
-			else {
-				$node = new HamlCodeBlockNode("<?php {$line[self::HAML_CONTENT]} { ?>", $parent);
-			}
-		}
-		elseif (strpos($line[self::HAML_CONTENT], 'else') === 0) {
-			$node = new HamlCodeBlockNode("<?php } {$line[self::HAML_CONTENT]} { ?>", null);
-			$node->token = $line;
-			$node->showOutput = $this->showOutput;
-			$node->showSource = $this->showSource;
-			$parent->getLastChild()->addElse($node);
-			$this->addChildren($node, $line);
-			$node = null;
-		}
-		elseif (strpos($line[self::HAML_CONTENT], 'case') === 0) {
-			$node = new HamlNode(($parent->hasChildren() ? '<?php ' : '') .
-					"{$line[self::HAML_CONTENT]}: ?>", $parent);
-		}
-		else {
-			$node = new HamlNode("<?php {$line[self::HAML_CONTENT]}; ?>", $parent);
-		}
-		return $node;
-	}
-
-	/**
-	 * Parse content
-	 * @param array line to parse
-	 * @param HamlNode parent node
-	 * @return HamlNode
-	 */
-	private function parseContent($line, $parent) {
-		switch ($line[self::HAML_TOKEN]) {
-		  case self::INSERT_CODE:
-		  	$content = ($this->suppressEval ? '' :
-						'<?php echo ' . ($this->escapeHtml ?
-						'htmlentities(' . $line[self::HAML_CONTENT] . ')' :
-						$line[self::HAML_CONTENT]) .
-						"; ?>" .
-						($this->style == HamlRenderer::STYLE_EXPANDED ||
-							$this->style == HamlRenderer::STYLE_NESTED ? "\n" : ''));
-		    break;
-		  case self::INSERT_CODE_PRESERVE_WHITESPACE:
-				$content = ($this->suppressEval ? '' :
-						'<?php echo str_replace("\n", \'&#x000a\', ' . ($this->escapeHtml ?
-						'htmlentities(' . $line[self::HAML_CONTENT] . ')' :
-						$line[self::HAML_CONTENT]) .
-						"; ?>" .
-						($this->style == HamlRenderer::STYLE_EXPANDED ||
-							$this->style == HamlRenderer::STYLE_NESTED ? "\n" : ''));
-		    break;
-		  default:
-		  	$content = $line[self::HAML_CONTENT];
-		    break;
-		} // switch
-
-	  return new HamlNode($this->interpolate($content), $parent);
-	}
-
-	/**
-	 * Parse a directive.
-	 * Various options are set according to the directive
-	 * @param array line to parse
-	 * @return null
-	 */
-	private function parseDirective($line) {
-		preg_match('/(\w+)(\+|-)?/', $line[self::HAML_CONTENT], $matches);
-		switch ($matches[1]) {
-		  case 's':
-		  	$this->showSource = ($matches[2] == '+' ? true :
-		  		($matches[2] == '-' ? false : $this->showSource));
-		    break;
-		  case 'o':
-		  	$this->showOutput = ($matches[2] == '+' ? true :
-		  		($matches[2] == '-' ? false : $this->showOutput));
-		    break;
-		  case 'os':
-		  case 'so':
-		  	$this->showSource = ($matches[2] == '+' ? true :
-		  		($matches[2] == '-' ? false : $this->showSource));
-		  	$this->showOutput = ($matches[2] == '+' ? true :
-		  		($matches[2] == '-' ? false : $this->showOutput));
-		    break;
-		  default:
-		  	if (!in_array($matches[1], $this->styles)) {
-					throw new HamlException('Invalid {what} ({value})', array('{what}'=>'directive', '{value}'=>self::DIRECTIVE.$matches[0]), $this);
-		  	}
-		  	$this->style = $matches[1];
-		    break;
-		} // switch
-	}
-
-	/**
-	 * Parse a doctype declaration
-	 * @param array line to parse
-	 * @param HamlNode parent node
-	 * @return HamlDoctypeNode
-	 */
-	private function parseDoctype($line, $parent) {
-		$content = explode(' ', $line[self::HAML_CONTENT]);
-		if (!empty($content)) {
-			if ($content[0] === self::IS_XML_PROLOG) {
-				$encoding = isset($content[1]) ? $content[1] : self::DEFAULT_XML_ENCODING;
-				$output = str_replace(self::XML_ENCODING, $encoding, self::XML_PROLOG);
-			}
-			elseif (empty($content[0])) {
-				$output = $this->doctypes[$this->format][0];
-			}
-			elseif (array_key_exists($content[0],
-					$this->doctypes[$this->format])) {
-				$output = $this->doctypes[$this->format][$content[0]];
-			}
-			elseif (!empty($this->doctype)) {
-				$output = $this->doctype;				
-			}
-			else {
-				$_doctypes = array_keys($this->doctypes[$this->format]);
-				array_shift($_doctypes);
-				throw new HamlException('Invalid {what} ({value}); must be one of "{options}"', array('{what}'=>'doctype', '{value}'=>$content[0], '{options}'=>join(', ', $_doctypes).' or empty'), $this);
-			}
-		}
-		return new HamlDoctypeNode($output, $parent);
-	}
-
-	/**
-	 * Parse a Haml comment.
-	 * If the comment is an empty comment eat all child lines.
-	 * @param array line to parse
-	 */
-	private function parseHamlComment($line) {
-		if (!$this->hasContent($line)) {
-			while ($this->hasChild($line, true)) {
-				array_shift($this->source);
-				$this->line++;
-			}
-		}
-	}
-
-	/**
-	 * Parse a HamlHelper.
-	 * @param array line to parse
-	 * @param HamlNode parent node
-	 * @return HamlHelperNode
-	 */
-	private function parseHelper($line, $parent) {
-		preg_match(HamlHelperNode::MATCH, $line[self::HAML_CONTENT], $matches);
-		$node = new HamlHelperNode($this->helperClass, $matches[HamlHelperNode::PRE], $matches[HamlHelperNode::NAME], $matches[HamlHelperNode::ARGS], $parent);
-		if (isset($matches[HamlHelperNode::BLOCK])) {
-			new HamlNode($matches[HamlHelperNode::BLOCK], $node);
-		}
-		return $node;
-	}
-
-	/**
-	 * Parse an element.
-	 * @param array line to parse
-	 * @param HamlNode parent node
-	 * @return HamlElementNode tag node and children
-	 */
-	private function parseElement($line, $parent) {
-		$node = new HamlElementNode($line[self::HAML_TAG], $parent);
-		$node->isSelfClosing = $this->isSelfClosing($line);
-		$node->isBlock = $this->isBlock($line);
-		$node->attributes = $this->parseAttributes($line);
-		if ($this->hasContent($line)) {
-			$child = $this->parseContent($line, $node);
-			$child->showOutput = $this->showOutput;
-			$child->showSource = $this->showSource;
-			$child->token = array(
-				self::HAML_SOURCE => $line[self::HAML_SOURCE],
-				'filename' => $line['filename'],
-				'line' => $line['line'],
-				'level' => ($line['level'] + 1)
-			);
-		}
-		$node->whitespaceControl = $this->parseWhitespaceControl($line);
-	  return $node;
-	}
-
-	/**
-	 * Parse a filter.
-	 * @param array line to parse
-	 * @param HamlNode parent node
-	 * @return HamlNode filter node
-	 */
-	private function parseFilter($line, $parent) {
-		$node = new HamlFilterNode($this->getFilter($line[self::HAML_FILTER]), $parent);
-		if ($this->hasContent($line)) {
-			$child = $this->parseContent($line);
-			$child->showOutput = $this->showOutput;
-			$child->showSource = $this->showSource;
-			$child->token = array(
-				'level' => ($line['level'] + 1),
-				'line' => $line['line']
-			);
-		}
-	  return $node;
-	}
-
-	/**
-	 * Parse an Xml comment.
-	 * @param array line to parse
-	 * @param HamlNode parent node
-	 * @return HamlCommentNode
-	 */
-	private function parseXmlComment($line, $parent) {
-		return new HamlCommentNode($line[self::HAML_CONTENT], $parent);
-	}
-
-	private function parseWhitespaceControl($line) {
-		$whitespaceControl = array('inner' => false, 'outer' => array('left' => false, 'right' => false));
-
-		if (!empty($line[self::HAML_WHITESPACE_REMOVAL])) {
-			$whitespaceControl['inner'] =
-					(strpos($line[self::HAML_WHITESPACE_REMOVAL],
-					self::INNER_WHITESPACE_REMOVAL) !== false);
-
-			if (strpos($line[self::HAML_WHITESPACE_REMOVAL],
-					self::OUTER_WHITESPACE_REMOVAL) !== false) {
-				$whitespaceControl['outer']['left'] =
-						(strpos($line[self::HAML_WHITESPACE_REMOVAL],
-						self::BLOCK_LEFT_OUTER_WHITESPACE_REMOVAL) === false);
-				$whitespaceControl['outer']['right'] =
-						(strpos($line[self::HAML_WHITESPACE_REMOVAL],
-						self::BLOCK_RIGHT_OUTER_WHITESPACE_REMOVAL) === false);
-			}
-		}
-	  return $whitespaceControl;
-	}
-
-	/**
-	 * Replace interpolated PHP contained in '#{}'.
-	 * @param string the text to interpolate
-	 * @return string the interpolated text
-	 */
-	protected function interpolate($string) {
-	  return preg_replace(self::MATCH_INTERPOLATION, self::INTERPOLATE, $string);
-	}
-}

+ 0 - 30
lib/sass/haml/filters/HamlBaseFilter.php

@@ -1,30 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlBaseFilter.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * Base Filter for {@link http://haml-lang.com/ Haml} class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright		Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-
-/**
- * Base Filter for {@link http://haml-lang.com/ Haml} class.
- * This class must be extended and the run() method overridden.
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-abstract class HamlBaseFilter {
-	/**
-	 * Initialise the filter.
-	 */
-	public function init() {}
-
-	/**
-	 * Run the filter.
-	 * This method must be overridden in child classes.
-	 * @param string text to filter
-	 */
-	abstract public function run($text);
-}

+ 0 - 29
lib/sass/haml/filters/HamlCdataFilter.php

@@ -1,29 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlCdataFilter.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * CDATA Filter for {@link http://haml-lang.com/ Haml} class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright		Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-
-/**
- * CDATA Filter for {@link http://haml-lang.com/ Haml} class.
- * Surrounds the filtered text with CDATA tags.
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-class HamlCdataFilter extends HamlBaseFilter {
-	/**
-	 * Run the filter
-	 * @param string text to filter
-	 * @return string filtered text
-	 */
-	public function run($text) {
-	  return "<![CDATA[\n" .
-	  	preg_replace(HamlParser::MATCH_INTERPOLATION, '<?php echo \1; ?>', $text) .
-	  	"  ]]>\n";
-	}
-}

+ 0 - 30
lib/sass/haml/filters/HamlCssFilter.php

@@ -1,30 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlCssFilter.php 99 2010-06-13 14:12:08Z chris.l.yates $ */
-/**
- * CSS Filter for {@link http://haml-lang.com/ Haml} class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright		Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-
-/**
- * CSS Filter for {@link http://haml-lang.com/ Haml} class.
- * Surrounds the filtered text with <style> and CDATA tags.
- * Useful for including inline CSS.
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-class HamlCssFilter extends HamlBaseFilter {
-	/**
-	 * Run the filter
-	 * @param string text to filter
-	 * @return string filtered text
-	 */
-	public function run($text) {
-	  return "<style type=\"text/css\">\n/*<![CDATA[*/\n" .
-	  	preg_replace(HamlParser::MATCH_INTERPOLATION, '<?php echo \1; ?>', $text) .
-	  	"/*]]>*/\n</style>\n";
-	}
-}

+ 0 - 32
lib/sass/haml/filters/HamlEscapedFilter.php

@@ -1,32 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlEscapedFilter.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * Escaped Filter for {@link http://haml-lang.com/ Haml} class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright		Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-
-/**
- * Escaped Filter for {@link http://haml-lang.com/ Haml} class.
- * Escapes the text.
- * Code to be interpolated can be included by wrapping it in #().
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-class HamlEscapedFilter extends HamlBaseFilter {
-	/**
-	 * Run the filter
-	 * @param string text to filter
-	 * @return string filtered text
-	 */
-	public function run($text) {
-	  return preg_replace(
-	  	HamlParser::MATCH_INTERPOLATION,
-	  	'<?php echo htmlspecialchars($text); ?>',
-	  	htmlspecialchars($text)
-	  ) . "\n";
-	}
-}

+ 0 - 31
lib/sass/haml/filters/HamlJavascriptFilter.php

@@ -1,31 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlJavascriptFilter.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * Javascript Filter for {@link http://haml-lang.com/ Haml} class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright		Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-
-/**
- * Javascript Filter for {@link http://haml-lang.com/ Haml} class.
- * Surrounds the filtered text with <script> and CDATA tags.
- * Useful for including inline Javascript.
- * Code to be interpolated can be included by wrapping it in #().
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-class HamlJavascriptFilter extends HamlBaseFilter {
-	/**
-	 * Run the filter
-	 * @param string text to filter
-	 * @return string filtered text
-	 */
-	public function run($text) {
-	  return "<script type=\"text/javascript\">\n  //<![CDATA[\n" .
-	  	preg_replace(HamlParser::MATCH_INTERPOLATION, '<?php echo \1; ?>', $text) .
-	  	"  //]]>\n</script>\n";
-	}
-}

+ 0 - 27
lib/sass/haml/filters/HamlPhpFilter.php

@@ -1,27 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlPhpFilter.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * PHP Filter for {@link http://haml-lang.com/ Haml} class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright		Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-
-/**
- * PHP Filter for {@link http://haml-lang.com/ Haml} class.
- * The text will be parsed with the PHP interpreter.
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-class HamlPhpFilter extends HamlBaseFilter {
-	/**
-	 * Run the filter
-	 * @param string text to filter
-	 * @return string filtered text
-	 */
-	public function run($text) {
-	  return "<?php\n$text?>\n";
-	}
-}

+ 0 - 28
lib/sass/haml/filters/HamlPlainFilter.php

@@ -1,28 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlPlainFilter.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * Plain Filter for {@link http://haml-lang.com/ Haml} class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright		Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-
-/**
- * Plain Filter for {@link http://haml-lang.com/ Haml} class.
- * Does not parse the filtered text. This is useful for large blocks of text
- * without HTML tags when lines are not to be parsed.
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-class HamlPlainFilter extends HamlBaseFilter {
-	/**
-	 * Run the filter
-	 * @param string text to filter
-	 * @return string filtered text
-	 */
-	public function run($text) {
-	  return preg_replace(HamlParser::MATCH_INTERPOLATION, '<?php echo \1; ?>', $text). "\n";
-	}
-}

+ 0 - 29
lib/sass/haml/filters/HamlPreserveFilter.php

@@ -1,29 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlPreserveFilter.php 103 2010-08-06 10:15:55Z chris.l.yates@gmail.com $ */
-/**
- * Preserve Filter for {@link http://haml-lang.com/ Haml} class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright		Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-
-/**
- * Preserve Filter for {@link http://haml-lang.com/ Haml} class.
- * Does not parse the filtered text and preserves line breaks.
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-class HamlPreserveFilter extends HamlBaseFilter {
-	/**
-	 * Run the filter
-	 * @param string text to filter
-	 * @return string filtered text
-	 */
-	public function run($text) {
-	  return str_replace("\n", '&#x000a;',
-	  	preg_replace(HamlParser::MATCH_INTERPOLATION, '<?php echo \1; ?>', $text)
-	  ) . "\n";
-	}
-}

+ 0 - 37
lib/sass/haml/filters/HamlSassFilter.php

@@ -1,37 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlSassFilter.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * {@link Sass http://sass-lang.com/} Filter for
- * {@link http://haml-lang.com/ Haml} class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright		Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-
-require_once('HamlCssFilter.php');
-require_once(dirname(__FILE__).'/../../sass/SassParser.php');
-
-/**
- * {@link Sass http://sass-lang.com/} Filter for
- * {@link http://haml-lang.com/ Haml} class.
- * Parses the text as Sass then calls the CSS filter.
- * Useful for including inline Sass.
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-class HamlSassFilter extends HamlBaseFilter {
-	/**
-	 * Run the filter
-	 * @param string text to filter
-	 * @return string filtered text
-	 */
-	public function run($text) {
-		$sass = new SassParser();
-		$css = new HamlCssFilter();
-		$css->init();
-
-		return $css->run($sass->toCss(preg_replace(HamlParser::MATCH_INTERPOLATION, '<?php echo \1; ?>', $text), false));
-	}
-}

+ 0 - 37
lib/sass/haml/filters/HamlScssFilter.php

@@ -1,37 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlSassFilter.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * {@link Scss http://sass-lang.com/} Filter for
- * {@link http://haml-lang.com/ Haml} class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright		Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-
-require_once('HamlCssFilter.php');
-require_once(dirname(__FILE__).'/../../sass/SassParser.php');
-
-/**
- * {@link Sass http://sass-lang.com/} Filter for
- * {@link http://haml-lang.com/ Haml} class.
- * Parses the text as Sass then calls the CSS filter.
- * Useful for including inline Sass.
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-class HamlScssFilter extends HamlBaseFilter {
-	/**
-	 * Run the filter
-	 * @param string text to filter
-	 * @return string filtered text
-	 */
-	public function run($text) {
-		$sass = new SassParser(array('syntax'=>'scss'));
-		$css = new HamlCssFilter();
-		$css->init();
-
-		return $css->run($sass->toCss(preg_replace(HamlParser::MATCH_INTERPOLATION, '<?php echo \1; ?>', $text), false));
-	}
-}

+ 0 - 50
lib/sass/haml/filters/_HamlMarkdownFilter.php

@@ -1,50 +0,0 @@
-<?php
-/* SVN FILE: $Id: _HamlMarkdownFilter.php 51 2010-04-14 12:05:03Z chris.l.yates $ */
-/**
- * Markdown Filter for {@link http://haml-lang.com/ Haml} class file.
- * This filter is an abstract filter that must be extended.
- * 
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright		Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-
-/**
- * Markdown Filter for {@link http://haml-lang.com/ Haml} class.
- * Parses the text with Markdown.
- * 
- * This is an abstract class that must be extended and the init() method
- * implemented to provide the vendorPath if the vendor class is not imported
- * elsewhere in the application (e.g. by a framework) and vendorClass if the
- * default class name is not correct.
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-abstract class _HamlMarkdownFilter extends HamlBaseFilter {
-	/**
-	 * @var string Path to Markdown Parser
-	 */
-	protected $vendorPath;
-	/**
-	 * @var string Markdown class
-	 * Override this value if the class name is different in your environment
-	 */
-	protected $vendorClass = 'MarkdownExtra_Parser';
-	
-	/**
-	 * Child classes must implement this method.
-	 * Typically the child class will set $vendorPath and $vendorClass
-	 */
-	public function init() {}
-
-	/**
-	 * Run the filter
-	 * @param string text to filter
-	 * @return string filtered text
-	 */
-	public function run($text) {
-		return '<?php	'.(!empty($this->vendorPath)?'require_once "'.$this->vendorPath.'";':'').'$markdown___=new '.$this->vendorClass.'();echo  $markdown___->safeTransform("'.preg_replace(HamlParser::MATCH_INTERPOLATION, '".\1."', $text).'");?>';
-	}
-}

+ 0 - 50
lib/sass/haml/filters/_HamlTextileFilter.php

@@ -1,50 +0,0 @@
-<?php
-/* SVN FILE: $Id: _HamlTextileFilter.php 51 2010-04-14 12:05:03Z chris.l.yates $ */
-/**
- * Textile Filter for {@link http://haml-lang.com/ Haml} class file.
- * This filter is an abstract filter that must be extended. 
- * 
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright		Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-
-/**
- * Textile Filter for {@link http://haml-lang.com/ Haml} class.
- * Parses the text with Textile.
- * 
- * This is an abstract class that must be extended and the init() method
- * implemented to provide the vendorPath if the vendor class is not imported
- * elsewhere in the application (e.g. by a framework) and vendorClass if the
- * default class name is not correct.
- * @package			PHamlP
- * @subpackage	Haml.filters
- */
-abstract class _HamlTextileFilter extends HamlBaseFilter {
-	/**
-	 * @var string Path to Textile Parser
-	 */
-	protected $vendorPath;
-	/**
-	 * @var string Textile class
-	 * Override this value if the class name is different in your environment
-	 */
-	protected $vendorClass = 'Textile';
-	
-	/**
-	 * Child classes must implement this method.
-	 * Typically the child class will set $vendorPath and $vendorClass
-	 */
-	public function init() {}
-
-	/**
-	 * Run the filter
-	 * @param string text to filter
-	 * @return string filtered text
-	 */
-	public function run($text) {
-		return '<?php	'.(!empty($this->vendorPath)?'require_once "'.$this->vendorPath.'";':'').'$textile___=new '.$this->vendorClass.'();echo  $textile___->TextileThis("'.preg_replace(HamlParser::MATCH_INTERPOLATION, '".\1."', $text).'");?>';
-	}
-}

+ 0 - 32
lib/sass/haml/messages/_i18n.php

@@ -1,32 +0,0 @@
-<?php
-/* SVN FILE: $Id: SassRuleNode.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * Message translations.
- *
- * This file is contains the localizable messages for Haml. You may modify this
- * file by translating the messages and saving with the filename language.php
- * where "language" is the language ID of the translations.
- *
- * Each array element represents the translation (value) of a message (key).
- * If the value is empty the message is considered as not translated.
- *
- * NOTE: this file must be saved in UTF-8 encoding.
- *
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.messages
- */
-	return array (
-		'Attribute must be "class" or "id" with array value'=>'',
-		'Illegal indentation level ({indentLevel}); indentation level can only increase by one'=>'',
-		'Invalid indentation'=>'',
-		'Invalid {what} ({value})'=>'',
-		'Invalid {what} ({value}); must be one of "{options}"'=>'',
-		'Mixed indentation not allowed'=>'',
-		'No getter function for {what}'=>'',
-		'No setter function for {what}'=>'',
-		'Unable to find {what}: {filename}'=>'',
-		'{what} must extend {base} class'=>'',
-  );

+ 0 - 32
lib/sass/haml/messages/de.php

@@ -1,32 +0,0 @@
-<?php
-/* SVN FILE: $Id: SassRuleNode.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * Message translations.
- *
- * This file is contains the localizable messages for Haml. You may modify this
- * file by translating the messages and saving with the filename language.php
- * where "language" is the language ID of the translations.
- *
- * Each array element represents the translation (value) of a message (key).
- * If the value is empty the message is considered as not translated.
- *
- * NOTE: this file must be saved in UTF-8 encoding.
- *
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.messages
- */
-	return array (
-		'Attribute must be "class" or "id" with array value'=>'Attribute müssen "class" oder "id" mit array-wert',
-		'Illegal indentation level ({indentLevel}); indentation level can only increase by one'=>'Illegale einrückungsebene ({indentLevel}); einrückungsebene kann nur von einem anstieg',
-		'Invalid indentation'=>'Ungültige einrückung',
-		'Invalid {what}'=>'Ungültige {what}',
-		'Invalid {what} ({value}); must be one of "{options}"'=>'Ungültige {what} ({value}); muss einer der "{options}"',
-		'Mixed indentation not allowed'=>'Mixed einzug nicht erlaubt',
-		'No getter function for {what}'=>'Kein getter-funktion für {what}',
-		'No setter function for {what}'=>'Kein setter-funktion für {what}',
-		'Unable to find {what}: {filename}'=>'Kann zu finden {what}: {filename}',
-		'{what} must extend {base} class'=>'{what} muss {base} klasse erweitern',
-  );

+ 0 - 32
lib/sass/haml/messages/fr.php

@@ -1,32 +0,0 @@
-<?php
-/* SVN FILE: $Id: SassRuleNode.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * Message translations.
- *
- * This file is contains the localizable messages for Haml. You may modify this
- * file by translating the messages and saving with the filename language.php
- * where "language" is the language ID of the translations.
- *
- * Each array element represents the translation (value) of a message (key).
- * If the value is empty the message is considered as not translated.
- *
- * NOTE: this file must be saved in UTF-8 encoding.
- *
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.messages
- */
-	return array (
-		'Attribute must be "class" or "id" with array value'=>"D'attributs doivent être \"class\" ou \"id\" avec valeur de array",
-		'Illegal indentation level ({indentLevel}); indentation level can only increase by one: {file}::{line}'=>"Niveau niveau d'indentation illégale ({indentLevel}); ne peut augmenter d'un: {file}::{line}",
-		'Invalid indentation: {line}::{file}'=>'Indentation blancs: {line}::{file}',
-		'Invalid {what} ({value}): {file}::{line}'=>'Invalide {what} ({value}): {file}::{line}',
-		'Invalid {what} ({value}); must be one of "{options}".'=>"Invalide {what} ({value}); doit être l'un des \"{options}\"",
-		'Mixed indentation not allowed: {file}::{line}'=>'Indentation mixte pas autorisé: {file}::{line}',
-		'No getter function for {what}'=>'Pas de fonction getter pour {what}',
-		'No setter function for {what}'=>'Pas de fonction setter pour {what}',
-		'Unable to find {what}: {filename}.'=>'Impossible de trouver {what}: {filename}.',
-		'{what} must extend {base} class.'=>"{what} doit s'étendre classe {base}",
-  );

+ 0 - 32
lib/sass/haml/renderers/HamlCompactRenderer.php

@@ -1,32 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlCompactRenderer.php 74 2010-04-20 12:20:29Z chris.l.yates $ */
-/**
- * HamlCompactRenderer class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.renderers
- */
-
-/**
- * HamlCompactRenderer class.
- * Renders blocks on single lines.
- * @package			PHamlP
- * @subpackage	Haml.renderers
- */
-class HamlCompactRenderer extends HamlRenderer {
-	/**
-	 * Renders the opening tag of an element
-	 */
-	public function renderOpeningTag($node) {
-	  return ($node->isBlock ? '' : ' ') . parent::renderOpeningTag($node);
-	}
-	
-	/**
-	 * Renders the closing tag of an element
-	 */
-	public function renderClosingTag($node) {
-	  return parent::renderClosingTag($node) . ($node->isBlock ? "\n" : ' ');
-	}
-}

+ 0 - 48
lib/sass/haml/renderers/HamlCompressedRenderer.php

@@ -1,48 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlCompressedRenderer.php 74 2010-04-20 12:20:29Z chris.l.yates $ */
-/**
- * HamlCompressedRenderer class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.renderers
- */
-
-/**
- * HamlCompressedRenderer class.
- * Output has minimal whitespace.
- * @package			PHamlP
- * @subpackage	Haml.renderers
- */
-class HamlCompressedRenderer extends HamlRenderer {
-	/**
-	 * Renders the opening of a comment.
-	 * Only conditional comments are rendered
-	 */
-	public function renderOpenComment($node) {
-		if ($node->isConditional) return parent::renderOpenComment($node);
-	}
-
-	/**
-	 * Renders the closing of a comment.
-	 * Only conditional comments are rendered
-	 */
-	public function renderCloseComment($node) {
-		if ($node->isConditional) return parent::renderCloseComment($node);
-	}
-	
-	/**
-	 * Renders the opening tag of an element
-	 */
-	public function renderOpeningTag($node) {
-	  return ($node->isBlock ? '' : ' ') . parent::renderOpeningTag($node);
-	}
-	
-	/**
-	 * Renders the closing tag of an element
-	 */
-	public function renderClosingTag($node) {
-	  return parent::renderClosingTag($node) . ($node->isBlock ? '' : ' ');
-	}
-}

+ 0 - 58
lib/sass/haml/renderers/HamlExpandedRenderer.php

@@ -1,58 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlExpandedRenderer.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * HamlExpandedRenderer class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.renderers
- */
-
-/**
- * HamlExpandedRenderer class.
- * Blocks are on single lines and content indented.
- * @package			PHamlP
- * @subpackage	Haml.renderers
- */
-class HamlExpandedRenderer extends HamlRenderer {
-	/**
-	 * Renders the opening tag of an element
-	 */
-	public function renderOpeningTag($node) {
-	  return parent::renderOpeningTag($node) .
-	  	($node->whitespaceControl['inner'] ? '' :
-	  	($node->isSelfClosing && $node->whitespaceControl['outer'] ? '' : "\n"));
-	}
-
-	/**
-	 * Renders the closing tag of an element
-	 */
-	public function renderClosingTag($node) {
-	  return ($node->isSelfClosing ? '' : parent::renderClosingTag($node) .
-	  	($node->whitespaceControl['outer'] ? '' : "\n"));
-	}
-
-	/**
-	 * Renders content.
-	 * @param HamlNode the node being rendered
-	 * @return string the rendered content
-	 */
-	public function renderContent($node) {
-	  return self::INDENT . parent::renderContent($node) . "\n";
-	}
-
-	/**
-	 * Renders the start of a code block
-	 */
-	public function renderStartCodeBlock($node) {
-		return parent::renderStartCodeBlock($node) . "\n";
-	}
-
-	/**
-	 * Renders the end of a code block
-	 */
-	public function renderEndCodeBlock($node) {
-		return parent::renderEndCodeBlock($node) . "\n";
-	}
-}

+ 0 - 77
lib/sass/haml/renderers/HamlNestedRenderer.php

@@ -1,77 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlNestedRenderer.php 72 2010-04-20 00:41:36Z chris.l.yates $ */
-/**
- * HamlNestedRenderer class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.renderers
- */
-
-/**
- * HamlNestedRenderer class.
- * Blocks and content are indented according to their nesting level.
- * @package			PHamlP
- * @subpackage	Haml.renderers
- */
-class HamlNestedRenderer extends HamlRenderer {
-	/**
-	 * Renders the opening tag of an element
-	 */
-	public function renderOpeningTag($node) {
-	  return ($node->whitespaceControl['outer'] ? '' : $this->getIndent($node)) .
-	  	parent::renderOpeningTag($node) .	($node->whitespaceControl['inner'] ? '' :
-	  	($node->isSelfClosing && $node->whitespaceControl['outer'] ? '' : "\n"));
-	}
-
-	/**
-	 * Renders the closing tag of an element
-	 */
-	public function renderClosingTag($node) {
-	  return ($node->isSelfClosing ? '' : ($node->whitespaceControl['inner'] ? '' :
-	  	$this->getIndent($node)) . parent::renderClosingTag($node) .
-	  	($node->whitespaceControl['outer'] ? '' : "\n"));
-	}
-
-	/**
-	 * Renders content.
-	 * @param HamlNode the node being rendered
-	 * @return string the rendered content
-	 */
-	public function renderContent($node) {
-	  return $this->getIndent($node) . parent::renderContent($node) . "\n";
-	}
-
-	/**
-	 * Renders the opening of a comment
-	 */
-	public function renderOpenComment($node) {
-		return parent::renderOpenComment($node) . (empty($node->content) ? "\n" : '');
-	}
-
-	/**
-	 * Renders the closing of a comment
-	 */
-	public function renderCloseComment($node) {
-		return parent::renderCloseComment($node) . "\n";
-	}
-
-	/**
-	 * Renders the start of a code block
-	 */
-	public function renderStartCodeBlock($node) {
-		return $this->getIndent($node) . parent::renderStartCodeBlock($node) . "\n";
-	}
-
-	/**
-	 * Renders the end of a code block
-	 */
-	public function renderEndCodeBlock($node) {
-		return $this->getIndent($node) . parent::renderEndCodeBlock($node) . "\n";
-	}
-
-	private function getIndent($node) {
-	  return str_repeat(' ', 2 * $node->line['indentLevel']);
-	}
-}

+ 0 - 137
lib/sass/haml/renderers/HamlRenderer.php

@@ -1,137 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlRenderer.php 93 2010-05-20 17:43:41Z chris.l.yates $ */
-/**
- * HamlRenderer class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.renderers
- */
-
-require_once('HamlCompressedRenderer.php');
-require_once('HamlCompactRenderer.php');
-require_once('HamlExpandedRenderer.php');
-require_once('HamlNestedRenderer.php');
-
-/**
- * HamlRenderer class.
- * Provides the most common version of each method. Child classs override
- * methods to provide style specific rendering.
- * @package			PHamlP
- * @subpackage	Haml.renderers
- */
-class HamlRenderer {
-	/**#@+
-	 * Output Styles
-	 */
-	const STYLE_COMPRESSED = 'compressed';
-	const STYLE_COMPACT 	 = 'compact';
-	const STYLE_EXPANDED 	 = 'expanded';
-	const STYLE_NESTED 		 = 'nested';
-	/**#@-*/
-
-	const INDENT = '  ';
-
-	private $format;
-	private $attrWrapper;
-	private $minimizedAttributes;
-
-	/**
-	 * Returns the renderer for the required render style.
-	 * @param string render style
-	 * @return HamlRenderer
-	 */
-	static public function getRenderer($style, $options) {
-		switch ($style) {
-			case self::STYLE_COMPACT:
-		  	return new HamlCompactRenderer($options);
-			case self::STYLE_COMPRESSED:
-		  	return new HamlCompressedRenderer($options);
-			case self::STYLE_EXPANDED:
-		  	return new HamlExpandedRenderer($options);
-			case self::STYLE_NESTED:
-		  	return new HamlNestedRenderer($options);
-		} // switch
-	}
-
-	public function __construct($options) {
-		foreach ($options as $name => $value) {
-			$this->$name = $value;
-		} // foreach
-	}
-
-	/**
-	 * Renders element attributes
-	 */
-	private function renderAttributes($attributes) {
-		$output = '';
-		foreach ($attributes as $name => $value) {
-			if (is_integer($name)) {  // attribute function
-						$output .= " $value";
-			}
-			elseif ($name == $value &&
-				($this->format === 'html4' || $this->format === 'html5')) {
-						$output .= " $name";
-			}
-			else {
-				$output .= " $name={$this->attrWrapper}$value{$this->attrWrapper}";
-			}
-		}
-		return $output;
-	}
-
-	/**
-	 * Renders the opening tag of an element
-	 */
-	public function renderOpeningTag($node) {
-		$output  = "<{$node->content}";
-		$output .= $this->renderAttributes($node->attributes);
-		$output .= ($node->isSelfClosing ? ' /' : '') . '>';
-	  return $output;
-	}
-
-	/**
-	 * Renders the closing tag of an element
-	 */
-	public function renderClosingTag($node) {
-		return ($node->isSelfClosing ? '' : "</{$node->content}>");
-	}
-
-	/**
-	 * Renders the opening of a comment
-	 */
-	public function renderOpenComment($node) {
-		return ($node->isConditional ? "\n\n" : '') . "<!--{$node->content}" . ($node->isConditional ? ">\n" : ' ');
-	}
-
-	/**
-	 * Renders the closing of a comment
-	 */
-	public function renderCloseComment($node) {
-		return ($node->isConditional ? "\n<![endif]" : ' ') .  '-->' . ($node->isConditional ? "\n" : '');
-	}
-
-	/**
-	 * Renders the start of a code block
-	 */
-	public function renderStartCodeBlock($node) {
-		return $this->renderContent($node);
-	}
-
-	/**
-	 * Renders the end of a code block
-	 */
-	public function renderEndCodeBlock($node) {
-		return '<?php }' . (!empty($node->doWhile) ? " {$node->doWhile}" : '') . ' ?>';
-	}
-
-	/**
-	 * Renders content.
-	 * @param HamlNode the node being rendered
-	 * @return string the rendered content
-	 */
-	public function renderContent($node) {
-	  return $node->content;
-	}
-}

+ 0 - 58
lib/sass/haml/tree/HamlCodeBlockNode.php

@@ -1,58 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlCodeBlockNode.php 92 2010-05-20 17:42:59Z chris.l.yates $ */
-/**
- * HamlCodeBlockNode class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-
-require_once('HamlRootNode.php');
-require_once('HamlNodeExceptions.php');
-
-/**
- * HamlCodeBlockNode class.
- * Represents a code block - if, elseif, else, foreach, do, and while.
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-class HamlCodeBlockNode extends HamlNode {
-	/**
-	 * @var HamlCodeBlockNode else nodes for if statements
-	 */
-	public $else;
-	/**
-	 * @var string while clause for do-while loops
-	 */
-	public $doWhile;
-
-	/**
-	 * Adds an "else" statement to this node.
-	 * @param SassIfNode "else" statement node to add
-	 * @return SassIfNode this node
-	 */
-	public function addElse($node) {
-	  if (is_null($this->else)) {
-	  	$node->root			= $this->root;
-	  	$node->parent		= $this->parent;
-			$this->else			= $node;
-	  }
-	  else {
-			$this->else->addElse($node);
-	  }
-	  return $this;
-	}
-
-	public function render() {
-		$output = $this->renderer->renderStartCodeBlock($this);
-		foreach ($this->children as $child) {
-			$output .= $child->render();
-		} // foreach
-		$output .= (empty($this->else) ?
-			$this->renderer->renderEndCodeBlock($this) : $this->else->render());
-
-	  return $this->debug($output);
-	}
-}

+ 0 - 41
lib/sass/haml/tree/HamlCommentNode.php

@@ -1,41 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlCommentNode.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * HamlCommentNode class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-
-/**
- * HamlCommentNode class.
- * Represents a comment, including MSIE conditional comments.
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-class HamlCommentNode extends HamlNode {
-	private $isConditional;
-
-	public function __construct($content, $parent) {
-	  $this->content = $content;
-		$this->isConditional = (bool)preg_match('/^\[.+\]$/', $content, $matches);
-		$this->parent = $parent;
-	  $this->root = $parent->root;
-	  $parent->children[] = $this;
-	}
-
-	public function getIsConditional() {
-		return $this->isConditional;
-	}
-
-	public function render() {
-		$output  = $this->renderer->renderOpenComment($this);
-		foreach ($this->children as $child) {
-			$output .= $child->render();
-		} // foreach
-		$output .= $this->renderer->renderCloseComment($this);
-	  return $this->debug($output);
-	}
-}

+ 0 - 27
lib/sass/haml/tree/HamlDoctypeNode.php

@@ -1,27 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlDoctypeNode.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * HamlDoctypeNode class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-
-/**
- * HamlDoctypeNode class.
- * Represents a Doctype.
- * Doctypes are always rendered on a single line with a newline.
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-class HamlDoctypeNode extends HamlNode {
-	/**
-	 * Render this node.
-	 * @return string the rendered node
-	 */
-	public function render() {
-		return $this->debug($this->content . "\n");
-	}
-}

+ 0 - 52
lib/sass/haml/tree/HamlElementNode.php

@@ -1,52 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlElementNode.php 83 2010-05-17 16:35:54Z chris.l.yates $ */
-/**
- * HamlElementNode class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-
-require_once('HamlRootNode.php');
-require_once('HamlNodeExceptions.php');
-
-/**
- * HamlElementNode class.
- * Represents an element.
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-class HamlElementNode extends HamlNode {
-	public $isBlock;
-	public $isSelfClosing;
-	public $attributes;
-	public $whitespaceControl;
-	public $escapeHTML;
-
-	public function render() {
-		$renderer = $this->renderer;
-		$this->output = $renderer->renderOpeningTag($this);
-		$close = $renderer->renderClosingTag($this);
-		
-		if ($this->whitespaceControl['outer']['left']) {
-			$this->output = ltrim($this->output);
-			$close = rtrim($close);
-			$this->parent->output = rtrim($this->parent->output);
-		}
-
-		foreach ($this->children as $index=>$child) {
-			$output = $child->render();
-			$output = ($this->whitespaceControl['inner'] ? trim($output) : $output);
-			if ($index && $this->children[$index-1] instanceof HamlElementNode && $this->children[$index-1]->whitespaceControl['outer']['right']) {
-				$output = ltrim($output);
-			}
-			$this->output .= $output;
-		} // foreach
-
-		return $this->debug($this->output .	(isset($child) &&
-			$child instanceof HamlElementNode &&
-			$child->whitespaceControl['outer']['right'] ? ltrim($close) : $close));
-	}
-}

+ 0 - 50
lib/sass/haml/tree/HamlFilterNode.php

@@ -1,50 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlFilterNode.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * HamlFilterNode class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-
-/**
- * HamlFilterNode class.
- * Represent a filter in the Haml source.
- * The filter is run on the output from child nodes when the node is rendered.
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-class HamlFilterNode extends HamlNode {
-	/**
-	 * @var HamlBaseFilter the filter to run
-	 */
-	private $filter;
-
-	/**
-	 * HamlFilterNode constructor.
-	 * Sets the filter.
-	 * @param HamlBaseFilter the filter to run
-	 * @return HamlFilterNode
-	 */
-	public function __construct($filter, $parent) {
-	  $this->filter = $filter;	  
-	  $this->parent = $parent;
-	  $this->root = $parent->root;
-	  $parent->children[] = $this;
-	}
-
-	/**
-	* Render this node.
-	* The filter is run on the content of child nodes before being returned.
-	* @return string the rendered node
-	*/
-	public function render() {
-		$output = '';
-		foreach ($this->children as $child) {
-			$output .= $child->getContent();
-		} // foreach
-		return $this->debug($this->filter->run($output));
-	}
-}

+ 0 - 73
lib/sass/haml/tree/HamlHelperNode.php

@@ -1,73 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlHelperNode.php 117 2010-09-21 09:41:58Z chris.l.yates@gmail.com $ */
-/**
- * HamlHelperNode class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-
-/**
- * HamlHelperNode class.
- * Represent a helper in the Haml source.
- * The helper is run on the output from child nodes when the node is rendered.
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-class HamlHelperNode extends HamlNode {
-	const MATCH = '/(.*?)(\w+)\((.+?)\)(?:\s+(.*))?$/';
-	const PRE = 1;
-	const NAME = 2;
-	const ARGS = 3;
-	const BLOCK = 4;
-	
-	/**
-	 * @var string the helper class name
-	 */
-	private $class;
-	/**
-	 * @var string helper method name
-	 */
-	private $pre;
-	/**
-	 * @var string helper method name
-	 */
-	private $name;
-	/**
-	 * @var string helper method arguments
-	 */
-	private $args;
-
-	/**
-	 * HamlFilterNode constructor.
-	 * Sets the filter.
-	 * @param string helper class.
-	 * @param string helper call.
-	 * @return HamlHelperNode
-	 */
-	public function __construct($class, $pre, $name, $args, $parent) {
-	  $this->class = $class;
-	  $this->pre = $pre;
-	  $this->name = $name;
-	  $this->args = $args;
-	  $this->parent = $parent;
-	  $this->root = $parent->root;
-	  $parent->children[] = $this;
-	}
-
-	/**
-	* Render this node.
-	* The filter is run on the content of child nodes before being returned.
-	* @return string the rendered node
-	*/
-	public function render() {
-		$children = '';
-		foreach ($this->children as $child) {
-			$children .= trim($child->render());
-		} // foreach
-		$output = '<?php '.(empty($this->pre) ? 'echo' : $this->pre)." {$this->class}::{$this->name}('$children',{$this->args}); ?>";
-		return $this->debug($output);
-	}
-}

+ 0 - 253
lib/sass/haml/tree/HamlNode.php

@@ -1,253 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlNode.php 92 2010-05-20 17:42:59Z chris.l.yates $ */
-/**
- * HamlNode class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-
-require_once('HamlRootNode.php');
-require_once('HamlCommentNode.php');
-require_once('HamlDoctypeNode.php');
-require_once('HamlElementNode.php');
-require_once('HamlFilterNode.php');
-require_once('HamlHelperNode.php');
-require_once('HamlCodeBlockNode.php');
-require_once('HamlNodeExceptions.php');
-
-/**
- * HamlNode class.
- * Base class for all Haml nodes.
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-class HamlNode {
-	/**
-	 * @var HamlNode root node of this node
-	 */
-	protected $root;
-	/**
-	 * @var HamlNode parent of this node
-	 */
-	protected $parent;
-	/**
-	 * @var array children of this node
-	 */
-	protected $children = array();
-	/**
-	 * @var array source line token
-	 */
-	public $token;
-	/**
-	 * @var boolean whether to show the output in the browser for debug
-	 */
-	public $showOutput;
-	/**
-	 * @var boolean whether to show the source in the browser for debug
-	 */
-	public $showSource;
-	/**
-	 * @var string content to render
-	 */
-	public $content;
-	/**
-	 * @var string output buffer
-	 */
-	protected $output;
-	/**
-	 * @var HamlRenderer Renderer object
-	 */
-	private $_r; 
-	/**
-	 * @var array Options
-	 */
-	private $_o;
-
-	public function __construct($content, $parent) {
-	  $this->content = $content;
-	  if (!is_null($parent)) { // $parent === null for "else" code blocks
-		  $this->parent = $parent;
-		  $this->root = $parent->root;
-		  $parent->children[] = $this;			
-	  }
-
-	}
-
-	/**
-	 * Getter.
-	 * @param string name of property to get
-	 * @return mixed return value of getter function
-	 */
-	public function __get($name) {
-		$getter = 'get' . ucfirst($name);
-		if (method_exists($this, $getter)) {
-			return $this->$getter();
-		}
-		throw new HamlNodeException('No getter function for {what}', array('{what}'=>$name));
-	}
-
-	/**
-	 * Setter.
-	 * @param string name of property to set
-	 * @return mixed value of property
-	 * @return HamlNode this node
-	 */
-	public function __set($name, $value) {
-		$setter = 'set' . ucfirst($name);
-		if (method_exists($this, $setter)) {
-			$this->$setter($value);
-			return $this;
-		}
-		throw new HamlNodeException('No setter function for {what}', array('{what}'=>$name));
-	}
-
-	/**
-	 * Return a value indicating if this node has a parent
-	 * @return array the node's parent
-	 */
-	public function hasParent() {
-		return !empty($this->parent);
-	}
-
-	/**
-	 * Returns the node's content and that of its child nodes
-	 * @param integer the indent level. This is to allow properly indented output
-	 * that filters (e.g. Sass) may need.
-	 * @return string the node's content and that of its child nodes
-	 */
-	public function getContent($indentLevel = 0) {
-		$output = str_repeat(' ', 2 * $indentLevel++) . $this->content . "\n";
-		foreach ($this->children as $child) {
-			$output .= $child->getContent($indentLevel);
-		} // foreach
-		return $output;
-	}
-
-	/**
-	 * Returns the node's parent
-	 * @return array the node's parent
-	 */
-	public function getParent() {
-		return $this->parent;
-	}
-
-	/**
-	 * Returns a value indicating if this node has children
-	 * @return boolean true if the node has children, false if not
-	 */
-	public function hasChildren() {
-		return !empty($this->children);
-	}
-
-	/**
-	 * Returns the node's children
-	 * @return array the node's children
-	 */
-	public function getChildren() {
-		return $this->children;
-	}
-
-	/**
-	 * Returns the last child node of this node.
-	 * @return HamlNode the last child node of this node
-	 */
-	public function getLastChild() {
-	  return $this->children[count($this->children) - 1];
-	}
-
-	/**
-	 * Returns the indent level of this node.
-	 * @return integer the indent level of this node
-	 */
-	private function getLevel() {
-		return $this->token['level'];
-	}
-
-	/**
-	 * Sets the indent level of this node.
-	 * Used during rendering to give correct indentation.
-	 * @param integer the indent level of this node
-	 * @return HamlNode this node
-	 */
-	private function setLevel($level) {
-		$this->token['level'] = $level;
-		return $this;
-	}
-
-	/**
-	 * Returns the source for this node
-	 * @return string the source for this node
-	 */
-	private function getSource() {
-		return $this->token[HamlParser::HAML_SOURCE];
-	}
-
-	/**
-	 * Returns the source for this node
-	 * @return string the source for this node
-	 */
-	private function getLine() {
-		return $this->token['line'];
-	}
-
-	/**
-	 * Returns the filename for this node
-	 * @return string the filename for this node
-	 */
-	private function getFilename() {
-		return $this->token['filename'];
-	}
-
-	/**
-	 * Returns the options.
-	 * @return array the options
-	 */
-	public function getOptions() {
-		if (empty($this->_o)) {
-			$this->_r = $this->root->options;
-		}
-	  return $this->_o;
-	}
-
-	/**
-	 * Returns the renderer.
-	 * @return HamlRenderer the rendered
-	 */
-	public function getRenderer() {
-		if (empty($this->_r)) {
-			$this->_r = $this->root->renderer;
-		}
-	  return $this->_r;
-	}
-
-	public function render() {
-		$output = $this->renderer->renderContent($this);
-		foreach ($this->children as $child) {
-			$output .= $child->render();
-		} // foreach
-		return $this->debug($output);
-	}
-
-	protected function debug($output) {
-		$output = ($this->showSource ? $this->showSource($output) : $output);
-		return ($this->showOutput && $this->line['indentLevel'] == 0 ?
-			nl2br(str_replace(' ', '&nbsp;', htmlspecialchars($output))) :
-			$output);
-	}
-
-	/**
-	 * Adds a comment with source debug information for the current line to the output.
-	 * The debug information is:
-	 * + source file (relative to the application path)
-	 * + line number
-	 * + indent level
-	 * + source code
-	 * @param array source line(s) that generated the ouput
-	 */
-	protected function showSource($output) {
-		return "<!--\n  ({$this->line['file']} {$this->line['number']}:{$this->line['indentLevel']})\n  {$this->line[HamlParser::HAML_SOURCE]}\n-->\n$output";
-	}
-}

+ 0 - 19
lib/sass/haml/tree/HamlNodeExceptions.php

@@ -1,19 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlNodeExceptions.php 61 2010-04-16 10:19:59Z chris.l.yates $ */
-/**
- * HamlNode exception classes.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-
-require_once(dirname(__FILE__).'/../HamlException.php');
-
-/**
- * HamlNodeException class.
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-class HamlNodeException extends HamlException {}

+ 0 - 58
lib/sass/haml/tree/HamlRootNode.php

@@ -1,58 +0,0 @@
-<?php
-/* SVN FILE: $Id: HamlRootNode.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * HamlRootNode class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-
-require_once(dirname(__FILE__).'/../renderers/HamlRenderer.php');
-
-/**
- * HamlRootNode class.
- * Also the root node of a document.
- * @package			PHamlP
- * @subpackage	Haml.tree
- */
-class HamlRootNode extends HamlNode {
-	/**
-	 * @var HamlRenderer the renderer for this node
-	 */
-	protected $renderer;
-	/**
-	 * @var array options
-	 */
-	protected $options;
-
-	/**
-	 * Root HamlNode constructor.
-	 * @param array options for the tree
-	 * @return HamlNode
-	 */
-	public function __construct($options) {
-		$this->root = $this;
-		$this->options = $options;
-		$this->renderer = HamlRenderer::getRenderer($this->options['style'],
-			array(
-				'format' => $this->options['format'],
-				'attrWrapper' => $this->options['attrWrapper'],
-				'minimizedAttributes' => $this->options['minimizedAttributes'],
-			)
-		);
-		$this->token = array('level' => -1);
-	}
-
-	/**
-	 * Render this node.
-	 * @return string the rendered node
-	 */
-	public function render() {
-		foreach ($this->children as $child) {
-			$this->output .= $child->render();
-		} // foreach
-		return $this->output;
-	}
-}

+ 0 - 29
lib/sass/sass/SassException.php

@@ -1,29 +0,0 @@
-<?php
-/* SVN FILE: $Id: SassException.php 61 2010-04-16 10:19:59Z chris.l.yates $ */
-/**
- * Sass exception.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Sass
- */
-
-require_once(dirname(__FILE__).'/../PhamlpException.php');
-
-/**
- * Sass exception class.
- * @package			PHamlP
- * @subpackage	Sass
- */
-class SassException extends PhamlpException {
-	/**
-	 * Sass Exception.
-	 * @param string Exception message
-	 * @param array parameters to be applied to the message using <code>strtr</code>.
-	 * @param object object with source code and meta data
-	 */
-	public function __construct($message, $params = array(), $object = null) {
-		parent::__construct('sass', $message, $params, $object);
-	}
-}

+ 0 - 164
lib/sass/sass/SassFile.php

@@ -1,164 +0,0 @@
-<?php
-/* SVN FILE: $Id: SassFile.php 118 2010-09-21 09:45:11Z chris.l.yates@gmail.com $ */
-/**
- * SassFile class file.
- * File handling utilites.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Sass
- */
-
-/**
- * SassFile class.
- * @package			PHamlP
- * @subpackage	Sass
- */
-class SassFile {
-	const SASS = 'sass';
-	const SCSS = 'scss';
-	const SASSC = 'sassc';
-	
-	private static $extensions = array(self::SASS, self::SCSS);
-
-	/**
-	 * Returns the parse tree for a file.
-	 * If caching is enabled a cached version will be used if possible; if not the
-	 * parsed file will be cached.
-	 * @param string filename to parse
-	 * @param SassParser Sass parser
-	 * @return SassRootNode
-	 */
-	public static function getTree($filename, $parser) {
-		if ($parser->cache) {
-			$cached = self::getCachedFile($filename, $parser->cache_location);
-			if ($cached !== false) {
-				return $cached;
-			}
-		}
-
-		$sassParser = new SassParser(array_merge($parser->options, array('line'=>1)));
-		$tree = $sassParser->parse($filename);
-		if ($parser->cache) {
-			self::setCachedFile($tree, $filename, $parser->cache_location);
-		}
-		return $tree;
-	 }
-
-	/**
-	 * Returns the full path to a file to parse.
-	 * The file is looked for recursively under the load_paths directories and
-	 * the template_location directory.
-	 * If the filename does not end in .sass or .scss try the current syntax first
-	 * then, if a file is not found, try the other syntax.
-	 * @param string filename to find
-	 * @param SassParser Sass parser
-	 * @return string path to file
-	 * @throws SassException if file not found
-	 */
-	public static function getFile($filename, $parser) {
-		$ext = substr($filename, -5);
-		
-		foreach (self::$extensions as $i=>$extension) {
-			if ($ext !== '.'.self::SASS && $ext !== '.'.self::SCSS) {
-				if ($i===0) {
-					$_filename = "$filename.{$parser->syntax}";
-				}
-				else {
-					$_filename = $filename.'.'.($parser->syntax === self::SASS ? self::SCSS : self::SASS);
-				}
-			}
-			else {
-				$_filename = $filename;
-			}
-
-			if (file_exists($_filename)) {
-				return $_filename;
-			}
-
-			foreach (array_merge(array(dirname($parser->filename)), $parser->load_paths) as $loadPath) {
-				$path = self::findFile($_filename, realpath($loadPath));
-				if ($path !== false) {
-					return $path;
-				}
-			} // foreach
-
-			if (!empty($parser->template_location)) {
-				$path = self::findFile($_filename, realpath($parser->template_location));
-				if ($path !== false) {
-					return $path;
-				}
-			}		
-		}
-
-		throw new SassException('Unable to find {what}: {filename}', array('{what}'=>'import file', '{filename}'=>$filename));
-	}
-
-	/**
-	 * Looks for the file recursively in the specified directory.
-	 * This will also look for _filename to handle Sass partials.
-	 * @param string filename to look for
-	 * @param string path to directory to look in and under
-	 * @return mixed string: full path to file if found, false if not
-	 */
-	public static function findFile($filename, $dir) {
-		$partialname = dirname($filename).DIRECTORY_SEPARATOR.'_'.basename($filename);
-		
-		foreach (array($filename, $partialname) as $file) {		
-			if (file_exists($dir . DIRECTORY_SEPARATOR . $file)) {
-				return realpath($dir . DIRECTORY_SEPARATOR . $file);
-			}		
-		}
-
-		$files = array_slice(scandir($dir), 2);
-
-		foreach ($files as $file) {
-			if (is_dir($dir . DIRECTORY_SEPARATOR . $file)) {
-				$path = self::findFile($filename, $dir . DIRECTORY_SEPARATOR . $file);
-				if ($path !== false) {
-					return $path;
-				}
-			}
-		} // foreach
-	  return false;
-	}
-
-	/**
-	 * Returns a cached version of the file if available.
-	 * @param string filename to fetch
-	 * @param string path to cache location
-	 * @return mixed the cached file if available or false if it is not
-	 */
-	public static function getCachedFile($filename, $cacheLocation) {
-		$cached = realpath($cacheLocation) . DIRECTORY_SEPARATOR .
-			md5($filename) . '.'.self::SASSC;
-
-		if ($cached && file_exists($cached) &&
-				filemtime($cached) >= filemtime($filename)) {
-			return unserialize(file_get_contents($cached));
-		}
-		return false;
-	}
-
-	/**
-	 * Saves a cached version of the file.
-	 * @param SassRootNode Sass tree to save
-	 * @param string filename to save
-	 * @param string path to cache location
-	 * @return mixed the cached file if available or false if it is not
-	 */
-	public static function setCachedFile($sassc, $filename, $cacheLocation) {
-		$cacheDir = realpath($cacheLocation);
-
-		if (!$cacheDir) {
-			mkdir($cacheLocation);
-			@chmod($cacheLocation, 0777);
-			$cacheDir = realpath($cacheLocation);
-		}
-
-		$cached = $cacheDir . DIRECTORY_SEPARATOR . md5($filename) . '.'.self::SASSC;
-
-		return file_put_contents($cached, serialize($sassc));
-	}
-}

+ 0 - 848
lib/sass/sass/SassParser.php

@@ -1,848 +0,0 @@
-<?php
-/* SVN FILE: $Id: SassParser.php 118 2010-09-21 09:45:11Z chris.l.yates@gmail.com $ */
-/**
- * SassParser class file.
- * See the {@link http://sass-lang.com/docs Sass documentation}
- * for details of Sass.
- * 
- * Credits:
- * This is a port of Sass to PHP. All the genius comes from the people that
- * invented and develop Sass; in particular:
- * + {@link http://hamptoncatlin.com/ Hampton Catlin},
- * + {@link http://nex-3.com/ Nathan Weizenbaum},
- * + {@link http://chriseppstein.github.com/ Chris Eppstein}
- * 
- * The bugs are mine. Please report any found at {@link http://code.google.com/p/phamlp/issues/list}
- * 
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Sass
- */
-
-require_once('SassFile.php');
-require_once('SassException.php');
-require_once('tree/SassNode.php');
-
-/**
- * SassParser class.
- * Parses {@link http://sass-lang.com/ .sass and .sccs} files.
- * @package			PHamlP
- * @subpackage	Sass
- */
-class SassParser {
-	/**#@+
-	 * Default option values
-	 */
-	const CACHE							= true;
-	const CACHE_LOCATION		= './sass-cache';
-	const CSS_LOCATION			= './css';
-	const TEMPLATE_LOCATION = './sass-templates';
-	const BEGIN_COMMENT			= '/';
-	const BEGIN_CSS_COMMENT	= '/*';
-	const END_CSS_COMMENT		= '*/';
-	const BEGIN_SASS_COMMENT= '//';
-	const BEGIN_INTERPOLATION = '#';
-	const BEGIN_INTERPOLATION_BLOCK = '#{';
-	const BEGIN_BLOCK				= '{';
-	const END_BLOCK					= '}';
-	const END_STATEMENT			= ';';
-	const DOUBLE_QUOTE			= '"';
-	const SINGLE_QUOTE			= "'";
-
-	/**
-	 * @var string the character used for indenting
-	 * @see indentChars
-	 * @see indentSpaces
-	 */
-	private $indentChar;
-	/**
-	 * @var array allowable characters for indenting
-	 */
-	private $indentChars = array(' ', "\t");
-	/**
-	 * @var integer number of spaces for indentation.
-	 * Used to calculate {@link Level} if {@link indentChar} is space.
-	 */
-	private $indentSpaces = 2;
-	
-	/**
-	 * @var string source
-	 */
-	private $source;
-	 
-	/**#@+
-	 * Option
-	 */
-	/**
-	 * cache: 
-	 * @var boolean Whether parsed Sass files should be cached, allowing greater
-	 * speed.
-	 * 
-	 * Defaults to true.
-	 */
-	private $cache;
-	
-	/**
-	 * cache_location:
-	 * @var string The path where the cached sassc files should be written to.
-	 * 
-	 * Defaults to './sass-cache'.
-	 */
-	private $cache_location;
-	
-	/**
-	 * css_location:
-	 * @var string The path where CSS output should be written to.
-	 * 
-	 * Defaults to './css'.
-	 */
-	private $css_location;
-	
-	/**
-	 * debug_info:
-	 * @var boolean When true the line number and file where a selector is defined
-	 * is emitted into the compiled CSS in a format that can be understood by the
-	 * {@link https://addons.mozilla.org/en-US/firefox/addon/103988/
-	 * FireSass Firebug extension}.
-	 * Disabled when using the compressed output style.
-	 * 
-	 * Defaults to false.
-	 * @see style
-	 */
-	private $debug_info;
-	
-	/**
-	 * extensions:
-	 * @var array Sass extensions, e.g. Compass. An associative array of the form
-	 * $name => $options where $name is the name of the extension and $options
-	 * is an array of name=>value options pairs.
-	 */
-	protected $extensions;
-	
-	/**
-	 * filename:
-	 * @var string The filename of the file being rendered. 
-	 * This is used solely for reporting errors.
-	 */
-	protected $filename;
-	
-	/**
-	 * function_paths:
-	 * @var array An array of filesystem paths which should be searched for
-	 * SassScript functions.
-	 */
-	private $function_paths;
-	
-	/**
-	 * line:
-	 * @var integer The number of the first line of the Sass template. Used for
-	 * reporting line numbers for errors. This is useful to set if the Sass
-	 * template is embedded.
-	 * 
-	 * Defaults to 1. 
-	 */
-	private $line;
-	
-	/**
-	 * line_numbers:
-	 * @var boolean When true the line number and filename where a selector is
-	 * defined is emitted into the compiled CSS as a comment. Useful for debugging
-	 * especially when using imports and mixins.
-	 * Disabled when using the compressed output style or the debug_info option.
-	 * 
-	 * Defaults to false.
-	 * @see debug_info
-	 * @see style
-	 */
-	 private $line_numbers;
-	
-	/**
-	 * load_paths:
-	 * @var array An array of filesystem paths which should be searched for
-	 * Sass templates imported with the @import directive.
-	 * 
-	 * Defaults to './sass-templates'.
-	 */
-	private $load_paths;
-	
-	/**
-	 * property_syntax: 
-	 * @var string Forces the document to use one syntax for
-	 * properties. If the correct syntax isn't used, an error is thrown. 
-	 * Value can be:
-	 * + new - forces the use of a colon or equals sign after the property name.
-	 * For example	 color: #0f3 or width: $main_width.
-	 * + old -  forces the use of a colon before the property name.
-	 * For example: :color #0f3 or :width = $main_width.
-	 * 
-	 * By default, either syntax is valid.
-	 * 
-	 * Ignored for SCSS files which alaways use the new style.
-	 */
-	private $property_syntax;
-	
-	/**
-	 * quiet:
-	 * @var boolean When set to true, causes warnings to be disabled.
-	 * Defaults to false.
-	 */
-	private $quiet;
-	
-	/**
-	 * style:
-	 * @var string the style of the CSS output.
-	 * Value can be:
-	 * + nested - Nested is the default Sass style, because it reflects the
-	 * structure of the document in much the same way Sass does. Each selector
-	 * and rule has its own line with indentation is based on how deeply the rule
-	 * is nested. Nested style is very useful when looking at large CSS files as
-	 * it allows you to very easily grasp the structure of the file without
-	 * actually reading anything.
-	 * + expanded - Expanded is the typical human-made CSS style, with each selector
-	 * and property taking up one line. Selectors are not indented; properties are
-	 * indented within the rules.
-	 * + compact - Each CSS rule takes up only one line, with every property defined
-	 * on that line. Nested rules are placed with each other while groups of rules
-	 * are separated by a blank line.
-	 * + compressed - Compressed has no whitespace except that necessary to separate
-	 * selectors and properties. It's not meant to be human-readable.
-	 * 
-	 * Defaults to 'nested'.
-	 */
-	private $style;
-	
-	/**
-	 * syntax:
-	 * @var string The syntax of the input file.
-	 * 'sass' for the indented syntax and 'scss' for the CSS-extension syntax.
-	 * 
-	 * This is set automatically when parsing a file, else defaults to 'sass'.
-	 */
-	private $syntax;
-
-	/**
-	 * template_location:
-	 * @var string Path to the root sass template directory for your
-	 * application.
-	 */
-	private $template_location;
-
-	/**
-	 * vendor_properties:
-	 * If enabled a property need only be written in the standard form and vendor
-	 * specific versions will be added to the style sheet.
-	 * @var mixed array: vendor properties, merged with the built-in vendor
-	 * properties, to automatically apply.
-	 * Boolean true: use built in vendor properties.
-	 * 
-	 * Defaults to vendor_properties disabled.
-	 * @see _vendorProperties
-	 */
-	private $vendor_properties = array();
-	
-	/**#@-*/
-	/**
-	 * Defines the build-in vendor properties
-	 * @var array built-in vendor properties
-	 * @see vendor_properties
-	 */
-	private $_vendorProperties = array(
-		'border-radius' => array(
-			'-moz-border-radius',
-			'-webkit-border-radius',
-			'-khtml-border-radius'
-		),
-		'border-top-right-radius' => array(
-			'-moz-border-radius-topright',
-			'-webkit-border-top-right-radius',
-			'-khtml-border-top-right-radius'
-		),
-		'border-bottom-right-radius' => array(
-			'-moz-border-radius-bottomright', 
-			'-webkit-border-bottom-right-radius',
-			'-khtml-border-bottom-right-radius'
-		),
-		'border-bottom-left-radius' => array(
-			'-moz-border-radius-bottomleft',
-			'-webkit-border-bottom-left-radius',
-			'-khtml-border-bottom-left-radius'
-		),
-		'border-top-left-radius' => array(
-			'-moz-border-radius-topleft',
-			'-webkit-border-top-left-radius',
-			'-khtml-border-top-left-radius'
-		),
-		'box-shadow' => array('-moz-box-shadow', '-webkit-box-shadow'),
-		'box-sizing' => array('-moz-box-sizing', '-webkit-box-sizing'),
-		'opacity' => array('-moz-opacity', '-webkit-opacity', '-khtml-opacity'),
-	);
-
-	/**
-	 * Constructor.
-	 * Sets parser options
-	 * @param array $options
-	 * @return SassParser
-	 */
-	public function __construct($options = array()) {
-		if (!is_array($options)) {
-			throw new SassException('{what} must be a {type}', array('{what}'=>'options', '{type}'=>'array'));
-		}
-		if (!empty($options['language'])) {
-			Phamlp::$language = $options['language'];
-		}
-		
-		if (!empty($options['extensions'])) {
-			foreach ($options['extensions'] as $extension=>$extOptions) {
-				include dirname(__FILE__).DIRECTORY_SEPARATOR.'extensions'.DIRECTORY_SEPARATOR.$extension.DIRECTORY_SEPARATOR.'config.php';
-				$configClass = 'SassExtentions'.$extension.'Config';
-				$config = new $configClass;
-				$config->config($extOptions);
-				
-				$lp = dirname(__FILE__).DIRECTORY_SEPARATOR.'extensions'.DIRECTORY_SEPARATOR.$extension.DIRECTORY_SEPARATOR.'frameworks';
-				$fp = dirname(__FILE__).DIRECTORY_SEPARATOR.'extensions'.DIRECTORY_SEPARATOR.$extension.DIRECTORY_SEPARATOR.'functions';
-				$options['load_paths'] = (empty($options['load_paths']) ?
-					array($lp) : array_merge($options['load_paths'], $lp));
-				$options['function_paths'] = (empty($options['function_paths']) ?
-					array($fp) : array_merge($options['function_paths'], $fp));			
-			}
-		}
-		
-		if (!empty($options['vendor_properties'])) {
-			if ($options['vendor_properties'] === true) {
-				$this->vendor_properties = $this->_vendorProperties;
-			}
-			elseif (is_array($options['vendor_properties'])) {
-				$this->vendor_properties = array_merge($this->vendor_properties, $this->_vendorProperties);
-			}
-		}
-		unset($options['language'], $options['vendor_properties']);
-		
-		$defaultOptions = array(
-			'cache' 				 => self::CACHE,
-			'cache_location' => dirname(__FILE__) . DIRECTORY_SEPARATOR . self::CACHE_LOCATION,
-			'css_location'	 => dirname(__FILE__) . DIRECTORY_SEPARATOR . self::CSS_LOCATION,
-			'debug_info'		 => false,
-			'filename'			 => array('dirname' => '', 'basename' => ''),
-			'function_paths' => array(),
-			'load_paths' 		 => array(dirname(__FILE__) . DIRECTORY_SEPARATOR . self::TEMPLATE_LOCATION),
-			'line'					 => 1,
-			'line_numbers'	 => false,
-			'style' 				 => SassRenderer::STYLE_NESTED,
-			'syntax'				 => SassFile::SASS
-		);
-		
-		foreach (array_merge($defaultOptions, $options) as $name=>$value) {
-			if (property_exists($this, $name)) {
-				$this->$name = $value;
-			}
-		}
-	}
-	
-	/**
-	 * Getter.
-	 * @param string name of property to get
-	 * @return mixed return value of getter function
-	 */
-	public function __get($name) {
-		$getter = 'get' . ucfirst($name);
-		if (method_exists($this, $getter)) {
-			return $this->$getter();
-		}
-		throw new SassException('No getter function for {what}', array('{what}'=>$name));
-	}
-	
-	public function getCache() {
-		return $this->cache; 
-	}
-	
-	public function getCache_location() {
-		return $this->cache_location; 
-	}
-	
-	public function getCss_location() {
-		return $this->css_location; 
-	}
-	
-	public function getDebug_info() {
-		return $this->debug_info; 
-	}
-	
-	public function getFilename() {
-		return $this->filename; 
-	}
-	
-	public function getLine() {
-		return $this->line; 
-	}
-	
-	public function getSource() {
-		return $this->source; 
-	}
-	
-	public function getLine_numbers() {
-		return $this->line_numbers; 
-	}
-	
-	public function getFunction_paths() {
-		return $this->function_paths; 
-	}
-	
-	public function getLoad_paths() {
-		return $this->load_paths; 
-	}
-	
-	public function getProperty_syntax() {
-		return $this->property_syntax; 
-	}
-	
-	public function getQuiet() {
-		return $this->quiet; 
-	}
-	
-	public function getStyle() {
-		return $this->style; 
-	}
-	
-	public function getSyntax() {
-		return $this->syntax; 
-	}
-	
-	public function getTemplate_location() {
-		return $this->template_location; 
-	}
-	
-	public function getVendor_properties() {
-		return $this->vendor_properties;
-	}
-	
-	public function getOptions() {
-		return array(
-			'cache' => $this->cache,
-			'cache_location' => $this->cache_location,
-			'css_location' => $this->css_location,
-			'filename' => $this->filename,
-			'function_paths' => $this->function_paths,
-			'line' => $this->line,
-			'line_numbers' => $this->line_numbers,
-			'load_paths' => $this->load_paths,
-			'property_syntax' => $this->property_syntax,
-			'quiet' => $this->quiet,
-			'style' => $this->style,
-			'syntax' => $this->syntax,
-			'template_location' => $this->template_location,
-			'vendor_properties' => $this->vendor_properties
-		);
-	}
-
-	/**
-	 * Parse a sass file or Sass source code and returns the CSS.
-	 * @param string name of source file or Sass source
-	 * @return string CSS
-	 */
-	public function toCss($source, $isFile = true) {
-		return $this->parse($source, $isFile)->render();
-	}
-
-	/**
-	 * Parse a sass file or Sass source code and
-	 * returns the document tree that can then be rendered.
-	 * The file will be searched for in the directories specified by the
-	 * load_paths option.
-	 * If caching is enabled a cached version will be used if possible or the
-	 * compiled version cached if not.
-	 * @param string name of source file or Sass source
-	 * @return SassRootNode Root node of document tree
-	 */
-	public function parse($source, $isFile = true) {
-		if ($isFile) {
-			$this->filename = SassFile::getFile($source, $this);
-			
-			if ($isFile) {
-				$this->syntax = substr($this->filename, -4);
-			}
-			elseif ($this->syntax !== SassFile::SASS && $this->syntax !== SassFile::SCSS) {
-				throw new SassException('Invalid {what}', array('{what}'=>'syntax option'));
-			}
-
-			if ($this->cache) {
-				$cached = SassFile::getCachedFile($this->filename, $this->cache_location);
-				if ($cached !== false) {
-					return $cached;
-				}
-			}
-			
-			$tree = $this->toTree(file_get_contents($this->filename));
-
-			if ($this->cache) {
-				SassFile::setCachedFile($tree, $this->filename, $this->cache_location);
-			}
-
-			return $tree;
-		}
-		else {
-			return $this->toTree($source);
-		}
-	}
-
-	/**
-	 * Parse Sass source into a document tree.
-	 * If the tree is already created return that.
-	 * @param string Sass source
-	 * @return SassRootNode the root of this document tree
-	 */
-	private function toTree($source) {
-		if ($this->syntax === SassFile::SASS) {
-			$this->source = explode("\n", $source);
-			$this->setIndentChar();
-		}
-		else {
-			$this->source = $source;
-		}
-		unset($source);
-		$root = new SassRootNode($this);
-		$this->buildTree($root);
-		return $root;
-	}
-
-	/**
-	 * Builds a parse tree under the parent node.
-	 * Called recursivly until the source is parsed.
-	 * @param SassNode the node
-	 */
-	private function buildTree($parent) {
-		$node = $this->getNode($parent);
-		while (is_object($node) && $node->isChildOf($parent)) {
-			$parent->addChild($node);
-			$node = $this->buildTree($node);
-		}
-		return $node;
-	}
-
-	/**
-	 * Creates and returns the next SassNode.
-	 * The tpye of SassNode depends on the content of the SassToken.
-	 * @return SassNode a SassNode of the appropriate type. Null when no more
-	 * source to parse.
-	 */
-	private function getNode($node) {
-		$token = $this->getToken();
-		if (empty($token)) return null;
-		switch (true) {
-			case SassDirectiveNode::isa($token):
-				return $this->parseDirective($token, $node);
-				break;
-			case SassCommentNode::isa($token):
-				return new SassCommentNode($token);
-				break;
-			case SassVariableNode::isa($token):
-				return new SassVariableNode($token);
-				break;
-			case SassPropertyNode::isa($token, $this->property_syntax):
-				return new SassPropertyNode($token, $this->property_syntax);
-				break;
-			case SassMixinDefinitionNode::isa($token):
-				if ($this->syntax === SassFile::SCSS) {
-					throw new SassException('Mixin {which} shortcut not allowed in SCSS', array('{which}'=>'definition'), $this);
-				}
-				return new SassMixinDefinitionNode($token);
-				break;
-			case SassMixinNode::isa($token):
-				if ($this->syntax === SassFile::SCSS) {
-					throw new SassException('Mixin {which} shortcut not allowed in SCSS', array('{which}'=>'include'), $this);
-				}
-				return new SassMixinNode($token);
-				break;
-			default:
-				return new SassRuleNode($token);
-				break;
-		} // switch
-	}
-	
-	/**
-	 * Returns a token object that contains the next source statement and
-	 * meta data about it.
-	 * @return object
-	 */
-	private function getToken() {
-		return ($this->syntax === SassFile::SASS ? $this->sass2Token() : $this->scss2Token());
-	}
-	
-	/**
-	 * Returns an object that contains the next source statement and meta data
-	 * about it from SASS source.
-	 * Sass statements are passed over. Statements spanning multiple lines, e.g.
-	 * CSS comments and selectors, are assembled into a single statement.
-	 * @return object Statement token. Null if end of source. 
-	 */
-	private function sass2Token() {
-		$statement = ''; // source line being tokenised
-		$token = null;
-		
-		while (is_null($token) && !empty($this->source)) {
-			while (empty($statement) && !empty($this->source)) {
-				$source = array_shift($this->source);
-				$statement = trim($source);
-				$this->line++;
-			}
-			
-			if (empty($statement)) {
-				break;
-			}
-			
-			$level = $this->getLevel($source);
-			
-			// Comment statements can span multiple lines
-			if ($statement[0] === self::BEGIN_COMMENT) {
-				// Consume Sass comments
-				if (substr($statement, 0, strlen(self::BEGIN_SASS_COMMENT))
-						=== self::BEGIN_SASS_COMMENT) {
-					unset($statement);
-					while($this->getLevel($this->source[0]) > $level) {
-						array_shift($this->source);
-						$this->line++;
-					}
-					continue;
-				}
-				// Build CSS comments
-				elseif (substr($statement, 0, strlen(self::BEGIN_CSS_COMMENT))
-						=== self::BEGIN_CSS_COMMENT) {
-					while($this->getLevel($this->source[0]) > $level) {
-						$statement .= "\n" . ltrim(array_shift($this->source));
-						$this->line++;
-					}
-				}
-				else {
-					$this->source = $statement;
-					throw new SassException('Illegal comment type', array(), $this);
-				}
-			}
-			// Selector statements can span multiple lines
-			elseif (substr($statement, -1) === SassRuleNode::CONTINUED) {
-				// Build the selector statement
-				while($this->getLevel($this->source[0]) === $level) {
-					$statement .= ltrim(array_shift($this->source));
-					$this->line++;
-				}
-			}
-			
-			$token = (object) array(
-				'source' => $statement,
-				'level' => $level,
-				'filename' => $this->filename,
-				'line' => $this->line - 1,
-			);
-		}
-		return $token;		 
-	}
-
-	/**
-	 * Returns the level of the line.
-	 * Used for .sass source
-	 * @param string the source
-	 * @return integer the level of the source
-	 * @throws Exception if the source indentation is invalid
-	 */
-	private function getLevel($source) {
-		$indent = strlen($source) - strlen(ltrim($source));
-		$level = $indent/$this->indentSpaces;
-		if (!is_int($level) ||
-				preg_match("/[^{$this->indentChar}]/", substr($source, 0, $indent))) {
-			$this->source = $source;
-			throw new SassException('Invalid indentation', array(), $this);
-		}
-		return $level;
-	}
-	
-	/**
-	 * Returns an object that contains the next source statement and meta data
-	 * about it from SCSS source.
-	 * @return object Statement token. Null if end of source. 
-	 */
-	private function scss2Token() {
-		static $srcpos = 0; // current position in the source stream
-		static $srclen; // the length of the source stream
-		
-		$statement = '';
-		$token = null;
-		if (empty($srclen)) {
-			$srclen = strlen($this->source);
-		}
-		while (is_null($token) && $srcpos < $srclen) {
-			$c = $this->source[$srcpos++];
-			switch ($c) {
-				case self::BEGIN_COMMENT:	
-					if (substr($this->source, $srcpos-1, strlen(self::BEGIN_SASS_COMMENT))
-							=== self::BEGIN_SASS_COMMENT) {
-						while ($this->source[$srcpos++] !== "\n");
-						$statement .= "\n";
-					}
-					elseif (substr($this->source, $srcpos-1, strlen(self::BEGIN_CSS_COMMENT))
-							=== self::BEGIN_CSS_COMMENT) {
-						if (ltrim($statement)) {
-							throw new SassException('Invalid {what}', array('{what}'=>'comment'), (object) array(
-								'source' => $statement,
-								'filename' => $this->filename,
-								'line' => $this->line,
-							));
-						}
-						$statement .= $c.$this->source[$srcpos++];
-						while (substr($this->source, $srcpos, strlen(self::END_CSS_COMMENT))
-								!== self::END_CSS_COMMENT) {
-							$statement .= $this->source[$srcpos++];
-						}
-						$srcpos += strlen(self::END_CSS_COMMENT);
-						$token = $this->createToken($statement.self::END_CSS_COMMENT);
-					}
-					else {
-						$statement .= $c;
-					}
-					break;
-				case self::DOUBLE_QUOTE:
-				case self::SINGLE_QUOTE:
-					$statement .= $c;
-					while ($this->source[$srcpos] !== $c) {
-						$statement .= $this->source[$srcpos++];
-					}
-					$statement .= $this->source[$srcpos++];
-					break;
-				case self::BEGIN_INTERPOLATION:
-					$statement .= $c;
-					if (substr($this->source, $srcpos-1, strlen(self::BEGIN_INTERPOLATION_BLOCK))
-							=== self::BEGIN_INTERPOLATION_BLOCK) {
-						while ($this->source[$srcpos] !== self::END_BLOCK) {
-							$statement .= $this->source[$srcpos++];
-						}
-						$statement .= $this->source[$srcpos++];
-					}
-					break;
-				case self::BEGIN_BLOCK:				
-				case self::END_BLOCK:
-				case self::END_STATEMENT:
-					$token = $this->createToken($statement . $c);
-					if (is_null($token)) $statement = '';
-					break;	
-				default:
-					$statement .= $c;
-					break;
-			}	
-		}
-		
-		if (is_null($token))
-			$srclen = $srcpos = 0;
-
-		return $token; 
-	}
-	
-	/**
-	 * Returns an object that contains the source statement and meta data about
-	 * it.
-	 * If the statement is just and end block we update the meta data and return null.
-	 * @param string source statement
-	 * @return SassToken
-	 */
-	private function createToken($statement) {
-		static $level = 0;
-		
-		$this->line += substr_count($statement, "\n");
-		$statement = trim($statement);
-		if (substr($statement, 0, strlen(self::BEGIN_CSS_COMMENT)) !== self::BEGIN_CSS_COMMENT) { 
-			$statement = str_replace(array("\n","\r"), '', $statement);
-		}
-		$last = substr($statement, -1);
-		// Trim the statement removing whitespace, end statement (;), begin block ({), and (unless the statement ends in an interpolation block) end block (})
-		$statement = rtrim($statement, ' '.self::BEGIN_BLOCK.self::END_STATEMENT);
-		$statement = (preg_match('/#\{.+?\}$/i', $statement) ? $statement : rtrim($statement, self::END_BLOCK));
-		$token = ($statement ? (object) array(
-			'source' => $statement,
-			'level' => $level,
-			'filename' => $this->filename,
-			'line' => $this->line,
-		) : null);
-		$level += ($last === self::BEGIN_BLOCK ? 1 : ($last === self::END_BLOCK ? -1 : 0));
-		return $token;
-	}
-
-	/**
-	 * Parses a directive
-	 * @param SassToken token to parse
-	 * @param SassNode parent node
-	 * @return SassNode a Sass directive node
-	 */
-	private function parseDirective($token, $parent) {
-		switch (SassDirectiveNode::extractDirective($token)) {
-			case '@extend':
-				return new SassExtendNode($token);
-				break;
-			case '@mixin':
-				return new SassMixinDefinitionNode($token);
-				break;
-			case '@include':
-				return new SassMixinNode($token);
-				break;
-			case '@import':
-				if ($this->syntax == SassFile::SASS) {
-					$i = 0;
-					$source = '';
-					while (!empty($this->source) && empty($source)) {
-						$source = $this->source[$i++];
-					}
-					if (!empty($source) && $this->getLevel($source) > $token->level) {
-						throw new SassException('Nesting not allowed beneath {what}', array('{what}'=>'@import directive'), $token);
-					}
-				}
-				return new SassImportNode($token);
-				break;
-			case '@for':
-				return new SassForNode($token);
-				break;
-			case '@if':
-				return new SassIfNode($token);
-				break;
-			case '@else': // handles else and else if directives
-				return new SassElseNode($token);
-				break;
-			case '@do':
-			case '@while':
-				return new SassWhileNode($token);
-				break;
-			case '@debug':
-				return new SassDebugNode($token);
-				break;
-			case '@warn':
-				return new SassDebugNode($token, true);
-				break;
-			default:
-				return new SassDirectiveNode($token);
-				break;
-		}
-	}
-
-	/**
-	 * Determine the indent character and indent spaces.
-	 * The first character of the first indented line determines the character.
-	 * If this is a space the number of spaces determines the indentSpaces; this
-	 * is always 1 if the indent character is a tab.
-	 * Only used for .sass files.
-	 * @throws SassException if the indent is mixed or
-	 * the indent character can not be determined
-	 */
-	private function setIndentChar() {
-		foreach ($this->source as $l=>$source) {
-			if (!empty($source) && in_array($source[0], $this->indentChars)) {
-				$this->indentChar = $source[0];
-				for	($i = 0, $len = strlen($source); $i < $len && $source[$i] == $this->indentChar; $i++);
-				if ($i < $len && in_array($source[$i], $this->indentChars)) {
-					$this->line = ++$l;
-					$this->source = $source;
-					throw new SassException('Mixed indentation not allowed', array(), $this);
-				}
-				$this->indentSpaces = ($this->indentChar == ' ' ? $i : 1);
-				return;
-			}
-		} // foreach
-		$this->indentChar = ' ';
-		$this->indentSpaces = 2;
-	}
-}

+ 0 - 65
lib/sass/sass/extensions/compass/config.php

@@ -1,65 +0,0 @@
-<?php
-/* SVN FILE: $Id: SassBoolean.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
-/**
- * Compass extension configuration class file.
- * @author			Chris Yates <chris.l.yates@gmail.com>
- * @copyright 	Copyright (c) 2010 PBM Web Development
- * @license			http://phamlp.googlecode.com/files/license.txt
- * @package			PHamlP
- * @subpackage	Sass.extensions.compass
- */
- 
-/**
- * Compass extension configuration class.
- * @package			PHamlP
- * @subpackage	Sass.extensions.compass
- */
-class SassExtentionsCompassConfig {
-	public static $config;
-	private static $defaultConfig = array(
-						 'project_path' => '',
-								'http_path' => '/',
-									'css_dir' => 'css',
-								 'css_path' => '',
-						'http_css_path' => '',
-								'fonts_dir' => 'fonts',
-							 'fonts_path' => '',
-					'http_fonts_path' => '',
-							 'images_dir' => 'images',
-							'images_path' => '',
-				 'http_images_path' => '',
-					'javascripts_dir' => 'javascripts',
-				 'javascripts_path' => '',
-		'http_javascripts_path' => '',
-					'relative_assets' => true,
-	);
-	
-	/**
-	 * Sets configuration settings or returns a configuration setting. 
-	 * @param mixed array: configuration settings; string: configuration setting to return
-	 * @return string configuration setting. Null if setting does not exist.
-	 */
-	public function config($config) {
-		if (is_array($config)) {
-			self::$config = array_merge(self::$defaultConfig, $config);
-			self::setDefaults();
-		}			
-		elseif (is_string($config) && isset(self::$config[$config])) {
-			return self::$config[$config]; 
-		}	
-	}
-	
-	/**
-	 * Sets default values for paths not specified 
-	 */
-	private static function setDefaults() {
-		foreach (array('css', 'images', 'fonts', 'javascripts') as $asset) {
-			if (empty(self::$config[$asset.'_path'])) {
-				self::$config[$asset.'_path'] = self::$config['project_path'].DIRECTORY_SEPARATOR.self::$config[$asset.'_dir'];
-			}
-			if (empty(self::$config['http_'.$asset.'_path'])) {
-				self::$config['http_'.$asset.'_path'] = self::$config['http_path'].self::$config[$asset.'_dir'];
-			}
-		}
-	}
-}

+ 0 - 47
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/_blueprint.scss

@@ -1,47 +0,0 @@
-@import "blueprint/colors";
-@import "blueprint/grid";
-@import "blueprint/typography";
-@import "blueprint/utilities";
-@import "blueprint/form";
-@import "blueprint/interaction";
-@import "blueprint/debug";
-@import "blueprint/print";
-@import "blueprint/ie";
-
-// ### Usage examples:
-//
-// As a top-level mixin, apply to any page that includes the stylesheet:
-// <pre class="source-code sass">
-// +blueprint
-// </pre>
-//
-// Scoped by a presentational class:
-// <pre class="source-code sass">
-// body.blueprint
-//   +blueprint(true)
-// </pre>
-//
-// Scoped by semantic selectors:
-// <pre class="source-code sass">
-// body#page-1, body#page-2, body.a-special-page-type
-//   +blueprint(true)
-// </pre>
-//
-// #### Deprecated:
-// You use to be able to pass the body selector as the first argument when used as a top-level mixin
-// <pre class="source-code sass">
-// +blueprint("body#page-1, body#page-2, body.a-special-page-type")
-// </pre>
-
-@mixin blueprint($body_selector: body) {
-  //@doc off
-  @if not ($body_selector == "body" or $body_selector == true) {
-    @warn "[DEPRECATED] To specify a the selector \"#{$body_selector}\" to +blueprint, pass true as the first argument and mix it into #{$body_selector}."; }
-  //@doc on
-  @include blueprint-typography($body_selector);
-  @include blueprint-utilities;
-  @include blueprint-grid;
-  @include blueprint-debug;
-  @include blueprint-interaction;
-  @include blueprint-form;
-}

+ 0 - 101
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_buttons.scss

@@ -1,101 +0,0 @@
-@import "compass/css3/inline-block";
-@import "compass/utilities/general/float";
-
-// Button Font
-$blueprint_button_font_family: unquote('"Lucida Grande", Tahoma, Arial, Verdana, sans-serif') !default;
-
-// Default Button Colors
-$blueprint_button_border_color:     #dedede !default;
-$blueprint_button_background_color: #f5f5f5 !default;
-$blueprint_button_font_color:       #565656 !default;
-
-// Default Button Hover Colors
-$blueprint_button_hover_border_color:     #c2e1ef !default;
-$blueprint_button_hover_background_color: #dff4ff !default;
-$blueprint_button_hover_font_color:       #336699 !default;
-
-// Default Button Active Colors
-$blueprint_button_active_border_color:     #6299c5 !default;
-$blueprint_button_active_background_color: #6299c5 !default;
-$blueprint_button_active_font_color:       white !default;
-
-//**
-// Sets the colors for a button
-// @param border_highlight_color
-//   The highlight color defaults to whatever is the value of the border_color but it's one shade lighter.
-@mixin button-colors(
-  $font_color: $blueprint_button_font_color,
-  $bg_color: $blueprint_button_background_color,
-  $border_color: $blueprint_button_border_color,
-  $border_highlight_color: $border_color + #101010
-) {
-  background-color: $bg_color;
-  border-color: $border_highlight_color $border_color $border_color $border_highlight_color;
-  color: $font_color;
-}
-
-//**
-// Sets the colors for a button in the active state
-// @param border_highlight_color
-//   The highlight color defaults to whatever is the value of the border_color but it's one shade lighter.
-@mixin button-active-colors(
-  $font_color: $blueprint_button_active_font_color,
-  $bg_color: $blueprint_button_active_background_color,
-  $border_color: $blueprint_button_active_border_color,
-  $border_highlight_color: $border_color + #101010
-) {
-  &:active {
-    @include button-colors($font_color, $bg_color, $border_color, $border_highlight_color);
-  }
-}
-
-//**
-// Sets the colors for a button in the hover state.
-// @param border_highlight_color
-//   The highlight color defaults to whatever is the value of the border_color but it's one shade lighter.
-@mixin button-hover-colors(
-  $font_color: $blueprint_button_hover_font_color,
-  $bg_color: $blueprint_button_hover_background_color,
-  $border_color: $blueprint_button_hover_border_color,
-  $border_highlight_color: $border_color + #101010
-) {
-  &:hover {
-    @include button-colors($font_color, $bg_color, $border_color, $border_highlight_color);
-  }
-}
-
-@mixin button-base($float: false) {
-  @if $float { @include float($float); display: block; }
-  @else      { @include inline-block; }
-  margin: 0.7em 0.5em 0.7em 0;
-  border-width: 1px; border-style: solid;
-  font-family: $blueprint_button_font_family; font-size: 100%; line-height: 130%; font-weight: bold;
-  text-decoration: none;
-  cursor: pointer;
-  img {
-    margin: 0 3px -3px 0 !important;
-    padding: 0;
-    border: none;
-    width: 16px;
-    height: 16px;
-    float: none;
-  }
-}
-
-@mixin anchor-button($float: false) {
-  @include button-base($float);
-  padding: 5px 10px 5px 7px;
-}
-
-@mixin button-button($float: false) {
-  @include button-base($float);
-  width: auto;
-  overflow: visible;
-  padding: 4px 10px 3px 7px;
-  &[type] {
-    padding: 4px 10px 4px 7px;
-    line-height: 17px; }
-  *:first-child+html &[type] {
-    padding: 4px 10px 3px 7px;
-  }
-}

+ 0 - 32
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_colors.scss

@@ -1,32 +0,0 @@
-$font_color:     #333333 !default;
-$quiet_color:    $font_color + #333333 !default;
-$loud_color:     $font_color - #222222 !default;
-$header_color:   $font_color - #111111 !default;
-$alt_text_color: #666666 !default;
-$blueprint_background_color: #eeeeee !default;
-
-$link_color:         #000099               !default;
-$link_hover_color:   black                 !default;
-$link_focus_color:   $link_hover_color     !default;
-$link_active_color:  $link_color + #cc0000 !default;
-$link_visited_color: $link_color - #333333 !default;
-
-$feedback_border_color: #dddddd !default;
-$success_color:         #264409 !default;
-$success_bg_color:      #e6efc2 !default;
-$success_border_color:  #c6d880 !default;
-$notice_color:          #514721 !default;
-$notice_bg_color:       #fff6bf !default;
-$notice_border_color:   #ffd324 !default;
-$error_color:           #8a1f11 !default;
-$error_bg_color:        #fbe3e4 !default;
-$error_border_color:    #fbc2c4 !default;
-
-$highlight_color:        yellow !default;
-$added_color:             white !default;
-$added_bg_color:        #006600 !default;
-$removed_color:           white !default;
-$removed_bg_color:      #990000 !default;
-
-$blueprint_table_header_color: #c3d9ff !default;
-$blueprint_table_stripe_color: #e5ecf9 !default;

+ 0 - 11
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_debug.scss

@@ -1,11 +0,0 @@
-@mixin showgrid($image: "grid.png") {
-  background: image_url($image);
-}
-
-@mixin blueprint-debug($grid_image: unquote("grid.png")) {
-  // Use this class on any column or container to see the grid.
-  // TODO: prefix this with the project path.
-  .showgrid {
-    @include showgrid($grid_image);
-  }
-}

+ 0 - 86
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_fancy-type.scss

@@ -1,86 +0,0 @@
-@import "typography";
-
-$alternate-text-font : "Warnock Pro", "Goudy Old Style", "Palatino", "Book Antiqua", Georgia, serif !default;
-// To install the fancy type plugin:
-//   1. import the fancy_type module: @import blueprint/fancy_type
-//   2. mixin +fancy-type to your project's body or at the top level of your stylesheet:
-//     body
-//       +fancy-type
-
-@mixin fancy-type {
-  @include fancy-paragraphs;
-  .caps { @include caps; }
-  .dquo { @include dquo; }
-  .alt  { @include alt;  }
-}
-
-// Indentation instead of line shifts for sibling paragraphs. Mixin to a style like p + p
-@mixin sibling-indentation {
-  text-indent: 2em;
-  margin-top: -1.5em;
-  /* Don't want this in forms. */
-  form & { text-indent: 0; }
-}
-
-// For great looking type, use this code instead of asdf: 
-// <span class="alt">asdf</span>  
-// Best used on prepositions and ampersands.
-
-@mixin alt {
-  color: $alt-text-color;
-  font-family: $alternate-text-font;
-  font-style: italic;
-  font-weight: normal;
-}
-
-// For great looking quote marks in titles, replace "asdf" with:
-// <span class="dquo">&#8220;</span>asdf&#8221;
-// (That is, when the title starts with a quote mark). 
-// (You may have to change this value depending on your font size).
-
-@mixin dquo($offset: 0.5em) {
-  margin-left: -$offset;
-}
-
-// Reduced size type with incremental leading
-// (http://www.markboulton.co.uk/journal/comments/incremental_leading/)
-//
-// This could be used for side notes. For smaller type, you don't necessarily want to 
-// follow the 1.5x vertical rhythm -- the line-height is too much. 
-//
-// Using this mixin, reduces your font size and line-height so that for 
-// every four lines of normal sized type, there is five lines of the sidenote. eg:
-//
-// Arguments:
-//   `$font-size` - The desired font size in pixels. This will be converted to ems for you. Defaults to 10px.
-//   `$base-font-size` - The base font size in pixels. Defaults to 12px
-//   `$old-line-height` - The old line height. Defaults to 1.5 times the base-font-size
-
-@mixin incr(
-  $font-size: 10px,
-  $base-font-size: $blueprint-font-size,
-  $old-line-height: $base-font-size * 1.5
-) {
-  font-size: 1em * $font-size / $base-font-size;
-  line-height: 1em * $old-line-height / $font-size * 4 / 5;
-  margin-bottom: 1.5em;
-}
-
-// Surround uppercase words and abbreviations with this class.
-// Based on work by Jørgen Arnor Gårdsø Lom [http://twistedintellect.com/]
-
-@mixin caps {
-  font-variant: small-caps;
-  letter-spacing: 1px;
-  text-transform: lowercase;
-  font-size: 1.2em;
-  line-height: 1%;
-  font-weight: bold;
-  padding: 0 2px;
-}
-
-@mixin fancy-paragraphs {
-  p + p   { @include sibling-indentation; }
-  p.incr,
-  .incr p { @include incr; }
-}

+ 0 - 68
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_form.scss

@@ -1,68 +0,0 @@
-@import "colors";
-
-// Mixin for producing Blueprint "inline" forms. Should be used with the blueprint-form mixin.
-@mixin blueprint-inline-form {
-  line-height: 3;
-  p {
-    margin-bottom: 0;
-  }
-}
-
-@mixin blueprint-form {
-  @include blueprint-form-layout;
-  @include blueprint-form-borders;
-  @include blueprint-form-sizes;
-}
-
-@mixin blueprint-form-layout {
-  label              { font-weight: bold; }
-  fieldset           { padding: 1.4em; margin: 0 0 1.5em 0; }
-  legend             { font-weight: bold; font-size: 1.2em; }
-  input {
-    &.text,
-    &.title,
-    &[type=email],
-    &[type=text],
-    &[type=password]   { margin: 0.5em 0; background-color: white; padding: 5px; }
-    &.title            { font-size: 1.5em; }
-    &[type=checkbox],
-    &.checkbox,
-    &[type=radio],
-    &.radio            { position: relative; top: 0.25em; }
-  }
-  textarea           { margin: 0.5em 0; padding: 5px; }
-  select             { margin: 0.5em 0; }
-}
-
-@mixin blueprint-form-sizes
-(
-  $input_width: 300px,
-  $textarea_width: 390px,
-  $textarea_height: 250px
-) {
-  input {
-    &.text,
-    &.title,
-    &[type=email],
-    &[type=text],
-    &[type=password] { width: $input_width; }
-  }
-  textarea { width: $textarea_width; height: $textarea_height; }
-}
-
-@mixin blueprint-form-borders
-(
-  $unfocused_border_color: #bbbbbb,
-  $focus_border_color: #666666,
-  $fieldset_border_color: #cccccc
-) {
-  fieldset {
-    border: 1px solid $fieldset_border_color; }
-  input.text, input.title, input[type=email], input[type=text], input[type=password],
-  textarea, select {
-    border: 1px solid $unfocused_border_color;
-    &:focus {
-      border: 1px solid $focus_border_color;
-    }
-  }
-}

+ 0 - 249
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_grid.scss

@@ -1,249 +0,0 @@
-//  --------------------------------------------------------------
-//  SASS Gridification
-//  * Author:   Chris Eppstein
-//  A SASS adaptation of Blueprint CSS
-//  * Version:         0.7.1 (2008-02-25)
-//  * Website:         http://code.google.com/p/blueprintcss/
-//  Based on work by:
-//  * Lorin Tackett     [lorintackett.com]
-//  * Olav Bjorkoy      [bjorkoy.com]
-//  * Nathan Borror     [playgroundblues.com]
-//  * Jeff Croft        [jeffcroft.com]
-//  * Christian Metts   [mintchaos.com]
-//  * Khoi Vinh         [subtraction.com]
-//  Read more about using a grid here:
-//  * http://www.subtraction.com/2007/03/18/oh-yeeaahh
-//  --------------------------------------------------------------
-
-@import "compass/utilities/general/float";
-@import "compass/utilities/general/clearfix";
-
-// The number of columns in the grid.
-$blueprint_grid_columns: 24 !default;
-
-// The width of a column
-$blueprint_grid_width: 30px !default;
-
-// The amount of margin between columns
-$blueprint_grid_margin: 10px !default;
-
-// The width of a column including the margin. With default settings this is `40px`.
-$blueprint_grid_outer_width: $blueprint_grid_width + $blueprint_grid_margin;
-
-// The width of the container. With default settings this is `950px`.
-$blueprint_container_size: $blueprint_grid_outer_width * $blueprint_grid_columns - $blueprint_grid_margin;
-
-// Generates presentational class names that you can use
-// in your html to layout your pages.
-//
-// #### Note:
-// Best practices discourage using this mixin,
-// but it is provided to support legacy websites
-// and to test the sass port against blueprint's example pages.
-
-@mixin blueprint-grid {
-  // A container should group all your columns
-  .container {
-    @include container; }
-  .column, #{enumerate("div.span", 1, $blueprint_grid_columns)} {
-    @include column-base; }
-  // The last column in a row needs this class (or mixin) or it will end up on the next row.
-  .last, div.last {
-    @include last; }
-  // Use these classes (or mixins) to set the width of a column.
-  @for $n from 1 to $blueprint_grid_columns {
-    .span-#{$n} {
-      @include span($n); } }
-  .span-#{$blueprint_grid_columns}, div.span-#{$blueprint_grid_columns} {
-    @include span($blueprint_grid_columns);
-    margin: 0; }
-  input, textarea, select {
-    @for $n from 1 through $blueprint_grid_columns {
-      &.span-#{$n} {
-        @include span($n, true); } } }
-  // Add these to a column to append empty cols.
-  @for $n from 1 to $blueprint_grid_columns {
-    .append-#{$n} {
-      @include append($n); } }
-  // Add these to a column to prepend empty cols.
-  @for $n from 1 to $blueprint_grid_columns {
-    .prepend-#{$n} {
-      @include prepend($n); } }
-  // Use these classes on an element to push it into the
-  // next column, or to pull it into the previous column.
-  #{enumerate(".pull", 1, $blueprint_grid_columns)} {
-    @include pull-base; }
-  @for $n from 1 through $blueprint_grid_columns {
-    .pull-#{$n} {
-      @include pull-margins($n); } }
-  #{enumerate(".push", 1, $blueprint_grid_columns)} {
-    @include push-base; }
-  @for $n from 1 through $blueprint_grid_columns {
-    .push-#{$n} {
-      @include push-margins($n); } }
-  .prepend-top {
-    @include prepend-top; }
-  .append-bottom {
-    @include append-bottom; } }
-
-// A container for your columns.
-//
-// #### Note:
-// If you use this mixin without the class and want to support ie6
-// you must set text-align left on your container element in an IE stylesheet.
-@mixin container {
-  width: $blueprint_container_size;
-  margin: 0 auto;
-  @include clearfix; }
-
-// The last column in a row needs this mixin or it will end up
-// on the next row in some browsers.
-@mixin last {
-  margin-right: 0; }
-
-// Use this mixins to set the width of n columns.
-@mixin column($n, $last: false) {
-  @include column-base($last);
-  @include span($n); }
-
-// Set only the width of an element to align it with the grid.
-// Most of the time you'll want to use `+column` instead.
-//
-// This mixin is especially useful for aligning tables to the grid.
-@mixin span($n, $override: false) {
-  $width: $blueprint_grid_width * $n + $blueprint_grid_margin * ($n - 1);
-  @if $override {
-    width: $width !important; }
-  @else {
-    width: $width; } }
-
-// The basic set of styles needed to make an element
-// behave like a column:
-//
-// * floated to left
-// * gutter margin on the right (unless the last column)
-// * Some IE fixes
-//
-// #### Note:
-// This mixin gets applied automatically when using `+column`
-// so you probably don't need to use it directly unless
-// you need to deviate from the grid or are trying
-// to reduce the amount of generated CSS.
-@mixin column-base($last: false) {
-  @include float-left;
-  @if $last {
-    @include last; }
-  @else {
-    margin-right: $blueprint_grid_margin; }
-  * html & {
-    overflow-x: hidden; } }
-
-// Mixin to a column to append n empty columns to the right
-// by adding right padding to the column.
-@mixin append($n) {
-  padding-right: $blueprint_grid_outer_width * $n; }
-
-// Mixin to a column to append n empty columns to the left
-// by adding left padding to the column.
-@mixin prepend($n) {
-  padding-left: $blueprint_grid_outer_width * $n; }
-
-// Adds trailing margin.
-@mixin append-bottom($amount: 1.5em) {
-  margin-bottom: $amount; }
-
-// Adds leading margin.
-@mixin prepend-top($amount: 1.5em) {
-  margin-top: $amount; }
-
-// Base styles that make it possible to pull an element to the left.
-// #### Note:
-// This mixin gets applied automatically when using `+pull`
-// so you probably don't need to use it directly unless
-// you need to deviate from the grid or are trying
-// to reduce the amount of generated CSS.
-@mixin pull-base {
-  @include float-left;
-  position: relative; }
-
-// The amount of pulling for element to the left.
-// #### Note:
-// This mixin gets applied automatically when using `+pull`
-// so you probably don't need to use it directly unless
-// you need to deviate from the grid or are trying
-// to reduce the amount of generated CSS.
-@mixin pull-margins($n, $last: false) {
-  @if $last {
-    margin-left: -$blueprint_grid_outer_width * $n + $blueprint_grid_margin; }
-  @else {
-    margin-left: -$blueprint_grid_outer_width * $n; } }
-
-// Moves a column `n` columns to the left.
-//
-// This mixin can also be used to change the display order of columns.
-//
-// If pulling past the last (visually) element in a row,
-// pass `true` as the second argument so the calculations can adjust
-// accordingly.
-
-// For example:
-//
-// HTML:
-// <pre class="source-code html">
-// <div id="one">One</div>
-// <div id="two">Two</div>
-// </pre>
-// Sass:
-// <pre class="source-code sass">
-// #one
-//   +column(18, true)
-//   +prepend(6)
-// #two
-//   +column(6)
-//   +pull(18, true)
-// </pre>
-@mixin pull($n, $last: false) {
-  @include pull-base;
-  @include pull-margins($n, $last); }
-
-@mixin push-base {
-  @include float-right;
-  position: relative; }
-
-@mixin push-margins($n) {
-  margin: 0 (-$blueprint_grid_outer_width * $n) 1.5em $blueprint_grid_outer_width * $n; }
-
-// mixin to a column to push it n columns to the right
-@mixin push($n) {
-  @include push-base;
-  @include push-margins($n); }
-
-// Border on right hand side of a column.
-@mixin border($border_color: #eeeeee, $border_width: 1px) {
-  padding-right: $blueprint_grid_margin / 2 - $border_width;
-  margin-right: $blueprint_grid_margin / 2;
-  border-right: #{$border_width} solid #{$border_color}; }
-
-// Border with more whitespace, spans one column.
-@mixin colborder($border_color: #eeeeee, $border_width: 1px) {
-  padding-right: floor(($blueprint_grid_width + 2 * $blueprint_grid_margin - $border_width) / 2);
-  margin-right: ceil(($blueprint_grid_width + 2 * $blueprint_grid_margin - $border_width) / 2);
-  border-right: #{$border_width} solid #{$border_color}; }
-
-// Mixin this to an hr to make a horizontal ruler across a column.
-@mixin colruler($border_color: #dddddd) {
-  background: $border_color;
-  color: $border_color;
-  clear: both;
-  float: none;
-  width: 100%;
-  height: 0.1em;
-  margin: 0 0 1.45em;
-  border: none; }
-
-// Mixin this to an hr to make a horizontal spacer across a column.
-@mixin colspacer {
-  @include colruler;
-  background: white;
-  color: white;
-  visibility: hidden; }

+ 0 - 109
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_ie.scss

@@ -1,109 +0,0 @@
-// @doc off
-// The blueprint IE mixins should be mixed into a stylesheet that gets conditionally included
-// into IE like so:
-// <!--[if lt IE 8]><link rel="stylesheet" href="ie.css"
-//                   type="text/css" media="screen, projection"><![endif]-->
-// @doc on
-
-//| Usage Examples
-//| --------------
-//|
-//| As a top-level mixin, apply to any page that includes the stylesheet:
-//| <pre class="source-code sass">
-//| +blueprint-ie
-//| </pre>
-//| Scoped by a presentational class:
-//| <pre class="source-code sass">
-//| body.blueprint
-//|  +blueprint-ie(true)
-//| </pre>
-//| Scoped by semantic selectors:
-//| <pre class="source-code sass">
-//| body#page-1, body#page-2, body.a-special-page-type
-//|   +blueprint-ie(true)
-//| </pre>
-//| **Deprecated:** You can pass the body selector as the first argument when used as a top-level mixin
-//| <pre class="source-code sass">
-//| +blueprint-ie("body#page-1, body#page-2, body.a-special-page-type")
-//| </pre>
-@mixin blueprint-ie($body_selector: body) {
-  @if $body_selector == true {
-    @include blueprint-ie-body;
-    @include blueprint-ie-defaults; }
-  @else {
-    #{$body_selector} {
-      @include blueprint-ie-body;
-      @if $body_selector != "body" {
-        @warn "[DEPRECATED] To specify a the selector \"#{$body_selector}\" to +blueprint-ie, pass true as the first argument and mix it into #{$body_selector}.";
-        @include blueprint-ie-defaults; } }
-    @if $body_selector == "body" {
-      @include blueprint-ie-defaults; } } }
-
-@mixin blueprint-ie-body {
-  text-align: center;
-  @include blueprint-ie-hacks; }
-
-@mixin blueprint-ie-hacks {
-  * html & {
-    legend {
-      margin: 0px -8px 16px 0;
-      padding: 0; } }
-  html>& {
-    p code {
-      *white-space: normal; } } }
-
-// Fixes for Blueprint "inline" forms in IE
-@mixin blueprint-inline-form-ie {
-  div, p {
-    vertical-align: middle; }
-  label {
-    position: relative;
-    top: -0.25em; }
-  input {
-    &.checkbox, &.radio, &.button, button {
-      margin: 0.5em 0; } } }
-
-@mixin blueprint-ie-defaults {
-  .container {
-    text-align: left; }
-  sup {
-    vertical-align: text-top; }
-  sub {
-    vertical-align: text-bottom; }
-  hr {
-    margin: -8px auto 11px; }
-  img {
-    -ms-interpolation-mode: bicubic; }
-  fieldset {
-    padding-top: 0; }
-  textarea {
-    overflow: auto; }
-  input {
-    &.text {
-      margin: 0.5em 0;
-      background-color: white;
-      border: 1px solid #bbbbbb;
-      &:focus {
-        border: 1px solid #666666; } }
-    &.title {
-      margin: 0.5em 0;
-      background-color: white;
-      border: 1px solid #bbbbbb;
-      &:focus {
-        border: 1px solid #666666; } }
-    &.checkbox {
-      position: relative;
-      top: 0.25em; }
-    &.radio {
-      position: relative;
-      top: 0.25em; }
-    &.button {
-      position: relative;
-      top: 0.25em; } }
-  textarea {
-    margin: 0.5em 0; }
-  select {
-    margin: 0.5em 0; }
-  button {
-    position: relative;
-    top: 0.25em; } }

+ 0 - 57
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_interaction.scss

@@ -1,57 +0,0 @@
-@import "colors";
-
-@mixin blueprint-interaction {
-  .error {
-    @include error; }
-  .notice {
-    @include notice; }
-  .success {
-    @include success; }
-  .hide {
-    display: none; }
-  .highlight {
-    @include highlight; }
-  .added {
-    @include added; }
-  .removed {
-    @include removed; } }
-
-@mixin feedback-base {
-  padding: 0.8em;
-  margin-bottom: 1em;
-  border: 2px solid $feedback_border_color; }
-
-@mixin error {
-  @include feedback-base;
-  background: $error_bg_color;
-  color: $error_color;
-  border-color: $error_border_color;
-  a {
-    color: $error_color; } }
-
-@mixin notice {
-  @include feedback-base;
-  background: $notice_bg_color;
-  color: $notice_color;
-  border-color: $notice_border_color;
-  a {
-    color: $notice_color; } }
-
-@mixin success {
-  @include feedback-base;
-  background: $success_bg_color;
-  color: $success_color;
-  border-color: $success_border_color;
-  a {
-    color: $success_color; } }
-
-@mixin highlight {
-  background: $highlight_color; }
-
-@mixin added {
-  background: $added_bg_color;
-  color: $added_color; }
-
-@mixin removed {
-  background: $removed_bg_color;
-  color: $removed_color; }

+ 0 - 37
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_link-icons.scss

@@ -1,37 +0,0 @@
-@mixin no-link-icon {
-  background: transparent none !important;
-  padding:    0 !important;
-  margin:     0 !important;
-}
-
-@mixin link-icon-base {
-  padding:             2px 22px 2px 0;
-  margin:              -2px 0;
-  background-repeat:   no-repeat;
-  background-position: right center;
-}
-
-@mixin link-icon($name, $include-base: true) {
-  @if $include-base { @include link-icon-base; }
-  background-image: image-url("link_icons/#{$name}"); }
-
-@mixin link-icons {
-  a[href^="http:"],
-  a[href^="mailto:"],
-  a[href^="http:"]:visited,
-  a[href$=".pdf"],
-  a[href$=".doc"],
-  a[href$=".xls"],
-  a[href$=".rss"],
-  a[href$=".rdf"],
-  a[href^="aim:"]          { @include link-icon-base; }
-  a[href^="http:"]         { @include link-icon("external.png", false); }
-  a[href^="mailto:"]       { @include link-icon("email.png", false); }
-  a[href^="http:"]:visited { @include link-icon("visited.png", false); }
-  a[href$=".pdf"]          { @include link-icon("pdf.png", false); }
-  a[href$=".doc"]          { @include link-icon("doc.png", false); }
-  a[href$=".xls"]          { @include link-icon("xls.png", false); }
-  a[href$=".rss"],
-  a[href$=".rdf"]          { @include link-icon("feed.png", false); }
-  a[href^="aim:"]          { @include link-icon("im.png", false); }
-}

+ 0 - 147
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_liquid.scss

@@ -1,147 +0,0 @@
-//  --------------------------------------------------------------
-//  SASS Gridification
-//  * Author:   Geoff Garside
-//  A SASS adaptation of Blueprint CSS
-//  * Version:         0.7.1 (2008-02-25)
-//  * Website:         http://code.google.com/p/blueprintcss/
-//  Based on work by:
-//  * Chris Eppstein    [eppsteins.net]
-//  * Lorin Tacket      [lorintackett.com]
-//  * Olav Bjorkoy      [bjorkoy.com]
-//  * Nathan Borror     [playgroundblues.com]
-//  * Jeff Croft        [jeffcroft.com]
-//  * Christian Metts   [mintchaos.com]
-//  * Khoi Vinh         [subtraction.com]
-//  Liquid grid work by:
-//  * Ben Listwon
-//  * David Bedingfield
-//  * Andrei Michael Herasimchuk
-//  Involution Studios, http://www.involutionstudios.com
-//  Read more about using a grid here:
-//  * subtraction.com/archives/2007/0318_oh_yeeaahh.php
-//  -----
-//  By default, the grid is 80% of window width, with 24 columns.
-//
-//  To make the grid fixed, simply change the .container width
-//  property to a pixel value. e.g., 960px.
-//  -----
-//  To use:
-//  This module is a REPLACEMENT for the grid module. Simply import it:
-//  @import blueprint
-//  @import blueprint/liquid
-//  -------------------------------------------------------------------
-
-@import "compass/utilities/general/clearfix";
-@import "compass/utilities/general/float";
-
-// Main layout grid, override these constants to build your grid and container sizes.
-// The width shown gives the right floored percentage values.
-$blueprint_liquid_grid_columns: 24 !default;
-
-$blueprint_liquid_grid_width: 3.167% !default;
-
-$blueprint_liquid_grid_margin: 1.042% !default;
-
-// Do not edit below this line unless you really know what you're doing.
-$blueprint_liquid_container_width: 80% !default;
-
-$blueprint_liquid_container_min_width: 950px !default;
-
-$blueprint_liquid_grid_push_pull: -($blueprint_liquid_grid_margin + $blueprint_liquid_grid_width) !default;
-
-@mixin blueprint-liquid-grid {
-  // A container should group all your columns
-  .container {
-    @include container; }
-  // Use these classes (or mixins) to set the width of a column.
-  @for $n from 1 to $blueprint_liquid_grid_columns + 1 {
-    .span-#{$n} {
-      @include span($n); }
-    div {
-      &.span-#{$n} {
-        @include column($n, $n == $blueprint_liquid_grid_columns); } } }
-  // The last column in a row needs this class (or mixin) or it will end up on the next row.
-  div.last {
-    @include last; }
-  // Add these to a column to append empty cols.
-  @for $n from 1 to $blueprint_liquid_grid_columns {
-    .append-#{$n} {
-      @include append($n); } }
-  // Add these to a column to prepend empty cols.
-  @for $n from 1 to $blueprint_liquid_grid_columns {
-    .prepend-#{$n} {
-      @include prepend($n); } }
-  // Use these classes on an element to push it into the
-  // next column, or to pull it into the previous column.
-  @for $n from 1 to $blueprint_liquid_grid_columns + 1 {
-    .pull-#{$n} {
-      @include pull($n); } }
-  @for $n from 1 to $blueprint_liquid_grid_columns + 1 {
-    .push-#{$n} {
-      @include push($n); } } }
-
-@mixin container {
-  min-width: $blueprint_liquid_container_min_width;
-  width: $blueprint_liquid_container_width;
-  margin: 0 auto;
-  @include clearfix; }
-
-@mixin span($n, $override: false) {
-  $width: $blueprint_liquid_grid_width * $n + $blueprint_liquid_grid_margin * ($n - 1);
-  @if $override {
-    width: $width !important; }
-  @else {
-    width: $width; } }
-
-@mixin last {
-  margin-right: 0; }
-
-@mixin column($n, $last: false) {
-  @include float-left;
-  overflow: hidden;
-  @include span($n);
-  @if $last {
-    @include last; }
-  @else {
-    margin-right: $blueprint_liquid_grid_margin; } }
-
-@mixin append($n) {
-  padding-right: ($blueprint_liquid_grid_width + $blueprint_liquid_grid_margin) * $n; }
-
-@mixin prepend($n) {
-  padding-left: ($blueprint_liquid_grid_width + $blueprint_liquid_grid_margin) * $n; }
-
-@mixin pull($n, $last: false) {
-  margin-left: $blueprint_liquid_grid_push_pull * $n; }
-
-@mixin push($n) {
-  @include float-right;
-  margin: {
-    top: 0;
-    left: $blueprint_liquid_grid_margin;
-    right: $blueprint_liquid_grid_push_pull * $n;
-    bottom: 0; }; }
-
-@mixin border {
-  border-right: 1px solid #eeeeee; }
-
-@mixin colborder {
-  padding-right: $blueprint_liquid_grid_margin * 2;
-  margin-right: $blueprint_liquid_grid_margin * 2;
-  @include border; }
-
-@mixin colruler {
-  background: #dddddd;
-  color: #dddddd;
-  clear: both;
-  width: 100%;
-  height: 0.083em;
-  margin: 0;
-  margin-left: $blueprint_liquid_grid_margin * 2;
-  margin-right: $blueprint_liquid_grid_margin * 2;
-  border: none; }
-
-@mixin colspacer {
-  @include colruler;
-  background: white;
-  color: white; }

+ 0 - 93
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_print.scss

@@ -1,93 +0,0 @@
-@import "typography";
-@import "compass/utilities/general/float";
-
-// Usage examples:
-// As a top-level mixin, apply to any page that includes the stylesheet:
-// <pre class="source-code sass">
-// +blueprint-print
-// </pre>
-// Scoped by a presentational class:
-// <pre class="source-code sass">
-// body.blueprint
-//  +blueprint-print(true)
-// </pre>
-// Scoped by semantic selectors:
-// <pre class="source-code sass">
-// body#page-1, body#page-2, body.a-special-page-type
-//   +blueprint-print(true)
-// </pre>
-// Deprecated:
-// You can pass the body selector as the first argument when used as a top-level mixin
-// <pre class="source-code sass">
-// +blueprint-print("body#page-1, body#page-2, body.a-special-page-type")
-// </pre>
-@mixin blueprint-print($body_selector: body) {
-  @if $body_selector == true {
-    @include blueprint-print-body;
-    @include blueprint-print-defaults; }
-  @else {
-    #{$body_selector} {
-      @include blueprint-print-body;
-      @if $body_selector != "body" {
-        @warn "[DEPRECATED] To specify a the selector \"#{$body_selector}\" to +blueprint-print, pass true as the first argument and mix it into #{$body_selector}.";
-        @include blueprint-print-defaults; } }
-    @if $body_selector == "body" {
-      @include blueprint-print-defaults; } } }
-
-// This style is in blueprint, but I think it's annoying and it doesn't work in all browsers.
-// Feel free to mix it into anchors where you want it.
-@mixin blueprint-show-link-urls {
-  &:after {
-    content: " (" attr(href) ")";
-    font-size: 90%; } }
-
-@mixin blueprint-print-body {
-  line-height: 1.5;
-  font-family: $blueprint_font_family;
-  color: black;
-  background: none;
-  font-size: 10pt; }
-
-@mixin blueprint-print-defaults {
-  .container {
-    background: none; }
-  hr {
-    background: #cccccc;
-    color: #cccccc;
-    width: 100%;
-    height: 2px;
-    margin: 2em 0;
-    padding: 0;
-    border: none;
-    &.space {
-      background: white;
-      color: white; } }
-  h1, h2, h3, h4, h5, h6 {
-    font-family: $blueprint_font_family; }
-  code {
-    font: {
-      size: 0.9em;
-      family: $blueprint_fixed_font_family; }; }
-  a {
-    img {
-      border: none; }
-    &:link,
-    &:visited {
-      background: transparent;
-      font-weight: 700;
-      text-decoration: underline; } }
-  p img.top {
-    margin-top: 0; }
-  blockquote {
-    margin: 1.5em;
-    padding: 1em;
-    font-style: italic;
-    font-size: 0.9em; }
-  .small {
-    font-size: 0.9em; }
-  .large {
-    font-size: 1.1em; }
-  .quiet {
-    color: #999999; }
-  .hide {
-    display: none; } }

+ 0 - 3
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_reset.scss

@@ -1,3 +0,0 @@
-@import "reset/utilities";
-
-@include blueprint-global-reset;

+ 0 - 133
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_rtl.scss

@@ -1,133 +0,0 @@
-@import "grid";
-@import "compass/utilities/general/float";
-
-// Main layout grid, override these constants to build your grid and container sizes.
-$blueprint_grid_columns: 24 !default;
-
-$blueprint_grid_width: 30px !default;
-
-$blueprint_grid_margin: 10px !default;
-
-$blueprint_grid_outer_width: $blueprint_grid_width + $blueprint_grid_margin;
-
-$blueprint_container_size: $blueprint_grid_outer_width * $blueprint_grid_columns - $blueprint_grid_margin;
-
-// Columns
-// Note: If you use this mixin without the class and want to support ie6
-//       you must set text-align left on your container element in an IE stylesheet.
-@mixin container {
-  width: $blueprint_container_size;
-  margin: 0 auto;
-  direction: rtl;
-  @include clearfix; }
-
-// The last column in a row needs this mixin or it will end up on the next row.
-// TODO add this to span mixin when we have optional arguments
-@mixin last {
-  margin-left: 0; }
-
-@mixin column-base($last: false) {
-  @include float-right;
-  @if $last {
-    @include last; }
-  @else {
-    margin-left: $blueprint_grid_margin; }
-  text-align: right;
-  * html & {
-    overflow-x: hidden; } }
-
-// Mixin to a column to append n empty cols.
-@mixin append($n) {
-  padding-left: $blueprint_grid_outer_width * $n; }
-
-// Mixin to a column to prepend n empty cols.
-@mixin prepend($n) {
-  padding-right: $blueprint_grid_outer_width * $n; }
-
-// mixin to a column to move it n columns to the left
-@mixin pull($n, $last: false) {
-  position: relative;
-  @if $last {
-    margin-right: -$blueprint_grid_outer_width * $n + $blueprint_grid_margin; }
-  @else {
-    margin-right: -$blueprint_grid_outer_width * $n; } }
-
-// mixin to a column to push it n columns to the right
-@mixin push($n) {
-  @include float-right;
-  position: relative;
-  margin: {
-    top: 0;
-    left: -$blueprint_grid_outer_width * $n;
-    bottom: 1.5em;
-    right: $blueprint_grid_outer_width * $n; }; }
-
-// Border on left hand side of a column.
-@mixin border {
-  padding-left: $blueprint_grid_margin / 2 - 1;
-  margin-left: $blueprint_grid_margin / 2;
-  border-left: 1px solid #eeeeee; }
-
-// Border with more whitespace, spans one column.
-@mixin colborder {
-  padding-left: ($blueprint_grid_width - 2 * $blueprint_grid_margin - 1) / 2;
-  margin-left: ($blueprint_grid_width - 2 * $blueprint_grid_margin) / 2;
-  border-left: 1px solid #eeeeee; }
-
-// Usage examples:
-// As a top-level mixin, apply to any page that includes the stylesheet:
-// <pre class="source-code sass">
-// +rtl-typography
-// </pre>
-//
-// Scoped by a presentational class:
-// <pre class="source-code sass">
-// body.blueprint
-//  +rtl-typography(true)
-// </pre>
-//
-// Scoped by semantic selectors:
-// <pre class="source-code sass">
-// body#page-1, body#page-2, body.a-special-page-type
-//   +rtl-typography(true)
-// </pre>
-//
-// **Deprecated**:
-// You can pass the body selector as the first argument when used as a top-level mixin
-// <pre class="source-code sass">
-// +rtl-typography("body#page-1, body#page-2, body.a-special-page-type")
-// </pre>
-@mixin rtl-typography($body_selector: body) {
-  @if $body_selector == true {
-    html & {
-      font-family: Arial, sans-serif; }
-    @include rtl-typography-defaults; }
-  @else {
-    html #{$body_selector} {
-      font-family: Arial, sans-serif;
-      @if $body_selector != "body" {
-        @warn "[DEPRECATED] To specify a the selector \"#{$body_selector}\" to +rtl-typography, pass true as the first argument and mix it into #{$body_selector}.";
-        @include rtl-typography-defaults; } }
-    @if $body_selector == "body" {
-      body {
-        @include rtl-typography-defaults; } } } }
-
-@mixin rtl-typography-defaults {
-  h1, h2, h3, h4, h5, h6 {
-    font-family: Arial, sans-serif; }
-  pre, code, tt {
-    font-family: monospace; }
-  p {
-    img.right {
-      @include float-left;
-      margin: 1.5em 1.5em 1.5em 0;
-      padding: 0; }
-    img.left {
-      @include float-right;
-      margin: 1.5em 0 1.5em 1.5em;
-      padding: 0; } }
-  dd, ul, ol {
-    margin-left: 0;
-    margin-right: 1.5em; }
-  td, th {
-    text-align: right; } }

+ 0 - 54
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_scaffolding.scss

@@ -1,54 +0,0 @@
-@import "grid";
-@import "form";
-
-// The styles contained here are meant to provide for an attractive experience out of the box
-// and are expected to be removed once custom visual design begins.
-
-// The +blueprint-scaffolding mixin must be mixed into the top level of your stylesheet.
-// However, you can customize the body selector if you wish to control the scope
-// of this mixin. Examples:
-// Apply to any page including the stylesheet:
-//   +blueprint-scaffolding
-// Scoped by a single presentational body class:
-//   +blueprint-scaffolding("body.blueprint")
-// Semantically:
-//   +blueprint-scaffolding("body#page-1, body#page-2, body.a-special-page-type")
-//   Alternatively, you can use the +blueprint-scaffolding-body and +blueprint-scaffolding-defaults
-//   mixins to construct your own semantic style rules.
-
-@mixin blueprint-scaffolding($body_selector: body) {
-  @if $body_selector != body {
-    #{$body_selector} {
-      @include blueprint-scaffolding-defaults;
-    }
-  } @else {
-    @include blueprint-scaffolding-defaults;
-  }
-}
-
-// The styles this mixin provides were deprecated in Blueprint 0.9 and is no longer part of the
-// main scaffolding, but the mixin is still available if you want to use it.
-@mixin blueprint-scaffolding-body {
-  margin: 1.5em 0; }
-
-// Mixin +box to create a padded box inside a column.
-@mixin box {
-  padding: 1.5em;
-  margin-bottom: 1.5em;
-  background: #e5ecf9; }
-
-@mixin blueprint-scaffolding-defaults {
-  .box {
-    @include box; }
-  // Border on right hand side of a column. You can comment this out if you don't plan to use it.
-  div.border {
-    @include border; }
-  // Border with more whitespace, spans one column.
-  div.colborder {
-    @include colborder; }
-  hr {
-    @include colruler; }
-  hr.space {
-    @include colspacer; }
-  form.inline {
-    @include blueprint-inline-form; } }

+ 0 - 104
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_typography.scss

@@ -1,104 +0,0 @@
-@import "colors";
-@import "compass/utilities/links/link-colors";
-@import "compass/utilities/general/float";
-
-$blueprint-font-family: "Helvetica Neue", Arial, Helvetica, sans-serif !default;
-
-$blueprint-fixed-font-family: "andale mono", "lucida console", monospace !default;
-
-$blueprint-font-size: 12px !default;
-
-// Usage examples:
-// As a top-level mixin, apply to any page that includes the stylesheet:
-// <pre class="source-code sass">
-// +blueprint-typography
-// </pre>
-//
-// Scoped by a presentational class:
-// <pre class="source-code sass">
-// body.blueprint
-//  +blueprint-typography(true)
-// </pre>
-//
-// Scoped by semantic selectors:
-// <pre class="source-code sass">
-// body#page-1, body#page-2, body.a-special-page-type
-//   +blueprint-typography(true)
-// </pre>
-//
-// **Deprecated**:
-// You can pass the body selector as the first argument when used as a top-level mixin
-// <pre class="source-code sass">
-// +blueprint-typography("body#page-1, body#page-2, body.a-special-page-type")
-// </pre>
-@mixin blueprint-typography($body-selector: body) {
-  @if $body-selector == true {
-    @include blueprint-typography-body;
-    @include blueprint-typography-defaults;
-  } @else {
-    #{$body-selector} {
-      @include blueprint-typography-body;
-      @if $body-selector != body {
-        @warn "[DEPRECATED] To specify the selector \"#{$body-selector}\" to +blueprint-typography, pass true as the first argument and mix it into #{$body-selector}.";
-        @include blueprint-typography-defaults;
-      }
-    }
-    @if $body-selector == body {
-      @include blueprint-typography-defaults;
-    }
-  }
-}
-
-@mixin normal-text      { font-family: $blueprint-font-family; color: $font-color; }
-@mixin fixed-width-text { font: 1em $blueprint-fixed-font-family; line-height: 1.5; }
-@mixin header-text      { font-weight: normal; color: $header-color; }
-@mixin quiet            { color: $quiet-color; }
-@mixin loud             { color: $loud-color; }
-
-@mixin blueprint-typography-body($font-size: $blueprint-font-size) {
-  line-height: 1.5;
-  @include normal-text;
-  font-size: 100% * $font-size / 16px;
-}
-
-@mixin blueprint-typography-defaults {
-  #{headers(all)} { @include header-text;
-    img             { margin: 0; } }
-  h1              { font-size: 3em;   line-height: 1;    margin-bottom: 0.50em; }
-  h2              { font-size: 2em;                      margin-bottom: 0.75em; }
-  h3              { font-size: 1.5em; line-height: 1;    margin-bottom: 1.00em; }
-  h4              { font-size: 1.2em; line-height: 1.25; margin-bottom: 1.25em; }
-  h5              { font-size: 1em;   font-weight: bold; margin-bottom: 1.50em; }
-  h6              { font-size: 1em;   font-weight: bold;                        }
-  p               { margin: 0 0 1.5em;
-    img.left        { @include float-left;  margin: 1.5em 1.5em 1.5em 0; padding: 0; }
-    img.right       { @include float-right; margin: 1.5em 0 1.5em 1.5em; padding: 0; }
-                  }
-  a               { text-decoration: underline; @include link-colors($link-color, $link-hover-color, $link-active-color, $link-visited-color, $link-focus-color); }
-  blockquote      { margin: 1.5em; color: $alt_text_color; font-style: italic; }
-  strong          { font-weight: bold; }
-  em              { font-style: italic; }
-  dfn             { font-style: italic; font-weight: bold; }
-  sup, sub        { line-height: 0; }
-  abbr, acronym   { border-bottom: 1px dotted #666666; }
-  address         { margin: 0 0 1.5em; font-style: italic; }
-  del             { color: $alt_text_color; }
-  pre             { margin: 1.5em 0; white-space: pre; }
-  pre, code, tt   { @include fixed-width-text; }
-  li ul, li ol    { margin: 0; }
-  ul, ol          { margin: 0 1.5em 1.5em 0; padding-left: 3.333em; }
-  ul              { list-style-type: disc; }
-  ol              { list-style-type: decimal; }
-  dl              { margin: 0 0 1.5em 0;
-    dt              { font-weight: bold; } }
-  dd              { margin-left: 1.5em; }
-  table           { margin-bottom: 1.4em; width: 100%; }
-  th              { font-weight: bold; }
-  thead th        { background: $blueprint-table-header-color; }
-  th, td, caption { padding: 4px 10px 4px 5px; }
-  tr.even td      { background: $blueprint-table-stripe-color; }
-  tfoot           { font-style: italic; }
-  caption         { background: $blueprint_background_color; }
-  .quiet          { @include quiet; }
-  .loud           { @include loud; }
-}

+ 0 - 37
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_utilities.scss

@@ -1,37 +0,0 @@
-@import "compass/utilities/text/nowrap";
-@import "compass/utilities/general/clearfix";
-
-// Most of these utility classes are not "semantic". If you use them,
-// you are mixing your content and presentation. For shame!
-
-@mixin blueprint-utilities {
-  // Regular clearing apply to column that should drop below previous ones.
-  .clear {
-    clear: both; }
-  // turn off text wrapping for the element.
-  .nowrap {
-    @include nowrap; }
-  // Apply to an element that has floated children to make the bottom
-  // of the element fall _below_ the floated children.
-  .clearfix {
-    @include clearfix; }
-  .small {
-    font-size: 0.8em;
-    margin-bottom: 1.875em;
-    line-height: 1.875em; }
-  .large {
-    font-size: 1.2em;
-    line-height: 2.5em;
-    margin-bottom: 1.25em; }
-  .first {
-    margin-left: 0;
-    padding-left: 0; }
-  .last {
-    margin-right: 0;
-    padding-right: 0; }
-  .top {
-    margin-top: 0;
-    padding-top: 0; }
-  .bottom {
-    margin-bottom: 0;
-    padding-bottom: 0; } }

+ 0 - 58
lib/sass/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/reset/_utilities.scss

@@ -1,58 +0,0 @@
-// Global reset rules.
-// For more specific resets, use the reset mixins provided below
-@mixin blueprint-global-reset {
-  html, body {
-    @include blueprint-reset; }
-  html {
-    font-size: 100.01%; }
-  @include blueprint-nested-reset; }
-
-// Reset all elements within some selector scope.To reset the selector itself,
-// mixin the appropriate reset mixin for that element type as well. This could be
-// useful if you want to style a part of your page in a dramatically different way.
-@mixin blueprint-nested-reset {
-  div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
-  pre, a, abbr, acronym, address, code, del, dfn, em, img,
-  dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, tbody, tfoot, thead, tr {
-    @include blueprint-reset; }
-  blockquote, q {
-    @include blueprint-reset-quotation; }
-  th, td, caption {
-    @include blueprint-reset-table-cell; }
-  table {
-    @include blueprint-reset-table; }
-  a img {
-    border: none; } }
-
-@mixin blueprint-reset-box-model {
-  margin: 0;
-  padding: 0;
-  border: 0; }
-
-@mixin blueprint-reset {
-  @include blueprint-reset-box-model;
-  font: {
-    weight: inherit;
-    style: inherit;
-    size: 100%;
-    family: inherit; };
-  vertical-align: baseline; }
-
-@mixin blueprint-reset-quotation {
-  @include blueprint-reset;
-  quotes: "" "";
-  &:before,
-  &:after {
-    content: ""; } }
-
-@mixin blueprint-reset-table-cell {
-  @include blueprint-reset;
-  text-align: left;
-  font-weight: normal;
-  vertical-align: middle; }
-
-@mixin blueprint-reset-table {
-  @include blueprint-reset;
-  border-collapse: separate;
-  border-spacing: 0;
-  vertical-align: middle; }

BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/basic/grid.png


+ 0 - 4
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/basic/ie.sass

@@ -1,4 +0,0 @@
-@import blueprint
-
-// Generate the blueprint IE-specific customizations:
-+blueprint-ie

+ 0 - 30
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/basic/manifest.rb

@@ -1,30 +0,0 @@
-description "A basic blueprint install that mimics the actual blueprint css."
-
-stylesheet 'screen.sass', :media => 'screen, projection'
-stylesheet 'partials/_base.sass'
-stylesheet 'print.sass',  :media => 'print'
-stylesheet 'ie.sass',     :media => 'screen, projection', :condition => "lt IE 8"
-
-image 'grid.png'
-
-help %Q{
-Please see the blueprint website for documentation on how blueprint works:
-
-    http://blueprintcss.org/
-
-Docs on the compass port of blueprint can be found on the wiki:
-
-    http://wiki.github.com/chriseppstein/compass/blueprint-documentation
-}
-
-welcome_message %Q{
-Please see the blueprint website for documentation on how blueprint works:
-
-    http://blueprintcss.org/
-
-Docs on the compass port of blueprint can be found on the wiki:
-
-    http://wiki.github.com/chriseppstein/compass/blueprint-documentation
-
-To get started, edit the screen.sass file and read the comments and code there.
-}

+ 0 - 10
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/basic/partials/_base.sass

@@ -1,10 +0,0 @@
-// Here is where you can define your constants for your application and to configure the blueprint framework.
-// Feel free to delete these if you want keep the defaults:
-
-$blueprint-grid-columns : 24
-$blueprint-grid-width   : 30px
-$blueprint-grid-margin  : 10px
-
-// If you change your grid column dimensions
-// you can make a new grid background image from the command line like this:
-// compass grid-img 30+10x16

+ 0 - 4
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/basic/print.sass

@@ -1,4 +0,0 @@
-@import blueprint
-
-// Generate the blueprint print styles:
-+blueprint-print

+ 0 - 12
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/basic/screen.sass

@@ -1,12 +0,0 @@
-// This import applies a global reset to any page that imports this stylesheet.
-@import blueprint/reset
-// To configure blueprint, edit the partials/_base.sass file.
-@import partials/base
-// Import all the default blueprint modules so that we can access their mixins.
-@import blueprint
-// Import the non-default scaffolding module.
-@import blueprint/scaffolding
-
-// Generate the blueprint framework according to your configuration:
-+blueprint
-+blueprint-scaffolding

+ 0 - 49
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons.sass

@@ -1,49 +0,0 @@
-@import compass/utilities/general/float
-@import blueprint/buttons
-
-//
-  Use the following HTML code to place the buttons on your site:
-  
-  <button type="submit" class="button positive">
-    <img src="css/blueprint/plugins/buttons/icons/tick.png" alt=""/> Save
-  </button>
-  
-  <a class="button" href="/password/reset/">
-    <img src="css/blueprint/plugins/buttons/icons/key.png" alt=""/> Change Password
-  </a>
-  
-  <a href="#" class="button negative">
-    <img src="css/blueprint/plugins/buttons/icons/cross.png" alt=""/> Cancel
-  </a>
-
-a.button
-  // you can pass "left" or "right" to +anchor-button to float it in that direction
-  // or you can pass no argument to leave it inline-block (cross browser safe!) within
-  // the flow of your page.
-  +anchor-button(left)
-  // All the button color mixins take 4 optional arguments:
-  // font color, background color, border color, border highlight color
-  // the first three default to constants set in blueprint/buttons.sass
-  // the last one defaults to a shade lighter than the border color.
-  +button-colors
-  +button-hover-colors
-  +button-active-colors
-
-button
-  // The +button-button mixin is just like the +anchor-button mixin, but for <button> elements.
-  +button-button(left)
-  +button-colors
-  +button-hover-colors
-  +button-active-colors
-
-// We can change the colors for buttons of certain classes, etc.
-a.positive, button.positive
-  color: #529214
-  +button-hover-colors(#529214, #E6EFC2, #C6D880)
-  +button-active-colors(#FFF, #529214, #529214)
-
-a.negative, button.negative
-  color: #D12F19
-  +button-hover-colors(#D12F19, #FBE3E4, #FBC2C4)
-  +button-active-colors(#FFF, #D12F19, #D12F19)
-

BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons/cross.png


BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons/key.png


BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons/tick.png


+ 0 - 17
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/buttons/manifest.rb

@@ -1,17 +0,0 @@
-description "Button Plugin"
-stylesheet 'buttons.sass', :media => 'screen, projection'
-
-image 'buttons/cross.png'
-image 'buttons/key.png'
-image 'buttons/tick.png'
-
-help %Q{
-To install the button plugin:
-  compass init --using blueprint/buttons
-
-The buttons.sass file is just a recommendation to show you how to use the button mixins.  
-}
-
-welcome_message %Q{
-The buttons.sass file is just a recommendation to show you how to use the button mixins.  
-}

+ 0 - 13
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons.sass

@@ -1,13 +0,0 @@
-@import blueprint/link-icons
-
-// This turns link icons on for all links. You can change the scoping selector from
-// body to something more specific if you prefer.
-body
-  +link-icons
-  // Use this class if a link gets an icon when it shouldn't.
-  a.noicon
-    +no-link-icon
-  // Not all links have a url structure that can be detected,
-  // So you can set them explicitly yourself like so:
-  a#this-is-a-pdf-link
-    +link-icon("pdf.png")

BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/doc.png


BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/email.png


BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/external.png


BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/feed.png


BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/im.png


BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/pdf.png


BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/visited.png


BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/xls.png


+ 0 - 23
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/link_icons/manifest.rb

@@ -1,23 +0,0 @@
-description "Icons for common types of links"
-
-stylesheet "link_icons.sass", :media => 'screen, projection'
-
-image 'link_icons/doc.png'
-image 'link_icons/email.png'
-image 'link_icons/external.png'
-image 'link_icons/feed.png'
-image 'link_icons/im.png'
-image 'link_icons/pdf.png'
-image 'link_icons/visited.png'
-image 'link_icons/xls.png'
-
-help %Q{
-To install the link_icons plugin:
-  compass init --using blueprint/link_icons
-
-The link_icons.sass file is just a recommendation to show you how to use the link mixins.  
-}
-
-welcome_message %Q{
-The link_icons.sass file is just a recommendation to show you how to use the link mixins.  
-}

BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/project/grid.png


+ 0 - 16
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/project/ie.sass

@@ -1,16 +0,0 @@
-@import blueprint
-
-// To generate css equivalent to the blueprint css but with your configuration applied, uncomment:
-// @include blueprint-ie
-
-//Recommended Blueprint configuration with scoping and semantic layout:
-body.bp
-  +blueprint-ie(true)
-  // Note: Blueprint centers text to fix IE6 container centering.
-  // This means all your texts will be centered under all version of IE by default.
-  // If your container does not have the .container class, don't forget to restore
-  // the correct behavior to your main container (but not the body tag!)
-  // Example:
-  // .my-container
-  //   text-align: left
-

+ 0 - 30
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/project/manifest.rb

@@ -1,30 +0,0 @@
-description "The blueprint framework."
-
-stylesheet 'screen.sass', :media => 'screen, projection'
-stylesheet 'partials/_base.sass'
-stylesheet 'print.sass',  :media => 'print'
-stylesheet 'ie.sass',     :media => 'screen, projection', :condition => "lt IE 8"
-
-image 'grid.png'
-
-help %Q{
-Please see the blueprint website for documentation on how blueprint works:
-
-    http://blueprintcss.org/
-
-Docs on the compass port of blueprint can be found on the wiki:
-
-    http://wiki.github.com/chriseppstein/compass/blueprint-documentation
-}
-
-welcome_message %Q{
-Please see the blueprint website for documentation on how blueprint works:
-
-    http://blueprintcss.org/
-
-Docs on the compass port of blueprint can be found on the wiki:
-
-    http://wiki.github.com/chriseppstein/compass/blueprint-documentation
-
-To get started, edit the screen.sass file and read the comments and code there.
-}

+ 0 - 11
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/project/partials/_base.sass

@@ -1,11 +0,0 @@
-// Here is where you can define your constants for your application and to configure the blueprint framework.
-// Feel free to delete these if you want keep the defaults:
-
-$blueprint-grid-columns   : 24
-$blueprint-container-size : 950px
-$blueprint-grid-margin    : 10px
-
-// Use this to calculate the width based on the total width.
-// Or you can set !blueprint_grid_width to a fixed value and unset !blueprint_container_size -- it will be calculated for you.
-$blueprint-grid-width: ($blueprint-container-size + $blueprint-grid-margin) / $blueprint-grid-columns - $blueprint-grid-margin
-

+ 0 - 8
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/project/print.sass

@@ -1,8 +0,0 @@
-@import blueprint
-
-// To generate css equivalent to the blueprint css but with your configuration applied, uncomment:
-// @include blueprint-print
-
-//Recommended Blueprint configuration with scoping and semantic layout:
-body.bp
-  +blueprint-print(true)

+ 0 - 45
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/project/screen.sass

@@ -1,45 +0,0 @@
-// This import applies a global reset to any page that imports this stylesheet.
-@import blueprint/reset
-// To configure blueprint, edit the partials/base.sass file.
-@import partials/base
-// Import all the default blueprint modules so that we can access their mixins.
-@import blueprint
-// Import the non-default scaffolding module.
-@import blueprint/scaffolding
-
-// To generate css equivalent to the blueprint css but with your
-// configuration applied, uncomment:
-// @include blueprint
-
-// But Compass recommends that you scope your blueprint styles
-// So that you can better control what pages use blueprint
-// when stylesheets are concatenated together.
-+blueprint-scaffolding("body.bp")
-body.bp
-  +blueprint-typography(true)
-  +blueprint-utilities
-  +blueprint-debug
-  +blueprint-interaction
-  // Remove the scaffolding when you're ready to start doing visual design.
-  // Or leave it in if you're happy with how blueprint looks out-of-the-box
-form.bp
-  +blueprint-form
-
-// Page layout can be done using mixins applied to your semantic classes and IDs:
-body.two-col
-  #container
-    +container
-  #header, #footer
-    +column($blueprint-grid-columns)
-  #sidebar
-    // One third of the grid columns, rounding down. With 24 cols, this is 8.
-    $sidebar-columns: floor($blueprint-grid-columns / 3)
-    +column($sidebar-columns)
-  #content
-    // Two thirds of the grid columns, rounding up.
-    // With 24 cols, this is 16.
-    $content-columns: ceil(2 * $blueprint-grid-columns / 3)
-    // true means it's the last column in the row
-    +column($content-columns, true)
-
-

BIN
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/grid.png


+ 0 - 16
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/ie.sass

@@ -1,16 +0,0 @@
-@import blueprint
-
-// To generate css equivalent to the blueprint css but with your configuration applied, uncomment:
-// +blueprint-ie
-
-//Recommended Blueprint configuration with scoping and semantic layout:
-body.bp
-  +blueprint-ie(true)
-  // Note: Blueprint centers text to fix IE6 container centering.
-  // This means all your texts will be centered under all version of IE by default.
-  // If your container does not have the .container class, don't forget to restore
-  // the correct behavior to your main container (but not the body tag!)
-  // Example:
-  // .my-container
-  //   text-align: left
-

+ 0 - 33
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/manifest.rb

@@ -1,33 +0,0 @@
-description "The blueprint framework for use with semantic markup."
-
-stylesheet 'screen.sass', :media => 'screen, projection'
-stylesheet 'partials/_base.sass'
-stylesheet 'partials/_form.sass'
-stylesheet 'partials/_page.sass'
-stylesheet 'partials/_two_col.sass'
-stylesheet 'print.sass',  :media => 'print'
-stylesheet 'ie.sass',     :media => 'screen, projection', :condition => "lt IE 8"
-
-image 'grid.png'
-
-help %Q{
-Please see the blueprint website for documentation on how blueprint works:
-
-    http://blueprintcss.org/
-
-Docs on the compass port of blueprint can be found on the wiki:
-
-    http://wiki.github.com/chriseppstein/compass/blueprint-documentation
-}
-
-welcome_message %Q{
-Please see the blueprint website for documentation on how blueprint works:
-
-    http://blueprintcss.org/
-
-Docs on the compass port of blueprint can be found on the wiki:
-
-    http://wiki.github.com/chriseppstein/compass/blueprint-documentation
-
-To get started, edit the screen.sass file and read the comments and code there.
-}

+ 0 - 10
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_base.sass

@@ -1,10 +0,0 @@
-// Here is where you can define your constants for your application and to configure the blueprint framework.
-// Feel free to delete these if you want keep the defaults:
-
-$blueprint-grid-columns: 24
-$blueprint-container-size: 950px
-$blueprint-grid-margin: 10px
-
-// Use this to calculate the width based on the total width.
-// Or you can set !blueprint_grid_width to a fixed value and unset !blueprint_container_size -- it will be calculated for you.
-$blueprint-grid-width: ($blueprint-container-size + $blueprint-grid-margin) / $blueprint-grid-columns - $blueprint-grid-margin

+ 0 - 6
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_form.sass

@@ -1,6 +0,0 @@
-// Only apply the blueprint form styles to forms with
-// a class of "bp". This makes it easier to style
-// forms from scratch if you need to.
-
-form.bp
-  +blueprint-form

+ 0 - 18
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_page.sass

@@ -1,18 +0,0 @@
-// Import the non-default scaffolding module to help us get started.
-@import blueprint/scaffolding
-
-// This configuration will only apply the
-// blueprint styles to pages with a body class of "bp"
-// This makes it easier to have pages without blueprint styles
-// when you're using a single/combined stylesheet.
-
-body.bp
-  +blueprint-typography(true)
-  +blueprint-utilities
-  +blueprint-debug
-  +blueprint-interaction
-
-// Remove the scaffolding when you're ready to start doing visual design.
-// Or leave it in if you're happy with how blueprint looks out-of-the-box
-+blueprint-scaffolding("body.bp")
-

+ 0 - 38
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_two_col.sass

@@ -1,38 +0,0 @@
-// Page layout can be done using mixins applied to your semantic classes and IDs
-// For instance this layout defines a two column layout on pages with
-// a body class of "two-col".
-//
-// The markup would look like:
-//    <div id="container">
-//      <div id="header"></div>
-//      <div id="sidebar"></div>
-//      <div id="content"></div>
-//      <div id="footer"></div>
-//    </div>
-//
-// and the layout would look like:
-//    +------------------------+
-//    |        #header         |
-//    +--------+---------------+
-//    |        |               |
-//    |#sidebar|    #content   |
-//    |        |               |
-//    +------------------------+
-//    |        #footer         |
-//    +--------+---------------+
-
-body.two-col
-  #container
-    +container
-  #header, #footer
-    +column($blueprint-grid-columns)
-  #sidebar
-    // One third of the grid columns, rounding down. With 24 cols, this is 8.
-    $sidebar-columns: floor($blueprint-grid-columns / 3)
-    +column($sidebar-columns)
-  #content
-    // Two thirds of the grid columns, rounding up.
-    // With 24 cols, this is 16.
-    $content-columns: ceil(2 * $blueprint-grid-columns / 3)
-    // true means it's the last column in the row
-    +column($content-columns, true)

+ 0 - 5
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/print.sass

@@ -1,5 +0,0 @@
-@import blueprint
-
-//Recommended Blueprint configuration with scoping and semantic layout:
-body.bp
-  +blueprint-print(true)

+ 0 - 14
lib/sass/sass/extensions/compass/frameworks/blueprint/templates/semantic/screen.sass

@@ -1,14 +0,0 @@
-// This import applies a global reset to any page that imports this stylesheet.
-@import blueprint/reset
-
-// To configure blueprint, edit the partials/base.sass file.
-@import partials/base
-
-// Import all the default blueprint modules so that we can access their mixins.
-@import blueprint
-
-// Combine the partials into a single screen stylesheet.
-@import partials/page
-@import partials/form
-@import partials/two_col
-

+ 0 - 2
lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/_compass.scss

@@ -1,2 +0,0 @@
-@import "compass/utilities";
-@import "compass/css3";

+ 0 - 15
lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/_css3.scss

@@ -1,15 +0,0 @@
-@import "css3/border-radius";
-@import "css3/inline-block";
-@import "css3/opacity";
-@import "css3/box-shadow";
-@import "css3/text-shadow";
-@import "css3/columns";
-@import "css3/box-sizing";
-@import "css3/box";
-@import "css3/gradient";
-@import "css3/background-clip";
-@import "css3/background-origin";
-@import "css3/background-size";
-@import "css3/font-face";
-@import "css3/transform";
-@import "css3/transition";

+ 0 - 1
lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/_layout.scss

@@ -1 +0,0 @@
-@import "layout/sticky-footer";

+ 0 - 3
lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/_reset.scss

@@ -1,3 +0,0 @@
-@import "reset/utilities";
-
-@include global-reset;

+ 0 - 6
lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/_utilities.scss

@@ -1,6 +0,0 @@
-@import "utilities/general";
-@import "utilities/links";
-@import "utilities/lists";
-@import "utilities/sprites";
-@import "utilities/tables";
-@import "utilities/text";

+ 0 - 43
lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_background-clip.scss

@@ -1,43 +0,0 @@
-@import "shared";
-
-// The default value is `padding-box` -- the box model used by modern browsers.
-//
-// If you wish to do so, you can override the default constant with `border-box`
-//
-// To override to the default border-box model, use this code:
-//     $default-background-clip = border-box
-
-$default-background-clip: padding-box !default;
-
-// Clip the background (image and color) at the edge of the padding or border.
-//
-// Legal Values:
-//
-//   * padding-box
-//   * border-box
-//   * text
-
-@mixin background-clip($clip: $default-background-clip) {
-  // webkit and mozilla use the deprecated short [border | padding]
-  $clip: unquote($clip);
-  $deprecated: $clip;
-  @if $clip == padding-box { $deprecated: padding; }
-  @if $clip == border-box { $deprecated: border; }
-  // Support for webkit and mozilla's use of the deprecated short form
-  @include experimental(background-clip, $deprecated,
-    -moz,
-    -webkit,
-    not -o,
-    not -ms,
-    not -khtml,
-    not official
-  );
-  @include experimental(background-clip, $clip,
-    not -moz,
-    not -webkit,
-    -o,
-    -ms,
-    -khtml,
-    official
-  );
-}

+ 0 - 42
lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_background-origin.scss

@@ -1,42 +0,0 @@
-// Override `$default-background-origin` to change the default.
-
-@import "shared";
-
-$default-background-origin: content-box !default;
-
-// Position the background off the edge of the padding, border or content
-//
-// * Possible values:
-//   * `padding-box`
-//   * `border-box`
-//   * `content-box`
-// * browser defaults to `padding-box`
-// * mixin defaults to `content-box`
-
-
-@mixin background-origin($origin: $default-background-origin) {
-  $origin: unquote($origin);
-  // webkit and mozilla use the deprecated short [border | padding | content]
-  $deprecated: $origin;
-  @if $origin == padding-box { $deprecated: padding; }
-  @if $origin == border-box  { $deprecated: border;  }
-  @if $origin == content-box { $deprecated: content; }
-
-  // Support for webkit and mozilla's use of the deprecated short form
-  @include experimental(background-origin, $deprecated,
-    -moz,
-    -webkit,
-    not -o,
-    not -ms,
-    not -khtml,
-    not official
-  );
-  @include experimental(background-origin, $origin,
-    not -moz,
-    not -webkit,
-    -o,
-    -ms,
-    -khtml,
-    official
-  );
-}

+ 0 - 14
lib/sass/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_background-size.scss

@@ -1,14 +0,0 @@
-@import "shared";
-
-//  override to change the default
-$default-background-size: 100% auto !default;
-
-// Set the size of background images using px, width and height, or percentages.
-// Currently supported in: Opera, Gecko, Webkit.
-//
-// * percentages are relative to the background-origin (default = padding-box)
-// * mixin defaults to: `$default-background-size`
-@mixin background-size($size: $default-background-size) {
-  $size: unquote($size);
-  @include experimental(background-size, $size, -moz, -webkit, -o, not -ms, not -khtml);
-}

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels