2017-04-26 58 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