SASS mise en œuvre pour Java? [fermé]

je cherche une implémentation Sass en Java (pourrait être utilisée avec JSP/JSF). Pour Python j'ai trouvé CleverCSS, mais il n'y a rien pour Java. Quelqu'un a entendu parler de ce genre d'outil pour générer des CSS?

72
demandé sur Joep 2009-11-17 23:18:26

12 réponses

avec ANT:

  1. Télécharger JRuby complète fichier jar ( JRuby Complète jar page de téléchargement de )
  2. télécharger le dernier code HAML/SASS ( HAML/Sass tarball ), et l'extraire. Mettez - le dans"/libs / sass-[VERSION] "
  3. Ajouter ce qui suit à un fichier ant.
  4. remplacer [VERSION] dans le script vers les versions correspondantes de JRuby et SASS
  5. lancez le script ant, et les fichiers sass ou scss seront compilés!

<path id="JRuby">
    <fileset file="libs/jruby-complete-[VERSION].jar"/> <!-- Location of JRuby jar file -->
</path>  

<target name="compileSCSS">
    <echo message="Compiling scss files..." />
    <property name="filesIn" value="${dir.css}/scss/**/[^_]*.scss" />
    <property name="fileOutDir" value="/${dir.css}/${dir.css.build}" />
    <script language="ruby" classpathref="JRuby">
        <![CDATA[
            require 'libs/sass-[VERSION]/lib/sass'
            require 'sass/exec'

            files = Dir.glob($project.getProperty('filesIn'))
            Dir.mkdir($project.getProperty('fileOutDir')) unless File.exists?($project.getProperty('fileOutDir'))
            files.each do 
                | file |
                puts "     [sass compiler] " + file + " -> " + $project.getProperty('fileOutDir') + "/" + File.basename(file, ".*") + ".css"
                opts = Sass::Exec::Sass.new(["--load-path", File.dirname(file), file, File.join($project.getProperty('fileOutDir'), File.basename(file, ".*") + ".css")])
                opts.parse
            end
        ]]>
    </script>
    <echo message="Done compiling scss files!" />
</target>

avec MAVEN:

Maven peut aussi faire ceci: En utilisant le plugin antrun:

<project>
<build>
<plugins>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.6</version>
    <executions>
        <execution>
            <id>compileAndMinify</id>
            <phase>compile</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <target>
                    <mkdir dir="${project.build.directory}/compiled" />

                    <echo message="Compiling scss files..."/>
                    <path id="JRuby">
                        <fileset file="${basedir}/jars/jruby-complete-[VERSION].jar"/>
                    </path>
                    <property name="filesIn" value="${project.build.directory}/css/**/[^_]*.scss" />
                    <property name="fileOutDir" value="${project.build.directory}/compiled/css" />
                    <script language="ruby" classpathref="JRuby">
                        <![CDATA[
                            require 'libs/sass-[VERSION]/lib/sass'
                            require 'sass/exec'

                            files = Dir.glob($project.getProperty('filesIn'))
                            Dir.mkdir($project.getProperty('fileOutDir')) unless File.exists?($project.getProperty('fileOutDir'))
                            files.each do 
                                | file |
                                puts "     [sass compiler] " + file + " -> " + $project.getProperty('fileOutDir') + "/" + File.basename(file, ".*") + ".css"
                                opts = Sass::Exec::Sass.new(["--load-path", File.dirname(file), file, File.join($project.getProperty('fileOutDir'), File.basename(file, ".*") + ".css")])
                                opts.parse
                            end
                        ]]>
                    </script>
                </target>
            </configuration>
        </execution>
    </executions>
</plugin>
</plugins>
</build>
</project>  
48
répondu Joep 2014-07-16 11:32:30

ZUSS est une bonne alternative à MOINS et SASS. Il est similaire à MOINS. Contrairement à LESS et SASS, le traitement des fichiers ZUSS ne nécessite pas l'interpréteur JavaScript.

clause de non-responsabilité: je suis le développeur de ZUSS. Je l'ai développé simplement parce que je ne peux pas trouver une solution soignée pour Java.

18
répondu Tom Yeh 2011-11-11 10:51:43

Il y a un projet: http://code.google.com/p/jsass/ (mais c'est à un stade très précoce).

si vous êtes intéressé par moins, il y a une version Java prête à l'emploi pour cela: http://www.asual.com/lesscss/

14
répondu Gilberto Olimpio 2010-04-15 03:10:49

vous pouvez également jeter un oeil à Web Resource Optimizer 4 J qui permet beaucoup de choses (minification, fusion de ressources) et soutient moins de CSS (à l'exécution autant que je sache).

cela signifie: vous ajoutez wro4j filter à votre web.xml et quand vous demandez un CSS, votre .scss (ou .les fichiers saas) sont compilés selon la norme CSS.

je n'ai pas encore utilisé, mais il semble plus avancé que d'autres produits énumérés ici.


en fait, je lisais des commentaires sur le site Less for Java ( http://www.asual.com/lesscss / ) et WRO4J utilise cette bibliothèque pour fournir la compilation"on the fly Less". Donc je pense que moins pour Java est la voie à suivre.

9
répondu legzo 2010-07-16 09:27:39

saviez-vous que le cadre Web Vaadin est livré avec son propre compilateur Sass intégré? Voir https://vaadin.com/blog/-/blogs/state-of-sass-support-in-vaadin-7-today ...

7
répondu vorburger 2012-11-14 20:07:52

personnellement, je trouve la syntaxe SASS profondément, horriblement ennuyeuse. Pour la foule de Ruby / Python il peut venir comme seconde nature; pour moi comme Java guy-pas tellement. I fortement prefer LESS qui construit sur la syntaxe CSS au lieu de venir avec un nouveau. Cela a un bel avantage ajouté d'être en mesure d'utiliser vos fichiers CSS existants "tels quels" et d'incorporer moins de fonctionnalités au besoin.

cela dit, ni l'AUDACE, ni MOINS, java ports pour autant que je sais. Les deux sont ruby-basé, cependant, de sorte que vous pouvez les installer sous JRuby . Le seul problème avec cette approche est que JRuby est incroyablement lent à démarrer. Ce n'est pas un gros problème, cependant, parce que vous allez probablement utiliser la surveillance de fichiers dans le développement (et une fois qu'il fait le démarrage, il fonctionne très bien) et vous n'allez pas se soucier autant que votre construction prend quelques secondes de plus pendant le déploiement.

Il ya aussi certains PHP-basé implémentations comme LessPhp , xCSS et d'autres. Je ne les ai pas essayés personnellement.

5
répondu ChssPly76 2009-11-17 20:53:33

il semble qu'il y en ait un après tout (développé probablement un peu après que cette question ait été posée)

https://github.com/Jasig/sass-maven-plugin

4
répondu Eran Medan 2012-08-09 04:00:22

étant donné que SASS doit être converti en CSS pour être utilisable, qu'est-ce qui ne va pas avec l'utilisation de sass2css qui distribue avec Ruby sass?

3
répondu aussiegeek 2009-11-19 04:28:33

vous pouvez essayer ce filtre que je viens de mettre ensemble - https://github.com/darrinholst/sass-java

3
répondu Darrin Holst 2011-05-13 01:16:11

J'utilise Compass & Sass dans mon projet eclipse en utilisant Ant.

j'ai suivi ce tutoriel ici:

http://caueguerra.com/tutorial-using-sass-in-a-java-project

Compass étend Sass et permet mes autres extras.

http://compass-style.org /

1
répondu Eric H 2011-09-29 22:03:57

je sais que je suis en retard à la fête, mais c'est l'approche que j'ai adoptée pour utiliser SASS dans un projet Java avec une construction Ant: http://workingonthecoolstuff.blogspot.com/2011/02/using-sass-in-ant-build.html pour résumer, je fais la construction sur une machine avec Ruby et Sass installé donc il était aussi facile d'appeler la commande/application sass en utilisant la tâche Ant" apply " avec un jeu de fichiers qui inclut tous les fichiers SCSS/SASS.

1
répondu spaaarky21 2013-02-11 18:12:31

Sassc est une implémentation en ligne de commande en C, qui devrait être facile à ajouter au processus de construction. Sur les auteurs, je dirais qu'il devrait rester à jour avec sass:

Sass a été créé à l'origine par le co-créateur de cette bibliothèque, Hampton Catlin (@hcatlin). L'extension et l'évolution continue de la langue sont le résultat d'années de travail de Nathan Weizenbaum (@nex3) et Chris Eppstein (@chriseppstein).

0
répondu Sam Hasler 2012-08-21 11:50:17