Skip to content

innovationOUtside/jupyter_anywidget_pandoc

Repository files navigation

jupyter_anywidget_pandoc

Example Jupyter anywidget that will sideload georgestagg/pandoc-wasm into the browser and support pandoc conversions using it.

For example:

from jupyter_anywidget_pandoc import pandoc_headless

# Load the headless widget
p = pandoc_headless()

# Wait for pandoc wasm to load (blocking;; does not work in JupyterLite)
p.ready()

# Try a conversion
# This is blocking - does not work in JupyterLite
output = p.convert("## Some markdown\nWith *feeling...*")
output
> '<h2 id="some-markdown">Some markdown</h2>\n<p>With <em>feeling…</em></p>'

#Non-blocking
p.base_convert("## Some markdown\nWith *feeling...*")
# When it's ready, collect from:
p.response
> {'status': 'processing'}
> {'status': 'completed', 'output_raw': '<p>Another example</p>'}

Use p.convert_from_file(path, output_format="markdown", timeout=3) etc. to load from a local file path or a URL. If no input_format= is specified, the function will attempt to identify the input file type from a file suffix in the path.

Installation

pip install jupyter_anywidget_pandoc

or with uv:

uv add jupyter_anywidget_pandoc

Open example.ipynb in JupyterLab, VS Code, for a demo...

Other (predominantly, ouseful) sideloading wasm anywidgets

See the GitHup topc tag: jupyter-wasm-anywidget-extension

About

Jupyter anywidget sideloading pandoc wasm

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published