Clojure wrapper for Less4j Java implementation of Less compiler. This repository also contains Boot and Leiningen tasks.
For parallel Sass library check sass4clj
ATTENTION: less4j is not maintained and only targets Less ~1.3-1.4. Consider using Less.js if you do not need to read LESS files from the Java classpath.
- Load imports directly from Java classpath (e.g. Webjars)
- Add dependency
[org.webjars.bower/bootstrap "3.3.6"]to use Bootstrap
- Add dependency
- Provides the
lesstask (deraen.boot-less/less) - Select main files using
inputsoption - or, for each
.main.lessfile in the fileset creates equivalent.cssfile. - Check
boot less --helpfor task options.
- Provides the
less4cljtask - Select main files using
inputsoption - or, for each
.main.lessfile in source-dirs creates equivalent.cssfile. - Check
lein help less4cljfor options.
Test in the repository:
clj -m less4clj.main --source-paths test-resources
Check clj -m less4clj.main --help for options.
Loading order for @import "{name}"; on file at {path}
- Local file at
{path}/{name}.less - Classpath resource
(io/resource "{name}.less") - Classpath resource
(io/resource "{path}/{name}.less") - Webjar asset
- Resource
META-INF/resources/webjars/{package}/{version}/{path}can be referred using{package}/{path} - For example
@import "bootstrap/less/bootstrap.less";will importMETA-INF/resources/webjars/bootstrap/3.3.6/less/bootstrap.less
- Resource
Check the example from sass4clj, it should work with less4clj also.
Semantic-UI needs theme.config
file in your project. Add this file to your classpath under path META-INF/resources/webjars/semantic-ui/2.2.10/src/theme.config, e.g under resources/ folder.
If you don't have any slf4j implementations, you will see a warning:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
To disable this, add a no operation logger to your project. As this is only required
on the build phase, you can use :scope "test" so that the dependency is not
transitive and is not included in Uberjar. Alternatively, you can add this
dependency to your Leiningen dev profile.
[org.slf4j/slf4j-nop "1.7.13" :scope "test"]
Copyright © 2014-2021 Juho Teperi
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.