Jekyll每次都会重新编译每一页

时间:2012-08-07 01:48:58

标签: jekyll

当我运行jekyll来生成我的网站时,它会重新生成每个页面。如何告诉它只生成新的或已更改的页面?

另外,我在做什么让Jekyll认为需要重新创建每一页?

3 个答案:

答案 0 :(得分:6)

Jekyll每次运行时都会自动重新生成整个网站 - 这就是它的工作原理。但是,我相信如果你传递旗帜,它只会重新生成已更改的文件:

--watch

如:

jekyll build --watch

注意:jekyll的旧版本使用jekyll build --watch而不是jekyll --auto

答案 1 :(得分:2)

正如mipadi所说,Jekyll在编译时会重建整个网站。但是,--auto标志使其编译整个事物,始终

这样做是因为,正如elithrar所说,每个帖子/页面都可以相互依赖,因为它们都是在编译期间决定的,所以它不能像在WordPress或Tumblr中那样动态生成。因此,为避免链接断开,所有内容都会重新生成。

从长远来看,这可能会有问题。例如,非常大的站点(> 1000个帖子)报告启用LSI的编译时间非常长,最近通过一些配置选项解决了这一问题。还有其他问题,即如果你正在处理CSS / JS(或LESS,SASS,CoffeeScript,作为我的客人),为什么要重新创建整个东西?

这是对Jekyll's issue list的反复讨论,所以如果你们能想出一个好的解决方案,请在那里发布。

但是,真诚的?如果您的网站足够小,只需让它重新生成一切。这种方式简单得多。

答案 2 :(得分:1)

为了加快本地开发速度,您可以使用--limit_posts NUM来限制要解析的帖子数量。这可以为拥有大量帖子的网站节省大量时间。

请参阅 https://jekyllrb.com/docs/configuration/#build-command-options