par*_*zan 3 ruby build.xml jruby compass-sass
有谁知道如何使用JRuby和Compass模块在build.xml中编译SASS(*.scss)文件?
我可以使用sass独立安装中的Sass :: Exec模块以下列方式从*.scss编译为*.css:
<!-- Compile SCSS files copied to target folder -->
<property name="stylesheetFolder" location="myproject/stylesheet"/>
<property name="inputFiles" value="${stylesheetFolder}/[^_]*.scss" />
<echo message="Compiling SCSS files from ${stylesheetFolder}..." />
<script language="ruby" classpath="${env.EP_LIB}/jruby/complete/${jruby-complete.build.jar}">
<![CDATA[
require $project.getProperty('env.EP_LIB') + '/sass/sass-3.2.9/lib/sass'
require 'sass/exec'
files = Dir.glob($project.getProperty('inputFiles'))
files.each do |file|
opts = Sass::Exec::Sass.new(["--style", "compressed", "--load-path", File.dirname(file), file, File.join(File.dirname(file), File.basename(file, ".*") + ".css")])
opts.parse
end
]]>
</script>
<echo message="Done compiling SCSS source files." />
Run Code Online (Sandbox Code Playgroud)
但是,这并没有给我Compass框架的强大功能.我下载了指南针宝石作为一个独立的,我想使用其中一个Compass Ruby模块用以下内容替换Ant build.xml中的上述代码:
<script language="ruby" classpath="${env.EP_LIB}/jruby/complete/${jruby-complete.build.jar}">
<![CDATA[
require $project.getProperty('env.EP_LIB') + '/compass/compass-0.12.2/lib/compass'
require 'compass/exec'
files = Dir.glob($project.getProperty('inputFiles'))
files.each do |file|
opts = Compass::Exec::Compass.new(["--style", "compressed", "--load-path", File.dirname(file), file, File.join(File.dirname(file), File.basename(file, ".*") + ".css")])
opts.parse
end
]]>
</script>
Run Code Online (Sandbox Code Playgroud)
有人做过这个吗?
好的,我终于完成了很多努力,并使用了过时的文档.这是有用的还是我们:
jruby-complete-1.7.4.jar(我的工作版)(来自http://jruby.org/files/downloads/1.7.4/)C:\jruby\complete>java -jar jruby-complete-1.7.4.jar -S gem install -i ./compass compassC:\jruby\complete>jar uf jruby-complete-1.7.4.jar -C compass . C:\jruby\complete>java -jar jruby-complete-1.7.4.jar -S gem listjruby-complete-1.7.4.jar将被修改.现在它应该包含捆绑的宝石(包括指南针).这适用于您要在Compass项目中捆绑和使用的其他gem.Dir.entries(ARGV[0]).each do |lib|
$LOAD_PATH.unshift "#{ARGV[0]}/#{lib}/lib"
end
require 'rubygems'
require 'compass'
require 'compass/exec'
command_line_class = Compass::Exec::SubCommandUI.new([ARGV[1], ARGV[2], "-q"]).run!
Run Code Online (Sandbox Code Playgroud)
http_path = "/"
css_dir = "."
sass_dir = "."
images_dir = "../images"
javascripts_dir = "../js"
output_style = :compressed
line_comments = false
Run Code Online (Sandbox Code Playgroud)
<path id="jruby.classpath">
<fileset dir="${env.LIB}/jruby/complete">
<include name="${jruby-complete.build.jar}"></include>
</fileset>
</path>
<java fork="true" failonerror="true" classpathref="jruby.classpath" classname="org.jruby.Main">
<arg line="${stylesheetFolder}/compass/compile.rb ${rubyCompleteFolder}/compass/gems compile ${stylesheetFolder}"></arg>
</java>
Run Code Online (Sandbox Code Playgroud)
以下是帮助我完成Compass和Ant集成的支持文档:
我希望这有助于节省你很多时间:)
| 归档时间: |
|
| 查看次数: |
2619 次 |
| 最近记录: |