frontsau 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (280) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +21 -0
  5. data/README.md +30 -0
  6. data/Rakefile +2 -0
  7. data/bin/frontsau +15 -0
  8. data/bin/frontsau-phaml-compiler +35 -0
  9. data/example/.frontsau +12 -0
  10. data/example/assets/head.jpg +0 -0
  11. data/example/assets/script.js +4 -0
  12. data/example/assets/style.css +6 -0
  13. data/example/css/includes.sass +2 -0
  14. data/example/css/style.sass +6 -0
  15. data/example/image/head.jpg +0 -0
  16. data/example/index.html +0 -0
  17. data/example/js/script.coffee +1 -0
  18. data/frontsau.gemspec +41 -0
  19. data/lib/Phamlp/Phamlp.php +72 -0
  20. data/lib/Phamlp/PhamlpException.php +31 -0
  21. data/lib/Phamlp/haml/HamlException.php +29 -0
  22. data/lib/Phamlp/haml/HamlHelpers.php +199 -0
  23. data/lib/Phamlp/haml/HamlParser.php +1250 -0
  24. data/lib/Phamlp/haml/filters/HamlBaseFilter.php +30 -0
  25. data/lib/Phamlp/haml/filters/HamlCdataFilter.php +29 -0
  26. data/lib/Phamlp/haml/filters/HamlCssFilter.php +30 -0
  27. data/lib/Phamlp/haml/filters/HamlEscapedFilter.php +32 -0
  28. data/lib/Phamlp/haml/filters/HamlJavascriptFilter.php +31 -0
  29. data/lib/Phamlp/haml/filters/HamlPhpFilter.php +27 -0
  30. data/lib/Phamlp/haml/filters/HamlPlainFilter.php +28 -0
  31. data/lib/Phamlp/haml/filters/HamlPreserveFilter.php +29 -0
  32. data/lib/Phamlp/haml/filters/HamlSassFilter.php +37 -0
  33. data/lib/Phamlp/haml/filters/HamlScssFilter.php +37 -0
  34. data/lib/Phamlp/haml/filters/_HamlMarkdownFilter.php +50 -0
  35. data/lib/Phamlp/haml/filters/_HamlTextileFilter.php +50 -0
  36. data/lib/Phamlp/haml/messages/_i18n.php +32 -0
  37. data/lib/Phamlp/haml/messages/de.php +32 -0
  38. data/lib/Phamlp/haml/messages/fr.php +32 -0
  39. data/lib/Phamlp/haml/renderers/HamlCompactRenderer.php +32 -0
  40. data/lib/Phamlp/haml/renderers/HamlCompressedRenderer.php +48 -0
  41. data/lib/Phamlp/haml/renderers/HamlExpandedRenderer.php +58 -0
  42. data/lib/Phamlp/haml/renderers/HamlNestedRenderer.php +77 -0
  43. data/lib/Phamlp/haml/renderers/HamlRenderer.php +137 -0
  44. data/lib/Phamlp/haml/tree/HamlCodeBlockNode.php +58 -0
  45. data/lib/Phamlp/haml/tree/HamlCommentNode.php +41 -0
  46. data/lib/Phamlp/haml/tree/HamlDoctypeNode.php +27 -0
  47. data/lib/Phamlp/haml/tree/HamlElementNode.php +52 -0
  48. data/lib/Phamlp/haml/tree/HamlFilterNode.php +50 -0
  49. data/lib/Phamlp/haml/tree/HamlHelperNode.php +73 -0
  50. data/lib/Phamlp/haml/tree/HamlNode.php +253 -0
  51. data/lib/Phamlp/haml/tree/HamlNodeExceptions.php +19 -0
  52. data/lib/Phamlp/haml/tree/HamlRootNode.php +58 -0
  53. data/lib/Phamlp/sass/SassException.php +29 -0
  54. data/lib/Phamlp/sass/SassFile.php +164 -0
  55. data/lib/Phamlp/sass/SassParser.php +848 -0
  56. data/lib/Phamlp/sass/extensions/compass/config.php +65 -0
  57. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/_blueprint.scss +47 -0
  58. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_buttons.scss +101 -0
  59. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_colors.scss +32 -0
  60. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_debug.scss +11 -0
  61. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_fancy-type.scss +86 -0
  62. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_form.scss +68 -0
  63. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_grid.scss +249 -0
  64. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_ie.scss +109 -0
  65. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_interaction.scss +57 -0
  66. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_link-icons.scss +37 -0
  67. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_liquid.scss +147 -0
  68. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_print.scss +93 -0
  69. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_reset.scss +3 -0
  70. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_rtl.scss +133 -0
  71. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_scaffolding.scss +54 -0
  72. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_typography.scss +104 -0
  73. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_utilities.scss +37 -0
  74. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/reset/_utilities.scss +58 -0
  75. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/basic/grid.png +0 -0
  76. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/basic/ie.sass +4 -0
  77. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/basic/manifest.rb +30 -0
  78. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/basic/partials/_base.sass +10 -0
  79. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/basic/print.sass +4 -0
  80. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/basic/screen.sass +12 -0
  81. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons/cross.png +0 -0
  82. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons/key.png +0 -0
  83. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons/tick.png +0 -0
  84. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons.sass +49 -0
  85. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/buttons/manifest.rb +17 -0
  86. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/doc.png +0 -0
  87. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/email.png +0 -0
  88. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/external.png +0 -0
  89. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/feed.png +0 -0
  90. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/im.png +0 -0
  91. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/pdf.png +0 -0
  92. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/visited.png +0 -0
  93. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/xls.png +0 -0
  94. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons.sass +13 -0
  95. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/manifest.rb +23 -0
  96. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/project/grid.png +0 -0
  97. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/project/ie.sass +16 -0
  98. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/project/manifest.rb +30 -0
  99. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/project/partials/_base.sass +11 -0
  100. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/project/print.sass +8 -0
  101. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/project/screen.sass +45 -0
  102. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/grid.png +0 -0
  103. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/ie.sass +16 -0
  104. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/manifest.rb +33 -0
  105. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_base.sass +10 -0
  106. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_form.sass +6 -0
  107. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_page.sass +18 -0
  108. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_two_col.sass +38 -0
  109. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/print.sass +5 -0
  110. data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/screen.sass +14 -0
  111. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/_compass.scss +2 -0
  112. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/_css3.scss +15 -0
  113. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/_layout.scss +1 -0
  114. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/_reset.scss +3 -0
  115. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/_utilities.scss +6 -0
  116. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +43 -0
  117. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +42 -0
  118. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_background-size.scss +14 -0
  119. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +135 -0
  120. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +50 -0
  121. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +13 -0
  122. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_box.scss +112 -0
  123. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_columns.scss +55 -0
  124. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_font-face.scss +33 -0
  125. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_gradient.scss +82 -0
  126. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_inline-block.scss +12 -0
  127. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_opacity.scss +27 -0
  128. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_shared.scss +47 -0
  129. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +25 -0
  130. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_transform.scss +85 -0
  131. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_transition.scss +85 -0
  132. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/layout/_sticky-footer.scss +23 -0
  133. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/reset/_utilities.scss +133 -0
  134. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_general.scss +6 -0
  135. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_links.scss +3 -0
  136. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_lists.scss +4 -0
  137. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_print.scss +17 -0
  138. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_sprites.scss +1 -0
  139. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_tables.scss +3 -0
  140. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_text.scss +3 -0
  141. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.scss +31 -0
  142. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_float.scss +15 -0
  143. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_hacks.scss +35 -0
  144. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_min.scss +16 -0
  145. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_reset.scss +2 -0
  146. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_tabs.scss +1 -0
  147. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -0
  148. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/links/_hover-link.scss +5 -0
  149. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/links/_link-colors.scss +28 -0
  150. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/links/_unstyled-link.scss +7 -0
  151. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/lists/_bullets.scss +34 -0
  152. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/lists/_horizontal-list.scss +52 -0
  153. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss +47 -0
  154. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/lists/_inline-list.scss +29 -0
  155. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite-img.scss +56 -0
  156. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +20 -0
  157. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/tables/_borders.scss +27 -0
  158. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -0
  159. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/text/_ellipsis.scss +25 -0
  160. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/text/_nowrap.scss +2 -0
  161. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/text/_replacement.scss +34 -0
  162. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/ellipsis/ellipsis.sass +9 -0
  163. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/ellipsis/manifest.rb +27 -0
  164. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/ellipsis/xml/ellipsis.xml +14 -0
  165. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/extension/manifest.rb +20 -0
  166. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/extension/stylesheets/main.sass +1 -0
  167. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/extension/templates/project/manifest.rb +2 -0
  168. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/extension/templates/project/screen.sass +2 -0
  169. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/project/USAGE.markdown +32 -0
  170. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/project/ie.sass +6 -0
  171. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/project/manifest.rb +4 -0
  172. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/project/print.sass +6 -0
  173. data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/project/screen.sass +7 -0
  174. data/lib/Phamlp/sass/extensions/compass/functions/colourStops.php +268 -0
  175. data/lib/Phamlp/sass/extensions/compass/functions/constants.php +44 -0
  176. data/lib/Phamlp/sass/extensions/compass/functions/fontFiles.php +30 -0
  177. data/lib/Phamlp/sass/extensions/compass/functions/imageSize.php +39 -0
  178. data/lib/Phamlp/sass/extensions/compass/functions/inlineData.php +84 -0
  179. data/lib/Phamlp/sass/extensions/compass/functions/lists.php +47 -0
  180. data/lib/Phamlp/sass/extensions/compass/functions/selectors.php +128 -0
  181. data/lib/Phamlp/sass/extensions/compass/functions/urls.php +143 -0
  182. data/lib/Phamlp/sass/extensions/compass/stylesheets/_compass.scss +2 -0
  183. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/_css3.scss +15 -0
  184. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/_layout.scss +1 -0
  185. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/_reset.scss +3 -0
  186. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/_utilities.scss +6 -0
  187. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_background-clip.scss +43 -0
  188. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_background-origin.scss +42 -0
  189. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_background-size.scss +14 -0
  190. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_border-radius.scss +135 -0
  191. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_box-shadow.scss +50 -0
  192. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_box-sizing.scss +13 -0
  193. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_box.scss +112 -0
  194. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_columns.scss +55 -0
  195. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_font-face.scss +33 -0
  196. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_gradient.scss +96 -0
  197. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_inline-block.scss +12 -0
  198. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_opacity.scss +27 -0
  199. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_shared.scss +47 -0
  200. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_text-shadow.scss +25 -0
  201. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_transform.scss +85 -0
  202. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_transition.scss +85 -0
  203. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/layout/_sticky-footer.scss +23 -0
  204. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/reset/_utilities.scss +133 -0
  205. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_general.scss +6 -0
  206. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_links.scss +3 -0
  207. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_lists.scss +4 -0
  208. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_print.scss +17 -0
  209. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_sprites.scss +1 -0
  210. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_tables.scss +3 -0
  211. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_text.scss +3 -0
  212. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_clearfix.scss +31 -0
  213. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_float.scss +15 -0
  214. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_hacks.scss +35 -0
  215. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_min.scss +16 -0
  216. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_reset.scss +2 -0
  217. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_tabs.scss +1 -0
  218. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -0
  219. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/links/_hover-link.scss +5 -0
  220. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/links/_link-colors.scss +28 -0
  221. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/links/_unstyled-link.scss +7 -0
  222. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/lists/_bullets.scss +34 -0
  223. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/lists/_horizontal-list.scss +52 -0
  224. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss +47 -0
  225. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/lists/_inline-list.scss +29 -0
  226. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/sprites/_sprite-img.scss +56 -0
  227. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +20 -0
  228. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/tables/_borders.scss +27 -0
  229. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -0
  230. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/text/_ellipsis.scss +25 -0
  231. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/text/_nowrap.scss +2 -0
  232. data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/text/_replacement.scss +34 -0
  233. data/lib/Phamlp/sass/messages/_i18n.php +122 -0
  234. data/lib/Phamlp/sass/messages/de.php +70 -0
  235. data/lib/Phamlp/sass/messages/fr.php +70 -0
  236. data/lib/Phamlp/sass/renderers/SassCompactRenderer.php +130 -0
  237. data/lib/Phamlp/sass/renderers/SassCompressedRenderer.php +102 -0
  238. data/lib/Phamlp/sass/renderers/SassExpandedRenderer.php +62 -0
  239. data/lib/Phamlp/sass/renderers/SassNestedRenderer.php +61 -0
  240. data/lib/Phamlp/sass/renderers/SassRenderer.php +51 -0
  241. data/lib/Phamlp/sass/script/SassScriptFunction.php +169 -0
  242. data/lib/Phamlp/sass/script/SassScriptFunctions.php +751 -0
  243. data/lib/Phamlp/sass/script/SassScriptLexer.php +114 -0
  244. data/lib/Phamlp/sass/script/SassScriptOperation.php +151 -0
  245. data/lib/Phamlp/sass/script/SassScriptParser.php +192 -0
  246. data/lib/Phamlp/sass/script/SassScriptParserExceptions.php +40 -0
  247. data/lib/Phamlp/sass/script/SassScriptVariable.php +57 -0
  248. data/lib/Phamlp/sass/script/literals/SassBoolean.php +67 -0
  249. data/lib/Phamlp/sass/script/literals/SassColour.php +886 -0
  250. data/lib/Phamlp/sass/script/literals/SassLiteral.php +359 -0
  251. data/lib/Phamlp/sass/script/literals/SassLiteralExceptions.php +47 -0
  252. data/lib/Phamlp/sass/script/literals/SassNumber.php +503 -0
  253. data/lib/Phamlp/sass/script/literals/SassString.php +106 -0
  254. data/lib/Phamlp/sass/tree/SassCommentNode.php +64 -0
  255. data/lib/Phamlp/sass/tree/SassContext.php +120 -0
  256. data/lib/Phamlp/sass/tree/SassDebugNode.php +84 -0
  257. data/lib/Phamlp/sass/tree/SassDirectiveNode.php +76 -0
  258. data/lib/Phamlp/sass/tree/SassElseNode.php +28 -0
  259. data/lib/Phamlp/sass/tree/SassExtendNode.php +47 -0
  260. data/lib/Phamlp/sass/tree/SassForNode.php +99 -0
  261. data/lib/Phamlp/sass/tree/SassIfNode.php +95 -0
  262. data/lib/Phamlp/sass/tree/SassImportNode.php +69 -0
  263. data/lib/Phamlp/sass/tree/SassMixinDefinitionNode.php +88 -0
  264. data/lib/Phamlp/sass/tree/SassMixinNode.php +91 -0
  265. data/lib/Phamlp/sass/tree/SassNode.php +342 -0
  266. data/lib/Phamlp/sass/tree/SassNodeExceptions.php +117 -0
  267. data/lib/Phamlp/sass/tree/SassPropertyNode.php +239 -0
  268. data/lib/Phamlp/sass/tree/SassRootNode.php +100 -0
  269. data/lib/Phamlp/sass/tree/SassRuleNode.php +337 -0
  270. data/lib/Phamlp/sass/tree/SassVariableNode.php +90 -0
  271. data/lib/Phamlp/sass/tree/SassWhileNode.php +64 -0
  272. data/lib/frontsau/assets/rack.rb +12 -0
  273. data/lib/frontsau/assets/sprockets.rb +59 -0
  274. data/lib/frontsau/assets/static_assets_compiler.rb +50 -0
  275. data/lib/frontsau/assets/url_rewriter.rb +22 -0
  276. data/lib/frontsau/assets/watcher.rb +60 -0
  277. data/lib/frontsau/thor_app.rb +118 -0
  278. data/lib/frontsau/version.rb +3 -0
  279. data/lib/frontsau.rb +64 -0
  280. metadata +578 -0
@@ -0,0 +1,253 @@
1
+ <?php
2
+ /* SVN FILE: $Id: HamlNode.php 92 2010-05-20 17:42:59Z chris.l.yates $ */
3
+ /**
4
+ * HamlNode class file.
5
+ * @author Chris Yates <chris.l.yates@gmail.com>
6
+ * @copyright Copyright (c) 2010 PBM Web Development
7
+ * @license http://phamlp.googlecode.com/files/license.txt
8
+ * @package PHamlP
9
+ * @subpackage Haml.tree
10
+ */
11
+
12
+ require_once('HamlRootNode.php');
13
+ require_once('HamlCommentNode.php');
14
+ require_once('HamlDoctypeNode.php');
15
+ require_once('HamlElementNode.php');
16
+ require_once('HamlFilterNode.php');
17
+ require_once('HamlHelperNode.php');
18
+ require_once('HamlCodeBlockNode.php');
19
+ require_once('HamlNodeExceptions.php');
20
+
21
+ /**
22
+ * HamlNode class.
23
+ * Base class for all Haml nodes.
24
+ * @package PHamlP
25
+ * @subpackage Haml.tree
26
+ */
27
+ class HamlNode {
28
+ /**
29
+ * @var HamlNode root node of this node
30
+ */
31
+ protected $root;
32
+ /**
33
+ * @var HamlNode parent of this node
34
+ */
35
+ protected $parent;
36
+ /**
37
+ * @var array children of this node
38
+ */
39
+ protected $children = array();
40
+ /**
41
+ * @var array source line token
42
+ */
43
+ public $token;
44
+ /**
45
+ * @var boolean whether to show the output in the browser for debug
46
+ */
47
+ public $showOutput;
48
+ /**
49
+ * @var boolean whether to show the source in the browser for debug
50
+ */
51
+ public $showSource;
52
+ /**
53
+ * @var string content to render
54
+ */
55
+ public $content;
56
+ /**
57
+ * @var string output buffer
58
+ */
59
+ protected $output;
60
+ /**
61
+ * @var HamlRenderer Renderer object
62
+ */
63
+ private $_r;
64
+ /**
65
+ * @var array Options
66
+ */
67
+ private $_o;
68
+
69
+ public function __construct($content, $parent) {
70
+ $this->content = $content;
71
+ if (!is_null($parent)) { // $parent === null for "else" code blocks
72
+ $this->parent = $parent;
73
+ $this->root = $parent->root;
74
+ $parent->children[] = $this;
75
+ }
76
+
77
+ }
78
+
79
+ /**
80
+ * Getter.
81
+ * @param string name of property to get
82
+ * @return mixed return value of getter function
83
+ */
84
+ public function __get($name) {
85
+ $getter = 'get' . ucfirst($name);
86
+ if (method_exists($this, $getter)) {
87
+ return $this->$getter();
88
+ }
89
+ throw new HamlNodeException('No getter function for {what}', array('{what}'=>$name));
90
+ }
91
+
92
+ /**
93
+ * Setter.
94
+ * @param string name of property to set
95
+ * @return mixed value of property
96
+ * @return HamlNode this node
97
+ */
98
+ public function __set($name, $value) {
99
+ $setter = 'set' . ucfirst($name);
100
+ if (method_exists($this, $setter)) {
101
+ $this->$setter($value);
102
+ return $this;
103
+ }
104
+ throw new HamlNodeException('No setter function for {what}', array('{what}'=>$name));
105
+ }
106
+
107
+ /**
108
+ * Return a value indicating if this node has a parent
109
+ * @return array the node's parent
110
+ */
111
+ public function hasParent() {
112
+ return !empty($this->parent);
113
+ }
114
+
115
+ /**
116
+ * Returns the node's content and that of its child nodes
117
+ * @param integer the indent level. This is to allow properly indented output
118
+ * that filters (e.g. Sass) may need.
119
+ * @return string the node's content and that of its child nodes
120
+ */
121
+ public function getContent($indentLevel = 0) {
122
+ $output = str_repeat(' ', 2 * $indentLevel++) . $this->content . "\n";
123
+ foreach ($this->children as $child) {
124
+ $output .= $child->getContent($indentLevel);
125
+ } // foreach
126
+ return $output;
127
+ }
128
+
129
+ /**
130
+ * Returns the node's parent
131
+ * @return array the node's parent
132
+ */
133
+ public function getParent() {
134
+ return $this->parent;
135
+ }
136
+
137
+ /**
138
+ * Returns a value indicating if this node has children
139
+ * @return boolean true if the node has children, false if not
140
+ */
141
+ public function hasChildren() {
142
+ return !empty($this->children);
143
+ }
144
+
145
+ /**
146
+ * Returns the node's children
147
+ * @return array the node's children
148
+ */
149
+ public function getChildren() {
150
+ return $this->children;
151
+ }
152
+
153
+ /**
154
+ * Returns the last child node of this node.
155
+ * @return HamlNode the last child node of this node
156
+ */
157
+ public function getLastChild() {
158
+ return $this->children[count($this->children) - 1];
159
+ }
160
+
161
+ /**
162
+ * Returns the indent level of this node.
163
+ * @return integer the indent level of this node
164
+ */
165
+ private function getLevel() {
166
+ return $this->token['level'];
167
+ }
168
+
169
+ /**
170
+ * Sets the indent level of this node.
171
+ * Used during rendering to give correct indentation.
172
+ * @param integer the indent level of this node
173
+ * @return HamlNode this node
174
+ */
175
+ private function setLevel($level) {
176
+ $this->token['level'] = $level;
177
+ return $this;
178
+ }
179
+
180
+ /**
181
+ * Returns the source for this node
182
+ * @return string the source for this node
183
+ */
184
+ private function getSource() {
185
+ return $this->token[HamlParser::HAML_SOURCE];
186
+ }
187
+
188
+ /**
189
+ * Returns the source for this node
190
+ * @return string the source for this node
191
+ */
192
+ private function getLine() {
193
+ return $this->token['line'];
194
+ }
195
+
196
+ /**
197
+ * Returns the filename for this node
198
+ * @return string the filename for this node
199
+ */
200
+ private function getFilename() {
201
+ return $this->token['filename'];
202
+ }
203
+
204
+ /**
205
+ * Returns the options.
206
+ * @return array the options
207
+ */
208
+ public function getOptions() {
209
+ if (empty($this->_o)) {
210
+ $this->_r = $this->root->options;
211
+ }
212
+ return $this->_o;
213
+ }
214
+
215
+ /**
216
+ * Returns the renderer.
217
+ * @return HamlRenderer the rendered
218
+ */
219
+ public function getRenderer() {
220
+ if (empty($this->_r)) {
221
+ $this->_r = $this->root->renderer;
222
+ }
223
+ return $this->_r;
224
+ }
225
+
226
+ public function render() {
227
+ $output = $this->renderer->renderContent($this);
228
+ foreach ($this->children as $child) {
229
+ $output .= $child->render();
230
+ } // foreach
231
+ return $this->debug($output);
232
+ }
233
+
234
+ protected function debug($output) {
235
+ $output = ($this->showSource ? $this->showSource($output) : $output);
236
+ return ($this->showOutput && $this->line['indentLevel'] == 0 ?
237
+ nl2br(str_replace(' ', '&nbsp;', htmlspecialchars($output))) :
238
+ $output);
239
+ }
240
+
241
+ /**
242
+ * Adds a comment with source debug information for the current line to the output.
243
+ * The debug information is:
244
+ * + source file (relative to the application path)
245
+ * + line number
246
+ * + indent level
247
+ * + source code
248
+ * @param array source line(s) that generated the ouput
249
+ */
250
+ protected function showSource($output) {
251
+ return "<!--\n ({$this->line['file']} {$this->line['number']}:{$this->line['indentLevel']})\n {$this->line[HamlParser::HAML_SOURCE]}\n-->\n$output";
252
+ }
253
+ }
@@ -0,0 +1,19 @@
1
+ <?php
2
+ /* SVN FILE: $Id: HamlNodeExceptions.php 61 2010-04-16 10:19:59Z chris.l.yates $ */
3
+ /**
4
+ * HamlNode exception classes.
5
+ * @author Chris Yates <chris.l.yates@gmail.com>
6
+ * @copyright Copyright (c) 2010 PBM Web Development
7
+ * @license http://phamlp.googlecode.com/files/license.txt
8
+ * @package PHamlP
9
+ * @subpackage Haml.tree
10
+ */
11
+
12
+ require_once(dirname(__FILE__).'/../HamlException.php');
13
+
14
+ /**
15
+ * HamlNodeException class.
16
+ * @package PHamlP
17
+ * @subpackage Haml.tree
18
+ */
19
+ class HamlNodeException extends HamlException {}
@@ -0,0 +1,58 @@
1
+ <?php
2
+ /* SVN FILE: $Id: HamlRootNode.php 49 2010-04-04 10:51:24Z chris.l.yates $ */
3
+ /**
4
+ * HamlRootNode class file.
5
+ * @author Chris Yates <chris.l.yates@gmail.com>
6
+ * @copyright Copyright (c) 2010 PBM Web Development
7
+ * @license http://phamlp.googlecode.com/files/license.txt
8
+ * @package PHamlP
9
+ * @subpackage Haml.tree
10
+ */
11
+
12
+ require_once(dirname(__FILE__).'/../renderers/HamlRenderer.php');
13
+
14
+ /**
15
+ * HamlRootNode class.
16
+ * Also the root node of a document.
17
+ * @package PHamlP
18
+ * @subpackage Haml.tree
19
+ */
20
+ class HamlRootNode extends HamlNode {
21
+ /**
22
+ * @var HamlRenderer the renderer for this node
23
+ */
24
+ protected $renderer;
25
+ /**
26
+ * @var array options
27
+ */
28
+ protected $options;
29
+
30
+ /**
31
+ * Root HamlNode constructor.
32
+ * @param array options for the tree
33
+ * @return HamlNode
34
+ */
35
+ public function __construct($options) {
36
+ $this->root = $this;
37
+ $this->options = $options;
38
+ $this->renderer = HamlRenderer::getRenderer($this->options['style'],
39
+ array(
40
+ 'format' => $this->options['format'],
41
+ 'attrWrapper' => $this->options['attrWrapper'],
42
+ 'minimizedAttributes' => $this->options['minimizedAttributes'],
43
+ )
44
+ );
45
+ $this->token = array('level' => -1);
46
+ }
47
+
48
+ /**
49
+ * Render this node.
50
+ * @return string the rendered node
51
+ */
52
+ public function render() {
53
+ foreach ($this->children as $child) {
54
+ $this->output .= $child->render();
55
+ } // foreach
56
+ return $this->output;
57
+ }
58
+ }
@@ -0,0 +1,29 @@
1
+ <?php
2
+ /* SVN FILE: $Id: SassException.php 61 2010-04-16 10:19:59Z chris.l.yates $ */
3
+ /**
4
+ * Sass exception.
5
+ * @author Chris Yates <chris.l.yates@gmail.com>
6
+ * @copyright Copyright (c) 2010 PBM Web Development
7
+ * @license http://phamlp.googlecode.com/files/license.txt
8
+ * @package PHamlP
9
+ * @subpackage Sass
10
+ */
11
+
12
+ require_once(dirname(__FILE__).'/../PhamlpException.php');
13
+
14
+ /**
15
+ * Sass exception class.
16
+ * @package PHamlP
17
+ * @subpackage Sass
18
+ */
19
+ class SassException extends PhamlpException {
20
+ /**
21
+ * Sass Exception.
22
+ * @param string Exception message
23
+ * @param array parameters to be applied to the message using <code>strtr</code>.
24
+ * @param object object with source code and meta data
25
+ */
26
+ public function __construct($message, $params = array(), $object = null) {
27
+ parent::__construct('sass', $message, $params, $object);
28
+ }
29
+ }
@@ -0,0 +1,164 @@
1
+ <?php
2
+ /* SVN FILE: $Id: SassFile.php 118 2010-09-21 09:45:11Z chris.l.yates@gmail.com $ */
3
+ /**
4
+ * SassFile class file.
5
+ * File handling utilites.
6
+ * @author Chris Yates <chris.l.yates@gmail.com>
7
+ * @copyright Copyright (c) 2010 PBM Web Development
8
+ * @license http://phamlp.googlecode.com/files/license.txt
9
+ * @package PHamlP
10
+ * @subpackage Sass
11
+ */
12
+
13
+ /**
14
+ * SassFile class.
15
+ * @package PHamlP
16
+ * @subpackage Sass
17
+ */
18
+ class SassFile {
19
+ const SASS = 'sass';
20
+ const SCSS = 'scss';
21
+ const SASSC = 'sassc';
22
+
23
+ private static $extensions = array(self::SASS, self::SCSS);
24
+
25
+ /**
26
+ * Returns the parse tree for a file.
27
+ * If caching is enabled a cached version will be used if possible; if not the
28
+ * parsed file will be cached.
29
+ * @param string filename to parse
30
+ * @param SassParser Sass parser
31
+ * @return SassRootNode
32
+ */
33
+ public static function getTree($filename, $parser) {
34
+ if ($parser->cache) {
35
+ $cached = self::getCachedFile($filename, $parser->cache_location);
36
+ if ($cached !== false) {
37
+ return $cached;
38
+ }
39
+ }
40
+
41
+ $sassParser = new SassParser(array_merge($parser->options, array('line'=>1)));
42
+ $tree = $sassParser->parse($filename);
43
+ if ($parser->cache) {
44
+ self::setCachedFile($tree, $filename, $parser->cache_location);
45
+ }
46
+ return $tree;
47
+ }
48
+
49
+ /**
50
+ * Returns the full path to a file to parse.
51
+ * The file is looked for recursively under the load_paths directories and
52
+ * the template_location directory.
53
+ * If the filename does not end in .sass or .scss try the current syntax first
54
+ * then, if a file is not found, try the other syntax.
55
+ * @param string filename to find
56
+ * @param SassParser Sass parser
57
+ * @return string path to file
58
+ * @throws SassException if file not found
59
+ */
60
+ public static function getFile($filename, $parser) {
61
+ $ext = substr($filename, -5);
62
+
63
+ foreach (self::$extensions as $i=>$extension) {
64
+ if ($ext !== '.'.self::SASS && $ext !== '.'.self::SCSS) {
65
+ if ($i===0) {
66
+ $_filename = "$filename.{$parser->syntax}";
67
+ }
68
+ else {
69
+ $_filename = $filename.'.'.($parser->syntax === self::SASS ? self::SCSS : self::SASS);
70
+ }
71
+ }
72
+ else {
73
+ $_filename = $filename;
74
+ }
75
+
76
+ if (file_exists($_filename)) {
77
+ return $_filename;
78
+ }
79
+
80
+ foreach (array_merge(array(dirname($parser->filename)), $parser->load_paths) as $loadPath) {
81
+ $path = self::findFile($_filename, realpath($loadPath));
82
+ if ($path !== false) {
83
+ return $path;
84
+ }
85
+ } // foreach
86
+
87
+ if (!empty($parser->template_location)) {
88
+ $path = self::findFile($_filename, realpath($parser->template_location));
89
+ if ($path !== false) {
90
+ return $path;
91
+ }
92
+ }
93
+ }
94
+
95
+ throw new SassException('Unable to find {what}: {filename}', array('{what}'=>'import file', '{filename}'=>$filename));
96
+ }
97
+
98
+ /**
99
+ * Looks for the file recursively in the specified directory.
100
+ * This will also look for _filename to handle Sass partials.
101
+ * @param string filename to look for
102
+ * @param string path to directory to look in and under
103
+ * @return mixed string: full path to file if found, false if not
104
+ */
105
+ public static function findFile($filename, $dir) {
106
+ $partialname = dirname($filename).DIRECTORY_SEPARATOR.'_'.basename($filename);
107
+
108
+ foreach (array($filename, $partialname) as $file) {
109
+ if (file_exists($dir . DIRECTORY_SEPARATOR . $file)) {
110
+ return realpath($dir . DIRECTORY_SEPARATOR . $file);
111
+ }
112
+ }
113
+
114
+ $files = array_slice(scandir($dir), 2);
115
+
116
+ foreach ($files as $file) {
117
+ if (is_dir($dir . DIRECTORY_SEPARATOR . $file)) {
118
+ $path = self::findFile($filename, $dir . DIRECTORY_SEPARATOR . $file);
119
+ if ($path !== false) {
120
+ return $path;
121
+ }
122
+ }
123
+ } // foreach
124
+ return false;
125
+ }
126
+
127
+ /**
128
+ * Returns a cached version of the file if available.
129
+ * @param string filename to fetch
130
+ * @param string path to cache location
131
+ * @return mixed the cached file if available or false if it is not
132
+ */
133
+ public static function getCachedFile($filename, $cacheLocation) {
134
+ $cached = realpath($cacheLocation) . DIRECTORY_SEPARATOR .
135
+ md5($filename) . '.'.self::SASSC;
136
+
137
+ if ($cached && file_exists($cached) &&
138
+ filemtime($cached) >= filemtime($filename)) {
139
+ return unserialize(file_get_contents($cached));
140
+ }
141
+ return false;
142
+ }
143
+
144
+ /**
145
+ * Saves a cached version of the file.
146
+ * @param SassRootNode Sass tree to save
147
+ * @param string filename to save
148
+ * @param string path to cache location
149
+ * @return mixed the cached file if available or false if it is not
150
+ */
151
+ public static function setCachedFile($sassc, $filename, $cacheLocation) {
152
+ $cacheDir = realpath($cacheLocation);
153
+
154
+ if (!$cacheDir) {
155
+ mkdir($cacheLocation);
156
+ @chmod($cacheLocation, 0777);
157
+ $cacheDir = realpath($cacheLocation);
158
+ }
159
+
160
+ $cached = $cacheDir . DIRECTORY_SEPARATOR . md5($filename) . '.'.self::SASSC;
161
+
162
+ return file_put_contents($cached, serialize($sassc));
163
+ }
164
+ }