Skip to content

Commit 07eaca0

Browse files
authored
Move "extensions-plugins-widgets" explanation to module 1 (also, emoji stuff) (#68)
2 parents 38b92e2 + 23186b7 commit 07eaca0

File tree

2 files changed

+38
-37
lines changed

2 files changed

+38
-37
lines changed

04-materials/01-exploring-extensions.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
:::
88

99
:::{tip} Terms
10-
{term}`menu bar`, {term}`main area`, {term}`status bar`, {term}`side panel`
10+
{term}`extension <extension>`, {term}`plugin <plugin>`, {term}`widget <widget>`,
11+
{term}`menu bar <menu bar>`, {term}`main area <main area>`,
12+
{term}`status bar <status bar>`, {term}`side panel <side panel>`
1113
:::
1214

1315

@@ -22,6 +24,38 @@
2224
5. Right {term}`side panel <side panel>`
2325

2426

27+
## Extensions and plugins and widgets -- oh, my!
28+
29+
While they sound similar, `extensions <extension>` and {term}`plugins <plugin>` serve
30+
different purposes.
31+
32+
{term}`Plugins <plugin>` are JupyterLab's fundamental building blocks which define
33+
functionality and business logic.
34+
{term}`Extensions <extension>` are the delivery mechanism or "container" for plugins.
35+
Extensions are the thing that end-users `pip install`.
36+
37+
:::{pull-quote}
38+
End-users care about extensions, and developers care about plugins.
39+
:::
40+
41+
A {term}`widget <widget>` is a user interface component provided by a plugin, either for
42+
the end user to display (e.g. an interactive visualization of data) or for JupyterLab to
43+
display (e.g. a document viewer that opens when you double-click a particular file
44+
type).
45+
46+
```{mermaid}
47+
graph TB
48+
49+
subgraph Extension["Extension"]
50+
subgraph Plugin["Plugin(s) (n>=1)"]
51+
Widget["Widget(s) (n>=0)"]
52+
end
53+
end
54+
55+
style Widget stroke-dasharray: 5 5
56+
```
57+
58+
2559
## Extension types
2660

2761
### {term}`Server extension`

04-materials/02-anatomy-of-extensions.md

Lines changed: 3 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ In this module, we will:
1313
:::
1414

1515
:::{tip} Terms
16-
{term}`extension <extension>`, {term}`plugin <plugin>`, {term}`widget <widget>`,
1716
{term}`main area widget <main area widget>`, {term}`command <command>`,
1817
{term}`command palette <command palette>`, {term}`launcher <launcher>`
1918
:::
@@ -56,7 +55,7 @@ Before we get started, we need to set up:
5655
* A repository on GitHub
5756

5857

59-
### Dependency environment
58+
### 🔧 Dependency environment
6059

6160
Create an environment named `jupytercon2025`.
6261
We'll use this environment for the rest of this workshop:
@@ -79,7 +78,7 @@ micromamba install python pip nodejs gh "copier~=9.2" jinja2-time
7978
```
8079

8180

82-
### Important Git settings
81+
### 🔧 Important Git settings
8382

8483
1. Git needs to know who you are.
8584

@@ -108,7 +107,7 @@ micromamba install python pip nodejs gh "copier~=9.2" jinja2-time
108107
:::
109108

110109

111-
### Create a GitHub repository and clone it locally
110+
### 🔧 Create a GitHub repository and clone it locally
112111

113112
0. Change to the parent directory where you want to work, e.g.
114113

@@ -183,38 +182,6 @@ micromamba install python pip nodejs gh "copier~=9.2" jinja2-time
183182
**Copy the entire repository URL for the next step!**
184183

185184

186-
## Extensions and plugins and widgets -- oh, my!
187-
188-
While they sound similar, `extensions <extension>` and {term}`plugins <plugin>` serve
189-
different purposes.
190-
191-
{term}`Plugins <plugin>` are JupyterLab's fundamental building blocks which define
192-
functionality and business logic.
193-
{term}`Extensions <extension>` are the delivery mechanism or "container" for plugins.
194-
Extensions are the thing that end-users `pip install`.
195-
196-
:::{pull-quote}
197-
End-users care about extensions, and developers care about plugins.
198-
:::
199-
200-
A {term}`widget <widget>` is a user interface component provided by a plugin, either for
201-
the end user to display (e.g. an interactive visualization of data) or for JupyterLab to
202-
display (e.g. a document viewer that opens when you double-click a particular file
203-
type).
204-
205-
```{mermaid}
206-
graph TB
207-
208-
subgraph Extension["Extension"]
209-
subgraph Plugin["Plugin(s) (n>=1)"]
210-
Widget["Widget(s) (n>=0)"]
211-
end
212-
end
213-
214-
style Widget stroke-dasharray: 5 5
215-
```
216-
217-
218185
## What are we building together?
219186

220187
First, we'll examine and demonstrate

0 commit comments

Comments
 (0)