当我运行jekyll
来生成我的网站时,它会重新生成每个页面。如何告诉它只生成新的或已更改的页面?
另外,我在做什么让Jekyll认为需要重新创建每一页?
答案 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