我希望仅在本地运行head.html
时将以下行添加到jekyll serve
:
<script src="http://127.0.0.1:35729/livereload.js?snipver=1"></script>
我想尽可能使用一些简单的液体检查。
答案 0 :(得分:8)
当您在本地执行jekyll serve
时,默认{{ jekyll.environment }}
变量设置为"development"
。
然后你可以做一个简单的事情:
{% if jekyll.environment == "development" %}
<script src="http://127.0.0.1:35729/livereload.js?snipver=1"></script>
{% endif %}
如果您想在其他服务器上运行jekyll,并使用其他environment
值,则可以将JEKYLL_ENV
系统环境变量设置为您想要的任何内容。
在运行时设置此变量可以这样做:
JEKYLL_ENV=production jekyll serve
注意:在Github页面上,jekyll.environment
设置为production
。
答案 1 :(得分:8)
替代解决方案(例如,如果您在自己的服务器上而不是在GitHub页面上托管您的Jekyll网站):
您可以在配置文件_config.yml
中设置一个值,如下所示:
environment: prod
然后,您可以使用另一个覆盖相同值的配置文件,我将其称为config_dev.yml
:
environment: dev
当您拨打jekyll build
时,它将使用真实配置文件中的值prod
。
但是当您在本地计算机上构建站点进行测试时,您将按以下顺序传递两个配置文件:
jekyll build --config _config.yml,_config_dev.yml
第二个配置文件中的值将覆盖第一个配置文件中的值,因此environment
将设置为dev
。
然后你可以按照David的回答中所描述的那样做:
{% if site.environment == "dev" %}
<script src="http://127.0.0.1:35729/livereload.js?snipver=1"></script>
{% endif %}
您可以在the source code of my blog中看到一个示例:
_config.yml
_config_dev.yml
jekyll build
in "dev" mode environment
变量:
答案 2 :(得分:0)
要预览带有草稿的网站,请使用
jekyll serve
开关运行jekyll build
或--drafts
。每个人都将获得其日期的草稿文件的值修改时间,因此您将看到当前编辑的草稿为最新帖子。
您尝试过吗?