diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+1.0.12
+
+* [Fix white flashes on page load in dark mode](https://github.com/dhall-lang/dhall-haskell/pull/2574)
+* [Render standalone text files as preformatted text](https://github.com/dhall-lang/dhall-haskell/pull/2565)
+* [Render Markdown files as HTML](https://github.com/dhall-lang/dhall-haskell/pull/2579)
+* [Default to browser settings for dark mode](https://github.com/dhall-lang/dhall-haskell/pull/2582)
+* [Fix typo and formatting in a warning message](https://github.com/dhall-lang/dhall-haskell/pull/2572)
+
 1.0.11
 
 * Build against `dhall-1.42`
diff --git a/dhall-docs.cabal b/dhall-docs.cabal
--- a/dhall-docs.cabal
+++ b/dhall-docs.cabal
@@ -1,5 +1,5 @@
 Name: dhall-docs
-Version: 1.0.11
+Version: 1.0.12
 Cabal-Version: >=1.10
 Build-Type: Simple
 License: BSD3
@@ -22,12 +22,14 @@
 Extra-Source-Files:
     CHANGELOG.md
     README.md
+    tasty/data/package/*.md
     tasty/data/package/*.txt
     tasty/data/package/*.dhall
     tasty/data/package/a/*.dhall
     tasty/data/package/a/b/*.dhall
     tasty/data/package/a/b/c/*.dhall
     tasty/data/package/deep/nested/folder/*.dhall
+    tasty/data/golden/*.md.html
     tasty/data/golden/*.txt.html
     tasty/data/golden/*.dhall.html
     tasty/data/golden/a/*.dhall.html
@@ -65,13 +67,13 @@
     Build-Depends:
         base                 >= 4.11.0.0  && < 5   ,
         base16-bytestring    >= 1.0.0.0            ,
-        bytestring                           < 0.12,
+        bytestring                           < 0.13,
         containers                                 ,
         cryptohash-sha256                          ,
         directory            >= 1.3.0.0   && < 1.4 ,
         dhall                >= 1.38.0    && < 1.43,
         file-embed           >= 0.0.10.0           ,
-        filepath             >= 1.4       && < 1.5 ,
+        filepath             >= 1.4       && < 1.6 ,
         lens-family-core     >= 1.0.0     && < 2.2 ,
         lucid                >= 2.9.12    && < 2.12,
         mmark                >= 0.0.7.0   && < 0.8 ,
@@ -81,10 +83,10 @@
         -- path-io follows SemVer: https://github.com/mrkkrp/path-io/issues/68
         path-io              >= 1.6.0     && < 2 ,
         prettyprinter        >= 1.7.0     && < 1.8 ,
-        text                 >= 0.11.1.0  && < 2.1 ,
+        text                 >= 0.11.1.0  && < 2.2 ,
         transformers         >= 0.2.0.0   && < 0.7 ,
         mtl                  >= 2.2.1     && < 2.4 ,
-        optparse-applicative >= 0.14.0.0  && < 0.18
+        optparse-applicative >= 0.14.0.0  && < 0.19
     Exposed-Modules:
         Dhall.Docs
         Dhall.Docs.Core
@@ -108,8 +110,8 @@
     Hs-Source-Dirs: dhall-docs
     Main-Is: Main.hs
     Build-Depends:
-        base      ,
-        dhall     ,
+        base       >= 4.11.0.0 && < 5,
+        dhall                        ,
         dhall-docs
     Other-Modules:
         Paths_dhall_docs
@@ -122,10 +124,10 @@
     Main-Is: Main.hs
     GHC-Options: -Wall
     Build-Depends:
-        base                           ,
-        directory,
-        filepath                 < 1.5 ,
-        doctest    >= 0.7.0
+        base      >= 4.11.0.0 && < 5  ,
+        directory                     ,
+        filepath                 < 1.6,
+        doctest   >= 0.7.0
     Other-Extensions: OverloadedStrings RecordWildCards
     Default-Language: Haskell2010
 
@@ -134,12 +136,12 @@
     Hs-Source-Dirs: tasty
     Main-Is: Main.hs
     Build-Depends:
-        base                              ,
-        bytestring                        ,
-        containers                        ,
-        dhall                             ,
-        dhall-docs                        ,
-        foldl        < 1.5                ,
+        base       >= 4.11.0.0 && < 5   ,
+        bytestring                      ,
+        containers                      ,
+        dhall                           ,
+        dhall-docs                      ,
+        foldl                     < 1.5 ,
 
         -- lucid preserves input attribute order since v2.11.0
         lucid        >= 2.11.0            ,
@@ -147,10 +149,10 @@
         path                              ,
         path-io                           ,
         pretty       >= 1.1.1.1           ,
-        tasty        < 1.5                ,
+        tasty        < 1.6                ,
         tasty-silver < 3.4                ,
         tasty-hunit  >= 0.10     && < 0.11,
-        turtle       < 1.7                ,
+        turtle       >= 1.6      && < 1.7 ,
         text
     GHC-Options: -Wall
     Default-Language: Haskell2010
diff --git a/doctest/Main.hs b/doctest/Main.hs
--- a/doctest/Main.hs
+++ b/doctest/Main.hs
@@ -1,18 +1,23 @@
-module Main where
+module Main (main) where
 
 import System.FilePath ((</>))
 
 import qualified GHC.IO.Encoding
 import qualified System.Directory
+import qualified System.Environment
 import qualified System.IO
 import qualified Test.DocTest
 
 main :: IO ()
 main = do
     GHC.IO.Encoding.setLocaleEncoding System.IO.utf8
-    pwd    <- System.Directory.getCurrentDirectory
+    args <- System.Environment.getArgs
+    pwd <- System.Directory.getCurrentDirectory
     prefix <- System.Directory.makeAbsolute pwd
-    Test.DocTest.doctest
+    let src = prefix </> "src"
+
+    Test.DocTest.doctest $
         [ "--fast"
-        , prefix </> "src"
+        ] <> args <>
+        [ src
         ]
diff --git a/src/Dhall/Docs/CodeRenderer.hs b/src/Dhall/Docs/CodeRenderer.hs
--- a/src/Dhall/Docs/CodeRenderer.hs
+++ b/src/Dhall/Docs/CodeRenderer.hs
@@ -245,16 +245,16 @@
             return NoInfo
 
       where
-        handleRecordLike l = RecordFields . Set.fromList <$> mapM f l
+        handleRecordLike l = RecordFields . Set.fromList . concat <$> mapM f l
           where
             f (key, RecordField (Just Src{srcEnd = startPos}) val (Just Src{srcStart = endPos}) _) = do
                 dhallType <- infer context val
                 let nameSrc = makeSrcForLabel startPos endPos key
                 let nameDecl = NameDecl nameSrc key dhallType
                 Writer.tell [SourceCodeFragment nameSrc (NameDeclaration nameDecl)]
-                return nameDecl
+                return [ nameDecl ]
               where
-            f _ = fileAnIssue "A `RecordField` of type `Expr Src Import` doesn't have `Just src*`"
+            f _ = return [ ]
 
 fileAsText :: File -> Text
 fileAsText File{..} = foldr (\d acc -> acc <> "/" <> d) "" (Core.components directory)
diff --git a/src/Dhall/Docs/Core.hs b/src/Dhall/Docs/Core.hs
--- a/src/Dhall/Docs/Core.hs
+++ b/src/Dhall/Docs/Core.hs
@@ -44,6 +44,7 @@
 import Dhall.Docs.Html
 import Dhall.Docs.Markdown
 import Dhall.Docs.Store
+import Dhall.Docs.Util            (fileAnIssue)
 import Dhall.Parser
     ( Header (..)
     , ParseError (..)
@@ -104,7 +105,8 @@
 
 data DocsGenWarning
     = InvalidDhall (Text.Megaparsec.ParseErrorBundle Text Void)
-    | InvalidMarkdown MarkdownParseError
+    | InvalidMarkdownHeader MarkdownParseError
+    | InvalidMarkdownFile MarkdownParseError
     | DhallDocsCommentError (Path Rel File) CommentParseError
 
 warn :: String
@@ -116,11 +118,16 @@
         Text.Megaparsec.errorBundlePretty err <>
         "... documentation won't be generated for this file"
 
-    show (InvalidMarkdown MarkdownParseError{..}) =
+    show (InvalidMarkdownHeader MarkdownParseError{..}) =
         warn <>"Header comment is not markdown\n\n" <>
         Text.Megaparsec.errorBundlePretty unwrap <>
         "The original non-markdown text will be pasted in the documentation"
 
+    show (InvalidMarkdownFile MarkdownParseError{..}) =
+        warn <>"Failed to parse file as markdown\n\n" <>
+        Text.Megaparsec.errorBundlePretty unwrap <>
+        "The original file contents will be pasted in the documentation"
+
     show (DhallDocsCommentError path err) =
         warn <> Path.fromRelFile path <> specificError
       where
@@ -135,9 +142,9 @@
                 "must be aligned"
 
             BadPrefixesOnSingleLineComments -> ": dhall-docs's single line comments " <>
-                "must have specific prefixes:" <>
+                "must have specific prefixes:\n" <>
                 "* For the first line: \"--| \"\n" <>
-                "* For the rest of the linse: \"--  \""
+                "* For the rest of the lines: \"--  \""
 
 -- | Extracted text from from Dhall file's comments
 newtype FileComments = FileComments
@@ -166,9 +173,15 @@
           -- ^ Examples extracted from assertions in the file
         , fileComments :: FileComments
         }
+    | MarkdownFile
+        { mmark :: MMark
+          -- ^ Parsed Markdown from 'contents'
+        }
     | TextFile
     deriving (Show)
 
+data FileExtension = DhallExtension | MarkdownExtension | OtherExtension deriving (Show)
+
 {-| Takes a list of files paths with their contents and returns the list of
     valid `RenderedFile`s.
 
@@ -181,10 +194,12 @@
 getAllRenderedFiles =
     fmap Maybe.catMaybes . mapM toRenderedFile . foldr validFiles []
   where
-    hasDhallExtension :: Path Rel File -> Bool
-    hasDhallExtension absFile = case Path.splitExtension absFile of
-        Nothing -> False
-        Just (_, ext) -> ext == ".dhall"
+    getFileExtension :: Path Rel File -> FileExtension
+    getFileExtension absFile =
+        case snd <$> Path.splitExtension absFile of
+            Just ".dhall" -> DhallExtension
+            Just ".md" -> MarkdownExtension
+            _ -> OtherExtension
 
     validFiles :: (Path Rel File, ByteString) -> [(Path Rel File, Text)] -> [(Path Rel File, Text)]
     validFiles (relFile, content) xs = case Data.Text.Encoding.decodeUtf8' content of
@@ -194,8 +209,8 @@
     toRenderedFile
         :: (Path Rel File, Text) -> GeneratedDocs (Maybe RenderedFile)
     toRenderedFile (relFile, contents) =
-        case exprAndHeaderFromText (Path.fromRelFile relFile) contents of
-            Right (Header header, expr) -> do
+        case (exprAndHeaderFromText (Path.fromRelFile relFile) contents, getFileExtension relFile) of
+            (Right (Header header, expr), _) -> do
                 let denoted = denote expr :: Expr Void Import
 
                 headerContents <-
@@ -216,11 +231,27 @@
                         , fileComments = FileComments headerContents
                         }
                     }
-            Left ParseError{..} | hasDhallExtension relFile -> do
+            (Left ParseError{..}, DhallExtension) -> do
                 Writer.tell [InvalidDhall unwrap]
                 return Nothing
 
-            Left _ -> do
+            (Left ParseError{}, MarkdownExtension) ->
+                case parseMarkdown relFile contents of
+                    Right mmark ->
+                        return $ Just $ RenderedFile
+                            { contents
+                            , path = relFile
+                            , fileType = MarkdownFile mmark
+                            }
+                    Left err -> do
+                        Writer.tell [InvalidMarkdownFile err]
+                        return $ Just $ RenderedFile
+                            { contents
+                            , path = relFile
+                            , fileType = TextFile
+                            }
+
+            _ -> do
                 return $ Just $ RenderedFile
                     { contents
                     , path = relFile
@@ -329,7 +360,7 @@
             headerAsHtml <-
                 case markdownToHtml path strippedHeader of
                     Left err -> do
-                        Writer.tell [InvalidMarkdown err]
+                        Writer.tell [InvalidMarkdownHeader err]
                         return $ Lucid.toHtml strippedHeader
                     Right html -> return html
 
@@ -343,6 +374,16 @@
                         DocParams{ relativeResourcesPath, packageName, characterSet, baseImportUrl }
 
             return htmlAsText
+
+        MarkdownFile mmark -> do
+            let htmlAsText =
+                    Text.Lazy.toStrict $ Lucid.renderText $ markdownFileToHtml
+                        path
+                        contents
+                        (render mmark)
+                        DocParams{ relativeResourcesPath, packageName, characterSet, baseImportUrl }
+            return htmlAsText
+
         TextFile -> do
             let htmlAsText =
                     Text.Lazy.toStrict $ Lucid.renderText $ textFileToHtml
@@ -419,8 +460,9 @@
         adapt RenderedFile{..} = (stripPrefix (addHtmlExt path), m)
           where
             m = case fileType of
-                DhallFile{..} -> mType
-                TextFile      -> Nothing
+                DhallFile{..}  -> mType
+                MarkdownFile _ -> Nothing
+                TextFile       -> Nothing
 
         html = indexToHtml
             indexDir
@@ -438,26 +480,6 @@
 addHtmlExt :: Path Rel File -> Path Rel File
 addHtmlExt relFile =
     Data.Maybe.fromMaybe (fileAnIssue "addHtmlExt") $ Path.addExtension ".html" relFile
-
--- | If you're wondering the GitHub query params for issue creation:
--- https://docs.github.com/en/github/managing-your-work-on-github/about-automation-for-issues-and-pull-requests-with-query-parameters
-fileAnIssue :: Text -> a
-fileAnIssue titleName =
-    error $ "\ESC[1;31mError\ESC[0m Documentation generator bug\n\n" <>
-
-            "Explanation: This error message means that there is a bug in the " <>
-            "Dhall Documentation generator. You didn't did anything wrong, but " <>
-            "if you would like to see this problem fixed then you should report " <>
-            "the bug at:\n\n" <>
-
-            "https://github.com/dhall-lang/dhall-haskell/issues/new?labels=dhall-docs,bug\n\n" <>
-
-            "explaining your issue and add \"" <> Data.Text.unpack titleName <> "\" as error code " <>
-            "so we can find the proper location in the source code where the error happened\n\n" <>
-
-            "Please, also include your package in the issue. It can be in:\n\n" <>
-            "* A compressed archive (zip, tar, etc)\n" <>
-            "* A git repository, preferably with a commit reference"
 
 {-| Generate all of the docs for a package. This function does all the `IO ()`
     related tasks to call `generateDocsPure`
diff --git a/src/Dhall/Docs/Html.hs b/src/Dhall/Docs/Html.hs
--- a/src/Dhall/Docs/Html.hs
+++ b/src/Dhall/Docs/Html.hs
@@ -13,6 +13,7 @@
 
 module Dhall.Docs.Html
     ( dhallFileToHtml
+    , markdownFileToHtml
     , textFileToHtml
     , indexToHtml
     , DocParams(..)
@@ -47,57 +48,75 @@
     , baseImportUrl :: Maybe Text       -- ^ Base import URL
     }
 
--- | Generates an @`Html` ()@ with all the information about a dhall file
-dhallFileToHtml
-    :: Path Rel File            -- ^ Source file name, used to extract the title
-    -> Text                     -- ^ Contents of the file
-    -> Expr Src Import          -- ^ AST of the file
-    -> [Expr Void Import]       -- ^ Examples extracted from the assertions of the file
-    -> Html ()                  -- ^ Header document as HTML
+-- | Generates an @`Html` ()@ containing standard elements like title,
+--   navbar, breadcrumbs, and the provided content.
+htmlTemplate
+    :: Path Rel a               -- ^ Source file name or index directory, used to extract the title
     -> DocParams                -- ^ Parameters for the documentation
+    -> HtmlFileType             -- ^ Are we rendering an index page?
+    -> Html ()                  -- ^ Content to be included
     -> Html ()
-dhallFileToHtml filePath contents expr examples header params@DocParams{..} =
+htmlTemplate filePath params@DocParams{..} isIndex html =
     doctypehtml_ $ do
         headContents htmlTitle params
         body_ $ do
             navBar params
             mainContainer $ do
-                setPageTitle params NotIndex breadcrumb
+                setPageTitle params isIndex breadcrumb
                 copyToClipboardButton clipboardText
                 br_ []
-                div_ [class_ "doc-contents"] header
-                Control.Monad.unless (null examples) $ do
-                    h3_ "Examples"
-                    div_ [class_ "source-code code-examples"] $
-                        mapM_ (renderCodeSnippet characterSet AssertionExample) examples
-                h3_ "Source"
-                div_ [class_ "source-code"] $ renderCodeWithHyperLinks contents expr
+                html
   where
     breadcrumb = relPathToBreadcrumb filePath
     htmlTitle = breadCrumbsToText breadcrumb
     clipboardText = fold baseImportUrl <> htmlTitle
 
 -- | Generates an @`Html` ()@ with all the information about a dhall file
+dhallFileToHtml
+    :: Path Rel File            -- ^ Source file name, used to extract the title
+    -> Text                     -- ^ Contents of the file
+    -> Expr Src Import          -- ^ AST of the file
+    -> [Expr Void Import]       -- ^ Examples extracted from the assertions of the file
+    -> Html ()                  -- ^ Header document as HTML
+    -> DocParams                -- ^ Parameters for the documentation
+    -> Html ()
+dhallFileToHtml filePath contents expr examples header params@DocParams{..} =
+    htmlTemplate filePath params NotIndex $ do
+        div_ [class_ "doc-contents"] header
+        Control.Monad.unless (null examples) $ do
+            h3_ "Examples"
+            div_ [class_ "source-code code-examples"] $
+                mapM_ (renderCodeSnippet characterSet AssertionExample) examples
+        h3_ "Source"
+        div_ [class_ "source-code"] $ renderCodeWithHyperLinks contents expr
+
+-- | Generates an @`Html` ()@ with all the information about a Markdown file
+markdownFileToHtml
+    :: Path Rel File            -- ^ Source file name, used to extract the title
+    -> Text                     -- ^ Original text contents of the file
+    -> Html ()                  -- ^ Contents converted to HTML
+    -> DocParams                -- ^ Parameters for the documentation
+    -> Html ()
+markdownFileToHtml filePath contents html params =
+    htmlTemplate filePath params NotIndex $ do
+        details_ [open_ ""] $ do
+            summary_ [class_ "part-summary"] "Rendered content"
+            div_ [class_ "doc-contents"] html
+        details_ $ do
+            summary_ [class_ "part-summary"] "Source"
+            div_ [class_ "source-code"] $ pre_ (toHtml contents)
+
+
+-- | Generates an @`Html` ()@ with all the information about a text file
 textFileToHtml
     :: Path Rel File            -- ^ Source file name, used to extract the title
     -> Text                     -- ^ Contents of the file
     -> DocParams                -- ^ Parameters for the documentation
     -> Html ()
-textFileToHtml filePath contents params@DocParams{..} =
-    doctypehtml_ $ do
-        headContents htmlTitle params
-        body_ $ do
-            navBar params
-            mainContainer $ do
-                setPageTitle params NotIndex breadcrumb
-                copyToClipboardButton clipboardText
-                br_ []
-                h3_ "Source"
-                div_ [class_ "source-code"] (toHtml contents)
-  where
-    breadcrumb = relPathToBreadcrumb filePath
-    htmlTitle = breadCrumbsToText breadcrumb
-    clipboardText = fold baseImportUrl <> htmlTitle
+textFileToHtml filePath contents params =
+    htmlTemplate filePath params NotIndex $ do
+        h3_ "Source"
+        div_ [class_ "source-code"] $ pre_ (toHtml contents)
 
 -- | Generates an index @`Html` ()@ that list all the dhall files in that folder
 indexToHtml
@@ -106,21 +125,15 @@
     -> [Path Rel Dir]                              -- ^ Generated directories in that directory
     -> DocParams                                   -- ^ Parameters for the documentation
     -> Html ()
-indexToHtml indexDir files dirs params@DocParams{..} = doctypehtml_ $ do
-    headContents htmlTitle params
-    body_ $ do
-        navBar params
-        mainContainer $ do
-            setPageTitle params Index breadcrumbs
-            copyToClipboardButton clipboardText
-            br_ []
-            Control.Monad.unless (null files) $ do
-                h3_ "Exported files: "
-                ul_ $ mconcat $ map listFile files
+indexToHtml indexDir files dirs params@DocParams{..} =
+    htmlTemplate indexDir params Index $ do
+        Control.Monad.unless (null files) $ do
+            h3_ "Exported files: "
+            ul_ $ mconcat $ map listFile files
 
-            Control.Monad.unless (null dirs) $ do
-                h3_ "Exported packages: "
-                ul_ $ mconcat $ map listDir dirs
+        Control.Monad.unless (null dirs) $ do
+            h3_ "Exported packages: "
+            ul_ $ mconcat $ map listDir dirs
 
   where
     listFile :: (Path Rel File, Maybe (Expr Void Import)) -> Html ()
@@ -145,10 +158,6 @@
         Nothing -> file
         Just (f, _) -> f
 
-    breadcrumbs = relPathToBreadcrumb indexDir
-    htmlTitle = breadCrumbsToText breadcrumbs
-    clipboardText = fold baseImportUrl <> htmlTitle
-
 copyToClipboardButton :: Text -> Html ()
 copyToClipboardButton filePath =
     a_ [class_ "copy-to-clipboard", data_ "path" filePath]
@@ -232,6 +241,7 @@
 
     -- Left side of the nav-bar
     img_ [ class_ "dhall-icon"
+         , alt_ "Dhall logo."
          , src_ $ Data.Text.pack $ relativeResourcesPath <> "dhall-icon.svg"
          ]
     p_ [class_ "package-title"] $ toHtml packageName
@@ -268,8 +278,7 @@
 script :: FilePath -> Html ()
 script relativeResourcesPath =
     script_
-        [ type_ "text/javascript"
-        , src_ $ Data.Text.pack $ relativeResourcesPath <> "index.js"]
+        [ src_ $ Data.Text.pack $ relativeResourcesPath <> "index.js"]
         ("" :: Text)
 
 toUnixPath :: String -> Text
diff --git a/src/Dhall/Docs/Markdown.hs b/src/Dhall/Docs/Markdown.hs
--- a/src/Dhall/Docs/Markdown.hs
+++ b/src/Dhall/Docs/Markdown.hs
@@ -2,13 +2,16 @@
 -}
 module Dhall.Docs.Markdown
     ( MarkdownParseError(..)
+    , MMark
+    , parseMarkdown
     , markdownToHtml
+    , MMark.render
     ) where
 
 import Data.Text       (Text)
 import Lucid
 import Path            (File, Path, Rel)
-import Text.MMark      (MMarkErr)
+import Text.MMark      (MMarkErr, MMark)
 import Text.Megaparsec (ParseErrorBundle (..))
 
 import qualified Path
@@ -27,6 +30,16 @@
     -> Text          -- ^ Text to parse
     -> Either MarkdownParseError (Html ())
 markdownToHtml relFile contents =
+    MMark.render <$> parseMarkdown relFile contents
+
+{-| Takes a text that could contain markdown and returns either the parsed
+    markdown or, if parsing fails, the error information.
+-}
+parseMarkdown
+    :: Path Rel File -- ^ Used by `Mmark.parse` for error messages
+    -> Text          -- ^ Text to parse
+    -> Either MarkdownParseError MMark
+parseMarkdown relFile contents =
     case MMark.parse (Path.fromRelFile relFile) contents of
         Left err -> Left MarkdownParseError { unwrap = err }
-        Right mmark -> Right $ MMark.render mmark
+        Right mmark -> Right mmark
diff --git a/src/Dhall/Docs/Util.hs b/src/Dhall/Docs/Util.hs
--- a/src/Dhall/Docs/Util.hs
+++ b/src/Dhall/Docs/Util.hs
@@ -12,7 +12,7 @@
     error $ "\ESC[1;31mError\ESC[0m Documentation generator bug\n\n" <>
 
             "Explanation: This error message means that there is a bug in the " <>
-            "Dhall Documentation generator. You didn't did anything wrong, but " <>
+            "Dhall Documentation generator. You didn't do anything wrong, but " <>
             "if you would like to see this problem fixed then you should report " <>
             "the bug at:\n\n" <>
 
diff --git a/src/Dhall/data/assets/index.css b/src/Dhall/data/assets/index.css
--- a/src/Dhall/data/assets/index.css
+++ b/src/Dhall/data/assets/index.css
@@ -125,6 +125,13 @@
     margin-bottom: 0;
 }
 
+summary.part-summary {
+    cursor: pointer;
+    font-size: 1.5rem;
+    font-weight: bold;
+    margin-top: 1rem;
+}
+
 /******** Source code **********/
 
 
@@ -187,7 +194,7 @@
     color: #EBEBEB;
 }
 
-body.dark-mode {
+.dark-mode body {
     background-color: #484848;
 }
 
@@ -214,7 +221,6 @@
 .dark-mode .source-code span {
     color: #D4D4D4;
 }
-
 
 .dark-mode a.copy-to-clipboard {
     color: #bdbdbd !important;
diff --git a/src/Dhall/data/assets/index.js b/src/Dhall/data/assets/index.js
--- a/src/Dhall/data/assets/index.js
+++ b/src/Dhall/data/assets/index.js
@@ -2,16 +2,16 @@
 const DARK_MODE_ACTIVE = 'dark-mode-active'
 const DARK_MODE_INACTIVE = 'dark-mode-inactive'
 
+if (!localStorage.hasOwnProperty(DARK_MODE_OPT) && window.matchMedia('(prefers-color-scheme: dark)').matches
+    || localStorage.getItem(DARK_MODE_OPT) == DARK_MODE_ACTIVE) {
+  document.documentElement.classList.add('dark-mode')
+}
+
 function onReady() {
-  if (localStorage.getItem(DARK_MODE_OPT) == DARK_MODE_ACTIVE) {
-    document.body.classList.add('dark-mode')
-  } else {
-    document.body.classList.remove('dark-mode')
-  }
   document.getElementById('switch-light-dark-mode')
     .addEventListener('click', () => {
-      document.body.classList.toggle('dark-mode')
-      if (document.body.classList.contains('dark-mode')) {
+      document.documentElement.classList.toggle('dark-mode')
+      if (document.documentElement.classList.contains('dark-mode')) {
         localStorage.setItem(DARK_MODE_OPT, DARK_MODE_ACTIVE)
       } else {
         localStorage.setItem(DARK_MODE_OPT, DARK_MODE_INACTIVE)
diff --git a/src/Dhall/data/man/dhall-docs.1 b/src/Dhall/data/man/dhall-docs.1
--- a/src/Dhall/data/man/dhall-docs.1
+++ b/src/Dhall/data/man/dhall-docs.1
@@ -33,4 +33,4 @@
 .SH BUGS
 .PP
 Please report any bugs you may come across to
-https://github.com/dhall-language/dhall-haskell/issues.
+https://github.com/dhall-lang/dhall-haskell/issues.
diff --git a/tasty/data/golden/AsText.dhall.html b/tasty/data/golden/AsText.dhall.html
--- a/tasty/data/golden/AsText.dhall.html
+++ b/tasty/data/golden/AsText.dhall.html
@@ -4,13 +4,13 @@
 <title>/AsText.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/ImportAsType.dhall.html b/tasty/data/golden/ImportAsType.dhall.html
--- a/tasty/data/golden/ImportAsType.dhall.html
+++ b/tasty/data/golden/ImportAsType.dhall.html
@@ -4,13 +4,13 @@
 <title>/ImportAsType.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/InvalidBlockComment.dhall.html b/tasty/data/golden/InvalidBlockComment.dhall.html
--- a/tasty/data/golden/InvalidBlockComment.dhall.html
+++ b/tasty/data/golden/InvalidBlockComment.dhall.html
@@ -4,13 +4,13 @@
 <title>/InvalidBlockComment.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/InvalidConsecutiveComments.dhall.html b/tasty/data/golden/InvalidConsecutiveComments.dhall.html
--- a/tasty/data/golden/InvalidConsecutiveComments.dhall.html
+++ b/tasty/data/golden/InvalidConsecutiveComments.dhall.html
@@ -4,13 +4,13 @@
 <title>/InvalidConsecutiveComments.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/InvalidMarkdown.dhall.html b/tasty/data/golden/InvalidMarkdown.dhall.html
--- a/tasty/data/golden/InvalidMarkdown.dhall.html
+++ b/tasty/data/golden/InvalidMarkdown.dhall.html
@@ -4,13 +4,13 @@
 <title>/InvalidMarkdown.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/InvalidMarkdownFile.md.html b/tasty/data/golden/InvalidMarkdownFile.md.html
new file mode 100644
--- /dev/null
+++ b/tasty/data/golden/InvalidMarkdownFile.md.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<title>/InvalidMarkdownFile.md</title>
+<link rel="stylesheet" type="text/css" href="index.css">
+<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
+<script src="index.js">
+</script>
+<meta charset="UTF-8">
+</head>
+<body>
+<div class="nav-bar">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
+<p class="package-title">test-package</p>
+<div class="nav-bar-content-divider">
+</div>
+<a id="switch-light-dark-mode" class="nav-option">Switch Light/Dark Mode</a>
+</div>
+<div class="main-container">
+<h2 class="doc-title">
+<span class="crumb-divider">/</span>
+<a href="index.html">test-package</a>
+<span class="crumb-divider">/</span>
+<span class="title-crumb" href="index.html">InvalidMarkdownFile.md</span>
+</h2>
+<a class="copy-to-clipboard" data-path="/InvalidMarkdownFile.md">
+<i>
+<small>Copy path to clipboard</small>
+</i>
+</a>
+<br>
+<h3>Source</h3>
+<div class="source-code">
+<pre>This file is not valid [Markdown](aaa
+</pre>
+</div>
+</div>
+</body>
+</html>
diff --git a/tasty/data/golden/JumpToDefOnUnused.dhall.html b/tasty/data/golden/JumpToDefOnUnused.dhall.html
--- a/tasty/data/golden/JumpToDefOnUnused.dhall.html
+++ b/tasty/data/golden/JumpToDefOnUnused.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToDefOnUnused.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToHereImports.dhall.html b/tasty/data/golden/JumpToHereImports.dhall.html
--- a/tasty/data/golden/JumpToHereImports.dhall.html
+++ b/tasty/data/golden/JumpToHereImports.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToHereImports.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToLamBindingComplex.dhall.html b/tasty/data/golden/JumpToLamBindingComplex.dhall.html
--- a/tasty/data/golden/JumpToLamBindingComplex.dhall.html
+++ b/tasty/data/golden/JumpToLamBindingComplex.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToLamBindingComplex.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToLamBindingSimple.dhall.html b/tasty/data/golden/JumpToLamBindingSimple.dhall.html
--- a/tasty/data/golden/JumpToLamBindingSimple.dhall.html
+++ b/tasty/data/golden/JumpToLamBindingSimple.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToLamBindingSimple.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToLamBindingWithIndex.dhall.html b/tasty/data/golden/JumpToLamBindingWithIndex.dhall.html
--- a/tasty/data/golden/JumpToLamBindingWithIndex.dhall.html
+++ b/tasty/data/golden/JumpToLamBindingWithIndex.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToLamBindingWithIndex.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToLamBindingWithQuotes.dhall.html b/tasty/data/golden/JumpToLamBindingWithQuotes.dhall.html
--- a/tasty/data/golden/JumpToLamBindingWithQuotes.dhall.html
+++ b/tasty/data/golden/JumpToLamBindingWithQuotes.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToLamBindingWithQuotes.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToLamBindingWithShadowing.dhall.html b/tasty/data/golden/JumpToLamBindingWithShadowing.dhall.html
--- a/tasty/data/golden/JumpToLamBindingWithShadowing.dhall.html
+++ b/tasty/data/golden/JumpToLamBindingWithShadowing.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToLamBindingWithShadowing.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToLetBindingSimple.dhall.html b/tasty/data/golden/JumpToLetBindingSimple.dhall.html
--- a/tasty/data/golden/JumpToLetBindingSimple.dhall.html
+++ b/tasty/data/golden/JumpToLetBindingSimple.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToLetBindingSimple.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToLetBindingWithIndex.dhall.html b/tasty/data/golden/JumpToLetBindingWithIndex.dhall.html
--- a/tasty/data/golden/JumpToLetBindingWithIndex.dhall.html
+++ b/tasty/data/golden/JumpToLetBindingWithIndex.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToLetBindingWithIndex.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToLetBindingWithQuotes.dhall.html b/tasty/data/golden/JumpToLetBindingWithQuotes.dhall.html
--- a/tasty/data/golden/JumpToLetBindingWithQuotes.dhall.html
+++ b/tasty/data/golden/JumpToLetBindingWithQuotes.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToLetBindingWithQuotes.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToLetBindingWithShadowing.dhall.html b/tasty/data/golden/JumpToLetBindingWithShadowing.dhall.html
--- a/tasty/data/golden/JumpToLetBindingWithShadowing.dhall.html
+++ b/tasty/data/golden/JumpToLetBindingWithShadowing.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToLetBindingWithShadowing.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToLetbindingComplex.dhall.html b/tasty/data/golden/JumpToLetbindingComplex.dhall.html
--- a/tasty/data/golden/JumpToLetbindingComplex.dhall.html
+++ b/tasty/data/golden/JumpToLetbindingComplex.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToLetbindingComplex.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToRecordFieldWhenFieldDoesNotExist.dhall.html b/tasty/data/golden/JumpToRecordFieldWhenFieldDoesNotExist.dhall.html
--- a/tasty/data/golden/JumpToRecordFieldWhenFieldDoesNotExist.dhall.html
+++ b/tasty/data/golden/JumpToRecordFieldWhenFieldDoesNotExist.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToRecordFieldWhenFieldDoesNotExist.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToRecordFieldWhenLetAnnotationPresentShouldIgnoreAnnotation.dhall.html b/tasty/data/golden/JumpToRecordFieldWhenLetAnnotationPresentShouldIgnoreAnnotation.dhall.html
--- a/tasty/data/golden/JumpToRecordFieldWhenLetAnnotationPresentShouldIgnoreAnnotation.dhall.html
+++ b/tasty/data/golden/JumpToRecordFieldWhenLetAnnotationPresentShouldIgnoreAnnotation.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToRecordFieldWhenLetAnnotationPresentShouldIgnoreAnnotation.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToRecordFieldWhenVarIsAnnotatedWithRecordType.dhall.html b/tasty/data/golden/JumpToRecordFieldWhenVarIsAnnotatedWithRecordType.dhall.html
--- a/tasty/data/golden/JumpToRecordFieldWhenVarIsAnnotatedWithRecordType.dhall.html
+++ b/tasty/data/golden/JumpToRecordFieldWhenVarIsAnnotatedWithRecordType.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToRecordFieldWhenVarIsAnnotatedWithRecordType.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordType.dhall.html b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordType.dhall.html
--- a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordType.dhall.html
+++ b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordType.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToRecordFieldWhenVarIsOfRecordType.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeComplex.dhall.html b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeComplex.dhall.html
--- a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeComplex.dhall.html
+++ b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeComplex.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToRecordFieldWhenVarIsOfRecordTypeComplex.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeDeep.dhall.html b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeDeep.dhall.html
--- a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeDeep.dhall.html
+++ b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeDeep.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToRecordFieldWhenVarIsOfRecordTypeDeep.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeFromLamBinding.dhall.html b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeFromLamBinding.dhall.html
--- a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeFromLamBinding.dhall.html
+++ b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeFromLamBinding.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToRecordFieldWhenVarIsOfRecordTypeFromLamBinding.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeOnPunnedEntry.dhall.html b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeOnPunnedEntry.dhall.html
--- a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeOnPunnedEntry.dhall.html
+++ b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeOnPunnedEntry.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToRecordFieldWhenVarIsOfRecordTypeOnPunnedEntry.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeTransitivity.dhall.html b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeTransitivity.dhall.html
--- a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeTransitivity.dhall.html
+++ b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeTransitivity.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToRecordFieldWhenVarIsOfRecordTypeTransitivity.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeWithDotSyntax.dhall.html b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeWithDotSyntax.dhall.html
--- a/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeWithDotSyntax.dhall.html
+++ b/tasty/data/golden/JumpToRecordFieldWhenVarIsOfRecordTypeWithDotSyntax.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToRecordFieldWhenVarIsOfRecordTypeWithDotSyntax.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToSelf.dhall.html b/tasty/data/golden/JumpToSelf.dhall.html
--- a/tasty/data/golden/JumpToSelf.dhall.html
+++ b/tasty/data/golden/JumpToSelf.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToSelf.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/JumpToUrls.dhall.html b/tasty/data/golden/JumpToUrls.dhall.html
--- a/tasty/data/golden/JumpToUrls.dhall.html
+++ b/tasty/data/golden/JumpToUrls.dhall.html
@@ -4,13 +4,13 @@
 <title>/JumpToUrls.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/MarkdownExample.dhall.html b/tasty/data/golden/MarkdownExample.dhall.html
--- a/tasty/data/golden/MarkdownExample.dhall.html
+++ b/tasty/data/golden/MarkdownExample.dhall.html
@@ -4,13 +4,13 @@
 <title>/MarkdownExample.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/MarkdownFile.md.html b/tasty/data/golden/MarkdownFile.md.html
new file mode 100644
--- /dev/null
+++ b/tasty/data/golden/MarkdownFile.md.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<title>/MarkdownFile.md</title>
+<link rel="stylesheet" type="text/css" href="index.css">
+<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
+<script src="index.js">
+</script>
+<meta charset="UTF-8">
+</head>
+<body>
+<div class="nav-bar">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
+<p class="package-title">test-package</p>
+<div class="nav-bar-content-divider">
+</div>
+<a id="switch-light-dark-mode" class="nav-option">Switch Light/Dark Mode</a>
+</div>
+<div class="main-container">
+<h2 class="doc-title">
+<span class="crumb-divider">/</span>
+<a href="index.html">test-package</a>
+<span class="crumb-divider">/</span>
+<span class="title-crumb" href="index.html">MarkdownFile.md</span>
+</h2>
+<a class="copy-to-clipboard" data-path="/MarkdownFile.md">
+<i>
+<small>Copy path to clipboard</small>
+</i>
+</a>
+<br>
+<details open>
+<summary class="part-summary">Rendered content</summary>
+<div class="doc-contents">
+<h1 id="title">Title</h1>
+<p>This is a <em>Markdown</em> file.</p>
+<table>
+<thead>
+<tr>
+<th>A very</th>
+<th>nice</th>
+<th>table</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>1</td>
+<td>2</td>
+<td>3</td>
+</tr>
+<tr>
+<td>4</td>
+<td>5</td>
+<td>6</td>
+</tr>
+</tbody>
+</table>
+</div>
+</details>
+<details>
+<summary class="part-summary">Source</summary>
+<div class="source-code">
+<pre># Title
+
+This is a *Markdown* file.
+
+|A very | nice | table|
+|---|---|---|
+|1|2|3|
+|4|5|6|
+
+</pre>
+</div>
+</details>
+</div>
+</body>
+</html>
diff --git a/tasty/data/golden/MultilineIndentationExample.dhall.html b/tasty/data/golden/MultilineIndentationExample.dhall.html
--- a/tasty/data/golden/MultilineIndentationExample.dhall.html
+++ b/tasty/data/golden/MultilineIndentationExample.dhall.html
@@ -4,13 +4,13 @@
 <title>/MultilineIndentationExample.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/NoDoc.dhall.html b/tasty/data/golden/NoDoc.dhall.html
--- a/tasty/data/golden/NoDoc.dhall.html
+++ b/tasty/data/golden/NoDoc.dhall.html
@@ -4,13 +4,13 @@
 <title>/NoDoc.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/NonDhallDocsCommentAfterValid.dhall.html b/tasty/data/golden/NonDhallDocsCommentAfterValid.dhall.html
--- a/tasty/data/golden/NonDhallDocsCommentAfterValid.dhall.html
+++ b/tasty/data/golden/NonDhallDocsCommentAfterValid.dhall.html
@@ -4,13 +4,13 @@
 <title>/NonDhallDocsCommentAfterValid.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/OrdinaryAnnotation.dhall.html b/tasty/data/golden/OrdinaryAnnotation.dhall.html
--- a/tasty/data/golden/OrdinaryAnnotation.dhall.html
+++ b/tasty/data/golden/OrdinaryAnnotation.dhall.html
@@ -4,13 +4,13 @@
 <title>/OrdinaryAnnotation.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/Pair.dhall.html b/tasty/data/golden/Pair.dhall.html
--- a/tasty/data/golden/Pair.dhall.html
+++ b/tasty/data/golden/Pair.dhall.html
@@ -4,13 +4,13 @@
 <title>/Pair.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/Plain.txt.html b/tasty/data/golden/Plain.txt.html
--- a/tasty/data/golden/Plain.txt.html
+++ b/tasty/data/golden/Plain.txt.html
@@ -4,13 +4,13 @@
 <title>/Plain.txt</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/RenderTypeIndexesExample.dhall.html b/tasty/data/golden/RenderTypeIndexesExample.dhall.html
--- a/tasty/data/golden/RenderTypeIndexesExample.dhall.html
+++ b/tasty/data/golden/RenderTypeIndexesExample.dhall.html
@@ -4,13 +4,13 @@
 <title>/RenderTypeIndexesExample.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/StandaloneTextFile.txt.html b/tasty/data/golden/StandaloneTextFile.txt.html
new file mode 100644
--- /dev/null
+++ b/tasty/data/golden/StandaloneTextFile.txt.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<title>/StandaloneTextFile.txt</title>
+<link rel="stylesheet" type="text/css" href="index.css">
+<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
+<script src="index.js">
+</script>
+<meta charset="UTF-8">
+</head>
+<body>
+<div class="nav-bar">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
+<p class="package-title">test-package</p>
+<div class="nav-bar-content-divider">
+</div>
+<a id="switch-light-dark-mode" class="nav-option">Switch Light/Dark Mode</a>
+</div>
+<div class="main-container">
+<h2 class="doc-title">
+<span class="crumb-divider">/</span>
+<a href="index.html">test-package</a>
+<span class="crumb-divider">/</span>
+<span class="title-crumb" href="index.html">StandaloneTextFile.txt</span>
+</h2>
+<a class="copy-to-clipboard" data-path="/StandaloneTextFile.txt">
+<i>
+<small>Copy path to clipboard</small>
+</i>
+</a>
+<br>
+<h3>Source</h3>
+<div class="source-code">
+<pre>This is a text file that is not referenced by any dhall file.
+
++---------------------------------------------------+
+| It should be displayed as &lt;pre&gt;preformatted&lt;/pre&gt; |
+|   text, with horizontal and vertical whitespace   |
+|          preserved, to keep it readable.          |
++---------------------------------------------------+
+</pre>
+</div>
+</div>
+</body>
+</html>
diff --git a/tasty/data/golden/TwoAnnotations.dhall.html b/tasty/data/golden/TwoAnnotations.dhall.html
--- a/tasty/data/golden/TwoAnnotations.dhall.html
+++ b/tasty/data/golden/TwoAnnotations.dhall.html
@@ -4,13 +4,13 @@
 <title>/TwoAnnotations.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/a/JumpToParent.dhall.html b/tasty/data/golden/a/JumpToParent.dhall.html
--- a/tasty/data/golden/a/JumpToParent.dhall.html
+++ b/tasty/data/golden/a/JumpToParent.dhall.html
@@ -4,13 +4,13 @@
 <title>/a/JumpToParent.dhall</title>
 <link rel="stylesheet" type="text/css" href="../index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="../index.js">
+<script src="../index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="../dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="../dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/a/b.dhall.html b/tasty/data/golden/a/b.dhall.html
--- a/tasty/data/golden/a/b.dhall.html
+++ b/tasty/data/golden/a/b.dhall.html
@@ -4,13 +4,13 @@
 <title>/a/b.dhall</title>
 <link rel="stylesheet" type="text/css" href="../index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="../index.js">
+<script src="../index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="../dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="../dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/a/b/JumpToGrandfather.dhall.html b/tasty/data/golden/a/b/JumpToGrandfather.dhall.html
--- a/tasty/data/golden/a/b/JumpToGrandfather.dhall.html
+++ b/tasty/data/golden/a/b/JumpToGrandfather.dhall.html
@@ -4,13 +4,13 @@
 <title>/a/b/JumpToGrandfather.dhall</title>
 <link rel="stylesheet" type="text/css" href="../../index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="../../index.js">
+<script src="../../index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="../../dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="../../dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/a/b/c.dhall.html b/tasty/data/golden/a/b/c.dhall.html
--- a/tasty/data/golden/a/b/c.dhall.html
+++ b/tasty/data/golden/a/b/c.dhall.html
@@ -4,13 +4,13 @@
 <title>/a/b/c.dhall</title>
 <link rel="stylesheet" type="text/css" href="../../index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="../../index.js">
+<script src="../../index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="../../dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="../../dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/a/b/c/a.dhall.html b/tasty/data/golden/a/b/c/a.dhall.html
--- a/tasty/data/golden/a/b/c/a.dhall.html
+++ b/tasty/data/golden/a/b/c/a.dhall.html
@@ -4,13 +4,13 @@
 <title>/a/b/c/a.dhall</title>
 <link rel="stylesheet" type="text/css" href="../../../index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="../../../index.js">
+<script src="../../../index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="../../../dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="../../../dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/a/b/c/index.html b/tasty/data/golden/a/b/c/index.html
--- a/tasty/data/golden/a/b/c/index.html
+++ b/tasty/data/golden/a/b/c/index.html
@@ -4,13 +4,13 @@
 <title>/a/b/c</title>
 <link rel="stylesheet" type="text/css" href="../../../index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="../../../index.js">
+<script src="../../../index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="../../../dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="../../../dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/a/b/index.html b/tasty/data/golden/a/b/index.html
--- a/tasty/data/golden/a/b/index.html
+++ b/tasty/data/golden/a/b/index.html
@@ -4,13 +4,13 @@
 <title>/a/b</title>
 <link rel="stylesheet" type="text/css" href="../../index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="../../index.js">
+<script src="../../index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="../../dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="../../dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/a/index.html b/tasty/data/golden/a/index.html
--- a/tasty/data/golden/a/index.html
+++ b/tasty/data/golden/a/index.html
@@ -4,13 +4,13 @@
 <title>/a</title>
 <link rel="stylesheet" type="text/css" href="../index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="../index.js">
+<script src="../index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="../dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="../dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/deep/nested/folder/index.html b/tasty/data/golden/deep/nested/folder/index.html
--- a/tasty/data/golden/deep/nested/folder/index.html
+++ b/tasty/data/golden/deep/nested/folder/index.html
@@ -4,13 +4,13 @@
 <title>/deep/nested/folder</title>
 <link rel="stylesheet" type="text/css" href="../../../index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="../../../index.js">
+<script src="../../../index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="../../../dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="../../../dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/deep/nested/folder/my-even.dhall.html b/tasty/data/golden/deep/nested/folder/my-even.dhall.html
--- a/tasty/data/golden/deep/nested/folder/my-even.dhall.html
+++ b/tasty/data/golden/deep/nested/folder/my-even.dhall.html
@@ -4,13 +4,13 @@
 <title>/deep/nested/folder/my-even.dhall</title>
 <link rel="stylesheet" type="text/css" href="../../../index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="../../../index.js">
+<script src="../../../index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="../../../dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="../../../dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/deep/nested/index.html b/tasty/data/golden/deep/nested/index.html
--- a/tasty/data/golden/deep/nested/index.html
+++ b/tasty/data/golden/deep/nested/index.html
@@ -4,13 +4,13 @@
 <title>/deep/nested</title>
 <link rel="stylesheet" type="text/css" href="../../index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="../../index.js">
+<script src="../../index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="../../dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="../../dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/golden/index.html b/tasty/data/golden/index.html
--- a/tasty/data/golden/index.html
+++ b/tasty/data/golden/index.html
@@ -4,13 +4,13 @@
 <title>/</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
@@ -55,6 +55,9 @@
 <a href="InvalidMarkdown.dhall.html">InvalidMarkdown.dhall</a>
 </li>
 <li>
+<a href="InvalidMarkdownFile.md.html">InvalidMarkdownFile.md</a>
+</li>
+<li>
 <a href="JumpToDefOnUnused.dhall.html">JumpToDefOnUnused.dhall</a>
 </li>
 <li>
@@ -130,6 +133,9 @@
 <a href="MarkdownExample.dhall.html">MarkdownExample.dhall</a>
 </li>
 <li>
+<a href="MarkdownFile.md.html">MarkdownFile.md</a>
+</li>
+<li>
 <a href="MultilineIndentationExample.dhall.html">MultilineIndentationExample.dhall</a>
 <span class="of-type-token">:</span>
 <span class="dhall-type source-code">
@@ -169,6 +175,9 @@
 <pre>Bool<br>
 </pre>
 </span>
+</li>
+<li>
+<a href="StandaloneTextFile.txt.html">StandaloneTextFile.txt</a>
 </li>
 <li>
 <a href="TwoAnnotations.dhall.html">TwoAnnotations.dhall</a>
diff --git a/tasty/data/golden/package.dhall.html b/tasty/data/golden/package.dhall.html
--- a/tasty/data/golden/package.dhall.html
+++ b/tasty/data/golden/package.dhall.html
@@ -4,13 +4,13 @@
 <title>/package.dhall</title>
 <link rel="stylesheet" type="text/css" href="index.css">
 <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&amp;family=Lato:ital,wght@0,400;0,700;1,400&amp;display=swap">
-<script type="text/javascript" src="index.js">
+<script src="index.js">
 </script>
 <meta charset="UTF-8">
 </head>
 <body>
 <div class="nav-bar">
-<img class="dhall-icon" src="dhall-icon.svg">
+<img class="dhall-icon" alt="Dhall logo." src="dhall-icon.svg">
 <p class="package-title">test-package</p>
 <div class="nav-bar-content-divider">
 </div>
diff --git a/tasty/data/package/InvalidMarkdownFile.md b/tasty/data/package/InvalidMarkdownFile.md
new file mode 100644
--- /dev/null
+++ b/tasty/data/package/InvalidMarkdownFile.md
@@ -0,0 +1,1 @@
+This file is not valid [Markdown](aaa
diff --git a/tasty/data/package/MarkdownFile.md b/tasty/data/package/MarkdownFile.md
new file mode 100644
--- /dev/null
+++ b/tasty/data/package/MarkdownFile.md
@@ -0,0 +1,9 @@
+# Title
+
+This is a *Markdown* file.
+
+|A very | nice | table|
+|---|---|---|
+|1|2|3|
+|4|5|6|
+
diff --git a/tasty/data/package/StandaloneTextFile.txt b/tasty/data/package/StandaloneTextFile.txt
new file mode 100644
--- /dev/null
+++ b/tasty/data/package/StandaloneTextFile.txt
@@ -0,0 +1,7 @@
+This is a text file that is not referenced by any dhall file.
+
++---------------------------------------------------+
+| It should be displayed as <pre>preformatted</pre> |
+|   text, with horizontal and vertical whitespace   |
+|          preserved, to keep it readable.          |
++---------------------------------------------------+
