使用Jekyll和Gulp

时间:2014-01-22 21:06:55

标签: jekyll gulp

我读到了关于Gulp的内容并且完全被哲学所吸引。我想为自己试一试,但我遇到了一个小问题。我习惯和Grunt一起使用Jekyll,我不知道如何让Jekyll和Gulp玩得很好。

我遇到过this文章,表明在使用Gulp时不需要使用Jekyll插件。不幸的是,它并没有真正解释如何解决这个问题,它链接的example对我没什么帮助。

有谁知道如何解决这个问题?

4 个答案:

答案 0 :(得分:32)

阅读此博文:Why you shouldn’t create a gulp plugin

然后意识到你可以在vanilla Node.js中轻松触发Jekyll。不需要插件。

require('child_process').spawn('jekyll', ['build'], {stdio: 'inherit'});

答案 1 :(得分:1)

如果您想查看Jekyll gulp插件的外观,请查看gulp-jekyll。如果您认为这个项目比自己产生这个过程更有用,请发表评论。

答案 2 :(得分:0)

我刚试过这台YO发电机并且效果很好: https://www.npmjs.org/package/generator-jekyllized

咕嘟咕嘟+化身+ SASS

答案 3 :(得分:0)

迟到了,我想问:
为什么要将Jekyll与Gulp结合使用?

Jekyll已经有一些内置任务,例如将SCSS编译为CSS。而Jekyll本身也可以使用插件进行扩展,例如缩小和前缀。所以:你可能根本不需要在这里结合两种不同的技术。

一个原因可能是,您要发布到GitHub页面(不支持额外的插件)。因此,资产流水线和Jekyll构建必须成为两个独立的步骤。在我的情况下,我已经在使用auto-prefixer,我不想再使用mixins

在研究和测试时,我发现了Jekyll + Gulp工作流程的不同方法:

  1. Spawn Jekyll作为一个儿童过程,最受欢迎,如Sindre所述, here
  2. 并行运行Jekyll serve和Gulp ,不需要将其中一个集成到另一个中,也可以让它们并行运行开发
  3. 通过shell命令从Gulp调用Jekyll .pipe(run('bundle exec jekyll build'); Source
  4. 大多数人使用Browsersync在本地提供网站,而不是使用内置jekyll serve方法。