0

我正在尝试将我的 css 输出文件从 config.rb 文件设置到我的主目录的根级别,并命名为“style.css”。我遇到的问题是,当我在 config.rb 中设置所有文件路径时,如下所示,一切正常。

http_path = "/"
css_dir = "assets/css"
sass_dir = "assets/sass"
images_dir = "assets/images"
javascripts_dir = "assets/js"
fonts_dir = "assets/fonts"
output_style = :compressed
environment = :development

但是我在本地开发了很多WordPress网站,需要将css_dir = "assets/css"其设置为主目录的根目录并命名为style.css。如果我尝试css_dir = "/"它会中断并且不将我的输出style.css到根目录。

请就我如何做到这一点提出任何建议,这样我就不必坚持在部署时手动将我的输出从 assets/css/style.css 移动到根级别的当前方式,(这是我以前的解决方案) . 这不会对我的效率或工作流程造成突破,但它看起来很简单,应该是一种选择,所以我不得不询问社区。

我也在这里尝试了 Chris Coyier 的建议,但这似乎也不起作用http://css-tricks.com/compass-compiling-and-wordpress-themes/

4

1 回答 1

0

也许这会有所帮助:

设置http_pathin 时config.rb,您是在告诉 Compass 当前目录的路径是什么。仅当您打开绝对路径并使用 Compass URL 帮助程序时才真正使用它。Compass 不知道您的“真正”项目根是什么(例如,当涉及到 WordPress 或 Drupal 等 PHP CMS 时)。

让我们采用以下文档结构:

project_root
- foo
-- bar
--- baz

baz将成为我们的主题文件夹。

现在,当谈到编译你的 CSS 时,我不完全确定你在问什么,是你想仅为你的生产版本更改 CSS 目录并将其保留assets/css用于你的开发,还是只是更改目录。不管怎样,我已经为你提供了保障。对于这两个,我们将假设我们想要生成 CSS 的 Compass 根目录的外部是project_root

更改仅用于生产构建的 CSS 目录路径

设置css_dir = (environment == :development) ? 'assets/css' : '../../../'assets/css在开发构建期间 ( compass compile/ compass watch) 和project_root生产构建期间 ( compass compile -e production --force) 编译您的 CSS。这里的关键是我们使用 Unix 风格的目录更改来将文件放在我们的主题目录之外。

更改所有编译的 CSS 目录路径

像往常一样设置css_dir = "../../../" and simply runcompass watch /compass compile`。

无论哪种方式,都不要让 Compass 重写您的文件名。命名你的 Sass 文件style.scss

于 2013-08-19T14:33:56.843 回答