SCSS 导入失败 (Jekyll)

SCSS import fails (Jekyll)

我正在尝试在 GitHub 页面上设置 Jekyll。在本地我没有 build/execution warnings/errors,即使我使用 bundle exec jekyll serve --safe。但是导入命令在 GitHub 页上失败。我返回的错误是:

Your SCSS file css/main.scss has an error on line 49: File to import not found or unreadable: base

我没有更改main.scss的内容:

// Import partials from `sass_dir` (defaults to `_sass`)
@import
    "base",
    "layout",
    "syntax-highlighting"
;

_config.yml 中显式定义 sass_dir 变量没有帮助。有没有办法在本地调试 scss 文件?我试过使用 sass 命令,但它似乎不适用于 scss 文件。

我知道问题出在 @import 部分,因为如果我对其进行评论并在 GitHub 页面上推送构建,页面将不再失败——但我的博客很丑:)

注意:我已经尝试了 SCSS @import in Jekyll 2.1 中描述的内容,但没有成功。

好的,明白了!很简单。

  • Github 页面是 运行 来自您的存储库根目录:faif.github.io
  • 因为您的 _config.yml 文件在 /blog 中,所以它看不到它,并且对所有内容都采用默认设置。例如:scss 导入的路径是 faif.github.io/_sass 并导致错误,因为您的文件位于 faif.github.io/blog/_sass.

第一个选项

在根部移动 _config.yml 并调整 sass, includes, ... 变量。我不认为这是最好的选择,但如果可以在 jekyll 3 中配置,它几乎可以完成所有事情。1.x (documentation).

第二个选项

  • 创建一个博客 存储库
  • 克隆它
  • git checkout -b gh-pages 因为项目存储库仅从 gh-pages 分支发布
  • 将您的博客文件夹内容复制到此存储库中
  • 从 faif.github.io 存储库中删除您的博客文件夹
  • _config.yml
  • 中将baseurl更改为/blog
  • 提交并推送

大功告成。