Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

theme-cookiecutter

Build Status

A cookiecutter template to help you make new JupyterLab theme extensions.

Examples

Usage

Install cookiecutter:

pip install cookiecutter

Use cookiecutter to generate a package:

cookiecutter https://github.com/jupyterlab/theme-cookiecutter

Prompts

The cookiecutter will prompt you with the following questions and generate a project according to your responses:

  • author_name: Your full name.
  • python_name: The name of the Python package for your JupyterLab extension (e.g. jupyterlab_pink_theme).
  • labextension_name: Your JupyterLab extension name (e.g. @my-organization/jupyterlab-pink-theme).
  • project_short_description: A short description of your JupyterLab theme extension.
  • has_binder: Whether you extension has a binder link or not.
  • repository: Your theme's repository. If the code of your theme is hosted on Github, this should just be the main Github url (e.g. https://github.com/my-organization/jupyterlab_pink_theme).

Project structure

Once you fill in the cookiecutter prompts, you'll get a basic theme extension. The files within are structured as follows:

  • python_name
    • style: The assets (.css files, images, etc) that will make up your theme's actual style. This start out with the style from the default Jupyterlab light theme.
    • src - The extension source.
      • index.ts: Entry point for the JupyterLab extension
    • package.json: Metadata files that defines the files in your extension and their dependencies
    • tsconfig.json: Tells the TypeScript compiler how to build your extension
    • setup.py: The Python distribution file

Package names

We suggest that extension names start with jupyterlab_ and use underscores or dashes if needed to improve readability, such as jupyterlab_myextension.