git.iko.soy/typeable/pandoc
on master help sign in
Markdown reader: in rebasePaths, check for both Windows and Posix

absolute paths. Previously Windows pandoc was treating `/foo/bar.jpg` as non-absolute.

commitcc6dcf03928404c08cfb3075a90d814b25fd7c69 authorJohn MacFarlane <jgm@berkeley.edu> dateSat 29 May 2021, 17:36 (5 years ago) parent0d7103d
1 file changed+5−4
src/Text/Pandoc/Readers/Markdown.hs+5−4
src/Text/Pandoc/Readers/Markdown.hs+5−4
@@ -29,7 +29,9 @@ import qualified Data.Set as Set
2929import Data.Text (Text)
3030import qualified Data.Text as T
3131import qualified Data.ByteString.Lazy as BL
32−import System.FilePath (addExtension, takeExtension, isAbsolute, takeDirectory)
32+import System.FilePath (addExtension, takeExtension, takeDirectory)
33+import qualified System.FilePath.Windows as Windows
34+import qualified System.FilePath.Posix as Posix
3335import Text.HTML.TagSoup hiding (Row)
3436import Text.Pandoc.Builder (Blocks, Inlines)
3537import qualified Text.Pandoc.Builder as B
@@ -1924,9 +1926,8 @@ rebasePath :: SourcePos -> Text -> Text
19241926rebasePath pos path = do
19251927 let fp = sourceName pos
19261928 isFragment = T.take 1 path == "#"
1927− -- check for leading / because on Windows this won't be
1928− -- recognized as absolute by isAbsolute
1929− isAbsolutePath = isAbsolute (T.unpack path) || T.take 1 path == "/"
1929+ path' = T.unpack path
1930+ isAbsolutePath = Posix.isAbsolute path' || Windows.isAbsolute path'
19301931 in if T.null path || isFragment || isAbsolutePath || isURI path
19311932 then path
19321933 else