public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: Albert Krewinkel <albert+pandoc-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>
To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: Re: help filtering links
Date: Mon, 13 Mar 2023 16:40:44 +0100	[thread overview]
Message-ID: <874jqo7j27.fsf@zeitkraut.de> (raw)
In-Reply-To: <c55f1066-db3d-aa64-b90f-36f7050ad2ed-S0/GAf8tV78@public.gmane.org>


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.


  parent reply	other threads:[~2023-03-13 15:40 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-12 18:07 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 [this message]
     [not found]             ` <874jqo7j27.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>
2023-03-13 16:21               ` Pablo Rodríguez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874jqo7j27.fsf@zeitkraut.de \
    --to=albert+pandoc-9eawchwdxg8hfhg+jk9f0w@public.gmane.org \
    --cc=pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).