Guidelines
This section is still being populated with content.
Use Shortcuts
Shortcuts drastically improve user experience.
UI Operations
- New notebook:
Cmd+N
,Ctrl+N
- Open file:
Cmd+O
,Ctrl+O
- Save:
Cmd+S
,Ctrl+S
- Open command palette:
Cmd+P
,Ctrl+P
- Hide/Unhide current cell:
Cmd+2
,Alt+2
- Clear outputs:
Cmd+U
,Alt+U
- Search inside cell:
Cmd+F
,Ctrl+F
- Overlay window (Desktop App only):
Shift+Alt+Space
Evaluation
- Evaluate:
Shift+Enter
- Abort:
Cmd+.
,Alt+.
- Evaluate initialization cells:
Cmd+I
,Alt+I
Cells
Ctrl+/
: Make fraction from selectionCtrl+6
: Make superscript from selectionCtrl+2
: Make square root from selectionCtrl+-
: Make subscript from selectionCmd+/
orAlt+/
: Comment a line
See more keybindings in the Input cell section.
Keep Folders Organized
Various functions may produce Iconize objects, used for storing large data chunks, which are saved in the ./.iconized/
folder within the notebook directory. Any dropped images or files are uploaded to the ./attachments/
directory. It's important to maintain a clean folder structure to keep projects organized.
Use NotebookStore
for Portability
To export your notebook as a single editable .html
using Static HTML, use NotebookStore for storing raw data. This ensures all images, graphs, and stored data are preserved.
Install Everything Locally
We recommend storing all Wolfram Language libraries and paclets locally for each project. This ensures reliability, reproducibility, and independence from remote resources.
PacletRepositories[{
Github -> "https://github.com/KirillBelovTest/GPTLink"
}]
<<KirillBelov`GPTLink`
This creates a folder with all the required paclets and keeps them up to date if needed.
Do Not Use Dynamic
We use a completely different architecture to handle interactivity and graphic updates compared to Wolfram Mathematica.
While Manipulate is implemented, frequent use is discouraged due to its impact on system performance.
Dynamic
Buttons and sliders are event-driven. You must subscribe to them using EventHandler
. All updates are handled via the Offload mechanism. Example:
length = 1.0;
EventHandler[InputRange[-1, 1, 0.1], Function[l, length = l]]
Graphics[Rectangle[{-1, -1}, {length // Offload, 1}]]
Manipulate
For basic 2D plots, you can use the built-in ManipulatePlot or general-purpose Manipulate function.
For more complex and fast dynamics, you’ll need to build your own using Offload along with simple graphic primitives like Line, Polygon, and others as building blocks.