Skip to content

Jupyter (.ipynb) reader for the Pelican static site generator

Notifications You must be signed in to change notification settings

chuckpr/pelican-jupyter-reader

Repository files navigation

pelican-jupyter-reader: A Plugin for Pelican

PyPI version Netlify Status

This Pelican plugin provides a Jupyter Notebook (i.e. *.ipynb) reader. The plugin intends to allow users to simply drop Jupyter notebooks in their Pelican content directory and have the notebooks rendered (beautifully) in a Pelican static website.

Installation

This plugin can be installed via:

pip install pelican-jupyter-reader

Quickstart

  • Add the plugin to pelicanconf.py:
# ...

from pelican.plugins import pelican_jupyter_reader
PLUGINS = [pelican_jupyter_reader]

# ...
{
    "pelican": {
        "date": "2020-04-10",
        "title": "this is a title",
        "tags": "thats, awesome",
        "category": "yeah",
        "slug": "my-super-post",
        "authors": "Alexis Metaireau, Conan Doyle",
        "summary": "Short version for index and feeds"
    },
    "kernelspec": {
        "display_name": "Python 3",
        "language": "python",
        "name": "python3"
    },
//...the rest of the notebook JSON follows.
  • Drop your Jupyter notebook in the Pelican content directory, build your site, and deploy! 🚀

Example

The demo/ directory has a simple post with corresponding configuration in pelicanconf.py. The demo site is deployed here.

Notes

The Jupyter nbconvert configuration for preprocessors and the HTMLExporter are exposed in your Pelican config, pelicanconf.py. This means you can manipulate notebooks with utilities provided by nbconvert.

For example, to use the basic template for the HTMLExporter, you could add the following to your pelicanconf.py:

from traitlets.config import Config
NBCONVERT_CONFIG = Config()
NBCONVERT_CONFIG.HTMLExporter.template = 'basic'

To strip empty cells from the notebook before publishing, you might add this option to pelicanconf.py:

# ...
NBCONVERT_CONFIG.RegexRemovePreprocessor.patterns = ['\\s*\\Z']

Other nbconvert configuration options can be found here.

About

Jupyter (.ipynb) reader for the Pelican static site generator

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages