Metadata-Version: 2.1
Name: nbcourse
Version: 0.3.6
Summary: Build a small website to host Jupyter notebooks as course chapters
Home-page: https://gitlab.math.unistra.fr/boileau/nbcourse
Author: Matthieu Boileau
Author-email: matthieu.boileau@math.unistra.fr
Description-Content-Type: text/markdown
Classifier: License :: OSI Approved :: MIT License
Requires-Dist: nbconvert >= 6.0
Requires-Dist: bs4
Requires-Dist: IPython
Requires-Dist: jinja2
Requires-Dist: jupyter_contrib_nbextensions
Requires-Dist: latex
Requires-Dist: markdown
Requires-Dist: rise
Requires-Dist: pyyaml
Requires-Dist: doit >= 0.32.0
Requires-Dist: python-frontmatter
Requires-Dist: pytest ; extra == "test"
Requires-Dist: pytest-cov ; extra == "test"
Provides-Extra: test

# nbcourse: publish your course based on Jupyter notebooks

## Features

`nbcourse` helps you building a static website to publish your course content in the form of jupyter notebooks (one notebook for one chapter).

Main features:

- all the configuration is described by a single `nbcourse.yml` file
- it is based on [doit](https://pydoit.org) in order to build efficently the html files
- chapters can be displayed in *preview mode* only so attendees can see the whole course program without being able to access content of the lessons to come
- notebooks can be:
    - rendered as static html files,
    - rendered as static reveal slideshows,
    - packaged with all their material in a downloadable archive,
    - compiled in a single pdf book using [bookbook](https://github.com/takluyver/bookbook)
- the theme can be easily customized (html files are templated using jinja)

See [this python course](https://mm2act.pages.math.unistra.fr/cours-python/) (in French) as an example.

## Installation

```bash
pip install nbcourse
```

## Usage

### Initiate an empty nbcourse project

```bash
nbcourse --init
```

### Configure your website

- Put your notebooks file in the `notebook/` directory
- Edit the `nbcourse.yml` file created by the `nbcourse --init` command.

### Build your website

```bash
nbcourse
```

Resulting files are in the `build/` directory.

### Get help

```bash
nbcourse --help
```

### Publish

Publishing with [GitLab Pages](https://docs.gitlab.com/ee/user/project/pages/) is as simple as adding a `.gitlab-ci.yml` file such as:

```yaml
pages:
  image: boileaum/jupyter
  script:
    - pip install nbcourse
    - nbcourse -n 5
    - mv build public
  artifacts:
    paths:
      - public
```

