X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Rakka.git;a=blobdiff_plain;f=Rakka%2FPage.hs;h=d6a93696725b6e280423564e0d1b59ddfde32b60;hp=0d355faee8b88a637ea7d671c826504d7bc632cc;hb=71f2db55513679098869de2122b5d5989dbc2be2;hpb=cca878677e130779e4af0f595435d0567f94af8e diff --git a/Rakka/Page.hs b/Rakka/Page.hs index 0d355fa..d6a9369 100644 --- a/Rakka/Page.hs +++ b/Rakka/Page.hs @@ -31,7 +31,7 @@ module Rakka.Page where import qualified Codec.Binary.Base64 as B64 -import Codec.Binary.UTF8.String +import qualified Codec.Binary.UTF8.String as UTF8 import Control.Arrow import Control.Arrow.ArrowIO import Control.Arrow.ArrowList @@ -128,7 +128,7 @@ pageRevision p -- UTF-8 に encode してから 0x20 - 0x7E の範圍を除いて URI escape する。 encodePageName :: PageName -> FilePath -encodePageName = escapeURIString isSafeChar . encodeString . fixPageName +encodePageName = escapeURIString isSafeChar . UTF8.encodeString . fixPageName where fixPageName :: PageName -> PageName fixPageName = (\ (x:xs) -> toUpper x : xs) . map (\ c -> if c == ' ' then '_' else c) @@ -144,11 +144,11 @@ isSafeChar c -- URI unescape して UTF-8 から decode する。 decodePageName :: FilePath -> PageName -decodePageName = decodeString . unEscapeString +decodePageName = UTF8.decodeString . unEscapeString encodeFragment :: String -> String -encodeFragment = escapeURIString isSafeChar . encodeString +encodeFragment = escapeURIString isSafeChar . UTF8.encodeString entityFileName' :: Page -> String @@ -312,7 +312,7 @@ xmlizePage ) else ( eelem "textData" - += txt (decode $ L.unpack $ entityContent page) + += txt (UTF8.decode $ L.unpack $ entityContent page) ) ) )) -<< () @@ -369,7 +369,7 @@ parseEntity let (isBinary, content) = case (textData, binaryData) of - (Just text, Nothing ) -> (False, L.pack $ encode text ) + (Just text, Nothing ) -> (False, L.pack $ UTF8.encode text ) (Nothing , Just binary) -> (True , L.pack $ B64.decode binary) _ -> error "one of textData or binaryData is required"