2017-04-26 59 views
0

我在单个Jekyll项目中的多个站点上工作时引用了全局样式的主文件base.scss。我的项目目录如下:Jekyll是否提供了扩展主Sass文件而不导入的方法?

project | +--_sass | | | +--base.scss | +--_site | | | +--apple | | | | | +--css | | | | | +--style.css | | | +--banana | | | +--css | | | +--style.css | +--apple | | | +--css | | | +--style.scss | |--banana | | | +--css | | | +--style.scss

这个效果很好,因为每个style.scss文件的使用@import导入base.scss文件,这让我@extend的基本样式反过来。这当然会在每个导入它的文件中复制base.scss的内容。

我想知道是否有编译base.scss的方法_site/css/base.css,我会从我的共享标题中引用,同时在编辑特定于站点的Sass时保留其类的访问权限。

是否杰奇提供引用延长的Sass文件,而不在构建复制其内容的方法?

+0

我想过用我的整个底座的样式表的Sass占位符,但报酬将会非常小,因为这些都是常见的样式,最终会导入到每个站点。 – Corey

回答

0

如果我正确地理解你的问题,下面的安排应该工作一样精细:

project 
| 
+--_sass 
| | 
| +--base.scss 
| 
+--_css 
| | 
| +--main.scss 
| 
+--apples 
| | 
| +--css 
| | | 
| | +--style.css 
/* css/main.scss */ 
--- 
--- 
@import "base"; 
/* apples/css/style.css */ 
/* No need of front matter dashes here if its not a sass file */ 

.my_class { color: blue; } 
<!-- _site/index.html --> 
<head> 
    [...] 
    <link rel="stylesheet" href="/css/main.css" /> 
    <link rel="stylesheet" href="/apples/css/style.css" /> 
</head> 
+0

感谢您的回复。我的问题是在黑暗中拍摄的,你的回答并不完全是解决方案。走下你的榜样,我正在寻找一种能够“.my_class {@extend .color-blue; }'from'apples/css/style.css',而不包括'base.scss'在那个和我想引用基本文件的其他目录中。也就是说,像你一样编译到一个共享的'main.css'文件,但保留对其扩展类的访问。这不是* Sass的一个特点 - Jekyll让我对它提供的一些东西感到惊讶,所以我想知道它是否可以为此提供一个处理程序。 – Corey