git.iko.soy/typeable/pandoc
on master help sign in
HTML reader: extract spaces inside links instead of trimming them
937b92cAlexander Krotov
src/Text/Pandoc/Readers/HTML.hs+3−3
@@ -745,18 +745,18 @@ pLink = try $ do
745 let uid = fromMaybe (T.unpack $ fromAttrib "name" tag) $
745 let uid = fromMaybe (T.unpack $ fromAttrib "name" tag) $
746 maybeFromAttrib "id" tag
746 maybeFromAttrib "id" tag
747 let cls = words $ T.unpack $ fromAttrib "class" tag
747 let cls = words $ T.unpack $ fromAttrib "class" tag
748− lab <- trimInlines . mconcat <$> manyTill inline (pCloses "a")
748+ lab <- mconcat <$> manyTill inline (pCloses "a")
749 -- check for href; if href, then a link, otherwise a span
749 -- check for href; if href, then a link, otherwise a span
750 case maybeFromAttrib "href" tag of
750 case maybeFromAttrib "href" tag of
751 Nothing ->
751 Nothing ->
752− return $ B.spanWith (uid, cls, []) lab
752+ return $ extractSpaces (B.spanWith (uid, cls, [])) lab
753 Just url' -> do
753 Just url' -> do
754 mbBaseHref <- baseHref <$> getState
754 mbBaseHref <- baseHref <$> getState
755 let url = case (parseURIReference url', mbBaseHref) of
755 let url = case (parseURIReference url', mbBaseHref) of
756 (Just rel, Just bs) ->
756 (Just rel, Just bs) ->
757 show (rel `nonStrictRelativeTo` bs)
757 show (rel `nonStrictRelativeTo` bs)
758 _ -> url'
758 _ -> url'
759− return $ B.linkWith (uid, cls, []) (escapeURI url) title lab
759+ return $ extractSpaces (B.linkWith (uid, cls, []) (escapeURI url) title) lab
760
760
761pImage :: PandocMonad m => TagParser m Inlines
761pImage :: PandocMonad m => TagParser m Inlines
762pImage = do
762pImage = do
test/command/4845.mdnew file+6
@@ -0,0 +1,6 @@
1+```
2+% pandoc -f html -t native
3+x<a href="/foo"> leading trailing space </a>x
4+^D
5+[Plain [Str "x",Space,Link ("",[],[]) [Str "leading",Space,Str "trailing",Space,Str "space"] ("/foo",""),Space,Str "x"]]
6+```