Skip to content

Commit

Permalink
fix autoref
Browse files Browse the repository at this point in the history
  • Loading branch information
manzt committed Jun 6, 2024
1 parent 09bdec9 commit 929ce7d
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,18 +115,22 @@ UI management. By making host requirements explicit, it decouples widget
front-end code from host implementations, thereby improving widget portability
[@scipy]. With AFM, developers can author a widget writing a web-standard ES
module, either inline or in a separate file, without a build process
(\autoreref{fig:afm-and-anywidget} a, top). For better ergonomics when creating
(\autoref{fig:afm-and-anywidget} a, top). For better ergonomics when creating
UIs, developers can introduce a build step targeting AFM to utilize advanced
tools (\autoreref{fig:afm-and-anywidget} a, bottom).
tools (\autorref{fig:afm-and-anywidget} a, bottom).

![AFM (a) is either authored in web-standard ECMAScript (top) or using a front-end framework bridge (bottom). (b) The anywidget Python package allows consuming AFMs to author custom Jupyter Widgets (top), which can be used across a variety of JCPs (bottom). \label{fig:afm-and-anywidget}](afm-and-anywidget.png)
![AFM (a) is either authored in web-standard ECMAScript (top) or using a
front-end framework bridge (bottom). (b) The anywidget Python package allows
consuming AFMs to author custom Jupyter Widgets (top), which can be used across
a variety of JCPs (bottom).
\label{fig:afm-and-anywidget}](afm-and-anywidget.png)

While AFM is understood by the browser directly, much of web development today
uses front-end frameworks, such as React or Svelte, which introduce
non-standard syntax and unique paradigms for UI and state management. Rather
than incorporate such frameworks into the AFM specification, the anywidget
project provides several _framework bridges_ to make it easier to author AFMs
using frameworks (\autoreref{fig:afm-and-anywidget} a, bottom). These libraries
using frameworks (\autoref{fig:afm-and-anywidget} a, bottom). These libraries
provide utilities to use idiomatic APIs and constructs to manage widget state
and to wrap those constructs into the AFM lifecycle methods used by host
platforms. For example, anywidget’s React bridge exposes a React-based
Expand All @@ -148,7 +152,7 @@ the AFM specification, meaning that changes cannot break host compatibility.

The main library for the project is `anywidget`, a Python package that
simplifies the authoring and distribution of custom Jupyter Widgets using AFM
(\autoreref{fig:afm-and-anywidget} b, top). Jupyter Widgets [@ipywidgets] are
(\autoref{fig:afm-and-anywidget} b, top). Jupyter Widgets [@ipywidgets] are
the official framework from Jupyter to extend notebooks with interactive views
and controls for objects that reside in the kernel. Since widgets are integral
to Jupyter's architecture, they enjoy broad support across Jupyter-compatible
Expand Down

0 comments on commit 929ce7d

Please sign in to comment.