Jekyll serve --baseurl '' возвращает ошибку: не может дублировать TrueClass. Используйте --trace для просмотра backtrace
Я использую gh-страницы для депоимента для своего сайта на jekyll.
Я пытался разработать без необходимости удалять / добавлять пути {{ site.baseurl }} обратно перед всеми файлами css, js и img для моих источников каждый раз, когда я хочу обслуживать jekyll локально.
Я немного застрял здесь, так как все говорят, чтобы передать пустую строку, как это:
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
Есть идеи?
1 ответ
Я не нашел традиционного способа исправления дублирующего TrueClass, но нашел достаточно хороший способ обойти это, чтобы я мог развиваться локально, не меняя каждый раз эти пути.
В руководстве для gh-страниц для Джекилла здесь: http://jekyllrb.com/docs/github-pages/
Они специально заявляют, что не должны иметь косой черты в вашем baseurl в вашем _config.yml. Я обнаружил, что не следую их советам и использую косую черту в _config.yml примерно так:
baseurl: /my-path/
Я мог бы сделать так, чтобы все мои другие ссылки все еще использовали путь {{ site.baseurl }}, без косой черты и использования:
jekyll serve --baseurl '/' -w
Так что все мои пути работают просто отлично. Пример:
<link rel="stylesheet" href="{{ site.baseurl }}css/sytle.css">
Таким образом, это работает, когда я нажимаю на gh-страницы тоже.