📈 Convert Jupyter Notebook files to HTML
nbtohtml
is a Go library and CLI for rendering Jupyter Notebooks as HTML.
Advantages over similar libraries like notebook.js
or nbviewer.js
:
→ Example of a rendered notebook
./nbtohtml convert /path/to/your/notebook.ipynb
in the directory where you’ve downloaded the programgo get -u github.com/samuelmeuli/nbtohtml/cmd/nbtohtml
nbtohtml convert /path/to/your/notebook.ipynb
nbtohtml
as a dependency in your Go project: go get -u github.com/samuelmeuli/nbtohtml
notebookHTML := new(bytes.Buffer)
notebookPath := "/path/to/your/notebook.ipynb"
err := nbtohtml.ConvertFile(notebookHTML, notebookPath)
nbtohtml
generates HTML tags without inline styles, but with class names. This allows you to style the notebook according to your needs. You will probably want to include some of the following stylesheets in your HTML:
nbtohtml
internally uses Chroma for syntax highlighting, which supports various themes. You can find a sample stylesheet here.Rendering of LaTeX math must be done on the client side. Various libraries exist, KaTeX is a great option. You only need to link to the KaTeX scripts/styles, and LaTeX math will automatically be rendered after your web page has loaded.
Suggestions and contributions are always welcome! Please discuss larger changes via issue before submitting a pull request.