Salta ai contenuti

Roam Research Cheat Sheet

Overview

Roam Research is a note-taking tool designed for networked thought. Unlike traditional hierarchical note-taking apps, Roam uses bidirectional linking and block-level references to create a web of interconnected ideas. Every page and every bullet point (block) is addressable and linkable, enabling emergent structure rather than requiring upfront organization.

Roam Research stores data in a graph database and features an outliner interface, daily notes as the default entry point, powerful queries using Datalog, support for LaTeX, code blocks, diagrams, and a plugin/extension ecosystem via roam/js.

Getting Started

Roam opens to today’s Daily Notes page by default. This is the primary entry point for capturing thoughts and tasks throughout the day.

Core Syntax

Page References

SyntaxDescription
[[Page Name]]Link to a page
#tagEquivalent to [[tag]]
#[[multi word tag]]Multi-word tag reference
[alias]([[Page Name]])Display alias text for a link

Block References

SyntaxDescription
((block-uid))Reference a specific block
Ctrl+Shift+9Copy block reference
{{embed: ((block-uid))}}Embed a block (live copy)
{{embed: [[Page Name]]}}Embed an entire page

Keyboard Shortcuts

ShortcutAction
Ctrl+USearch / navigate to page
Ctrl+Shift+DGo to Daily Notes
Ctrl+Shift+9Copy block reference
Ctrl+EnterToggle TODO / DONE
TabIndent block
Shift+TabUnindent block
Alt+UpMove block up
Alt+DownMove block down
Ctrl+BBold
Ctrl+IItalic
Ctrl+HHighlight
Ctrl+YStrikethrough
Ctrl+\Toggle sidebar
Shift+ClickOpen page in sidebar
/Slash command menu

Formatting

Text Formatting

SyntaxResult
**bold**Bold text
__italic__Italic text
^^highlight^^Highlighted text
~~strikethrough~~Strikethrough text
`inline code`Inline code
$$LaTeX$$Rendered LaTeX math

Block Types (Slash Commands)

CommandBlock Type
/todoCheckbox (TODO/DONE)
/heading 1-3Headings
/code blockCode with syntax highlighting
/latexLaTeX math block
/tableCreate a table
/embedEmbed URL or block
/date pickerDate picker widget
/kanbanKanban board
/pomodoroPomodoro timer
/diagramMermaid diagram

Queries

Basic Queries

{{[[query]]: {and: [[topic1]] [[topic2]]}}}
{{[[query]]: {or: [[topic1]] [[topic2]]}}}
{{[[query]]: {not: [[excluded]]}}}
{{[[query]]: {and: [[project]] {not: [[completed]]}}}}
{{[[query]]: {between: [[January 1st, 2025]] [[January 31st, 2025]]}}}

Query Operators

OperatorDescription
{and:}All conditions must match
{or:}Any condition matches
{not:}Exclude matches
{between:}Date range filter

Advanced Queries (Datalog)

{{query:
  {:find [?block]
   :where
   [?block :block/refs ?page]
   [?page :node/title "Project Alpha"]
   [?block :block/refs ?tag]
   [?tag :node/title "TODO"]}}}

Templates

Creating Templates

- {{[[roam/templates]]}} Meeting Notes
  - **Date:**
  - **Attendees:**
  - **Agenda:**
    -
  - **Action Items:**
    - {{[[TODO]]}}
  - **Notes:**
    -

Using Templates

Type ;; to trigger template search, select the name, and content is inserted.

Attributes and Metadata

- [[Book]]: The Design of Everyday Things
  - Author:: [[Don Norman]]
  - Rating:: 5/5
  - Status:: #reading
  - Date Started:: [[January 10th, 2025]]

Advanced Usage

Kanban Board

- {{[[kanban]]}}
  - To Do
    - Task 1
    - Task 2
  - In Progress
    - Task 3
  - Done
    - Task 4

Tables

- {{[[table]]}}
  - Name
    - Alice
    - Bob
  - Role
    - Engineer
    - Designer

Custom CSS (roam/css page)

.roam-body .roam-app {
  font-family: 'Inter', sans-serif;
}

.rm-reference-item {
  border-left: 3px solid #137cbd;
  padding-left: 10px;
}

roam/js (Custom Scripts)

Create a page called roam/js and add code blocks with JavaScript to extend functionality.

Graph Visualization

FeatureDescription
Graph OverviewFull graph of all pages and links
Page GraphConnections for a specific page
FilterShow/hide pages by tag
Node sizeProportional to number of references

Troubleshooting

IssueSolution
Slow performanceReduce graph size; archive old daily notes
Sync conflictsOnly use one device at a time; wait for sync
Query returning nothingCheck page name spelling (case-sensitive)
Block ref showing UIDReferenced block may have been deleted
CSS not applyingEnsure code block is on roam/css page
roam/js not runningEnable developer mode in settings
Export incompleteUse JSON export for full graph data
Graph view crashesReduce visible nodes; filter to specific pages