* help filtering links @ 2023-03-12 18:07 Pablo Rodríguez [not found] ` <b5007e61-547d-7661-530b-a3ef6ef19b20-S0/GAf8tV78@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Pablo Rodríguez @ 2023-03-12 18:07 UTC (permalink / raw) To: pandoc-discuss Dear list, I want to start to move from Markdown to CommonMark (extended for pandoc). I would like to be able to format three types of links, such as in: ``` # intro as said in [intro] <https://pandoc.org> [this is another link](https://another.link) ``` The first one would be an internal section link, the second one would be an autogenerated link. I think that a Lua filter could help to add a "section-link" class to the first kind of link and an "auto-link" class to the second kind of link. I’m afraid I have checked https://github.com/orgs/pandoc-ext/repositories (and even https://github.com/pandoc/lua-filters), but having no real coding experience, I don‘t know how to write what I think it might be a relatively simple filter. Could anyone be so kind to help? Many thanks in advance, Pablo -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/b5007e61-547d-7661-530b-a3ef6ef19b20%40web.de. ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <b5007e61-547d-7661-530b-a3ef6ef19b20-S0/GAf8tV78@public.gmane.org>]
* AW: help filtering links [not found] ` <b5007e61-547d-7661-530b-a3ef6ef19b20-S0/GAf8tV78@public.gmane.org> @ 2023-03-12 20:36 ` denis.maier-NSENcxR/0n0 2023-03-13 13:13 ` Albert Krewinkel 1 sibling, 0 replies; 6+ messages in thread From: denis.maier-NSENcxR/0n0 @ 2023-03-12 20:36 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw I'm not sure, but I think these links don't end up as different elements in the AST. What does pandoc -t native input.md give you (for input.md being your example)? Best Denis ________________________________________ Von: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> im Auftrag von Pablo Rodríguez <oinos-S0/GAf8tV78@public.gmane.org> Gesendet: Sonntag, 12. März 2023 19:07:04 An: pandoc-discuss Betreff: help filtering links Dear list, I want to start to move from Markdown to CommonMark (extended for pandoc). I would like to be able to format three types of links, such as in: ``` # intro as said in [intro] <https://pandoc.org> [this is another link](https://another.link) ``` The first one would be an internal section link, the second one would be an autogenerated link. I think that a Lua filter could help to add a "section-link" class to the first kind of link and an "auto-link" class to the second kind of link. I’m afraid I have checked https://github.com/orgs/pandoc-ext/repositories (and even https://github.com/pandoc/lua-filters), but having no real coding experience, I don‘t know how to write what I think it might be a relatively simple filter. Could anyone be so kind to help? Many thanks in advance, Pablo -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/b5007e61-547d-7661-530b-a3ef6ef19b20%40web.de. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/e6d9dbc3a8934a8286655114791f14aa%40unibe.ch. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: help filtering links [not found] ` <b5007e61-547d-7661-530b-a3ef6ef19b20-S0/GAf8tV78@public.gmane.org> 2023-03-12 20:36 ` AW: " denis.maier-NSENcxR/0n0 @ 2023-03-13 13:13 ` Albert Krewinkel [not found] ` <878rg07pwn.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> 1 sibling, 1 reply; 6+ messages in thread From: Albert Krewinkel @ 2023-03-13 13:13 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw Pablo Rodríguez <oinos-S0/GAf8tV78@public.gmane.org> writes: > Dear list, > > I want to start to move from Markdown to CommonMark (extended for pandoc). > > I would like to be able to format three types of links, such as in: > > ``` > # intro > > as said in [intro] > > <https://pandoc.org> > > [this is another link](https://another.link) > ``` > > The first one would be an internal section link, the second one would be > an autogenerated link. > > I think that a Lua filter could help to add a "section-link" class to > the first kind of link and an "auto-link" class to the second kind of link. See the filter below. It adds a `section-link` class for the first kind. Pandoc already adds a `uri` class for the second type, so those are not touched by the filter. Cheers, Albert local headers = {} local function collect_ids (h) if h.identifier ~= '' then headers[h.identifier] = true end end local function add_classes (link) local id = link.target:match '^%#(.*)' if id and headers[id] then link.classes:insert 'section-link' return link end end return { { Header = collect_ids }, { Link = add_classes } } -- Albert Krewinkel GPG: 8eed e3e2 e8c5 6f18 81fe e836 388d c0b2 1f63 1124 -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/878rg07pwn.fsf%40zeitkraut.de. ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <878rg07pwn.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>]
* Re: help filtering links [not found] ` <878rg07pwn.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> @ 2023-03-13 15:19 ` Pablo Rodríguez [not found] ` <c55f1066-db3d-aa64-b90f-36f7050ad2ed-S0/GAf8tV78@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Pablo Rodríguez @ 2023-03-13 15:19 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw On 3/13/23 14:13, Albert Krewinkel wrote: > Pablo Rodríguez <oinos-S0/GAf8tV78@public.gmane.org> writes: >> [...] >> The first one would be an internal section link, the second one would be >> an autogenerated link. >> >> I think that a Lua filter could help to add a "section-link" class to >> the first kind of link and an "auto-link" class to the second kind of link. > > See the filter below. It adds a `section-link` class for the first kind. > Pandoc already adds a `uri` class for the second type, so those are not > touched by the filter. Many thanks for your reply, Albert. The 'uri' class is added only when reading from Markdown, but not from CommonMark with or without extensions (according to https://try.pandoc.org/). Or what am I missing here? Many thanks for your help, Pablo -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/c55f1066-db3d-aa64-b90f-36f7050ad2ed%40web.de. ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <c55f1066-db3d-aa64-b90f-36f7050ad2ed-S0/GAf8tV78@public.gmane.org>]
* Re: help filtering links [not found] ` <c55f1066-db3d-aa64-b90f-36f7050ad2ed-S0/GAf8tV78@public.gmane.org> @ 2023-03-13 15:40 ` Albert Krewinkel [not found] ` <874jqo7j27.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Albert Krewinkel @ 2023-03-13 15:40 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw Pablo Rodríguez <oinos-S0/GAf8tV78@public.gmane.org> writes: > On 3/13/23 14:13, Albert Krewinkel wrote: >> Pablo Rodríguez <oinos-S0/GAf8tV78@public.gmane.org> writes: >>> [...] >>> The first one would be an internal section link, the second one would be >>> an autogenerated link. >>> >>> I think that a Lua filter could help to add a "section-link" class to >>> the first kind of link and an "auto-link" class to the second kind of link. >> >> See the filter below. It adds a `section-link` class for the first kind. >> Pandoc already adds a `uri` class for the second type, so those are not >> touched by the filter. > > Many thanks for your reply, Albert. > > The 'uri' class is added only when reading from Markdown, but not from > CommonMark with or without extensions (according to > https://try.pandoc.org/). > > Or what am I missing here? You're right of course, I forgot that CommonMark behaves differently. Typically, only autolinks have a link text that's the same as the link, so we can check for that: local function add_classes (link) local id = link.target:match '^%#(.*)' if id and headers[id] then link.classes:insert 'section-link' elseif link.target == pandoc.utils.stringify(link.content) then link.classes:insert 'auto-link' end return link end -- Albert Krewinkel GPG: 8eed e3e2 e8c5 6f18 81fe e836 388d c0b2 1f63 1124 -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/874jqo7j27.fsf%40zeitkraut.de. ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <874jqo7j27.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>]
* Re: help filtering links [not found] ` <874jqo7j27.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> @ 2023-03-13 16:21 ` Pablo Rodríguez 0 siblings, 0 replies; 6+ messages in thread From: Pablo Rodríguez @ 2023-03-13 16:21 UTC (permalink / raw) To: pandoc-discuss On 3/13/23 16:40, Albert Krewinkel wrote: > [...] > You're right of course, I forgot that CommonMark behaves differently. > Typically, only autolinks have a link text that's the same as the link, > so we can check for that: > > local function add_classes (link) > local id = link.target:match '^%#(.*)' > if id and headers[id] then > link.classes:insert 'section-link' > elseif link.target == pandoc.utils.stringify(link.content) then > link.classes:insert 'auto-link' > end > return link > end Many thanks for your help, Albert. I also used your filter (attributing your authorship) to close an old issue. Many thanks again, Pablo ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-03-13 16:21 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-03-12 18:07 help filtering links Pablo Rodríguez [not found] ` <b5007e61-547d-7661-530b-a3ef6ef19b20-S0/GAf8tV78@public.gmane.org> 2023-03-12 20:36 ` AW: " denis.maier-NSENcxR/0n0 2023-03-13 13:13 ` Albert Krewinkel [not found] ` <878rg07pwn.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> 2023-03-13 15:19 ` Pablo Rodríguez [not found] ` <c55f1066-db3d-aa64-b90f-36f7050ad2ed-S0/GAf8tV78@public.gmane.org> 2023-03-13 15:40 ` Albert Krewinkel [not found] ` <874jqo7j27.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> 2023-03-13 16:21 ` Pablo Rodríguez
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).