allow updates to be marked nsfw-only

This commit is contained in:
Rhiannon Morris 2020-11-16 23:30:56 +01:00
parent 6567bdf059
commit 9a54cc0d53
4 changed files with 85 additions and 36 deletions

View file

@ -5,9 +5,9 @@ import Info
import BuilderQQ
import Records ()
import Data.List (sortOn)
import Data.List (sortBy)
import Data.Maybe (isJust)
import Data.Ord (Down (..))
import Data.Function (on)
import qualified Data.Text as Strict
import qualified Data.Text.Lazy as Lazy
import System.FilePath (takeDirectory)
@ -23,7 +23,7 @@ make root ginfo output infos =
make' :: Strict.Text -> GalleryInfo
-> Maybe FilePath -> [(FilePath, Info)] -> Builder
make' root (GalleryInfo {title, desc, prefix}) output infos = [b|@0
make' root ginfo@(GalleryInfo {title, desc, prefix}) output infos = [b|@0
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
@ -38,7 +38,9 @@ make' root (GalleryInfo {title, desc, prefix}) output infos = [b|@0
|]
where
link = [b|$root/$prefix|]
items = map (uncurry $ makeItem root prefix) $ sortOn (Down . #second) infos
nsfw = #nsfw ginfo
items = map (uncurry $ makeItem root prefix) $
sortBy (flip (compareFor nsfw `on` #second)) infos
selflink = case output of
Nothing -> ""
Just o -> [b|<atom:link href="$link/$o" rel="self" />|]