Before answering that question, let me express my intent. I was hoping to emulate templating similar to Jekyll (http://jekyllrb.com/) or other similar static site generators solely gulp-tasks. 

This goal was to decouple presentation and content and generate static content using the template as a wrapper (provided the templating capabilities can be extended in the future).

gulp-jade works as following:
````
gulp.src([jadeTemplate])
 .pipe(jade())
````
If I were to use this, I would have to 
1. generate individual HTML from all markdowns
2. Either pass this as a local variable `content` to the templating engine (_n_ times for _n_ markdowns) or do custom string replacement of the HTML in the template.

My implementation on the other hand (a custom gulp-plugin called [gulp-layoutize](https://github.com/rowoot/gulp-layoutize) works as follows
````
gulp.src([markdowns])
 .pipe(markdown())
 .pipe(layoutize({engine:'jade', template: 'templateString'}))
 .pipe(gulp.dest(dir))
````
This generates individual HTML files of all markdowns using the specified template. This also helps keep things flexibile i.e switching the templating engine, extending by adding local variables, mixins etc. If you don't need it, it can be removed without affecting or refactoring any gulp-tasks.

Hope this helps answer your question.