SCSS @ импорт в Jekyll 2.1

#sass #jekyll

#sass #jekyll

Вопрос:

У меня есть такая структура проекта

 -Project
    -css
        -main.scss
        -_sass/
            -base
            -layout
            -pages
            -vendor
  

Содержимое моего основного файла.scss.

 ---
---

@import "sass/base/reset";
@import "sass/base/colours";
@import "sass/base/vars-typeplate";
@import "sass/base/typeplate";
  

Я прочитал в документации Jekyll, что для работы с инструкциями SCSS я должен включить sass: sass_dir: _sass. Я полагаю, мне нужно добавить эту строку в _config.yml. Но я сделал это в своем, и это все еще не работает. Каждый раз, когда я пытаюсь запустить jekyll serve. Моя консоль показывает это сообщение:

 jekyll 2.1.0 | Error:  File to import not found or unreadable
  

Комментарии:

1. Может быть, вам стоит сначала попробовать разобраться в этом: compass-style.org Я ничего не знаю о Jekyll, но сначала вам нужно установить sass (а когда вы устанавливаете плагин compass, он автоматически устанавливает и sass compass просто великолепен)

2. Я установил Sass на свой компьютер. Jekyll отлично запускает мои файлы Sass, хотя для использования инструкций @import мне нужно настроить какую-то специальную конфигурацию.

3. может быть, вы могли бы попробовать: @import «сброс»; вместо всего пути?

4. Это выдало мне ту же ошибку.

5. Последний вариант, который я знаю, отключен (потому что я знаю sass, но не Jekyll. Заключается в том, чтобы не использовать многоуровневые файлы scss. Просто поместите их все в папку css. В противном случае я не смогу вам помочь

Ответ №1:

В документе Jekyll говорится: Если вы используете инструкции Sass @import, вам нужно убедиться, что ваш sass_dir установлен в базовый каталог, который содержит ваши файлы Sass.

Тогда для вас это css /_sass.

В вашем _config.yml у вас есть :

 sass:
    sass_dir: css/_sass
  

И в css/mains.cscc

 ---
---

@import "reset";
  

И это все.

Ответ №2:

Для пользователей, находящихся на Jekyll 3.x, которые попадают сюда, вот простой шаблон, которому нужно следовать:

Добавьте файлы в свой _sass каталог, например:

 .
├── elements.scss
├── forms.scss
├── layout.scss
├── mixins
│   ├── columns.scss
│   └── flexbox.scss
├── navigation.scss
└── variables.scss
  

Нет необходимости ставить перед любым из этих файлов пустой блок front matter и обновлять конфигурацию Jekyll.

Затем создайте css папку в корневом каталоге вашего сайта и создайте screen.scss файл, подобный этому:

 ---
---
@import "mixins/flexbox";
@import "mixins/columns";
@import "variables";
@import "elements";
@import "layout";
@import "forms";
  

Обратите внимание, что этот файл действительно использует ---n-- , поэтому Jekyll получает его и обрабатывает должным образом.

Результатом будет выходной файл, содержащий весь ваш транспилированный CSS, который вы можете использовать в теге ссылки в заголовке вашего документа:

 <link rel="stylesheet" href="{{ site.baseurl }}/css/screen.css">
  

Для получения последней версии обратитесь к документам Jekyll.

Ответ №3:

В config.yml

 sass_dir: css/_sass
  

Вы должны указать полный URL.

Ответ №4:

поместите _sass в корень проекта.