3

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

或者,我在做什么让 Jekyll 认为它需要重新创建每个页面?

4

3 回答 3

6

Jekyll 每次运行时都会自动重新生成整个站点——这就是它的工作原理。但是,我相信如果您传递标志,它只会重新生成更改的文件:

--watch

如:

jekyll build --watch

注意:jekyll build --watch旧版本的 jekyll 使用jekyll --auto.

于 2012-08-22T18:32:14.110 回答
2

正如 mipadi 所说,Jekyll 在编译时会重新生成整个站点。然而,--auto标志使它编译整个事情,总是

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

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

这是Jekyll 的 issue list上的一个反复讨论,所以如果你们能想到一个好的解决方案,请在此处发布。

但是,真心的?如果您的网站足够小,就让它重新生成所有内容。这种方式要简单得多。

于 2013-01-29T22:12:57.387 回答
1

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

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

于 2016-04-08T08:17:46.150 回答