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-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@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.