add support for structured descriptions

This commit is contained in:
Rhiannon Morris 2021-03-07 22:08:44 +01:00
parent 519a50489f
commit 5c3ca348c2
3 changed files with 76 additions and 13 deletions

View file

@ -62,8 +62,8 @@ makeItem root prefix nsfw path i@(Info {title, date, artist}) = [b|@4
Artist {name, url = Nothing} -> [b|<p>by $name|]
Artist {name, url = Just url} -> [b|<p>by <a href=$url>$name</a>|]
desc = descFor nsfw i
desc' = ifJust desc \d -> [b|$10.d|]
descArtist' = if isJust desc || isJust artist then [b|@6
desc' = makeDesc desc
descArtist' = if #exists desc || isJust artist then [b|@6
<description>
<![CDATA[
$10.desc'
@ -73,3 +73,11 @@ makeItem root prefix nsfw path i@(Info {title, date, artist}) = [b|@4
|]
else ""
date' = formatRSS date
makeDesc :: Desc -> Builder
makeDesc NoDesc = ""
makeDesc (TextDesc txt) = [b|$txt|]
makeDesc (LongDesc fs) = [b|$fields|]
where
fields = map makeField fs
makeField (DescField {name, text}) = [b|<b>$name</b>: $text|]