This filter inserts a header before each paragraph.

-- https://pandoc.org/lua-filters.html#lua-filter-structure
function Para(para)
    return {
        -- https://pandoc.org/lua-filters.html#pandoc.header
        -- https://pandoc.org/lua-filters.html#type-attr
        pandoc.Header(2, 'Inserted header', {style='blablabla'}),
        para
    }
end


On Tue, 13 Jun 2023 at 23:00, H <agents-FcZObrvlYduBUy7/sJONFg@public.gmane.org> wrote:
On June 13, 2023 5:38:18 PM EDT, 'William Lupton' via pandoc-discuss <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> wrote:
>sorry; i was wrong when i said that i thought that you can't add style
>attributes (i should have checked)
>
>of course the style attributes _are_ CSS, but i guess that this is ok
>for
>you
>
>what do you mean by 'rewriting' a tag?
>
>On Tue, 13 Jun 2023 at 22:27, Bastien DUMONT
><bastien.dumont-VwIFZPTo/vqsTnJN9+BGXg@public.gmane.org>
>wrote:
>
>> You call “insert” as if it were a method of “attr”, but attr is a
>> key-value table. The correct way to add an attribute is:
>>
>> if (el.level == 2) then
>>   local attr = el.attributes
>>   attr.style = 'color: #112233;'
>> end
>>
>>
>> Le Tuesday 13 June 2023 à 05:19:14PM, H a écrit :
>> > On June 13, 2023 5:16:32 PM EDT, H <agents-FcZObrvlYduBUy7/sJONFg@public.gmane.org> wrote:
>> >
>> >     On June 13, 2023 5:00:19 PM EDT, 'William Lupton' via
>pandoc-discuss
>> >     <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> wrote:
>> >
>> >         As far as I know, you can't add 'style' attributes. But you
>can
>> embed
>> >         CSS via header-includes. You'll find an example of this if
>you
>> search
>> >         the manual for 'header-includes' (and you can use a filter
>to
>> set the
>> >         variable; I think Albert gave an example of how to do this
>a few
>> weeks
>> >         ago).
>> >
>> >         On Tue, 13 Jun 2023, 21:37 H, <[1]agents@meddatainc.com>
>wrote:
>> >
>> >             Continuing my quest to write a custom filter, I now ran
>into
>> a need
>> >             to add attributes to different types of tags as
>exemplified
>> below:
>> >
>> >             - In header tags such as <h2>, I need to add
>"style=color:
>> #112233;
>> >             " so it becomes <h2 style="color: #112233;">.
>> >
>> >             - I analogously also need to add style information to
>> <image> tags.
>> >
>> >             In my filter I tried:
>> >
>> >             style_h2 =
>> >
>> >             if (el.level == 2) then
>> >                 local attr = el.attributes
>> >                 attr.insert = style_h2
>> >             end
>> >
>> >             but ended up with the below in my html output:
>> >
>> >             <h2
>> >             data-insert=" style=&quot;text-transform: uppercase;
>color: #
>> >             cc002b;&quot;">
>> >
>> >             Clearly not the correct way. Can I add the style
>information
>> as
>> >             above in a filter, in the pandoc function as I am going
>> through my
>> >             document block-by-block and modifying the document
>structure
>> as
>> >             needed? I already adding <div> with various style
>> information as I
>> >             iterate over the blocks and that works fine but now I
>need to
>> >             modify existing tags.
>> >
>> >             I guess I could do it similarly to below but then it
>applies
>> to all
>> >             eg H2:
>> >
>> >             function Header(el)
>> >                 --    remove header identifier for all levels
>> >                 el.identifier = ''
>> >
>> >                 --    convert level 1 and 2 to upper case
>> >                 if (el.level == 1) or (el.level == 2) then
>> >                     return el:walk {
>> >                         Str = function(el)
>> >                             return pandoc.Str(text.upper(el.text))
>> >                         end
>> >                     }
>> >                 else
>> >                     return el
>> >                 end
>> >             end
>> >
>> >             How to do it on individual H2 in a filter?
>> >
>> >             Thanks.
>> >
>> >             --
>> >             You received this message because you are subscribed to
>the
>> Google
>> >             Groups "pandoc-discuss" group.
>> >             To unsubscribe from this group and stop receiving
>emails
>> from it,
>> >             send an email to [2]
>> pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
>> >             To view this discussion on the web visit [3]https://
>> >             groups.google.com/d/msgid/pandoc-discuss/
>> >             76a72c07-6699-d243-ae20-64808682ec9e%40meddatainc.com.
>> >
>> >
>> >     I need to stay away from css since the software the output is
>used
>> in does
>> >     not allow css info to be added.
>> >
>> >
>> > Can I "rewrite" a tag in the filter?
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>Groups
>> > "pandoc-discuss" group.
>> > To unsubscribe from this group and stop receiving emails from it,
>send
>> an email
>> > to [4]pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
>> > To view this discussion on the web visit [5]
>> https://groups.google.com/d/msgid/
>> >
>pandoc-discuss/90C7A30F-C0FA-49D8-B0CD-6521B58113F1%40meddatainc.com.
>> >
>> > References:
>> >
>> > [1] mailto:agents-FcZObrvlYduBUy7/sJONFg@public.gmane.org
>> > [2] mailto:pandoc-discuss%2Bunsubscribe@googlegroups.com
>> > [3]
>>
>https://groups.google.com/d/msgid/pandoc-discuss/76a72c07-6699-d243-ae20-64808682ec9e%40meddatainc.com
>> > [4] mailto:pandoc-discuss+unsubscribe-/JYPxA39Uh4Ykp1iOSErHA@public.gmane.orgm
>> > [5]
>>
>https://groups.google.com/d/msgid/pandoc-discuss/90C7A30F-C0FA-49D8-B0CD-6521B58113F1%40meddatainc.com?utm_medium=email&utm_source=footer
>>
>> --
>> You received this message because you are subscribed to the Google
>Groups
>> "pandoc-discuss" group.
>> To unsubscribe from this group and stop receiving emails from it,
>send an
>> email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
>> To view this discussion on the web visit
>>
>https://groups.google.com/d/msgid/pandoc-discuss/ZIjfUqabWGUWcZz2%40localhost
>> .
>>

I used the phrase ”rewriting a tag” to mean creating a new tag from scratch. I then tried pandoc.Header() which does take up to three arguments but I could not create something similar to <H2 style=”blablabla”;>.

How do I add style attributes as above?

--
You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/CA9D2999-4E90-450E-A709-0ECCA45E3494%40meddatainc.com.

--
You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/CAEe_xxg8edH5Jqj6CHUseoj2R1nE_W63DDtoF_m%2B8WfBcJomww%40mail.gmail.com.