我正在用Jekyll创建一个GitHub项目页面。
我已阅读过有关此主题的问题,以及Jekyll documentation here。
我已尝试将_config.yml
中的baseurl设置为/my-project
和
http://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
并以这种方式链接我的文件,但这也不起作用。
答案 0 :(得分:1)
我明白了 - baseurl
没有被解析,因为我错误地将它放在JB:
的{{1}}哈希下。我将_config.yml
移到文件的其他部分,现在它正常工作。
答案 1 :(得分:0)
尝试使用url
代替。这就是我使用的。
答案 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