diff --git a/make-pages/GalleryPage.hs b/make-pages/GalleryPage.hs index db8e4cb..5c49bae 100644 --- a/make-pages/GalleryPage.hs +++ b/make-pages/GalleryPage.hs @@ -90,6 +90,7 @@ make' root (GalleryInfo {title, desc, prefix, filters, hidden}) infos = [b|@0 infosByYear = [(the year, infopath) | infopath@(_, info) <- infos, + not $ #unlisted info, then sortInfo by info, let year = #latestYear info nsfw, then group by Down year using groupBy'] diff --git a/make-pages/Info.hs b/make-pages/Info.hs index b942a56..b495ca7 100644 --- a/make-pages/Info.hs +++ b/make-pages/Info.hs @@ -45,6 +45,8 @@ data Info = updates :: ![Update], -- | if false, don't show updated emblem even if @updates@ is non-empty showUpdated :: !Bool, + -- | hide from gallery view + unlisted :: !Bool, title :: !Text, artist :: !(Maybe Artist), -- nothing = me, obv nsfwOnly :: !Bool, @@ -245,6 +247,7 @@ instance FromYAML Info where <*> m .:? "sort" .!= "" <*> (m .:? "updates" >>= updateList) <*> m .:? "show-updated" .!= True + <*> m .:? "unlisted" .!= False <*> m .: "title" <*> m .:? "artist" <*> m .:? "nsfw-only" .!= False diff --git a/make-pages/RSS.hs b/make-pages/RSS.hs index a1ccad0..c864454 100644 --- a/make-pages/RSS.hs +++ b/make-pages/RSS.hs @@ -40,7 +40,8 @@ make' root ginfo@(GalleryInfo {title, desc, prefix}) output infos = [b|@0 link = [b|$root/$prefix|] nsfw = #nsfw ginfo items = map (uncurry $ makeItem root prefix nsfw) $ - sortBy (flip (compareFor nsfw `on` #second)) infos + sortBy (flip (compareFor nsfw `on` #second)) $ + filter (not . #unlisted . snd) infos selflink = case output of Nothing -> "" Just o -> [b||]