Skip to content

parente/contentmanagement

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jupyter Content Management Extensions

Content management extensions for Jupyter / IPython Notebook.

What It Gives You

The content management extensions provide the following:

  • Search dialog on dashboard, editor, and notebook screens to search over filenames and .ipynb content in the notebook directory
  • IPython extension to make notebooks importable, and notebook cells injectable via # <api> and # <help> annotations (see included example notebooks)
  • Full-page drag-and-drop upload target (notebooks only at the moment)
  • Pop-over table of contents navigation for notebooks

Watch the first 15-20 minutes of the September 1st Jupyter meeting video recording for demonstrations of each content management feature.

What it Lacks

  • Tests (they exist, just not ported to the open source yet)
  • User docs
  • Full page drag/drop on all screens
  • Snippets in search hits (requires Whoosh unicode fixes for Python3)

Runtime Requirements

  • IPython Notebook 3.2.x (Jupyter Notebook 4.x not yet supported), running on Python 3.x
  • scandir and whoosh
  • Notebook instance running out of profile_default

These requirements are satisfied automatically when you follow the setup instructions below.

Try It

We're running a tmpnb instance at http://jupyter.cloudet.xyz with a snapshot of this project (and other related incubator projects) pre-installed.

Develop

This repository is setup for a Dockerized development environment. These instructions assume the Docker client is running natively on the local host, and that it is configured to point to a Docker daemon running on a Linux virtual machine.

Mac OS X

Do this one-time setup if you do not have a local Docker environment yet.

Download and install VirtualBox.

Download and install Docker.

brew update

# make sure you're on Docker >= 1.7
brew install docker-machine docker

# create a VirtualBox virtual machine called 'dev' on local host, with Docker daemon installed
docker-machine create -d virtualbox dev

# point Docker client to virtual machine
eval "$(docker-machine env dev)"

Pull the Docker image to use for development.

docker pull jupyter/pyspark-notebook:3.2

Clone this repository into a local directory that Docker can volume mount.

mkdir -p ~/projects/contentmanagement
cd !$
git clone https://github.com/jupyter-incubator/contentmanagement.git

Build a Docker image to add the prereqs listed in the Requirements section above.

make build

Run the notebook server in a Docker container.

make dev

The final make command starts a Docker container on your VM with the critical pieces of the source tree mounted where they need to be to get picked up by the notebook server within the container. Most code changes on your Mac host will have immediate effect within the container.

To see the Jupyter instance with extensions working:

  1. Run docker-machine ip dev and note the IP of the dev machine.
  2. Visit http://THAT_IP:9500 in your browser

See the Makefile for other dev, test, build commands as well as options for each command.

Intended But Not Here Yet

  • Search becomes omnibox for importing notebooks
  • Generate secret urls for omnibox to pull directly from other jupyters
  • Download files / folders from dashboard screen

About

Jupyter Content Management Extensions

Resources

License

BSD-3-Clause, Unknown licenses found

Licenses found

BSD-3-Clause
LICENSE
Unknown
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 46.7%
  • Python 45.5%
  • CSS 4.4%
  • Makefile 3.4%