public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: John MacFarlane <jgm-TVLZxgkOlNX2fBVCVOL8/A@public.gmane.org>
To: Harsh Donga
	<harsh-7+aFW328pE6p1wGUEcWPqti2O/JbrIOy@public.gmane.org>,
	pandoc-discuss
	<pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: FIguring out pandoc AST and types
Date: Tue, 14 Sep 2021 16:39:11 -0700	[thread overview]
Message-ID: <yh480k35q63exs.fsf@johnmacfarlane.net> (raw)
In-Reply-To: <3a59eb3c-352f-49f4-89f8-465aa7e86750n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>

Harsh Donga <harsh-7+aFW328pE6p1wGUEcWPqti2O/JbrIOy@public.gmane.org> writes:

> Thank you for your response,
>
> It is getting really hard for me to parse and build pandoc using pandoc 
> types, as I am Haskell beginner.
>
> Please correct me if I am wrong, but the only way to see the JSON output is 
> by trying out pandoc? I mean for covering all the pandoc-types, I will have 
> to put everything in a document then parse using pandoc?
> And then figure out by looking at output how actually all types are stored 
> in JSON?

There isn't complete documentation of the JSON format we use,
but it's all very regular and can be predicted from the AST given
a few examples. Pandoc can be used to give you those examples.

Or, you can look at the ToJSON and FromJSON instance definitions
in the source code for Text.Pandoc.Definition and figure it out
from that.

However, if what you want to do is to use Haskell to create a
pandoc AST, then you don't need to worry about JSON at all. JSON
is just a serialization format we use for communicating with
non-Haskell programs. For building a document, what you want is
Text.Pandoc.Builder, as I said. The documentation contains an
example to get you started.


  parent reply	other threads:[~2021-09-14 23:39 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-09  8:45 Harsh Donga
     [not found] ` <4bd5ecbc-bd1d-442a-9558-6724174f77fcn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-09-09 17:20   ` John MacFarlane
     [not found]     ` <m24kat3btu.fsf-jF64zX8BO0+FqBokazbCQ6OPv3vYUT2dxr7GGTnW70NeoWH0uzbU5w@public.gmane.org>
2021-09-14 12:28       ` Harsh Donga
2021-09-14 12:30       ` Harsh Donga
     [not found]         ` <3a59eb3c-352f-49f4-89f8-465aa7e86750n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-09-14 23:39           ` John MacFarlane [this message]
     [not found]             ` <yh480k35q63exs.fsf-pgq/RBwaQ+zq8tPRBa0AtqxOck334EZe@public.gmane.org>
2021-09-16 11:52               ` Harsh Donga
     [not found]                 ` <68431aed-736c-425d-8745-14ffdc5468a9n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-09-16 16:40                   ` John MacFarlane
     [not found]                     ` <m2ilz0lbie.fsf-d8241O7hbXoP5tpWdHSM3tPlBySK3R6THiGdP5j34PU@public.gmane.org>
2021-09-17  4:18                       ` Harsh Donga
     [not found]                         ` <4b3e7960-d144-44e0-9b48-a044db45f885n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-09-17 19:25                           ` 'Daniel Gnoutcheff' via pandoc-discuss
     [not found]                             ` <b467908f-a4ce-35b9-ba30-ef55e9e70958-rbQqYLFhARYurNyw8EiOWEB+6BGkLq7r@public.gmane.org>
2021-09-18 10:53                               ` 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=yh480k35q63exs.fsf@johnmacfarlane.net \
    --to=jgm-tvlzxgkolnx2fbvcvol8/a@public.gmane.org \
    --cc=harsh-7+aFW328pE6p1wGUEcWPqti2O/JbrIOy@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).