Skip to content

Commit 511ddc3

Browse files
committed
Create directory of output file if it doesn't exist.
Closes #11040.
1 parent 529b6d1 commit 511ddc3

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/Text/Pandoc/App.hs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,12 @@ import qualified Data.Text.Lazy as TL
4242
import qualified Data.Text.Lazy.Encoding as TE
4343
import qualified Data.Text.Encoding.Error as TE
4444
import Data.Char (toLower)
45-
import System.Directory (doesDirectoryExist, createDirectory)
45+
import System.Directory (doesDirectoryExist, createDirectory,
46+
createDirectoryIfMissing)
4647
import Codec.Archive.Zip (toArchiveOrFail,
4748
extractFilesFromArchive, ZipOption(..))
4849
import System.Exit (exitSuccess)
49-
import System.FilePath ( takeBaseName, takeExtension)
50+
import System.FilePath ( takeBaseName, takeExtension, takeDirectory)
5051
import System.IO (nativeNewline, stdout)
5152
import qualified System.IO as IO (Newline (..))
5253
import Text.Pandoc
@@ -116,6 +117,8 @@ convertWithOpts scriptingEngine opts = do
116117
CRLF -> IO.CRLF
117118
LF -> IO.LF
118119
Native -> nativeNewline
120+
let outputFileDir = takeDirectory outputFile
121+
createDirectoryIfMissing True outputFileDir
119122
case output of
120123
TextOutput t -> writerFn eol outputFile t
121124
BinaryOutput bs -> writeFnBinary outputFile bs

0 commit comments

Comments
 (0)