使用SASS进行基础5项目设置

时间:2013-11-26 23:11:10

标签: css ruby git sass zurb-foundation

我对Compass和SASS的整个世界都很陌生,所以我可能会遗漏一些基本的东西。我正在遇到基金会5的结构问题。

如何让这一切在现有(git)项目中整齐地运作? 当我运行foundation new myproject时,它将基础知识克隆到'myproject':依赖项的bower_components /文件夹,root中的config.rb,'scss'文件夹,我可以用{{1}修改SASS文件在后台运行以生成我的CSS文件,以及一个示例index.html文件。就其本身而言,我认为我知道这一切是如何运作的。

我有一个现有的项目,我打算使用Foundation 5.我的第一直觉是尝试在项目的根目录中“初始化”Foundation:compass watch 因为它使用git,当然它抱怨dir不是空的。很公平,所以我把它变成了我的public_html中的一个子文件夹:foundation new .。我将config.rb放在项目的根目录中并更新了路径,因此我可以从我的root运行foundation new foundation。所有这些工作非常巧妙,我玩scss文件并观看我的css文件相应更新。然后我提交了结果并将其从不同的位置拉出来。 “基金会”,作为回购协议内的回购,并没有与其他一切一起承诺。里面的大部分内容无关紧要 - compass watch再次加载它,而.gitignoring / bower_components是明智的。但我确实需要'scss'目录中的自定义代码。我尝试以不同的方式设置我的项目,在bower目录之外使用'scss'目录,并将其设置为config.rb中的sass_dir。 这个设置对我来说很有意义,但我无法让它工作:运行foundation new whatever失败:

compass watch

我的config.rb现在:

     File to import not found or unreadable: foundation.

如何明确说明基础在哪里?我试过在config.rb中使用'add_import_path',但这没什么用。

我觉得我在这里缺少一些基本的东西,或者我可能会过度思考它。谷歌没有多少帮助,因为五号基金会离开烤箱很新鲜。有人可以帮我推动正确的方向吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

我遇到了类似的问题,我结束了downloading foundation-compass-template而不是使用基础命令行

将其解压缩到我项目的根目录然后

bower install

以下是随附的config.rb

# Require any additional compass plugins here.
add_import_path "bower_components/foundation/scss"

# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "stylesheets"
sass_dir = "scss"
images_dir = "images"
javascripts_dir = "javascripts"

我知道这不是一个直接的答案,但希望该项目能给你一些指导

希望这有帮助

答案 1 :(得分:2)

接受的答案原来是解决方案的一部分。它工作,并再次查看config.rb我意识到正确的方式告诉指南针在哪里寻找基金会。 D'哦。

我的结构现在如下:

config.rb
public_html/
--assets/
----scss/
----css/
----foundation/
------bower_components/
--------foundation/ 
----------scss/ # this is the dir that needed to be imported from config.rb

Config.rb:

add_import_path "public_html/assets/foundation/bower_components/foundation/scss" # *magic*
http_path = "/"
css_dir = "public_html/assets/css"
sass_dir = "public_html/assets/scss"
images_dir = "public_html/assets/img"
javascripts_dir = "public_html/assets/foundation/js"

正如你所看到的,这种方式与我希望得到的完全一样:public_html/assets/foundation中的基础内容 - 除了从bower update运行时,不需要触摸该目录时间 - 我的自定义scss位于public_html/assets/scss

感谢您给予我急需的推动!