Jekyll不用`jekyll serve`编译scss文件

bjo*_*rge 4 sass jekyll

我正在尝试使用Jekyll创建一个网站,一切正常.直到我想定制设计.

我更新了我的内容css/main.scss,以便将自定义主题包含在_sass/theme.scss:

// Import partials from `sass_dir` (defaults to `_sass`)
@import
        "base",
        "layout",
        "syntax-highlighting",
        "theme"
;
Run Code Online (Sandbox Code Playgroud)

我也更新了_config.yml,因为jekyll serve -H 0.0.0.0没有编译我的新sass文件.我添加了以下内容:

sass:
    sass_dir: _sass
Run Code Online (Sandbox Code Playgroud)

问题是jekyll serve没有编译我的sass文件,我总是看到默认的CSS.我也试图_sass/theme.scss直接复制内容css/main.scss,但没有任何反应.

直到我jekyll serve在运行时修改其中一个文件.事情是jekyll-watch了解我的更新并编译scss文件.我可能jekyll build在第一次尝试编译sass文件时做错了吗?

万一你需要它,在这里我的项目树:

.
??? _config.yml
??? css
?   ??? main.css
?   ??? main.scss
??? _images
??? img
??? index.html
??? _sass
    ??? _base.scss
    ??? _layout.scss
    ??? _syntax-highlighting.scss
    ??? _theme.scss
Run Code Online (Sandbox Code Playgroud)

有人知道如何解决这个问题吗?

谢谢,

Dav*_*uel 9

好的我明白了 !

您有一个css/main.css被复制为静态文件的文件_site/css/main.css.

问题是它与css/main.scss目标同名_site/css/main.css.

所以在第一次构建时:

  • css/main.scss 被处理为 main.css
  • 然后,当复制静态文件时,它被覆盖css/main.css.

解决方案:删除 css/main.css


Men*_*ndo 5

您是否已将前端内容添加到 main.scss 文件的顶部?