fromhtml 0.1.0.5 → 1.0.0
raw patch · 3 files changed
+18/−28 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Text.FromHTML: fromHTML :: ExportType -> String -> Maybe ByteString
+ Text.FromHTML: fromHTML :: ExportType -> String -> Either Output Output
Files
- app/Main.hs +9/−7
- fromhtml.cabal +2/−2
- src/Text/FromHTML.hs +7/−19
app/Main.hs view
@@ -1,9 +1,10 @@ module Main where -import Prelude hiding (writeFile)-import Data.ByteString (writeFile)-import System.Environment-import System.Exit+import Prelude+import qualified Data.ByteString as B+import qualified Data.ByteString.Char8 as C+import System.Environment+import System.Exit import Text.FromHTML @@ -15,7 +16,8 @@ let format = (read $ args !! 2) :: ExportType html <- readFile infile case fromHTML format html of- Just bs -> writeFile outfile bs- Nothing -> do- putStrLn "Couldn't transform that document..."+ Right res -> B.writeFile outfile res+ Left err -> do+ putStrLn "Couldn't transform that document:"+ C.putStrLn err exitFailure
fromhtml.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 0a14bae31346767a06cfe578265426e650a10e6e25d1edea4fb998ba5b361f8d+-- hash: 08d57d6634624b09295e2c27ebf5c576c61f1089eeb2f6fcf95493311e3faa01 name: fromhtml-version: 0.1.0.5+version: 1.0.0 synopsis: Simple adapter for transformation of HTML to other formats description: Please see the README on GitHub at <https://github.com/MarekSuchanek/FromHTML#readme> category: Text
src/Text/FromHTML.hs view
@@ -45,31 +45,19 @@ | PDF deriving (Show, Read, Enum, Bounded, Eq) ---- | Helper function to translate Either to Maybe-eitherToMaybe :: Show a => Either a b -> Maybe b-eitherToMaybe (Right x) = Just x-eitherToMaybe _ = Nothing--str2BS :: String -> B.ByteString-str2BS = E.encodeUtf8 . T.pack---- | Transform given HTML as String to selected format-fromHTML :: ExportType -> String -> Maybe B.ByteString-fromHTML HTML html = Just . str2BS $ html -- HTML is already provided!-fromHTML PDF html = handleMaker $ makePDF html-fromHTML extp html = handleMaker $ makePD extp html-- type Input = String type Output = B.ByteString type Command = Input -> IO (Either Output Output) type Process = IO (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle) +str2BS :: String -> B.ByteString+str2BS = E.encodeUtf8 . T.pack -handleMaker :: Either Output Output -> Maybe B.ByteString-handleMaker (Right x) = Just x-handleMaker _ = Nothing+-- | Transform given HTML as String to selected format+fromHTML :: ExportType -> String -> Either Output Output+fromHTML HTML html = Right . str2BS $ html -- HTML is already provided!+fromHTML PDF html = makePDF html+fromHTML extp html = makePD extp html makePDF :: Input -> Either Output Output makePDF html = unsafePerformIO $ wkhtmltopdf html