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.
- checksums.yaml +7 -0
- data/.gitignore +16 -0
- data/Gemfile +4 -0
- data/LICENSE +21 -0
- data/README.md +30 -0
- data/Rakefile +2 -0
- data/bin/frontsau +15 -0
- data/bin/frontsau-phaml-compiler +35 -0
- data/example/.frontsau +12 -0
- data/example/assets/head.jpg +0 -0
- data/example/assets/script.js +4 -0
- data/example/assets/style.css +6 -0
- data/example/css/includes.sass +2 -0
- data/example/css/style.sass +6 -0
- data/example/image/head.jpg +0 -0
- data/example/index.html +0 -0
- data/example/js/script.coffee +1 -0
- data/frontsau.gemspec +41 -0
- data/lib/Phamlp/Phamlp.php +72 -0
- data/lib/Phamlp/PhamlpException.php +31 -0
- data/lib/Phamlp/haml/HamlException.php +29 -0
- data/lib/Phamlp/haml/HamlHelpers.php +199 -0
- data/lib/Phamlp/haml/HamlParser.php +1250 -0
- data/lib/Phamlp/haml/filters/HamlBaseFilter.php +30 -0
- data/lib/Phamlp/haml/filters/HamlCdataFilter.php +29 -0
- data/lib/Phamlp/haml/filters/HamlCssFilter.php +30 -0
- data/lib/Phamlp/haml/filters/HamlEscapedFilter.php +32 -0
- data/lib/Phamlp/haml/filters/HamlJavascriptFilter.php +31 -0
- data/lib/Phamlp/haml/filters/HamlPhpFilter.php +27 -0
- data/lib/Phamlp/haml/filters/HamlPlainFilter.php +28 -0
- data/lib/Phamlp/haml/filters/HamlPreserveFilter.php +29 -0
- data/lib/Phamlp/haml/filters/HamlSassFilter.php +37 -0
- data/lib/Phamlp/haml/filters/HamlScssFilter.php +37 -0
- data/lib/Phamlp/haml/filters/_HamlMarkdownFilter.php +50 -0
- data/lib/Phamlp/haml/filters/_HamlTextileFilter.php +50 -0
- data/lib/Phamlp/haml/messages/_i18n.php +32 -0
- data/lib/Phamlp/haml/messages/de.php +32 -0
- data/lib/Phamlp/haml/messages/fr.php +32 -0
- data/lib/Phamlp/haml/renderers/HamlCompactRenderer.php +32 -0
- data/lib/Phamlp/haml/renderers/HamlCompressedRenderer.php +48 -0
- data/lib/Phamlp/haml/renderers/HamlExpandedRenderer.php +58 -0
- data/lib/Phamlp/haml/renderers/HamlNestedRenderer.php +77 -0
- data/lib/Phamlp/haml/renderers/HamlRenderer.php +137 -0
- data/lib/Phamlp/haml/tree/HamlCodeBlockNode.php +58 -0
- data/lib/Phamlp/haml/tree/HamlCommentNode.php +41 -0
- data/lib/Phamlp/haml/tree/HamlDoctypeNode.php +27 -0
- data/lib/Phamlp/haml/tree/HamlElementNode.php +52 -0
- data/lib/Phamlp/haml/tree/HamlFilterNode.php +50 -0
- data/lib/Phamlp/haml/tree/HamlHelperNode.php +73 -0
- data/lib/Phamlp/haml/tree/HamlNode.php +253 -0
- data/lib/Phamlp/haml/tree/HamlNodeExceptions.php +19 -0
- data/lib/Phamlp/haml/tree/HamlRootNode.php +58 -0
- data/lib/Phamlp/sass/SassException.php +29 -0
- data/lib/Phamlp/sass/SassFile.php +164 -0
- data/lib/Phamlp/sass/SassParser.php +848 -0
- data/lib/Phamlp/sass/extensions/compass/config.php +65 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/_blueprint.scss +47 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_buttons.scss +101 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_colors.scss +32 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_debug.scss +11 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_fancy-type.scss +86 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_form.scss +68 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_grid.scss +249 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_ie.scss +109 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_interaction.scss +57 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_link-icons.scss +37 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_liquid.scss +147 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_print.scss +93 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_reset.scss +3 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_rtl.scss +133 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_scaffolding.scss +54 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_typography.scss +104 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/_utilities.scss +37 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/stylesheets/blueprint/reset/_utilities.scss +58 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/basic/grid.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/basic/ie.sass +4 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/basic/manifest.rb +30 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/basic/partials/_base.sass +10 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/basic/print.sass +4 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/basic/screen.sass +12 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons/cross.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons/key.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons/tick.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/buttons/buttons.sass +49 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/buttons/manifest.rb +17 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/doc.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/email.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/external.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/feed.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/im.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/pdf.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/visited.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons/xls.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/link_icons.sass +13 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/link_icons/manifest.rb +23 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/project/grid.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/project/ie.sass +16 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/project/manifest.rb +30 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/project/partials/_base.sass +11 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/project/print.sass +8 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/project/screen.sass +45 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/grid.png +0 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/ie.sass +16 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/manifest.rb +33 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_base.sass +10 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_form.sass +6 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_page.sass +18 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/partials/_two_col.sass +38 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/print.sass +5 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/blueprint/templates/semantic/screen.sass +14 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/_compass.scss +2 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/_css3.scss +15 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/_layout.scss +1 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/_reset.scss +3 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/_utilities.scss +6 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +43 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +42 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_background-size.scss +14 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +135 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +50 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +13 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_box.scss +112 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_columns.scss +55 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_font-face.scss +33 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_gradient.scss +82 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_inline-block.scss +12 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_opacity.scss +27 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_shared.scss +47 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +25 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_transform.scss +85 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/css3/_transition.scss +85 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/layout/_sticky-footer.scss +23 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/reset/_utilities.scss +133 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_general.scss +6 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_links.scss +3 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_lists.scss +4 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_print.scss +17 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_sprites.scss +1 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_tables.scss +3 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/_text.scss +3 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.scss +31 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_float.scss +15 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_hacks.scss +35 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_min.scss +16 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_reset.scss +2 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_tabs.scss +1 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/links/_hover-link.scss +5 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/links/_link-colors.scss +28 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/links/_unstyled-link.scss +7 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/lists/_bullets.scss +34 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/lists/_horizontal-list.scss +52 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss +47 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/lists/_inline-list.scss +29 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite-img.scss +56 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +20 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/tables/_borders.scss +27 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/text/_ellipsis.scss +25 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/text/_nowrap.scss +2 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/stylesheets/compass/utilities/text/_replacement.scss +34 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/ellipsis/ellipsis.sass +9 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/ellipsis/manifest.rb +27 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/ellipsis/xml/ellipsis.xml +14 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/extension/manifest.rb +20 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/extension/stylesheets/main.sass +1 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/extension/templates/project/manifest.rb +2 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/extension/templates/project/screen.sass +2 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/project/USAGE.markdown +32 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/project/ie.sass +6 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/project/manifest.rb +4 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/project/print.sass +6 -0
- data/lib/Phamlp/sass/extensions/compass/frameworks/compass/templates/project/screen.sass +7 -0
- data/lib/Phamlp/sass/extensions/compass/functions/colourStops.php +268 -0
- data/lib/Phamlp/sass/extensions/compass/functions/constants.php +44 -0
- data/lib/Phamlp/sass/extensions/compass/functions/fontFiles.php +30 -0
- data/lib/Phamlp/sass/extensions/compass/functions/imageSize.php +39 -0
- data/lib/Phamlp/sass/extensions/compass/functions/inlineData.php +84 -0
- data/lib/Phamlp/sass/extensions/compass/functions/lists.php +47 -0
- data/lib/Phamlp/sass/extensions/compass/functions/selectors.php +128 -0
- data/lib/Phamlp/sass/extensions/compass/functions/urls.php +143 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/_compass.scss +2 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/_css3.scss +15 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/_layout.scss +1 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/_reset.scss +3 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/_utilities.scss +6 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_background-clip.scss +43 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_background-origin.scss +42 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_background-size.scss +14 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_border-radius.scss +135 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_box-shadow.scss +50 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_box-sizing.scss +13 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_box.scss +112 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_columns.scss +55 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_font-face.scss +33 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_gradient.scss +96 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_inline-block.scss +12 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_opacity.scss +27 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_shared.scss +47 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_text-shadow.scss +25 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_transform.scss +85 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/css3/_transition.scss +85 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/layout/_sticky-footer.scss +23 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/reset/_utilities.scss +133 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_general.scss +6 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_links.scss +3 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_lists.scss +4 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_print.scss +17 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_sprites.scss +1 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_tables.scss +3 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/_text.scss +3 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_clearfix.scss +31 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_float.scss +15 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_hacks.scss +35 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_min.scss +16 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_reset.scss +2 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_tabs.scss +1 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/links/_hover-link.scss +5 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/links/_link-colors.scss +28 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/links/_unstyled-link.scss +7 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/lists/_bullets.scss +34 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/lists/_horizontal-list.scss +52 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss +47 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/lists/_inline-list.scss +29 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/sprites/_sprite-img.scss +56 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +20 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/tables/_borders.scss +27 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/text/_ellipsis.scss +25 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/text/_nowrap.scss +2 -0
- data/lib/Phamlp/sass/extensions/compass/stylesheets/compass/utilities/text/_replacement.scss +34 -0
- data/lib/Phamlp/sass/messages/_i18n.php +122 -0
- data/lib/Phamlp/sass/messages/de.php +70 -0
- data/lib/Phamlp/sass/messages/fr.php +70 -0
- data/lib/Phamlp/sass/renderers/SassCompactRenderer.php +130 -0
- data/lib/Phamlp/sass/renderers/SassCompressedRenderer.php +102 -0
- data/lib/Phamlp/sass/renderers/SassExpandedRenderer.php +62 -0
- data/lib/Phamlp/sass/renderers/SassNestedRenderer.php +61 -0
- data/lib/Phamlp/sass/renderers/SassRenderer.php +51 -0
- data/lib/Phamlp/sass/script/SassScriptFunction.php +169 -0
- data/lib/Phamlp/sass/script/SassScriptFunctions.php +751 -0
- data/lib/Phamlp/sass/script/SassScriptLexer.php +114 -0
- data/lib/Phamlp/sass/script/SassScriptOperation.php +151 -0
- data/lib/Phamlp/sass/script/SassScriptParser.php +192 -0
- data/lib/Phamlp/sass/script/SassScriptParserExceptions.php +40 -0
- data/lib/Phamlp/sass/script/SassScriptVariable.php +57 -0
- data/lib/Phamlp/sass/script/literals/SassBoolean.php +67 -0
- data/lib/Phamlp/sass/script/literals/SassColour.php +886 -0
- data/lib/Phamlp/sass/script/literals/SassLiteral.php +359 -0
- data/lib/Phamlp/sass/script/literals/SassLiteralExceptions.php +47 -0
- data/lib/Phamlp/sass/script/literals/SassNumber.php +503 -0
- data/lib/Phamlp/sass/script/literals/SassString.php +106 -0
- data/lib/Phamlp/sass/tree/SassCommentNode.php +64 -0
- data/lib/Phamlp/sass/tree/SassContext.php +120 -0
- data/lib/Phamlp/sass/tree/SassDebugNode.php +84 -0
- data/lib/Phamlp/sass/tree/SassDirectiveNode.php +76 -0
- data/lib/Phamlp/sass/tree/SassElseNode.php +28 -0
- data/lib/Phamlp/sass/tree/SassExtendNode.php +47 -0
- data/lib/Phamlp/sass/tree/SassForNode.php +99 -0
- data/lib/Phamlp/sass/tree/SassIfNode.php +95 -0
- data/lib/Phamlp/sass/tree/SassImportNode.php +69 -0
- data/lib/Phamlp/sass/tree/SassMixinDefinitionNode.php +88 -0
- data/lib/Phamlp/sass/tree/SassMixinNode.php +91 -0
- data/lib/Phamlp/sass/tree/SassNode.php +342 -0
- data/lib/Phamlp/sass/tree/SassNodeExceptions.php +117 -0
- data/lib/Phamlp/sass/tree/SassPropertyNode.php +239 -0
- data/lib/Phamlp/sass/tree/SassRootNode.php +100 -0
- data/lib/Phamlp/sass/tree/SassRuleNode.php +337 -0
- data/lib/Phamlp/sass/tree/SassVariableNode.php +90 -0
- data/lib/Phamlp/sass/tree/SassWhileNode.php +64 -0
- data/lib/frontsau/assets/rack.rb +12 -0
- data/lib/frontsau/assets/sprockets.rb +59 -0
- data/lib/frontsau/assets/static_assets_compiler.rb +50 -0
- data/lib/frontsau/assets/url_rewriter.rb +22 -0
- data/lib/frontsau/assets/watcher.rb +60 -0
- data/lib/frontsau/thor_app.rb +118 -0
- data/lib/frontsau/version.rb +3 -0
- data/lib/frontsau.rb +64 -0
- metadata +578 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/* SVN FILE: $Id: SassMixinDefinitionNode.php 118 2010-09-21 09:45:11Z chris.l.yates@gmail.com $ */
|
|
3
|
+
/**
|
|
4
|
+
* SassMixinDefinitionNode 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
|
+
* SassMixinDefinitionNode class.
|
|
14
|
+
* Represents a Mixin definition.
|
|
15
|
+
* @package PHamlP
|
|
16
|
+
* @subpackage Sass.tree
|
|
17
|
+
*/
|
|
18
|
+
class SassMixinDefinitionNode extends SassNode {
|
|
19
|
+
const NODE_IDENTIFIER = '=';
|
|
20
|
+
const MATCH = '/^(=|@mixin\s+)([-\w]+)\s*(?:\((.+?)\))?\s*$/i';
|
|
21
|
+
const IDENTIFIER = 1;
|
|
22
|
+
const NAME = 2;
|
|
23
|
+
const ARGUMENTS = 3;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @var string name of the mixin
|
|
27
|
+
*/
|
|
28
|
+
private $name;
|
|
29
|
+
/**
|
|
30
|
+
* @var array arguments for the mixin as name=>value pairs were value is the
|
|
31
|
+
* default value or null for required arguments
|
|
32
|
+
*/
|
|
33
|
+
private $args = array();
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* SassMixinDefinitionNode constructor.
|
|
37
|
+
* @param object source token
|
|
38
|
+
* @return SassMixinDefinitionNode
|
|
39
|
+
*/
|
|
40
|
+
public function __construct($token) {
|
|
41
|
+
if ($token->level !== 0) {
|
|
42
|
+
throw new SassMixinDefinitionNodeException('Mixins can only be defined at root level', array(), $this);
|
|
43
|
+
}
|
|
44
|
+
parent::__construct($token);
|
|
45
|
+
preg_match(self::MATCH, $token->source, $matches);
|
|
46
|
+
if (empty($matches)) {
|
|
47
|
+
throw new SassMixinDefinitionNodeException('Invalid {what}', array('{what}'=>'Mixin'), $this);
|
|
48
|
+
}
|
|
49
|
+
$this->name = $matches[self::NAME];
|
|
50
|
+
if (isset($matches[self::ARGUMENTS])) {
|
|
51
|
+
foreach (explode(',', $matches[self::ARGUMENTS]) as $arg) {
|
|
52
|
+
$arg = explode(
|
|
53
|
+
($matches[self::IDENTIFIER] === self::NODE_IDENTIFIER ? '=' : ':'),
|
|
54
|
+
trim($arg)
|
|
55
|
+
);
|
|
56
|
+
$this->args[substr(trim($arg[0]), 1)] = (count($arg) == 2 ? trim($arg[1]) : null);
|
|
57
|
+
} // foreach
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Parse this node.
|
|
63
|
+
* Add this mixin to the current context.
|
|
64
|
+
* @param SassContext the context in which this node is parsed
|
|
65
|
+
* @return array the parsed node - an empty array
|
|
66
|
+
*/
|
|
67
|
+
public function parse($context) {
|
|
68
|
+
$context->addMixin($this->name, $this);
|
|
69
|
+
return array();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Returns the arguments with default values for this mixin
|
|
74
|
+
* @return array the arguments with default values for this mixin
|
|
75
|
+
*/
|
|
76
|
+
public function getArgs() {
|
|
77
|
+
return $this->args;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Returns a value indicating if the token represents this type of node.
|
|
82
|
+
* @param object token
|
|
83
|
+
* @return boolean true if the token represents this type of node, false if not
|
|
84
|
+
*/
|
|
85
|
+
public static function isa($token) {
|
|
86
|
+
return $token->source[0] === self::NODE_IDENTIFIER;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/* SVN FILE: $Id: SassMixinNode.php 118 2010-09-21 09:45:11Z chris.l.yates@gmail.com $ */
|
|
3
|
+
/**
|
|
4
|
+
* SassMixinNode 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
|
+
* SassMixinNode class.
|
|
14
|
+
* Represents a Mixin.
|
|
15
|
+
* @package PHamlP
|
|
16
|
+
* @subpackage Sass.tree
|
|
17
|
+
*/
|
|
18
|
+
class SassMixinNode extends SassNode {
|
|
19
|
+
const NODE_IDENTIFIER = '+';
|
|
20
|
+
const MATCH = '/^(\+|@include\s+)([-\w]+)\s*(?:\((.*?)\))?$/i';
|
|
21
|
+
const IDENTIFIER = 1;
|
|
22
|
+
const NAME = 2;
|
|
23
|
+
const ARGS = 3;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @var string name of the mixin
|
|
27
|
+
*/
|
|
28
|
+
private $name;
|
|
29
|
+
/**
|
|
30
|
+
* @var array arguments for the mixin
|
|
31
|
+
*/
|
|
32
|
+
private $args = array();
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* SassMixinDefinitionNode constructor.
|
|
36
|
+
* @param object source token
|
|
37
|
+
* @return SassMixinNode
|
|
38
|
+
*/
|
|
39
|
+
public function __construct($token) {
|
|
40
|
+
parent::__construct($token);
|
|
41
|
+
preg_match(self::MATCH, $token->source, $matches);
|
|
42
|
+
$this->name = $matches[self::NAME];
|
|
43
|
+
if (isset($matches[self::ARGS])) {
|
|
44
|
+
$this->args = SassScriptFunction::extractArgs($matches[self::ARGS]);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Parse this node.
|
|
50
|
+
* Set passed arguments and any optional arguments not passed to their
|
|
51
|
+
* defaults, then render the children of the mixin definition.
|
|
52
|
+
* @param SassContext the context in which this node is parsed
|
|
53
|
+
* @return array the parsed node
|
|
54
|
+
*/
|
|
55
|
+
public function parse($context) {
|
|
56
|
+
$mixin = $context->getMixin($this->name);
|
|
57
|
+
|
|
58
|
+
$context = new SassContext($context);
|
|
59
|
+
$argc = count($this->args);
|
|
60
|
+
$count = 0;
|
|
61
|
+
foreach ($mixin->args as $name=>$value) {
|
|
62
|
+
if ($count < $argc) {
|
|
63
|
+
$context->setVariable($name, $this->evaluate($this->args[$count++], $context));
|
|
64
|
+
}
|
|
65
|
+
elseif (!is_null($value)) {
|
|
66
|
+
$context->setVariable($name, $this->evaluate($value, $context));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
throw new SassMixinNodeException("Mixin::{mname}: Required variable ({vname}) not given.\nMixin defined: {dfile}::{dline}\nMixin used", array('{vname}'=>$name, '{mname}'=>$this->name, '{dfile}'=>$mixin->token->filename, '{dline}'=>$mixin->token->line), $this);
|
|
70
|
+
}
|
|
71
|
+
} // foreach
|
|
72
|
+
|
|
73
|
+
$children = array();
|
|
74
|
+
foreach ($mixin->children as $child) {
|
|
75
|
+
$child->parent = $this;
|
|
76
|
+
$children = array_merge($children, $child->parse($context));
|
|
77
|
+
} // foreach
|
|
78
|
+
|
|
79
|
+
$context->merge();
|
|
80
|
+
return $children;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Returns a value indicating if the token represents this type of node.
|
|
85
|
+
* @param object token
|
|
86
|
+
* @return boolean true if the token represents this type of node, false if not
|
|
87
|
+
*/
|
|
88
|
+
public static function isa($token) {
|
|
89
|
+
return $token->source[0] === self::NODE_IDENTIFIER;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/* SVN FILE: $Id: SassNode.php 118 2010-09-21 09:45:11Z chris.l.yates@gmail.com $ */
|
|
3
|
+
/**
|
|
4
|
+
* SassNode 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
|
+
require_once('SassContext.php');
|
|
13
|
+
require_once('SassCommentNode.php');
|
|
14
|
+
require_once('SassDebugNode.php');
|
|
15
|
+
require_once('SassDirectiveNode.php');
|
|
16
|
+
require_once('SassImportNode.php');
|
|
17
|
+
require_once('SassMixinNode.php');
|
|
18
|
+
require_once('SassMixinDefinitionNode.php');
|
|
19
|
+
require_once('SassPropertyNode.php');
|
|
20
|
+
require_once('SassRootNode.php');
|
|
21
|
+
require_once('SassRuleNode.php');
|
|
22
|
+
require_once('SassVariableNode.php');
|
|
23
|
+
require_once('SassExtendNode.php');
|
|
24
|
+
require_once('SassForNode.php');
|
|
25
|
+
require_once('SassIfNode.php');
|
|
26
|
+
require_once('SassElseNode.php');
|
|
27
|
+
require_once('SassWhileNode.php');
|
|
28
|
+
require_once('SassNodeExceptions.php');
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* SassNode class.
|
|
32
|
+
* Base class for all Sass nodes.
|
|
33
|
+
* @package PHamlP
|
|
34
|
+
* @subpackage Sass.tree
|
|
35
|
+
*/
|
|
36
|
+
class SassNode {
|
|
37
|
+
/**
|
|
38
|
+
* @var SassNode parent of this node
|
|
39
|
+
*/
|
|
40
|
+
protected $parent;
|
|
41
|
+
/**
|
|
42
|
+
* @var SassNode root node
|
|
43
|
+
*/
|
|
44
|
+
protected $root;
|
|
45
|
+
/**
|
|
46
|
+
* @var array children of this node
|
|
47
|
+
*/
|
|
48
|
+
protected $children = array();
|
|
49
|
+
/**
|
|
50
|
+
* @var object source token
|
|
51
|
+
*/
|
|
52
|
+
protected $token;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Constructor.
|
|
56
|
+
* @param object source token
|
|
57
|
+
* @return SassNode
|
|
58
|
+
*/
|
|
59
|
+
public function __construct($token) {
|
|
60
|
+
$this->token = $token;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Getter.
|
|
65
|
+
* @param string name of property to get
|
|
66
|
+
* @return mixed return value of getter function
|
|
67
|
+
*/
|
|
68
|
+
public function __get($name) {
|
|
69
|
+
$getter = 'get' . ucfirst($name);
|
|
70
|
+
if (method_exists($this, $getter)) {
|
|
71
|
+
return $this->$getter();
|
|
72
|
+
}
|
|
73
|
+
throw new SassNodeException('No getter function for {what}', array('{what}'=>$name), $this);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Setter.
|
|
78
|
+
* @param string name of property to set
|
|
79
|
+
* @return mixed value of property
|
|
80
|
+
* @return SassNode this node
|
|
81
|
+
*/
|
|
82
|
+
public function __set($name, $value) {
|
|
83
|
+
$setter = 'set' . ucfirst($name);
|
|
84
|
+
if (method_exists($this, $setter)) {
|
|
85
|
+
$this->$setter($value);
|
|
86
|
+
return $this;
|
|
87
|
+
}
|
|
88
|
+
throw new SassNodeException('No setter function for {what}', array('{what}'=>$name), $this);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Resets children when cloned
|
|
93
|
+
* @see parse
|
|
94
|
+
*/
|
|
95
|
+
public function __clone() {
|
|
96
|
+
$this->children = array();
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Return a value indicating if this node has a parent
|
|
101
|
+
* @return array the node's parent
|
|
102
|
+
*/
|
|
103
|
+
public function hasParent() {
|
|
104
|
+
return !empty($this->parent);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Returns the node's parent
|
|
109
|
+
* @return array the node's parent
|
|
110
|
+
*/
|
|
111
|
+
public function getParent() {
|
|
112
|
+
return $this->parent;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Adds a child to this node.
|
|
117
|
+
* @return SassNode the child to add
|
|
118
|
+
*/
|
|
119
|
+
public function addChild($child) {
|
|
120
|
+
if ($child instanceof SassElseNode) {
|
|
121
|
+
if (!$this->lastChild instanceof SassIfNode) {
|
|
122
|
+
throw new SassException('@else(if) directive must come after @(else)if', array(), $child);
|
|
123
|
+
}
|
|
124
|
+
$this->lastChild->addElse($child);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
$this->children[] = $child;
|
|
128
|
+
$child->parent = $this;
|
|
129
|
+
$child->root = $this->root;
|
|
130
|
+
}
|
|
131
|
+
// The child will have children if a debug node has been added
|
|
132
|
+
foreach ($child->children as $grandchild) {
|
|
133
|
+
$grandchild->root = $this->root;
|
|
134
|
+
}
|
|
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 a value indicating if this node is a child of the passed node.
|
|
155
|
+
* This just checks the levels of the nodes. If this node is at a greater
|
|
156
|
+
* level than the passed node if is a child of it.
|
|
157
|
+
* @return boolean true if the node is a child of the passed node, false if not
|
|
158
|
+
*/
|
|
159
|
+
public function isChildOf($node) {
|
|
160
|
+
return $this->level > $node->level;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Returns the last child node of this node.
|
|
165
|
+
* @return SassNode the last child node of this node
|
|
166
|
+
*/
|
|
167
|
+
public function getLastChild() {
|
|
168
|
+
return $this->children[count($this->children) - 1];
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Returns the level of this node.
|
|
173
|
+
* @return integer the level of this node
|
|
174
|
+
*/
|
|
175
|
+
private function getLevel() {
|
|
176
|
+
return $this->token->level;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Returns the source for this node
|
|
181
|
+
* @return string the source for this node
|
|
182
|
+
*/
|
|
183
|
+
private function getSource() {
|
|
184
|
+
return $this->token->source;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Returns the debug_info option setting for this node
|
|
189
|
+
* @return boolean the debug_info option setting for this node
|
|
190
|
+
*/
|
|
191
|
+
private function getDebug_info() {
|
|
192
|
+
return $this->parser->debug_info;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Returns the line number for this node
|
|
197
|
+
* @return string the line number for this node
|
|
198
|
+
*/
|
|
199
|
+
private function getLine() {
|
|
200
|
+
return $this->token->line;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Returns the line_numbers option setting for this node
|
|
205
|
+
* @return boolean the line_numbers option setting for this node
|
|
206
|
+
*/
|
|
207
|
+
private function getLine_numbers() {
|
|
208
|
+
return $this->parser->line_numbers;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Returns vendor specific properties
|
|
213
|
+
* @return array vendor specific properties
|
|
214
|
+
*/
|
|
215
|
+
private function getVendor_properties() {
|
|
216
|
+
return $this->parser->vendor_properties;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Returns the filename for this node
|
|
221
|
+
* @return string the filename for this node
|
|
222
|
+
*/
|
|
223
|
+
private function getFilename() {
|
|
224
|
+
return $this->token->filename;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Returns the Sass parser.
|
|
229
|
+
* @return SassParser the Sass parser
|
|
230
|
+
*/
|
|
231
|
+
public function getParser() {
|
|
232
|
+
return $this->root->parser;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* Returns the property syntax being used.
|
|
237
|
+
* @return string the property syntax being used
|
|
238
|
+
*/
|
|
239
|
+
public function getPropertySyntax() {
|
|
240
|
+
return $this->root->parser->propertySyntax;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Returns the SassScript parser.
|
|
245
|
+
* @return SassScriptParser the SassScript parser
|
|
246
|
+
*/
|
|
247
|
+
public function getScript() {
|
|
248
|
+
return $this->root->script;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Returns the renderer.
|
|
253
|
+
* @return SassRenderer the renderer
|
|
254
|
+
*/
|
|
255
|
+
public function getRenderer() {
|
|
256
|
+
return $this->root->renderer;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Returns the render style of the document tree.
|
|
261
|
+
* @return string the render style of the document tree
|
|
262
|
+
*/
|
|
263
|
+
public function getStyle() {
|
|
264
|
+
return $this->root->parser->style;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Returns a value indicating whether this node is in a directive
|
|
269
|
+
* @param boolean true if the node is in a directive, false if not
|
|
270
|
+
*/
|
|
271
|
+
public function inDirective() {
|
|
272
|
+
return $this->parent instanceof SassDirectiveNode ||
|
|
273
|
+
$this->parent instanceof SassDirectiveNode;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Returns a value indicating whether this node is in a SassScript directive
|
|
278
|
+
* @param boolean true if this node is in a SassScript directive, false if not
|
|
279
|
+
*/
|
|
280
|
+
public function inSassScriptDirective() {
|
|
281
|
+
return $this->parent instanceof SassForNode ||
|
|
282
|
+
$this->parent->parent instanceof SassForNode ||
|
|
283
|
+
$this->parent instanceof SassIfNode ||
|
|
284
|
+
$this->parent->parent instanceof SassIfNode ||
|
|
285
|
+
$this->parent instanceof SassWhileNode ||
|
|
286
|
+
$this->parent->parent instanceof SassWhileNode;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Evaluates a SassScript expression.
|
|
291
|
+
* @param string expression to evaluate
|
|
292
|
+
* @param SassContext the context in which the expression is evaluated
|
|
293
|
+
* @return SassLiteral value of parsed expression
|
|
294
|
+
*/
|
|
295
|
+
protected function evaluate($expression, $context, $x=null) {
|
|
296
|
+
$context->node = $this;
|
|
297
|
+
return $this->script->evaluate($expression, $context, $x);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Replace interpolated SassScript contained in '#{}' with the parsed value.
|
|
302
|
+
* @param string the text to interpolate
|
|
303
|
+
* @param SassContext the context in which the string is interpolated
|
|
304
|
+
* @return string the interpolated text
|
|
305
|
+
*/
|
|
306
|
+
protected function interpolate($expression, $context) {
|
|
307
|
+
$context->node = $this;
|
|
308
|
+
return $this->script->interpolate($expression, $context);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Adds a warning to the node.
|
|
313
|
+
* @param string warning message
|
|
314
|
+
* @param array line
|
|
315
|
+
*/
|
|
316
|
+
public function addWarning($message, $params=array()) {
|
|
317
|
+
$warning = new SassDebugNode($this->token, $message, $params);
|
|
318
|
+
$this->addChild($warning);
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* Parse the children of the node.
|
|
323
|
+
* @param SassContext the context in which the children are parsed
|
|
324
|
+
* @return array the parsed child nodes
|
|
325
|
+
*/
|
|
326
|
+
protected function parseChildren($context) {
|
|
327
|
+
$children = array();
|
|
328
|
+
foreach ($this->children as $child) {
|
|
329
|
+
$children = array_merge($children, $child->parse($context));
|
|
330
|
+
} // foreach
|
|
331
|
+
return $children;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* Returns a value indicating if the token represents this type of node.
|
|
336
|
+
* @param object token
|
|
337
|
+
* @return boolean true if the token represents this type of node, false if not
|
|
338
|
+
*/
|
|
339
|
+
public static function isa($token) {
|
|
340
|
+
throw new SassNodeException('Child classes must override this method');
|
|
341
|
+
}
|
|
342
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/* SVN FILE: $Id: SassNodeExceptions.php 61 2010-04-16 10:19:59Z chris.l.yates $ */
|
|
3
|
+
/**
|
|
4
|
+
* SassNode 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 Sass.tree
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
require_once(dirname(__FILE__).'/../SassException.php');
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* SassNodeException class.
|
|
16
|
+
* @package PHamlP
|
|
17
|
+
* @subpackage Sass.tree
|
|
18
|
+
*/
|
|
19
|
+
class SassNodeException extends SassException {}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* SassContextException class.
|
|
23
|
+
* @package PHamlP
|
|
24
|
+
* @subpackage Sass.tree
|
|
25
|
+
*/
|
|
26
|
+
class SassContextException extends SassNodeException {}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* SassCommentNodeException class.
|
|
30
|
+
* @package PHamlP
|
|
31
|
+
* @subpackage Sass.tree
|
|
32
|
+
*/
|
|
33
|
+
class SassCommentNodeException extends SassNodeException {}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* SassDebugNodeException class.
|
|
37
|
+
* @package PHamlP
|
|
38
|
+
* @subpackage Sass.tree
|
|
39
|
+
*/
|
|
40
|
+
class SassDebugNodeException extends SassNodeException {}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* SassDirectiveNodeException class.
|
|
44
|
+
* @package PHamlP
|
|
45
|
+
* @subpackage Sass.tree
|
|
46
|
+
*/
|
|
47
|
+
class SassDirectiveNodeException extends SassNodeException {}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* SassExtendNodeException class.
|
|
51
|
+
* @package PHamlP
|
|
52
|
+
* @subpackage Sass.tree
|
|
53
|
+
*/
|
|
54
|
+
class SassExtendNodeException extends SassNodeException {}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* SassForNodeException class.
|
|
58
|
+
* @package PHamlP
|
|
59
|
+
* @subpackage Sass.tree
|
|
60
|
+
*/
|
|
61
|
+
class SassForNodeException extends SassNodeException {}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* SassIfNodeException class.
|
|
65
|
+
* @package PHamlP
|
|
66
|
+
* @subpackage Sass.tree
|
|
67
|
+
*/
|
|
68
|
+
class SassIfNodeException extends SassNodeException {}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* SassImportNodeException class.
|
|
72
|
+
* @package PHamlP
|
|
73
|
+
* @subpackage Sass.tree
|
|
74
|
+
*/
|
|
75
|
+
class SassImportNodeException extends SassNodeException {}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* SassMixinDefinitionNodeException class.
|
|
79
|
+
* @package PHamlP
|
|
80
|
+
* @subpackage Sass.tree
|
|
81
|
+
*/
|
|
82
|
+
class SassMixinDefinitionNodeException extends SassNodeException {}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* SassMixinNodeException class.
|
|
86
|
+
* @package PHamlP
|
|
87
|
+
* @subpackage Sass.tree
|
|
88
|
+
*/
|
|
89
|
+
class SassMixinNodeException extends SassNodeException {}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* SassPropertyNodeException class.
|
|
93
|
+
* @package PHamlP
|
|
94
|
+
* @subpackage Sass.tree
|
|
95
|
+
*/
|
|
96
|
+
class SassPropertyNodeException extends SassNodeException {}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* SassRuleNodeException class.
|
|
100
|
+
* @package PHamlP
|
|
101
|
+
* @subpackage Sass.tree
|
|
102
|
+
*/
|
|
103
|
+
class SassRuleNodeException extends SassNodeException {}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* SassVariableNodeException class.
|
|
107
|
+
* @package PHamlP
|
|
108
|
+
* @subpackage Sass.tree
|
|
109
|
+
*/
|
|
110
|
+
class SassVariableNodeException extends SassNodeException {}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* SassWhileNodeException class.
|
|
114
|
+
* @package PHamlP
|
|
115
|
+
* @subpackage Sass.tree
|
|
116
|
+
*/
|
|
117
|
+
class SassWhileNodeException extends SassNodeException {}
|