[英]Jekyll: Error: This file is already being loaded + unrecognized front matter
我有一個基於 jekyll 的博客。 當我嘗試構建它時出現此錯誤:
...
Generating...
Jekyll Feed: Generating feed for posts
Warning on line 1, column 1 of /home/john/Projects/blackblog/assets/css/index.sass:
This selector doesn't have any properties and won't be rendered.
╷
1 │ ---
│ ^^^
╵
Warning on line 2, column 1 of /home/john/Projects/blackblog/assets/css/index.sass:
This selector doesn't have any properties and won't be rendered.
╷
2 │ ---
│ ^^^
╵
Error: This file is already being loaded.
┌──> /home/john/Projects/blackblog/assets/css/index.sass
4 │ @import index, font, basic, layout
│ ^^^^^ new load
╵
┌──> /home/john/Projects/blackblog/assets/css/classes.sass
1 │ @import index, highlight
│ ━━━━━ original load
╵
/home/john/Projects/blackblog/assets/css/index.sass 4:9 @import
/home/john/Projects/blackblog/assets/css/classes.sass 1:9 root stylesheet
Conversion error: Jekyll::Converters::Sass encountered an error while converting 'assets/css/classes.sass':
This file is already being loaded.
...
整個站點的代碼: github.com/yagarea/blackblog 。
我應該修復什么才能構建我的網站? 謝謝你的幫助
這個問題的原因是我在_sass
和assets
中有文件名index.sass
。 直到jekyll-sass-converter
3.0 版本才出現這個問題。
我將一個文件重命名為main.sass
。 我帶來了很多其他問題,但很容易修復,因為構建日志會告訴您如何修復它。
不是真正的錯誤。 事情是這樣發生的:
index.sass
有前題。 Jekyll 將文件讀取為字符串,處理並刪除前面的內容,然后開始編譯輸入的“字符串”。
index.sass
導入index.sass
,根據 sass 規范,自身的相對導入在加載路徑之前命中,現在我們正在導入同一個文件,技術上是循環導入。 當 sass 直接從磁盤讀取相同的輸入時,它對 Jekyll front matter 一無所知,並會因語法錯誤而放棄。
解決這個問題的一種方法是編寫一個自定義導入程序,檢查每個導入的部分中的前面內容,並在讀取為 sass 部分之前用 Jekyll 編譯它。 但是,這有明顯的缺點,不值得這樣做:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.