aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Class.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text/Pandoc/Class.hs')
-rw-r--r--src/Text/Pandoc/Class.hs19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/Text/Pandoc/Class.hs b/src/Text/Pandoc/Class.hs
index 098d95a09..5abb5fdd8 100644
--- a/src/Text/Pandoc/Class.hs
+++ b/src/Text/Pandoc/Class.hs
@@ -524,12 +524,11 @@ alertIndent (l:ls) = do
-- single-letter schemes. Reason: these are usually windows absolute
-- paths.
parseURIReference' :: T.Text -> Maybe URI
-parseURIReference' s =
- case parseURIReference (T.unpack s) of
- Just u
- | length (uriScheme u) > 2 -> Just u
- | null (uriScheme u) -> Just u -- protocol-relative
- _ -> Nothing
+parseURIReference' s = do
+ u <- parseURIReference (T.unpack s)
+ case uriScheme u of
+ [_] -> Nothing
+ _ -> Just u
-- | Set the user data directory in common state.
setUserDataDir :: PandocMonad m
@@ -589,10 +588,10 @@ downloadOrRead s = do
uriFragment = "" }
dropFragmentAndQuery = T.takeWhile (\c -> c /= '?' && c /= '#')
fp = unEscapeString $ T.unpack $ dropFragmentAndQuery s
- mime = case takeExtension fp of
- ".gz" -> getMimeType $ dropExtension fp
- ".svgz" -> getMimeType $ dropExtension fp ++ ".svg"
- x -> getMimeType x
+ mime = getMimeType $ case takeExtension fp of
+ ".gz" -> dropExtension fp
+ ".svgz" -> dropExtension fp ++ ".svg"
+ x -> x
ensureEscaped = T.pack . escapeURIString isAllowedInURI . T.unpack . T.map convertSlash
convertSlash '\\' = '/'
convertSlash x = x