似乎每次对站点中的某些文件进行更改时,我发现的所有静态站点生成器都会完全重新生成整个站点。
例如,使用中比较流行的站点生成器之一是 Jekyll,它为 Github Pages 提供支持。每当作者进行更改(例如在 post 文件中进行语法更正,或更改 about.html 布局)并需要重新生成该内容时,Jekyll 就别无选择,只能重新生成整个站点,即使有数百个文件,其输出未因最近的编辑而改变。
重新生成大型站点所需的时间似乎是对大多数静态站点生成器的常见抱怨。
是否有任何技术原因(来自静态站点生成器的开发或工程的 POV)阻止某人编写静态站点生成器,该生成器对其内容“智能”并且可以自我意识到可以理解哪些文件的程度已更改,哪些文件依赖于它(反之亦然)并且只会重新生成必要的文件?
由于大多数人(尤其是 Jekyll/GH Pages)用户都将他们的站点存储在 git 存储库中,因此站点生成器甚至可以利用提交信息并跟踪更改并依靠该信息来了解哪些文件需要重新生成和可以单独放置。想法?