diff --git a/src/main/java/com/commafeed/frontend/resources/SassImportProcessor.java b/src/main/java/com/commafeed/frontend/resources/SassImportProcessor.java new file mode 100644 index 00000000..473c0c95 --- /dev/null +++ b/src/main/java/com/commafeed/frontend/resources/SassImportProcessor.java @@ -0,0 +1,27 @@ +package com.commafeed.frontend.resources; + +import java.io.IOException; +import java.util.List; + +import ro.isdc.wro.model.resource.Resource; +import ro.isdc.wro.model.resource.ResourceType; +import ro.isdc.wro.model.resource.SupportedResourceType; +import ro.isdc.wro.model.resource.processor.impl.css.CssImportPreProcessor; + +@SupportedResourceType(ResourceType.CSS) +public class SassImportProcessor extends CssImportPreProcessor { + + @Override + protected String doTransform(String cssContent, List foundImports) + throws IOException { + for (Resource resource : foundImports) { + String uri = resource.getUri(); + int lastSlash = uri.lastIndexOf('/'); + String prefix = uri.substring(0, lastSlash); + String suffix = uri.substring(lastSlash + 1); + uri = prefix + "/_" + suffix + ".scss"; + resource.setUri(uri); + } + return super.doTransform(cssContent, foundImports); + } +} diff --git a/src/main/java/com/commafeed/frontend/resources/WroManagerFactory.java b/src/main/java/com/commafeed/frontend/resources/WroManagerFactory.java index 56a4739b..30605f2a 100644 --- a/src/main/java/com/commafeed/frontend/resources/WroManagerFactory.java +++ b/src/main/java/com/commafeed/frontend/resources/WroManagerFactory.java @@ -10,6 +10,7 @@ public class WroManagerFactory extends ConfigurableWroManagerFactory { @Override protected void contributePreProcessors(Map map) { map.put("sassOnlyProcessor", new SassOnlyProcessor()); + map.put("sassImport", new SassImportProcessor()); } } diff --git a/src/main/webapp/WEB-INF/wro.properties b/src/main/webapp/WEB-INF/wro.properties index e61f0538..a6606977 100644 --- a/src/main/webapp/WEB-INF/wro.properties +++ b/src/main/webapp/WEB-INF/wro.properties @@ -10,7 +10,7 @@ jmxEnabled=false managerFactoryClassName=com.commafeed.frontend.resources.WroManagerFactory #List of preProcessors -preProcessors=cssUrlRewriting,semicolonAppender,googleClosureSimple,sassOnlyProcessor,cssMin +preProcessors=cssUrlRewriting,sassImport,semicolonAppender,googleClosureSimple,sassOnlyProcessor,cssMin #List of postProcessors postProcessors= diff --git a/src/main/webapp/WEB-INF/wro.xml b/src/main/webapp/WEB-INF/wro.xml index 21c702af..c893283b 100644 --- a/src/main/webapp/WEB-INF/wro.xml +++ b/src/main/webapp/WEB-INF/wro.xml @@ -23,7 +23,7 @@ - /css/*.css + /sass/app.scss /js/*.js