Merge branch 'utf8'
Build and Deploy / build-and-deploy (push) Successful in 1m43s

This commit is contained in:
2026-05-19 23:29:45 -04:00
+6 -2
View File
@@ -7,8 +7,11 @@ module Roux.RecipeIndex (
toSearchEntry, toSearchEntry,
) where ) where
import qualified Data.ByteString as BS
import Data.Text (Text) import Data.Text (Text)
import qualified Data.Text as T import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Data.Text.Encoding.Error as T
import Fleece.Aeson (EncoderDecoder) import Fleece.Aeson (EncoderDecoder)
import Fleece.Core (constructor, list, object, optionalNullable, required, text, (#+)) import Fleece.Core (constructor, list, object, optionalNullable, required, text, (#+))
import qualified Fleece.Core as FC import qualified Fleece.Core as FC
@@ -39,8 +42,9 @@ scanRecipes dir = do
-- | Load and parse a single recipe file. -- | Load and parse a single recipe file.
loadRecipe :: FilePath -> FilePath -> IO RecipeInfo loadRecipe :: FilePath -> FilePath -> IO RecipeInfo
loadRecipe dir filename = do loadRecipe dir filename = do
content <- readFile (dir </> filename) bs <- BS.readFile (dir </> filename)
let parsed = parseCookFile (T.pack content) let content = T.decodeUtf8With T.lenientDecode bs
parsed = parseCookFile content
title = case parsed of title = case parsed of
Right r -> extractTitle r filename Right r -> extractTitle r filename
Left _err -> T.pack (takeBaseName filename) Left _err -> T.pack (takeBaseName filename)