diff --git a/Web/Informative.hs b/Web/Informative.hs
--- a/Web/Informative.hs
+++ b/Web/Informative.hs
@@ -97,7 +97,7 @@
 toClassname = filter isAlphaNum . T.unpack
 remCR = filter (/=chr 13)
 
-renderShowArticle :: YesodWikiAuth master => [Entity Wikisugg] -> Bool -> (AuthRoute -> Route master) -> (Route Informative -> Route master) -> AuthResult -> Maybe Html -> [(Int,(T.Text,Either Html [[Html]],TextKind))] -> [(T.Text,T.Text,UTCTime)] -> T.Text -> HandlerT Informative (HandlerT master IO) Html
+renderShowArticle :: YesodWikiAuth master => [Entity Wikisugg] -> Bool -> (AuthRoute -> Route master) -> (Route Informative -> Route master) -> AuthResult -> Maybe Html -> [(Int,(T.Text,Either Html [[Html]],TextKind,TextFormat))] -> [(T.Text,T.Text,UTCTime)] -> T.Text -> HandlerT Informative (HandlerT master IO) Html
 renderShowArticle suggs loggedIn authR toParent mayEdit mmsg sects edits page = do
   seg <- liftM getSegment getYesod
   pref <- liftM getPrefix getYesod
@@ -124,11 +124,11 @@
     let pid = read $ T.unpack pageid
     wp <- get pid
     (sects,page) <- case wp of
-      Nothing -> return ([("/new/",Left $ convFmt LaTeX "\\section{404 Not Found} We're sorry, but that article doesn't exist in our database.", Error)],"none")
+      Nothing -> return ([("/new/",Left $ convFmt LaTeX "\\section{404 Not Found} We're sorry, but that article doesn't exist in our database.", Error, Plain)],"none")
       Just p -> do
         rels <- selectList [WikirelPage ==. pid] [Asc WikirelIndex]
         sects <- forM rels $ \(Entity k r) -> liftM (T.pack $ show k,) $ get $ wikirelSection r
-        let s' = map (\(rid,Just  s) -> (rid,convSect (wikisectionKind s) (wikisectionFormat s) (wikisectionContent s), wikisectionKind s)) sects
+        let s' = map (\(rid,Just  s) -> (rid,convSect (wikisectionKind s) (wikisectionFormat s) (wikisectionContent s), wikisectionKind s, wikisectionFormat s)) sects
         return (s', wikipageTitle p)
     hs <- selectList [WikipageTitle ==. page, WikipageSegment ==. seg] [Desc WikipageTimestamp, LimitTo 10]
     let es = map (\(Entity k p) -> (T.pack $ show k, wikipageEditor p, wikipageTimestamp p)) hs
@@ -150,11 +150,11 @@
     wp <- selectList [WikipageTitle ==. page, WikipageSegment ==. seg] [Desc WikipageTimestamp, LimitTo 10]
     suggs <- selectList [WikisuggSegment ==. seg] [Asc WikisuggIndex]
     case wp of
-      [] -> return ([], [("/new/",Left $ convFmt LaTeX "\\section{404 Not Found} We're sorry, but that article doesn't exist in our database.", Error)],suggs)
+      [] -> return ([], [("/new/",Left $ convFmt LaTeX "\\section{404 Not Found} We're sorry, but that article doesn't exist in our database.", Error, Plain)],suggs)
       hs@((Entity pid p):_) -> do
         rels <- selectList [WikirelPage ==. pid] [Asc WikirelIndex]
         sects <- forM rels $ \(Entity k r) -> liftM (T.pack $ show k,) $ get $ wikirelSection r
-        let s' = map (\(rid,Just  s) -> (rid,convSect (wikisectionKind s) (wikisectionFormat s) (wikisectionContent s), wikisectionKind s)) sects
+        let s' = map (\(rid,Just  s) -> (rid,convSect (wikisectionKind s) (wikisectionFormat s) (wikisectionContent s), wikisectionKind s, wikisectionFormat s)) sects
             es = map (\(Entity k p) -> (T.pack $ show k, wikipageEditor p, wikipageTimestamp p)) hs
         return (es, s',suggs)
   toParent <- getRouteToParent
diff --git a/informative.cabal b/informative.cabal
--- a/informative.cabal
+++ b/informative.cabal
@@ -10,7 +10,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             0.1.0.12
+version:             0.1.0.13
 
 -- A short (one-line) description of the package.
 synopsis:            A yesod subsite serving a wiki.
diff --git a/informative.css b/informative.css
--- a/informative.css
+++ b/informative.css
@@ -60,6 +60,10 @@
   border: 1px solid navy;
   background-color: white;
 
+div.sourceContent
+  border: none;
+  background-color: #AAAAAA;
+  
 div.hint
   border: 1px solid green;
   background-color: #99FF99;
diff --git a/informative.htm b/informative.htm
--- a/informative.htm
+++ b/informative.htm
@@ -16,25 +16,28 @@
     <div .hint>
       #{msg}
   $if not (null sects)
-    $with (idx, (rid, sect, kind)) <- head sects
+    $with (idx, (rid, sect, kind, fmt)) <- head sects
       $if ((mayEdit == Authorized) && (rid /= "/new/"))
         <div .edit>
           <a href=@{toParent $ PrependR rid}>insert
-  $forall (idx, (rid, sect, kind)) <- sects
-    $case (sect, kind)
-      $of (Left c, Article)
+  $forall (idx, (rid, sect, kind, fmt)) <- sects
+    $case (sect, kind, fmt)
+      $of (Left c, Article, Source _ _)
+        <div .content .sourceContent>
+          #{c}
+      $of (Left c, Article, _)
         <div .content>
           #{c}
-      $of (Left c, Hint)
+      $of (Left c, Hint, _)
         <div .hint>
           #{c}
-      $of (Left c, _)
+      $of (Left c, _, _)
         <div .error>
           #{c}
-      $of (Right [], _)
+      $of (Right [], _, _)
         <div .error>
           Empty table.
-      $of (Right rows, Table)
+      $of (Right rows, Table, _)
         <div .table>
           <table>
             <thead>
@@ -44,7 +47,7 @@
               <tr>
                 $forall c <- cols
                   <td>#{c}
-      $of (Right rows, Mapping)
+      $of (Right rows, Mapping, _)
         <div .mapping>
           <table>
             $forall cols <- rows
