ROAM42

A delightfully fun and powerful collection of power user tools for Roam

Installation

You could use the Copy Extension button below to individually install this extension. To install, just paste anywhere in your Roam graph and click "Yes, I Know What I'm Doing".

Manual Installation

If the extension doesn't work after using the copy extension button above, try installing manually using the instructions below.

First create a block with the text {{[[roam/js]]}} on any page in your Roam DB. Then, create a single child of this block type three back ticks. A code block should appear. Copy this code and paste it into the child code block in your graph:

var existing = document.getElementById("roamjs-roam42-main");
if (!existing) {
  var extension = document.createElement("script");
  extension.src = "https://roamjs.com/roam42/main.js";
  extension.id = "roamjs-roam42-main";
  extension.async = true;
  extension.type = "text/javascript";
  document.getElementsByTagName("head")[0].appendChild(extension);
}

Finally, click "Yes, I Know What I'm Doing".

Overview

Roam42 is the ultimate swiss army knife of the Roam power user. Roam42 makes it easy and fast to navigate and manipulate Roam.

Documentation was migrated from RoamHacker's Personal Roam. On it, you could find other helpful Roam-related resources an interesting content that he's collected notes on.

Be sure to check out the Update Log for the latest new functionality and bug fixes.

Migration

On 04/30/2021, Roam42 changed owners, and is now maintained by RoamJS. To migrate, simply replace the https://roam42.glitch.me/main.js link in your Roam42 installation with the new https://roamjs.com/roam42/main.js link. The video below simply walks through these steps.

Features

  • workBench - workBench (wB for short) is a work bench for the Roam "handyman" or "hacker". Although Intended for serious users looking to push Roam to new places by quickly navigating, manipulating and hacking the Roam environment, it also has some resources for anyone comfortable with keyboard application navigation. Roam is the blocks, workBench is your chisel.

  • SmartBlocks - SmartBlocks makes it easy to reuse text in a dynamic way in Roam. It can be compared to other snippet/template insertion tools like TextExpander and Alfred. However, SmartBlocks just doesn't insert templates, it also lets add commands that make the text dynamic.

  • Jump to Date - See from timestamp: 3:40 - Jump to date is a calendar for quickly moving between Daily Notes Pages. Very useful if you use Daily Notes for time Management

  • Live Preview - See live and editable previews of page links underneath your mouse cursor. Allows you to stay in the context of your work without having to navigate to another page to see its content. Note: this feature is off by default and needs to be enabled to use it. Please see Live Preview for more info.

  • Daily Note Popup - Daily notes is a second window that you can toggle open and close quickly to get at your daily notes page. It is often referred to as the "Roam within your Roam." Note: this feature is off by default and needs to be enabled to use it. Please see Daily Note Popup for more info.

  • Date NLP - Roam42 can convert human readible dates into Roam42 formatted dates

  • Jump Navigation - Keyboard shortcuts for interacting with the Roam user interface, for example copying the block reference for the current block, expanding and collapsing the page outline and many many more.

  • Deep Nav - Advanced keyboard navigation of Roam using the keyboard. Can jump to any block in a page or sidebar.

  • Privacy Mode - This feature Redacts confidential information when showing your Roam database to others or while working in an area with prying "eyes".

  • Roam42 and Roam Tutorials - Learn how to use Roam42 features and Roam basics right from within Roam. This approach allows you to watch and learn.

  • Dictionary - Rich dictionary at your fingertips right inside of Roam without having to leave Roam

  • Strikeout text shortcut - Shortcut key for striking out text

Disabling Features

Roam42 comes with a ton of features. Having them all enabled by default could have negative performance implications depending on the size of your graph. To disable a given feature, go to the Roam42 installation in your graph and add an array called window.disabledFeatures to the top of the code block, adding all the features you'd like to disable. These are all the available options:

window.disabledFeatures = [
  'jumpNav',
  'smartblocks',
  'jumpToDate',
  'privacyMode',
  'roam42Tutorials',
  'roamNavigator',
  'stats',
  'quickReference',
  'lookupUI',
  'typeAheadData',
  'formatConverter',
  'livePreview',
  'dailyNote',
  'workBench',
];

Contributors

This extension is brought to you by RoamJS! If you are facing any issues reach out to support@roamjs.com or click on the chat button on the bottom right. If you get value from using this extension, consider sponsoring RoamJS by clicking on the button below!

A special thanks to those who's contributions also helped make this extension possible:

George Roukas 💵
George Roukas 💵
John Haugaard
John Haugaard
💵

ROAMJS DIGEST

Add your email below to stay up to date on all RoamJS features, fixes, and news!

Other Extensions

Coming Soon...