28 lines
833 B
Haskell
28 lines
833 B
Haskell
{-# LANGUAGE NoImplicitPrelude #-}
|
|
{-# LANGUAGE OverloadedStrings #-}
|
|
{-# LANGUAGE QuasiQuotes #-}
|
|
{-# LANGUAGE TemplateHaskell #-}
|
|
{-# LANGUAGE TypeFamilies #-}
|
|
module Handler.Home where
|
|
|
|
import Import
|
|
|
|
import Yesod.AtomFeed ( atomLink )
|
|
|
|
import Widget.Card ( hCard )
|
|
import Widget.Feed ( hFeed )
|
|
|
|
getHomeR :: Handler Html
|
|
getHomeR = do
|
|
settings <- asks appSettings
|
|
userE@(Entity userId user) <- runDB . getBy404 . UniqueUser . siteUsername $ settings
|
|
let title = siteTitle settings
|
|
entries <- runDB $ selectList [EntryAuthorId ==. userId] [Desc EntryPublished]
|
|
defaultLayout $ do
|
|
atomLink FeedR title
|
|
toWidgetHead
|
|
[hamlet|
|
|
<meta name="author" content=#{userFullName user}>
|
|
<link rel="author" href=@{HomeR}>
|
|
|]
|
|
$(widgetFile "home")
|