无法使site.baseurl在jekyll中工作

时间:2014-03-19 17:49:03

标签: web-deployment jekyll github-pages

我正在用Jekyll创建一个GitHub项目页面。

我已阅读过有关此主题的问题,以及Jekyll documentation here

我已尝试将_config.yml中的baseurl设置为/my-projecthttp://myaccount.github.io/my-project同时链接我的CSS和js文件,如下所示:

<script src="{{ site.baseurl }}/js/javascript.js"></script>
<link href="{{ site.baseurl }}/css/style.css" rel="stylesheet">

当我运行jekyll --serve --baseurl ''时,localhost上的一切看起来都不错。

但是当我推送到github时,我的所有CSS和js文件都是404;链接将变为http://css/style.css,依此类推。

我在这里缺少什么?

我还对BASE_PATH_config.yml变量的目的感到困惑,而不是baseurl

我尝试设置BASE_PATH并以这种方式链接我的文件,但这也不起作用。

5 个答案:

答案 0 :(得分:1)

我明白了 - baseurl没有被解析,因为我错误地将它放在JB:的{​​{1}}哈希下。我将_config.yml移到文件的其他部分,现在它正常工作。

答案 1 :(得分:0)

尝试使用url代替。这就是我使用的。

请参阅http://jekyllrb.com/docs/configuration/

答案 2 :(得分:0)

您可以尝试在配置文件中创建一个新变量

newbaseurl: /

并使用它而不是baseurl,这似乎解决了我的问题。

答案 3 :(得分:0)

我通过将site.baseurl更改为relative_url修复了类似问题:Jekyll site works locally but not on Github Pages

尝试newbaseurl: /对我不起作用。

答案 4 :(得分:0)

我遇到了同样的问题,并且在_config.yml内部创建了一个新变量

exclude-result-prefixes="xsi svg"

然后我像这样使用该变量

<xsl:stylesheet 
      xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
      xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
      xmlns:svg="http://www.w3.org/2000/svg"
      xmlns="http://www.w3.org/2000/svg"
      exclude-result-prefixes="xsi svg"
      version='1.0'>

    <!-- this template is applied by default to all nodes and attributes -->
    <xsl:template match="@*|node()">
        <!-- just copy all my attributes and child nodes, except if there's a better template for some of them -->
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

   <xsl:template match="svg:title">
      <xsl:copy-of select="."/>
      <style>.val{--valence: #4599a3}</style>
   </xsl:template>

</xsl:stylesheet>

另外,请记住在推入遥控器之前进行构建。运行它来构建

resource: https://name.github.io/myapp