diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Text/Pandoc/Writers/RST.hs | 21 | 
1 files changed, 18 insertions, 3 deletions
| diff --git a/src/Text/Pandoc/Writers/RST.hs b/src/Text/Pandoc/Writers/RST.hs index 28d44533a..db914a849 100644 --- a/src/Text/Pandoc/Writers/RST.hs +++ b/src/Text/Pandoc/Writers/RST.hs @@ -378,9 +378,24 @@ blockListToRST :: PandocMonad m  blockListToRST = blockListToRST' False  transformInlines :: [Inline] -> [Inline] -transformInlines = -  removeLeadingTrailingSpace . removeSpaceAfterDisplayMath . insertBS -  where -- remove spaces after displaymath, as they screw up indentation: +transformInlines =  removeLeadingTrailingSpace . insertBS +                    . filter hasContents . removeSpaceAfterDisplayMath +  where -- empty inlines are not valid RST syntax +        hasContents :: Inline -> Bool +        hasContents (Str "")              = False +        hasContents (Emph [])             = False +        hasContents (Strong [])           = False +        hasContents (Strikeout [])        = False +        hasContents (Superscript [])      = False +        hasContents (Subscript [])        = False +        hasContents (SmallCaps [])        = False +        hasContents (Quoted _ [])         = False +        hasContents (Cite _ [])           = False +        hasContents (Span _ [])           = False +        hasContents (Link _ [] ("", ""))  = False +        hasContents (Image _ [] ("", "")) = False +        hasContents _                     = True +        -- remove spaces after displaymath, as they screw up indentation:          removeSpaceAfterDisplayMath (Math DisplayMath x : zs) =                Math DisplayMath x : dropWhile (==Space) zs          removeSpaceAfterDisplayMath (x:xs) = x : removeSpaceAfterDisplayMath xs | 
