Как установить одну из тем Jekyll на Github Pages для предварительного просмотра?
Я пытаюсь установить Slate-тему Github Pages на мою CentOS 7 VM, чтобы я мог локально просмотреть мой новый сайт, используя bundle exec jekyll serve
команда.
Я следовал инструкциям как можно лучше.
- Я сменил тему
minima
вjekyll-theme-slate
в моем_config.yml
файл. - Потом я поменял
gem "minima", "~> 2.0"
вgem "github-pages", group: :jekyll_plugins
в моемGemfile
файл.
После этого (так как это их единственные инструкции) я побежал bundle exec jekyll serve
и он сказал мне, что у меня есть драгоценные камни, которые не были установлены (да), и предложил запустить bundle install
,
- Я побежал
bundle install
, который сказал мне, что был конфликт в типах версий зависимостей, и это предположило, чтоbundle update
потенциально может решить эту проблему. - Нет проблем, я побежал
bundle update
, Несколько плагинов / функций на самом деле вернули сюда версии, но я установил тему Slate на мою машину, версия0.0.4
для любой причины.
После этого я побежал bundle exec jekyll serve
снова. Я получил эту ошибку:
Configuration file: /home/peri/my-site/_config.yml
Configuration file: /home/peri/my-site/_config.yml
jekyll 3.4.3 | Error: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
В некотором смысле, эта ошибка имеет смысл. Чтобы пользовательская тема работала, мне, вероятно, нужен инструмент для запуска их пользовательских сценариев. Но сначала я заметил этот дополнительный раздел в инструкциях по установке темы, в котором прямо упоминается возможность локального предварительного просмотра сайта с этой темой.
- Я скачал источник, вместо того, чтобы его клонировать...
.git
вещи я? - Я редактировал
script/bootstrap
файл, потому что/usr/local
требует рута и использованияsudo
не знает ни о каком двоичном файлеgem
или жеbundle
, Я изменилсяgem
а такжеbundle
на их соответствующие абсолютные пути и побежалsudo ./script/bootstrap
Внутриslate-master
,
Дело в том, что это не сработало для моего home/peri/my-site
каталог, когда я побежал bundle exec jekyll serve
, Предположительно, это потому, что они предназначены для интеграции сайта пользователя в исходный код их темы? Это не кажется интуитивным или правильным. Итак, я исследовал ExecJS.
- Я установил это.
gem install execjs
- я добавил
gem "execjs", "2.7.0"
к моемуGemfile
файл.
Получил ту же ошибку, что и раньше.
Как я должен установить эту тему Jekyll?
1 ответ
Выполните следующие действия после изменения темы в _config.yml
:
Gemfile
должен иметь только этот контент:source "https://rubygems.org" gem "github-pages"
удалить текущий конфиг
rm -r .bundle/
удалить Gemfile.lock:
rm Gemfile.lock
Установите локальные зависимости в изолированной папке только для этого сайта:
bundle install --path=vendor/bundle
У тебя не будет
post
а такжеpage
а такжеhome
темы, вам нужно будет просто использоватьdefault
во всех ваших постах.Создайте и запустите сервер:
bundle exec jekyll s