From 8b7df2d915fb4cedb99e60188b0899de9b8b7024 Mon Sep 17 00:00:00 2001 From: Jesse Rosenthal Date: Thu, 22 Feb 2018 13:39:19 -0500 Subject: Docx reader: Move pandoc inline styling inside custom-style span Previously Emph, Strong, etc were outside the custom-style span. This moves them inside in order to make it easier to write filters that act on the formatting in these contents. Tests and MANUAL example are changed to match. --- MANUAL.txt | 4 ++-- src/Text/Pandoc/Readers/Docx.hs | 14 +++++++------- test/docx/custom-style-with-styles.native | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/MANUAL.txt b/MANUAL.txt index d4a0c5e1d..9df9948f2 100644 --- a/MANUAL.txt +++ b/MANUAL.txt @@ -4538,8 +4538,8 @@ And with the extension: ::: ::: {custom-style="BodyText"} - This is text with an *[emphasized]{custom-style="Emphatic"}* text style. - And this is text with a **[strengthened]{custom-style="Strengthened"}** + This is text with an [*emphasized*]{custom-style="Emphatic"} text style. + And this is text with a [**strengthened**]{custom-style="Strengthened"} text style. ::: diff --git a/src/Text/Pandoc/Readers/Docx.hs b/src/Text/Pandoc/Readers/Docx.hs index 775fa1cdd..5f2ca0fff 100644 --- a/src/Text/Pandoc/Readers/Docx.hs +++ b/src/Text/Pandoc/Readers/Docx.hs @@ -301,37 +301,37 @@ runStyleToTransform rPr extraInfo <- extraRunStyleInfo rPr transform <- local (\e -> e{docxCustomStyleAlready = True}) $ runStyleToTransform rPr {isItalic = Nothing} - return $ emph . extraInfo . transform + return $ extraInfo . emph . transform | Just True <- isBold rPr = do extraInfo <- extraRunStyleInfo rPr transform <- local (\e -> e{docxCustomStyleAlready = True}) $ runStyleToTransform rPr {isBold = Nothing} - return $ strong . extraInfo . transform + return $ extraInfo . strong . transform | Just True <- isSmallCaps rPr = do extraInfo <- extraRunStyleInfo rPr transform <- local (\e -> e{docxCustomStyleAlready = True}) $ runStyleToTransform rPr {isSmallCaps = Nothing} - return $ smallcaps . extraInfo .transform + return $ extraInfo . smallcaps . transform | Just True <- isStrike rPr = do extraInfo <- extraRunStyleInfo rPr transform <- local (\e -> e{docxCustomStyleAlready = True}) $ runStyleToTransform rPr {isStrike = Nothing} - return $ strikeout . extraInfo . transform + return $ extraInfo . strikeout . transform | Just SupScrpt <- rVertAlign rPr = do extraInfo <- extraRunStyleInfo rPr transform <- local (\e -> e{docxCustomStyleAlready = True}) $ runStyleToTransform rPr {rVertAlign = Nothing} - return $ superscript . extraInfo . transform + return $ extraInfo . superscript . transform | Just SubScrpt <- rVertAlign rPr = do extraInfo <- extraRunStyleInfo rPr transform <- local (\e -> e{docxCustomStyleAlready = True}) $ runStyleToTransform rPr {rVertAlign = Nothing} - return $ subscript . extraInfo . transform + return $ extraInfo . subscript . transform | Just "single" <- rUnderline rPr = do extraInfo <- extraRunStyleInfo rPr transform <- local (\e -> e{docxCustomStyleAlready = True}) $ runStyleToTransform rPr {rUnderline = Nothing} - return $ underlineSpan . extraInfo . transform + return $ extraInfo . underlineSpan . transform | otherwise = extraRunStyleInfo rPr runToInlines :: PandocMonad m => Run -> DocxContext m Inlines diff --git a/test/docx/custom-style-with-styles.native b/test/docx/custom-style-with-styles.native index 9547a261a..6b0381408 100644 --- a/test/docx/custom-style-with-styles.native +++ b/test/docx/custom-style-with-styles.native @@ -1,7 +1,7 @@ [Div ("",[],[("custom-style","FirstParagraph")]) [Para [Str "This",Space,Str "is",Space,Str "some",Space,Str "text."]] ,Div ("",[],[("custom-style","BodyText")]) - [Para [Str "This",Space,Str "is",Space,Str "text",Space,Str "with",Space,Str "an",Space,Emph [Span ("",[],[("custom-style","Emphatic")]) [Str "emphasized"]],Space,Str "text",Space,Str "style.",Space,Str "And",Space,Str "this",Space,Str "is",Space,Str "text",Space,Str "with",Space,Str "a",Space,Strong [Span ("",[],[("custom-style","Strengthened")]) [Str "strengthened"]],Space,Str "text",Space,Str "style."]] + [Para [Str "This",Space,Str "is",Space,Str "text",Space,Str "with",Space,Str "an",Space,Span ("",[],[("custom-style","Emphatic")]) [Emph [Str "emphasized"]],Space,Str "text",Space,Str "style.",Space,Str "And",Space,Str "this",Space,Str "is",Space,Str "text",Space,Str "with",Space,Str "a",Space,Span ("",[],[("custom-style","Strengthened")]) [Strong [Str "strengthened"]],Space,Str "text",Space,Str "style."]] ,Div ("",[],[("custom-style","MyBlockStyle")]) [BlockQuote [Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "styled",Space,Str "paragraph",Space,Str "that",Space,Str "inherits",Space,Str "from",Space,Str "Block",Space,Str "Text."]]]] -- cgit v1.2.3