X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Flwn-epub.git;a=blobdiff_plain;f=src%2FMain.hs;h=c6ab443a9620d20f716576eb0c188702f8ad4b5d;hp=37f89674eacbc115050f65f717a6bbe8530ddf71;hb=6103dbc5f8d3689e32001c3fd7627f3153e40bb0;hpb=5cb0170a5ab418147e3403fb141797f2282b78f4 diff --git a/src/Main.hs b/src/Main.hs index 37f8967..c6ab443 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -3,23 +3,34 @@ module Main where import Data.Maybe (fromJust) -import Text.HandsomeSoup (parseHtml) +import Text.XML.HXT.Core -- (SysConfigList, IOStateArrow, XmlTree, readDocument) import Epublishable import LWN.ArticlePage import LWN.FullPage -import XHTML + +my_read :: String -> IOStateArrow s b XmlTree +my_read = + readDocument [ withValidate no, + withParseHTML yes, + withInputEncoding utf8, + withWarnings no ] main :: IO () main = do - article_html <- readFile "test/fixtures/501317-article.html" - ioap <- parse $ parseHtml article_html + 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" - page_html <- readFile "test/fixtures/500848-page.html" - ioap_f <- parse $ parseHtml page_html + let page_html = my_read "test/fixtures/500848-page.html" + ioap_f <- parse page_html let full_page :: FullPage = fromJust $ ioap_f - --putStrLn $ to_xhtml full_page - --epublish full_page "full_page.epub" + 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."