Properly set p-name on h-feeds, rather than trying to infer it and getting awful names

This commit is contained in:
Danielle McLean 2017-10-16 22:40:35 +11:00
parent 46c393552a
commit db32b02811
Signed by: 00dani
GPG key ID: 5A5D2D1AFF12EEC5
7 changed files with 25 additions and 16 deletions

View file

@ -8,12 +8,15 @@ import Database.Esqueleto
import Widget.Feed ( hFeed )
import Model.Category ( Category, asTag )
import qualified Data.Text as T
getCategoryR :: Category -> Handler Html
getCategoryR tag = do
title <- asks $ siteTitle . appSettings
entries <- runDB . select . from $ \(entry `InnerJoin` category) -> do
on $ entry ^. EntryId ==. category ^. EntryCategoryEntryId
where_ $ category ^. EntryCategoryCategory ==. val tag
return entry
defaultLayout $ do
setTitle . toHtml . asTag $ tag
hFeed entries
T.concat [asTag tag, " ~ ", title] `hFeed` entries

View file

@ -20,10 +20,11 @@ getEntriesR :: K.EntryKind -> Handler Html
getEntriesR kind = do
entries <- runDB $ selectList [EntryKind ==. kind] [Desc EntryPublished]
title <- asks $ siteTitle . appSettings
let myTitle = T.concat [K.pluralise kind, " ~ ", title]
defaultLayout $ do
setTitle . toHtml . K.pluralise $ kind
atomLink (FeedKindR kind) $ T.concat [K.pluralise kind, " ~ ", title]
hFeed entries
FeedKindR kind `atomLink` myTitle
hFeed myTitle entries
getEntryR :: a -> EntryId -> Handler Html
getEntryR _ = renderEntry <=< getCached

View file

@ -4,5 +4,9 @@ module Widget.Feed ( hFeed ) where
import Import
import Widget.Entry ( hEntry )
hFeed :: [Entity Entry] -> Widget
hFeed entries = $(widgetFile "mf2/h-feed")
import qualified Data.Text as T
hFeed :: T.Text -> [Entity Entry] -> Widget
hFeed name entries = do
mroute <- getCurrentRoute
$(widgetFile "mf2/h-feed")

View file

@ -2,7 +2,7 @@ body > main
display: flex
flex-direction: column
align-items: center
> ol.h-feed
> div.h-feed
flex: 1
margin-bottom: 0
> aside.author
@ -16,7 +16,7 @@ body > main
body > main
flex-direction: row-reverse
align-items: unset
> ol.h-feed
> div.h-feed
margin-right: 2em
> aside.author
margin-bottom: 0

View file

@ -1,2 +1,2 @@
<aside .author>^{hCard user}
^{hFeed entries}
^{hFeed title entries}

View file

@ -1,5 +1,2 @@
ol.h-feed
list-style: none
padding-left: 0
> li:not(:last-child)
margin-bottom: 1em
div.h-feed > ol > li:not(:last-child)
margin-bottom: 1em

View file

@ -1,3 +1,7 @@
<ol .h-feed>
$forall entry <- entries
<li>^{hEntry entry}
<div .h-feed>
<span .p-name hidden>#{name}
$maybe route <- mroute
<a .u-url href=@{route} hidden>
<ol .list-unstyled>
$forall entry <- entries
<li>^{hEntry entry}