Table of Contents
- Overview of SmartBlocks
- Using Predefined Workflows
- Make Your Own Workflows
- Understanding Commands
- Command Reference by Category
- Command Processing Order
- Alternative Methods
- Developer Docs
SmartBlocks makes it easy to reuse text in a dynamic way in Roam. It can be compared to other snippet/template insertion tools like TextExpander and Alfred. However, SmartBlocks completely lives in your Roam graph and can smartly interact with your graph. All SmartBlocks workflows are defined in the graph and are performed in your graph. SmartBlocks are made of the following key components:
- Workflows: These are the definitions of what the SmartBlock will do, it serves as a template for the SmartBlocks actions.
- Commands: A block that is output can include a command that makes your block do amazing and dynamic things.
- Trigger: is the keystrokes you type so that the workflow is run.
Activating SmartBlocks Workflow
To initiate a SmartBlocks workflow, type jj (two j's) -- this can be customized.
A list will popup with available SmartBlocks Actions
Keep typing the name of the workflow to filter the list, or use the up and down arrow to navigate
Press enter or click on the workflow you want to run
Getting started video series by R.J Nestor
- Templates and SmartBlocks in Roam Research - R.J Nestor
- What Are SmartBlocks?
- Creating a Simple SmartBlocks Workflow
- Basic Commands, plus CURSOR & FOCUSONBLOCK
- Basic Date Commands
Other Useful videos
- Getting Started with SmartBlocks with @BrandonToner and @ RobertHaisfield
- Practical Roam Research: A Morning Workflow with SmartBlocks - YouTube
Useful examples of SmartBlocks from the community can be found at: GitHub/roamhacker/SmartBlocks/Issues. Also, if you build something interesting, please consider contributing via this repository.
Additionally, there is an active community at roamresearch.slack.com channel #roam42 discussing and building SmartBlocks. Stop by if you need help or want to share your ideas.
SmartBlocks includes a number of predefined workflows and a way for you to create your own workflows. Examples of predefined workflows:
- Date insertions (Examples: Monday, Last Monday, Next Monday)
- Time insertion
- Horizontal Line
- Inserting a random block (Serendipity)
- and more to come