【发布时间】: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