You might know that Diavolo has a feature which dinamically injects JavaScript files in a specific location into your portal pages, without you having to modify anything specific. You drop that .js file and Diavolo will pick it and add it to your page. I really can't say how handy that feature is to me since many pages of my test project use some kind of JQuery/JS goodness and that will be enabled only by dropping my JS file in a specific location and add my code.
Actually, up until now you had another step which was needed in order to let your eye-candy JQuery scripts to run : a CSS file. Because we all know those scripts usually need a companion CSS file. If you use (like Diavolo does) ASP.NET Themes, you can simply drop your CSS inside relevant folder and theming engine will include that on next run. That's very effective and was a very nice innovation from ASP.NET team, though many projects prefer to use home-grown solutions.
But since developers aren't ever satisfied
I thought one might need an half-way solution. Imagine you want to use a CSS for a single page on your portal : in most cases (other CMS) you would add a new HTML section and add a reference for that new CSS file inside it. It's quick and dirty but it works, expecially when testing something.
Diavolo now supports loading extra CSS files in a per-page fashion. That is, you will still have all of your common CSS files inside your App_Themes folder, but now you can also have page-specific CSS files inside your /scripts/auto/dynamic/xxxx folder. If you're wondering if that's the very same folder where your dinamically-injected JS scripts will be placed, the answer is YES ! Reason for this is to keep things simple: in most cases, additional per-page CSS files will be somewhat linked to Javascript goodies. By using the same folder, we will keep things easy and straightforward: just drop your CSS files where you drop your JS files and you're ready to go.
Why should you care about that ? If you're using lots of JQuery scripts, each of them will be using its own CSS file. However, if you need that plugin on a single page of your 100-pages portal, why should you load that JS and its companion CSS all the time ? After sticking some plugin in, you will find yourself loading tons of JS and CSS files on every page and that's not desiderable.
Now you can keep your ASP.NET App_Themes folder for what it really is : a place for common files, while specific files will be dynamically loaded and injected at your will. I'm very excited for this feature which, in my opinion, also walks the very same spirit of ASP.NET itself : configuration when possible, code change only if needed, possibly decoupling those two.
P.S. Did I mention that extra CSS will be automatically minified too? Yes! It's true! Thanks to wonderful mbCompression handler, dynamically injected CSS files will be minified as well with no extra steps taken ! Gosh !