2017-10-02 03:07:09 -04:00
|
|
|
{-# LANGUAGE NoImplicitPrelude #-}
|
|
|
|
{-# LANGUAGE OverloadedStrings #-}
|
2017-10-05 08:09:44 -04:00
|
|
|
{-# LANGUAGE QuasiQuotes #-}
|
2017-10-02 03:07:09 -04:00
|
|
|
{-# LANGUAGE TemplateHaskell #-}
|
|
|
|
{-# LANGUAGE TypeFamilies #-}
|
|
|
|
module Handler.Home where
|
|
|
|
|
|
|
|
import Import
|
2017-10-08 22:32:13 -04:00
|
|
|
|
|
|
|
import Yesod.AtomFeed ( atomLink )
|
|
|
|
|
2017-10-08 01:55:21 -04:00
|
|
|
import Widget.Card ( hCard )
|
2017-10-08 02:19:22 -04:00
|
|
|
import Widget.Feed ( hFeed )
|
2017-10-02 03:07:09 -04:00
|
|
|
|
|
|
|
getHomeR :: Handler Html
|
2017-10-02 09:52:14 -04:00
|
|
|
getHomeR = do
|
2017-10-10 21:55:24 -04:00
|
|
|
settings <- asks appSettings
|
|
|
|
userE@(Entity userId user) <- runDB . getBy404 . UniqueUser . siteUsername $ settings
|
|
|
|
let title = siteTitle settings
|
2017-10-08 02:19:22 -04:00
|
|
|
entries <- runDB $ selectList [EntryAuthorId ==. userId] [Desc EntryPublished]
|
2017-10-03 06:53:29 -04:00
|
|
|
defaultLayout $ do
|
2017-10-08 22:50:26 -04:00
|
|
|
atomLink FeedR title
|
2017-10-05 08:09:44 -04:00
|
|
|
toWidgetHead
|
|
|
|
[hamlet|
|
2017-10-08 02:19:22 -04:00
|
|
|
<meta name="author" content=#{userFullName user}>
|
2017-10-05 08:09:44 -04:00
|
|
|
<link rel="author" href=@{HomeR}>
|
|
|
|
|]
|
2017-10-03 06:53:29 -04:00
|
|
|
$(widgetFile "home")
|