簡體   English   中英

Jekyll:錯誤:此文件已被加載 + 無法識別的前端內容

[英]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

我應該修復什么才能構建我的網站? 謝謝你的幫助

這個問題的原因是我在_sassassets中有文件名index.sass 直到jekyll-sass-converter 3.0 版本才出現這個問題。

我將一個文件重命名為main.sass 我帶來了很多其他問題,但很容易修復,因為構建日志會告訴您如何修復它。


不是真正的錯誤。 事情是這樣發生的:

  1. index.sass有前題。 Jekyll 將文件讀取為字符串,處理並刪除前面的內容,然后開始編譯輸入的“字符串”。

  2. index.sass導入index.sass ,根據 sass 規范,自身的相對導入在加載路徑之前命中,現在我們正在導入同一個文件,技術上是循環導入。 當 sass 直接從磁盤讀取相同的輸入時,它對 Jekyll front matter 一無所知,並會因語法錯誤而放棄。

解決這個問題的一種方法是編寫一個自定義導入程序,檢查每個導入的部分中的前面內容,並在讀取為 sass 部分之前用 Jekyll 編譯它。 但是,這有明顯的缺點,不值得這樣做:

  1. Jekyll 的 sass 實現從未允許 partials 有 front matters。
  2. 在 partials 中允許 front matter 會導致編譯性能變慢,因為每個 partial 都需要由 Jekyll 進行預處理,然后通過 stdio 作為字符串傳遞給 protobuf,而不是 dart-sass-embedded 直接從磁盤讀取文件。
  3. 即使我們允許在 partials 中使用 front matter,它仍然是循環導入,用戶只會得到不同的錯誤消息。

來源: github.com/jekyll/jekyll/issues/9265

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM