@@ -47,7 +47,7 @@ import Control.Monad.State.Strict
47import Data.Char (ord, toLower)
47import Data.Char (ord, toLower)
48import Data.Text (Text)
48import Data.Text (Text)
49import qualified Data.Text.Lazy as TL
49import qualified Data.Text.Lazy as TL
50−import Data.List (intersperse, isPrefixOf)
50+import Data.List (intersperse, isPrefixOf, partition, intercalate)
51import Data.Maybe (catMaybes, fromMaybe, isJust, isNothing)
51import Data.Maybe (catMaybes, fromMaybe, isJust, isNothing)
52import Data.Monoid ((<>))
52import Data.Monoid ((<>))
53import qualified Data.Set as Set
53import qualified Data.Set as Set
@@ -569,8 +569,14 @@ imgAttrsToHtml opts attr = do
569 isNotDim _ = True
569 isNotDim _ = True
571dimensionsToAttrList :: Attr -> [(String, String)]
571dimensionsToAttrList :: Attr -> [(String, String)]
572−dimensionsToAttrList attr = (go Width) ++ (go Height)
572+dimensionsToAttrList attr = consolidateStyles $ go Width ++ go Height
574+ consolidateStyles xs =
575+ case partition isStyle xs of
577+ (ss, rest) -> ("style", intercalate ";" $ map snd ss) : rest
578+ isStyle ("style", _) = True
574 go dir = case (dimension dir attr) of
580 go dir = case (dimension dir attr) of
575 (Just (Pixel a)) -> [(show dir, show a)]
581 (Just (Pixel a)) -> [(show dir, show a)]
576 (Just x) -> [("style", show dir ++ ":" ++ show x)]
582 (Just x) -> [("style", show dir ++ ":" ++ show x)]