# /helpers in Roam

When you type the / key, you get a convenient list of helpers for things you might want to be able to add or do in Roam. These can help you format your text, or add functionality. The helpers are in a bit of a random order.

To navigate this list, you can use the up/down arrows to navigate, or start typing to filter the list. Hit Enter or Tab to select the highlighted helper.

## TODO

A shortcut for the {{TODO}} function but also makes the TODO a [[page reference]]: {{[[TODO]]}}. This is a function that displays as a checkbox which can be checked by clicking on it. When it is checked, it becomes {{DONE}}.

{{TODO}} and {{DONE}} also work, but the reason it is useful to have them as [[page references]] is for querying and seeing all of your tasks on one page (the TODO page and DONE page respectively).

## Page Reference

A Page Reference is a link to a page in your Roam database. These links are created by surrounding a word or phrase with square brackets, like so:

This helper is a shortcut for typing [[]] and it places the cursor in the centre of the square brackets. This isn’t actually that helpful as it’s usually quicker to type [[ which automatically adds the closing brackets. You can also highlight a word or phrase and type [[ which will surround the word or phrase with opening and closing square brackets.

## Block Reference

A Block Reference is a read-only view of another block found elsewhere in your database (See Block Embed as an editable version of this).

You need to refer to the other block by its block id. Every block in your Roam database has a unique id – they look something like this: UP5wrLAnW. There are two ways of finding a block’s id. The first is to search for it by typing words in between the parentheses. Here I search the database for blocks containing the word “waitlist”.

You can use your arrow keys to select the block you want to reference.

The second way is to right click on a bullet and select “Copy block ref” like so:

Only the source block’s content is displayed, sub-blocks are not. Block References are also a link to the source block, so if you click on it, you will be taken to the source block.

You can not edit the text in the block, it just reflects the text in the source block. If the source block is edited, the changes become visible wherever that block is referenced. See Block Embed as an editable version of this.

## Block Embed

A shortcut for the {{embed:}} function. A Block Embed is similar to a Block Reference, but it is a live copy of the source block, and the Block Embed also carries over child blocks of the source block. Any edits to an Embedded block will propagate to the source block, and to all other instances where that source block is Embedded or Referenced.

See Block Reference for a read-only version of this that does not carry over child blocks.

## Alias

A shortcut for the {{alias: }} function. Similar to a block reference, but lets you change the text that is displayed. Usually used to shorten the contents of an otherwise long block.

When you click on the alias, you will be taken to the original referenced block.

## Current Time

This types in the current time in 24h notation, eg 21:06. This does not update ever, it’s just a shortcut to save looking at your watch and typing the numbers. Roam doesn’t treat these times specially, they are just numbers separated by colon.

## Pomodoro Timer

This is a shortcut for the {{[[POMO]]}} function. This is a little timer which you can use to concentrate on tasks for 25 minutes with a 5 minute break.

The helper gives you {{[[POMO]]}} as a page reference by default, although {{POMO}} works just as well.

## Date Picker

This is a shortcut for the {{date}} function. Pops up a calendar so you can click on a date instead of having to type it manually and put it in double square brackets. You can navigate the calendar with left/right arrow keys to change months, and up/down arrows to change years.

Clicking on a date results in a link to the daily note to that date:

As Roam is built around daily notes, dates are special in Roam – they have a semantic meaning rather than just being text. For example, you can query between specific dates or between today and a date in the past or future.

## Today

This is a shortcut to typing a link to today’s date. Once typed, it remains static – if you look at the block tomorrow, it will still have today’s date on it, and it won’t increment. This is unlike using [[today]] in queries which always refers to the current date.

## Tomorrow

This is a shortcut to typing a link to tomorrow’s date. Once typed, it remains static.

## Yesterday

This is a shortcut to typing a link to yesterday’s date. Once typed, it remains static.

## Bold

A shortcut for making bold text. In Roam you make text display as bold by surrounding them in double asterisks, like so:

## Italics

A shortcut for making italicised text. In Roam you make text display in italics by surrounding them in double underscores, like so:

## Highlight

A shortcut for making highlighted text. In Roam you make text display highlighted by surrounding them in double tildes, like so:

## Strikethrough

A shortcut for making strikethrough text. In Roam you make text display in strikethrough by surrounding them in double tildes, like so:

## Code Inline

A shortcut for “ which makes the text in between the backticks format as monospaced text in the middle of a normal sentence, like so:

## Code Block

Roam lets you write multiline code, which is surrounded by triple backticks (“multiline code goes here“). This helper provides you with six backticks and places your cursor in the midst of them. It doesn’t work very well though (eg hitting “enter” breaks the code block).

If you want to write a code block, I’d recommend just typing three backticks, which immediately turns the line into a code block and works intuitively.

Code blocks support syntax highlighting, so you can pick what kind of code is going in the block. Currently you can select between clojure, css, html, and javascript.

## Latex

A shortcut for  where you can put mathematical equations in between the double dollars, as per LaTeX rules. These will render nicely in Roam. Try $$e=mc^2 Or if you’re feeling adventurous, try $$x=\dfrac{-b\pm\sqrt{b^2-4ac}}{2a}

## Inline calculator

A shortcut for the {{calc: }} function. This lets you do basic calculations inline.

You can pass in block references too.

![](link to file)

The exclamation mark means “Render this inline”. The square brackets are a placeholder to put some link text (but in a rendered inline image, the link text doesn’t appear). The round brackets contain the link to the file once it has been uploaded to your Roam database.

If you remove the exclamation mark, this becomes a normal link without attempting to render images inline (see External Link).

## Slider

A shortcut for the {{slider}} function. This is a function that displays as a graphical slider from 1-10 with a number selected. Perhaps useful for visually rating things.

The helper gives you {{[[slider]]}} as a page reference by default, though {{slider}} works just as well.

## Encrypted Text

A shortcut for the {{encrypt}} function. Allows you to store text encrypted with a passphrase that you generate.

## Diagram

A shortcut for the {{diagram}} function. Allows you to create basic diagrams in Roam.

## Table

A shortcut to the {{table}} function which generates a basic table based on blocks directly beneath it, similar to how you populate a Kanban board.

## Kanban Board

A shortcut for the {{kanban}} function. A Kanban board it like a wall for post-it notes. A common use is columns for “to do”, “doing”, “done” with post-it notes representing tasks. Here’s the Wikipedia page about Kanban, and in Roam you populate the board with indented blocks underneath the Kanban block.

Now hide the child blocks by clicking on the small down arrow next to the Kanban’s bullet. The cool thing about these Kanban boards is you can move the cards around by dragging them with your mouse.

The helper gives you {{[[kanban]]}} as a page reference by default, though {{kanban}} works just as well.

A shortcut to the {{youtube: }} function which embeds a Youtube video which you can watch inline. You need to supply the full link to the Youtube video, like so:

## Mentions of Page or Block

A shortcut to the {{mentions: }} function. Specifying a page pulls in all the Linked and Unlinked mentions of that page. For example if you want to see all Linked and Unlinked references to the [[Singapore]] page, you would type:

{{mentions: [[Singapore]]}}

Specifying a block id pulls in all the references to that block. For example if you want to see all Linked and Unlinked references to the block whose id is UP5wrLAnW, you would type:

{{mentions: ((UP5wrLAnW))}}

## Word Count

A shortcut to the {{word-count}} function. This returns the word count of its own block and child blocks.

## Query (and)

A shortcut to the {{query: }} function pre-populated with an “and” example for finding blocks that contain links to both [[ex-A]] and [[ex-B]]. See How to query in Roam for a guide.

## Query (or)

A shortcut to the {{query: }} function pre-populated with an “or” example for finding blocks that contain links to either [[ex-B]] or [[ex-C]] (or both). See How to query in Roam for a guide.

## Query (and or)

A shortcut to the {{query: }} function pre-populated with an “and” and “or” example for finding blocks that contain links to [[ex-A]] plus at least one of [[ex-B]] or [[ex-C]] . See How to query in Roam for a guide.

## Query (and not)

A shortcut to the {{query: }} function pre-populated with an “and” and “not” example for finding blocks that contain a link to [[ex-A]] but not if they also include a link to [[ex-B]]. See How to query in Roam for a guide.