|
@@ -1,38 +0,0 @@
|
|
|
-Adding Content
|
|
|
---------------
|
|
|
-
|
|
|
-As an example: Add a leaflet viewer plugin for geoJSON files.
|
|
|
-
|
|
|
-- Go to npm: search for
|
|
|
- `leaflet <https://www.npmjs.com/package/leaflet>`__ (success!).
|
|
|
-
|
|
|
-- Go to ``jupyterlab`` top level source directory:
|
|
|
- ``jlpm add leaflet``. This adds the file to the ``dependencies`` in
|
|
|
- ``package.json``.
|
|
|
-
|
|
|
-- Next we see if there is a typing declaration for leaflet:
|
|
|
- ``jlpm add --dev @types/leaflet``. Success!
|
|
|
-
|
|
|
-- If there are no typings, we must create our own. An example typings
|
|
|
- file that exports functions is
|
|
|
- `codemirror <https://github.com/jupyterlab/jupyterlab/blob/master/packages/codemirror/typings/codemirror/codemirror.d.ts>`__.
|
|
|
-
|
|
|
-- Add a reference to the new library in ``src/typings.d.ts``.
|
|
|
-
|
|
|
-- Create a folder in ``src`` for the plugin.
|
|
|
-
|
|
|
-- Add ``index.ts`` and ``plugin.ts`` files.
|
|
|
-
|
|
|
-- If creating CSS, import them in ``src/default-themes/index.css``.
|
|
|
-
|
|
|
-- The ``index.ts`` file should have the core logic for the plugin. In
|
|
|
- this case, it should create a widget and widget factory for rendering
|
|
|
- geojson files (see :ref:`documents`).
|
|
|
-
|
|
|
-- The ``plugin.ts`` file should create the extension and add the
|
|
|
- content to the application. In this case registering the widget
|
|
|
- factory using the document registry.
|
|
|
-
|
|
|
-- Run ``jlpm run build`` from ``jupyterlab/jupyterlab``
|
|
|
-
|
|
|
-- Run ``jupyter lab`` and verify changes.
|