2016-01-13 40 views
3

我正在開發一個網頁,我使用Bootswatch進行造型。有時我必須脫機工作,並在本地進行託管。不幸的是Bootswatch無法脫機使用,因爲它使用一個版本的引導CSS與在開始時一個額外的字體:Bootstrap CSS沒有谷歌字體2(Bootswatch)

@import url("https://fonts.googleapis.com/css?family=Lato:300,400,700"); 

這意味着構建失敗每次,我不能部署。我見過這個問題: Bootstrap CSS without Google Fonts 但它沒有一個令人滿意的答案。他們建議只刪除該行,但部署時仍然需要它,並且由於版本更新,在下次更新時它會被覆蓋得非常快。我正在尋找一個解決方案,它可以:

  • 忽略了進口,在離線狀態下
  • 覆蓋的進口,在離線狀態下(前進口手動字體,然後更改導入了當地一個)我倒是很喜歡這個版本

而這一切的最終解決方案,我不希望每個NPM /涼亭更新後更改代碼...

回答

2

最新版本Bootswatch(> 3.3.6.1)引入一個SASS變量$web-font-path,你可以覆蓋一個D設置爲空值:

// use google fonts api offline 
$web-font-path: ''; 
@import "fonts.yeti.offline"; 

@import "yeti/variables"; 
@import "yeti/bootswatch"; 

要離線服務所需的字體,我以前https://google-webfonts-helper.herokuapp.com生成fonts.yeti.offline.scss文件,並下載所需的字體文件。要在線和離線模式之間切換,您可以切換代碼中的前兩行。

+0

你能詳細說一下嗎?當您包含指定脫機字體位置的css文件時,如何忽略在線導入? – ventsyv

+0

bootswatch sass文件包含默認值!指令的路徑。只有未設置時纔會設置。通過將其設置爲空字符串,以下@import規則將不會執行任何操作。看到代碼在這裏https://github.com/thomaspark/bootswatch/blob/gh-pages/yeti/_bootswatch.scss – ToniTornado

+0

所以基本上「重新編譯」提升庫,對嗎? – ventsyv