public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: Denis Maier <denis.maier.lists-cl+VPiYnx/1AfugRpC6u6w@public.gmane.org>
To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: Re: Pandoc Lua script to filter specific markdown sub sections during PDF generation
Date: Tue, 1 Sep 2020 10:28:57 +0200	[thread overview]
Message-ID: <92ac8df6-b88a-b047-b9f0-1fe62873b710@mailbox.org> (raw)
In-Reply-To: <4e07ae0a-dcb1-4f89-8b91-ba787b7bea1cn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>

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

You mean like removing the sub section header? Or the whole subsection 
until the start of the next section?
Both should be possible with a lua filter.  The first is trivial, the 
second more complex (at least for me ;-). But I doubt it wouldn't be 
possible.
The tricky part is possibly that pandoc's AST does not reveal the 
hierarchy here:

[Header 1 ("header-1",[],[]) [Str "Header",Space,Str "1"]
,Para [Str "Text"]
,Header 2 ("header-2",[],[]) [Str "Header",Space,Str "2"]
,Para [Str "Text"]
,Header 2 ("header-2-1",[],[]) [Str "Header",Space,Str "2"]
,Para [Str "Text"]
,Header 1 ("header-1-1",[],[]) [Str "Header",Space,Str "1"]
,Para [Str "Text"]]

So, I imagine you have to walk over the AST and when you encounter a 
"Header 2" element, you delete this and everything else until you find 
the next "Head 1" element.

You could also just include wrap the relevant parts in divs and then 
remove them from the output. That's easier, but not so elegant.


Am 01.09.2020 um 10:01 schrieb Henrik Klang:
>
> I have markdown source and want to generate PDF using Pandoc.
>
> I want to remove sub sections from a specific level, in the generated 
> document. E.g. filter them from the source markdown.
>
> Would this be possible with Lua or would it be better to do 
> prefiltering using some other tools?
>
> -- 
> 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org 
> <mailto:pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/pandoc-discuss/4e07ae0a-dcb1-4f89-8b91-ba787b7bea1cn%40googlegroups.com 
> <https://groups.google.com/d/msgid/pandoc-discuss/4e07ae0a-dcb1-4f89-8b91-ba787b7bea1cn%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
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/92ac8df6-b88a-b047-b9f0-1fe62873b710%40mailbox.org.

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

  parent reply	other threads:[~2020-09-01  8:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-01  8:01 Henrik Klang
     [not found] ` <4e07ae0a-dcb1-4f89-8b91-ba787b7bea1cn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2020-09-01  8:28   ` Denis Maier [this message]
     [not found]     ` <92ac8df6-b88a-b047-b9f0-1fe62873b710-cl+VPiYnx/1AfugRpC6u6w@public.gmane.org>
2020-09-01  9:35       ` Albert Krewinkel
     [not found]         ` <87d035yh4n.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>
2020-09-01 10:05           ` Henrik Klang
     [not found]             ` <667487b4-f213-45c7-94fd-c0237d8b6592n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2020-09-09 11:24               ` Henrik Klang
     [not found]                 ` <dea98b71-e65b-401e-b3df-338cd80ae369n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2020-09-09 12:41                   ` Albert Krewinkel

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=92ac8df6-b88a-b047-b9f0-1fe62873b710@mailbox.org \
    --to=denis.maier.lists-cl+vpiynx/1afugrpc6u6w@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).