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

时间:2018-07-11 18:48:03

标签: jekyll

当我在本地运行我的网站时,它看起来像这样:enter image description here

但是,实际上在互联网上查看时,它并没有应用CSS,在我看来:enter image description here

有人对为什么这样做有意见吗?

更新

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

在我的ubuntu实例上运行的本地Jekyll服务器上,当查看页面源代码时,来自head.html的上一行被转换为: <link rel="stylesheet" href="/public/css/poole.css">

当我在线查找站点时,相同的字符串被转换为: <link rel="stylesheet" href="public/css/poole.css">

缺少斜杠会导致链接在当前路径而不是根路径中搜索。我试图弄清楚为什么在Internet上运行时不包含斜杠。

2 个答案:

答案 0 :(得分:0)

  1. _config.yml 中将cron更改为9 00 * * * /path/to/virtual/env /path/to/script

  2. 通过baseurl: /

  3. 调用您的资产

在您的代码中是

baseurl: ''

或在jekyll minima中:

{{ site.baseurl }}/path/to/file

答案 1 :(得分:0)

更新

以下解决方案似乎按预期方式工作。 OP进行了更改,并正在使用相对链接,这些链接可以按预期工作。

enter image description here

enter image description here

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

<link rel="stylesheet" href="/public/css/poole.css">

如果出于任何原因仍然需要从互联网加载资产,则建议您使用site.url文件中的_config.yml变量。

<link rel="stylesheet" href="{{ site.url }}public/css/poole.css">

Jekyll自动处理此问题,这意味着,如果您在本地运行站点,则在远程运行时它将用您的localhost URL替换,反之亦然。

相关问题