yesod-gitrepo- Host content provided by a Git repo

Safe HaskellNone




data GitRepo a Source

A combination of Yesod subsite to be used for creating a refresh route, as well as action to extract the current value of the content and force a refresh.

Since 0.1.0

grRefresh :: GitRepo a -> IO () Source

Force a refresh of the content. Usually this is done automatically via a POST request to the subsite route.

Since 0.1.0

grContent :: GitRepo a -> IO a Source

Get the current value of the content.

Since 0.1.0

gitRepo Source


:: Text


-> Text

branch name

-> (FilePath -> IO a)

what to do on clone/refresh

-> IO (GitRepo a) 

Create a new GitRepo value that can be used as a refresh subsite, as well as to extract the current value of the content.

Note that if the initial clone or user action fails, this function will throw an exception. For subsequent refreshes, the exception will be stored as an impure exception for future grContent calls.

Since 0.1.0

gitRepoDev :: FilePath -> (FilePath -> IO a) -> IO (GitRepo a) Source

Like gitRepo, but intended to be used in a dev environment. It just uses a hard-coded FilePath and reloads the contents on each request.

Since 0.1.1

data family Route a

The type-safe URLs associated with a site argument.