使less-rails添加行号作为注释

时间:2015-02-02 14:28:33

标签: ruby-on-rails less asset-pipeline less-rails

有没有办法配置less-rails,以便将原始来源的行号显示为评论?是否可以启用源映射?

考虑以下示例:

file1.less

body {
  background-color: black;
}

file2.less

body {
  padding: 20px;
}

application.css.less

@import "file1";
@import "file1";

我得到了什么:

body {
  background-color: black;
}

body {
  padding: 20px;
}

我想要什么

/* file1.less line: 1 */
body {
  background-color: black;
}

/* file2.less line: 1 */
body {
  padding: 20px;
}

或者是否有其他更简单的方法可以找出哪个规则属于哪个文件?

更新

配置我的应用程序时,config.less仅包含以下内容:

{:paths=>
  [#<Pathname:/home/yan-foto/.../vendor/less>,
   #<Pathname:/home/yan-foto/.../node_modules/bootstrap-datetimepicker>,
   #<Pathname:/home/yan-foto/.../node_modules/bootstrap-slider>],
 :compress=>false}

1 个答案:

答案 0 :(得分:1)

打开vendor/bundle/ruby/1.9.1/gems/less-2.6.0/lib/less/parser.rb文件并替换(第54行):

  end
  @parser = Less::JavaScript.exec { Less['Parser'].new(env) }

使用:

  end
  env['dumpLineNumbers'] = 'comments';
  @parser = Less::JavaScript.exec { Less['Parser'].new(env) }

<击> 根据{{​​3}},你应该尝试:

MyProject::Application.configure do
  config.less.line-numbers << "comments"
  config.less.compress = true
end

如果前面的工作符合预期,您还可以考虑使用CSS源图:

MyProject::Application.configure do
  config.less.source-map = true
  config.less.source-map-map-inline = true
end
  

我真的找不到行config.less.line-numbers&lt;&lt; “评论”   文档

事实上,我的回答只是一个建议,我无法测试它。以上建议您可以为Less编译器设置一些选项。

您也可以通过运行lessc而无需任何参数来找到此选项:

-------------------------- Deprecated ----------------
  --line-numbers=TYPE      Outputs filename and line numbers.
                           TYPE can be either 'comments', which will output
                           the debug info within comments, 'mediaquery'
                           that will output the information within a fake
                           media query which is compatible with the SASS
                           format, and 'all' which will do both.
  --verbose                Be verbose.
  

我确信它有一个语法错误,因为行之间的破折号   和数字

我敢打赌你是对的。您应该可以使用:config.less.dumpLineNumbersconfig.less.sourceMap

或在config.less:dumpLineNumbers>comments