2016-08-21 13 views
2

Hallo ich habe eine Website eingerichtet. aber ich kann jekyll nicht die tatsächlichen Änderungen, die ich in Sass-Dateien in CSS-Datei für jeden Artikel Posten zu kompilieren.JEKYLL SASS CSS

Muss ich etwas zu meiner Schluckdatei hinzufügen? Ich dachte, Jekyll würde das Sass-Styling automatisch in CSS zusammenstellen, ohne es in den Schluck zu implementieren? oder Paket.json?

Ich bekomme Sass zu arbeiten und kompilieren für Website-Layout CSS-Ordner mit Schluck Befehl, aber die Artikel Abschnitt und Beiträge passiert nichts, wenn ich die SASS-Stil-Datei für jeden einzelnen Artikel ändern, muss ich die tatsächliche CSS-Datei direkt bearbeiten um eine Veränderung zu sehen.

ich hier etwas fehlt bin ist mein Code

{ 
    "name": "browser-sync-jekyll", 
    "version": "0.0.0", 
    "description": "A starter project including full setup for Jekyll, GulpJS, SASS & BrowserSync", 
    "main": "gulpfile.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "Shane Osbourne", 
    "license": "ISC", 
    "devDependencies": { 
    "browser-sync": "^2.8.0", 
    "gulp": "^3.9.0", 
    "gulp-autoprefixer": "^2.3.1", 
    "gulp-jade": "^1.0.1", 
    "gulp-sass": "^2.0.4" 
    }, 
    "repository": { 
    "type": "git", 
    "url": "https://github.com/shakyShane/jekyll-gulp-sass-browser-sync.git" 
    }, 
    "keywords": [ 
    "jekyll", 
    "gulp", 
    "sass", 
    "browsersync" 
    ], 
    "bugs": { 
    "url": "https://github.com/shakyShane/jekyll-gulp-sass-browser-sync/issues" 
    }, 
    "homepage": "https://github.com/shakyShane/jekyll-gulp-sass-browser-sync" 
} 



var gulp  = require('gulp'); 
var browserSync = require('browser-sync'); 
var sass  = require('gulp-sass'); 
var prefix  = require('gulp-autoprefixer'); 
var cp   = require('child_process'); 
var jade  = require('gulp-jade'); 

var messages = { 
    jekyllBuild: '<span style="color: grey">Running:</span> $ jekyll build' 
}; 




/** 
* Build the Jekyll Site 
*/ 
gulp.task('jekyll-build', function (done) { 
    browserSync.notify(messages.jekyllBuild); 
    return cp.spawn('jekyll', ['build'], {stdio: 'inherit'}) 
     .on('close', done); 
}); 




/** 
* Rebuild Jekyll & do page reload 
*/ 
gulp.task('jekyll-rebuild', ['jekyll-build'], function() { 
    browserSync.reload(); 
}); 




/** 
* Wait for jekyll-build, then launch the Server 
*/ 
gulp.task('browser-sync', ['sass', 'jekyll-build'], function() { 
    browserSync({ 
     server: { 
      baseDir: '_site' 
     }, 
     notify: false 
    }); 
}); 




/** 
* Compile files from _scss into both _site/css (for live injecting) and site (for future jekyll builds) 
*/ 
gulp.task('sass', function() { 
    return gulp.src('assets/css/main.scss') 
     .pipe(sass({ 
      includePaths: ['css'], 
      onError: browserSync.notify 
     })) 
     .pipe(prefix(['last 15 versions', '> 1%', 'ie 8', 'ie 7'], { cascade: true })) 
     .pipe(gulp.dest('_site/assets/css')) 
     .pipe(browserSync.reload({stream:true})) 
     .pipe(gulp.dest('assets/css')); 
}); 


gulp.task('jade', function(){ 
    return gulp.src('_jadefiles/*.jade') 
    .pipe(jade()) 
    .pipe(gulp.dest('_includes')); 
}); 


/** 
* Watch scss files for changes & recompile 
* Watch html/md files, run jekyll & reload BrowserSync 
*/ 
gulp.task('watch', function() { 
    gulp.watch('assets/css/**', ['sass']); 
    gulp.watch('assets/js/**', ['jekyll-rebuild']); 
    gulp.watch(['index.html', '_layouts/*.html', '_includes/*'], ['jekyll-rebuild']); 
    gulp.watch(['assets/js/**'], ['jekyll-rebuild']); 
    gulp.watch('_jadefiles/*.jade', ['jade']); 
}); 




/** 
* Default task, running just `gulp` will compile the sass, 
* compile the jekyll site, launch BrowserSync & watch files. 
*/ 
gulp.task('default', ['browser-sync', 'watch']); 
+0

so unter schluckaufgaben ich dachte, ein jekyll rebuild würde sass für jekyll posts assets css zu rebuild auslösen? ist das richtig? oder muss es auch separat in den Schluckprozess eingefügt werden? Entschuldigung für irgendwelche Verwirrungen, ich habe viel gesucht und niemand adressiert diesen technischen Aspekt direkt. – frog

+0

Sie brauchen keinen Schluck, um Sass zu verwalten, Jekyll tut es sehr gut aus der Box. Warum schlucken? –

+0

Das ist, was ich dachte. Aber wenn ich den Sass-Dateistil für Artikel ändere und Jekyll bilde. Und arter das schluckt. Es schreibt nicht in CSS. ZB passiert nichts. – frog

Antwort

0

Jekyll clean Befehl Versuchen Sie so, dass alle Dateien regerated werden kann, stellen Sie sicher, dass inkrementelle ausgeschaltet ist.