在jekyll本地开发期间将site.url更改为localhost

 HIGO 发布于 2022-12-06 11:00
  • php
  • 我的jekyll博客模板包含资源和页面的链接,如下所示:

    {{ site.url }}/my-page.html
    

    这在部署中很有效,但是当我jekyll serve在开发中运行时,所有链接都指向实时页面而不是开发页面.

    my-site-url/my-page.html
    
    # But I want this in development
    localhost:4000/my-page.html
    

    有没有办法让jekyll {{ site.url }}在开发中使用不同的东西?

    1 个回答
    • 这是不同Jekyll环境之间的常见问题.

      一些解释

      我们需要了解site.url并且site.baseurl在哪种情况下我们需要它们.这些变量不能用于同一目的.

      site.url

      默认情况下,此变量仅在canonical页眉中用于标题和RSS link.它也在xml提要中用于指向站点资源,因为管理此提要的软件不知道资源的URL.

      此变量仅对外部系统是必需的.

      site.baseurl

      此变量指示Jekyll站点的根文件夹.默认情况下,它设置为""(空字符串).这意味着你的Jekyll网站是其根源http://example.com.

      如果你的Jekyll网站存在http://example.com/blog,你必须设置site.baseurl/blog(注意斜线).这将允许资产(css,js)正确加载.

      了解资产如何加载到您的头脑中:

      <link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}">
      

      也可以是:

      <link rel="stylesheet" href="{{ site.baseurl }}/css/main.css">
      

      在不同的环境中工作

      现在,您必须在本地测试您的站点并将其部署到生产环境中.有时,它baseurl是不同的,并且jekyll build在其中一个环境中可能无法开箱即用.

      这里我们有两个解决方案:

      使用 jekyll serve

      让我们假设您的网站位于github存储库中,并在其中提供服务https://username.github.io/myProject.

      您可以设置baseurl/myProject.并在本地测试您的网站jekyll serve,您的网站将在http://127.0.0.1:4000/myProject/

      使用多个配置文件

      如果由于某种原因导致您无法使用jekyll serve,则可以为两个环境设置配置文件,jekyll build具体取决于您的部署位置.

      假设我们有本地网站服务,http://localhost生产网站服务于https://username.github.io/myProject.

      我们离开_config.ymlurl: https://username.github.iobaseurl: /myProject

      我们_config_dev.yml只用url: https://localhost和创造一个新的baseurl: ""

      现在在本地测试:

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

      要么

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

      按下生产时,该jekyll build命令将使用默认值_config.yml.

      2022-12-11 02:12 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有