frontsau 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,90 @@
1
+ <?php
2
+ /* SVN FILE: $Id: SassVariableNode.php 118 2010-09-21 09:45:11Z chris.l.yates@gmail.com $ */
3
+ /**
4
+ * SassVariableNode 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 Sass.tree
10
+ */
11
+
12
+ /**
13
+ * SassVariableNode class.
14
+ * Represents a variable.
15
+ * @package PHamlP
16
+ * @subpackage Sass.tree
17
+ */
18
+ class SassVariableNode extends SassNode {
19
+ const MATCH = '/^([!$])([\w-]+)\s*:?\s*((\|\|)?=)?\s*(.+?)\s*(!default)?;?$/i';
20
+ const IDENTIFIER = 1;
21
+ const NAME = 2;
22
+ const SASS_ASSIGNMENT = 3;
23
+ const SASS_DEFAULT = 4;
24
+ const VALUE = 5;
25
+ const SCSS_DEFAULT = 6;
26
+ const SASS_IDENTIFIER = '!';
27
+ const SCSS_IDENTIFIER = '$';
28
+
29
+ /**
30
+ * @var string name of the variable
31
+ */
32
+ private $name;
33
+ /**
34
+ * @var string value of the variable or expression to evaluate
35
+ */
36
+ private $value;
37
+ /**
38
+ * @var boolean whether the variable is optionally assigned
39
+ */
40
+ private $isDefault;
41
+
42
+ /**
43
+ * SassVariableNode constructor.
44
+ * @param object source token
45
+ * @return SassVariableNode
46
+ */
47
+ public function __construct($token) {
48
+ parent::__construct($token);
49
+ preg_match(self::MATCH, $token->source, $matches);
50
+ if (empty($matches[self::NAME]) || ($matches[self::VALUE] === '')) {
51
+ throw new SassVariableNodeException('Invalid variable definition; name and expression required', array(), $this);
52
+ }
53
+ $this->name = $matches[self::NAME];
54
+ $this->value = $matches[self::VALUE];
55
+ $this->isDefault = (!empty($matches[self::SASS_DEFAULT]) || !empty($matches[self::SCSS_DEFAULT]));
56
+
57
+ // Warn about deprecated features
58
+ if ($matches[self::IDENTIFIER] === self::SASS_IDENTIFIER) {
59
+ $this->addWarning('Variables prefixed with "!" is deprecated; use "${name}"', array('{name}'=>$this->name));
60
+ }
61
+ if (!empty($matches[SassVariableNode::SASS_ASSIGNMENT])) {
62
+ $this->addWarning('Setting variables with "{sassDefault}=" is deprecated; use "${name}: {value}{scssDefault}"', array('{sassDefault}'=>(!empty($matches[SassVariableNode::SASS_DEFAULT])?'||':''), '{name}'=>$this->name, '{value}'=>$this->value, '{scssDefault}'=>(!empty($matches[SassVariableNode::SASS_DEFAULT])?' !default':'')));
63
+ }
64
+ }
65
+
66
+ /**
67
+ * Parse this node.
68
+ * Sets the variable in the current context.
69
+ * @param SassContext the context in which this node is parsed
70
+ * @return array the parsed node - an empty array
71
+ */
72
+ public function parse($context) {
73
+ if (!$this->isDefault || !$context->hasVariable($this->name)) {
74
+ $context->setVariable(
75
+ $this->name, $this->evaluate($this->value, $context)
76
+ );
77
+ }
78
+ $this->parseChildren($context); // Parse any warnings
79
+ return array();
80
+ }
81
+
82
+ /**
83
+ * Returns a value indicating if the token represents this type of node.
84
+ * @param object token
85
+ * @return boolean true if the token represents this type of node, false if not
86
+ */
87
+ public static function isa($token) {
88
+ return $token->source[0] === self::SASS_IDENTIFIER || $token->source[0] === self::SCSS_IDENTIFIER;
89
+ }
90
+ }
@@ -0,0 +1,64 @@
1
+ <?php
2
+ /* SVN FILE: $Id: SassWhileNode.php 118 2010-09-21 09:45:11Z chris.l.yates@gmail.com $ */
3
+ /**
4
+ * SassWhileNode 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 Sass.tree
10
+ */
11
+
12
+ /**
13
+ * SassWhileNode class.
14
+ * Represents a Sass @while loop and a Sass @do loop.
15
+ * @package PHamlP
16
+ * @subpackage Sass.tree
17
+ */
18
+ class SassWhileNode extends SassNode {
19
+ const MATCH = '/^@(do|while)\s+(.+)$/i';
20
+ const LOOP = 1;
21
+ const EXPRESSION = 2;
22
+ const IS_DO = 'do';
23
+ /**
24
+ * @var boolean whether this is a do/while.
25
+ * A do/while loop is guarenteed to run at least once.
26
+ */
27
+ private $isDo;
28
+ /**
29
+ * @var string expression to evaluate
30
+ */
31
+ private $expression;
32
+
33
+ /**
34
+ * SassWhileNode constructor.
35
+ * @param object source token
36
+ * @return SassWhileNode
37
+ */
38
+ public function __construct($token) {
39
+ parent::__construct($token);
40
+ preg_match(self::MATCH, $token->source, $matches);
41
+ $this->expression = $matches[self::EXPRESSION];
42
+ $this->isDo = ($matches[self::LOOP] === SassWhileNode::IS_DO);
43
+ }
44
+
45
+ /**
46
+ * Parse this node.
47
+ * @param SassContext the context in which this node is parsed
48
+ * @return array the parsed child nodes
49
+ */
50
+ public function parse($context) {
51
+ $children = array();
52
+ if ($this->isDo) {
53
+ do {
54
+ $children = array_merge($children, $this->parseChildren($context));
55
+ } while ($this->evaluate($this->expression, $context)->toBoolean());
56
+ }
57
+ else {
58
+ while ($this->evaluate($this->expression, $context)->toBoolean()) {
59
+ $children = array_merge($children, $this->parseChildren($context));
60
+ }
61
+ }
62
+ return $children;
63
+ }
64
+ }
@@ -0,0 +1,12 @@
1
+ module Frontsau
2
+ module Assets
3
+ class Rack < Sinatra::Base
4
+ get '/debug' do
5
+ json Frontsau.sprockets.compilable_paths
6
+ end
7
+ get '/manifest.json' do
8
+ json Frontsau.sprockets.manifest
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,59 @@
1
+ module Frontsau
2
+ module Assets
3
+ class Sprockets < ::Sprockets::Environment
4
+ attr_accessor :source_paths, :output_path
5
+
6
+ def initialize
7
+ super()
8
+ self.output_path = File.expand_path Frontsau.config[:assets][:path]
9
+ Frontsau.config[:assets][:sources].each do |glob_dir|
10
+ Dir[File.expand_path(glob_dir)].each do |dir|
11
+ append_path dir
12
+ end
13
+ end
14
+ self.register_postprocessor 'text/css', UrlRewriter
15
+ end
16
+
17
+ def manifest
18
+ m = {}
19
+ compilable_paths.each do |path|
20
+ asset = self[path]
21
+ next unless asset.present?
22
+ m[path] = {
23
+ digest: asset.digest,
24
+ modified: asset.mtime
25
+ }
26
+ end
27
+ m
28
+ end
29
+
30
+ def compilable_paths
31
+ return enum_for(:compilable_paths) unless block_given?
32
+ each_logical_path do |path|
33
+ Frontsau.config[:assets][:compile].each do |glob|
34
+ yield path if File.fnmatch(glob, path)
35
+ #puts "#{path} => #{glob} :: #{File.fnmatch(glob, path)}"
36
+ end
37
+ end
38
+ end
39
+
40
+ def dump path
41
+
42
+ file = File.join output_path, path
43
+
44
+ if !Dir.exist? File.dirname(file)
45
+ FileUtils.mkpath File.dirname(file)
46
+ end
47
+
48
+ begin
49
+ content = self[path].to_s
50
+ File.write file, content
51
+ return true
52
+ rescue
53
+ return false
54
+ end
55
+
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,50 @@
1
+ module Frontsau
2
+
3
+ class StaticAssetsCompiler
4
+ def is_type type, file
5
+ filetype = File.extname file
6
+ filetype == ".#{type}"
7
+ end
8
+
9
+ def compile_coffee file
10
+ filename = File.basename file,'.*'
11
+ type = File.extname file
12
+ path = File.dirname file
13
+ input = File.read file
14
+ output = "// FILE GENERATED FROM #{filename}.coffee\n\n"+CoffeeScript.compile(input)
15
+ output_file = File.expand_path "#{filename}.js",path
16
+ File.write output_file,output
17
+ end
18
+
19
+
20
+ def compile_sass file
21
+ filename = File.basename file,'.*'
22
+ type = File.extname file
23
+ path = File.dirname file
24
+ input = File.read file
25
+ paths = Dir['plugins/*/static/css', 'vendor/bower/compass/core/stylesheets', 'vendor/bower']
26
+ output = "/* FILE GENERATED FROM #{filename}.sass */\n\n"+Sass.compile(input, syntax: :sass, load_paths: paths)
27
+ output_file = File.expand_path "#{filename}.css",path
28
+ File.write output_file,output
29
+ end
30
+
31
+ def compile_haml file
32
+ `php plugins/Room13Web/bin/haml-compiler.php #{file}`
33
+ end
34
+
35
+ def compile file, type
36
+ puts " => #{file}"
37
+ begin
38
+ send "compile_#{type}", file
39
+ rescue => e
40
+ puts ""
41
+ puts " --------------------------------------------"
42
+ puts " ERROR: "+e.message
43
+ puts " --------------------------------------------"
44
+ puts ""
45
+ end
46
+ end
47
+ end
48
+
49
+
50
+ end
@@ -0,0 +1,22 @@
1
+ module Frontsau
2
+ module Assets
3
+ class UrlRewriter < ::Sprockets::Processor
4
+ def evaluate(context, locals)
5
+ data.gsub /(?<=[:\s])url\(['"]?([^\s)]+\.[a-z]+)(\?\d+)?['"]?\)/i do |url|
6
+ uri = URI.parse($1)
7
+ #puts uri
8
+ next url if uri.absolute?
9
+ parts = uri.path.split '/'
10
+ # remove ../image
11
+ parts.shift
12
+ parts.shift
13
+ # add assets base path
14
+ parts.unshift Frontsau.config[:assets][:path]
15
+ rewritten_url = '/'+parts.join('/')
16
+ #puts "Rewriting #{uri.path} to #{rewritten_url}"
17
+ next "url(#{rewritten_url})"
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,60 @@
1
+ module Frontsau
2
+ module Assets
3
+ class Watcher
4
+
5
+ EXT_MAP = {
6
+ ".haml" => ".html",
7
+ ".less" => ".css",
8
+ ".sass" => ".css",
9
+ ".coffee" => ".js",
10
+ }
11
+
12
+ def initialize &callback
13
+ @callback = callback
14
+ @watches = Frontsau.config[:assets][:sources].map{|s| Dir[s] }.flatten.uniq
15
+ filewatcher()
16
+ end
17
+
18
+ def filewatcher
19
+ FileWatcher.new(@watches).watch do |file|
20
+ next if File.directory? file
21
+ @watches.each do |p|
22
+ if p.start_with? p
23
+ file = file.gsub "#{p}/", ""
24
+ end
25
+ file
26
+ end
27
+ ext = File.extname file
28
+ base = File.basename file, ext
29
+ dir = File.dirname file
30
+ if EXT_MAP[ext.downcase].present?
31
+ ext = EXT_MAP[ext.downcase]
32
+ end
33
+ @callback.call "#{dir}/#{base}#{ext}"
34
+ end
35
+ end
36
+
37
+ def fsevent
38
+ fsevent = FSEvent.new
39
+ opts = {
40
+ watch_root: true,
41
+ file_events: true
42
+ }
43
+ fsevent.watch @watches do |path|
44
+ puts path
45
+ end
46
+ fsevent.run
47
+ end
48
+
49
+ def inotify
50
+ notifier = INotify::Notifier.new
51
+ @watches.each do |path|
52
+ notifier.watch path do
53
+ puts "wee #{path}"
54
+ end
55
+ end
56
+ notifier.run
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,118 @@
1
+ module Frontsau
2
+ class ThorApp < Thor
3
+
4
+ include Thor::Actions
5
+
6
+ desc "compile", "Compiles all available assets."
7
+ def compile
8
+ say "Dumping assets:"
9
+ inside Frontsau.assets_path do
10
+ paths = Frontsau.sprockets.compilable_paths
11
+ manifest = {}
12
+ p = ProgressBar.create(
13
+ total: paths.count,
14
+ format: " %p% | %B"
15
+ )
16
+ paths.each do |path|
17
+ p.increment
18
+ begin
19
+ asset = Frontsau.sprockets[path]
20
+ data = asset.to_s
21
+ create_file path, data, force: true, verbose: false
22
+ manifest[path] = {
23
+ digest: asset.digest,
24
+ modified: asset.mtime
25
+ }
26
+ rescue Exception => e
27
+ say ""
28
+ say ""
29
+ say "#{e.class.name} ", :red
30
+ say "#{e.message}"
31
+ say ""
32
+ say ""
33
+ end
34
+ end
35
+ say ""
36
+ create_file "manifest.json", JSON.pretty_generate(manifest), force: true
37
+ end
38
+ end
39
+
40
+ desc "clean", "Removes all precompiled artefacts."
41
+ def clean
42
+ Dir[Frontsau.config[:assets][:path]+"/*"].each do |f|
43
+ remove_file f
44
+ end
45
+ end
46
+
47
+
48
+ desc "watch", "Watches for filechanges and compiles to the asset path immediatly."
49
+ def watch
50
+ compile
51
+ say "Watching for asset changes:"
52
+ Frontsau::Assets::Watcher.new do |path|
53
+ begin
54
+ asset = Frontsau.sprockets[path]
55
+ create_file path, asset.to_s, force: true, verbose: true
56
+ rescue Exception => e
57
+ say ""
58
+ say ""
59
+ say "#{e.class.name} ", :red
60
+ say "#{e.message}"
61
+ say ""
62
+ say ""
63
+ end
64
+ end
65
+ end
66
+
67
+
68
+ desc "debug WHAT", "Dump all logical asset paths to the console."
69
+ def debug what = "all"
70
+ puts ""
71
+ if what == "all"
72
+ Frontsau.sprockets.each_logical_path do |path|
73
+ puts " #{path}"
74
+ end
75
+ elsif
76
+ Frontsau.sprockets.compilable_paths.each do |path|
77
+ puts " #{path}"
78
+ end
79
+ end
80
+ puts ""
81
+ end
82
+
83
+ desc "server", "Starts a local assets server."
84
+ def server
85
+ app = Rack::Builder.new do
86
+ use Rack::CommonLogger
87
+ use Rack::ShowExceptions
88
+ use Rack::Cors do
89
+ allow do
90
+ origins '*'
91
+ resource '*'
92
+ end
93
+ end
94
+ map "/" do
95
+ run Frontsau::Assets::Rack.new
96
+ end
97
+ map "/#{Frontsau.config[:assets][:path]}" do
98
+ run Frontsau.sprockets
99
+ end
100
+ end
101
+ Rack::Handler::WEBrick.run app, :Port => 9292
102
+ end
103
+
104
+ desc "haml", "Compiles a phampl template."
105
+ def haml input
106
+ if !File.exist? input
107
+ raise "Input file does not exist!"
108
+ end
109
+ path = File.dirname input
110
+ name = File.basename input, '.haml'
111
+ tool_root = File.dirname(File.dirname(File.dirname(__FILE__)))
112
+ cmd = File.join(tool_root,"bin/frontsau-phaml-compiler")
113
+ html = `#{cmd} '#{input}'`
114
+ output = File.join(path,"#{name}.php")
115
+ File.write output, html
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,3 @@
1
+ module Frontsau
2
+ VERSION = "0.0.1"
3
+ end
data/lib/frontsau.rb ADDED
@@ -0,0 +1,64 @@
1
+ require 'filewatcher'
2
+ require 'pry'
3
+ require 'pathname'
4
+ require 'uri'
5
+
6
+ require 'rack'
7
+ require 'rack/cors'
8
+ require 'sinatra/base'
9
+ require 'sinatra/json'
10
+
11
+ require 'sprockets'
12
+ require 'tilt'
13
+ require 'coffee-script'
14
+ require 'sass'
15
+ require 'less'
16
+
17
+ require 'frontsau/version'
18
+ require 'frontsau/assets/sprockets'
19
+ require 'frontsau/assets/url_rewriter'
20
+ require 'frontsau/assets/rack'
21
+ require 'frontsau/assets/watcher'
22
+ require 'ruby-progressbar'
23
+
24
+ require 'rb-fsevent'
25
+ #require 'rb-inotify'
26
+ require 'filewatcher'
27
+
28
+ module Frontsau
29
+
30
+ mattr_accessor :config
31
+ mattr_accessor :root_path
32
+ mattr_accessor :sprockets
33
+
34
+ def self.init root_path
35
+
36
+ # define project root
37
+ self.root_path = root_path
38
+
39
+ # load configuration
40
+ config_file = File.expand_path '.frontsau'
41
+ raise "No .frontsau found in #{root_path}!" unless File.exists? config_file
42
+ raw_config = YAML.load File.read config_file
43
+ self.config = ActiveSupport::HashWithIndifferentAccess.new raw_config['frontsau']
44
+
45
+
46
+ #Sprockets::Engines
47
+ #Sprockets.register_engine '.haml', Tilt::HamlTemplate
48
+
49
+
50
+ # initialize sprockets
51
+ self.sprockets = Frontsau::Assets::Sprockets.new
52
+ sprockets.cache = Sprockets::Cache::FileStore.new(config[:assets][:cache])
53
+
54
+ end
55
+
56
+ def self.assets_path
57
+ config[:assets][:path]
58
+ end
59
+
60
+ def self.asset_path path
61
+ assets_path+path
62
+ end
63
+
64
+ end