pandoc-wasmThe latest version of pandoc CLI compiled as a standalone
wasm32-wasi module that can be run by engines like wasmtime as
well as browsers.
Stdin on the left, stdout on the right, command line arguments at the bottom. No convert button, output is produced dynamically as input changes.
You’re also more than welcome to fetch the
pandoc.wasm
module and make your own customized app. pandoc.wasm is fully
wasm32-wasi compliant and doesn’t make use of any JSFFI feature in
the ghc wasm backend.
pandoc.wasm is built with 9.12 flavour of ghc wasm backend in CI,
which can be installed via
ghc-wasm-meta. You
need at least 9.10 since it’s the earliest major version with (my
non-official) backports for ghc wasm backend’s Template Haskell & ghci
support.
It’s built using my
fork which is
based on latest pandoc release and patches dependencies, cabal
config as well as some module code to make things compilable to wasm:
wasip1 doesn’t have proper
sockets support anyway, and support for future versions of wasi is
not on my radar for now.setjmp/longjmp which already work
in wasi-libc to some extent, but that requires wasm exception
handling feature which is not supported by wasmtime yet.Other functionalities should just work, if not feel free to file a bug report :)
Thanks to John MacFarlane and all the contributors who made pandoc
possible: a fantastic tool that has benefited many developers and is a
source of pride for the Haskell community!
Thanks to all past efforts of using asterius to compile pandoc to
wasm, including but not limited to:
pandoc-wasmwasm-pandoc