diff options
author | John MacFarlane <jgm@berkeley.edu> | 2018-11-11 13:27:25 -0800 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2018-11-11 13:46:23 -0800 |
commit | a36d202e862f3fe0652e4f46cf7713120f50be28 (patch) | |
tree | 57b26749c5aff5e02e379fd5ae9824e513677fd4 /src/Text/Pandoc/Readers/Odt | |
parent | ca17ae52465e0194b97d38b9a065a8186cb23a6d (diff) | |
download | pandoc-a36d202e862f3fe0652e4f46cf7713120f50be28.tar.gz |
Text.Pandoc.Shared: add parameter to uniqueIdent, inlineListToIdentifier.
The parameter is Extensions. This allows these functions to
be sensitive to the settings of `Ext_gfm_auto_identifiers` and
`Ext_ascii_identifiers`.
This allows us to use `uniqueIdent` in the CommonMark reader,
replacing some custom code.
It also means that `gfm_auto_identifiers` can now be used
in all formats.
Semantically, `gfm_auto_identifiers` is now a modifier of
`auto_identifiers`; for identifiers to be set, `auto_identifiers`
must be turned on, and then the type of identifier produced
depends on `gfm_auto_identifiers` and `ascii_identifiers` are set.
Closes #5057.
Diffstat (limited to 'src/Text/Pandoc/Readers/Odt')
-rw-r--r-- | src/Text/Pandoc/Readers/Odt/ContentReader.hs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/Odt/ContentReader.hs b/src/Text/Pandoc/Readers/Odt/ContentReader.hs index 78881914d..097516eb4 100644 --- a/src/Text/Pandoc/Readers/Odt/ContentReader.hs +++ b/src/Text/Pandoc/Readers/Odt/ContentReader.hs @@ -54,6 +54,7 @@ import qualified Text.XML.Light as XML import Text.Pandoc.Builder import Text.Pandoc.MediaBag (MediaBag, insertMedia) import Text.Pandoc.Shared +import Text.Pandoc.Extensions (extensionsFromList, Extension(..)) import Text.Pandoc.Readers.Odt.Base import Text.Pandoc.Readers.Odt.Namespaces @@ -253,7 +254,9 @@ getPrettyAnchor = proc (baseIdent, uglyAnchor) -> do getHeaderAnchor :: OdtReaderSafe Inlines Anchor getHeaderAnchor = proc title -> do state <- getExtraState -< () - let anchor = uniqueIdent (toList title) (Set.fromList $ usedAnchors state) + let exts = extensionsFromList [Ext_auto_identifiers] + let anchor = uniqueIdent exts (toList title) + (Set.fromList $ usedAnchors state) modifyExtraState (putPrettyAnchor anchor anchor) -<< anchor @@ -768,6 +771,7 @@ read_maybe_nested_img_frame = matchingElement NsDraw "frame" read_frame :: OdtReaderSafe Inlines Inlines read_frame = proc blocks -> do + let exts = extensionsFromList [Ext_auto_identifiers] w <- ( findAttr' NsSVG "width" ) -< () h <- ( findAttr' NsSVG "height" ) -< () titleNodes <- ( matchChildContent' [ read_frame_title ] ) -< blocks @@ -776,7 +780,8 @@ read_frame = _ <- updateMediaWithResource -< resource alt <- (matchChildContent [] read_plain_text) -< blocks arr (uncurry4 imageWith ) -< - (image_attributes w h, src, inlineListToIdentifier (toList titleNodes), alt) + (image_attributes w h, src, + inlineListToIdentifier exts (toList titleNodes), alt) image_attributes :: Maybe String -> Maybe String -> Attr image_attributes x y = |