【问题标题】:Evaluate SCSS (SASS) templates in ruby (Rails project)在 ruby​​ 中评估 SCSS (SASS) 模板(Rails 项目)
【发布时间】:2012-01-31 22:46:54
【问题描述】:

我正在从事一种利用 SCSS 的 CMS 项目。我想让用户以简单的方式指定样式表的属性(启用一些颜色自定义),然后基于 SCSS 模板生成 CSS 文件,并使用 mustache 或 ERB 评估替换 SCSS 文件中的一些变量。

基本上,我希望将 ERB 文件呈现为 scss 文件,然后在我的应用程序中生成一个 css,将其上传到 S3,并包含在用户的布局中。 如果可能的话,我想避免使用 css.erb 文件:-)

【问题讨论】:

  • 为什么不直接使用层叠样式表的 层叠 方面来覆盖用户选择的先前 CSS 样式?例如,使用用户选择在您的 ERB 布局文件中生成 CSS 代码。您上面描述的内容不适用于大量用户,而且听起来容易出错。
  • 嗯,我真的很想研究一个使用 scss 的解决方案,否则你的 cmets 听起来就像“你为什么使用 scss”。我的问题不是很清楚,我希望“管理员”使用高级参数(比如 h1 文本颜色)设置他的 css,然后生成 css 并将其上传到 S3。这个过程与网站的访问者无关。我暂时不需要处理数百万管理员,尽管我不明白为什么这不是规模。
  • 我大量使用 SCSS,所以我并不是说您不应该使用它(至少对于您的基本样式)。我的意思是:利用 CSS 的规则来发挥你的优势,而不是试图用一个困难的解决方案重新发明轮子。如果你的 CMS 有一个 CSS 模板,并且你想(很容易地)覆盖模板的某些方面,你应该使用 CSS 的规则,例如特异性和 CSS 样式的级联顺序。我只是想让你的生活更轻松:)
  • 感谢您的建议。我考虑使用 erb + sass 的原因是我想要一个 colors.scss.erb 文件,其中将定义多种颜色。该文件将使用我的用户的设置进行评估。然后我想将colors.scss 文件与其他scss 文件一起使用来传播我使用的值。我知道这可以仅使用 css 来实现,但它需要覆盖我原始 css 中可能存在的大量内容。从开发的角度来看,它的可扩展性似乎不如基于 scss+erb 的解决方案。

标签: ruby-on-rails css ruby sass


【解决方案1】:

事实上(我正在回答我自己的问题)。我想做的事情真的很容易。我制作了这个非常简单的脚本:

#!/usr/bin/env ruby

#processs.rb file

require 'sass'
result = Sass.compile open(ARGV[0]).read
puts result

它会从她这样调用的 scss 文件中生成 css:

ruby process.rb myfile.css.scss

这很完美。代码文档in sass source code 帮助我找到了这一点。

【讨论】:

  • 我实际上找到了一个简单的解决方案,所以我回答了我自己的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-07
  • 2012-07-15
  • 1970-01-01
  • 2018-06-27
  • 1970-01-01
  • 2015-11-16
  • 2019-07-21
相关资源
最近更新 更多