git.iko.soy/typeable/pandoc
on master help sign in
Made user directory a Maybe in readFile, s5HeaderIncludes, laTeXMathML.

This is more uniform, and calling libraries can always disable searching of user directories for overrides. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1821 788f1e2b-df1e-0410-8736-df70ead52e1b

commitb412a9cf4a3bf841f4fb4fb1bf63590f3c9c43e6 authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> dateMon 18 Jan 2010, 07:01 (17 years ago) parent9fed261
5 files changed+13−14
src/Text/Pandoc/LaTeXMathML.hs+1−1 src/Text/Pandoc/Shared.hs+6−4 src/Text/Pandoc/Templates.hs+1−4 src/Text/Pandoc/Writers/S5.hs+3−3 src/pandoc.hs+2−2
src/Text/Pandoc/LaTeXMathML.hs+1−1
@@ -5,7 +5,7 @@ import System.FilePath ( (</>) )
55import Text.Pandoc.Shared (readDataFile)
66
77-- | String containing LaTeXMathML javascript.
8−latexMathMLScript :: FilePath -> IO String
8+latexMathMLScript :: Maybe FilePath -> IO String
99latexMathMLScript datadir = do
1010 jsCom <- readDataFile datadir $ "data" </> "LaTeXMathML.js.comment"
1111 jsPacked <- readDataFile datadir $ "data" </> "LaTeXMathML.js.packed"
src/Text/Pandoc/Shared.hs+6−4
@@ -1046,7 +1046,9 @@ inDirectory path action = do
10461046
10471047-- | Read file from specified user data directory or, if not found there, from
10481048-- Cabal data directory.
1049−readDataFile :: FilePath -> FilePath -> IO String
1050−readDataFile userDir fname = catch
1051− (readFile $ userDir </> fname)
1052− (\_ -> getDataFileName fname >>= readFile)
1049+readDataFile :: Maybe FilePath -> FilePath -> IO String
1050+readDataFile userDir fname =
1051+ case userDir of
1052+ Nothing -> getDataFileName fname >>= readFile
1053+ Just u -> catch (readFile $ u </> fname)
1054+ (\_ -> getDataFileName fname >>= readFile)
src/Text/Pandoc/Templates.hs+1−4
@@ -84,7 +84,6 @@ import Text.Pandoc.Shared (readDataFile)
8484import Prelude hiding ( readFile )
8585import System.IO.UTF8 ( readFile )
8686#endif
87−import Paths_pandoc (getDataFileName)
8887
8988-- | Get default template for the specified writer.
9089getDefaultTemplate :: (Maybe FilePath) -- ^ User data directory to search first
@@ -96,9 +95,7 @@ getDefaultTemplate user "odt" = getDefaultTemplate user "opendocument"
9695getDefaultTemplate user writer = do
9796 let format = takeWhile (/='+') writer -- strip off "+lhs" if present
9897 let fname = "templates" </> format <.> "template"
99− E.try $ case user of
100− Just d -> readDataFile d fname
101− Nothing -> getDataFileName fname >>= readFile
98+ E.try $ readDataFile user fname
10299
103100data TemplateState = TemplateState Int [(String,String)]
104101
src/Text/Pandoc/Writers/S5.hs+3−3
@@ -44,7 +44,7 @@ import Text.XHtml.Strict
4444import System.FilePath ( (</>) )
4545import Data.List ( intercalate )
4646
47−s5HeaderIncludes :: FilePath -> IO String
47+s5HeaderIncludes :: Maybe FilePath -> IO String
4848s5HeaderIncludes datadir = do
4949 c <- s5CSS datadir
5050 j <- s5Javascript datadir
@@ -53,14 +53,14 @@ s5HeaderIncludes datadir = do
5353s5Meta :: String
5454s5Meta = "<!-- configuration parameters -->\n<meta name=\"defaultView\" content=\"slideshow\" />\n<meta name=\"controlVis\" content=\"hidden\" />\n"
5555
56−s5Javascript :: FilePath -> IO String
56+s5Javascript :: Maybe FilePath -> IO String
5757s5Javascript datadir = do
5858 jsCom <- readDataFile datadir $ "s5" </> "default" </> "slides.js.comment"
5959 jsPacked <- readDataFile datadir $ "s5" </> "default" </> "slides.js.packed"
6060 return $ "<script type=\"text/javascript\">\n" ++ jsCom ++ jsPacked ++
6161 "</script>\n"
6262
63−s5CSS :: FilePath -> IO String
63+s5CSS :: Maybe FilePath -> IO String
6464s5CSS datadir = do
6565 s5CoreCSS <- readDataFile datadir $ "s5" </> "default" </> "s5-core.css"
6666 s5FramingCSS <- readDataFile datadir $ "s5" </> "default" </> "framing.css"
src/pandoc.hs+2−2
@@ -668,13 +668,13 @@ main = do
668668
669669 variables' <- if writerName' == "s5" && standalone'
670670 then do
671− inc <- s5HeaderIncludes datadir
671+ inc <- s5HeaderIncludes (Just datadir)
672672 return $ ("header-includes", inc) : variables
673673 else return variables
674674
675675 variables'' <- case mathMethod of
676676 LaTeXMathML Nothing -> do
677− s <- latexMathMLScript datadir
677+ s <- latexMathMLScript (Just datadir)
678678 return $ ("latexmathml-script", s) : variables'
679679 _ -> return variables'
680680