)
where
-import Rakka.Wiki.Interpreter
import Rakka.Wiki
+import Rakka.Wiki.Interpreter
+import Rakka.Wiki.Interpreter.Base.Image
+import Rakka.Wiki.Interpreter.Base.Outline
baseInterpreters :: [Interpreter]
baseInterpreters = [ lineBreakInterp
, spanInterp
, divInterp
+ , imageInterp
+ , imgFrameInterp
+
+ , pageNameInterp
+ , outlineInterp
]
lineBreakInterp :: Interpreter
-lineBreakInterp = pureInlineInterp "br" interpret
- where
- interpret (InlineCommand _ attrs _) _ = LineBreak attrs
+lineBreakInterp = InlineCommandInterpreter {
+ iciName = "br"
+ , iciInterpret
+ = \ _ (InlineCommand _ attrs _) -> return $ LineBreak attrs
+ }
spanInterp :: Interpreter
-spanInterp = pureInlineInterp "span" interpret
- where
- interpret (InlineCommand _ attrs contents) _ = Span attrs contents
+spanInterp = InlineCommandInterpreter {
+ iciName = "span"
+ , iciInterpret
+ = \ _ (InlineCommand _ attrs contents) -> return $ Span attrs contents
+ }
divInterp :: Interpreter
-divInterp = pureBlockInterp "div" interpret
- where
- interpret (BlockCommand _ attrs contents) _ = Div attrs contents
\ No newline at end of file
+divInterp = BlockCommandInterpreter {
+ bciName = "div"
+ , bciInterpret
+ = \ _ (BlockCommand _ attrs contents) -> return $ Div attrs contents
+ }
+
+
+pageNameInterp :: Interpreter
+pageNameInterp = InlineCommandInterpreter {
+ iciName = "pageName"
+ , iciInterpret
+ = \ ctx _ -> return $ Text (ctxPageName ctx)
+ }