public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: BPJ <melroch-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: pandoc-discuss <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: Lua filters: Extensions with pandoc.read?
Date: Tue, 4 Oct 2022 12:33:38 +0200	[thread overview]
Message-ID: <CADAJKhCg3rMk+0fJBOcte32BVh2c9tYQHa57DEGHdyAz2u7+kQ@mail.gmail.com> (raw)
In-Reply-To: <87v8oz3ohm.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 4070 bytes --]

Den tis 4 okt. 2022 11:52Albert Krewinkel <albert+pandoc-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>
skrev:

>
> BPJ <bpj-J3H7GcXPSITLoDKTGw+V6w@public.gmane.org> writes:
>
> > Den mån 19 sep. 2022 14:51 Albert Krewinkel <
> >> albert+pandoc-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> skrev:
> >>
> >> Extensions have to be passed as part of the format string, e.g.,
> >>
> >>     pandoc.read(source, 'markdown-tex_math_dollars')
> >>
> >> I'm not entirely happy with this, as it means that any extensions
> >> passed  via a ReaderOptions object will be ignored.
> >>
> >>     -- this may seem like it should disable all extensions,
> >>     -- but the ReaderOptions `extensions` field is ignored.
> >>     -- The default 'markdown' extensions will be used instead.
> >>     pandoc.read(src, 'markdown', {extensions = {}})
> >>
> >> Ideas to improve this would be most welcome.
> >
> > I would just change it to not ignore reader options, and throw an
> > error if the format string and the reader options contradict each
> > other (except for empty table = no extensions and no extensions in
> > string = default extensions). And better hurry before someone starts
> > to rely on reader options being ignored! :-)
>
> I believe that this has already become the expected behavior, so I'd be
> very hesitant to break it. How about this approach: The format specifier
> can currently only be a string. We change this to accept either a
> string, or a table with the extensions being given in separate fields.
> E.g.
>
>     -- extensions relative to default for format
>     { format = 'markdown',
>     , disable = {'markdown_in_html_blocks'},
>     , enable = {'emoji'},
>     }
>

I like this!


> or
>
>     -- absolute set of extensions
>     { format = 'docx',
>     , extensions = {'auto_identifiers', 'styles', 'citations'}
>     }
>

This `extensions` field would be identical to the `enable` field, wouldn't
it, or would it mean that all default extensions not explicitly mentioned
in it would be disabled? And what would happen if someone uses it together
with `disable` and/or `enable`; which would be ignored, or would it be an
error condition?


> If the function is called with either a string or a table that has
> explicit info on extensions, then the ReaderOptions extensions are
> overridden. If the table has no info about extensions, then we use the
> ReaderOptions.
>

If the format can be a table as described I think it is better to always
ignore the format/extension info in the ReaderOptions — and say so clearly
in the documentation!


> It might still be a little confusing, as
>
>     pandoc.read(src, 'markdown', opts)  -- default Markdown extensions
>
> will behave differently than
>
>     pandoc.read(src, {format: 'markdown'}, opts) -- extensions in opts
>
> Extensions are closer to formats than to reader options, conceptually.
> It seems sensible to tie them to formats.


Agreed.

But maybe there is a better
> way?
>

I think this would be fine.

Also I assume that `pandoc.write()` would behave analogously?


> --
> 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/87v8oz3ohm.fsf%40zeitkraut.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/CADAJKhCg3rMk%2B0fJBOcte32BVh2c9tYQHa57DEGHdyAz2u7%2BkQ%40mail.gmail.com.

[-- Attachment #2: Type: text/html, Size: 6740 bytes --]

  parent reply	other threads:[~2022-10-04 10:33 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-19 12:02 BPJ
     [not found] ` <CADAJKhCqSXXZBPvXRfr+h4ady_yCzO6s=VDKY_Tt54dcLtDR5w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-09-19 12:39   ` Albert Krewinkel
     [not found]     ` <87czbrfrzr.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>
2022-09-19 13:34       ` BPJ
     [not found]         ` <CADAJKhApJjnCMghJ61rg6H2U9_zOP3Q=RJxHc9E2dFUH0Py+Sg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-10-04  9:13           ` Albert Krewinkel
     [not found]             ` <87v8oz3ohm.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>
2022-10-04 10:33               ` BPJ [this message]
     [not found]                 ` <CADAJKhCg3rMk+0fJBOcte32BVh2c9tYQHa57DEGHdyAz2u7+kQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-10-04 13:31                   ` Albert Krewinkel
     [not found]                     ` <87r0zn3dff.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>
2022-10-04 17:25                       ` John MacFarlane
     [not found]                         ` <5AC38771-6A87-47C2-80C7-5C7B389EDD1B-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2022-10-06 11:11                           ` BPJ
     [not found]                             ` <CADAJKhCan6ec3ruV5r08ynTFPVLUtOpc=h+Jt7-geYNUcJb6QA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-10-07  6:16                               ` BPJ

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=CADAJKhCg3rMk+0fJBOcte32BVh2c9tYQHa57DEGHdyAz2u7+kQ@mail.gmail.com \
    --to=melroch-re5jqeeqqe8avxtiumwx3w@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).