# Roam Research Help & User Documentation — full export > Complete markdown export of Roam Research's official help graph > (https://roamresearch.com/#/app/help): the product's user documentation. > Exported 2026-07-03T16:36:48.284Z. Notation: [[Page]] = Roam Research page link, ((uid)) refs are resolved inline. > Developer/API documentation is exported separately: https://roamdocs.fyi/llms-full.txt ## Table of contents - Welcome to Roam - Change Log - FAQ - White Paper - Privacy Policy - Terms and Conditions - Commentarii Roamani - roam/templates - Diagram - Roam-specific :q additions - Themes - What You Can't Say - Block References - Formatting - Navigation - Beating the Averages - Kanban - Coaching - JSON Schema - Examples of :q query blocks - Apple Shortcuts/Speak to Roam - Block Context Menu - Features - Pipedream Workflows - TODO/DONE - Blocks - Graphs and Settings - Search - Why you can't say - Callouts - Zapier Integration - Encrypted Graphs - Mermaid Diagrams - Right Sidebar - / Commands - Security - Query - Courses - Updating Roam - Create API Tokens - Articles - Developer Documentation - Tag Styles - Task Management - roam/render - Filter - Welcome to Roam v2 - Pages - Zettelkasten - All Pages - Graph Overview - Pomodoro timer - Hosted Graph - Daily Notes - Community - Extensions - Beginner's Guide - Precise Links - Templates - Audio Player - Roam Help - roam/css - Notable Graphs - Miscellaneous - Calculator - Personal CRM - News and Press - Table - Project Management - Video Embed - Upload Files - Workflows - Install Roam - Longform writing - Mentions - Images - Journaling - Research - Export - Long Videos - Date picker - Attributes - Bidirectional linking - Studying - Meeting notes - Code Block - Page References - Scripture Study - Sharing - Word count - Cancelling your membership during your free trial - Spanish - Console Logs - Block Search - Roam Depot - Character count - Why Roam? - Chinese - Current time - Adding soft line breaks in a block - Import - Version Control - Kids - Left Sidebar - Wiki - Today - Slider - Russian - Numbered List Extension - Encrypted Block - Tomorrow - Tags - Alexander Rink - Korean - Latex - Key Commands - Roam Slack - Linked References - Release notes (daily-note updates) --- # Welcome to Roam - Getting started ℹ️ (hint... shift-click the links in blue below 😉) #.box - [Show me some video tutorials on where to begin]([[Beginner's Guide]]) - **[How to link your notes]([[Bidirectional linking]])** - **[How to format your text]([[Formatting]])** - **[How to work with several notes at a time with the right sidebar]([[Right Sidebar]])** - Type `/` into a block to check out features available in the [[/ Commands]] menu - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2Fvg4SUhgwIf.gif?alt=media&token=f4f682cb-e612-447a-83c1-9f4934818eaa) - > Here are some amazing free courses from our [community]([[Community]]) - [[Workflows]] - Roam is a tool geared for [[Writing]], [[Research]], and [[Studying]] - It can also be used for [task]([[Task Management]]) and [project management]([[Project Management]]) or even as a [[Personal CRM]] - Roam is highly flexible and our community discovers new [[Workflows]] it can support every day - Still have questions? - Check out [this page]([[Features]]) to see an overview of all the **features** available in Roam - You should also join our [Slack](https://join.slack.com/t/roamresearch/shared_invite/zt-xy0pd90x-c0KDkgh1BeLKyi0iUlJ1CA), where our amazing community shares resources, workflows, tips, tricks, and more - If you want to learn more about why Roam is __different__, see [[Why Roam?]] - And if you really want to geek out, you should read our [[White Paper]] --- # Change Log ### [Updating Roam]([[Updating Roam]]) ### **New Changes** - [[July 2nd, 2026]] - [[Quality of Life Improvements]] - Added copy blocks and delete blocks to the single block multi select menu - Added saving code block folds - [[Bug Fixes]] - Fixed export page to respect filters - Fixed copy to respect filters - [[June 30th, 2026]] - [[Roam Depot Extensions]] - **Roam Alias Finder** - Find the places you __meant__ to link but never did. Alias Finder scans your graph for plain‑text mentions of a page's existing aliases and lets you turn each one into a proper link with a single click. No alias list to maintain, no setup. - ![Alias Finder grouping unlinked alias mentions below a page's references, each with a one-click Link button](https://raw.githubusercontent.com/wireframe/roam-alias-finder/main/screenshots/screenshot.png)[🔗](https://raw.githubusercontent.com/wireframe/roam-alias-finder/main/screenshots/screenshot.png) - **Why** - Roam aliases let you write `[slip-box]([[Zettelkasten]])` so natural prose still links to the right page. But once you've used an alias a few times, older notes are full of the same words sitting as plain text, invisible to backlinks. Finding and fixing them by hand is tedious. - Alias Finder learns the aliases you already use for a page and surfaces every unlinked mention across the graph, so you can wire them up in seconds. - **What it does** - A Find unlinked aliases button appears at the bottom of every real page, right below Roam's Unlinked References section. It only shows on real pages — never on daily notes. - Click it and Alias Finder: - Reads the page's existing aliases — every `[text]([[ThisPage]])` already in your graph — and uses that text as the search terms. Nothing to configure. - Scans the whole graph for unlinked, plain‑text occurrences of those terms. - Groups the results by alias under collapsible, alphabetically‑sorted headers with a match count, and highlights the matched text in each block. - Lets you link any match with one click — it wraps the text as `[text]([[ThisPage]])`, preserving your original casing, and removes the row. - **Match rules** - Matching is deliberately careful, because it writes to your graph: - Whole words only — `OKRS` never matches inside `weorks`. - Case‑insensitive — `Zettel` and `zettel` both match the alias `zettel`; your original casing is kept when linking. - Skips text that's already linked — occurrences inside `[[page links]]`, `((block refs))`, `#tags`, and existing `[alias]([[page]])` links are ignored. - Skips URLs — matches inside `http(s)://…` and `www.…` are ignored. - Skips noise — single‑character aliases (`*`) and footnote‑style numbers (`1`, `2`, …) are never used as search terms. - [[June 13th, 2026]] - [[Roam Depot Extensions]] - **🎧 Audio Feedback — Roam Research Extension** - Adds subtle, synthesized audio cues to your Roam workflow. Every block action — checking a TODO, collapsing a branch, navigating to a new page — gets a sound that confirms the action without interrupting your flow. - > 🚀 Zero Dependencies: Built entirely on the native browser Web Audio API. No external libraries, no bloated bundles. Sounds are generated mathematically on the fly. - **Demo** - **Themes** - Select your theme in Settings → Extensions → Audio Feedback → Sound Theme. - {{[[table]]}} - Theme - Character - 🌿 Zen - Soft sine tones that dissolve as quickly as they appear. Designed to confirm without interrupting. - 👾 Retro - Square-wave pulses with Game Boy-era frequencies. Every action lands with a satisfying, deliberate click. - 💫 Halo - Layered FM bells with a floating upper harmonic. - 🎛 Custom - Your sounds, your rules. Upload any audio file to your Roam graph and paste the Firebase URL to replace any event sound. - **Events** - {{[[table]]}} - Event - Trigger - TODO Done - Checking a TODO checkbox → DONE - Collapse - Collapsing a block that has children - Expand - Expanding a block that has children - Indent - Indenting a block (Tab) - Outdent - Outdenting a block (Shift+Tab) - Navigate - Zooming into a block or changing page - Sidebar Open - Opening a new item in the right sidebar - **Settings Reference** - {{[[table]]}} - Setting - Description - Default - Enable Audio Feedback - Master on/off switch - On - Master Volume - 0.0 to 1.0 - 0.4 - Sound Theme - Zen · Retro · Halo · Custom - Zen - TODO Sounds - Toggle checkbox event sounds - On - Navigation Sounds - Toggle zoom and sidebar sounds - On - Hierarchy Sounds - Toggle collapse, expand, indent, outdent sounds - On - **Command Palette** - Three commands are available via `Cmd+P` (or `Ctrl+P`): - Audio Feedback: Toggle On/Off — master switch without opening settings - Audio Feedback: Volume Up — increases master volume by 0.1 - Audio Feedback: Volume Down — decreases master volume by 0.1 - Audio Feedback: Next Theme — cycles Zen → Retro → Halo → Zen (Custom is excluded from cycling; select it manually in settings) - **Custom Sounds** - Custom theme lets you replace any event sound with your own audio file. - **How to upload a sound to your Roam graph** - Open any page in Roam - Type `/Upload file` and select your `.wav` or `.mp3` - Once uploaded, right-click the file attachment → Copy link - The URL will look like: `https://firebasestorage.googleapis.com/...` - Paste that full URL into the corresponding field in Settings → Audio Feedback → CUSTOM SOUND URLs - Switch theme to Custom - **Notes on Custom playback** - First play has a brief load delay — the extension fetches and decodes the audio file on first use. Every subsequent play of the same URL is instantaneous (the buffer is cached for the session). - Blank URL = silence — if a URL field is empty, that event produces no sound. This is intentional. You can mix custom sounds for some events and silence for others. - URL must include the `?alt=media&token=...` suffix — without it, Firebase returns a redirect rather than the raw audio file and playback will fail silently. - Test URL (courtesy of Adam Krivka): `https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2FMyelin%2F-J1q4HZsEl.wav?alt=media&token=34ab3de0-1b43-4361-8c7e-141c1925011b` - **Physics Bridge** - All three synthesized themes (Zen, Retro, Halo) are aware of your block's position in the hierarchy. Sounds shift subtly based on: - Depth — how many levels deep the block is nested. Deeper blocks produce slightly higher pitched, shorter sounds. - Mass — how many children the block has. Heavier blocks produce slightly lower pitched, longer sounds. - This means the same action sounds meaningfully different depending on where it occurs in your outline — without ever being distracting. - [[June 11th, 2026]] - [[Bug Fixes]] - Fixed a bug where desktop links for offline and hosted graphs with the same name would not open a new window if the other was open, as in `roam://#/app/graph` and `roam://#/offline/graph` - Added a new section to our privacy policy to be in compliance for our soon to be released remote MCP - [[June 10th, 2026]] - [[Bug Fixes]] - Fixed search result highlighting to prioritize matching full phrases and to handle accented characters - [[June 9th, 2026]] - [[Bug Fixes]] - Fixed large pastes and deletes causing thousands of unsynced changes - Pasting tons attributes can still cause this but that will be fixed soon as well - [[June 2nd, 2026]] - [[Roam Depot Extensions]] - **Oura Ring to Roam** - Roam Depot extension that syncs Oura Ring data into a Roam graph as editable, queryable blocks with compact visual summaries. - **What It Does** - Syncs Sleep, Readiness, Activity, Vitals, My Health, Workouts, and Tags from the Oura API. - Stores canonical history under a configurable `[[Oura Ring]]` page, one Roam day root per Oura day. - Adds existing Daily Notes embeds for each day's `Daily summary` block without creating missing Daily Notes. - Renders disposable visual components over Roam source blocks: daily sleep-first cards, hypnograms, contributor bars, HR/HRV trends, activity load, temperature, oxygen, stress, and weekly review. - Keeps headline metrics queryable as Roam attributes such as `Sleep Score::`, `In bed at::`, `Out of bed at::`, `Readiness Score::`, `Activity Score::`, `HRV::`, `Resting HR::`, and `Steps::`. - **Setup** - Generate an Oura Personal Access Token at https://cloud.ouraring.com/personal-access-tokens. - In Roam, open Roam Depot -> Extension Settings -> Oura Ring. - Paste the token and choose your sync/backfill settings. - Run Oura: Sync now from the command palette. - The token is stored in Roam's extension settings for this graph. It is sent only to Oura through Roam's native CORS proxy when syncing. - **Commands** - Oura: Sync now fetches the configured window and reconciles the Oura page. - Oura: Open Oura page opens the canonical store page. - Slash commands: `/oura today`, `/oura yesterday`, `/oura sleep`, and `/oura callout`. - [[June 1st, 2026]] - [[Bug Fixes]] #PDF - Fixed merging PDF pages into other non PDF pages - Fixed displaying annotations on rotated PDFs - Fixed double clicking to select a word, or triple clicking to select an entire line for most PDFs, although some may still have trouble - [[May 28th, 2026]] - Add back the nav bar find or create, with some of the UI improvements from the modal redesign - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FxCeKIxA4sd.png?alt=media&token=e1fa5076-a8c9-440a-9bff-717bb080b783) - The modal can still be triggered via the button to open advanced search on the right, or `ctrl-o` to open the preview - Or you can set a custom hotkey for "Open advanced search" and override the default cmd-u which focuses the navbar search. - [[May 21st, 2026]] - [[Quality of Life Improvements]] - Redesigned the find or create [[Search]] (`cmd/ctrl-u`) - Page results now show reference counts - Block results now include paths, improved truncation, and clearer match highlighting - Added a preview window that can be toggled with `ctrl-o` - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FcDSpdGkLLo.gif?alt=media&token=a86d177f-341c-4f81-8dfb-cd43e3cd979c) - [[May 15th, 2026]] - [[Quality of Life Improvements]] - Inline page search `[[]]` now sorts the exact match to the top - Makes a difference when you have two pages with the same case - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FNYA0VeVtyF.png?alt=media&token=27f0fb60-99cd-4898-a625-4fababcf2b7f) - Inline block search `(())` can now search for UIDs if it's an exact match `((yPgg9DUbF))` - [[Bug Fixes]] - Fix paste from chatGPT adding extra newlines in bulleted lists - [[May 5th, 2026]] - [[Quality of Life Improvements]] - Added a sort option for `{{table}}` - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FYS5YpnZLN1.png?alt=media&token=e573ac8b-1b54-4a39-9f2f-1f9bd4469d60) - Improved drag-and-drop behavior: when dragging an item near the edge of a scrollable container, Roam now automatically scrolls the container so you can continue moving the item without interruption. - [[Roam Depot Extensions]] - **History of Today** - A lightweight Roam Research extension that adds "On this day" buttons at the bottom of the calendar popover. Click a year button to instantly jump to that year's daily notes page. - ![Screenshot of the extension in action](https://raw.githubusercontent.com/laixintao/roam-research-history-of-today/main/pics/history-of-today.png)[🔗](https://raw.githubusercontent.com/laixintao/roam-research-history-of-today/main/pics/history-of-today.png) - **Features** - Shows up to 5 previous years at the bottom of the calendar - Only displays years that already have a daily notes page — no clutter from empty years - Buttons show the 2-digit year (e.g. `'25`, `'24`) with a full date tooltip on hover - Automatically re-injects when the calendar popover is opened - [[May 4th, 2026]] - [[Roam Depot Extensions]] - **Roam Meta Type** - Typed pages for Roam Research. Add a `Type::` attribute to a page and a chip appears next to the title; click it to open a sidebar panel with the fields you care about for that type. - **Encouraging Structure for Your Second Brain** - Roam's freedom as an outline is the whole point. But the people, projects, books, and articles I keep coming back to all have __some__ structure: an email, a status, a due date, an author. Today that structure is invisible — you have to read the page to learn what kind of thing it is, and scan the outline to find the fields that matter. - `roam-meta-type` keeps the outline. It just makes the structure visible. - **What it does** - Unobtrusive pill-shaped chip page identification based on supported `Type::` attribute. Multi-typed pages (`Type:: #Project #Blog`) get one chip per type. - Click a chip → a panel mounts at the top of Roam's right sidebar with that type's pinned fields, rendered as label/value rows. ![Sidebar panel for a Project](https://github.com/wireframe/roam-meta-type/raw/main/screenshots/panel-project.png)[🔗](https://github.com/wireframe/roam-meta-type/blob/main/screenshots/panel-project.png) - Sidepanel is an integrated inline-editor. Click any row → it flips to inline edit mode using Roam's own block editor (autocomplete, page-refs, formatting — all of it). Click any value to flip the row into Roam's block editor. Empty rows render as `—`. Click and the plugin creates the missing block (e.g. `Status:: `) before flipping into edit mode. ![Inline editing a row](https://github.com/wireframe/roam-meta-type/raw/main/screenshots/inline-edit.png)[🔗](https://github.com/wireframe/roam-meta-type/blob/main/screenshots/inline-edit.png) - Sidepanel reactively refreshes to updates live: edit `Priority::` directly in the page body, the panel updates without a re-render. - Configurable types, fields, and accent colors via the Roam settings panel (no source edits required). - **Configuring types** - The extension ships with no default types. Open Settings → Meta Type to add your first one. - The settings tab shows a vertical stack of cards, one per configured type. Each card has: - Name — the type name. Must match the page-ref in `Type::` blocks (e.g., `Project`). - Hue and Saturation — HSL components for the chip's accent color (hue 0–360, saturation 0–100; lightness is computed). A small swatch preview updates as you type. - Fields — comma-separated list of field names (e.g., `Status, Priority, Due, Topics`). Each becomes a row in the sidebar panel. - A trash button on the right to remove the card. - Below the cards are Add type (appends a blank card) and Save. Click Save to persist; the extension closes any open panels and re-renders chips with the new config. - Two settings are not exposed in the UI and remain at their defaults: - `typePrefix` — the block prefix used to detect typed pages (default `Type::`). - `flashColor` — the RGB highlight color for the click-flash animation (default `{ r: 16, g: 107, b: 163 }`). - These are stored in the same JSON value as the types and preserved on every save. Power users who need to change them can edit the underlying setting key directly via Roam's developer tools (key: `types-config` under this extension's settings). - If the stored JSON is missing or malformed (e.g., from a manual edit gone wrong), the extension falls back to the empty defaults and logs a warning to the browser console. - **How a page gets typed** - Add a `Type::` attribute as a top-level block on the page, with one or more `#TypeName` references: - ```plain text - Type:: #Project - Status:: Doing - Priority:: P1 - Due:: [[April 30th, 2026]] - Topics:: [[Roam]] [[Productivity]]``` - The plugin reads `Type::`, looks each reference up in the configured types, and renders one chip per known type. Unknown types are silently skipped — no chip, no error. - [[May 1st, 2026]] - New version of the **Roam [[Raycast]] extension** is out! -  {{[[video]]: https://www.loom.com/share/998c8bce7ebd4827b3c9e8aec1278621}} - Do watch the video to understand, but main improvements: - Better Quick Capture - you can have templates for capture now and also have a very quick way of capture that I’m calling “instant capture” - Uses the Append API so you can have “capture groups” inside of pages and can also capture to encrypted graphs - Better UI IMO where you enter the capture text first and only then select where you want to send it - Windows support (raycast now supports windows) - Better text and error messages across the extension - Since this version is the first one that adds windows support, would particularly appreciate if Windows users put it through the paces and let us know of any bugs or issues - [[April 27th, 2026]] - [[Roam Depot Extensions]] - **Roam Toolkit Vim Mode** - Standalone Vim-like navigation and editing for Roam Research, extracted from the original Roam Toolkit browser extension. - ![Roam Toolkit Vim Mode demo](https://raw.githubusercontent.com/Stvad/roam-vim-navigation/master/media/vim_demo.gif)[🔗](https://raw.githubusercontent.com/Stvad/roam-vim-navigation/master/media/vim_demo.gif) - This README summarizes the current functionality, but the authoritative up-to-date shortcut list is in Roam under `Settings -> Extensions -> Roam Toolkit Vim Mode`, where every binding is editable. - **Current Functionality** - Normal, insert, and visual-mode style workflows for Roam blocks - Vim-like navigation within the current panel and across sidebars - Selection, clipboard, block movement, history, hinting, and Roam-specific editing helpers - Normal-mode `Tab` / `Shift+Tab` shortcuts for Roam-style indenting and outdenting - **Default Keybindings** - Default layout preset is `qwerty`. The Roam settings panel remains the authoritative live list, because every shortcut can be remapped there. - If you switch `Keyboard Layout` to `colemak`, these defaults change: - {{[[table]]}} - Action - QWERTY - Colemak - Select Block Up - `k` - `h` - Select Block Down - `j` - `k` - Select Panel Left - `h` - `j` - Move Block Up - `Cmd+Shift+K` - `Cmd+Shift+H` - Move Block Down - `Cmd+Shift+J` - `Cmd+Shift+K` - Increment Date (layout up key) - `Ctrl+Alt+K` - `Ctrl+Alt+H` - Decrement Date (layout down key) - `Ctrl+Alt+J` - `Ctrl+Alt+K` - Increment Date by a week (layout up key) - `Ctrl+Shift+K` - `Ctrl+Shift+H` - Decrement Date by a week (layout down key) - `Ctrl+Shift+J` - `Ctrl+Shift+K` - Page-hint labels also switch to a Colemak-friendly alphabet when that layout preset is selected. - **Navigation and Panels** - {{[[table]]}} - Mode - Keys - Action - Normal + Visual - `k` - Select block up - Normal + Visual - `j` - Select block down - Normal - `Shift+H` - Select first visible block - Normal - `Shift+L` - Select last visible block - Normal - `g g` - Select first block - Normal - `Shift+G` - Select last block - Normal - `Ctrl+U` - Jump up by several blocks - Normal - `Ctrl+D` - Jump down by several blocks - Normal + Visual - `Ctrl+Y` - Scroll up while keeping selection visible - Normal + Visual - `Ctrl+E` - Scroll down while keeping selection visible - Normal + Insert - `Alt+Z` - Expand last reference breadcrumb - Normal - `Shift+Z` - Collapse the current page view inside references or query results - Normal - `1` - Open parent page - Normal - `Shift+1` - Open parent page in sidebar - Normal - `2` - Open mentions - Normal - `Shift+2` - Open mentions in sidebar - Normal - `z` - Toggle fold block - Normal - `Ctrl+Shift+Z` - Collapse into parent block - Normal - `h` - Select panel left - Normal - `l` - Select panel right - All - `Ctrl+W` - Close current sidebar page - **Editing, Selection, and Clipboard** - {{[[table]]}} - Mode - Keys - Action - All - `Escape` - Return to normal mode - Normal - `i` - Edit selected block at start of line - Normal - `a` - Edit selected block at end of line - Normal - `Shift+A` - Edit selected block at end of line - Normal - `Shift+O` - Insert block before current block - Normal - `o` - Insert block after current block - Normal - `Tab` - Indent current block under the previous sibling - Normal - `Shift+Tab` - Outdent current block to the parent level - Normal - `v` - Enter visual mode - Normal + Visual - `Shift+K` - Grow selection upward - Normal + Visual - `Shift+J` - Grow selection downward - Normal - `p` - Paste below current block - Normal - `Shift+P` - Paste before current block - Normal + Visual - `y` - Copy selected block or selection - Normal + Visual - `Alt+Y` - Copy block reference - Normal + Visual - `Shift+Y` - Copy block embed - Normal + Visual - `d` - Enter visual mode, or cut current visual selection - Normal + Insert - `Cmd+Shift+K` - Move current block up - Normal + Insert - `Cmd+Shift+J` - Move current block down - Normal - `u` - Undo - Normal - `Ctrl+R` - Redo - **Hints** - {{[[table]]}} - Mode - Keys - Action - Normal - `q`, `w`, `e`, `r`, `t`, `f`, `b` - Click inline hint targets `0` through `6` inside the selected block - Normal - `Shift+q`, `Shift+w`, `Shift+e`, `Shift+r`, `Shift+t`, `Shift+f`, `Shift+b` - Shift-click inline hint targets `0` through `6` - Normal - `Ctrl+Shift+q`, `Ctrl+Shift+w`, `Ctrl+Shift+e`, `Ctrl+Shift+r`, `Ctrl+Shift+t`, `Ctrl+Shift+f`, `Ctrl+Shift+b` - Modifier-click inline hint targets `0` through `6` - Normal - `s` - Start page-wide hint mode for visible blocks only - Normal - `Shift+S` - Start page-wide hint mode for visible blocks and links - Normal - `g l` - Start page-wide hint mode for visible links only - Normal - `Shift+I` - Start page-wide hint mode for visible blocks and enter insert mode - **Roam-Specific Helpers** - {{[[table]]}} - Mode - Keys - Action - Normal - `Cmd+Enter` - Toggle `TODO` / `DONE` - Normal - `Ctrl+Shift+1` - Reschedule current SRS note as `AGAIN` - Normal - `Ctrl+Shift+2` - Reschedule current SRS note as `HARD` - Normal - `Ctrl+Shift+3` - Reschedule current SRS note as `GOOD` - Normal - `Ctrl+Shift+4` - Reschedule current SRS note as `EASY` - Normal - `Ctrl+Alt+Up` - Increment the only date reference in the block by one day - Normal - `Ctrl+Alt+Down` - Decrement the only date reference in the block by one day - Normal - `Ctrl+Alt+K` - Increment the only date reference in the block by one day using the layout up key - Normal - `Ctrl+Alt+J` - Decrement the only date reference in the block by one day using the layout down key - Normal - `Ctrl+Shift+Up` - Increment the only date reference in the block by one week - Normal - `Ctrl+Shift+Down` - Decrement the only date reference in the block by one week - Normal - `Ctrl+Shift+K` - Increment the only date reference in the block by one week using the layout up key - Normal - `Ctrl+Shift+J` - Decrement the only date reference in the block by one week using the layout down key - **Settings Model** - `Keyboard Layout` switches layout-sensitive defaults between `qwerty` and `colemak` - layout-sensitive bindings update from that preset, and page-hint labels follow the selected alphabet - if the browser exposes keyboard layout change events, the plugin re-registers hotkeys automatically when the system layout changes - shortcuts are grouped by mode in the Roam settings panel, and each binding can be customized there - `Reset Shortcuts` restores the default keymap for the selected layout - **Attribution** - Most of the original Vim functionality in Roam Toolkit was developed by Dave Lu (@tntmarket on GitHub). - [[April 17th, 2026]] - [[mobile]] - Added font size control - Native view now follows settings from the web app for page brackets and namespaces - Fix native view search keyboard not enabling swipe with Gboard - Tables show heading cols/rows and respect column sizing from `/table` Improvements - [[April 15th, 2026]] - [[Quality of Life Improvements]] - `/table` Improvements - [[table]] is now interactive! - You can click into cells, edit content, copy and paste, and move blocks around inside a table. - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FW2QvreU_jY.gif?alt=media&token=165ca591-a825-4762-b95f-65abb8532c12) - [[April 14th, 2026]] - [[Roam Depot Extensions]] - **꩜ Nautilus Enhanced** - [English](https://github.com/hopeserena/nautilus-enhanced/tree/main#english) | [中文](https://github.com/hopeserena/nautilus-enhanced/tree/main#%E4%B8%AD%E6%96%87) - **English** - Nautilus Enhanced is an optimized, high-performance daily planner extension for Roam Research, inspired by the original Nautilus created by Tomas Barys. - **Acknowledgements** - This project is an enhanced fork of the original [roam-depot-nautilus](https://github.com/tombarys/roam-depot-nautilus) repository. A huge thank you to the original author, Tomas Barys, for his brilliant concept of using a spiral timeline to visualize energy and tasks throughout the day! This __Enhanced__ version introduces deep performance optimizations (eliminating memory leaks), fully localized bilingual Settings, Bezier curve typography connectors, and visual UI/UX spacing fixes. - **Quick Start Guide** - One-time Setup: - Install Nautilus Enhanced. - (Optional but Recommended) Install [Todo Trigger](https://github.com/dvargas92495/roamjs-todo-trigger) from Roam Depot to automatically append timestamps to completed tasks. - Configure your preferences (workday start time, colors, lengths) in the Settings panel. - Daily Routine: - Type `;;` and select `Nautilus Enhanced` to insert the spiral component into today's Daily Note. - Indent your tasks and meetings strictly underneath the component block. - Events (Fixed time): Add a time range anywhere in the text (e.g., `12:30-14:00 Lunch`). - Tasks (Flexible): Write your regular to-dos (e.g., `Read a book 30m`). If no time is set, they fall into the default setup. - Watch the red pointer act as your dynamic clock, pushing unfinished, un-timed tasks forward into the future as the day goes on! - **中文 (Chinese)** - Nautilus Enhanced(鹦鹉螺行程图增强版) 是为 Roam Research 专门优化的每日行程与精力可视化插件。 - **致谢与鸣谢** - 本项目基于 Tomas Barys 开发的原生开源项目 [roam-depot-nautilus](https://github.com/tombarys/roam-depot-nautilus) 进行了深度重构与增强。非常感谢原作者卓越的设计理念(使用螺旋形状映射人在一天中不断衰减的精力曲线)。本“增强版”解决了原版的由于计时器导致的严重内存泄露问题,重新设计了具备原生中英双语的设置面板,优化了连接线的贝塞尔曲线动画以及汉字的精准排版,让它真正成为了一个高可用、高颜值的生产力工具。 - **极简使用教程** - 首次配置(只需做一次): - 安装本插件。 - (建议配合使用)在 Roam 商店中安装 [Todo Trigger](https://github.com/dvargas92495/roamjs-todo-trigger) 插件,以实现当你勾选 TODO 为 DONE 时,系统能自动在句尾打上完成时间戳。 - 在插件设置页中,按你的习惯配置“工作开始时间”、“高亮触发词”、“默认时长”等内容。 - 日常使用工作流: - 每天在你的 Daily Note(每日笔记) 页面通过输入 `;;` 唤出模板菜单,选择 `Nautilus Enhanced` 组件。 - 在渲染出的组件下方缩进一级作为子块(Children Block),把你今天想做的事情全部列出来。 - 固定日程:在你记录的事项文字任何一处输入时间段(如:`12:30-14:00 午餐会议`),它就会被固定分配在表盘特定时段上。 - 弹性待办:直接记录没有写绝对时间的待办事项(如:`回复邮件 30m`,默认占据时长在设置里可调)。 - 动态推移:随着现实时间流逝,图表上的红色实时指针会无情地前进;所有没打勾的弹性待办事项,总是会被红针自动“推”到未来的空白时间段中。 - 享受免焦虑时间管理的乐趣吧! - [[April 10th, 2026]] - Add quarter-aware **Custom symbols** for use with `:q` - Examples are `dnp/this-quarter-start`, `ms/this-quarter-start`, `ms/+1Q-start`, `ms/+1Q-end`, `ms/this-quarter-end`, `ms/last-quarter-start` - [Datalog block query](https://roamresearch.com/#/app/developer-documentation/page/CDPYVl-PE) now supports [our custom symbols and rules]([[Roam-specific :q additions]]) too - fix small bugs re blocks selection in linked refs - [[March 31st, 2026]] - [[Quality of Life Improvements]] ✨ for `:q` - Context - `:q` feature has existed since very early Roam, but we revamped it last year - Teaser into the revamped `:q` - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FCDgZUSitGM.gif?alt=media&token=a36140c6-3719-460d-ace1-13d2f06e9aee) - The new stuff: - `current/main-window-*` constants — 5 new symbols to reference the page/block focused in the main window - New constants available for use in :q - `current/main-window-page-title` **NEW ✨** - `current/main-window-page-uid` **NEW ✨** - `current/main-window-page-id` **NEW ✨** - `current/main-window-block-uid` **NEW ✨** - `current/main-window-block-id` **NEW ✨** - Example - One random old reference of the currently open page - I manually clicked on ... then set sorting to be random set rows per column to a 1 - To test it out, open the query below on the sidebar (shift click) and then go to a page with a lot of references like [[video]] - :q "One random old reference to open page" [:find ?uid ?t :where (refs-page current/main-window-page-title ?b) [?b :create/time ?t] [?b :block/uid ?uid] [(< ?t ms/-365D-start)]] - :q "Page UID" [:find ?uid . :where [?page :node/title current/main-window-page-title] [?page :block/uid ?uid]] - Add `in-dnp-between`, `refs-dnp-between`, `in-or-refs-dnp-between` rules to `:q` - Rules we supported before: - Some new useful inbuilt `rules` to ease writing queries - **New rules we added now:** - `(in-dnp-between ?start-dnp ?end-dnp ?b)` **NEW ✨** - `(refs-dnp-between ?start-dnp ?end-dnp ?b)` **NEW ✨** - `(in-or-refs-dnp-between ?start-dnp ?end-dnp ?b)` **NEW ✨** - also adds convenience rules for single DNP variants - `(in-dnp ?dnp ?b)` **NEW ✨** - `(refs-dnp ?dnp ?b)` **NEW ✨** - `(in-or-refs-dnp ?dnp ?b)` **NEW ✨** - you could already do this, this just makes it simpler/more discoverable - The `?start-dnp` `?end-dnp` and `?dnp` params accept dnp page titles or `dnp/*` style symbols (since they resolve to DNP page titles) - Reference for these symbols: - `dnp` - **Usage notes:** These resolve to page title (i.e. `:node/title`) for the relevant daily note page - `dnp/today` - `dnp/yesterday` - `dnp/tomorrow` - `dnp/-1D` - `dnp/+1D` - `dnp/this-week-start` - `dnp/this-week-end` - `dnp/this-month-start` - `dnp/this-quarter-start` - `dnp/this-year-end` - `dnp/=2025-01-01` - resolves to "January 1st, 2025" - Examples of queries our new `in-dnp-between`, `refs-dnp-between`, `in-or-refs-dnp-between` enable [[Examples of :q query blocks]] - (this roam graph does not have much content in daily note pages, so below queries will probably be empty, please copy and test in your own graphs) - DNP blocks this month with create time - `(in-dnp-between dnp/this-month-start dnp/this-month-end ?b)` - :q "DNP blocks this month with create time" [:find ?b ?t :where (in-dnp-between dnp/this-month-start dnp/this-month-end ?b) [?b :create/time ?t]] - TODOs from last week's daily notes or reffing those DNPs - `(in-or-refs-dnp-between dnp/last-week-start dnp/last-week-end ?b)` - :q "TODOs from last week's daily notes or reffing those DNPs" [:find ?b :where (in-or-refs-dnp-between dnp/last-week-start dnp/last-week-end ?b) (refs-page "TODO" ?b)] - Blocks referencing this week, written by particular user "Baibhav Bista" - `(refs-dnp-between dnp/this-week-start dnp/this-week-end ?b)` - :q "Blocks referencing this week, written by Baibhav" [:find ?b :where (refs-dnp-between dnp/this-week-start dnp/this-week-end ?b) (created-by "Baibhav Bista" ?b) [?b :create/time ?t]] - Blocks referencing this week, written by particular user "Baibhav Bista" (also filter out blocks already in those DNPs) - `(refs-dnp-between dnp/this-week-start dnp/this-week-end ?b) (not (in-dnp-between dnp/this-week-start dnp/this-week-end ?b))` - :q "Blocks referencing this week, written by Baibhav" [:find ?b :where (refs-dnp-between dnp/this-week-start dnp/this-week-end ?b) (not (in-dnp-between dnp/this-week-start dnp/this-week-end ?b)) (created-by "Baibhav Bista" ?b) [?b :create/time ?t]] - Expose the custom :q symbols and rules to [roamAlphaAPI.data.q](https://roamresearch.com/#/app/developer-documentation/page/SI3FNt3EQ) - so now extension developers can just use custom symbols like `ms/next-week-start` or rules like `(in-or-refs-dnp-between ?start-dnp ?end-dnp ?b)`, as well as everything else in [[Roam-specific :q additions]] - Change to how  `ms/*` and `dnp/*` symbols are resolved when in daily note pages - Now it works similarly to how `{between: [[today]] [[tomorrow]]}` in `{{query: ....}}` works - that is, when the `:q` query is on a daily note page, `ms/today-start` (for example) resolves to the start of day for the day corresponding to that daily note page. - wheras, for `:q` queries in any other (non-DNP) page, `ms/today-start` corresponds to the actual today - this change is for all the relative ms/* and dnp/* special symbols - When this happens, one can see an info button with details - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FTUAT9AXtNY.png?alt=media&token=b461f6d5-1c81-4beb-baed-3990a1abf410) - In video form: - {{[[video]]: https://www.loom.com/share/f62d4893563143ae84cdae3640af6eb8}} - New and Revamped resources to learn about `:q` - [[Roam-specific :q additions]] - [[Examples of :q query blocks]] - [[March 30th, 2026]] - [[Bug Fixes]] - Fixed export page failing on blocks that only contain a newline - Fixed [[All Pages]] delete page skips user pages instead of failing - [[March 24th, 2026]] - [[Quality of Life Improvements]] - Inline autocomplete [[Search]] - Inline autocomplete now shows a live preview of pages and blocks. - Toggle it with `Ctrl-O` - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2F9NeqRPqlRY.gif?alt=media&token=8f822705-785c-415a-88b1-551a73928a0a) - Search results highlight matching terms and truncate long blocks to keep results scannable - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FbOegvHYIPK.png?alt=media&token=4c144530-be49-4ffc-bc9f-47ccf2b3db3d) - Reference counts are shown next to pages in autocomplete so you can gauge relevance at a glance - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FAr9bHFfZRz.png?alt=media&token=b962b26d-9464-4845-8574-daa2617ecc65) - You can also disable this in user preferences - Added attachment transfer for [[Local Graph]]s - Added attachments view in settings for [[Local Graph]]s - [[Bug Fixes]] - Fix displaying titles like `[[> title]]` in blocks, before this mistakenly displayed a block quote - Fixed the "Click here to update" button sometimes not updating - [[March 11th, 2026]] - [[Quality of Life Improvements]] - Improved [[All Pages]] load time by 50% and now preserves the selected view/sort for the duration of your session. - [[Roam Depot Extensions]] - **[Chief of Staff](https://github.com/mlava/chief-of-staff)** - An AI assistant embedded in Roam Research. Chief of Staff connects your Roam graph to large language models (Anthropic, OpenAI, Google Gemini, or Mistral) and to external tools via [Composio](https://composio.dev/), letting you ask questions, search and manage tasks, and orchestrate actions across your connected apps — all without leaving Roam. - {{[[video]]: https://www.loom.com/share/9aa3c07de0f147af971d2fc54fe65e4a}} - **Object Metadata Autocomplete** - A Roam Research extension that lets you search for real-world objects (books, places, and more) and create structured pages with their metadata. - **Features** - **Book Autocomplete** - Search [OpenLibrary](https://openlibrary.org/) for books and create rich pages with metadata: - Cover image, author(s), publish year, rating, page count, subjects - Author pages are auto-created with `isa::[[person]] [[author]]` - Book link is copied to clipboard and the page opens in the sidebar - **Google Maps Autocomplete** - Search Google Places for locations and create pages with: - Address, coordinates, Google Maps URL, website, vicinity - Location type tags (e.g. `[[restaurant]]`, `[[park]]`) - **Usage** - Open the Roam command palette (`Cmd+P`) and run: - Book autocomplete — search and insert books - Google maps autocomplete — search and insert locations - [[March 9th, 2026]] - [[Quality of Life Improvements]] - Moved all export / import options into a central location in settings - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FD-7v-qinZG.png?alt=media&token=451faf58-1e18-49f4-9b68-5132cac471cd) - Renamed "User" settings to "Preferences" and "Files" to "Attachments" - Changed the styling to limit the width of settings - [[Roam Depot Extensions]] - **DNP Default Filters** - A Roam Research extension that applies default linked references filters to daily note pages. - **Configuration** - Go to Settings > Roam Depot > DNP Default Filters and set: - Includes filter — comma-separated page names to include (e.g. `Queries, Projects`) - Removes filter — comma-separated page names to exclude (e.g. `TODO, Evergreens`) - Auto-apply on navigation — toggle automatic filter application on/off (on by default) - **Features** - **Auto-apply** - When enabled, the extension automatically applies your configured filters to any daily note page's linked references section — both on Roam load (for today's DNP) and whenever you navigate to a DNP. Filters are merged with any existing ones on the page (no duplicates), and only applied once per DNP per session to avoid overwriting manual changes. - **Command palette** - Use Cmd+P (or Ctrl+P) and search for "DNP Filters: Apply to current page" to manually apply filters to whatever daily note page you're currently viewing. This also merges with existing filters. - [[February 27th, 2026]] - [[Quality of Life Improvements]] - Added the ability to choose your own bullet color for multi-user graphs - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FLU1zNLqfi-.png?alt=media&token=c44ba233-a5b7-4fcd-b279-4202a97eaf67) - You can also edit the bullet color of API token's pages you create from their display name page - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FCYsmiXRKg-.png?alt=media&token=7e5f950b-929f-456a-b116-dadbd668b006) - [[February 26th, 2026]] - [[Quality of Life Improvements]] - Speed up the opening of [[Unlinked References]] - Added TSX [[Code Block]]s - [[Bug Fixes]] - **Blockquote and callout paste/import fixes** — Pasting or importing blockquotes and callouts from HTML (e.g. from web pages) and Markdown now correctly produces single Roam quote blocks. Previously, multi-paragraph blockquotes would create separate blocks for each line. Consecutive `>` lines in Markdown imports are now grouped into a single blockquote block. - **Blockquote viewer improvements** — The blockquote and callout viewer now properly handles the `>` prefix, including multi-line blockquotes and cases where `>` is not followed by a space. Previously, the first character after `>` could be clipped. - **Blockquote and callout copy as HTML** — Copying blockquote and callout blocks now produces proper `
` HTML on the clipboard, so pasting into other apps preserves the quote formatting. - Fix some issues pasting from github - [[Roam Depot Extensions]] - **Quick Capture shortcut** - Allows a quick-capture experience without having to change context of whatever you're working on. Just press a hotkey and start typing! - ![](https://camo.githubusercontent.com/9758bd3c25bec18d5cd362987139b3ba0e4c0864c4420431fd622636c0878adb/68747470733a2f2f63646e2e6c6f6f6d2e636f6d2f73657373696f6e732f7468756d626e61696c732f64363235666638623565343934396432626464313466373931643161653333332d303538396330333266633439386562372d66756c6c2d706c61792e676966)[🔗](https://www.loom.com/share/d625ff8b5e4949d2bdd14f791d1ae333) - **How It Works** - Press the hotkey (Ctrl+Shift+N on Mac, Alt+N on Windows/Linux) to: - Create a new block at the bottom of today's Daily Notes page. - Open that block in the right sidebar. - Focus the cursor on it, ready for typing. - You can customize the hotkey from the Command Palette. - **Export with References** - Export a Roam page or block — along with all its backlinks — to your clipboard in markdown format. - For each backlink, the referencing block and all its children are included, grouped by source page. - **Usage** - **Commands** - The extension registers three entry points: - {{[[table]]}} - Trigger - Command - Behavior - Command palette - Export with References - Exports the focused block (if cursor is in a block) or the current page (if no block is focused) - Command palette - Export Page with References - Always exports the entire current page, regardless of which block is focused - Block context menu - Export with References - Right-click a block bullet → exports that specific block - **From the Command Palette** - Navigate to a page, or focus on a block - Open the command palette (`Cmd/Ctrl + P`) - Search for Export with References or Export Page with References - The markdown is copied to your clipboard - **From the Context Menu** - Right-click on a block's bullet point - Select Export with References - The block content and its backlinks are copied to your clipboard - **Output Format** - The exported markdown looks like this: - ```plain text # Page Title- first block on the page - nested child block - second block ## Backlinks### [[Source Page A]]- block that references the exported page - child of the referencing block - another child ### [[Source Page B]]- another referencing block``` - `[[page references]]` are preserved as-is - If there are no backlinks, the "Backlinks" section is omitted - Children of each backlink block are included with proper indentation - **Installation** - Search for Export with References in the [Roam Depot](https://roamresearch.com/#/app/roamjs/page/rmGPdf3tS) marketplace and click install. - **Roam Deep Research** - Run long-form research jobs from inside Roam, poll/stream results from external providers, and write structured output back into your graph. - **Purpose** - This extension gives you a single command-palette workflow to: - dispatch a research prompt to a provider (`Gemini`, `OpenRouter`, or `Manus`) - track job state (`dispatched`, `polling`/`streaming`, `writing`, terminal states) - write a structured result tree under a `Deep Research task::` block - keep job metadata and status in extension settings for recovery and retries - **Requirements** - A valid API key for at least one supported provider (Gemini, OpenRouter, or Manus). - The Manus provider requires Roam's built-in CORS proxy (`corsAnywhereProxyUrl`). The extension will display an error if the proxy is unavailable. - **Core Functions** - **1) Job Dispatch** - Command palette: `Run Deep Research task` - Slash command: `/Run Deep Research task` (runs against the current block) - Prompt UI uses `iziToast` input modal - Context is collected from selected/focused Roam blocks with safety limits: - block cap - character cap - API call budget - depth cap - **2) Provider Execution Modes** - `Gemini`: polling mode via `/v1beta/interactions` - `Manus`: polling mode via `/v1/tasks` (through Roam CORS proxy) - `OpenRouter`: streaming mode via SSE (`/api/v1/chat/completions`) - **3) Status + Recovery** - Cross-tab lease ownership for polling/writeback - Persisted job state in `extensionAPI.settings` - On load: - resumes eligible polling jobs - marks stale streaming jobs failed (streaming cannot resume after reload) - runs maintenance/pruning - **4) Writeback** - Writes output as Roam blocks with batching and depth/size limits - Adds `results_written:: true` marker for idempotency - Includes sections such as: - `Summary::` - `Key Findings::` - `Evidence / Citations::` - `Open Questions::` - `Suggested Next Actions::` - `Attachments::` - `References::` - `Provenance::` - **5) Cancellation + Retry** - Command palette: `Cancel Deep Research task` - Provider-aware cancellation: - Gemini: DELETE interaction - Manus: DELETE task, with local fallback - OpenRouter: abort stream - Retry path reuses prompt and current context collection flow - **6) Tools API** - Registers a public tools bridge at: - `window.RoamExtensionTools['deep-research']` - Tools: - `rdr_run_research` - `rdr_get_jobs` - `rdr_cancel_job` - Broadcast events: - `rdr:job-dispatched` - `rdr:job-completed` - `rdr:job-failed` - `rdr:job-canceled` - **Settings (UI)** - Settings shown in the extension panel and their behaviour impact:`Research provider`Values: `gemini`, `openrouter`, `manus`Changes runtime path (polling vs streaming), API auth, and provider normalisation.Provider key + model/profile`gemini`:`Gemini API key``Research agent` (currently fixed to `deep-research-pro-preview-12-2025`)`openrouter`:`OpenRouter API key``Research model` (select from curated deep-research models)`manus`:`Manus API key``Agent profile` (`manus-1.6`, `manus-1.6-lite`, `manus-1.6-max`)`Max job duration (minutes)`Upper wall-clock bound before a polling job is abandoned.`Max output blocks`Hard cap for writeback size and truncation behaviour.`Store raw output on schema errors`Adds raw provider payload blocks when structured parsing fails.`Archive completed jobs`Moves old terminal jobs to monthly archive pages before cleanup.`Upload attachments to Roam` - Downloads provider attachments, uploads to Roam storage, and embeds if possible. - Manus is one provider that specifically provides files that can be downloaded and stored within Roam Research storage if this setting is switched on. - **Limitations** - Streaming jobs (OpenRouter) cannot survive a page reload. If the tab is closed or refreshed mid-stream, the job is marked failed. Polling providers (Gemini, Manus) automatically resume after reload. - Only one research job can run at a time. - **Data + Safety Notes** - API keys are stored in Roam extension settings (browser IndexedDB), not encrypted. - The extension avoids overwriting non-empty user blocks by creating sibling/fallback roots where possible. - Large output is truncated to respect block/size/depth safety limits. - [[February 25th, 2026]] - [[Quality of Life Improvements]] - [[Import]] dialog redesign with a two-panel layout — scrollable page list on the left, detail panel on the right - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FjeXoRCKlI6.png?alt=media&token=c0023c8b-b862-4847-a1bd-74c6e83ef1a1) - As well as a lot more improvements - Added folder selection for importing entire directories of markdown files - Subfolder paths are now reflected in page titles (e.g. notes/Claim instead of Claim) to avoid false duplicates - Added per-page title editing with option to update [[references]] across all imported pages - Identical pages are auto-unchecked and dimmed; empty pages that already exist in the graph are flagged - Block UID conflicts are now automatically remapped instead of failing the import - Added callout directing users to Image Import for image files from another graph - Fixed Select All / Deselect All being slow on large imports - Improved performance for imports with many pages (500+) - [[February 22nd, 2026]] - [[Quality of Life Improvements]] - [[File Manager]] - Import / Export files, useful when restoring your graph to a new one, or backing up your files - When exporting to the same directory twice, it will not duplicate the files - Currently only supported in the desktop app, chome and edge browsers - Small redesign from a list into a grid - [[February 19th, 2026]] - [[Mobile Native View]] - Added callouts - [[>]] [[!TIP]] Callouts are here! Try typing `> [!warning] Watch out` in any block. See the [[Callouts]] page for all available types and how to style your own custom ones - Fixed Markdown links with parentheses - Fixed applying templates that include headings or text align - Pasting a URL over selected text now creates a Markdown link (like the web app) - Fixed [[iOS]] pasted text disappear after accepting paste - [[Quality of Life Improvements]] - Four / five backtick code blocks, useful for writing markdown in code blocks. - Create with `/markdown` - [[February 18th, 2026]] - [[Quality of Life Improvements]] - `/code block` slash command now inserts at the cursor position instead of replacing the entire block content - `{{date}}` picker now auto-focuses today's date on open, so arrow keys work immediately for keyboard navigation - Selecting a date in the `{{date}}` picker now refocuses the block with the cursor placed after the inserted page reference - [[Roam Depot Extensions]] - **tldraw** - Turn any matching page into a fast, visual whiteboard with draggable page and block nodes, quick linking, and keyboard-friendly canvas controls. - **Notice! This is a beta extension.** - This extension is in active development and may contain bugs. - If you notice anything off, or have feature requests, please reach out on GitHub or Slack. - **Features** - Auto load a canvas on pages that match your patterns (default: `Canvas/*`) - Works in both the main view and right sidebar - Adds dedicated Page and Block node tools to the tldraw toolbar - Supports paste and drag/drop of links and block refs directly onto the canvas - Includes a searchable inspector for picking target pages or blocks - Opens linked items in the main view (`Ctrl+click`) or sidebar (`Shift+click`) - Provides a configurable maximize hotkey for full-screen focus - **Quick Start** - The default canvas page pattern is `Canvas/*`. - To create a canvas, create a page with a title like: - `Canvas/Project Planning` - `Canvas/Ideas` - When you open that page, the canvas loads automatically. - [[February 11th, 2026]] - [[New Features]] - [[>]] [[!TIP]] Callouts are here! Try typing `> [!warning] Watch out` in any block. See the [[Callouts]] page for all available types and how to style your own custom ones - [[Quality of Life Improvements]] - Copy inline code block with right click -> "copy code" button - [[February 10th, 2026]] - [[Quality of Life Improvements]] - Markdown links now support urls with parenthesis in them, as well as `[]()` for other urls which might not display right - `[Mathematical theory](https://en.wikipedia.org/wiki/Theory_(mathematics))` - `[title ...]()` - wrapping a url in `<>` should always work, no matter then special characters in the URL - [[Bug Fixes]] - Fixed a bug that caused data loss in code blocks - Code blocks now save progress while you are typing in them, no need to click outside to save anymore - Fixed a bug with code blocks where pasting + changing the language would open, then close the language picker without letting you select a language - [[Roam Depot Extensions]] - **Breadcrumbs** - Never lose your place in Roam again. Breadcrumbs adds a clickable trail of your recent pages and blocks in the top bar, so you can jump back instantly and navigate your graph with confidence. [Ask DeepWiki](https://deepwiki.com/RoamJS/breadcrumbs) - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2F8kTyi7mpNe.png?alt=media&token=a8c20ab4-f1bc-4214-a554-79086e97853e) - **Features** - Tracks recently visited pages and block locations - Renders oldest-to-current breadcrumb trail in the top bar - Click any non-current breadcrumb to navigate back - Distinguishes pages vs blocks with different styles - Supports Blueprint dark mode (`.bp3-dark`) - **Settings** - `Max breadcrumbs`: max number of prior locations to keep - `Truncate length`: max label length before truncation - **Sticky Notes** - Quick, ephemeral notes that float on top of your Roam Research graph. Jot something down, drag it wherever you want, and when you're done—remove it. No clutter, no permanent page unless you want one. [Ask DeepWiki](https://deepwiki.com/RoamJS/sticky-notes) - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FAMz6_lODQk.png?alt=media&token=8cc8e968-2e77-4498-b736-a53dd18ab82b) - **What are Sticky Notes?** - Sticky Notes are lightweight notes that sit in a layer above your Roam graph. They're meant for quick, temporary capture: ideas you're playing with, reminders for the current session, or scratch space while you work. When you delete a sticky note, it's gone—the block is removed from your graph. No archive, no cleanup later. - **Features** - Full Roam inside every note — Each sticky is a real Roam block. Use tags `#like-this`, images, embeds, links, and everything else you normally do in Roam. - Drag anywhere — Grab the note by the header bar and drag it anywhere on your screen. Position and size are remembered for your session. - Resize — Drag the corner or edge of a note to make it bigger or smaller. - Minimize — Collapse a note to just its title bar when you want it out of the way but still visible. - Ephemeral by design — Delete a note with the ✕ button and the block is removed from Roam. Perfect for throwaway thoughts and temporary scratch space. - **How to use** - Create a sticky note — Open the command palette (`Ctrl/Cmd + Shift + P`), run "Sticky Notes: Create Sticky Note", and a new note appears. - Move it — Click and drag the colored header bar to place the note wherever you like. - Edit — Type in the note as you would in any Roam block. Use `#tags`, `/commands`, images, and links. - Remove it — Click the ✕ on the note when you're done. The note and its content are deleted from your graph. - Sticky notes are stored under a single Roam page (`roam/js/sticky-note`) so they stay in your graph while they exist, but the extension is built so you can treat them as disposable: create, use, delete. - **Stats** - Know your graph in seconds—pages, words, links, and tags in one sleek drawer. [Ask DeepWiki](https://deepwiki.com/RoamJS/stats) - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FDIGMiHQbFg.png?alt=media&token=4c5ce8ca-2890-46f4-b4e8-a7db5b37ba1e) - **Features** - Overview — Pages, interconnections (block refs), Firebase links, external links - Content breakdown — Text blocks (count, words, characters), block quotes, code blocks - Block types — Counts for TODO, DONE, query, embed, table, kanban, video, roam/js (click a tag to open that page) - Account — Current user display name and email - Open the drawer via the command palette: Stats: Toggle Stats Drawer. - [[January 30th, 2026]] - [[Roam Depot Extensions]] - **[YouTube Transcript Sync](https://github.com/qcrao/roam-yts)** - A Roam Research extension that fetches YouTube video transcripts and inserts them into your graph. - ![Demo](https://github.com/qcrao/roam-yts/raw/main/assets/demo.png?raw=true)[🔗](https://github.com/qcrao/roam-yts/blob/main/assets/demo.png?raw=true) - **Features** - Import transcripts from any YouTube video with captions - Clickable timestamps that jump to the video position - Multiple format options: nested blocks, single block, or code block - **Installation** - Go to Settings > Roam Depot > Community Extensions - Search for "YouTube Transcript Sync" - Click Install - **Setup** - Get your API key from [supadata.ai](https://supadata.ai/) (free tier includes 100 credits/month - enough for daily use) - Open Settings > YouTube Transcript Sync - Enter your API key - ![Settings](https://github.com/qcrao/roam-yts/raw/main/assets/settings.png?raw=true)[🔗](https://github.com/qcrao/roam-yts/blob/main/assets/settings.png?raw=true) - **Usage** - Paste a YouTube URL in any block (e.g., `https://youtube.com/watch?v=...`) - Click on the block containing the URL - Open command palette (`Cmd/Ctrl + P`) and run Import Youtube Transcript - Tip: To enable clickable timestamp navigation, click the small button before the YouTube link to embed the video. Without embedding, transcripts will still be imported but timestamps won't jump to the video position. - ![Usage](https://github.com/qcrao/roam-yts/raw/main/assets/usage.png?raw=true)[🔗](https://github.com/qcrao/roam-yts/blob/main/assets/usage.png?raw=true) - **Transcript Formats** - {{[[table]]}} - Format - Description - Nested Blocks - Each segment as a child block with clickable timestamp - Single Block - All text in one block with soft line breaks and clickable timestamps - Code Block - Plain text in a code block (timestamps are not clickable) - ![single block](https://github.com/qcrao/roam-yts/raw/main/assets/single%20block.png?raw=true)[🔗](https://github.com/qcrao/roam-yts/blob/main/assets/single%20block.png?raw=true) - ![code block](https://github.com/qcrao/roam-yts/raw/main/assets/code%20block.png?raw=true)[🔗](https://github.com/qcrao/roam-yts/blob/main/assets/code%20block.png?raw=true) - [[January 16th, 2026]] - [[Bug Fixes]] - Fixed outline highlight priority so selected blocks (blue) display over search highlights (yellow) - Removed extra margin on block highlight outline - Fixed shift-click on Daily Notes in sidebar to properly open today's page - Fixed page title sync to properly update when title changes in the database - When renaming a page causes a merge with an existing page: - Main window now only navigates to the merged page if you had the deleted page open - Sidebar windows showing the deleted page now navigate to the merged page instead of closing - [[Quality of Life Improvements]] - Increased bottom padding on pages from `120px` to `35vh` for more scroll room - [[Roam Depot Extensions]] - **Better Command Palette (BCP)** - Better Command Palette enhances Roam Research’s command palette by letting you pin your favourite commands so they always appear at the top. You can also sort unpinned commands alphabetically if that’s your preference. - This extension is intentionally lightweight, safe, and non-invasive: - ✅ Does not modify your graph (no block/page writes) - ✅ Does not override Roam commands - ✅ Works entirely at the UI layer (DOM decoration + reordering) - **✨ Features** - **⭐ Pin favourite commands** - Click the star next to any command to pin it - Pinned commands move to the top instantly - A divider is shown between pinned and unpinned commands (when both exist) - **💾 Per-graph persistence** - Your pinned commands are stored in Roam Depot settings for this graph - Pins are restored every time you open the command palette - **🔤 Sort unpinned commands** - Choose Roam native, A → Z, or Z → A in settings - Optionally override the sort mode for the current command-palette session using the footer buttons - Note: pinned commands are always shown in A → Z order for stability. - **⚡ Fast & safe** - Only activates while the command palette is open - Uses scoped `MutationObserver`s to react to Roam UI changes - No polling, no key simulation, no DOM cloning - **🖱 Usage** - Open the command palette (`Cmd–P` / `Ctrl–P`) - Click the ☆ star next to any command to pin it - Pinned commands appear at the top immediately - Click ★ to unpin - The extension also adds three small buttons in the footer of the Command Palette. These allow you to override your global sort preference on a per-session basis. - Footer sort overrides apply only to the current palette session and reset when the palette closes. - **⚙️ Settings** - This extension uses Roam Depot settings: - Sort mode: `Roam native` / `A → Z` / `Z → A` - Pinned commands storage: saved automatically as you pin/unpin - Clearing the extension’s settings resets all pins and returns sorting to Roam native. - **🧠 How it works** - Watches for the Command Palette modal to appear - Decorates each command with a star button - Tracks pinned commands by a stable key derived from: - label text, and - shortcut (when present) - Reorders the menu in place using Roam’s existing DOM nodes - Resets cleanly when the palette closes - **♿ Accessibility** - Stars and sort controls are implemented as real ` }```}} - ```jsx function main() { return }``` - https://twitter.com/conaw/status/1440594757462335496?lang=ca - [[.--]] - **Articles::** - **[A closer look at roam/render](https://www.zsolt.blog/2021/02/a-closer-look-at-roamrender.html) by [[Zsolt Viczian]]** - {{iframe: https://www.zsolt.blog/2021/02/a-closer-look-at-roamrender.html}} - **Examples::** - Code: - ```clojure (ns md.example (:require [reagent.core :as r] [roam.util :as u])) (defn parsed-text [] (u/parse "[[Pages]] ((uWcJicabj)) and [link](https://roamresearch.com)"))``` - Rendered: - {{roam/render: ```clojure (ns md.example (:require [reagent.core :as r] [roam.util :as u])) (defn parsed-text [] (u/parse "[[Pages]] ((uWcJicabj)) and [link](https://roamresearch.com)"))```}} - Content #.rm-hide - ```clojure (ns roam.keycommand (:require [clojure.string :as str] [clojure.core :refer [println]] [reagent.core :as r] [roam.util :as u])) (defn includes? [s1 s2] (when (and (string? s1) (string? s2)) (str/includes? (str/upper-case s1) (str/upper-case s2)))) (defn includes-strings? [s strings] (every? #(includes? s %) strings)) (def help-content [{:category "The Basics" :id 0 :type :key-command :functions [{:name "Find or create new page" :shortcut {:mac "cmd+u" :pc "ctrl+u"}} {:name "Bring up quick commands" :shortcut {:mac "/" :pc "/"}} {:name "Reference or create new page" :shortcut {:mac "[[" :pc "[["}} {:name "Reference a block" :shortcut {:mac "((" :pc "(("}} {:name "New block" :shortcut {:mac "return" :pc "enter"}} {:name "Indent block" :shortcut {:mac "tab" :pc "tab"}} {:name "Unindent block" :shortcut {:mac "shift+tab" :pc "shift+tab"}}]} {:category "Formatting" :id 1 :type :markdown-key-command :functions [{:markdown "**Bold**" :shortcut {:mac "cmd+b" :pc "ctrl+b"}} {:markdown "__Italics__" :shortcut {:mac "cmd+i" :pc "ctrl+i"}} {:markdown "~~Strikethrough~~" :shortcut {:mac "cmd+y" :pc "ctrl+y"}} {:markdown "^^Highlight^^" :shortcut {:mac "cmd+h" :pc "ctrl+h"}} {:markdown "[Link](/#/app/help)" :shortcut {:mac "cmd+k" :pc "ctrl+k"}} {:markdown "$$\\KaTeX$$" :shortcut {:mac "$$" :pc "$$"}} {:markdown "# Heading 1" :shortcut {:mac "cmd+opt+1" :pc "ctrl+alt+1"}} {:markdown "## Heading 2" :shortcut {:mac "cmd+opt+2" :pc "ctrl+alt+2"}} {:markdown "### Heading 3" :shortcut {:mac "cmd+opt+3" :pc "ctrl+alt+3"}}]} {:category "Navigating" :id 2 :type :key-command :functions [{:name "Move cursor to next block" :shortcut {:mac "down" :pc "down"}} {:name "Move cursor to previous block" :shortcut {:mac "up" :pc "up"}} {:name "Go to Daily Notes page" :shortcut {:mac "ctrl+shift+d" :pc "alt+d"}} {:name "Zoom in to current block" :shortcut {:mac "cmd+." :pc "alt+right"}} {:name "Zoom out to parent block" :shortcut {:mac "cmd+," :pc "alt+left"}} {:name "Go to next day\n(when on daily page)" :shortcut {:mac "ctrl+opt+n" :pc nil}} {:name "Go to previous day\n(when on daily page)" :shortcut {:mac "ctrl+opt+p" :pc nil}} {:name "Go to first block on page\n(when nothing is selected)" :shortcut {:mac "cmd+return" :pc "ctrl+enter"}} {:name "Go to last block on page\n(when nothing is selected)" :shortcut {:mac "cmd+shift+return" :pc "ctrl+shift+enter"}} {:name "Follow link under cursor" :shortcut {:mac "ctrl+o" :pc "ctrl+o"}} {:name "Open link under cursor in sidebar" :shortcut {:mac "ctrl+shift+o" :pc "ctrl+shift+o"}} {:name "Move cursor forward" :shortcut {:mac "ctrl+f" :pc nil}} {:name "Move cursor backward" :shortcut {:mac "ctrl+b" :pc nil}} {:name "Jump to start of block" :shortcut {:mac "ctrl+a" :pc "ctrl-home"}} {:name "Jump to end of block" :shortcut {:mac "ctrl+e" :pc "ctrl-end"}}]} {:category "Blocks" :id 3 :type :key-command :functions [{:name "Move block up" :shortcut {:mac "cmd+shift+up" :pc "alt+shift+up"}} {:name "Move block down" :shortcut {:mac "cmd+shift+down" :pc "alt+shift+down"}} {:name "New line within block" :shortcut {:mac "shift+return" :pc "shift+enter"}} {:name "Expand block" :shortcut {:mac "cmd+down" :pc "ctrl+down"}} {:name "Collapse block" :shortcut {:mac "cmd+up" :pc "ctrl+up"}} {:name "Select current block and children" :shortcut {:mac "shift+up" :pc "shift+up"}} {:name "Select block above\n(when block selected)" :shortcut {:mac "shift+up" :pc "shift+up"}} {:name "Select block below\n(when block selected)" :shortcut {:mac "shift+down" :pc "shift+down"}} {:name "Select all blocks on page" :shortcut {:mac "cmd+shift+a" :pc "ctrl+shift+a"}} {:name "Copy block reference(s)\nof selected block(s)" :shortcut {:mac "cmd+shift+c" :pc "ctrl+shift+c"}} {:name "Cycle TODO state of\n current / selected blocks" :shortcut {:mac "cmd+return" :pc "ctrl+enter"}} {:name "Open block search" :shortcut {:mac "ctrl+shift+9" :pc "ctrl+shift+9"}}]} {:category "Sidebar" :id 4 :type :key-command :functions [{:name "Toggle left sidebar visibility" :shortcut {:mac "cmd+\\" :pc "ctrl+\\"}} {:name "Toggle right sidebar visibility" :shortcut {:mac "cmd+/" :pc "ctrl+/"}} {:name "Open page in right sidebar" :shortcut {:mac "shift+click" :pc "shift+click"}} {:name "Open mentions in right sidebar" :shortcut {:mac "cmd+shift+click" :pc "ctrl+shift+click"}} {:name "Create page in sidebar\n(from search)" :shortcut {:mac "shift+return" :pc "shift+enter"}} {:name "Open link in sidebar\n(when editing)" :shortcut {:mac "ctrl+shift+o" :pc "ctrl+shift+o"}}]} {:category "Appearance" :id 5 :type :key-command :functions [{:name "Toggle display of\ndouble brackets" :shortcut {:mac "ctrl+c+b" :pc "ctrl+c+b"}} {:name "Toggle display of\nall inline mentions" :shortcut {:mac "ctrl+c+r" :pc "ctrl+c+r"}} {:name "Toggle all users' bullet colors" :shortcut {:mac "ctrl+c+s" :pc "ctrl+c+s"}} {:name "Toggle other users' bullet colors" :shortcut {:mac "ctrl+c+c+s" :pc "ctrl+c+c+s"}} {:name "Toggle block live preview" :shortcut {:mac "ctrl+c+p" :pc "ctrl+c+p"}} {:name "Cycle namespace display" :shortcut {:mac "ctrl+c+l" :pc "ctrl+c+l"}}]} {:category "Other" :id 6 :type :key-command :functions [{:name "Toggle help popup visibility" :shortcut {:mac "opt+shift+h" :pc "alt-shift+h"}} {:name "Undo" :shortcut {:mac "cmd+z" :pc "ctrl+z"}} {:name "Redo" :shortcut {:mac "cmd+shift+z" :pc "ctrl+shift+z"}} {:name "Move character under cursor forward" :shortcut {:mac "ctrl+t" :pc nil}}]}]) (def PC? (when-not (nil? js/navigator) (not (str/includes? js/navigator.userAgent "Mac OS X")))) (defn key-command-view [{:keys [name shortcut]}] (when (or (not PC?) (and PC? (:pc shortcut))) [:div.rm-help-function [:div.rm-help-function__name name] [:span.rm-help-function__shortcut [:code (if PC? (:pc shortcut) (:mac shortcut))]]])) (defn markdown-key-command-view [{:as props :keys [markdown shortcut]}] (when (or (not PC?) (and PC? (:pc shortcut))) [:div.rm-help-markdown-function [:div.rm-help-markdown-function__style (cond (str/starts-with? markdown "###") [:span.rm-level3 (subs markdown 4)] (str/starts-with? markdown "##") [:span.rm-level2 (subs markdown 3)] (str/starts-with? markdown "#") [:span.rm-level1 (subs markdown 2)] :else (u/parse markdown))] [:span.rm-help-markdown-function__markdown markdown] [:span.rm-help-markdown-function__shortcut (when shortcut [:code (if PC? (:pc shortcut) (:mac shortcut))])]])) (defn content [_] (let [*query (r/atom "") *selected-category-id (r/atom nil)] (fn [_] (let [split-query (str/split @*query #"\s+") filtered-content (->> help-content (map (fn [category] (assoc category :functions (filter (fn [{:as function :keys [name markdown title description shortcut]}] (or (includes-strings? name split-query) (includes-strings? markdown split-query) (includes-strings? (:pc shortcut) split-query) (includes-strings? (:mac shortcut) split-query))) (:functions category))))) (filter #(> (count (:functions %)) 0)))] [:div.rm-help [:div.rm-help-search.sticky [:div.rm-help-search__icon-container [:span.bp3-icon-large.bp3-icon-search]] [:input.rm-help-search__input {:placeholder "Search all key commands" :value @*query :auto-focus "autofocus" :on-change #(reset! *query (.. % -target -value))}]] [:div.rm-help-results [:div.rm-help__left-panel.sticky [:div.rm-help-categories (doall (for [{:keys [category id]} filtered-content] ^{:key (str "category-" category)} [:div.rm-help-category-menu-item {:class (when (= id @*selected-category-id) "rm-help-category-menu-item--selected") :on-click #(let [function-group (.getElementById js/document (str "rm-help-" id))] (.scrollIntoView function-group) (reset! *selected-category-id id))} category]))]] [:div.rm-help-functions (doall (for [{:keys [category functions id type]} filtered-content] ^{:key (str "title-" category)} [:div.rm-help-functions__category {:id (str "rm-help-" id)} [:div.rm-help-category__name category] [:hr] (doall (for [{:as function :keys [name markdown]} functions] ^{:key (str "function-" (or name markdown))} (condp = type :key-command [key-command-view function] :markdown-key-command [markdown-key-command-view function])))]))]]]))))``` --- # Filter - [[.--]] - [[.--]] - **Team GIFs::** - **Filter includes** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2F0Mny65tH21.gif?alt=media&token=2f6a477f-7386-4bfb-b3e1-60ef67657814) - **Filter removes** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FC7VNv1Q5rE.gif?alt=media&token=9bd23efb-f1a5-4509-87d2-e7603c7ce9e8) - **Global filters** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FUrQg1RZrKl.gif?alt=media&token=27a5f9b8-606b-4239-85cf-b82fbee4167c) - **Filter linked references** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2F3g-ykwQqW6.gif?alt=media&token=88eba400-5d2c-45f9-8093-a44513fc4a61) - **Roam Team Videos::** - **Filters in Roam by [[Conor White-Sullivan]]** - {{[[video]]: https://www.youtube.com/watch?v=BnwWdTnXlxU}} - **Community Videos::** - **Filters: Fundamentals of Roam Research by [[R.J. Nestor]]** - {{[[video]]: https://www.youtube.com/watch?v=wBqUySIvUZc}} #[[Attributes]] | #[[Filter]] | #[[Linked References]] | #[[Tags]] - **How to use filters in Roam Research by [[Mickey Mellen]]** - {{[[video]]: https://www.youtube.com/watch?v=hx9AmzNUCZY}} #[[Attributes]] | #[[Filter]] | #[[Linked References]] | #[[Tags]] - **Articles::** - **[How to use filters in Roam](https://www.roamtips.com/home/how-to-use-filters-in-roam) by [[Roam Tips and Hacks]]** - **[Using Roam Research for GTD-Style Task Management](https://thesweetsetup.com/using-roam-research-for-gtd-style-task-management/) by [[Mike Schmitz]]** --- # Welcome to Roam v2 ### **Quick Start** - There's very little to know to start using Roam. - **Everything is a block** - **Each bullet you see is a __block__, and we write them inside pages like this one.** - We create new blocks by pressing `Enter`; and nest them using `Tab` (press`Shift+Tab` to unindent)- - This creates __children blocks__, which we can expand, collapse, and focus. - Indenting provides structure. We can scan pages with ease and find related blocks. Try clicking the **ᐅ** icon on the next block! - **Everything is where you need it to be** - **Organizing information is effortless with** [page]([[Page References]])/[block references]([[Block References]]). - Let's say we have a meeting. In our Daily Notes, we might write - {{[[TODO]]}} Have a [[meeting]] with [[John Smith]] about [[Roam Research]] on [[February 8th, 2021]]. #marketing - Those square brackets turn text into **__backlinks__**. - This automatically creates a page for each keyword--click the backlink to go the keyword's page. - At the bottom, you'll find instances where the page was mentioned--its __page references__. - So the meeting reminder block appears on [[meeting]], [[John Smith]], [[marketing]], and [[Roam Research]]! - This way, we never have to worry about which folder to file things in- just [[backlink]] as you go. - **Everything is a `/` away** - Roam is packed with powerful features. Anytime you want to do more than type text, - just type `/` to bring up the inline command palette. - If you don't find what you're looking for, click on the Help - icon in the top right of the page! If you can think it, you can do it in Roam. --- # Pages ### Team GIFs:: #### Creating a page from page reference search - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FQ-8BrsvwE2.gif?alt=media&token=3aa3483a-7b12-4b85-9ac2-c1da0b6c542c) #### Creating a page from Find or Create Page - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FK70-B2KDjq.gif?alt=media&token=f292166d-b8cb-4d9c-838e-c11dd83e4eb5) #### Creating a page and opening it in the right sidebar - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2F1bVd2VxOSY.gif?alt=media&token=529f75f8-4d68-4e54-9e91-8a0bd6a64767) #### Creating a page with tags - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2F7iBu-QY5ZH.gif?alt=media&token=fcb11771-1890-4bc3-b838-a9cfb2ff60dc) #### Deleting a page - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FPLnij-w010.gif?alt=media&token=213053d2-2b93-4b81-af85-8190fd4d1a39) #### Changing page title - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2F6zvavlgo4n.gif?alt=media&token=25b2fc8c-bbc7-4d2a-aa63-20cbb700613b) #### Merging pages - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FfDQuKQS5Vq.gif?alt=media&token=846f0a3f-405b-4d62-9655-b1e3e2ed7c81) #### View as Document - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2Fw4PR8IRswb.gif?alt=media&token=6f8e2e22-6d16-4280-8100-321c0a02f4e0) ### Community Videos:: #### Page-Level block filters & Merging two page contents by [[Roam Tips]] - {{[[video]]: https://www.youtube.com/watch?v=_AZGz94Uv-c}} #[[Pages]] | #[[Filter]] --- # Zettelkasten ### Roam Team Videos:: #### Live Zettling on Roam by [[Conor White-Sullivan]] - {{[[video]]:https://www.youtube.com/watch?v=ScRrcL__SSI&t=2029s&ab_channel=ConorWhite-Sullivan}} #[[Current time]] | #[[Page References]] | #[[Block References]] | #[[Indentation]] | #[[Daily Notes]] | #[[Right Sidebar]] | #[[Block Embed]] | #[[Alias]] | #[[TODO/DONE]] | #[[Indentation]] | #[[Query]] | #[[Table]] - Articles:: - **[Active Reading in Roam Research Featuring the Zettelkasten Method](https://padminipyapali.medium.com/zettelkasten-method-roam-research-f7b341f14fbd) by [[Padmini Pyapali]]** - #[[Block References]] | #[[Page References]] - **[Implementing Zettelkasten in Roam: A Practical Guide](https://www.roambrain.com/implementing-zettelkasten-in-roam/) by [[RoamBrain]]** - #[[Page References]] | #[[Block References]] - **[Roamkasten - a practical how to guide to optimize Zettelkasten in Roam Research](https://www.thrivinghenry.com/writings/roamkasten-a-practical-how-to-guide-to-optimize-zettelkasten-in-roam-research) by [[Thriving Henry]]** - #[[Page References]] | #[[Linked References]] | #[[Unlinked References]] | #[[Indentation]] | - **[Roamkasten - a practical how to guide to optimize Zettelkasten in Roam Research](https://www.thrivinghenry.com/writings/roamkasten-a-practical-how-to-guide-to-optimize-zettelkasten-in-roam-research) by [[Thriving Henry]]** - #[[Page References]] | #[[Linked References]] | #[[Unlinked References]] | #[[Indentation]] | #[[Block References]] | #[[Right Sidebar]] - ### Community Videos:: #### How to Take Smart Notes | Zettelkasten Method in Roam Research by [[Shu Omi]] - {{[[video]]: https://www.youtube.com/watch?v=ljyo_WAJevQ&t=188s&ab_channel=ShuOmi}} #[[Page References]] | #[[Right Sidebar]] | #[[Block References]] | #[[Linked References]] | #[[Filter]] #### How Taking Smart, Simple Notes Will Make You a Better Writer by [[Drew Coffman]] - {{[[video]]: https://www.youtube.com/watch?v=wMOACjJzfgM}} #### Roam Tour: Professor [[Joel Chan]]- Zettelkasten and Evergreen Notes for Generative Thought by [[Robert Haisfield]] - {{[[video]]: https://www.youtube.com/watch?v=A6PIrVZoZAk&ab_channel=RobertHaisfield}} #[[Page References]] | #[[Right Sidebar]] | #[[Query]] | #[[Linked References]] | #[[Indentation]] --- # All Pages #### Delete pages - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FYqxqKorQI-.gif?alt=media&token=736383b1-77c5-43d0-afe0-1b9559750dad) #### Export pages - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FpUjhHuw3Mc.gif?alt=media&token=9caee6c3-dcbb-4c43-89d4-45bf71df39d8) #### Open pages from all pages in right sidebar - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FDcJ5GFlnvx.gif?alt=media&token=ee49c2a4-5933-4ac8-9feb-15bb5cc3c8ad) #### Sort by word count - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FV226Qy7Jn4.gif?alt=media&token=59c28d94-b911-400e-b845-9f6bcd0a05b8) #### Sort by mentions - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2F4TA971JxG9.gif?alt=media&token=8c202935-ef44-4900-a8e7-ab9f09889382) #### Sort by updated - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FmPIx1RBFdI.gif?alt=media&token=163433ca-ac63-4136-ba7d-29115c359dfe) #### Sort by created - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FaOtImawJYl.gif?alt=media&token=7e17d57a-4abd-4034-aa27-3224f722967b) #### Show/hide daily notes - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FPfwk0lp1br.gif?alt=media&token=a49684ef-d8ba-4e19-b2d3-deb8889eb9f0) #### Show/hide columns - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2F4Qv1CNFt4D.gif?alt=media&token=21c2a442-8ac3-4ca3-9cad-0c00322812a9) --- # Graph Overview - [[.--]] - **Open graph overview from left sidebar** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FjJz0CNicqY.gif?alt=media&token=1d8ca7df-25cd-458f-8f9e-09e130327c27) - - **Change layout** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FVlZpC492oI.gif?alt=media&token=d6055ce8-6b3b-4ece-b942-3253fae20be6) - - **Remove log days** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FT1YtPOXv6j.gif?alt=media&token=835832b8-b060-4519-9970-eaef8c564f52) - - **Selecting node and zooming in on node** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FvxMzNcxM0B.gif?alt=media&token=c7452963-0954-4425-8a44-c7e4f0bb37e1) - - **Moving node** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FeKRmqKzotE.gif?alt=media&token=8dc9fe95-3c1b-4330-8f00-110bbaac99ff) - - **Open node in sidebar** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FzO8buehcAl.gif?alt=media&token=0de4cdf5-26a2-440c-a0af-57ede8199623) --- # Pomodoro timer - Creating a Pomodoro timer is incredibly easy! Here's how: - Open the [[/ Commands]] by typing a forward slash `/` - Start typing the word `pomodoro` and click on `Pomodoro Timer` - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2FRoamanAuxilium%2FIsQnkaOuND.gif?alt=media&token=a1383437-cd4f-4b86-a08f-d550b03888c3) - Click on `Start` and the standard 25-minute timer will start counting down. - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2FRoamanAuxilium%2FBBc9V7AuRV.gif?alt=media&token=d6813031-fca5-40b1-8aa1-e11e8f5dd858) - Once the 25 minute session ends, you'll hear a bell sound and you'll see a quick notification telling that you can stop working and rest for 5 minutes. - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2FRoamanAuxilium%2FqccANb5Mc5.gif?alt=media&token=3acd09a3-d63c-4dbb-a901-181b85df3045) - Sometimes you want to change the timer of your Pomodoro from the standard 25 minutes to whatever else... Here's how to do it: - Open the [[/ Commands]] by typing a forward slash `/` - Start typing the word `pomodoro` and click on `Pomodoro Timer`. You'll see something like this: - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2FRoamanAuxilium%2FcoJo8swImw.png?alt=media&token=c470e423-842b-4fb7-9840-d237d99495c9) - Change the number from 25 (minutes) to some other number, like 10 for example. - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2FRoamanAuxilium%2F89YYx2fFe_.gif?alt=media&token=580a8107-d898-4b3e-a42a-4f06f6046cde) - Community Videos:: - Roam Research: Useful Hacks (No Add Ons Required). Pomodoro, Timer, Calculator, KanBan & More. by [[The Upgraded Brain]] - {{[[video]]: https://www.youtube.com/watch?v=u_iIWQTIuIE}} #[[Pomodoro timer]] | #[[Calculator]] | #[[Kanban]] | #[[Diagram]] | #[[Slider]] | #[[Word count]] | #[[Options]] | [[Table]] | [[Calculator]] --- # Hosted Graph - What does it mean? - If it's a private graph (you're the only person accessing it) - You are able to access your Roam graph anywhere with its URL once you're logged into your account - If it's shared with selected individuals - The shared accounts can either read or edit your graph, when they log into Roam and open your graph's URL - See [[Sharing]] for more info - If it's publicly available - Anyone can see your graph via its URL - See [[Sharing]] for more info - How many can you make? - as many as you want :) - Where is it hosted? - Google Firebase - Can I access it offline? - Yes, but your changes won't be synced to our servers until you're back online when the sync button becomes green - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FCGs3axfCq1.png?alt=media&token=601b6eae-d411-4264-b341-6bdd976ae01d) - So be careful of closing Roam or clearing the cache of your browser (as data will be temporarily stored there) --- # Daily Notes - [[.--]] ### **Daily Notes are the backbone of the Roam experience.** - When you sign into Roam, you will start on a page with today's date. - We encourage people to start writing on this page because it gives context to your notes. - For example, if you take meeting notes in the Daily Note, the date of your meeting will always be tied to the notes. - ![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/64002864636/original/qqL4apOfjDpoVLBx5JJu6TnrANUlTZSblg.png?1600974212) - Even if you create a new page, it's often helpful to do so from the Daily Note. This way, you'll be able to see when you created these pages, and your work will be visible when reviewing your days. - Consider the following Daily Note: - ![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/64002864729/original/jzf65Bfvc_C7CcxpeokK5YM20u9Kv_5G6A.png?1600974564) - What does this person get by using the Daily Note instead of just working in the [[Weekly Experiments]] and [[5 Year Plan]] pages? - The context for why they started Weekly Experiments - An overview on what they changed in their 5 Year Plan, and an intention to work on it more next week. ### **Conclusion** - Roam is all about making connections. The Daily Note is intended to help you make connections with yourself over time. - Your future self will thank you! ### Roam Team Videos:: - {{[[video]]: https://www.loom.com/share/ed65ea5c73e04035a910c9c96510d83a}} --- # Community - [[Roam Slack]] - [Join us on Slack](https://join.slack.com/t/roamresearch/shared_invite/zt-ni1vw9yf-HzeWr05ZJBt55j_zfddPsw) to learn new workflows, get tips and tricks from your fellow Roamans, and much more! - [[Twitter]] - Join the [#roamcult](https://twitter.com/search?q=%23roamcult&src=typeahead_click) and keep up to date with all the latest and greatest in Roam - [[Roam Book Club]] - Learn how to use Roam, take better notes, make friends, and more - [[Articles]] - An (incomplete) list of all the articles written about Roam! - [[Community Videos]] - A list of all the great videos made by our wonderful community - [[Courses]] - Learn how to use Roam with a collection of free and paid online courses made by top community members - [[Coaching]] - Get specialized 1:1 help to master Roam from one of our vetted coaches - [Notable Graphs]([[Notable Graphs]]) - A list of public graphs available to browse or contribute to --- # Extensions - CSS - [{:tag :h3}Roam themes: how to style Roam Research with custom CSS ...](https://nesslabs.com/roam-research-themes-custom-styling-css) - [{:tag :h3}Painting Roam with Custom CSS - Maggie Appleton](https://maggieappleton.com/paintingroam/) - [{:tag :h3}Best Roam Research CSS Themes — Keep Productive](https://www.keepproductive.com/blog/best-roam-research-css-themes) - [{:tag :h3}Ultimate list of Roam Research themes and CSS styles ...](https://www.roamtips.com/home/roam-research-css-styles) - [{:tag :h3}Make Your Roam Theme Your Own With These CSS Snippets ...](https://www.maggiedelano.com/2020/09/05/roamcsssnippets.html) - [{:tag :h3}CSS for Roam (1st lesson): Roam with Style | by Cato Minor ...](https://catominor3.medium.com/roam-with-style-8a18c216d338) - [{:tag :h3}RoamThemes - Style your Roam with Custom Themes](https://roamthemes.io/) - [{:tag :h3}Pro Tip: Roam Research now supports custom themes, via CSS.](https://capiche.com/q/pro-tip-roam-research-now-supports-custom-themes-via-css) - JS Plugin - [Make Roam for Your Mind: Ode to Customization | by Cato ...](https://catominor3.medium.com/make-roam-for-your-mind-9e7f09e6a7b0) - [JavaScript for Roam (introduction) | by Cato Minor | Medium](https://catominor3.medium.com/javascript-for-roam-introduction-f19f82ca297) - Chrome Extension - [Roam JS Extensions](https://roamjs.com/docs/) - [Roam Hacker](https://www.youtube.com/channel/UClmpveyXiwZP3PlKpDKdGEA/videos) --- # Beginner's Guide ## A short but comprehensive guide #### A Beginner’s Guide to Roam Research by [[Drew Coffman]] - {{[[video]]: https://www.youtube.com/watch?v=X6OOos4met0}} - #[[Daily Notes]] | #[[/ Commands]] | #[[Bidirectional linking]] ## [[Why Roam?]] #### Leonardo Da Vinci and Roam-Thinking by [[Drew Coffman]] - {{[[video]]: https://www.youtube.com/watch?v=S3qJdvPzOC8}} ## Best [[Features]] of Roam #### The Simple Guide to Roam Research by [[Shu Omi]] - {{[[video]]: https://www.youtube.com/watch?v=RTI6Mxu3YiI}} - #[[Daily Notes]] | #[[Bidirectional linking]] ## What [[Workflows]] can I use Roam for? #### What's So Great About Roam Research? by [[Nat Eliason]] - {{[[video]]: https://www.youtube.com/watch?v=syKAar8ZD-U}} - #[[Daily Notes]] | #[[Bidirectional linking]] | #[[Linked References]] #[[Book]] | #[[Sidebar]] | #[[Tags]] | #[[Evergreen Notes]] | #[[Block References]] | #[[Templates]] | #[[Query]] --- # Precise Links - Example - say I have a collection of statements like these - Socrates is a Man - certainty:: {{[[slider]]}} - Socrates is Mortal - certainty:: {{[[slider]]}} - All Men are Mortal - certainty:: {{[[slider]]}} - Then I can reference those statements into a compound statement like this - If Socrates is a Man and All Men are Mortal then Socrates is Mortal - certainty:: {{[[slider]]}} - - I will then see that statement whenever I visit one of the blocks that is referenced within it - like this - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fv8%2Fhelp%2FbGuVgwv7eo?alt=media&token=5cc08cb5-9668-4812-9084-38cd9cd816cf) --- # Templates ### Team GIFS:: - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FGTJJMUaPJd.gif?alt=media&token=c47571e2-1ab0-4271-b6bd-10dc0764ebc9) #[[roam/templates]] ### Community Videos:: #### How to create templates in Roam Research by [[Productivity Academy]] - {{[[video]]: https://www.youtube.com/watch?v=O_-lhwprLXs}} #[[Templates]] | #[[Attributes]] | #[[Sidebar]] #### Daily Templates in Roam Research by [[Mickey Mellen]] - {{[[video]]: https://www.youtube.com/watch?v=mK7wa0UXzrk}} #[[Templates]] | #[[Task Management]] | #[[Current time]] | #[[Tags]] #### Native Templates In Roam Research by [[Praveen Anuraj]] - {{[[video]]: https://www.youtube.com/watch?v=OxCgJaeUh90}} #[[Attributes]] | #[[Templates]] ### Articles:: #### [How to use templates in Roam Research](https://nesslabs.com/roam-research-templates-tutorial) by [[Anne-Laure Le Cunff]] #### [How to Create and Use Templates in Roam Research](https://www.appsntips.com/learn/create-use-templates-roam-research/) by [[appsntips]] ### Key Commands:: - Search for template to trigger `;;` --- # Audio Player - You can upload and embed audio into Roam! Check out this interactive demo on [[Conor White-Sullivan]] describing Roam as Excel - {{audio: https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2Fhz3WHZhdUg.mp3?alt=media&token=9af83477-66d5-4b97-8643-2d9844ba6b99}} - Team GIFs:: - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FOIMsl6U0Jb.gif?alt=media&token=db707c6f-7936-4813-9a3f-2475a3d027c0) - Roam Team Videos:: - {{[[video]]: https://www.loom.com/share/5c6c03a96aec4a1ab62234a86209abb2}} - Community Videos:: - Playing sound files in Roam Research by [[Darin Flynn]] - {{[[video]]: https://www.youtube.com/watch?v=J-x4srxcNrU}} #[[Audio Player]] | #[[Block References]] - Articles:: - [How to upload and play audio files in Roam Research](https://nesslabs.com/roam-research-audio-files) by [[Ness Labs]] [[Anne-Laure Le Cunff]] - #[[/ Commands]] | #[[Audio Player]] - Key Commands:: - `/upload` --- # Roam Help ## [[Welcome to Roam]] - --- ## [[Change Log]] ## [[Workflows]] ## [[Features]] - --- ## [[Community]] ## [[Roam Depot]] - --- ## 🚧 [Developer Hub](https://roamresearch.com/#/app/developer-documentation/page/49715b-M2) 🚧 - --- ## [[FAQ]] ## [[Why Roam?]] ## [[White Paper]] --- # roam/css - #.rm-g - From having a dark theme to opening multiple panels, with a few clicks (and no coding skill required), roam/css helps you customize the look and feel of your Roam graph - Check out our [community-built themes for inspiration]([[Themes]]) ### Articles:: #### [Painting Roam with Custom CSS](https://maggieappleton.com/paintingroam) by [[Maggie Appleton]] #### [Roam themes: how to style Roam Research with custom CSS](https://nesslabs.com/roam-research-themes-custom-styling-css) by [[Anne-Laure Le Cunff]] ### Community Videos:: #### How to do color tagging in Roam by [[Zack Fan]] - {{[[video]]: https://www.youtube.com/watch?v=kUgAqyzwGzw&t=99s}} #### How to Create and Edit Roam CSS: Interview with [[Abhay Prasanna]] - {{[[video]]: https://www.youtube.com/watch?v=Cz07-oZlPzA&t=3s&ab_channel=MikeGiannulis}} ### Roam Team Videos:: #### Applying Custom Themes for your RoamResearch Knowledge Graph by [[Conor White-Sullivan]] - {{[[video]]: https://youtu.be/UY-sAC2eGyI }} --- # Notable Graphs ## Directory ### [RoamPublic.com](https://www.roampublic.com/all-texts/) ### [The Roaman Agora](https://roamresearch.com/#/app/The-Roaman-Agora/page/wujSyfjAu) ### [Roam Collective](https://roamresearch.com/#/app/Roam-Collective/page/MorTyZR-2) ### [Roam Book Club]([[Roam Book Club]]) ### [Creator Cooperative ](https://roamresearch.com/#/app/Creator-Cooperative) ### [Roam Slack](https://roamresearch.com/#/app/roam-slack) ### [RoamCN](https://roamresearch.com/#/app/RoamCN) ### [Holy Omniscience Graph](https://roamresearch.com/#/app/holy-omniscience/page/c3Z8Q3cb_) ### [Navalmanack](https://roamresearch.com/#/app/Navalmanack) ### [Roam Depot Developers](https://roamresearch.com/#/app/roam-depot-developers) - #### {{[[TODO]]}} Request to be featured --- # Miscellaneous ### [[Wiki]] ### [[Scripture Study]] ### [[Language Learning]] ### [[Hacking and Coding]] ### Roam Research for [[Kids]] ### International Languages - [[Chinese]] - [[Korean]] - [[Russian]] - [[Spanish]] - [[German]] - [[Japanese]] - [[Turkish]] --- # Calculator - Calculates basic arithmetic. - `{{calc: 4 + 5 }}` - {{calc: 4 + 5}} - If a block reference is used an argument, it will search for a number in that block and use that – e.g. - three in “My 3 apples” or - five in "his 5 amazon stocks" - `{{calc: ((block)) + ((block)) * 2 }}` - {{calc: three in “My 3 apples” or + five in "his 5 amazon stocks" * 2}} ### Community Videos:: #### [Roam Research: Using the Calculator](https://www.youtube.com/watch?v=kxWykFHUtNo) - [[Les Kristofs]] - {{[[video]]: https://www.youtube.com/watch?v=kxWykFHUtNo}} ### Roam Team Videos:: - https://twitter.com/i/status/1209449973902802944 --- # Personal CRM ### Community Videos:: #### Roam: The Best Personal CRM Ever by [[Nat Eliason]] - {{[[video]]: https://www.youtube.com/watch?v=cRDgrdlfYdE&ab_channel=NatEliason}} #[[Page References]] | #[[Sidebar]] | #[[Linked References]] | #[[Attributes]] #### Mini CRM in Roam Research: Logging Meeting Notes by [[R.J. Nestor]] - {{[[video]]: https://www.youtube.com/watch?v=CnakhkONQ_g&ab_channel=R.J.Nestor}} #[[Page References]] | #[[Sidebar]] | #[[Daily Notes]] | #[[Tags]] | #[[Indentation]] | #[[Linked References]] | #[[Filter]] | #[[Attributes]] ### Articles:: #### [Using Roam Research as a Customer Relationship Manager](https://thesweetsetup.com/using-roam-research-as-a-customer-relationship-manager/) by [[Josh Ginter]] - #[[Page References]] | #[[Attributes]] | #[[Templates]] | #[[Daily Notes]] #[[Current time]] | #[[Task Management]] | #[[Calculator]] | #[[Pomodoro timer]] | #[[Kanban]] #### [Use Roam Research as a Personal CRM - Nicolo S's pro tip about Roam Research | YourStack](https://yourstack.com/pro-tips/340-use-roam-research-as-a-personal-crm) by [[Nicolo S]] - #[[Attributes]] | #[[Page References]] #### [Roam Research: Why I Love It and How I Use It](https://www.nateliason.com/blog/roam#crm) by [[Nat Eliason]] - #[[Attributes]] | #[[Page References]] | #[[Linked References]] - --- # News and Press - - [[The Hustle]]: [Roam Research could be the future of note-taking and knowledge management](https://thehustle.co/09142020-roam-research/) - > __Launched only last fall, Roam Research raised $9m at a $200m valuation. Will its software become the future of note-taking?__ #### [[Built In]]: [Roam is a Note-Taking Tool, and a Dream of a Better Self](https://builtin.com/consumer-tech/roam-note-taking-app-personal-wiki) - > __Its app connects ideas the same way our brains do. Its cult following has helped it land record-breaking investments.__ #### [[Forbes]]: [The Cloud 100 Rising Stars 2020: Cloud Computing’s Next Wave, From Resilia To Roam Research](https://www.forbes.com/sites/kenrickcai/2020/09/16/cloud-100-rising-stars-2020) - > __...its tools that help developers, writers and researchers link together connected notes.__ #### [[Enterprise Tech 30]]: [Roam Research: The Enterprise Tech 30 Early Stage Startup](https://www.enterprisetech30.com/#early-stage) - > __Inductees to the ET30 are on a fast track of growth and and are expected to be future IPOs and multi-billion dollar exits.__ #### [[The Information]]: [A $200 Million Seed Valuation for Roam Shows Investor Frenzy for Note-Taking Apps](https://www.theinformation.com/articles/a-200-million-seed-valuation-for-roam-shows-investor-frenzy-for-note-taking-apps) - > __...in early development, the no-frills service has attracted a following in the research community and among an influential set of tech CEOs like__ [Patrick Collison](https://www.theinformation.com/articles/venture-capitalists-newest-threat-stripe). #### [[Divinations]]: [Roam's road ahead](https://every.to/divinations/roams-road-ahead-2444209) - > __Out of all the teams in technology, if there was one that I’d bet on to defy conventional wisdom, it’d honestly be Roam.__ --- # Table - [[.--]] - {{[[table]]}} ### Articles:: - [How to build a table in Roam Research](https://web.archive.org/web/20201109133038/https://www.roamtips.com/home/create-tables-roam-research) - [[Roam Tips and Hacks]] ### Community Videos:: #### How to Set Goals Using Tables in Roam Research by [[Shu Omi]] - {{[[video]]: https://www.youtube.com/watch?v=CPk5RSnlpDA}} #### Roam Research: Tables by [[Les Kristofs]] - {{[[video]]: https://www.youtube.com/watch?v=nZHlz6RUleE}} ### Roam Team Videos:: #### Tables with Complex Cells (no audio) by [[Conor White-Sullivan]] - {{[[video]]: https://www.youtube.com/watch?v=J_hH5vH2DTo}} #[[Table]] - [[.--]] --- # Project Management ### Community Videos:: #### Managing tasks and projects with Roam Research by [[Mickey Mellen]] - {{[[video]]: https://www.youtube.com/watch?v=NoNebWRn9ZQ&ab_channel=MickeyMellen}} #[[TODO/DONE]] | #[[Page References]] | #[[Daily Notes]] | #[[Linked References]] | #[[Date picker]] | #[[Filter]] #### PARA in Roam Reserach, Managing projects and tasks by [[Praveen Anuraj]] - {{[[video]]: https://www.youtube.com/watch?v=SQ71uG1q79g&ab_channel=PraveenAnuraj}} #[[Page References]] | #[[TODO/DONE]] | #[[Query]] | #[[Date picker]] ### Articles:: #### [How I’m using Roam Research to Document a Sales Project | by Eran Boodnero | Medium](https://medium.com/@eboodnero/how-i-became-a-productivity-power-house-9da20ba728c0) - #[[Page References]] | #[[TODO/DONE]] | #[[Block References]] | #[[Daily Notes]] #### [Project management for people who like flow and hate project management – Joshua Mitchell](https://lelon.io/blog/roam-research-project-management) - #[[Page References]] | #[[TODO/DONE]] | #[[Current time]] | #[[Right Sidebar]] | #[[Linked References]] | #[[Search]] #### [Tasks and notes: A match made in Roam - R.J. Nestor](https://rjnestor.com/home/tasks-and-notes-a-match-made-in-roam/) - #[[Page References]] | #[[Query]] | #[[Block References]] | #[[Replace With]] | #[[text and alias]] | #[[TODO/DONE]] - --- # Video Embed - You can embed videos in Roam directly, without going to a separate page to access them - Video Embed currently supports YouTube, Vimeo and Loom video embeds - YouTube - {{[[video]]: https://www.youtube.com/watch?v=mlCiO2oIF2s}} - Vimeo - {{[[video]]: https://vimeo.com/412417062}} - Loom - {{[[video]]: https://www.loom.com/share/89c445cb29424dfdb9e1163723dd1405}} - Key Commands:: - `/video` - Or just paste the video URL and click on the play button for the URL to auto convert to a video embed - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FnPe_IDkfH6.gif?alt=media&token=0ea93260-9fe4-4e7d-9c45-adf2f698328a) --- # Upload Files - You can upload and embed files in Roam, including audio, PDFs, and images, so you can access files right on the spot - Upload audio [[Audio Player]] - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FOIMsl6U0Jb.gif?alt=media&token=db707c6f-7936-4813-9a3f-2475a3d027c0) - Upload PDFs - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FSV5zdzJ_v6.gif?alt=media&token=1cd664ff-cd24-4b0e-80fb-8b139841b07c) - Upload [[Images]] - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2Fp8y1UIR1C0.gif?alt=media&token=b7b763f2-b5f6-4e37-a015-0053dc0bf63c) - Community Videos:: - Roam Research: Adding a File by [[Les Kristofs]] - {{[[video]]: https://www.youtube.com/watch?v=JgT_zGrudko}} #[[Upload Files]] | #[[/ Commands]] - Key Commands:: - `/upload` --- # Workflows ## [Journaling]([[Journaling]]) ## [Longform writing]([[Longform writing]]) ## [Meeting notes]([[Meeting notes]]) ## [Zettelkasten]([[Zettelkasten]]) ## [Research]([[Research]]) ## [Studying]([[Studying]]) ## [Task Management]([[Task Management]]) ## [Project Management]([[Project Management]]) ## [Personal CRM]([[Personal CRM]]) ## [Miscellaneous]([[Miscellaneous]]) - - --- # Install Roam #### **Does Roam have a mobile app? Can I install it on my machine?** - Not yet, however Roam is available now as a webapp which gives you full access to your Roam and functions in a similar way to an app available through the appstore. - Here's how to install Roam as a webapp on your **phone** or **tablet**: - Go to chrome (or the other browser you use such as safari, firefox etc), then go to [http://www.roamresearch.com](http://www.roamresearch.com/), and it will ask you to sign in to your Roam account. - Once you sign in you will see this screen below. And then click the prompt at the bottom that says 'Add Roam to homescreen', which will install Roam as a link on your tablet/phone. - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Froam%2FALLP4qNh6G.png?alt=media&token=83f0d3f8-9d42-4016-b83b-4c29816cb2a1) - An alternative way to do this, if you go to [roamresearch.com](http://roamresearch.com/) and sign in, you should should see 'install full site' as a button on the top right of page, if you click this it will install Roam on your device. - Here's how to install Roam as a webapp on your **desktop**: - Go to Chrome, and open your Roam graph - From Chrome's three-dot-menu, go to "More Tools", "Create Shortcut" - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2Fq2dKP-MzXc.gif?alt=media&token=801dbe63-be9d-4d89-84cf-0c2ab85e3066) - More on this: https://www.roamtips.com/home/roam-research-app-mac-windows --- # Longform writing - Community Videos:: - **Transform Your Creative Process with Roam Research by [[Drew Coffman]]** - {{[[video]]: https://www.youtube.com/watch?v=t4AD320OG60}} #[[Bidirectional linking]] | #[[Graph Overview]] - **How to Use Roam to Outline a New Article in Under 20 Minutes by [[Nat Eliason]]** - {{[[video]]: https://www.youtube.com/watch?v=RvWic15iXjk&feature=emb_title&ab_channel=NatEliason}} #[[Right Sidebar]] | #[[Block References]] | #[[Page References]] | #[[Unlinked References]] | #[[Formatting]] - **Writing in Roam Research: Keeping Track of Multiple Drafts by [[R.J. Nestor]]** - {{[[video]]: https://www.youtube.com/watch?v=6tr0O0xT3WY&t=2s&ab_channel=R.J.Nestor}} - #[[Tags]] | #[[Filter]] | #[[Version Control]] | #[[Right Sidebar]] | #[[Block References]] | #[[Replace With]] | #[[text and alias]] | #Formatting | #[[Page References]] | #[[Linked References]] - Articles:: - **[Roam Research has unlocked my desire to write](https://radi.blog/roam-research-has-unlocked-my-desire-to-write/) by [[Radi Baboe]]** - #[[Page References]] | #[[Search]] --- # Mentions - Mentions help you pull information (i.e., References) right on any [[Blocks]], without you having to open extra windows or sidebars to access them - For example, pulling the mentions for the [[Linked References]] and [[Unlinked References]] for White Paper - {{[[mentions]]: [[White Paper]]}} - Community Videos:: - How To Use Roam Research Basics: Mentions and Using It With Daily To Dos or Task Management by [[The Upgraded Brain]] - {{[[video]]: https://www.youtube.com/watch?v=5zC0EEeeMX0}} #[[Task Management]] | #[[Mentions]] | #[[Task Management]] - Articles:: - [What are page mentions and block mentions in Roam?](https://www.roamtips.com/home/page-mentions-and-block-mentions-roam) by [[Roam Tips]] - #[[/ Commands]] | #[[Mentions]] - Key Commands:: - `/mentions` --- # Images - You can include images on Roam in these two ways - Pull from the internet (nothing gets stored, so if original link is broken, you lose the [image](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FE5b-pBgXuQ.png?alt=media&token=b29c9beb-f9f3-44c7-88db-42a6b2b32289)) - ![image](https://res-1.cloudinary.com/crunchbase-production/image/upload/c_lpad,h_170,w_170,f_auto,b_white,q_auto:eco/kop5qscevpniah2rbsfb) - Upload from your local computer (the image gets uploaded to our server) - Team GIFs:: - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2Fp8y1UIR1C0.gif?alt=media&token=b7b763f2-b5f6-4e37-a015-0053dc0bf63c) - `/upload` to upload from your local computer #[[Key Commands]] - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2Fk6NvrFcN0y.gif?alt=media&token=2983eb2f-ccd4-4d0c-beed-a386bfc5a614) - Highlight a word, press `Cmd+k or Ctrl+k`, paste the image link #[[Key Commands]] - Key Commands:: - `![image](yourimageurl.com)` to pull from the internt --- # Journaling ### Articles:: #### [How to Keep a Journal in Roam Research](https://markmcelroy.com/how-to-keep-a-journal-in-roam-research/) by [[Mark McElroy]] - #[[Daily Notes]] | #[[Page References]] | #[[Slider]] #### [How to use Roam Research for Interstitial Journaling](https://www.cortexfutura.com/interstitial-journaling-roam-research/) by [[Cortex Futura]] - #[[Daily Notes]] | #[[Current time]] | #[[Page References]] #### [Atomic Journaling - Expanding Thoughts](https://brandontoner.substack.com/p/atomic-journaling) by [[Brandon Toner]] - #[[Daily Notes]] | #[[Templates]] | #[[Block References]] #### [Interstitial journaling: combining notes, to-do & time tracking](https://nesslabs.com/interstitial-journaling) by [[Anne-Laure Le Cunff]] - #[[Daily Notes]] | #[[Current time]] | #[[Task Management]] | #[[Page References]] #### [The Power of Roaman Journaling](https://www.roambrain.com/the-power-of-roaman-journaling/) by [[Tracy Winchell]] - #[[Templates]] | #[[Daily Notes]] | #[[Current time]] | #[[Block Embed]] --- # Research ### Roam Team Videos:: #### Roam for Research by [[Conor White-Sullivan]] - {{[[video]]: https://www.youtube.com/watch?v=L6GIW4PprQE&t=17s&ab_channel=ConorWhite-Sullivan}} #[[Page References]] | #[[Linked References]] | #[[Unlinked References]] | #[[Right Sidebar]] | #[[Block References]] ### Community Videos:: #### How I Use Roam for Academic Research by [[Notes with Ren]] - {{[[video]]: https://www.youtube.com/watch?v=JvoSiVolPko&t=7s&ab_channel=NotesWithRen}} #[[Page References]] | #[[Images]] | #[[Indentation]] | #[[Daily Notes]] #### How to Use Roam Research Attributes for Academic Reference Management by [[Nabhan]] - {{[[video]]: https://www.youtube.com/watch?v=7A_KMK4qILo&ab_channel=Nabhan}} #[[Query]] | #[[Page References]] | #[[Attributes]] | #[[Indentation]] ### Articles:: #### [In search of the Literature X-ray: Using Roam in academic research](https://www.roambrain.com/in-search-of-the-literature-x-ray/) by [[Cortex Futura]] - #[[Query]] | #[[Page References]] | #[[Alias]] --- # Export #### [[Markdown]] Export - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2F0kctjpXmJT.gif?alt=media&token=ded7c6ba-213f-414a-9ac7-98e4f88b24a5) #### [[MessagePack]] Export - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2Fkn-MMwwzSk.gif?alt=media&token=c410231c-6d70-48b8-a85f-cb0e0be11961) #### [[EDN]] Export - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FAXJRlzrq7N.gif?alt=media&token=9282e734-d22f-48f9-b1de-18bdb078441d) #### [[JSON]] Export - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FQYxCkKENWG.gif?alt=media&token=8aeda68f-d839-4c82-912f-d4480c915a27) #### Auto Backups - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FE-1xkkvU6W.gif?alt=media&token=c94c84b4-a93b-471f-8f05-8b7632671cae) --- # Long Videos #### Implementing a Digital Zettelkasten using Block References in Roam Research with [[Beau Haan]] by [[Robert Haisfield]] - {{[[video]]: https://www.youtube.com/watch?v=KoddCmn3eL0&ab_channel=RobertHaisfield}} #[[Block References]] | #[[Page References]] | #[[Indentation]] | #[[Daily Notes]] | #[[Current time]] | #[[Right Sidebar]] #### Todoist to Roam Research - Advanced Task Management in Roam by [[Matt Goldenberg]] - {{[[video]]: https://www.youtube.com/watch?v=xOTTyLtgqpM}} #[[roam/css]] | #[[Extensions]] | #[[roam/js]] | #[[Sidebar]] | #[[TODO/DONE]] | #[[Query]] #### A Beginner’s Guide to Roam Research by [[Drew Coffman]] - #[[Daily Notes]] - {{[[video]]: https://www.youtube.com/watch?v=X6OOos4met0}} #### How I Organise My Life with Roam by [[Ali Abdaal]] - #[[Daily Notes]] | #[[Bidirectional linking]] | #[[Linked References]] #[[Book]] | #[[Sidebar]] | #[[Tags]] | #[[Evergreen Notes]] | #[[Block References]] | #[[Templates]] | #[[Query]] - {{[[video]]: https://www.youtube.com/watch?v=bpikCLhpIRY}} --- # Date picker - Date picker helps you pick a date's page by showing you a calendar - {{date}} - Roam Team Videos:: - Scheduling with Roam by [[Conor White-Sullivan]] - {{[[video]]: https://www.youtube.com/watch?v=ByiFhtlI66A}} #[[Linked References]] | #[[TODO/DONE]] | #[[Date picker]] - Community Videos:: - How to Build a Weekly Schedule in Roam by [[Dalton Mabery]] - {{[[video]]: https://www.youtube.com/watch?v=E8GW5QhY9VY}} #[[Date picker]] | #[[TODO/DONE]] | #[[Tags]] | #[[Filter]] | #[[Linked References]] | #[[Query]] - Key Commands:: - `/date` --- # Attributes - Community Videos:: - Roam Basics Part 3: Attributes and Use of / by [[Dr Alex Popadich]] - {{[[video]]: https://www.youtube.com/watch?v=uO1zMII3gWs}} #[[/ Commands]] | #[[Attributes]] - Using Template Pages in Roam (Metadata) by [[Dalton Mabery]] - {{[[video]]: https://www.youtube.com/watch?v=FkIzSeXydZ4}} #[[Templates]] | #[[Attributes]] | #[[Sidebar]] - Task Management, Roam Research: Dealing with Dates by [[R.J. Nestor]] - {{[[video]]: https://www.youtube.com/watch?v=MyDpU4Shwcw}} #[[Filter]] | #[[Linked References]] | #[[Attributes]] - An in-depth look at Attributes in [[Roam Research]] + BONUS by [[m4rrc0]] - {{[[video]]: https://www.youtube.com/watch?v=uWXm85VFOQs}} #[[Attributes]] - --- # Bidirectional linking - It doesn't matter what [page]([[Pages]]) you've written a note on, if you mention an idea, every place where you mentioned that idea will get collected underneath that page in the [[Linked References]] section when you turn turn that idea into a [page reference]([[Page References]]) - Roam Team Videos:: - {{[[video]]: https://www.youtube.com/watch?v=v9s3pusI1JQ}} - {{[[video]]: https://www.youtube.com/watch?v=lHkMq3aqDtw&ab_channel=ConorWhite-Sullivan}} - Articles:: - [A Short History of Bi-Directional Links](https://maggieappleton.com/bidirectionals) by [[Maggie Appleton]] - Key Commands:: - `[[` to find or create [[Page References]] - `cmd+u` (macOS) / `ctrl+u` (PC) to [[Find or create page]] - `#` to find or create [[Page References]] as a [tag]([[Tags]]) --- # Studying - Community Videos:: - **Roam Research: Notetaking Session for School by [[J M]]** - {{[[video]]: https://www.youtube.com/watch?v=ZOWk76FhwEU&feature=youtu.be&ab_channel=JM}} #[[Page References]] | #[[Indentation]] | #[[Right Sidebar]] - **Roam for Students | How to Take Notes in a Lecture by [[Shu Omi]]** - {{[[video]]: https://www.youtube.com/watch?v=nWgXBGDP3nI&ab_channel=ShuOmi}} #[[Page References]] | #[[Indentation]] - **How I use Roam Research for Lecture Notes (for college students) by [[Abhinav Kejriwal]]** - {{[[video]]: https://www.youtube.com/watch?v=gBYwBNY3pNc&ab_channel=AbhinavKejriwal}} #[[Page References]] | #[[Sidebar]] | #[[Block References]] ### Articles:: #### [How I Used Roam Research to Study for Medical School](https://toolsforgrowth.substack.com/p/how-i-used-roam-research-to-study) - #[[Daily Notes]] | #[[Page References]] | #[[Indentation]] | #[[Linked References]] --- # Meeting notes ### Community Videos:: #### Mini CRM in Roam Research: Logging meeting notes by [[R.J. Nestor]] - {{[[video]]: https://www.youtube.com/watch?v=CnakhkONQ_g&t=6s&ab_channel=R.J.Nestor}} #[[Daily Notes]] | #[[Tags]] | #[[Indentation]] | #[[Linked References]] | #[[Filter]] | #[[Right Sidebar]] ### Roam Team Videos:: #### Meeting Notes in Roam by [[Conor White-Sullivan]] - {{[[video]]: https://www.youtube.com/watch?v=wMOOU8uFLZI&t=129s&ab_channel=ConorWhite-Sullivan}} #[[Page References]] | #[[Daily Notes]] | #[[Date picker]] | #[[Linked References]] | #[[TODO/DONE]] | #[[Right Sidebar]] | #[[Filter]] | #[[Query]] | #[[Block References]] | #[[Alias]] #### Taking Notes on 1:1s by [[Conor White-Sullivan]] - {{[[video]]: https://www.youtube.com/watch?v=otoF_ane688&ab_channel=ConorWhite-Sullivan}} #[[Conor White-Sullivan]] - {{[[video]]: https://www.youtube.com/watch?v=otoF_ane688&ab_channel=ConorWhite-Sullivan}} #[[Current time]] | #[[Page References]] | #[[Right Sidebar]] | #[[Linked References]] | #[[Query]] | #[[TODO/DONE]] | #[[Block References]] - --- # Code Block - You can include code in different programming languages in Roam, for example - JS block - ```javascript

Before the script...

...After the script.

``` - CSS block - ```css

Hello, Roamans!

``` - Clojure block - ```clojure (ns hello-world.core) (println "Hello Roamans!")``` - Key Commands: - `/code block` --- # Page References - Page references are links to [[Pages]] in your graph - You can reference an existing page by typing `[[`, which will open a dropdown menu with reference it in place or reference an existing page - All references to a page that have been linked through this method will appear in that pages [[Linked References]] - You can transform any mention of a page to a page reference by opening up the [[Unlinked References]] underneath where you can see and link all the mentions of a page that haven't been linked yet - Roam Team Videos:: - {{[[video]]: https://www.youtube.com/watch?v=v9s3pusI1JQ}} - {{[[video]]: https://www.youtube.com/watch?v=lHkMq3aqDtw&ab_channel=ConorWhite-Sullivan}} - Community Videos:: - Articles:: --- # Scripture Study ### Community Videos:: #### Processing Sermon/Bible Notes Using Roam Research by [[Mickey Mellen]] - {{[[video]]: https://www.youtube.com/watch?v=nplokaE6FKY&ab_channel=MickeyMellen}} #[[Page References]] | #[[Linked References]] | #[[Graph Overview]] | #[[Block References]] | #[[Sidebar]] ### Articles:: #### [How I’m Using Roam Research for Bible Study](https://thesweetsetup.com/how-im-using-roam-research-for-bible-study/) by [[Josh Ginter]] - #[[Graph Overview]] | #[[Date picker]] | #[[Upload Files]] | #[[Markdown]] | #[[Page References]] | #[[Block References]] #### [Processing sermon and Bible notes using Roam](https://www.roambrain.com/processing-sermon-and-bible-notes-using-roam/) by [[Mickey Mellen]] - #[[Page References]] | #[[Linked References]] | #[[Graph Overview]] | #[[Block References]] | #[[Sidebar]] --- # Sharing #### Sharing graph as read-only - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2Fks9BpYNOVI.gif?alt=media&token=5fabb1d0-1981-4a47-a2e0-f2d397b2c3b0) #### Sharing graph as publicly editable - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FEqKJeMhJdP.gif?alt=media&token=9cb021da-d509-496f-b10d-4e8c696f72a8) #### Sharing graph with specific editors - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FJKD9mM0cwC.gif?alt=media&token=2a28d233-3de1-4667-8c07-5f1dcff7b670) #### Sharing graph with specific readers - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FrdZtxdwzbn.gif?alt=media&token=d46dd91e-4963-4dca-bb5f-82f7975e1b6b) --- # Word count - Word count counts the number of words in a block, for example - The below child block has 115 words - Roam is an online workspace for organizing and evaluating knowledge. The system is built on a directed graph, which frees it from the constraints of the classic file tree. Users can remix and connect ideas in multiple overlapping hierarchies, with each unit of information becoming a node in a dynamic network. Any given node can occupy multiple positions simultaneously, convey information through defined relationships, and populate changes throughout the graph. With weightings assigned to the strength of relationships between nodes, Roam also becomes a tool for Bayesian inference and decision making. The ultimate goal is to extend the system to collaborative reasoning, allowing groups to build shared mental maps and make faster and better-informed decisions. {{[[word-count]]}} - The below child block has 0 words - {{word-count}} - You can also go to ALL PAGES on your [[Left Sidebar]] and view the pages with the most to least word count, or vice versa - Key Commands:: - `/word` --- # Cancelling your membership during your free trial - [Sign In](https://roamresearch.com/#/signin) to your Roam account, with the email address you used at sign up: - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FBj_clKqSJv.png?alt=media&token=c948a55a-37cb-4426-9d56-8cbd44981fe0) - Then, you can cancel/manage your trial/subscription directly from the following link: https://roamresearch.com/#/billing - You can also access your Billing page by going to the [Graphs & Settings](https://roamresearch.com/#/app) page, and cancel/manage your subscription by clicking on your **Name/Email > Billing > Manage Subscription > Cancel Subscription** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FNUB1yF5V5R.gif?alt=media&token=68629f15-205e-4e27-81dd-293e0ba9b6cf) - This will cancel your trial. If you have any problems at all, please contact Roam support at [support@roamresearch.com](mailto:support@roamresearch.com). We can also cancel your trial/plan manually on your behalf well. - For your information, Canceling or failing to renew a subscription has 0 effect on your notes - you won't be able to add new notes or edit them, but you'll have access to the graph and the ability to [export your notes](https://roamresearch.com/#/app/help/page/FK4fiJVom) (as Markdown, JSON, EDN or [MessagePack](https://roamresearch.com/#/app/help/page/8StBIyCnR) format). - Thanks for trying Roam! --- # Spanish #### ✏️Cómo TOMAR NOTAS con ROAM RESEARCH & ZETTELKASTEN | Tutorial en español by [[Emowe Aprendizaje]] - {{[[video]]: https://www.youtube.com/watch?v=bwpVWyOBjHw}} #[[Daily Notes]] | #[[Page References]] | #[[Formatting]] | #[[Graph Overview]] | #[[Right Sidebar]] | #[[Linked References]] | #[[Navigation]] | #[[Block References]] | #[[Block Embed]] - --- #### [Curso Roamresearch "Beta"](https://www.youtube.com/playlist?list=PL2CI0VRuaLWcDOU6RQLVJQb6lwW4QRqAN) | by [[Jorge Arone]] - #Courses - --- #### [Curso Roamresearch "Avanzado"](https://www.youtube.com/playlist?list=PL2CI0VRuaLWchGZi3KZOwvwqPNDGBicXP) | by [[Jorge Arone]] - #Courses --- # Console Logs - To capture console logs - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FtJGk8RLQBL.gif?alt=media&token=1aca0f27-de62-4661-8e02-37b4fcd4ccea) - Right click your Roam screen - Click "Inspect" - Click "Console" - Right click anywhere in the console logs - Click "Save as" - Save --- # Block Search - Key Things to Know - Open by pressing `Ctrl+Shift+9` while focused on a block - `Tab` or `Enter` will add an item to the path or—when there is no text in the search field—select the block and ref it in the focused block - `Delete` will move you back up the path - Use Cases:: - Placing new items on another page, then referencing them in your current context - Without breaking flow --- # Roam Depot - Official [[Plugins]] - [[July 21st, 2021]] - https://twitter.com/RoamResearch/status/1550192726540374016?s=20&t=qEEBfrUN4jkSq9qSt5HDAQ - [[PhonetoNote]] - https://twitter.com/phonetonote/status/1551764556707397633?s=20&t=qEEBfrUN4jkSq9qSt5HDAQ - [[Matter]] - https://twitter.com/matter/status/1549490849595080704?s=20&t=qEEBfrUN4jkSq9qSt5HDAQ --- # Character count - Character count counts the number of characters in a block, for example - The below child block has 768 characters - Roam is an online workspace for organizing and evaluating knowledge. The system is built on a directed graph, which frees it from the constraints of the classic file tree. Users can remix and connect ideas in multiple overlapping hierarchies, with each unit of information becoming a node in a dynamic network. Any given node can occupy multiple positions simultaneously, convey information through defined relationships, and populate changes throughout the graph. With weightings assigned to the strength of relationships between nodes, Roam also becomes a tool for Bayesian inference and decision making. The ultimate goal is to extend the system to collaborative reasoning, allowing groups to build shared mental maps and make faster and better-informed decisions. {{character-count}} - The below child block has no characters - {{character-count}} - Key Commands:: - `/character` --- # Why Roam? - This thread of threads on Twitter answers the question of "Why Roam?" pretty well, if not succinctly 😉 - https://twitter.com/Conaw/status/1198399750032232449?s=20a - *Conor mentions the old help graph in this thread. If you are searching for the white paper, he mentioned, find it in this graph [here]([[White Paper]]). - - Community Videos:: - **Exploring Networked Thought: The Story of Roam Research by [[Futurism]]** - {{[[video]]: https://www.youtube.com/watch?v=EqyJweIHaeg}} #[[Bidirectional linking]] --- # Chinese - Community Videos:: - **Roam Research Tutorials by [[Shuyi Wang]]** - {{[[video]]: https://www.youtube.com/watch?v=TXKa0VbQZeY&list=PL-BErONJz2qEEUS3OjpuWHhtb9JjXKFBZ&index=2}} #[[Page References]] | #[[Bidirectional linking]] | #[[Block References]] | #[[Linked References]] | #[[Graph Overview]] - **用Roam Research做唸書筆記:以民法總則為例 by [[yang Scicily]]** - {{[[video]]: https://www.youtube.com/watch?v=Ic3Ens2DJzs&feature=youtu.be}} #[[Graph Overview]] | #[[Sidebar]] | #[[Page References]] - **Roam教學:第一集(Otter.ai與otter2roam的運用) by [[曹建雄]]** - {{[[video]]: https://www.youtube.com/watch?v=W2CkfWkxluo}} #[[Upload Files]] | #[[Audio Player]] | #[[Video Embed]] | #[[otter2roam]] --- # Current time - Current time displays the current time in your time zone, it's great for tracking time while writing daily logs - For example - 21:19 - Task Management by [[Conor White-Sullivan]] - {{[[video]]: https://www.youtube.com/watch?v=3aCl7dCYVqA&t=6s&ab_channel=ConorWhite-Sullivan}} #[[TODO/DONE]] | #[[Daily Notes]] | #[[Filter]] | #[[Linked References]] | #[[Block Embed]] | #[[Current time]] | #[[Block References]] - Key Commands:: - `/time` --- # Adding soft line breaks in a block - Each individual bullet point in a page in Roam is referred to as a block.  When you press enter Roam creates a new block on the next line in your page.  Here's an example from a test page where I create five separate blocks. - ![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/64001916149/original/e94i3GMtvW2xgqkj42JQP1KtV5M4yHYawQ.gif?1597887885) - It's also possible to create blocks that include soft line breaks between text.  If you have a block with a lot of text, rather than have all your text as a slab, using soft lines breaks allows you to space out this text within a single block. - To add a soft line break press enter + shift.  You can then write on a new line, but it remains in the same block.  Here's an example where I add soft line breaks by pressing enter + shift five times between the first and second sentence. In contrast to the first example, both of these sentences in the second example remain in the same block. You can notice this because there are no bullets between the top and bottom sentence. - ![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/64001917960/original/NDHp7Y48v_0YTBpzRgivRN1Ef7AuhRgL_w.gif?1597894336) - Adding soft line breaks is a nice formatting tool, it allows you to create blocks with a lot of rich information such as paragraphs but also giving the text a more readable style with these blocks. - The best way to see whether soft line breaks are a useful feature for you is try it out yourself --- # Import #### Importing [[JSON]] - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2Fc7Lo7AEKTW.gif?alt=media&token=30f458c8-7c5e-4777-8e7d-d1324f6453a6) #### Importing [[Markdown]] - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FqVCxXBjzNU.gif?alt=media&token=7f3f8124-9e32-486d-9e3d-c004598f346c) #### Restore your entire graph from [[EDN]] or [[MessagePack]] - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FOTJ1ZlcVwn.gif?alt=media&token=ddd6d7a9-b708-40f0-8bd6-0d5587262b95) --- # Version Control - Version control helps you create different versions of of the same block, often used when you want to make multiple drafts of something - This is an example with Roam's elevator pitch, click on the numbers to see the different versions - Roam is a tool to compound knowledge, something I'd be proud to look back on how my brain has grew and evolved 20 years later. - Key Commands:: - `Ctrl+,` for Windows - `Cmd+,` for Mac --- # Kids ### Community Videos:: #### Roam Research for Kids by [[Les Kristofs]] - {{[[youtube]]: https://www.youtube.com/watch?v=PMJL2cvmeeQ&list=PLS7Ix7BP1Vuoi3Hl46nUnDHukb52xQWx2}} #[[Daily Notes]] | #[[Page References]] | #[[Bidirectional linking]] | #[[Task Management]] | #[[Table]] | #[[Current time]] | #[[Right Sidebar]] | #[[Templates]] | #[[Block References]] | #[[Tags]] ### Articles:: #### [Let the Kids Roam](https://www.roambrain.com/let-the-kids-roam/) by [[Les Kristofs]] - #[[Pomodoro timer]] | #[[KaTeX]] | #[[Calculator]] | #[[Task Management]] | #[[Upload Files]] | #[[Page References]] --- # Left Sidebar #### Star/unstar pages - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FNRorx4Exjz.gif?alt=media&token=f944f398-c784-468f-8dd6-d29a5cc5e945) #### Drag and drop to reorder shortcuts - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FNNB1u-Q7BF.gif?alt=media&token=8b3ced99-39ae-4973-83f3-9930dda79b09) #### Dropdown menu to access graphs - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FeFf25Fq_-A.gif?alt=media&token=f8a7adc0-6992-4b9e-9b1b-75ef0f209220) --- # Wiki ### Community Videos:: #### Creating a Life Wiki in Roam by [[Shu Omi]] - {{[[video]]: https://www.youtube.com/watch?v=PrEuEgxZMQw}} #[[Graph]] | #[[Diagram]] ### Articles:: #### [Building a Personal Wikipedia with Roam Research](https://thalein.medium.com/building-a-personal-wikipedia-with-roam-research-b26b489b9e4b) by [[Tim de Rooij]] - #[[Attributes]] | #[[Block References]] | #[[Linked References]] --- # Today - The "today" function auto generates today's daily notes page, it will either give you a static result, or a variable result ("today" will always point to today's date, rather than a set date) when used in a [[Query]] - For example, a static result: today is [[March 8th, 2021]] - A variable result: {{[[query]]: {and: [[today]] [[tomorrow]] {not: [[query]]}}}} - Key Commands:: - `/today` --- # Slider - Sliders are good for representing data on a scale, and are especially useful for polls on [[Multiplayer]] graphs! - Type `{{[[slider]]}}` (or select `Slider` after [typing]([[/ Commands]]) `/`) to conjure one: - {{[[slider]]}} - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp-documentation%2FqaRPRyZuKx.gif?alt=media&token=3a89f74b-4888-4b79-9efa-35d27e88fd23) - Other users can click on the slider to give their rating as well --- # Russian ### Community Videos:: #### Мастер-класс по Roam Research от Сергея Хабарова by [[Школа ченджеров]] - {{[[video]]: https://www.youtube.com/watch?v=sPAioC8un2w&feature=emb_title&ab_channel=%D0%A8%D0%BA%D0%BE%D0%BB%D0%B0%D1%87%D0%B5%D0%BD%D0%B4%D0%B6%D0%B5%D1%80%D0%BE%D0%B2}} #[[Page References]] | #[[Linked References]] | #[[Graph Overview]] | #[[Unlinked References]] | #[[Daily Notes]] | #[[Block References]] | #[[Right Sidebar]] | #[[/ Commands]] ### Articles:: #### [Гид по философии Roam Research](https://khabaroff.com/roam-research/) by [[khabaroff]] --- # Numbered List Extension - Thank you for installing the Numbered List extension for Roam Research. This page has been automatically generated to allow creation of a SmartBlock to allow you to refresh your numbered lists after you move things around and re-order them. - Below the horizontal line is the Refresh Numbered List SmartBlock. Please don't change it unless you know what you are doing! - --- - #SmartBlock Refresh Numbered List - <%REFRESHNUMBEREDLIST%> --- # Encrypted Block - Encrypted block creates encrypted text that can only be unlocked with a secret password - Try clicking on the encrypted block below, and enter the passphrase `hello` - {{encrypt:U2FsdGVkX19S1e0ybaJH2keLGMifvVhqsBlVINdMpvPegcL01PWU6gjltQgbMGwzLoZWQdzrejJ8tJFNKIjNAUfBZ2o4d5XVpZRhDyICt8DoDCbPD65ATX9HHfM4Oa72zxv5jKUESYe0xku/Yqj3Lg==}} ### Roam Team Videos:: - https://twitter.com/i/status/1226658292333568003 --- # Tomorrow - The "tomorrow" function auto generates tomorrow's daily notes page, it will either give you a static result, or a variable result ("tomorrow" will always point to tomorrow's date, rather than a set date) when used in a [[Query]] - For example, a static result: tomorrow is [[March 9th, 2021]] - A variable result: {{[[query]]: {and: [[today]] [[tomorrow]] {not: [[query]]}}}} - Key Commands:: - `/tomorrow` --- # Tags - Tags are just [[Page References]] that are styled a bit differently (light grey font color) so that the tag is not as prominent - Usually used at the end of blocks or at the beginning, whereas normally [[Page References]] are used alone as parent block or inline as part of a sentence - Key Commands:: - `#` to find or create [[Page References]] as a [tag]([[Tags]]) --- # Alexander Rink - [[Roam Depot Extensions]] - [Roam Studio](https://github.com/rcvd/RoamStudio) - Discover a wide range of themes for Roam Research that are beautiful and highly customizable, with various options and modules to choose from. - [Magic Tags](https://github.com/rcvd/magic-tags) --- # Korean - ### Articles:: #### ['롬 리서치' 카테고리의 글 목록](https://learning-and-practice.tistory.com/category/%EB%A1%AC%20%EB%A6%AC%EC%84%9C%EC%B9%98) - #[[Right Sidebar]] | #[[Block References]] | #[[Block Embed]] | #[[Daily Notes]] | #[[Page References]] | #[[Linked References]] | #[[Indentation]] | #[[Unlinked References]] --- # Latex - Description:: - Any text entered with `$$double dollar signs$$` will be evaluated as latex, using [[Khan Academy]]'s katex typesetting library -- see docs for that here https://katex.org/ - particularly here https://katex.org/docs/supported.html - [[Change Log]] - {{embed-path: [[Latex]] now will parse block references, including other latex so you can comp}} --- # Key Commands - Turn key commands instruction on with custom components like this - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FCGJbyfjuGM.gif?alt=media&token=8bcd4699-2548-43b1-844c-dc91d675ae9f) - {{roam/render: ```clojure (ns roam.keycommand (:require [clojure.string :as str] [clojure.core :refer [println]] [reagent.core :as r] [roam.util :as u])) (defn includes? [s1 s2] (when (and (string? s1) (string? s2)) (str/includes? (str/upper-case s1) (str/upper-case s2)))) (defn includes-strings? [s strings] (every? #(includes? s %) strings)) (def help-content [{:category "The Basics" :id 0 :type :key-command :functions [{:name "Find or create new page" :shortcut {:mac "cmd+u" :pc "ctrl+u"}} {:name "Bring up quick commands" :shortcut {:mac "/" :pc "/"}} {:name "Reference or create new page" :shortcut {:mac "[[" :pc "[["}} {:name "Reference a block" :shortcut {:mac "((" :pc "(("}} {:name "New block" :shortcut {:mac "return" :pc "enter"}} {:name "Indent block" :shortcut {:mac "tab" :pc "tab"}} {:name "Unindent block" :shortcut {:mac "shift+tab" :pc "shift+tab"}}]} {:category "Formatting" :id 1 :type :markdown-key-command :functions [{:markdown "**Bold**" :shortcut {:mac "cmd+b" :pc "ctrl+b"}} {:markdown "__Italics__" :shortcut {:mac "cmd+i" :pc "ctrl+i"}} {:markdown "~~Strikethrough~~" :shortcut {:mac "cmd+y" :pc "ctrl+y"}} {:markdown "^^Highlight^^" :shortcut {:mac "cmd+h" :pc "ctrl+h"}} {:markdown "[Link](/#/app/help)" :shortcut {:mac "cmd+k" :pc "ctrl+k"}} {:markdown "$$\\KaTeX$$" :shortcut {:mac "$$" :pc "$$"}} {:markdown "# Heading 1" :shortcut {:mac "cmd+opt+1" :pc "ctrl+alt+1"}} {:markdown "## Heading 2" :shortcut {:mac "cmd+opt+2" :pc "ctrl+alt+2"}} {:markdown "### Heading 3" :shortcut {:mac "cmd+opt+3" :pc "ctrl+alt+3"}}]} {:category "Navigating" :id 2 :type :key-command :functions [{:name "Move cursor to next block" :shortcut {:mac "down" :pc "down"}} {:name "Move cursor to previous block" :shortcut {:mac "up" :pc "up"}} {:name "Go to Daily Notes page" :shortcut {:mac "ctrl+shift+d" :pc "alt+d"}} {:name "Zoom in to current block" :shortcut {:mac "cmd+." :pc "alt+right"}} {:name "Zoom out to parent block" :shortcut {:mac "cmd+," :pc "alt+left"}} {:name "Go to next day\n(when on daily page)" :shortcut {:mac "ctrl+opt+n" :pc nil}} {:name "Go to previous day\n(when on daily page)" :shortcut {:mac "ctrl+opt+p" :pc nil}} {:name "Go to first block on page\n(when nothing is selected)" :shortcut {:mac "cmd+return" :pc "ctrl+enter"}} {:name "Go to last block on page\n(when nothing is selected)" :shortcut {:mac "cmd+shift+return" :pc "ctrl+shift+enter"}} {:name "Follow link under cursor" :shortcut {:mac "ctrl+o" :pc "ctrl+o"}} {:name "Open link under cursor in sidebar" :shortcut {:mac "ctrl+shift+o" :pc "ctrl+shift+o"}} {:name "Move cursor forward" :shortcut {:mac "ctrl+f" :pc nil}} {:name "Move cursor backward" :shortcut {:mac "ctrl+b" :pc nil}} {:name "Jump to start of block" :shortcut {:mac "ctrl+a" :pc "ctrl-home"}} {:name "Jump to end of block" :shortcut {:mac "ctrl+e" :pc "ctrl-end"}}]} {:category "Blocks" :id 3 :type :key-command :functions [{:name "Move block up" :shortcut {:mac "cmd+shift+up" :pc "alt+shift+up"}} {:name "Move block down" :shortcut {:mac "cmd+shift+down" :pc "alt+shift+down"}} {:name "New line within block" :shortcut {:mac "shift+return" :pc "shift+enter"}} {:name "Expand block" :shortcut {:mac "cmd+down" :pc "ctrl+down"}} {:name "Collapse block" :shortcut {:mac "cmd+up" :pc "ctrl+up"}} {:name "Select current block and children" :shortcut {:mac "shift+up" :pc "shift+up"}} {:name "Select block above\n(when block selected)" :shortcut {:mac "shift+up" :pc "shift+up"}} {:name "Select block below\n(when block selected)" :shortcut {:mac "shift+down" :pc "shift+down"}} {:name "Select all blocks on page" :shortcut {:mac "cmd+shift+a" :pc "ctrl+shift+a"}} {:name "Copy block reference(s)\nof selected block(s)" :shortcut {:mac "cmd+shift+c" :pc "ctrl+shift+c"}} {:name "Cycle TODO state of\n current / selected blocks" :shortcut {:mac "cmd+return" :pc "ctrl+enter"}} {:name "Open block search" :shortcut {:mac "ctrl+shift+9" :pc "ctrl+shift+9"}}]} {:category "Sidebar" :id 4 :type :key-command :functions [{:name "Toggle left sidebar visibility" :shortcut {:mac "cmd+\\" :pc "ctrl+\\"}} {:name "Toggle right sidebar visibility" :shortcut {:mac "cmd+/" :pc "ctrl+/"}} {:name "Open page in right sidebar" :shortcut {:mac "shift+click" :pc "shift+click"}} {:name "Open mentions in right sidebar" :shortcut {:mac "cmd+shift+click" :pc "ctrl+shift+click"}} {:name "Create page in sidebar\n(from search)" :shortcut {:mac "shift+return" :pc "shift+enter"}} {:name "Open link in sidebar\n(when editing)" :shortcut {:mac "ctrl+shift+o" :pc "ctrl+shift+o"}}]} {:category "Appearance" :id 5 :type :key-command :functions [{:name "Toggle display of\ndouble brackets" :shortcut {:mac "ctrl+c+b" :pc "ctrl+c+b"}} {:name "Toggle display of\nall inline mentions" :shortcut {:mac "ctrl+c+r" :pc "ctrl+c+r"}} {:name "Toggle all users' bullet colors" :shortcut {:mac "ctrl+c+s" :pc "ctrl+c+s"}} {:name "Toggle other users' bullet colors" :shortcut {:mac "ctrl+c+c+s" :pc "ctrl+c+c+s"}} {:name "Toggle block live preview" :shortcut {:mac "ctrl+c+p" :pc "ctrl+c+p"}} {:name "Cycle namespace display" :shortcut {:mac "ctrl+c+l" :pc "ctrl+c+l"}}]} {:category "Other" :id 6 :type :key-command :functions [{:name "Toggle help popup visibility" :shortcut {:mac "opt+shift+h" :pc "alt-shift+h"}} {:name "Undo" :shortcut {:mac "cmd+z" :pc "ctrl+z"}} {:name "Redo" :shortcut {:mac "cmd+shift+z" :pc "ctrl+shift+z"}} {:name "Move character under cursor forward" :shortcut {:mac "ctrl+t" :pc nil}}]}]) (def PC? (when-not (nil? js/navigator) (not (str/includes? js/navigator.userAgent "Mac OS X")))) (defn key-command-view [{:keys [name shortcut]}] (when (or (not PC?) (and PC? (:pc shortcut))) [:div.rm-help-function [:div.rm-help-function__name name] [:span.rm-help-function__shortcut [:code (if PC? (:pc shortcut) (:mac shortcut))]]])) (defn markdown-key-command-view [{:as props :keys [markdown shortcut]}] (when (or (not PC?) (and PC? (:pc shortcut))) [:div.rm-help-markdown-function [:div.rm-help-markdown-function__style (cond (str/starts-with? markdown "###") [:span.rm-level3 (subs markdown 4)] (str/starts-with? markdown "##") [:span.rm-level2 (subs markdown 3)] (str/starts-with? markdown "#") [:span.rm-level1 (subs markdown 2)] :else (u/parse markdown))] [:span.rm-help-markdown-function__markdown markdown] [:span.rm-help-markdown-function__shortcut (when shortcut [:code (if PC? (:pc shortcut) (:mac shortcut))])]])) (defn content [_] (let [*query (r/atom "") *selected-category-id (r/atom nil)] (fn [_] (let [split-query (str/split @*query #"\s+") filtered-content (->> help-content (map (fn [category] (assoc category :functions (filter (fn [{:as function :keys [name markdown title description shortcut]}] (or (includes-strings? name split-query) (includes-strings? markdown split-query) (includes-strings? (:pc shortcut) split-query) (includes-strings? (:mac shortcut) split-query))) (:functions category))))) (filter #(> (count (:functions %)) 0)))] [:div.rm-help [:div.rm-help-search.sticky [:div.rm-help-search__icon-container [:span.bp3-icon-large.bp3-icon-search]] [:input.rm-help-search__input {:placeholder "Search all key commands" :value @*query :auto-focus "autofocus" :on-change #(reset! *query (.. % -target -value))}]] [:div.rm-help-results [:div.rm-help__left-panel.sticky [:div.rm-help-categories (doall (for [{:keys [category id]} filtered-content] ^{:key (str "category-" category)} [:div.rm-help-category-menu-item {:class (when (= id @*selected-category-id) "rm-help-category-menu-item--selected") :on-click #(let [function-group (.getElementById js/document (str "rm-help-" id))] (.scrollIntoView function-group) (reset! *selected-category-id id))} category]))]] [:div.rm-help-functions (doall (for [{:keys [category functions id type]} filtered-content] ^{:key (str "title-" category)} [:div.rm-help-functions__category {:id (str "rm-help-" id)} [:div.rm-help-category__name category] [:hr] (doall (for [{:as function :keys [name markdown]} functions] ^{:key (str "function-" (or name markdown))} (condp = type :key-command [key-command-view function] :markdown-key-command [markdown-key-command-view function])))]))]]]))))```}} - --- # Roam Slack ## We have a thriving community on Slack! ## Join via [this link](https://join.slack.com/t/roamresearch/shared_invite/zt-1x2y9jkx1-KkSjlsWeTdfXy5H8hMB7tg) ### We've got a curated graph of content of important things, accessible [here](https://roamresearch.com/#/app/roam-slack) #### If you'd like access to the archive, fill out [this form](https://docs.google.com/forms/d/e/1FAIpQLSc8SpE4UOr2UynEqk-2Ob9TZECQaYGNO6XksphxqVPH2HosmQ/viewform) --- # Linked References #### Description:: - The Linked References section at the bottom of each page collects all the references to that page that - You can [filter]([[Filter]]) the linked references based on the other pages referenced in the same parent path --- # Release notes (daily-note updates from the help graph) ## April 1st, 2026 - dsagj da - dsaj dag - dashj dsag kjsda - dsanj kdsah dsbaj k - dabsj sdag jbksda - dsaj khsag jdas - gsda jkh dsjkdsa - h ajsdg dsa - dsanj kdsah - j kdas ## March 24th, 2026 - ## March 15th, 2026 - test [[March 15th, 2026]] ## January 22nd, 2026 - 19:13 - 20:57 - 20:57 - ## January 2nd, 2026 - ## June 21st, 2025 - [[Quality of Life Improvements]] - Fix selecting blocks with the mouse when the blocks are aligned horizontally, such as with the horizontal [[block view]] or with css - Auto scroll the page when selecting blocks with the mouse ## May 24th, 2025 - ## March 7th, 2025 - - {{[[query]]: "Query bug fixes" {and: [[Query]] [[Bug Fixes]]}}} - ## February 27th, 2025 - - ## February 20th, 2025 - ## January 8th, 2025 - ## November 26th, 2024 - [[test mobile long press]] ## June 17th, 2024 - ## June 14th, 2024 - ## June 11th, 2024 - ## September 19th, 2023 - [[Change Log]] ## May 9th, 2023 - ## March 3rd, 2023 - ## February 10th, 2023 - [[Project: 30 Demos in 6 Weeks]] - {{[[DONE]]}} [[Experiment]] - Demo how it was possible to use the combination of [[roam/render]] and [[roam/templates]] to create a **factory template** the creates customizable dropdowns which add block-refs to a selected item from a particular list. - Video - {{[[video]]: https://www.loom.com/share/1adf78d01db9435fb69bf4249a296a66}} - To use - {{[[TODO]]}} copy this block into your graph #.bp3-card - **Conor's [[Factory Template]] for creating Option Dropdowns based on block refences #[[roam/templates]]** - Congratulations! You have just created a new **Dropdown Template** - #.rm-g #.rm-h - {{[[TODO]]}} Edit the block below to change the template - [[RM/Component/Select]] an item from Dropdown List [[roam/templates]] - {{[[roam/render]]: ```clojure (ns niki.dropdown (:require [clojure.string :as str] [roam.block :as block] [roam.datascript.reactive :as dr])) (defn replace-with-block-ref [block-uid opts-uid ref-uid] (let [before (->> [:block/uid block-uid] (dr/pull [:block/string]) (deref) :block/string) pattern (re-pattern (str "\\{\\{" "(?:\\[\\[)?roam/render(?:\\]\\])?:" ;; [[roam/render]] "\\s*" "\\(\\(([a-zA-Z0-9-]+)\\)\\)" ;; render code block "\\s*" "\\(\\((" opts-uid ")\\)\\)" ;; options block "\\s*" "(\\(\\(([a-zA-Z0-9-]+)\\)\\))?" ;; selected block "\\}\\}")) after (str/replace before pattern (str "{{[[roam/render]]: (($1)) (($2)) ((" ref-uid "))}}"))] (block/update {:block {:uid block-uid :string after}}))) (defn view-children-clickable [block-uid opts-uid selected-uid] (let [children (->> [:block/uid opts-uid] (dr/pull [{:block/children [:block/uid :block/string]}]) deref :block/children)] [:select {:id opts-uid :on-change #(replace-with-block-ref block-uid opts-uid (-> % .-target .-value))} (for [c children] [:option {:value (:block/uid c) :selected (= (:block/uid c) selected-uid) :on-change #(replace-with-block-ref (:block/string c))} (:block/string c)])])) (defn main [{:keys [block-uid]} [_ opts-uid] & [[_ selected-uid]]] [view-children-clickable block-uid opts-uid selected-uid])``` Dropdown List}} - {{[[TODO]]}} Edit these blocks to change the items visible in the dropdown - Dropdown List - A - B - C - {{[[TODO]]}} Apply the template #.rm-E - {{[[TODO]]}} type `;;` - {{[[TODO]]}} search for the label you've given it here -> - This will produce a custom Select Component like this one - {{[[roam/render]]: ```clojure (ns niki.dropdown (:require [clojure.string :as str] [roam.block :as block] [roam.datascript.reactive :as dr])) (defn replace-with-block-ref [block-uid opts-uid ref-uid] (let [before (->> [:block/uid block-uid] (dr/pull [:block/string]) (deref) :block/string) pattern (re-pattern (str "\\{\\{" "(?:\\[\\[)?roam/render(?:\\]\\])?:" ;; [[roam/render]] "\\s*" "\\(\\(([a-zA-Z0-9-]+)\\)\\)" ;; render code block "\\s*" "\\(\\((" opts-uid ")\\)\\)" ;; options block "\\s*" "(\\(\\(([a-zA-Z0-9-]+)\\)\\))?" ;; selected block "\\}\\}")) after (str/replace before pattern (str "{{[[roam/render]]: (($1)) (($2)) ((" ref-uid "))}}"))] (block/update {:block {:uid block-uid :string after}}))) (defn view-children-clickable [block-uid opts-uid selected-uid] (let [children (->> [:block/uid opts-uid] (dr/pull [{:block/children [:block/uid :block/string]}]) deref :block/children)] [:select {:id opts-uid :on-change #(replace-with-block-ref block-uid opts-uid (-> % .-target .-value))} (for [c children] [:option {:value (:block/uid c) :selected (= (:block/uid c) selected-uid) :on-change #(replace-with-block-ref (:block/string c))} (:block/string c)])])) (defn main [{:keys [block-uid]} [_ opts-uid] & [[_ selected-uid]]] [view-children-clickable block-uid opts-uid selected-uid])``` Dropdown List}} - built off this Dropdown List - This component is an experiment, and was built paritally as a demo of what you can do with [[roam/render]] - a feature of roam that allows you to build interactive components out of code blocks written __inside__ your roam graph and referenced by the component in this format `{{[[roam/render]]: ((id for the code block goes here)) }}` - If you'd like to edit the code for the template - you can edit it here - ```clojure (ns niki.dropdown (:require [clojure.string :as str] [roam.block :as block] [roam.datascript.reactive :as dr])) (defn replace-with-block-ref [block-uid opts-uid ref-uid] (let [before (->> [:block/uid block-uid] (dr/pull [:block/string]) (deref) :block/string) pattern (re-pattern (str "\\{\\{" "(?:\\[\\[)?roam/render(?:\\]\\])?:" ;; [[roam/render]] "\\s*" "\\(\\(([a-zA-Z0-9-]+)\\)\\)" ;; render code block "\\s*" "\\(\\((" opts-uid ")\\)\\)" ;; options block "\\s*" "(\\(\\(([a-zA-Z0-9-]+)\\)\\))?" ;; selected block "\\}\\}")) after (str/replace before pattern (str "{{[[roam/render]]: (($1)) (($2)) ((" ref-uid "))}}"))] (block/update {:block {:uid block-uid :string after}}))) (defn view-children-clickable [block-uid opts-uid selected-uid] (let [children (->> [:block/uid opts-uid] (dr/pull [{:block/children [:block/uid :block/string]}]) deref :block/children)] [:select {:id opts-uid :on-change #(replace-with-block-ref block-uid opts-uid (-> % .-target .-value))} (for [c children] [:option {:value (:block/uid c) :selected (= (:block/uid c) selected-uid) :on-change #(replace-with-block-ref (:block/string c))} (:block/string c)])])) (defn main [{:keys [block-uid]} [_ opts-uid] & [[_ selected-uid]]] [view-children-clickable block-uid opts-uid selected-uid])``` ## August 15th, 2022 - {{embed-path: [[August 15th, 2022]]}} ## June 13th, 2022 - ## May 13th, 2022 - ## February 3rd, 2022 - ## January 24th, 2022 - ## October 29th, 2021 - {{[[query]]: {and: [[ex-A]] [[ex-B]]}}} ## October 7th, 2021 - [[October 7th, 2021]] - [[Quality of Life Improvements]] - Fix [[autocomplete]] appearing offscreen in [[embed]]s, the [[Right Sidebar]] and [[mobile]] - [[embed]] - **before** - Autocomplete gets "trapped" inside of the embed - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2Fl-yBff_stw.png?alt=media&token=72683948-7ebc-440c-8bd6-0e34aff4a8bd) - and scrolls the embed, which sometimes leads to the embed getting stuck - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FVobJ470b9-.png?alt=media&token=1d4a2e9a-9b1e-401f-8182-12b962a5bfb0) - **after** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Froamteam%2FdfjnNdt-Xv.png?alt=media&token=6a134550-fb43-4035-bfb3-fa5fdc74f840) - [[Right Sidebar]] - **before** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2F0jSiiGlMdB.png?alt=media&token=b1a96c21-c829-411c-b49b-bc3d51833fa7) - also sometimes led to a similar issue as with embeds, where the sidebar got stuck offscreen - **after** - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FI8GsnHl0hB.png?alt=media&token=c7a6d654-5135-4168-8f4f-c88d6ae9993f) - [[mobile]] - **before** - Autocomplete causes the whole screen to scroll to the right - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2Fj5Gk-J5ayh.png?alt=media&token=e6246ae0-ebdc-4fe2-9283-522f0f22be1e) - **after** - Autocomplete adjusts to fit the size of the screen - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FPBNQMc-v1S.png?alt=media&token=c977b686-2179-4627-8324-55867e264010) ## October 1st, 2021 - ## September 28th, 2021 - [[September 28th, 2021]] - **[[Quality of Life Improvements]] ✨** - All settings, including keyboard shortcut customizations accessible from [[Command Palette]] - `cmd-p` on [[Mac]] - `control-p` on [[Windows]] or [[Linux]] - __handy way to discover or remember different keyboard shortcuts__ - Example:: - ![](https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fhelp%2FBykG_v_8KV.png?alt=media&token=76c76dce-6346-4b6e-9435-843f07219956) ## September 27th, 2021 - - [[Quality of Life Improvements]] ✨ - Added a shortcut (`Cmd/Ctrl+Opt+R`) to toggle [[Youtube]] [[Videos]] playback while typing in a block - Made [[Video Timestamps]] look a little nicer - [[Bug Fixes]] 🛠 - Fixed bug that caused Roam to crash when [[Query]] using `between` contained only one date ## September 21st, 2021 - [[September 21st, 2021]] - [[Customization]] #[[End User Programming]] #[[Quality of Life Improvements]] - Custom components in [[JSX]] and [[Javascript]] - {{[[video]]: https://grain.co/highlight/NkzVPjnoX3P8gavWAVq9g00DiABYGCE1gWZIU63J}} - [[Example]] - {{[[video]]: https://grain.co/highlight/2xiEAKKj5It1deDSFzbwWMbm3JXLwqt0OdtzmQ53}} ## September 18th, 2021 - [[September 18th, 2021]] - [[Customization]] [[Improvements]] - Styling changes applied to blocks via `#.style-tags-like-this` now propogate to references of those blocks red #.bg-red-500 #.text-white , white and blue #.bg-blue-500 #.text-white - white - blue #.bg-blue-500 #.text-white - red #.bg-red-500 #.text-white - Propogates many levels up too -- see ((Styling changes applied to blocks via `#.style-tags-like-this` now propogate to references of those blocks red #.bg-red-500 #.text-white , white and blue #.bg-blue-500 #.text-white )) ## June 11th, 2021 - ## June 1st, 2021 - ## May 30th, 2021 - ## May 25th, 2021 - ## May 10th, 2021 - ## April 22nd, 2021 - ## April 20th, 2021 - ## April 17th, 2021 - ## April 16th, 2021 - ## April 11th, 2021 - - ## April 8th, 2021 - ## April 3rd, 2021 - Good morning! Today's a great day to test out the mobile interface! :) - Indenting is cool. But I don't foresee anyone - Ever moving their stuff using these icons. But I might. Be wrong. The thing is that the menu bar thing doesn't scroll properly, which makes everything clunky. - Some low hanging fruits would be, to replace drawing with TODOs and add one more icon in there, probably for [[Bidirectional linking]] ## April 2nd, 2021 - ## April 1st, 2021 - ## March 31st, 2021 - ## March 27th, 2021 - Import - [[February 8th, 2021]] - From: February 8th, 2021.json ## March 26th, 2021 - ## March 25th, 2021 - https://twitter.com/Conaw/status/1375280053882253313?s=20 - https://twitter.com/Conaw/status/1375287978482835468?s=20 - [[Essay]] - [[Why you can't say]] [[Kevin Lacker]] - Response to:: [[Essay]] [[What You Can't Say]] [[Paul Graham]] - [[Tangent]] - See {{iframe:https://en.m.wikipedia.org/wiki/Social_constructionism}} and the idea of [[Roam Browser]] [[Electron App]] - When you visit the page - you could have an easy indicator -- like highlighting things from the page - (to pull into your Roam -- or spending a certain amount of time on it -- or a [[30ms Gesture]] like a moving the mouse in a pattern, or hitting a super easy keyboard shortcut -- and have the page be sent to [[ArWeave]] or [[Internet Archive]]) - {{[[TODO]]}} Learn more about [[ArWeave]] -- catchup with [[Mek]] and [[Gerben]] and see what the current state of [[Web Archival]] is - it's been a few years -- but linkrot is huge problem - and one we should have easy answer for -- also could have options for global registries of these (or ipfs content hash the contnets (though content hash maybe maybe maybe has security concerns (probably moot if we have e2ee and you can choose what archival services you use...))) ## March 24th, 2021 - ## March 14th, 2021 - ## March 13th, 2021 - ## March 6th, 2021 - ## March 5th, 2021 - ## March 4th, 2021 - ## March 3rd, 2021 - ## February 8th, 2021 - - [[Hiring]] [[Work at Roam]] [[Clojure Engineer]] - [[Backend Role]] [[Take Home Project]] - {{[[TODO]]}} Given a map, or a [datascript](https://github.com/tonsky/datascript) database at two points in time - {{[[TODO]]}} Generate a diff of the two structures - {{[[TODO]]}} Generate the minimal transaction which will bring A -> B, and vice versa. - #Bonus - {{[[TODO]]}} Given a set of User-Events which map to certain transactions - find the sequence of user events which brought A -> B, or which would bring B -> A - {{[[TODO]]}} Take a roam outline tree, and create a datascript DB with just the data contained within it - such as this one This item - {{[[TODO]]}} Publish your code and the demo on a roam graph using `roam/render` and custom components - Roam allows you to write arbitrary CLJS code - and evaluate it in your graph - you can use this code - and the roam Alpha API to query your graph, and create mutations for it. - Submit your answer as a roam-graph - All code should be in the same Roam Graph as the working demo. - {{[[roam/render]]: ```clojure (ns starting-point-for-custom-roam (:require [reagent.core :as r] [datascript.core :as d] [roam.datascript.reactive :as dr])) (defn x [{b :block-uid} x] [:div.bp3-card [:ul [:li (pr-str @(dr/pull '[:block/string {:block/children ...} :block/uid ] x))] [:li [:h3"Schema" ] (pr-str @(dr/q '[:find [?a ...] :where [_ ?a _]]))] [:li (pr-str (keys @(dr/pull '[*] [:block/uid b])))]]] )``` This item}} - ```clojure (ns starting-point-for-custom-roam (:require [reagent.core :as r] [datascript.core :as d] [roam.datascript.reactive :as dr])) (defn x [{b :block-uid} x] [:div.bp3-card [:ul [:li (pr-str @(dr/pull '[:block/string {:block/children ...} :block/uid ] x))] [:li [:h3"Schema" ] (pr-str @(dr/q '[:find [?a ...] :where [_ ?a _]]))] [:li (pr-str (keys @(dr/pull '[*] [:block/uid b])))]]] )``` - This item - Has children - Abcd - B - C - **IF you want to also be considered for #[[UI Engineer]]** - {{[[TODO]]}} generate a UI for displaying the diff - {{[[TODO]]}} create a simple component that will let you save the state of a block subtree at various points, and return to these states - by firing new transactions - Import - [[December 1st, 2020]] - From: December 1st, 2020.json ## February 1st, 2021 - {{[[TODO]]}} Have a [[meeting]] with [[John Smith]] about [[Roam Research]] on [[February 8th, 2021]]. #marketing ## January 1st, 2020 -