2015-11-04 64 views
2

我正在開發一個使用jekyll的博客,直到現在我都非常滿意。 但是,當我做更多的帖子時,再生時間變得荒謬(3-4分鐘)。每當你做出改變時,等待那麼長時間是不可行的。Jekyll的慢速再生

規格:

  • 的Ruby 2.2.1
  • 傑奇2.5.3
  • 降價:kramdown
  • 熒光筆:Pygments來做
  • 永久鏈接:漂亮
  • 在雲服務工作( Cloud9)與2 GB的RAM
  • 不是很多職位(〜10),但我確實使用了很多數據(10 MB的JSON文件中的「_data」文件夾,14 MB在「IMG」文件夾中的圖像)
  • 的「_site」文件夾的總大小爲40 MB

它是一個正常的事情與這些規格?

我已經更新到Jekyll 3.0來嘗試增量再生,但它沒有幫助我的情況。

任何想法?

謝謝!

威廉

+1

沒有代碼進行基準測試,這很困難。也許你可以尋找可能代價高昂的嵌套for循環。 –

+0

可能重複的[Jekyll編譯似乎太慢](https://stackoverflow.com/questions/26855552/jekyll-compiling-seems-way-too-slow) –

回答

2

有幾個選項

  1. 使用--incremental上傑基爾構建或服務,但需謹慎使用
  2. 使用--profile上傑基爾構建得到的,時間的輸出已用完
  3. 您也可以擁有不同的config.yml文件,您可能只包含開發稿的草稿,而不是用於生產。
  4. 考慮一個只包含一個樣本_posts重組你的開發環境
    • 發展文件夾
    • 與現場設置_posts的
    • 生產文件夾
    • 複製你dev的在生產前對內容建設
+0

我也考慮改爲雨果,但決定重組結構給了我額外的好處 – kernowcode

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。這爲我寫了新帖子節省了很多時間。

0

分析顯示沒有什麼可擔心的,但我仍然通過一個簡單的頁面網站獲得2-3秒的更新時間。

我用一個超級簡單的的Gemfile

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

gem "jekyll", "~> 3.6.2" 

然後再次調用bundle install

之後,再生時間在1秒下返回