【问题标题】:Slow Regeneration in JekyllJekyll 中的缓慢再生
【发布时间】:2015-11-04 14:24:42
【问题描述】:

我正在使用 jekyll 开发一个博客,直到现在我都对它非常满意。 但随着我发表更多帖子,再生时间变得越来越荒谬(3-4 分钟)。每次进行更改时都等待那么长时间是不可行的。

规格:

  • Ruby 2.2.1
  • 杰基尔 2.5.3
  • 降价:kramdown
  • 荧光笔:pygments
  • 固定链接:漂亮
  • 使用 2 GB RAM 的云服务 (Cloud9)
  • 帖子不多 (~10),但我确实使用了大量数据(“_data”文件夹中的 10 MB json 文件,“img”文件夹中的 14 MB 图像)
  • “_site”文件夹的总大小为 40 MB

这些规格是正常的吗?

我已经更新到 Jekyll 3.0 以尝试增量再生,但对我来说没有帮助。

有什么想法吗?

谢谢!

威廉

【问题讨论】:

标签: ruby compilation jekyll


【解决方案1】:

有几个选项

  1. 在 jekyll 构建或服务时使用 --incremental,但请谨慎使用
  2. 在 jekyll 构建中使用 --profile 来获取时间用完的输出
  3. 您还可以有不同的 config.yml 文件,其中您可能只包含用于开发而不是用于生产的草稿帖子。
  4. 考虑重构您的开发环境
    • 包含 _posts 的开发文件夹仅包含一个示例
    • 包含您的实时_posts 集的生产文件夹
    • 在生产构建之前复制您的开发内容

【讨论】:

  • 我也考虑过改用 Hugo,但决定重组结构给我带来了额外的好处
【解决方案2】:

在您的网站上运行 jekyll serve --profile 并检查需要更多时间来呈现的内容。它应该输出一个看起来像这样的表格。

Filename                                                              | Count |    Bytes |  Time
----------------------------------------------------------------------+-------+----------+------
_layouts/compress.html                                                |    73 | 1649.86K | 1.526
_layouts/default.html                                                 |    72 | 1874.79K | 0.445
_layouts/post.html                                                    |    58 |  980.02K | 0.307
_posts/2015-12-10-how-to-create-and-host-a-website-on-github-pages.md |     1 |    9.36K | 0.294
feed.xml                                                              |     1 |   34.74K | 0.105
_includes/prev-next.html                                              |    58 |   39.17K | 0.053
sitemap.xml                                                           |     1 |   19.90K | 0.035
_pages/archive.md                                                     |     1 |   28.98K | 0.035
_posts/2017-02-15-jekyll-sort-filters.md                              |     1 |   16.09K | 0.019
_includes/ga_data_fetch.html                                          |    58 |   41.77K | 0.018
_includes/disqus-script.html                                          |    58 |   30.89K | 0.018
_pages/tags.html                                                      |     1 |   14.97K | 0.015

这应该可以让您大致了解问题所在。

现在在对站点进行更改时,如果您只想渲染更改的文件,请使用 jekyll serve --incrementaljekyll serve -I

增量构建仍然存在一些 Jekyll 团队正在解决的问题。

jekyll serve --watch --limit_posts 1 是仅呈现您正在撰写的最新帖子的便捷选项。这在我写新帖子时节省了很多时间。

【讨论】:

    【解决方案3】:

    分析显示没有什么可担心的,但我仍然可以通过一个简单的单页网站获得 2-3 秒的重新生成时间。

    我用了一个超级简单的Gemfile

    source 'https://rubygems.org'
    ruby "2.4.2"
    
    gem "jekyll", "~> 3.6.2"
    

    然后再次调用bundle install

    在那之后,再生时间又回到不到 1 秒

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-14
      • 2017-04-26
      • 1970-01-01
      • 2018-12-28
      • 2018-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多