我是第一次与杰基尔建立网站。到目前为止,我很喜欢它;我唯一的问题是构建时间过长。现在,当我运行jekyll build
时,生成网站大约需要30秒。
在寻找答案时,我能找到的所有人都拥有数百个帖子的博客。由于我只有一个帖子,这显然不是问题 - 这里还有其他东西要花这么长时间。
这是我的网站的github存储库:https://github.com/keithpickering/kpd/
我的问题如下:
当Jekyll没有那么多东西可以构建时,有什么可能的原因?
如果Jekyll本来就很慢,有没有一种简单的方法可以单独编译我的CSS和JS,让Jekyll只处理标记?现在我让Jekyll无视我的" css"和" js"文件夹,而不是Grunt缩小,前缀,并自动编译这些文件。我之前从未使用过Grunt所以我不知道这是否是我使用的某种荒谬的hacky解决方案。
感谢您的帮助!
编辑:我们应该早点提到这个,但我在Windows 8.1 x64上。我开始认为Jekyll对Windows有不稳定的支持。答案 0 :(得分:42)
我遇到了类似的问题,但幸运的是找到了原因和解决方案:
我的jekyll设置没有使用任何插件,没有复杂的液体标签,只包含3个样本帖子,没有别的。但是建立网站平均需要6秒钟。
只有当我逐步删除目录中的everthing时,我才发现导致构建时间过长的原因:node_modules
文件夹。
您可以通过在node_modules
中添加以下内容,从jekyll转换中排除_config.yml
目录:
exclude: [node_modules]
或者:
exclude:
- node_modules
有关exclude
的更多信息,请参阅jekyll documentation。
答案 1 :(得分:6)
您只能呈现最新帖子:
jekyll serve --watch --limit_posts 1
在我的情况下,它几乎快了两倍。
更新:
更好的是,只重建改变的内容:
jekyll serve --incremental
在我的情况下,速度提高了30倍!不幸的是,仅适用于博客文章和一些页面。
答案 2 :(得分:2)
使用octopress-minify-html
gem来缩小我的html时,我的构建时间非常慢.J。
为了加快开发中的构建时间,我在minify_html: false
文件中添加了_config.yml
。
这一次改变使构建时间从60秒增加到约1秒(!)。
答案 3 :(得分:1)
我使用Benchmark对新的jekyll网站和您的存储库进行了基准测试。 同一时间,大约5秒钟。
问题出在其他地方。我认为你的ruby / gems安装有问题。重新安装。
在资产方面(js,css)Jekyll擅长(sass,coffeescript),你可以使用jekyll assets进行缩小和其他优化。此解决方案的性能开销不是问题。
Grunt / Gulp也是如此,但这意味着您还管理了node.js安装。
答案 4 :(得分:1)
当Jekyll没有那么多东西可以构建时,有什么可能的原因?
在我的情况下,从ruby 1.9.3-p448切换到2.1.3产生了巨大的差异:在1.9.3中重新生成单个文件需要几秒钟,在2.1.3中几乎是瞬间完成。
我的设置是:Mac OS X 10.10,50个帖子和几个小插件,jekyll 2.4.0。