ruhoh / ruhoh.rb

http://ruhoh.com
616 stars 69 forks source link

sprockets not compiling in asset pipeline #260

Closed waynedpj closed 10 years ago

waynedpj commented 10 years ago

ahoy,

i am having a problem using the asset pipeline and sprockets in ruhoh to compile sass/scss files to css: sprockets seems to be ignoring the files. i created a very simple test ruhoh site:

https://github.com/waynedpj/ruhoh-sprockets-test

this setup for me only produces what seems to be a manifest JSON file in the compiled/assets/stylesheets directory e.g. compiled/assets/stylesheets/manifest-56353ca73419555a2a0c084b82ca1f06.json. the JSON file only contains {}. the same things happens for CoffeeScript files but i left them out of this test repo just to keep things simple. i have also tried this with 2.6 and git versions of ruhoh. outside of ruhoh sprockets seems to working fine, so i figure i am missing something very simple in my ruhoh setup?

happy new year.

thanks, w

Stebalien commented 10 years ago

You need an application.css:

//=require test

This doesn't actually need to be called application.css but that's the convention. Basically, you need a collection point into which all of the required files should be compiled.

waynedpj commented 10 years ago

thank you! i thought that the dependency management was a more complicated feature and was just trying to get basic compilation going. i obviously missed the fact that they are related.

one thing however: i created a release.css.scss file that has the directive //=require test. that indeed causes the test.css to be compiled+generated. however, no corresponding release.css file is generated, even though it has valid SCSS in it? it seems from the sprockets docs that the =require directive should pull in the test file into the release.css.scss file, thus giving us a single release.css file.

i also noticed that you used application.css instead of application.css.scss? when i first put release.css in my sass directory, i was getting a FileNotFound without appending ./ to the require directive (e.g. /*=require ./test */). changing it to release.scss.css made that unnecessary but resulted in only the test.css being generated as mentioned above.

in summary, it seems like a plain CSS (i.e. non SCSS/SASS) file is needed for the top level "application" file by sprockets in ruhoh?

anyway, thanks again and happy new year.

Stebalien commented 10 years ago

Yes. That's how it currently works. However, I don't need ./. What is your directory layout?

waynedpj commented 10 years ago

sorry for the late response. i had originally followed up not long after your post, but there must have been a glitch/user error and so my original reply never made it up here.

anyway, my directory layout is

theme/
└── stylesheets
    ├── application.css
    └── test.css.sass

and now i can unfortunately/fortunately no longer recreate the FileNotFound error. prob more user error ;)

so to summarize+close this thread out, as you said creating a main application.css file and placing in it the //=require test (along with other requirements) is working fine with Ruhoh 2.6 with my simple test directory structure above.

thanks again for your help.

peace, w