A Compiler that supports unix filters.
- unixFilter :: String -> [String] -> Compiler String String
- unixFilterLBS :: String -> [String] -> Compiler ByteString ByteString
Documentation
Use a unix filter as compiler. For example, we could use the rev
program
as a compiler.
rev :: Compiler Resource String rev = getResourceString >>> unixFilter "rev" []
A more realistic example: one can use this to call, for example, the sass compiler on CSS files. More information about sass can be found here:
The code is fairly straightforward, given that we use .scss
for sass:
match "style.scss" $ do route $ setExtension "css" compile $ getResourceString >>> unixFilter "sass" ["-s", "--scss"] >>> arr compressCss
:: String | Program name |
-> [String] | Program args |
-> Compiler ByteString ByteString | Resulting compiler |
Variant of unixFilter
that should be used for binary files
match "music.wav" $ do route $ setExtension "ogg" compile $ getResourceLBS >>> unixFilter "oggenc" ["-"]