杰基尔的缓慢再生

时间:2015-11-04 14:24:42

标签: ruby compilation jekyll

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

规格:

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

这些规格是否正常?

我已经更新到Jekyll 3.0以尝试渐进式再生,但在我的情况下它没有帮助。

有什么想法吗?

谢谢!

威廉

3 个答案:

答案 0 :(得分:2)

有几个选项

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

答案 1 :(得分: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。在写新帖时,这为我节省了很多时间。

答案 2 :(得分:0)

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

我使用了一个超级简单的 Gemfile

source 'https://rubygems.org'
ruby "2.4.2"

gem "jekyll", "~> 3.6.2"

然后再次调用bundle install

之后,再生时间恢复<强>小于1秒。