From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.text.pandoc/14852 Path: news.gmane.org!not-for-mail From: Samuel Coavoux Newsgroups: gmane.text.pandoc Subject: Re: panflute: a pythonic alternative to pandocfilters Date: Wed, 27 Apr 2016 11:47:30 +0200 Message-ID: References: <5ee6e6e1-8e2e-450d-b793-c0464e4be449@googlegroups.com> <6a0a11df-8825-4e0c-8582-948922e9f66b@googlegroups.com> Reply-To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a113cfa50891d1c0531744d83 X-Trace: ger.gmane.org 1461750485 4641 80.91.229.3 (27 Apr 2016 09:48:05 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 27 Apr 2016 09:48:05 +0000 (UTC) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Original-X-From: pandoc-discuss+bncBCEKLDPK3QDBBRUVQK4QKGQEIT2YLJI-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Wed Apr 27 11:48:00 2016 Return-path: Envelope-to: gtp-pandoc-discuss@m.gmane.org Original-Received: from mail-pf0-f184.google.com ([209.85.192.184]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1avM4b-0005Kw-8D for gtp-pandoc-discuss@m.gmane.org; Wed, 27 Apr 2016 11:47:57 +0200 Original-Received: by mail-pf0-f184.google.com with SMTP id d4sf15107274pfd.1 for ; Wed, 27 Apr 2016 02:47:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20120806; h=sender:mime-version:in-reply-to:references:from:date:message-id :subject:to:x-original-sender:x-original-authentication-results :reply-to:precedence:mailing-list:list-id:x-spam-checked-in-group :list-post:list-help:list-archive:list-subscribe:list-unsubscribe; bh=IiBdKZgTzVKovwitTa3Wo6tmA+0gvlwibUcFPfHBvIc=; b=GMiHWmC4KdFpStiyv6/IlCKpTbGAEEvEm3HMdS5PJnFTvD0mUt/KXjcIF86yR8oLt5 2kkfkraSEQDtoA4oFqrD4XhKVhWMrdHiyjYvcZxCmd5DkQDGO8aYR231x945v+1zOZ10 vKhPEaF+rh5XoQaM0y6xwP8LmbxWBl8Rka6bKik+7sjSI9b9YX37+NJivLMhgh33MPHt NCEqR/Gp3sSPDrEtYACycXspPLNWmQQwsXfje6Mf5hDLLAUqjbZkTd3VrR5W8e1W+Zw3 9aL4ZNCxH+hkwsPL5G381IPAjvLrbxjZgxoTolQlIHTvCdx+VgAaGwzrIYoBYlOtSyOQ wv5A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :x-original-sender:x-original-authentication-results:reply-to :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post :list-help:list-archive:list-subscribe:list-unsubscribe; bh=IiBdKZgTzVKovwitTa3Wo6tmA+0gvlwibUcFPfHBvIc=; b=z1jgPGW8QuKMkqXkRgWcAM1lYd4h/paS+sNpFU9jN5NjCMabqdvGPKX1G02JGgHrQu VY0KKPYRBJ7Ku3LdPSeCCWziTW/1Qh2lmVUX9RSyjqEcOAAoQ6KhItIfnzsyYgrmCUAM R7R1iAbfevmNzGsHFqfqV+G87tmr7wfZ2eATWccE4vklVIeE+9QGZvywH98M3HS43TKr EUm+795WmHEX7HkyYOjMg9C2octTVVLnDW6FOS0Y3j+Xd446spSMBJ99eL/4g3hPVEUy OJ3NXL6mxOgS5NLhxe3vjqbFJYzl/pPOgolxJXyEKElK/ZnbwAWfxD6bs8mtQkU9NJDw Fyfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=sender:x-gm-message-state:mime-version:in-reply-to:references:from :date:message-id:subject:to:x-original-sender :x-original-authentication-results:reply-to:precedence:mailing-list :list-id:x-spam-checked-in-group:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=IiBdKZgTzVKovwitTa3Wo6tmA+0gvlwibUcFPfHBvIc=; b=d1QJJ7K8PKIzM/MXg1/CziRknUhbRAWYPh2rmGj16ko7vjYcksGNoomFK4nLg2JNGA hRs2yn4IU1urqG8Geh4ZqbiyvvCe0un0OvP7tDO7MEKZTEZQVXUNrf7SfycbG2K+681I gsB7dZ+B+fB/XNNaLtn6j/+asz7j18Oo9yu9CSCJg71traV12KFDCZ0O9uKV4Jyw/huH aYnE1Ho7C7YS6fYIbpWUe1KmiKkMCJfaMR2Ci0Yrtu6OEgKWy+IS2RlCJfYhj0SbxuWF QJolPfN4P1UlZTfi/puTkdrZRA0eLCcolKSPzxmcMm3Hw6y681MDqwXumYXYv2rJPKon Yh5A== Original-Sender: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org X-Gm-Message-State: AOPr4FVe21BP50wyu/NZphG5fRAiQfGnSPLQr3d0ngiS39MAOD/lrHqe8wsDIJOOciMTZg== X-Received: by 10.157.3.52 with SMTP id 49mr89983otv.19.1461750471339; Wed, 27 Apr 2016 02:47:51 -0700 (PDT) X-BeenThere: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Original-Received: by 10.157.25.236 with SMTP id k99ls38155otk.97.gmail; Wed, 27 Apr 2016 02:47:50 -0700 (PDT) X-Received: by 10.182.111.170 with SMTP id ij10mr4902694obb.42.1461750470551; Wed, 27 Apr 2016 02:47:50 -0700 (PDT) Original-Received: from mail-yw0-x233.google.com (mail-yw0-x233.google.com. [2607:f8b0:4002:c05::233]) by gmr-mx.google.com with ESMTPS id c2si190270ywf.5.2016.04.27.02.47.50 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 Apr 2016 02:47:50 -0700 (PDT) Received-SPF: pass (google.com: domain of samuel.coavoux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org designates 2607:f8b0:4002:c05::233 as permitted sender) client-ip=2607:f8b0:4002:c05::233; Original-Received: by mail-yw0-x233.google.com with SMTP id g133so59836326ywb.2 for ; Wed, 27 Apr 2016 02:47:50 -0700 (PDT) X-Received: by 10.176.1.240 with SMTP id 103mr3931900ual.46.1461750470350; Wed, 27 Apr 2016 02:47:50 -0700 (PDT) Original-Received: by 10.31.5.9 with HTTP; Wed, 27 Apr 2016 02:47:30 -0700 (PDT) In-Reply-To: <6a0a11df-8825-4e0c-8582-948922e9f66b-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> X-Original-Sender: samuel.coavoux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com; spf=pass (google.com: domain of samuel.coavoux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org designates 2607:f8b0:4002:c05::233 as permitted sender) smtp.mailfrom=samuel.coavoux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org; dmarc=pass (p=NONE dis=NONE) header.from=gmail.com Precedence: list Mailing-list: list pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org; contact pandoc-discuss+owners-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org List-ID: X-Spam-Checked-In-Group: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org X-Google-Group-Id: 1007024079513 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , Xref: news.gmane.org gmane.text.pandoc:14852 Archived-At: --001a113cfa50891d1c0531744d83 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I don't know about the first disclaimer. I feel like there is a way around the second, at least for .next elements: we could raise a flag anytime a .next element is modified and apply a function later on, when its turn comes. For instance, in pseudo-code, if I wanted to include Cite inside a previous Quoted element and if there were a .next method, I could do: next_element_reused =3D False if type(elem) =3D=3D "Quoted" and type(elem.next) =3D=3D "Cite": elem.content.append(elem.next) next_element_reused =3D True return(elem) elif next_element_reused: # to remove the next element next_element_reused =3D False return() But that would be easier to write as something like: if type(elem) =3D=3D "Quoted" and type(elem.next) =3D=3D "Cite": elem.content.append(elem.next) elem.apply_to_next =3D "skip" # or apply a custom function return(elem) I hope this makes sense... On Wed, Apr 27, 2016 at 10:46 AM, Sergio Correia wrote: > I've thought a bit about adding .parent and .next .previous elements. It > can be done, but with two disclaimers (which I'm not sure if make it wort= h > it): > > > 1. With some elements, such as tables, parent is not very useful as I > don't know whether a list belonged to a cell in the header or in the t= able > body (same for definition lists, etc.). A solution would be to add spe= cial > TableCell, TableRow, TableHeader, TableData elements, and so on, but t= his > complicates things. On the other hand, we could then do filters that a= pply > only to table cells and so on. > 2. People might try to modify elem.next or elem.parent, which > shouldn't be done, as it messes up walk() function. This is a similar > problem to modifying a list that is being iterated. > > Do you thing it would be useful, given these issues? > > On Wednesday, April 27, 2016 at 4:23:43 AM UTC-4, Samuel Coavoux wrote: >> >> This looks very promising, thank you for the package. >> >> One thing that is missing from pandocfilters is the ability to easily >> manipulate sequences of elements rather than single ones. Something like >> (pseudo code): >> >> if type(elem) =3D=3D "Quoted" and type(next.elem) =3D=3D "Cite": >> >> there was a library aiming at this functionality, pandocpatterns[^1], bu= t >> it hasn't been updated in a while, and I personally never could make it >> work. >> >> Do you think that it would be possible to implement this in panflutes? >> >> [^1]: https://bitbucket.org/elliottslaughter/pandocpatterns ; discussed >> on the list here : >> https://groups.google.com/forum/#!searchin/pandoc-discuss/pandocpatterns= /pandoc-discuss/NsEGkTN4fnk/Y520jtQ5EzkJ >> >> Le mardi 26 avril 2016 17:20:47 UTC+2, Wagner Macedo a =C3=A9crit : >>> >>> Agree. I checked some of the documentation and I'm impressed, it's a >>> very good job. >>> >>> I'll try in the following days to convert some of my current scripts to >>> panflute and I'll let you know. >>> >>> -- >>> Wagner Macedo >>> >>> On 26 April 2016 at 12:00, Sergio Correia wrote: >>> >>>> Did a quick check of the whatsnew for 3.3, 3.4 and 3.5 and it seems I'= m >>>> not using features specific to any of these sub versions. That said, f= or >>>> big documents it might be faster to have 3.5+ because OrderedDict was >>>> rewritten in C. >>>> >>>> On Tuesday, April 26, 2016 at 5:36:32 AM UTC-4, Wagner Macedo wrote: >>>>> >>>>> Excellent, congratulations for the effort. >>>>> >>>>> What subversion of Python 3 is targeted? >>>>> Em 26/04/2016 02:12, "Sergio Correia" escreveu= : >>>>> >>>>> Dear all, >>>>> >>>>> After being a heavy user of pandocfilters.py for a few years, I wrote >>>>> an alternative package (with a very similar API) that takes a more py= thonic >>>>> approach: >>>>> >>>>> >>>>> - Elements are proper objects (with properties and methods) >>>>> instead of dicts and lists >>>>> - Elements can be created using named arguments: >>>>> Header(Str('The'), Space, Str('Title'), level=3D1) >>>>> - Batteries are included: I included functions that I ended up >>>>> reusing through my different filters\ >>>>> >>>>> The source and documentation is here: >>>>> https://github.com/sergiocorreia/panflute . It currently uses Python >>>>> 3 but if there is demand from Python 2 users we could try a port. >>>>> >>>>> Ports of some of the existing filters are here: >>>>> https://github.com/sergiocorreia/panflute/tree/master/examples/panflu= te >>>>> >>>>> More examples will be placed here: >>>>> https://github.com/sergiocorreia/panflute-filters >>>>> >>>>> Feel free to comment here or on github; any suggestions or pull >>>>> requests are more than welcome :) >>>>> >>>>> Best, >>>>> Sergio >>>>> >>>>> -- >>>>> 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, sen= d >>>>> an email to pandoc-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >>>>> To post to this group, send email to pandoc-...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/pandoc-discuss/b6a8c6cf-cae7-403a-9= 9e9-4e170a150428%40googlegroups.com >>>>> >>>>> . >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>>> -- >>>> 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-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >>>> To post to this group, send email to pandoc-...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/pandoc-discuss/5ee6e6e1-8e2e-450d-b7= 93-c0464e4be449%40googlegroups.com >>>> >>>> . >>>> >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- > You received this message because you are subscribed to a topic in the > Google Groups "pandoc-discuss" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/pandoc-discuss/MitGRIUwEGo/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To post to this group, send email to pandoc-discuss-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To view this discussion on the web visit > https://groups.google.com/d/msgid/pandoc-discuss/6a0a11df-8825-4e0c-8582-= 948922e9f66b%40googlegroups.com > > . > > For more options, visit https://groups.google.com/d/optout. > --=20 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 e= mail to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to pandoc-discuss-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/= pandoc-discuss/CAFyE9YN5Hk0Enx02mzR2QtPoZ_7swo78KQoJMx%2BnUwmzksFnQg%40mail= .gmail.com. For more options, visit https://groups.google.com/d/optout. --001a113cfa50891d1c0531744d83 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I don't know about the first = disclaimer. I feel like there is a way around the second, at least for .nex= t elements: we could raise a flag anytime a .next element is modified and a= pply a function later on, when its turn comes. For instance, in pseudo-code= , if I wanted to include Cite inside a previous Quoted element and if there= were a .next method, I could do:

=C2=A0=C2=A0=C2=A0 next_element_re= used =3D False

=C2=A0=C2=A0=C2=A0 if type(elem) =3D=3D "Quoted&= quot; and type(elem.next) =3D=3D "Cite":
=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 elem.content.append(elem.next)
= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 next_element_reused =3D True
=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return(elem)
=C2=A0=C2=A0=C2=A0 elif next_element_reused: # to remove the next ele= ment
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 next_element_reused =3D = False
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return()
=

But that would be easier to write as something like:
=C2=A0=C2=A0=C2=A0 if type(elem) =3D=3D "Quoted" and type(elem.n= ext) =3D=3D "Cite":
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= elem.content.append(elem.next)
=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 elem.apply_to_next =3D "skip" # or apply a custom= function
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return(elem)<= br>
I hope this makes sense...




On Wed, Apr 27, 2016 at 10:46 AM, Sergio Correia <sergio.correia-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
I've thought a bit about adding .parent = and .next .previous elements. It can be done, but with two disclaimers (whi= ch I'm not sure if make it worth it):

  1. With some elements, such as tables, parent is = not very useful as I don't know whether a list belonged to a cell in th= e header or in the table body (same for definition lists, etc.). A solution= would be to add special TableCell, TableRow, TableHeader, TableData elemen= ts, and so on, but this complicates things. On the other hand, we could the= n do filters that apply only to table cells and so on.
  2. People might try to modify elem.next or elem.= parent, which shouldn't be done, as it messes up walk() function. This = is a similar problem to modifying a list that is being iterated.
Do you thing it would be useful, given these issues?
<= div class=3D"h5">
On Wednesday, April 27, 2016 at 4:23:43 AM UTC-4, Samu= el Coavoux wrote:
T= his looks very promising, thank you for the package.

One thing that = is missing from pandocfilters is the ability to easily manipulate sequences= of elements rather than single ones. Something like (pseudo code):

= =C2=A0=C2=A0=C2=A0 if type(elem) =3D=3D "Quoted" and type(next.el= em) =3D=3D "Cite":

there was a library aiming at this func= tionality, pandocpatterns[^1], but it hasn't been updated in a while, a= nd I personally never could make it work.

Do you think that it would= be possible to implement this in panflutes?

[^1]: https://bitbucket.org/elliottslaughter/pandocpatterns ; discus= sed on=20 the list here :=20 https://groups.google.com/forum/#!searchin/pandoc-discuss/pando= cpatterns/pandoc-discuss/NsEGkTN4fnk/Y520jtQ5EzkJ

Le mardi 26 av= ril 2016 17:20:47 UTC+2, Wagner Macedo a =C3=A9crit=C2=A0:
Agree. I checked some of the docume= ntation and I'm impressed, it's a very good job.

I'll try in the following days to convert some of my current scripts t= o panflute and I'll let you know.

--
Wagner Macedo

On 26 April 2016 at 12:00, Sergio Correia <sergio....-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>= wrote:
Did a quick chec= k of the whatsnew for 3.3, 3.4 and 3.5 and it seems I'm not using featu= res specific to any of these sub versions. That said, for big documents it = might be faster to have 3.5+ because OrderedDict was rewritten in C.<= br>
On Tuesday, April 26, 2016 at 5:36:32 AM UTC-4, Wagner Macedo wrote:=

Excelle= nt, congratulations for the effort.

What subversion of Python 3 is targeted?

Em 26/04/2016 02:12, "Sergio C= orreia" <sergio....-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> escreveu:=
Dear all,
After being a heavy user of pandocfilters.py for a few ye= ars, I wrote an alternative package (with a very similar API) that takes a = more pythonic approach:

  • Elements are proper objects (with properties and methods) = instead of dicts and lists
  • Elements can be created using named arguments: Header(Str('The'),= Space, Str('Title'), level=3D1)
  • Batteries are included: I included functions that I ended u= p reusing through my different filters\
The source and= documentation is here:=C2=A0https://github.com/sergiocorreia= /panflute . It currently uses Python 3 but if there is demand from Pyth= on 2 users we could try a port.

Ports of some of t= he existing filters are here:=C2=A0https://github.com/sergiocorreia/panflute/tree/master/examples/panflute=

More examples will be placed here:=C2=A0https://github.com/sergiocorreia/panflute-filters

Feel free to comment here or on github; any suggestion= s or pull requests are more than welcome :)

= Best,
Sergio

--
You received this message because you are subscribed to the Google Groups &= quot;pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to pandoc-...@googleg= roups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/b6a8c6cf-cae7-= 403a-99e9-4e170a150428%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups &= quot;pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to pandoc-...@googleg= roups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/5ee6e6e1-8e2e-= 450d-b793-c0464e4be449%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Goog= le Groups "pandoc-discuss" group.
To unsubscribe from this topic, visit https://g= roups.google.com/d/topic/pandoc-discuss/MitGRIUwEGo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to p= andoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https:= //groups.google.com/d/msgid/pandoc-discuss/6a0a11df-8825-4e0c-8582-948922e9= f66b%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups &= quot;pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to pand= oc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://group= s.google.com/d/msgid/pandoc-discuss/CAFyE9YN5Hk0Enx02mzR2QtPoZ_7swo78KQoJMx= %2BnUwmzksFnQg%40mail.gmail.com.
For more options, visit http= s://groups.google.com/d/optout.
--001a113cfa50891d1c0531744d83--