我开始与 Jekyll 静态站点发生器和我想使用 重新装弹与它。我知道 Jekyll 有一个生成器和服务器命令,LiveRelload 可以运行各种编译器和自定义命令。如何配置它们以使其协同工作?
首先在你的网站文件夹中正常运行 jekyll:
cd your/site/folder jekyll
默认情况下,Jekyll 在其中生成一个名为 _site的文件夹(your/site/folder/_site)。
_site
your/site/folder/_site
告诉 LiveRelload 注意那个 _site文件夹。
更新: 这不再适用于最新版本的 Jekyll
cd your/site/folder jekyll --server --auto
Jekyll 1.0 + 版本:
jekyll serve --watch
有关更多细节和选项,请参见 化身博士: 基本用法。
有一个 警卫-肝脏负荷,你可以和 守卫 Jekyll一起使用,并且可以和 警卫一起集中监视过程,一个例子是(我还没有测试过) :
启动保护 Jekyll
guard init jekyll
把这个添加到你的监护文件:
guard 'livereload' do watch(%r{_site/.+}) end
您可以调整以上内容以更好地适应您的项目,并且 你可能已经知道你必须包括肝脏负荷 页面上的脚本:
<script src="http://localhost:35729/livereload.js"></script>
哦,还有开始整个观看乱局:
guard
我今天才开始使用 GitHub Pages,希望能够在 Jekyll 中使用 live reload。得到它的工作和写我的第一个职位在 用 Jekyll & LiveRelload 创建 GitHub 页面。
它使用 Grunt 与 grunt-contrib-watch插件代替 Jekyll 的 serve命令-对我来说工作得很好。希望对你也有用。
grunt-contrib-watch
serve
这篇文章解释了一种更清洁的方式 -和 Jekyll 一起设置 LiveRelload
双子档案:
gem 'jekyll' gem 'guard' gem 'guard-jekyll-plus' gem 'guard-livereload'
防护文件:
guard 'jekyll-plus', :serve => true do watch /.*/ ignore /^_site/ end guard 'livereload' do watch /.*/ end
安装 任何 LiveRelload 浏览器扩展,然后运行 guard。
您可以只使用 jekyll serve -w,这是一个我比较喜欢的选项,因为我很懒。
jekyll serve -w
更新: 正如在其他答案中指出的,LiveRelload 是内置在 Jekyll 3.7 + 中的。
jekyll serve --livereload
我发现最简单有效的方法是使用两个终端窗口: 一个用于 jekyll serve --watch,一个用于 guard。
我试过 Nobu 建议的守卫-化身博士加法,但是我有一堆错误。
作为 Shumushin 指出,Jekyll 可以处理自动重建过程,您只需使用 jekyll serve --watch启动它
现在让 LiveRelload 工作在第二个终端窗口中运行 Guard-liverload。这与 Jan Segre 的回答基本相同,但没有 guard-jekyll。
guard-jekyll
我的 Guardfile是这样的:
Guardfile
guard 'livereload' do watch(/^_site/) end
还有我的 Gemfile:
Gemfile
gem 'jekyll' gem 'guard' gem 'guard-livereload'
注意 : 您仍然需要在 index.html页面中包含 liverload 脚本; 它是将 guard-livereload和浏览器绑定在一起的“粘合剂”。
index.html
guard-livereload
我编写了一个名为 霍金斯的 Jekyll 插件,它将 LiveRelload 整合到 Jekyll watch进程中。它适用于 Jekyll 3.1及以上版本。
watch
只要加上
group :jekyll_plugins do gem 'hawkins' end
到你的 Gemfile (然后是 bundle install)。从那里你可以运行 jekyll liveserve。Hawkins 将修改页面的 head部分,以包含 LiveRelload 所需的组件,当 Jekyll 检测到页面更改时,Hawkins 将通过 WebSocket 向您的浏览器推送一条消息。请注意,您将需要一个支持 WebSockets的浏览器。对于非常快速的重新加载,您可以使用 Jekyll 的新 --incremental选项,它将只重新生成更改后的页面。
bundle install
jekyll liveserve
head
--incremental
LiveRelload 内置在 Jekyll 3.7 + 中。
还可以设置 LiveReload 的端口、延迟和忽略文件。
对于带电重装, 从项目的根目录中的 < em > Gemfile 中删除 Jekyll 管理员,它的工作原理就像魅力一样。
如果您经常运行它,Repla macOS 应用程序可以轻松启动 Jekyll,因此它会自动刷新。安装 Repla 之后,从 Jekyll blog 的根目录运行它,并将 jekyll serve命令传递给它。例如:
jekyll serve
repla server "bundle exec jekyll serve --watch --drafts" -r "...done"
Repla 将被配置为每次在控制台中打印 ...done时刷新,当 Jekyll 完成编译您的站点时将打印 ...done。
...done
Repla 运行 Jekyll 服务器进程,分割在浏览器分割下方,显示您的站点:
Jekyll 在 Repla 运行之后,你也可以用 abc0保存配置文件,关闭窗口关闭它,然后双击文件再次运行。换句话说,下次只要打开文件,就可以再次启动 Jekyll blog,完全不需要终端。
披露: 我维护 Repla 应用程序。
此命令将在浏览器中打开您的网站,并使用 jekyll 内置的 liverload 服务器。
bundle exec jekyll serve -l -o
你需要一个最新的 Jekyll 版本。