Jekyll发布的格式可以在本地正确显示,但不能在internet上显示

Jekyll发布的格式可以在本地正确显示,但不能在internet上显示,jekyll,Jekyll,当我在本地运行我的站点时,它如下所示: 然而,在互联网上实际查看时,它并没有应用CSS,在我看来: 有人对它为什么会这样做有什么建议吗 更新 我想我看到了哪里出了问题,尽管我不知道为什么。 在head.html文件中,我有一行 link rel=“stylesheet”href=“{{site.baseurl}}}public/css/poole.css” 在我的ubuntu实例上运行的本地Jekyll服务器上,当查看页面源代码时,head.html中的上一行被转换为: 然而,当我在线查找站点

当我在本地运行我的站点时,它如下所示:

然而,在互联网上实际查看时,它并没有应用CSS,在我看来:

有人对它为什么会这样做有什么建议吗

更新

我想我看到了哪里出了问题,尽管我不知道为什么。 在head.html文件中,我有一行
link rel=“stylesheet”href=“{{site.baseurl}}}public/css/poole.css”

在我的ubuntu实例上运行的本地Jekyll服务器上,当查看页面源代码时,head.html中的上一行被转换为:

然而,当我在线查找站点时,相同的字符串会被转换为:

缺少斜杠会导致链接在当前路径而不是根路径中搜索。我试图弄明白为什么在互联网上运行时不包括斜杠

  • \u config.yml中,将
    baseurl://
    更改为
    baseurl:“

  • 使用
    {{site.baseurl}}/path/to/file调用您的资产

  • 在您的代码中:

    或在:


    更新:

    下面的解决方案似乎正在按预期工作。OP已经进行了更改,并且正在使用按预期工作的相对链接

    您可以简单地使用相对路径。不需要整个URL。它的加载速度也会更快

    如果出于任何原因,您仍然需要从internet加载资产,那么我建议您使用
    \u config.yml
    文件中的
    site.url
    变量


    Jekyll会自动处理这个问题,这意味着如果你在本地运行该站点,它会用你的本地主机URL替换它,反之亦然。我让Jekyll在我的ubuntu机器上本地为我提供服务,然后它被部署到github页面。我一直在将我的内容迁移到海德主题,以确保主页正常工作。看起来CSS使用的是相对链接,而不是绝对链接,所以样式表上除了404主页之外的任何页面都是如此。这是有道理的,我认为可能是这样。我会更深入地研究这个问题!感谢您查看它,
    {{site.baseurl}}
    似乎是空的,但我对Jekyll了解不够,无法告诉您原因。因此,由于baseurl只是一个空字符串,我猜“/path/to/file”需要是整个路径名,即。ashears@github.io/ . 如果在本地主机为4000的开发机器上本地运行,它不会工作吗,该格式的链接在页面中生成以下字符串来源:local:Internet:当站点位于Internet上时,html代码中不会显示斜杠,但当它位于local时会显示斜杠。这是一个非常糟糕的建议。必须使用
    site.baseurl
    ,以确保在任何情况下都可以访问资产。例如,如果代码托管在项目存储库中,则此操作将失败。感谢您的反馈,但您能否指导OP和我找到一些验证您评论的文档?基本URL不是Jekyll中的默认变量,而URL是。您可以git@github.com:ashears/ashears.github.io.git您可以自己看到,因为它是作为项目存储库(可在上获得)分叉的,您的建议是错误的<代码>
    将是404,以及
    。我在回答“我的杰基尔资产在哪里?”这样的问题,因为几年前,相信我,我知道我在说什么。@DavidJacquel这不是一个项目页面,如果是URL,它将不是
    keithmifsud.github.io/ashear.github.io
    ,而是
    USERNAME.github.io/REPO\u NAME
    ,在这种情况下,它的项目端可能有自己的
    baseurl
    。这个人不需要也不会需要它。它只是Ops
    \u config.yml
    文件中的一个空属性。