2016-03-28 4 views
2

Also arbeite ich an diesem Projekt, und ich benutze Schluck. Ich brauche es, um die Jade, die ich schreibe (im _jadefiles-Ordner), kompilieren und als .html in den _includes-Ordner meines Projekts ausgeben zu können.'gulp-jade' funktioniert nicht oder kompiliert jade zu html

Die Dinge, die ich zur Zeit bin kompilieren und mit Zug laufen, sind: - BrowserSync - Sass (. SCSS, technisch) - Autoprefixer - Etwas Kind-Prozess genannt (I mit einem 'Kit auf Github' gestartet genannt jekyll-gulp-sass-browser-sync) - Und offensichtlich Jade.

Hinweis: Ich benutze auch Jekyll, aber das sollte hoffentlich keine Rolle spielen.

Ich folge ein Video von DevTips, genannt Design+Code Hour 4.1

seinen aktuellen Code hier:

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')); 
}); 

Seine Jade schluck Zeug:

/* 
* I'm trying to gulp stuff, too. - 
*/ 

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(['index.html', '_layouts/*.html', '_includes/*'], ['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']); 

Alles andere funktioniert, außer dies.

+0

irgendwelche Fehler auf Ihrem Terminal? – draftdraft88

+0

nein, keine. Es sagt nicht einmal, dass es im Terminal kompiliert wird. – LimpingLlama

Antwort

0

können Sie auf irgendwelche Fehler erweitern, die Sie sehen?

Läuft von alleine - d. H. Standalone - oder ist es nur innerhalb Ihrer Uhr, dass es nicht läuft?

Mein Bauchgefühl ist es eher ein Fehler in Ihrem Jade Markup (oder Mops, wie wir es nennen beginnen müssen)

Sie irgendetwas davon veröffentlichen können?

+0

Seltsam, ja. Ich hätte das schon mal posten sollen. Es gibt auch keine Fehler. Entschuldigung, Schluck ist eine Premiere für mich. – LimpingLlama

+0

Es kann kein Fehler im Mops-Markup sein (warum ... nur _why_ ??), denn alles was ich sage ist 'p Lololol' – LimpingLlama

1

Ein bisschen spät, aber hoffe, es könnte jemand helfen, der nach einer ähnlichen Antwort sucht, ich wäre fast verrückt geworden, um das herauszufinden für mich selbst.

Das klingt ein wenig albern, aber nach einem ähnlichen Problem (Jade-Schluck läuft ohne Fehler, aber nicht Ausgabe index.html) und Suche im Internet nach einer Antwort ohne Glück, realisierte ich, ich hatte gerade eine Syntaxfehler in meiner .jade-Datei (zusätzliches Leerzeichen), so dass es zu nichts kompilieren würde.

versuchen, den gesamten Inhalt Ihrer .jade-Datei auskommentieren und dann versuchen, eine sehr einfache Zeile (z. B. h1 Hallo) mit gulp-jade zu analysieren. überprüfen Sie, ob es funktioniert, wenn dies der Fall ist, starten Sie den Code debuggen. Alternativ können Sie eine neue .jade-Datei mit einem einfachen Code erstellen, anstatt die ursprüngliche Datei auszukommentieren.

Hoffe es hilft!