git.iko.soy/typeable/pandoc
on master help sign in
Made user directory a Maybe in readFile, s5HeaderIncludes, laTeXMathML.
b412a9cfiddlosopher
src/Text/Pandoc/LaTeXMathML.hs+1−1
@@ -5,7 +5,7 @@ import System.FilePath ( (</>) )
5import Text.Pandoc.Shared (readDataFile)
5import Text.Pandoc.Shared (readDataFile)
6
6
7-- | String containing LaTeXMathML javascript.
7-- | String containing LaTeXMathML javascript.
8−latexMathMLScript :: FilePath -> IO String
8+latexMathMLScript :: Maybe FilePath -> IO String
9latexMathMLScript datadir = do
9latexMathMLScript datadir = do
10 jsCom <- readDataFile datadir $ "data" </> "LaTeXMathML.js.comment"
10 jsCom <- readDataFile datadir $ "data" </> "LaTeXMathML.js.comment"
11 jsPacked <- readDataFile datadir $ "data" </> "LaTeXMathML.js.packed"
11 jsPacked <- readDataFile datadir $ "data" </> "LaTeXMathML.js.packed"
src/Text/Pandoc/Shared.hs+6−4
@@ -1046,7 +1046,9 @@ inDirectory path action = do
1046
1046
1047-- | Read file from specified user data directory or, if not found there, from
1047-- | Read file from specified user data directory or, if not found there, from
1048-- Cabal data directory.
1048-- Cabal data directory.
1049−readDataFile :: FilePath -> FilePath -> IO String
1049+readDataFile :: Maybe FilePath -> FilePath -> IO String
1050−readDataFile userDir fname = catch
1050+readDataFile userDir fname =
1051+ case userDir of
1052+ Nothing -> getDataFileName fname >>= readFile
1051− (readFile $ userDir </> fname)
1053+ Just u -> catch (readFile $ u </> fname)
1052− (\_ -> getDataFileName fname >>= readFile)
1054+ (\_ -> getDataFileName fname >>= readFile)
src/Text/Pandoc/Templates.hs+1−4
@@ -84,7 +84,6 @@ import Text.Pandoc.Shared (readDataFile)
84import Prelude hiding ( readFile )
84import Prelude hiding ( readFile )
85import System.IO.UTF8 ( readFile )
85import System.IO.UTF8 ( readFile )
86#endif
86#endif
87−import Paths_pandoc (getDataFileName)
88
87
89-- | Get default template for the specified writer.
88-- | Get default template for the specified writer.
90getDefaultTemplate :: (Maybe FilePath) -- ^ User data directory to search first
89getDefaultTemplate :: (Maybe FilePath) -- ^ User data directory to search first
@@ -96,9 +95,7 @@ getDefaultTemplate user "odt" = getDefaultTemplate user "opendocument"
96getDefaultTemplate user writer = do
95getDefaultTemplate user writer = do
97 let format = takeWhile (/='+') writer -- strip off "+lhs" if present
96 let format = takeWhile (/='+') writer -- strip off "+lhs" if present
98 let fname = "templates" </> format <.> "template"
97 let fname = "templates" </> format <.> "template"
99− E.try $ case user of
100− Just d -> readDataFile d fname
98+ E.try $ readDataFile user fname
101− Nothing -> getDataFileName fname >>= readFile
102
99
103data TemplateState = TemplateState Int [(String,String)]
100data TemplateState = TemplateState Int [(String,String)]
104
101
src/Text/Pandoc/Writers/S5.hs+3−3
@@ -44,7 +44,7 @@ import Text.XHtml.Strict
44import System.FilePath ( (</>) )
44import System.FilePath ( (</>) )
45import Data.List ( intercalate )
45import Data.List ( intercalate )
46
46
47−s5HeaderIncludes :: FilePath -> IO String
47+s5HeaderIncludes :: Maybe FilePath -> IO String
48s5HeaderIncludes datadir = do
48s5HeaderIncludes datadir = do
49 c <- s5CSS datadir
49 c <- s5CSS datadir
50 j <- s5Javascript datadir
50 j <- s5Javascript datadir
@@ -53,14 +53,14 @@ s5HeaderIncludes datadir = do
53s5Meta :: String
53s5Meta :: String
54s5Meta = "<!-- configuration parameters -->\n<meta name=\"defaultView\" content=\"slideshow\" />\n<meta name=\"controlVis\" content=\"hidden\" />\n"
54s5Meta = "<!-- configuration parameters -->\n<meta name=\"defaultView\" content=\"slideshow\" />\n<meta name=\"controlVis\" content=\"hidden\" />\n"
55
55
56−s5Javascript :: FilePath -> IO String
56+s5Javascript :: Maybe FilePath -> IO String
57s5Javascript datadir = do
57s5Javascript datadir = do
58 jsCom <- readDataFile datadir $ "s5" </> "default" </> "slides.js.comment"
58 jsCom <- readDataFile datadir $ "s5" </> "default" </> "slides.js.comment"
59 jsPacked <- readDataFile datadir $ "s5" </> "default" </> "slides.js.packed"
59 jsPacked <- readDataFile datadir $ "s5" </> "default" </> "slides.js.packed"
60 return $ "<script type=\"text/javascript\">\n" ++ jsCom ++ jsPacked ++
60 return $ "<script type=\"text/javascript\">\n" ++ jsCom ++ jsPacked ++
61 "</script>\n"
61 "</script>\n"
62
62
63−s5CSS :: FilePath -> IO String
63+s5CSS :: Maybe FilePath -> IO String
64s5CSS datadir = do
64s5CSS datadir = do
65 s5CoreCSS <- readDataFile datadir $ "s5" </> "default" </> "s5-core.css"
65 s5CoreCSS <- readDataFile datadir $ "s5" </> "default" </> "s5-core.css"
66 s5FramingCSS <- readDataFile datadir $ "s5" </> "default" </> "framing.css"
66 s5FramingCSS <- readDataFile datadir $ "s5" </> "default" </> "framing.css"
src/pandoc.hs+2−2
@@ -668,13 +668,13 @@ main = do
668
668
669 variables' <- if writerName' == "s5" && standalone'
669 variables' <- if writerName' == "s5" && standalone'
670 then do
670 then do
671− inc <- s5HeaderIncludes datadir
671+ inc <- s5HeaderIncludes (Just datadir)
672 return $ ("header-includes", inc) : variables
672 return $ ("header-includes", inc) : variables
673 else return variables
673 else return variables
674
674
675 variables'' <- case mathMethod of
675 variables'' <- case mathMethod of
676 LaTeXMathML Nothing -> do
676 LaTeXMathML Nothing -> do
677− s <- latexMathMLScript datadir
677+ s <- latexMathMLScript (Just datadir)
678 return $ ("latexmathml-script", s) : variables'
678 return $ ("latexmathml-script", s) : variables'
679 _ -> return variables'
679 _ -> return variables'
680
680