За несколько пар часов родилось решение методом проб и ошибок. Расскажу о своем решении, но увы, не уверен что оно кому нибудь пригодится, так как в процессе, оказалось что мой SASS сильно завязан на древнем compass, без него, кстати, решить задачу было бы еще проще.
Из софта используется compass, Gulp, gulp-compass
gulpfile.jsvar gulp = require('gulp'),
compass = require('gulp-compass');
gulp.task('compass', function() {
gulp.src('sass/**/*.scss')
.pipe(compass({
config_file: './theme1.rb',
css: 'theme1/css',
sass: 'sass'
}))
gulp.src('sass/**/*.scss')
.pipe(compass({
config_file: './theme2.rb',
css: 'theme2/css',
sass: 'sass'
}));
});
gulp.task('default',function() {
gulp.watch('./sass/**/*.scss',['compass']);
});
Конфиги compass theme1.rb и theme2.rb
Разница только в том, что в первом к проекту подключается директория vars1, в которой находится _theme_variables.scss с цветами шаблона и определением других переменных SASS, а в theme2.rb директория vars2, с таким же файлом для второго шаблона.
theme1.rbhttp_path = "/"
css_dir = "css"
sass_dir = "sass"
images_dir = "img"
javascripts_dir = "js"
fonts_dir = "fonts"
add_import_path "vars1"
output_style = :expanded
environment = :development
line_comments = false
color_output = false
sourcemap = false
theme2.rbhttp_path = "/"
css_dir = "css"
sass_dir = "sass"
images_dir = "img"
javascripts_dir = "js"
fonts_dir = "fonts"
add_import_path "vars2"
output_style = :expanded
environment = :development
line_comments = false
color_output = false
sourcemap = false
Структура директорий такая
|-scss <- Исходники SASS за исключением файла _theme_variables.scss импортируемого во все scss файлы
|-theme1
|--css <- Собранный css с использованием _theme_variables.scss из vars1 директории
|-theme2
|--css <- Собранный css с использованием _theme_variables.scss из vars2 директории
|-vars1
|--_theme_variables.scss
|-vars2
|--_theme_variables.scss
|-gulpfile.js
|-theme1.rb
|-theme2.rb