Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- createTemplate :: Monad m => ConduitM (FilePath, m ByteString) ByteString m ()
- unpackTemplate :: MonadThrow m => (FilePath -> ConduitM ByteString o m ()) -> (Text -> Text) -> ConduitM ByteString o m ()
- type FileReceiver m = FilePath -> ConduitM ByteString Void m ()
- receiveMem :: MonadWriter (Map FilePath ByteString) m => FileReceiver m
- receiveFS :: MonadResource m => FilePath -> FileReceiver m
- data ProjectTemplateException
Create a template
createTemplate :: Monad m => ConduitM (FilePath, m ByteString) ByteString m () Source #
Create a template file from a stream of file/contents combinations.
Since 0.1.0
Unpack a template
:: MonadThrow m | |
=> (FilePath -> ConduitM ByteString o m ()) | receive individual files |
-> (Text -> Text) | fix each input line, good for variables |
-> ConduitM ByteString o m () |
Unpack a template to some destination. Destination is provided by the first argument.
The second argument allows you to modify the incoming stream, usually to replace variables. For example, to replace PROJECTNAME with myproject, you could use:
Data.Text.replace "PROJECTNAME" "myproject"
Note that this will affect both file contents and file names.
Since 0.1.0
Receivers
type FileReceiver m = FilePath -> ConduitM ByteString Void m () Source #
The first argument to unpackTemplate
, specifying how to receive a file.
Since 0.1.0
receiveMem :: MonadWriter (Map FilePath ByteString) m => FileReceiver m Source #
Receive files to a Writer
monad in memory.
execWriter $ runExceptionT_ $ src $$ unpackTemplate receiveMem id
Since 0.1.0
:: MonadResource m | |
=> FilePath | root |
-> FileReceiver m |
Receive files to the given folder on the filesystem.
unpackTemplate (receiveFS "some-destination") (T.replace "PROJECTNAME" "foo")
Since 0.1.0
Exceptions
data ProjectTemplateException Source #
Exceptions that can be thrown.
Since 0.1.0
Instances
Show ProjectTemplateException Source # | |
Defined in Text.ProjectTemplate showsPrec :: Int -> ProjectTemplateException -> ShowS # show :: ProjectTemplateException -> String # showList :: [ProjectTemplateException] -> ShowS # | |
Exception ProjectTemplateException Source # | |