我正在使用gh-pages为我的jekyll网站进行处理。
我一直在尝试开发,而不必在每次我想在本地提供jekyll时,在我的源的所有css,js和img文件之前删除/添加{{site.baseurl}}路径。
我有点卡在这里,因为每个人都说要传递一个像这样的空字符串:
jekyll serve --baseurl ""
但是当我这样做时,它会生成网站确定但返回:
error: can't dup TrueClass. Use --trace to view backtrace
似乎无法理解为什么我会收到此错误。
我的_config.yml或多或少看起来像这样:
url: "http://myjekyllsite.github.io/"
baseurl: "/my-baseurl"
我已将我的js和css文件链接起来,并添加了我的图片的路径,如下所示:
<img src="{{ site.baseurl }}/img/image1.jpg">
我使用的唯一插件是jekyll-sass
有什么想法吗?
答案 0 :(得分:1)
我没有找到修复dup TrueClass的传统方法,但我找到了一个很好的解决方法,所以我可以在本地开发,而不必每次都切换这些路径。
在gh-pages到jekyll的指南中: http://jekyllrb.com/docs/github-pages/
他们明确声明_config.yml中的baseurl上没有尾部斜杠。我发现不遵循他们的建议并在_config.yml中使用尾部斜杠,如下所示:
baseurl: /my-path/
我可以让所有其他链接仍然使用{{site.baseurl}}路径,而不使用前导斜杠并使用:
jekyll serve --baseurl '/' -w
所以我的所有路径都运转得很好。 例如:
<link rel="stylesheet" href="{{ site.baseurl }}css/sytle.css">
这样,当我向gh页面推送时,它也能正常工作。