Simplify Post

You need to import this as qualified or things will break.

Also add some blaze crap for the lols
This commit is contained in:
Christine Dodrill 2015-07-27 23:53:11 -07:00
parent 1a31e0146a
commit 7bc70e9753
3 changed files with 28 additions and 9 deletions

View File

@ -3,17 +3,17 @@ module Main where
import qualified Database.SQLite.Simple as Db
import qualified Web.Spock.Safe as S hiding (head)
import Within.DBMemorial.Post
import qualified Within.DBMemorial.Post as Post
main :: IO ()
main = do
conn <- Db.open "../db/posts.db"
-- Simple tests to prove we're reading from SQLite
r <- Db.query_ conn "SELECT * FROM Posts WHERE page=1" :: IO [Post]
r <- Db.query_ conn "SELECT * FROM Posts WHERE page=1" :: IO [Post.Post]
let h = head r
-- Set up the URL router
S.runSpock 5000 $ S.spockT id $ do
S.get S.root $
S.text $ postBody h
S.text $ Post.body h

View File

@ -7,12 +7,12 @@ import Data.Text
import Database.SQLite.Simple.FromRow
data Post = Post
{ postID :: Int
, postOID :: Text
, postBody :: Text
, postMarkdown :: Text
, postAuthor :: Text
, postPage :: Int
{ id :: Int
, oID :: Text
, body :: Text
, markdown :: Text
, author :: Text
, page :: Int
} deriving (Show, Eq)
instance FromRow Post where

View File

@ -0,0 +1,19 @@
{-# LANGUAGE OverloadedStrings #-}
module Within.DBMemorial.Views.Example where
import Control.Monad (forM_)
import Text.Blaze.Html
import Text.Blaze.Html5 as H
import Text.Blaze.Html5.Attributes as A
numbers :: Int -> Html
numbers n = docTypeHtml $ do
H.head $ do
H.title "Natural numbers"
body $ do
p "A list of natural numbers:"
ul $ forM_ [1 .. n] (li . toHtml)
simpleImage :: Html
simpleImage = img ! src "foo.png"