Я создавал свой сайт с помощью css, и все работало нормально, как локально, так и удаленно. Потом я захотел перейти на sass. Я установил jekyll-compass, и теперь мои файлы sass выводятся в виде файлов css в моей папке _site/css. Все работает хорошо локально, но когда я отправляю их на Github, мои стили не применяются, и я получаю 404 в этом файле css. Что я делаю не так?
Файл CSS не найден при отправке проекта Jekyll в удаленную ветку gh-pages и использовании jekyll-compass
Ответы (2)
Вместо того, чтобы задавать для вывода визуализированных файлов SASS значение /_site/css
, задайте для вывода только /css
(корневой уровень сайта).
Происходит то, что локально SASS работает нормально и выводит данные в каталог /_site/
, как и следовало ожидать. Но в рабочей среде на страницах GitHub (где не поддерживается гем jekyll-compass) ваш CSS вообще не выводится в /_site
, потому что плагин там не выполняется.
Неважно, что он работает локально оттуда, потому что GitHub Pages снова запускает команду jekyll build
после того, как вы нажмете, и сгенерирует /_site/
заново. Таким образом, все, что он не поддерживает (например, jekyll-compass), не попадает в рабочую версию вашей папки /_site
.
Предложенный мной обходной путь работает, потому что вместо того, чтобы выводить окончательный CSS в каталог, который перезаписывается при отправке на страницы GitHub, вместо этого он записывает его в каталог, который сохраняется даже при новой сборке каталога /_site/
.
Также следует отметить, что Jekyll 2.0 будет поддерживать SASS, и вы даже можете использовать 2.0 альфа-версия локально, если хотите (хотя GH Pages не будет обновлена до версии 2.0, пока она не будет официально выпущена).
Страницы GitHub поддерживают очень мало плагинов, раньше их не было, а теперь их три. См. эту страницу для получения дополнительной информации.
Вам нужно будет скомпилировать SASS и зафиксировать сгенерированные файлы CSS.