From 8d523d80d4120413f6b62bf833d6da8f2a69b925 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sun, 26 Apr 2020 15:39:49 -0700 Subject: Add generic `attributes` extension. This allows attributes to be added to any block or inline element, in principle. (Though in many cases this will be done by adding a Div or Span container, since pandoc's AST doesn't have a slot for attributes for most elements.) Currently this is only possible with the commonmark and gfm readers. Add `Ext_attributes` constructor for `Extension` [API change]. --- src/Text/Pandoc/Extensions.hs | 6 ++---- src/Text/Pandoc/Readers/CommonMark.hs | 5 +---- 2 files changed, 3 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/Text/Pandoc/Extensions.hs b/src/Text/Pandoc/Extensions.hs index 6594b81a1..be8aa1948 100644 --- a/src/Text/Pandoc/Extensions.hs +++ b/src/Text/Pandoc/Extensions.hs @@ -150,6 +150,7 @@ data Extension = | Ext_tex_math_single_backslash -- ^ TeX math btw \(..\) \[..\] | Ext_yaml_metadata_block -- ^ YAML metadata block | Ext_gutenberg -- ^ Use Project Gutenberg conventions for plain + | Ext_attributes -- ^ Generic attribute syntax deriving (Show, Read, Enum, Eq, Ord, Bounded, Data, Typeable, Generic) -- | Extensions to be used with pandoc-flavored markdown. @@ -447,11 +448,8 @@ getAllExtensions f = universalExtensions <> getAll f , Ext_fenced_divs , Ext_bracketed_spans , Ext_raw_attribute - , Ext_inline_code_attributes - , Ext_fenced_code_attributes - , Ext_link_attributes - , Ext_header_attributes , Ext_implicit_header_references + , Ext_attributes ] getAll "commonmark" = getAll "gfm" getAll "org" = autoIdExtensions <> diff --git a/src/Text/Pandoc/Readers/CommonMark.hs b/src/Text/Pandoc/Readers/CommonMark.hs index d2bde1d2a..a85d9aa37 100644 --- a/src/Text/Pandoc/Readers/CommonMark.hs +++ b/src/Text/Pandoc/Readers/CommonMark.hs @@ -48,10 +48,7 @@ readCommonMark opts s = do [ fencedDivSpec | isEnabled Ext_fenced_divs opts ] ++ [ bracketedSpanSpec | isEnabled Ext_bracketed_spans opts ] ++ [ rawAttributeSpec | isEnabled Ext_raw_attribute opts ] ++ - [ attributesSpec | isEnabled Ext_link_attributes opts || - isEnabled Ext_inline_code_attributes opts || - isEnabled Ext_fenced_code_attributes opts || - isEnabled Ext_header_attributes opts ] ++ + [ attributesSpec | isEnabled Ext_attributes opts ] ++ [ pipeTableSpec | isEnabled Ext_pipe_tables opts ] ++ [ autolinkSpec | isEnabled Ext_autolink_bare_uris opts ] ++ [ emojiSpec | isEnabled Ext_emoji opts ] ++ -- cgit v1.2.3