You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免Quarto每次都重新构建博客站点?

解决Quarto博客推送GitHub时全页面重渲染的问题

针对你设置freeze: auto但仍全量渲染的情况,可从以下几个方向排查:

  • 检查_freeze目录的Git状态:Quarto的freeze功能依赖_freeze目录存储已渲染页面的缓存数据。如果你的.gitignore文件中包含_freeze/,导致该目录未被提交到仓库,那么每次GitHub Actions运行时都没有缓存可用,只能重新渲染所有页面。需移除.gitignore中对_freeze/的忽略规则,将该目录提交到Git仓库。

  • 配置GitHub Actions缓存:即使_freeze目录已提交,也可以在工作流中添加缓存步骤,确保_freeze目录在每次Action运行时被保留。示例配置如下:

    - name: Cache freeze directory
      uses: actions/cache@v3
      with:
        path: _freeze
        key: ${{ runner.os }}-freeze-${{ hashFiles('**/*.qmd', '_quarto.yml') }}
        restore-keys: |
          ${{ runner.os }}-freeze-
    
  • 排查全局依赖文件变动:freeze: auto会监测全局依赖(比如_quarto.yml、主题文件、全局样式/脚本)的变化,如果这些文件有修改,所有依赖它们的页面都会触发重渲染。确认近期是否改动过这类全局文件。

  • 检查页面级配置冲突:个别页面的YAML前置元数据中如果设置了freeze: false,会覆盖全局的freeze: auto配置,导致该页面每次都重渲染。可批量检查所有.qmd文件的前置配置。

内容的提问来源于stack exchange,提问作者Philippe Massicotte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 04:10:36