{-# LANGUAGE ScopedTypeVariables #-} module Main where import Data.Maybe (fromJust) import Text.XML.HXT.Core -- (SysConfigList, IOStateArrow, XmlTree, readDocument) import Epublishable import LWN.ArticlePage import LWN.FullPage my_read :: String -> IOStateArrow s b XmlTree my_read = readDocument [ withValidate no, withParseHTML yes, withInputEncoding utf8, withWarnings no ] main :: IO () main = do let article_html = my_read "test/fixtures/501317-article.html" ioap <- parse article_html let article_page :: ArticlePage = fromJust $ ioap epublish article_page "single_article.epub" let page_html = my_read "test/fixtures/500848-page.html" ioap_f <- parse page_html let full_page :: FullPage = fromJust $ ioap_f epublish full_page "full_page.epub" let bigpage_html = my_read "test/fixtures/50844-bigpage.html" ioap_bp <- parse bigpage_html let bigpage :: FullPage = fromJust $ ioap_bp epublish bigpage "bigpage.epub" putStrLn "Done."