diff --git a/src/main/java/com/commafeed/frontend/pages/BasePage.java b/src/main/java/com/commafeed/frontend/pages/BasePage.java index 3c75208e..d7bcb61a 100644 --- a/src/main/java/com/commafeed/frontend/pages/BasePage.java +++ b/src/main/java/com/commafeed/frontend/pages/BasePage.java @@ -80,13 +80,14 @@ public abstract class BasePage extends WebPage { } else { response.render(JavaScriptHeaderItem.forUrl("wro/lib.js")); response.render(CssHeaderItem.forUrl("wro/lib.css")); + response.render(CssHeaderItem.forUrl("wro/app.css")); response.render(JavaScriptHeaderItem.forUrl("js/welcome.js")); response.render(JavaScriptHeaderItem.forUrl("js/main.js")); response.render(JavaScriptHeaderItem.forUrl("js/controllers.js")); response.render(JavaScriptHeaderItem.forUrl("js/directives.js")); response.render(JavaScriptHeaderItem.forUrl("js/services.js")); - response.render(CssHeaderItem.forUrl("css/app.css")); + } if (StringUtils.isNotBlank(settings.getGoogleAnalyticsTrackingCode())) { diff --git a/src/main/java/com/commafeed/frontend/resources/SassOnlyProcessor.java b/src/main/java/com/commafeed/frontend/resources/SassOnlyProcessor.java new file mode 100644 index 00000000..f4a6cffe --- /dev/null +++ b/src/main/java/com/commafeed/frontend/resources/SassOnlyProcessor.java @@ -0,0 +1,28 @@ +package com.commafeed.frontend.resources; + +import java.io.IOException; +import java.io.Reader; +import java.io.Writer; + +import org.apache.commons.io.IOUtils; + +import ro.isdc.wro.extensions.processor.css.RubySassCssProcessor; +import ro.isdc.wro.model.resource.Resource; +import ro.isdc.wro.model.resource.ResourceType; +import ro.isdc.wro.model.resource.SupportedResourceType; + +@SupportedResourceType(ResourceType.CSS) +public class SassOnlyProcessor extends RubySassCssProcessor { + + @Override + public void process(Resource resource, Reader reader, Writer writer) + throws IOException { + if (resource.getUri().endsWith(".sass") + || resource.getUri().endsWith(".scss")) { + super.process(resource, reader, writer); + } else { + writer.write(IOUtils.toString(reader)); + } + } + +} diff --git a/src/main/java/com/commafeed/frontend/resources/WroListener.java b/src/main/java/com/commafeed/frontend/resources/WroListener.java index 0fb86a82..a5ef0834 100644 --- a/src/main/java/com/commafeed/frontend/resources/WroListener.java +++ b/src/main/java/com/commafeed/frontend/resources/WroListener.java @@ -14,7 +14,8 @@ public class WroListener extends WroServletContextListener { boolean prod = Boolean.valueOf(ResourceBundle.getBundle("application") .getString("production")); - conf.setDisableCache(prod); + conf.setResourceWatcherUpdatePeriod(prod ? 0 : 1); + conf.setDisableCache(!prod); conf.setDebug(!prod); return conf; } diff --git a/src/main/java/com/commafeed/frontend/resources/WroManagerFactory.java b/src/main/java/com/commafeed/frontend/resources/WroManagerFactory.java new file mode 100644 index 00000000..56a4739b --- /dev/null +++ b/src/main/java/com/commafeed/frontend/resources/WroManagerFactory.java @@ -0,0 +1,15 @@ +package com.commafeed.frontend.resources; + +import java.util.Map; + +import ro.isdc.wro.manager.factory.ConfigurableWroManagerFactory; +import ro.isdc.wro.model.resource.processor.ResourcePreProcessor; + +public class WroManagerFactory extends ConfigurableWroManagerFactory { + + @Override + protected void contributePreProcessors(Map map) { + map.put("sassOnlyProcessor", new SassOnlyProcessor()); + } + +} diff --git a/src/main/webapp/WEB-INF/wro.properties b/src/main/webapp/WEB-INF/wro.properties index d787cc09..e61f0538 100644 --- a/src/main/webapp/WEB-INF/wro.properties +++ b/src/main/webapp/WEB-INF/wro.properties @@ -1,15 +1,16 @@ -cacheUpdatePeriod=10 +cacheUpdatePeriod=0 modelUpdatePeriod=0 +resourceWatcherUpdatePeriod=1 debug=true disableCache=false ignoreMissingResources=false jmxEnabled=false -managerFactoryClassName=ro.isdc.wro.manager.factory.ConfigurableWroManagerFactory +managerFactoryClassName=com.commafeed.frontend.resources.WroManagerFactory #List of preProcessors -preProcessors=cssUrlRewriting,semicolonAppender,googleClosureSimple,cssMin +preProcessors=cssUrlRewriting,semicolonAppender,googleClosureSimple,sassOnlyProcessor,cssMin #List of postProcessors postProcessors=