【问题标题】:Is there a way to check whether a jekyll site is being served locally?有没有办法检查 jekyll 站点是否在本地提供服务?
【发布时间】:2015-07-07 16:40:31
【问题描述】:

我只想在本地运行jekyll serve 时将以下行添加到我的head.html

  <script src="http://127.0.0.1:35729/livereload.js?snipver=1"></script>

如果可能的话,我正在考虑使用一些简单的液体检查。

【问题讨论】:

    标签: jekyll liquid


    【解决方案1】:

    当您在本地执行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

    【讨论】:

    • 好像不行,运行jekyll serve和运行jekyll build时,脚本标签最终出现在页面源中。
    • 你在哪里做这个?在本地,在远程服务器上,在 github 上?
    • 我已经编辑了我的答案来解释如何设置环境变量。
    • 啊,有趣。我将我的网站放在 GitHub 上,但我在本地编译它并推送它,因为我使用的是 octopress 3。看来我必须在我的机器中设置该变量,但因为它是一个网站由许多手/机器编辑,我仍然不确定最好的方法。也许只是让脚本标签挂在那里是最简单的。
    • 在 Octopress 部署模式中,Christian 的答案就是一个。使用多个配置文件。
    【解决方案2】:

    替代解决方案(例如,如果您将 Jekyll 网站托管在自己的服务器上,而不是在 GitHub Pages 上)

    您可以像这样在配置文件_config.yml 中设置一个值:

    environment: prod
    

    然后,您可以拥有另一个覆盖相同值的配置文件,我称之为config_dev.yml

    environment: dev
    

    当你调用jekyll build时,它会使用真实配置文件中的prod值。

    但是当您在本地机器上构建站点进行测试时,您会按以下顺序传递两个配置文件:

    jekyll build --config _config.yml,_config_dev.yml
    

    第二个配置文件中的值将覆盖第一个配置文件中的值,因此environment 将设置为dev

    然后你可以按照大卫的回答中描述的那样做:

    {% if site.environment == "dev" %}
      <script src="http://127.0.0.1:35729/livereload.js?snipver=1"></script>
    {% endif %}
    

    你可以在the source code of my blog看到一个例子:

    【讨论】:

    • 这也是一个同样好的解决方案,但正如我在另一个答案中评论的那样,我想我会留下脚本行。
    【解决方案3】:

    要使用草稿预览您的网站,请使用--drafts 开关运行jekyll servejekyll build。每个都将被分配草稿文件在其日期的值修改时间,因此您将看到当前编辑的草稿作为最新帖子。

    你试过了吗?

    https://jekyllrb.com/docs/posts/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多