module Parser.Detail ( parseDetail ) where import Data.Text (Text) import qualified Data.Text as T import Text.HTML.TagSoup import Model.Detail import Parser.Utils parseDetail :: Text -> Detail parseDetail page = let tags = parseTags page descriptionTags = getTagsBetween "
" "
" tags description = if null descriptionTags then Nothing else let replaceBr = map (\tag -> if tag ~== "
" then TagText (T.pack "\n") else tag) in Just . T.strip . renderTags . replaceBr $ descriptionTags in Detail { description = description }