public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: "'Angel Joaniquet' via pandoc-discuss" <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
To: pandoc-discuss <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: Modify writer or extensions inside a filter
Date: Thu, 15 Apr 2021 07:20:32 -0700 (PDT)	[thread overview]
Message-ID: <50d9ae1b-95a0-445f-9ab2-5b1fe2cc992fn@googlegroups.com> (raw)
In-Reply-To: <509d7700-5cb3-4382-9276-c4b2e2a0c3e5n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>

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

The lua split function is this


```lua
function split(str,pat)
   local tbl = {}
   str:gsub(pat, function(x) tbl[#tbl+1]=x end)
   return tbl
end
```

El jueves, 15 de abril de 2021 a las 16:08:23 UTC+2, Angel Joaniquet 
escribió:

>
> I'm trying to make a filter to transform some features of org-mode to 
> GitLab-markdown (not supported by Pandoc out of the box), in particular, 
> the math blocks.
>
> The filter should work when transforming to `markdown`, but instead of 
> giving the markdown format for the math blocks (enclosed by `$$...$$`), it 
> should write the blocks as 
>
>     ```  math
>     a + b = c
>     ``` 
>
> The preces I have now is 
>
> In org-mode, the math blocks are simply the latex code:
>
> ```
> \begin{equation}
> a + b = c
> \end{equation}
> ```
>
> this is parsed as a pandoc AST `RawBlock` with format `latex`. I then 
> remove the first (`\begin{equation}`) an last line (`\end{equation}`), and 
> construct a pandoc `CodeBlock` with atrributes `{"math"}`, so the 
> `CodeBlock` object displays in AST as
>
> ```
> CodeBlock ("",["math"],[]) "a + b = c\n"
> ```
>
> and then I let Pandoc create the markdown document, and the written result 
> is 
>
>     ``` {.math}
>     a + b = c
>     ``` 
>
>
>
> **The question:**  
> I want the bare `math`, not `{.math}` written, without the use of CLI 
> options. 
>
>
> I am aware that this can be done setting the Writer extension 
> `fenced_code_attributes` to false (eg. `$pandoc -w 
> markdown-fenced_code_attributes ...`), but I would much prefer this done 
> inside the filter. 
>
> Or is it possible to set the extensions inside the filter?
>
>
> Here is my atempted lua-filter:
>
> ``` lua
> function RawBlock(rb)
>    if rb.format == "latex" then
>       local text = rb.text
>       split_text =  split(text, "[^\n]*")
>       if split_text[1] == '\\begin{equation}'  and 
> split_text[#split_text-1] == '\\end{equation}' then
>          table.remove(split_text, #split_text-1)
>          table.remove(split_text, 1)
>          text = table.concat(split_text, "\n")
>          local cb = pandoc.CodeBlock()
>          cb.attr = {"",{"math"}}
>          cb.text = text
>          return cb
>       end
>    end
> end
> ```
>
>
> Kind regards, 
>
> Angel
>
>
>
>
-- 
-----------------------------------------------------------------------------------------------

La información contenida en este mensaje es de carácter privado y 
confidencial, dirigiéndose
exclusivamente al destinatario mencionado en el 
encabezamiento. Si usted ha recibido este mensaje por
error, le informamos 
que no debe revelar, copiar, distribuir o usarlo en ningún sentido ya que 
está
prohibido por la legislación vigente. Rogamos lo comunique al 
remitente y borre dicho mensaje y
cualquier documento adjunto que pudiera 
contener. Los datos personales que usted facilite por correo
electrónico 
podrán ser tratados por Zitro SARL con el fin de responder a su consulta o 
atender su
solicitud, así como gestionar la relación comercial, contractual 
o precontractual con usted. La base
legitimadora de este tratamiento es el 
interés legítimo de Zitro, así como el mantenimiento de la
relación 
contractual o de medidas precontractuales. No se cederán datos a terceros, 
salvo obligación
legal. Sus datos serán conservados durante todo el plazo 
de duración de la relación entre usted y Zitro y,
una vez terminada la 
misma, durante el plazo que determine la legislación aplicable en cada 
momento.
Usted podrá ejercitar en todo momento los derechos reconocidos en 
la normativa de protección de
datos, así como contactar con Zitro a través 
de la siguiente dirección: info-1NcKPjY1c5x0ubjbjo6WXg@public.gmane.org 
<mailto:info-1NcKPjY1c5x0ubjbjo6WXg@public.gmane.org>.

The information contained in this message is 
private and confidential, speaking exclusively to the
recipient mentioned 
in the heading. If you have received this message by mistake, we inform you 
that
you should not disclose, copy, distribute or use it in any way because 
it is prohibited by current law.
Please notify the sender and delete the 
message and any attachment that might contain. The personal
data you 
provide by email may be processed by Zitro SARL for the purpose of 
responding to your query
or attending to your request, and to manage the 
commercial, contractual or pre-contractual
relationship with you. The 
legitimizing basis of this processing is the legitimate interest of Zitro, 
and the
maintenance of the contractual relationship or pre-contractual 
measures. No data will be passed to
third parties unless there is a legal 
obligation to do so. Your data will be retained throughout the term of
your 
relationship with Zitro and, once that is terminated, for the term legally 
required at any specific
time. You may exercise your rights, as recognized 
in data protection legislation, at any time, and you
may contact Zitro at 
the following email address: info-1NcKPjY1c5x0ubjbjo6WXg@public.gmane.org 
<mailto:info-1NcKPjY1c5x0ubjbjo6WXg@public.gmane.org>.

-- 
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/50d9ae1b-95a0-445f-9ab2-5b1fe2cc992fn%40googlegroups.com.

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

  parent reply	other threads:[~2021-04-15 14:20 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-15 14:08 'Angel Joaniquet' via pandoc-discuss
     [not found] ` <509d7700-5cb3-4382-9276-c4b2e2a0c3e5n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-04-15 14:20   ` 'Angel Joaniquet' via pandoc-discuss [this message]
     [not found]     ` <50d9ae1b-95a0-445f-9ab2-5b1fe2cc992fn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-04-16 11:41       ` mb21
     [not found]         ` <c01112ea-3fd0-42c7-86ae-6e1806671b7bn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-04-16 12:00           ` 'Angel Joaniquet' via pandoc-discuss
     [not found]             ` <03f7ab59-6b1a-451e-8528-4b164d439dc4n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-04-16 13:56               ` Albert Krewinkel
     [not found]                 ` <87sg3qqqn9.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>
2021-04-19 11:33                   ` 'Angel Joaniquet' via pandoc-discuss
2021-04-19 14:49                   ` 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=50d9ae1b-95a0-445f-9ab2-5b1fe2cc992fn@googlegroups.com \
    --to=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).