From dd06d6354081f478e99d864ac4343896ec887eda Mon Sep 17 00:00:00 2001 From: Tristan de Cacqueray Date: Sat, 11 Apr 2020 16:57:59 +0000 Subject: HTML reader: support (#6271) See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdo Closes #5794 --- src/Text/Pandoc/Readers/HTML.hs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/Text/Pandoc') diff --git a/src/Text/Pandoc/Readers/HTML.hs b/src/Text/Pandoc/Readers/HTML.hs index 6cfef0ebe..798661fe3 100644 --- a/src/Text/Pandoc/Readers/HTML.hs +++ b/src/Text/Pandoc/Readers/HTML.hs @@ -648,6 +648,7 @@ inline = choice , pLineBreak , pLink , pImage + , pBdo , pCode , pCodeWithClass [("samp","sample"),("var","variable")] , pSpan @@ -802,6 +803,18 @@ pCode = try $ do result <- manyTill pAny (pCloses open) return $ B.codeWith (mkAttr attr) $ T.unwords $ T.lines $ innerText result +-- https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdo +-- Bidirectional Text Override +pBdo :: PandocMonad m => TagParser m Inlines +pBdo = try $ do + TagOpen _ attr' <- lookAhead $ pSatisfy $ tagOpen (=="bdo") (const True) + let attr = toStringAttr attr' + contents <- pInTags "bdo" inline + return $ case lookup "dir" attr of + -- Only bdo with a direction matters + Just dir -> B.spanWith ("", [], [("dir",T.toLower dir)]) contents + Nothing -> contents + pSpan :: PandocMonad m => TagParser m Inlines pSpan = try $ do guardEnabled Ext_native_spans -- cgit v1.2.3