我正在尝试使用Jekyll创建一个网站,一切正常。直到我想要定制设计。
我已更新我的css/main.scss
,以便在_sass/theme.scss
中包含我的自定义主题:
// Import partials from `sass_dir` (defaults to `_sass`)
@import
"base",
"layout",
"syntax-highlighting",
"theme"
;
我还更新了_config.yml
,因为jekyll serve -H 0.0.0.0
没有编译我的新sass文件。我添加了以下内容:
sass:
sass_dir: _sass
问题是jekyll serve
没有编译我的sass文件,我总是看到默认的css。我还试图直接在_sass/theme.scss
的末尾复制css/main.scss
的内容,但没有任何反复发生。
直到我在jekyll serve
运行时修改了其中一个文件。事情是jekyll-watch
了解我的更新并编译scss文件。我可能在第一次尝试编译sass文件时做错了吗?
如果您需要,请点击我的项目树:
jekyll build
有人知道如何解决这个问题吗?
谢谢,
答案 0 :(得分:8)
好的,我明白了!
您有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
答案 1 :(得分:3)
您是否已将前面的内容添加到main.scss文件的顶部?
答案 2 :(得分:1)
首先添加到config.yml
sass:
sass_dir: _sass
然后在main.scss文件中添加到顶部,两个虚线https://jekyllrb.com/docs/assets/
---
---
@charset "utf-8";
在您的cmd控制台中写入
之后jekyll serve
并检查您的编辑。
答案 3 :(得分:0)
当尝试使用Jekyll将YAML内容传递到局部时,我遇到了类似的问题。似乎无法执行此工作流程。
解决方法是将所有变量放在主SCSS文件上,并让Jekyll从YAML中填充值,然后将部分样式用于实际样式。
这是我的一些解决方案的简单回购协议:https://github.com/guschiavon/jekyllfy-sass