X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Flwn-epub.git;a=blobdiff_plain;f=src%2FEpublishable.hs;fp=src%2FEpublishable.hs;h=0000000000000000000000000000000000000000;hp=3ca9b68b57babd9c6fa22e24defe059afdcca814;hb=6f0e6cbece7e1b1a3c6b43d19eb2f29088af981c;hpb=ed2ed8abd62ba3dec7f799253de1133732f8c153 diff --git a/src/Epublishable.hs b/src/Epublishable.hs deleted file mode 100644 index 3ca9b68..0000000 --- a/src/Epublishable.hs +++ /dev/null @@ -1,43 +0,0 @@ -module Epublishable -where - -import Text.Pandoc -import qualified Data.ByteString.Lazy as B (ByteString, writeFile) -import Data.Time (getCurrentTime) -import Data.Tree.NTree.TypeDefs (NTree) -import System.FilePath (normalise) -import Text.XML.HXT.Core (IOSArrow, XNode, XmlTree) - -import XHTML - - -class (XHTML a) => Epublishable a where - parse :: IOSArrow XmlTree (NTree XNode) -> IO (Maybe a) - - title :: a -> String - - metadata :: a -> IO String - metadata obj = do - date <- getCurrentTime - return $ - "http://lwn.net/\n" ++ - "" ++ (show date) ++ "\n" ++ - "en-US\n" ++ - "Copyright Eklektix, Inc.\n" ++ - "" ++ (title obj) ++ "\n" - - epublish :: a -> FilePath -> IO () - epublish obj path = do - let xhtml = to_xhtml obj - epmd <- metadata obj - epub <- xhtml_to_epub epmd xhtml - let normalized_path = normalise path - B.writeFile normalized_path epub - -xhtml_to_epub :: String -> String -> IO B.ByteString -xhtml_to_epub epmd = - write_epub . read_html - where - my_writer_options = defaultWriterOptions { writerEPUBMetadata = epmd } - write_epub = writeEPUB Nothing [] my_writer_options - read_html = readHtml defaultParserState