Giter Club home page Giter Club logo

nbpresent's Introduction

nbpresent

remix your Jupyter Notebooks as interactive slideshows

Installation

pip install nbpresent
python -m nbpresent.install

Then either run

%reload_ext nbpresent

every time you start the notebook or enable the extension for every notebook launch:

python -m nbpresent.install --enable

Export

Stock nbconvert doesn't store quite enough information, so you'll need to do something like this:

nbpresent -i notebooks/README.ipynb -o README.html

The resulting file can be hosted and viewed (but not edited!) on any site with fallback to Github.

If you have installed nbbrowserpdf, you can also export to pdf:

nbpresent -i notebooks/README.ipynb -f pdf -o README.pdf

You can also pass in and get back streams:

cmd_that_generates_ipynb | nbpresent -f pdf > README.pdf

Here's the whole doc:

!nbpresent --help
usage: nbpresent [-h] [-i IPYNB] [-o OUTFILE] [-f {html,zip,pdf}]

Generate a static nbpresent presentation from a Jupyter Notebook

optional arguments:
  -h, --help            show this help message and exit
  -i IPYNB, --ipynb IPYNB
                        Input file (otherwise read from stdin)
  -o OUTFILE, --outfile OUTFILE
                        Output file (otherwise write to stdout)
  -f {html,zip,pdf}, --out-format {html,zip,pdf}
                        Output format

Development

This assumes you have cloned this repository locally:

git clone https://github.com/Anaconda-Server/nbpresent.git
cd nbpresent

Repo Architecture

The nbpresent nbextension is built from ./src into ./nbpresent/static/nbresent with:

  • less for style
  • es6 (via babel) for javascript
  • browserify for packaging

The nbpresent python module (server component) is stored in the /nbpresent folder

Getting Started

You'll need conda installed, either from Anaconda or miniconda. You can import a Python 3.5 development environment named nbpresent from ./environment.yml.

conda update env
source activate nbpresent

We still use npm for a lot of dependencies, so then run:

npm install
npm run build:all

Ensure development asset loading

To ensure that you always get the right assets, install the nbextension with the symlink, force and enable options:

python -m nbpresent.install --overwrite --symlink --enable --user

You may also want to pass in --prefix instead of user.

Chore Automation

| Task | Command | |-|-|-| | Build all of the front end assets with sourcemaps for development | npm run build | | Rebuild on every save | npm run watch | | Rebuild all of the front end assets, and optimize it | npm run dist | | Run the CasperJS and nose tests | npm run test | | Check code style | npm run lint | | Build the conda package | npm run pkg:conda | | Build and upload the pypi package | npm run pkg:pypi | | Build the ESDoc and Sphinx documentation | npm run docs |

nbpresent's People

Contributors

bollwyvl avatar damianavila avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.