2016-03-22 21 views
0

Renk değişkenleri listesini içeren bir veritabanı tablomuz var (örnek HEX renk kodu). Stillerim, Gulp ve SASS kullanılarak derlenmiştir.Sunucu tarafı dilinden dinamik SASS değişkenleri

Django uygulamam veritabanımda bir satır oluşturduğunda/güncelleştirdiğinde, renkleri temel alan yeni bir stil sayfası oluşturmam gerekiyor. Bir şekilde, sunucu tarafı uygulamasından renkleri bir oluşturma işlemine almam gerekiyor.

Record with colours added -> Gulp runs -> New colour variables are used within the stylesheet generation. 

Bunun nasıl yapılabileceği hakkında bir fikriniz var mı?

sayesinde

+0

Hiçbir şey denediniz mi? *Hiçbir şey? – cimmanon

+0

Daha önce çeşitli yapım işlemleri yaptım, ancak hiçbir zaman taşımadım. Bu sorunu daha önce çözmüş olabilecek biri tarafından doğru yönde bir noktaya bakıyorum. Düzenleme - Gulp oluşturma işleminde çeşitli veri toplama teknikleri gördüm, ancak hiçbiri modele uymuyor. Gulp verileri daha umut verici. – Lee

cevap

1

ben bu sorunu çözmüş bir bağlam dizi çekmek ve küstahlık süreci dolmadan değişkenler yerine gulp-preprocess adında bir modül vardır

.. İdeal bir şekilde daha az ..

Örneğin:

SUKDÖ'nün File

$body-background: '/* @echo body-background */'; 

body { 
    background: $body-background; 
} 

GULP

var data = { 
    '1': { 
     'body-background': '#f00', 
    }, 
    '2': { 
     'body-background': '#ffffff', 
    } 
} 

gulp.task('scss', function() { 

    for (var partner_id in data) { 
     if (!data.hasOwnProperty(partner_id)) continue; 
     var partner_data = data[partner_id] 

     gulp.src('./static/scss/*.scss') 
      .pipe($.sourcemaps.init()) 
      .pipe($.preprocess({context: partner_data})) 
      .pipe($.sass({ 
        errLogToConsole: true, 
        style: 'compact' 
       }) 
       .on('error', function (err) { 
        console.log('Error:', err); 
        this.emit('end'); 
       })) 
      .pipe($.autoprefixer({cascade: false})) 
      .pipe($.cssnano()) 
      .pipe($.sourcemaps.write('./maps')) 
      .pipe(gulp.dest('./static/css/'+ partner_id)) 
    } 
}); 
0

ben size SUKDÖ dosyalarından birden çok tema oluşturmanızı sağlar bu hizmetin https://www.grooveui.com, rastladı.

SASS dosyalarınızı yanınızda bulundurmanız gereken tek şey. Sonra yeni temalar oluşturabilir ve değişken değerler ayarlayabilirsiniz. Değişkenleri depolamak ve birden çok SASS dosyası oluşturmak için veritabanı kullanıyorlar.

Denemeye değer olabilir.