X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Flwn-epub.git;a=blobdiff_plain;f=src%2FMain.hs;h=c6ab443a9620d20f716576eb0c188702f8ad4b5d;hp=e91654da85a6446d32a02afed636a106dd514a7e;hb=6103dbc5f8d3689e32001c3fd7627f3153e40bb0;hpb=8e5616a377196f0a200947173d4c78a3dca8a55f diff --git a/src/Main.hs b/src/Main.hs index e91654d..c6ab443 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -1,14 +1,36 @@ +{-# LANGUAGE ScopedTypeVariables #-} module Main where -data Article = Article { headline :: String, - byline :: String, - body_html :: String } - deriving (Eq, Show) +import Data.Maybe (fromJust) +import Text.XML.HXT.Core -- (SysConfigList, IOStateArrow, XmlTree, readDocument) -parse_article :: String -> String -parse_article _ = "" +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."