The way the original twitter bootstrap distribution is organized, it's expected one can customize various aspects of it. In this case, the files would normally be copied into a project and could be readily edited if necessary. However, with the packaging of the SCSS files in a gem, they are not available for modification.
The settings in bootstrap/_variables.scss are expected to be modified. An easy way to expose the variables would be to use the compass templating to copy the contents of _variables.scss into the generated styles.scss before the @import "bootstrap" while possibly removing the !default notation. Any change to a variable made by a user would override the same variable in _variables.scss when imported.
For applications that won't use various bootstrap mixin's it would be ideal if _bootstrap.scss was locally editable so such mixin's could be commented out.
Work around to copy bootstrap/_variables.scss into styles.scss
$ cat $(dirname $(gem which bootstrap-sass))/../vendor/assets/stylesheets/bootstrap/_variables.scss |
sed 's/ !default//' >> styles.scss
Work around to copy _bootstrap.scss from gem
$ cp -p $(dirname $(gem which bootstrap-sass))/../vendor/assets/stylesheets/_bootstrap.scss .
The README contains a link to Bootstrap's variable list and gives instructions on how to modify them. Copying the entire variables file seems unnecessary - most people will only want to configure a few variables.
The import helper I agree with, to an extent. It was something I began developing when bootstrap-sass only supported Rails but I abandoned it due to issue with how sass-rails looks at load paths. However, once #70 gets fixed, I think unpacking will be the 'supported' way to customise bootstrap-sass with compass - then you have total control over all customisation.
OK, Rather than copying all the variables it would be helpful to have links to the relevant information. Someone maintaining an application may not be familiar with bootstrap-sass or bootstrap for that matter. Is this more reasonable for styles.scss?
// See https://github.com/thomas-mcdonald/bootstrap-sass/blob/master/README.md
// for information on this SASS implementation of Twitter Bootstrap.
// Add any bootstrap variables below to override the defaults.
// Complete list at http://twitter.github.com/bootstrap/less.html#variables
//$linkColorHover: darken($linkColor, 15%);
//$baseFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
// Default 940px grid
// I gather this file is a starting point for the project.
// Include responsive Bootstrap styles
// @import "bootstrap-responsive";// Variables.less
It would be really helpful to have an installer. A website I'm working is past the "bootstrap phase" and needs full customization of bootstrap styles.
Not needing to customize files directly is great for starting off, but there comes a point where you need to edit the files directly.
Once issue #70 has been addressed, after compass install, you will be able to do a compass unpack bootstrap to extract all the files locally. I may have a fix for #70 but I want to test some more.
(probably) fixed in #345