views:

62

answers:

3

I have recently begun the practice of using <%# Ruby on Rails comments %> in my html.erb files, as these do not display in the source code that is then viewable by a user.

Is there a way of adding comments to .css files that keeps them private from the eyes of devilish onlookers?

A: 

The same as for HTML — strip them before delivery to the client (either server side, or before uploading).

You may want to link a minification tool (e.g. YUI compressor) into your build/publication process.

David Dorward
A: 

You can use Sass to author your stylesheets, it has a // comment syntax that is not emitted in the output CSS. (I recommend you use it via Compass, especially if you're using Rails).

Sass has a syntax variant called SCSS, which is fully CSS compatible if you don't love the indented structure of Sass.

Andrew Vit
+1  A: 

As @Eimantas already said: it's not a good practice to send unminified version of JS/CSS files in production (you will get bad mark in YSlow for that).

There is a nice gem: http://github.com/thumblemonks/smurf

And it works like a charm: all you need is to mention it in your gem file (Rails 3)

gem "smurf"

and that's it! Well, that's it if you use :cache => ... in your stylesheet_link_tag:

stylesheet_link_tag "foo", "bar", :cache => "public.css"

It intercepts standard Rails behavior that saves concatenated files to disk and compress them just before.

And to mention the obvious - it will compress the file only in production mode as the :cache option works only if cacheing is enabled.

pawien