public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
* ipynb output: Choose languages to convert to code cells
@ 2021-09-21 13:46 Julianus Pfeuffer
       [not found] ` <e539846c-74da-4636-82ea-f63cfcf8ee0bn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Julianus Pfeuffer @ 2021-09-21 13:46 UTC (permalink / raw)
  To: pandoc-discuss


[-- Attachment #1.1: Type: text/plain, Size: 983 bytes --]

Hi all,

does anyone know of a way, how to decide which code language to convert to 
an ipynb code cell?
The default is "code" but of course no one would just use "code" as a 
language description in input formats that are not specifically written for 
this pandoc conversion to ipynb.

I am envisioning to be able to specify e.g. python, R as languages of my 
input code blocks (as long as the input format supports a language tag, 
e.g. Markdown or rst) which should be converted to executable code cells in 
the notebook.

Is this possible?

Thanks and cheers
Julianus

-- 
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/e539846c-74da-4636-82ea-f63cfcf8ee0bn%40googlegroups.com.

[-- Attachment #1.2: Type: text/html, Size: 1378 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: ipynb output: Choose languages to convert to code cells
       [not found] ` <e539846c-74da-4636-82ea-f63cfcf8ee0bn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
@ 2021-09-21 16:04   ` John MacFarlane
       [not found]     ` <m2wnn9hq4u.fsf-d8241O7hbXoP5tpWdHSM3tPlBySK3R6THiGdP5j34PU@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: John MacFarlane @ 2021-09-21 16:04 UTC (permalink / raw)
  To: Julianus Pfeuffer, pandoc-discuss


You could use a filter to add the "code" class to, say,
all code blocks with the "python" class.

Julianus Pfeuffer <jule.pf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:

> Hi all,
>
> does anyone know of a way, how to decide which code language to convert to 
> an ipynb code cell?
> The default is "code" but of course no one would just use "code" as a 
> language description in input formats that are not specifically written for 
> this pandoc conversion to ipynb.
>
> I am envisioning to be able to specify e.g. python, R as languages of my 
> input code blocks (as long as the input format supports a language tag, 
> e.g. Markdown or rst) which should be converted to executable code cells in 
> the notebook.
>
> Is this possible?
>
> Thanks and cheers
> Julianus
>
> -- 
> 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/e539846c-74da-4636-82ea-f63cfcf8ee0bn%40googlegroups.com.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: ipynb output: Choose languages to convert to code cells
       [not found]     ` <m2wnn9hq4u.fsf-d8241O7hbXoP5tpWdHSM3tPlBySK3R6THiGdP5j34PU@public.gmane.org>
@ 2021-09-21 17:16       ` Julianus Pfeuffer
  0 siblings, 0 replies; 3+ messages in thread
From: Julianus Pfeuffer @ 2021-09-21 17:16 UTC (permalink / raw)
  To: pandoc-discuss


[-- Attachment #1.1: Type: text/plain, Size: 2498 bytes --]

Thanks for the quick hint. I had to lookup how to apply filters but it was 
rather straightforward (only a bit hard to infer the structure of the 
python objects from the Haskell data type documentation).
In case someone is interested, the following hacky filter worked at first 
glance.

#!/usr/local/bin/python3

"""
Pandoc filter to convert code blocks of certain language classes to code 
class
"""

from pandocfilters import *

def addCodeClass(key, value, format, meta):
  if key == 'CodeBlock':
    [[ident, classes, keyvals], code] = value
    if "python" in classes:
      classes.remove("python")
      classes.append("code")
    return CodeBlock([ident, classes, keyvals], code)

if __name__ == "__main__":
  toJSONFilter(addCodeClass)

John MacFarlane schrieb am Dienstag, 21. September 2021 um 18:04:16 UTC+2:

>
> You could use a filter to add the "code" class to, say,
> all code blocks with the "python" class.
>
> Julianus Pfeuffer <jul...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:
>
> > Hi all,
> >
> > does anyone know of a way, how to decide which code language to convert 
> to 
> > an ipynb code cell?
> > The default is "code" but of course no one would just use "code" as a 
> > language description in input formats that are not specifically written 
> for 
> > this pandoc conversion to ipynb.
> >
> > I am envisioning to be able to specify e.g. python, R as languages of my 
> > input code blocks (as long as the input format supports a language tag, 
> > e.g. Markdown or rst) which should be converted to executable code cells 
> in 
> > the notebook.
> >
> > Is this possible?
> >
> > Thanks and cheers
> > Julianus
> >
> > -- 
> > 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 view this discussion on the web visit 
> https://groups.google.com/d/msgid/pandoc-discuss/e539846c-74da-4636-82ea-f63cfcf8ee0bn%40googlegroups.com
> .
>

-- 
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/d0820aab-e573-4d91-a97e-1716beff5630n%40googlegroups.com.

[-- Attachment #1.2: Type: text/html, Size: 4505 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-09-21 17:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-21 13:46 ipynb output: Choose languages to convert to code cells Julianus Pfeuffer
     [not found] ` <e539846c-74da-4636-82ea-f63cfcf8ee0bn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-09-21 16:04   ` John MacFarlane
     [not found]     ` <m2wnn9hq4u.fsf-d8241O7hbXoP5tpWdHSM3tPlBySK3R6THiGdP5j34PU@public.gmane.org>
2021-09-21 17:16       ` Julianus Pfeuffer

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).