public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: "'rufus42' via pandoc-discuss" <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
To: pandoc-discuss <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: more fun with pandoc lua
Date: Tue, 24 Jan 2023 13:48:41 -0800 (PST)	[thread overview]
Message-ID: <dbe5d1cc-a2c7-4fb0-b266-6ae99805e6e9n@googlegroups.com> (raw)
In-Reply-To: <EF95D206-4259-43CD-823D-C9AFA637E2FC-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>


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

Hello fiddlosopher,

thank you very much for your answer.
Great, it works!
(Must definitely look into the potential of Lua filters...).

Thanks for your time and best regards

fiddlosopher schrieb am Dienstag, 24. Januar 2023 um 22:28:10 UTC+1:

> This is using the new pandoc 3.0 feature which allows pandoc to be used as 
> a Lua interpreter.  So just save the file as rosetta.lua and then;
>
> pandoc lua rosetta.lua
>
>
> On Jan 24, 2023, at 1:17 PM, 'rufus42' via pandoc-discuss <
> pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> wrote:
>
> Hello fiddlosopher,
>
> Thank you very much for sharing your script.
> I would like to use it, but unfortunately I don't know how.
> Do I use the script like a Lua filter?
>
> Please be so kind and give me a hint how I can use your script.
>
> Thank you for your time and best regards
>
> fiddlosopher schrieb am Samstag, 21. Januar 2023 um 20:05:46 UTC+1:
> -- This Lua script, when run using `pandoc lua`, will create an HTML 
> -- file rosetta.html that compares how the same content is represented 
> -- in all the text markup languages pandoc supports: 
>
> local inp = [[ 
> # Heading 
>
> ## level 2 
>
> ### level 3 
>
> #### level 4 with attributes {.blue #foobar} 
>
> - Unordered 
> - list 
>
> 1. ordered 
> 2. list 
>
> a) Lettered list 
>
> with continuation paragraph 
>
> > Block quote 
>
> ``` {.lua} 
> local formats = pandoc.writers 
> for format,_ in formats do 
> print(format) 
> end 
> ``` 
>
> *emphasized text **with strong emphasis*** 
>
> `verbatim text` and a [link with `verbatim`](http://example.com) 
> ]] 
> local doc = pandoc.read(inp, "markdown") 
>
> local formats = pandoc.writers 
> -- remove binary formats: 
> formats.docx = nil 
> formats.pptx = nil 
> formats.odt = nil 
> formats.epub2 = nil 
> formats.epub3 = nil 
> formats.epub = nil 
> formats.chunkedhtml = nil 
> formats.biblatex = nil 
> formats.bibtex = nil 
> formats.csljson = nil 
>
> local blocks = {} 
>
> -- Table of code languages to use for highlighting, when it differs 
> -- from the format name: 
> local langs = { 
> icml = "xml", 
> jira = "xml", 
> fb2 = "xml", 
> docbook = "xml", 
> docbook4 = "xml", 
> docbook5 = "xml", 
> commonmark = "markdown", 
> commonmark_x = "markdown", 
> context = "latex", 
> dzslides = "html5", 
> slideous = "html", 
> slidy = "html", 
> man = "troff", 
> ms = "troff", 
> gfm = "markdown", 
> markdown_mmd = "multimarkdown", 
> markdown_github = "markdown", 
> revealjs = "html", 
> beamer = "latex", 
> ipynb = "json", 
> opendocument = "xml", 
> native = "haskell", 
> html5 = "html", 
> html4 = "html", 
> } 
>
> local sorted_formats = {} 
> for format,_ in pairs(formats) do 
> table.insert(sorted_formats, format) 
> end 
> table.sort(sorted_formats) 
>
> -- construct document part for each format 
> for _,format in ipairs(sorted_formats) do 
> table.insert(blocks, pandoc.Header(2, format)) 
> local lang = langs[format] or format 
> table.insert(blocks, 
> pandoc.CodeBlock(pandoc.write(doc, format), {class = lang})) 
> end 
>
> local template = pandoc.template.compile(pandoc.template.default("html5")) 
> local html = pandoc.write(pandoc.Pandoc(blocks, 
> {title = "Markup Rosetta Stone"}), 
> "html5", 
> { template = template }) 
>
> io.open("rosetta.html", "w"):write(html) 
> print("Created rosetta.html") 
>
>
> -- 
> 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/d9e014a6-2dfd-44e3-a856-2bf18959103dn%40googlegroups.com 
> <https://groups.google.com/d/msgid/pandoc-discuss/d9e014a6-2dfd-44e3-a856-2bf18959103dn%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/dbe5d1cc-a2c7-4fb0-b266-6ae99805e6e9n%40googlegroups.com.

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

  parent reply	other threads:[~2023-01-24 21:48 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-21 19:05 John MacFarlane
     [not found] ` <CC299ED9-B166-4B45-AC42-9DA430CAA122-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2023-01-24 21:17   ` 'rufus42' via pandoc-discuss
     [not found]     ` <d9e014a6-2dfd-44e3-a856-2bf18959103dn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-01-24 21:28       ` John MacFarlane
     [not found]         ` <EF95D206-4259-43CD-823D-C9AFA637E2FC-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2023-01-24 21:48           ` 'rufus42' via pandoc-discuss [this message]
2023-01-25 11:50   ` 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=dbe5d1cc-a2c7-4fb0-b266-6ae99805e6e9n@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).