X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Rakka%2FWiki%2FInterpreter%2FBase.hs;h=3d38c2c3c9dc2c34478e36de00175d73d1aa0784;hb=f4a655a34bc6017db008c2e915053958ae13ee81;hp=0070a837c376df6838bd2796d894cdaef62ccfa6;hpb=ace1b98b247b32e719a72a04fafe9fbffc1c49b0;p=Rakka.git diff --git a/Rakka/Wiki/Interpreter/Base.hs b/Rakka/Wiki/Interpreter/Base.hs index 0070a83..3d38c2c 100644 --- a/Rakka/Wiki/Interpreter/Base.hs +++ b/Rakka/Wiki/Interpreter/Base.hs @@ -3,6 +3,10 @@ module Rakka.Wiki.Interpreter.Base ) where +import Data.Map (Map) +import qualified Data.Map as M +import Rakka.Page +import Rakka.SystemConfig import Rakka.Wiki import Rakka.Wiki.Interpreter @@ -12,6 +16,7 @@ interpreters = [ lineBreakInterp , spanInterp , divInterp , pageNameInterp +-- , otherLangsInterp ] @@ -45,3 +50,27 @@ pageNameInterp = InlineCommandInterpreter { , iciInterpret = \ ctx _ -> return $ Text (ctxPageName ctx) } + +{- +otherLangsInterp :: Interpreter +otherLangsInterp + = BlockCommandInterpreter { + bciName = "inOtherLanguages" + , bciInterpret + = \ ctx _ -> + case fmap pageOtherLang (ctxMainPage ctx) of + Nothing + -> return EmptyBlock + + Just linkTable + -> do Languages langTable <- getSysConf (ctxSysConf ctx) (Languages undefined) + let merged = mergeTables langTable (M.toList linkTable) + -- FIXME + } + where + mergeTables :: Map LanguageTag LanguageName + -> [(LanguageTag, PageName)] + -> [(LanguageName, PageName)] + mergeTables _ [] = [] + mergeTables m (x:xs) = fromMaybe x (M.lookup x m) : mergeTables m xs +-} \ No newline at end of file