From 239a17a9863db9eea87e142931e6647b0e0064e1 Mon Sep 17 00:00:00 2001 From: John MacFarlane <jgm@berkeley.edu> Date: Thu, 9 Mar 2017 09:41:22 +0100 Subject: [PATCH] HTML writer: fallback to basename rather than Untitled. --- src/Text/Pandoc/Writers/HTML.hs | 9 +++++---- test/lhs-test.html | 2 +- test/lhs-test.html+lhs | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/Text/Pandoc/Writers/HTML.hs b/src/Text/Pandoc/Writers/HTML.hs index e904b5fb7..ab2713748 100644 --- a/src/Text/Pandoc/Writers/HTML.hs +++ b/src/Text/Pandoc/Writers/HTML.hs @@ -76,7 +76,7 @@ import qualified Text.Blaze.Html5 as H5 #endif import Control.Monad.Except (throwError) import Data.Aeson (Value) -import System.FilePath (takeExtension) +import System.FilePath (takeExtension, takeBaseName) import Text.Blaze.Html.Renderer.String (renderHtml) import qualified Text.Blaze.XHtml1.Transitional as H import qualified Text.Blaze.XHtml1.Transitional.Attributes as A @@ -197,9 +197,10 @@ writeHtmlString' st opts d = do case getField "pagetitle" context of Just (s :: String) | not (null s) -> return context _ -> do - report $ NoTitleElement "Untitled" - return $ resetField "pagetitle" ("Untitled" :: String) - context + let fallback = fromMaybe "Untitled" $ takeBaseName <$> + lookup "sourcefile" (writerVariables opts) + report $ NoTitleElement fallback + return $ resetField "pagetitle" fallback context return $ renderTemplate' tpl $ defField "body" (renderHtml body) context' diff --git a/test/lhs-test.html b/test/lhs-test.html index 330122666..db90ae95e 100644 --- a/test/lhs-test.html +++ b/test/lhs-test.html @@ -4,7 +4,7 @@ <meta charset="utf-8" /> <meta name="generator" content="pandoc" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> - <title>Untitled</title> + <title>lhs-test</title> <style type="text/css"> code{white-space: pre-wrap;} .smallcaps{font-variant: small-caps;} diff --git a/test/lhs-test.html+lhs b/test/lhs-test.html+lhs index 7ce9a83c7..d13aa36e3 100644 --- a/test/lhs-test.html+lhs +++ b/test/lhs-test.html+lhs @@ -4,7 +4,7 @@ <meta charset="utf-8" /> <meta name="generator" content="pandoc" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> - <title>Untitled</title> + <title>lhs-test</title> <style type="text/css"> code{white-space: pre-wrap;} .smallcaps{font-variant: small-caps;}