X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Rakka%2FWiki%2FEngine.hs;h=1d05d5036ff02fd401ec948894833bb0159be42c;hb=65c7f9f0643c7e8884e4a02567b77c169167c093;hp=1f24e37332b96f1f6f093d75546ed73ce385edc2;hpb=656fdb2772ab4de5cd083cbe9e7c1610cccef73b;p=Rakka.git diff --git a/Rakka/Wiki/Engine.hs b/Rakka/Wiki/Engine.hs index 1f24e37..1d05d50 100644 --- a/Rakka/Wiki/Engine.hs +++ b/Rakka/Wiki/Engine.hs @@ -126,9 +126,11 @@ wikifyPage interpTable = proc tree -> do pName <- getXPathTreesInDoc "/page/@name/text()" >>> getText -< tree pType <- getXPathTreesInDoc "/page/@type/text()" >>> getText >>> arr read -< tree - pIsBinary <- getXPathTreesInDoc "/page/@isBinary/text()" >>> getText -< tree pFileName <- maybeA (getXPathTreesInDoc "/page/fileName/text()" >>> getText) -< tree textData <- maybeA (getXPathTreesInDoc "/page/textData/text()" >>> getText) -< tree + base64Data <- maybeA (getXPathTreesInDoc "/page/binaryData/text()" >>> getText) -< tree + + let dataURI = fmap (binToURI pType) base64Data case pType of MIMEType "text" "x-rakka" _ @@ -137,13 +139,14 @@ wikifyPage interpTable Right xs -> returnA -< xs MIMEType "image" _ _ - -> returnA -< [ Paragraph [Image pName Nothing] ] - - _ -> if pIsBinary == "yes" then - returnA -< [ Paragraph [ ObjectLink { - objLinkPage = pName - , objLinkText = Just $ fromMaybe (defaultFileName pType pName) pFileName - } + -- + -> returnA -< [ Paragraph [Image (Left $ fromJust dataURI) Nothing] ] + + _ -> if isJust dataURI then + -- foo.zip + returnA -< [ Paragraph [ Anchor + [("href", show dataURI)] + [Text (fromMaybe (defaultFileName pType pName) pFileName)] ] ] else