X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Flwn-epub.git;a=blobdiff_plain;f=src%2FMain.hs;h=c6ab443a9620d20f716576eb0c188702f8ad4b5d;hp=da760e45af7a58676b8b6cfdd2c0198de6c41d78;hb=6103dbc5f8d3689e32001c3fd7627f3153e40bb0;hpb=44549423b80c9bf8edf5e942bc8ac457d9817195 diff --git a/src/Main.hs b/src/Main.hs index da760e4..c6ab443 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -1,7 +1,36 @@ +{-# 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 - putStrLn "Hello, world." + 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."