【问题标题】:SCSS import fails (Jekyll)SCSS 导入失败 (Jekyll)
【发布时间】:2016-11-01 16:25:23
【问题描述】:

我正在尝试在 GitHub 页面上设置 Jekyll。在本地我没有构建/执行警告/错误,即使我使用bundle exec jekyll serve --safe。但是导入命令在 GitHub 页面上失败。我回来的错误是:

您的 SCSS 文件 css/main.scss 在第 49 行出现错误:找不到要导入的文件或无法读取: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 中描述的内容,但它没有让我有所收获。

【问题讨论】:

标签: sass jekyll github-pages


【解决方案1】:

好的,明白了!很简单。

  • Github 页面正在从您的存储库根目录运行:faif.github.io
  • 由于您的_config.yml 文件位于/blog 中,因此它不会对所有内容都采用默认设置。 eg : 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
  • 提交并推送

你完成了。

【讨论】:

  • 第二个选项是否意味着我将拥有两个独立的存储库?这会增加一些管理开销,但听起来确实比移动配置文件和重新定义所有路径更干净。
  • 是的,这就是重点。 Jekyll 非常稳定,除非您尝试更改文件夹层次结构。把它放在根目录下,它工作得很好。
  • 好的,很好。给我一些时间来实施它并接受你的回答。现在,赞成:)
  • @david-jackquel 你试过第二个选项吗?因为我无法让它工作。即使我将博客目录移动到不同的存储库,我也会遇到同样的错误:github.com/faif/myblog _config.yml 应该在哪个存储库中?
  • @david-jackquel 没关系,谢谢。我重新访问了设置,它工作正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-11
  • 2020-03-29
  • 1970-01-01
  • 2016-01-04
  • 2020-10-06
  • 1970-01-01
  • 2018-01-20
相关资源
最近更新 更多