Notebooks (Private Beta)

Save interactive playbooks to simplify onboarding and development.
Notebooks are in a private beta. If you'd like early access, please email [email protected] about your use case.

What is a Notebook?

Notebooks are runnable documentation consisting of markdown text and list elements, code blocks, and runnable shell snippets that can be automatically executed in your terminal session. Notebooks are searchable and accessible through the Command Palette so you can access and run your documentation without ever leaving the terminal.

How to save and edit notebooks

You can create a new notebook from various entry points in Warp
macOS
Linux
  • From Warp Drive, + > New notebook
  • From the Command Palette, create a new team or personal notebook.
  • With a keyboard shortcut, SHIFT-CMD-J
  • From Warp Drive, + > New notebook
  • From the Command Palette, create a new team or personal notebook.
  • With a keyboard shortcut, SHIFT-CTRL-J
Any of these entry points will open the notebook editor where you can:
  • Title your notebook.
  • Start adding text and code elements.
Note: The notebook will not be saved until either title or body text is added.
Empty Notebook before saving

Import existing documentation

Existing markdown .md documentation can also be directly imported into Warp Drive. To import your markdown file(s):
  • From Warp Drive, + > Import > then follow the file selection dialog.
Notebook import modal
\

Working with Notebooks

Adding new elements

Notebook elements (text, code, list items) can be added in several ways:
  • Using the appropriate markdown shortcut (e.g. ### for Heading 3).
  • Typing /, which will open up a selection menu of supported elements.
  • Pressing the + icon which appears when hovering over a line and selecting from the menu of supported elements.
Markdown element types

Styling existing elements

Existing notebook elements can be styled in several ways:
  • Selecting an existing element and selecting text decorations (like bold, italics, or inline code) from the hover menu.
  • Using markdown syntax for text stylings like **bold** or *italic*.
  • Selecting an existing element and changing the overall type of the element via the dropdown element menu.
Styling menu

Using Command and Code Blocks

Command and code blocks have several unique properties such as syntax highlighting and quick actions that make working with code-based documentation simple. You can create a code or command block by either:
  • Selecting Command or Code from the new element menu
  • Typing ``` (triple backticks)
Once you’ve inserted your code block you can select the language at the bottom of the block from numerous options which will apply the appropriate syntax highlighting if available (or default to Code if your language is not found). All code and command blocks will apply syntax highlighting and provide a quick copy button for easy access.
Example code block

Special Properties of Command Blocks

If you insert a Command block or specify the language as “Shell”, Warp provides extra functionality to simplify terminal work.

Executing Command Blocks

Developers can execute shell command blocks by:
macOS
Linux
  • Using the insert button at the bottom of the block
  • Pressing CMD-ENTER while the block is selected (a blue highlight will appear)
  • Using the insert button at the bottom of the block
  • Pressing CTRL-ENTER while the block is selected (a blue highlight will appear)
The command text will be inserted into the developer’s active terminal session, or a new session if none are active.
Run option for command block

Adding arguments to Command Blocks

Command blocks accept parameters in the same format as workflows. To add an argument to your command block, use {{double_curly_brackets}} to specify your argument term.
Command block with parameters
Command Blocks also support keyboard navigation. There are two ways to enter the keyboard navigation mode:
macOS
Linux
  • Clicking on a shell block.
  • Pressing CMD-UP or CMD-DOWN.
Once a command block is selected, press CMD-ENTER to insert it into the terminal input. You can also use UP, DOWN, CMD-UP, and CMD-DOWN to navigate between command blocks. While the Notebook is focused, press CMD-L to switch focus back to the terminal without inserting a command.
  • Clicking on a shell block.
  • Pressing CTRL-UP or CTRL-DOWN.
Once a command block is selected, press CTRL-ENTER to insert it into the terminal input. You can also use UP, DOWN, CTRL-UP, and CTRL-DOWN to navigate between command blocks. While the Notebook is focused, press CTRL-L to switch focus back to the terminal without inserting a command.

Adding existing workflows to Notebooks

If you have existing Workflows that you’d like to insert into your notebook rather than duplicating their content, you can select Embedded Workflow from the new element menu and select from the available workflows. Once embedded in a notebook, the workflow will be executable like a regular command block. To edit the content of the embedded workflow, you will need to edit the source workflow which can be found by searching for the title in the Command Palette.
Embedding an existing workflow in a notebook.

Working with Notebooks in a team

If the notebook is shared with a team, all team members will have access to edit the notebook and updates will sync immediately for all members of the team.
Note that only one editor is allowed at a given time. Opening the notebook while there is an active editor will open the notebook in Viewing mode. Your mode (view vs edit) can be toggled above the notebook’s title.
View mode example
\