@nteract/gatsby-transformer-ipynb
TypeScript icon, indicating that this package has built-in type declarations

3.0.4-alpha.0 • Public • Published

gatsby-transformer-ipynb

Parses jupyter notebook files.

See it in action: https://gatsby-contrib.github.io/gatsby-transformer-ipynb/

Install

npm install --save @nteract/gatsby-transformer-ipynb

How to use

// In your gatsby-config.js
plugins: [`@nteract/gatsby-transformer-ipynb`];

Parsing algorithm

It recognizes files with the ipynb extension.

Each notebook file is parsed into a node of type JupyterNotebook.

This plugin adds additional fields to the JupyterNotebook GraphQL type including:

  • html: html string created using the react component NotebookRender from @nteract/notebook-render.
  • metadata: jupyter notebooks can embed metadata to indicate authors, titles...
  • json: the json notebook code converted into a javascript object with JSON.parse.
  • internal.content: contains the raw notebook code, it can be used to feed the react component NotebookPreview from @nteract/notebook-preview.

How to query

A sample GraphQL query to get JupyterNotebook nodes:

{
  query
  JupyterQuery {
    allJupyterNotebook {
      edges {
        node {
          id
          metadata {
            kernelspec {
              name
              language
              display_name
            }
          }
          html
          json {
            nbformat
            nbformat_minor
            cells {
              cell_type
              execution_count
            }
          }
          internal {
            content
          }
        }
      }
    }
  }
}

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @nteract/gatsby-transformer-ipynb

    Weekly Downloads

    1

    Version

    3.0.4-alpha.0

    License

    BSD-3-Clause

    Unpacked Size

    6.07 kB

    Total Files

    5

    Last publish

    Collaborators

    • hydrosquall
    • benabel
    • alexandercbooth
    • benrussert
    • mpacer
    • theengineear
    • yuvipanda
    • rgbkrk
    • lgeiger
    • ivanov
    • captainsafia
    • peggyrayzis
    • jdetle
    • hasch
    • willingc
    • stormpython
    • crystalline-cat
    • emeeks