Create directory of output file if it doesn't exist.

Closes #11040.
This commit is contained in:
John MacFarlane
2025-08-11 22:47:52 -07:00
parent 529b6d1667
commit 511ddc3223
+5 -2
View File
@@ -42,11 +42,12 @@ import qualified Data.Text.Lazy as TL
import qualified Data.Text.Lazy.Encoding as TE
import qualified Data.Text.Encoding.Error as TE
import Data.Char (toLower)
import System.Directory (doesDirectoryExist, createDirectory)
import System.Directory (doesDirectoryExist, createDirectory,
createDirectoryIfMissing)
import Codec.Archive.Zip (toArchiveOrFail,
extractFilesFromArchive, ZipOption(..))
import System.Exit (exitSuccess)
import System.FilePath ( takeBaseName, takeExtension)
import System.FilePath ( takeBaseName, takeExtension, takeDirectory)
import System.IO (nativeNewline, stdout)
import qualified System.IO as IO (Newline (..))
import Text.Pandoc
@@ -116,6 +117,8 @@ convertWithOpts scriptingEngine opts = do
CRLF -> IO.CRLF
LF -> IO.LF
Native -> nativeNewline
let outputFileDir = takeDirectory outputFile
createDirectoryIfMissing True outputFileDir
case output of
TextOutput t -> writerFn eol outputFile t
BinaryOutput bs -> writeFnBinary outputFile bs