private Configuration lessConf(final Config conf) { Configuration configuration = new Configuration(); configuration.setCompressing(get("compressing")); SourceMapConfiguration sourceMap = configuration.getSourceMapConfiguration(); Map<String, Object> map = get("sourceMap"); if (map == null) { sourceMap.setLinkSourceMap(false); } else { sourceMap.setEncodingCharset( map.getOrDefault("encodingCharset", conf.getAnyRef("application.charset")).toString()); sourceMap.setIncludeSourcesContent((Boolean) map.getOrDefault("includeSourcesContent", true)); sourceMap.setInline((Boolean) map.getOrDefault("inline", true)); sourceMap.setRelativizePaths((Boolean) map.getOrDefault("relativizePaths", true)); sourceMap.setLinkSourceMap((Boolean) map.getOrDefault("linkSourceMap", true)); } return configuration; }
private Configuration options(final boolean dev, final Config conf) { Configuration configuration = new Configuration(); boolean compressing = conf.hasPath("compressing") ? conf.getBoolean("compressing") : !dev; configuration.setCompressing(compressing); SourceMapConfiguration sourceMap = configuration.getSourceMapConfiguration(); sourceMap.setEncodingCharset(conf.getString("sourceMap.encodingCharset")); sourceMap.setIncludeSourcesContent(conf.getBoolean("sourceMap.includeSourcesContent")); sourceMap.setInline(conf.getBoolean("sourceMap.inline")); sourceMap.setRelativizePaths(conf.getBoolean("sourceMap.relativizePaths")); boolean linkSourceMap = conf.hasPath("sourceMap.linkSourceMap") ? conf.getBoolean("sourceMap.linkSourceMap") : dev; sourceMap.setLinkSourceMap(linkSourceMap); return configuration; }
/** * Compile the LESS code and get the included files from the skin templates. * @param lessCode code to compile * @param skin skin holding the templates * @param inlineSourceMap whether to create inline sourcemaps in the generated css * @return the results of the LESS compilation * @throws Less4jException if problems occur */ public String compile(String lessCode, String skin, boolean inlineSourceMap) throws Less4jException { LessCompiler lessCompiler = new DefaultLessCompiler(); LessCompiler.Configuration options = new LessCompiler.Configuration(); options.setCompressing(true); options.getSourceMapConfiguration().setInline(inlineSourceMap); options.getSourceMapConfiguration().setIncludeSourcesContent(true); LessSource lessSource = new CustomContentLESSSource(lessCode, templateManager, skinManager.getSkin(skin)); LessCompiler.CompilationResult lessResult = lessCompiler.compile(lessSource, options); return lessResult.getCss(); } }