diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Text/Pandoc/Readers/HTML.hs | 12 | ||||
-rw-r--r-- | src/Text/Pandoc/SelfContained.hs | 14 |
2 files changed, 22 insertions, 4 deletions
diff --git a/src/Text/Pandoc/Readers/HTML.hs b/src/Text/Pandoc/Readers/HTML.hs index 43165ceb1..0c017b2e4 100644 --- a/src/Text/Pandoc/Readers/HTML.hs +++ b/src/Text/Pandoc/Readers/HTML.hs @@ -46,7 +46,7 @@ import Text.Pandoc.Shared import Text.Pandoc.Parsing import Data.Maybe ( fromMaybe, isJust ) import Data.List ( intercalate ) -import Data.Char ( isSpace, isDigit ) +import Data.Char ( isSpace, isDigit, toLower ) import Control.Monad ( liftM, guard, when ) -- | Convert HTML-formatted string to 'Pandoc' document. @@ -90,9 +90,17 @@ block = choice , pRawHtmlBlock ] +-- repeated in SelfContained -- consolidate eventually renderTags' :: [Tag String] -> String renderTags' = renderTagsOptions - renderOptions{ optMinimize = (`elem` ["hr","br","img"]) } + renderOptions{ optMinimize = \x -> + let y = map toLower x + in y == "hr" || y == "br" || + y == "img" || y == "meta" || + y == "link" + , optRawTag = \x -> + let y = map toLower x + in y == "script" || y == "style" } pList :: TagParser [Block] pList = pBulletList <|> pOrderedList <|> pDefinitionList diff --git a/src/Text/Pandoc/SelfContained.hs b/src/Text/Pandoc/SelfContained.hs index 9c609b8fe..9332a3fa0 100644 --- a/src/Text/Pandoc/SelfContained.hs +++ b/src/Text/Pandoc/SelfContained.hs @@ -157,6 +157,16 @@ makeSelfContained :: Maybe FilePath -> String -> IO String makeSelfContained userdata inp = do let tags = parseTags inp out' <- mapM (convertTag userdata) tags - return $ renderTagsOptions renderOptions{ optMinimize = (\t -> t == "br" - || t == "img" || t == "meta" || t == "link" ) } out' + return $ renderTags' out' +-- repeated from HTML reader: +renderTags' :: [Tag String] -> String +renderTags' = renderTagsOptions + renderOptions{ optMinimize = \x -> + let y = map toLower x + in y == "hr" || y == "br" || + y == "img" || y == "meta" || + y == "link" + , optRawTag = \x -> + let y = map toLower x + in y == "script" || y == "style" } |