gpt4 book ai didi

go - Hugo 如何维护站点范围的数据,比如 .Site.AllPages?

转载 作者:IT王子 更新时间:2023-10-29 01:26:27 25 4
gpt4 key购买 nike

我正在寻找一些关于 Hugo 可能 如何管理站点范围数据的简短示例,例如 Site.AllPages

具体来说,Hugo 似乎太快 无法读取每个 文件及其元数据,然后才开始生成页面并制作类似.Site.AllPages 可用——但显然必须如此。

Ruby (Jekyll) 和 Python (Pelican) 真的有那么慢吗?还是 Hugo 在一切准备就绪之前使用某种特定(算法)方法生成页面?

最佳答案

没有魔法,Hugo 不会开始任何渲染,直到 .Site.Pages 等集合被填满并准备就绪。

这里的一些关键点:

  • 我们有一个处理管道,我们会尽可能地进行并发处理,因此您的 CPU 应该非常繁忙。
  • 每当我们进行内容操作(短代码、表情符号等)时,您很可能会看到为提高速度而构建的手工解析器或替换函数。
  • 我们非常关心“快速”这一部分,因此我们有一套可靠的基准来揭示任何性能下降。
  • Hugo 是用 Go 构建的——它非常快,并且有一套非常好的工具(pprof、基准支持等)

使 hugo server 变体比常规 hugo 构建速度更快的其他几点:

  • Hugo 使用虚拟文件系统,我们在服务器/开发模式下直接渲染到内存。
  • 我们有一些部分重新加载逻辑。因此,即使我们每次都渲染所有内容,我们也会尝试仅重新加载和重建已更改的内容文件,如果内容发生更改等,我们不会重新加载/重建模板。

我在 GitHub 上,Hugo 的主要开发者。

关于go - Hugo 如何维护站点范围的数据,比如 .Site.AllPages?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45317487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com