mirror of
https://github.com/jgm/pandoc.git
synced 2026-09-24 08:25:52 +00:00
Don't escape < in <style> tags with --self-contained.
Closes #422: highlighting lost using `--self-contained`.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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" }
|
||||
|
||||
Reference in New Issue
Block a user