Get AI summaries of any video or article — Sign up free
Applying Custom Themes for your RoamResearch Knowledge Graph thumbnail

Applying Custom Themes for your RoamResearch Knowledge Graph

4 min read

Based on Conor White-Sullivan's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.

TL;DR

Create a page named exactly “Roam/CSS” (all lowercase) to drive custom Roam styling.

Briefing

Roam Research themes can be customized per graph page using a dedicated “Roam/CSS” page that contains CSS code blocks, letting users change the look and feel of their entire knowledge graph. The key requirement is that the page must be named exactly “Roam/CSS” (all lowercase), and the CSS must be pasted inside a code block set to CSS—once that’s in place, the styling applies across the graph for anyone viewing that page.

A crucial nuance is that Roam’s theme application can be filtered on a per-user basis. When sharing a graph with others, users can apply Roam’s filter option to include or exclude specific pages; if a collaborator filters out the “Roam/CSS” page (or relevant theme pages), the theme disappears for them. By default, everyone has no filters applied, so the custom styling affects all collaborators unless someone explicitly filters it out.

For people who want inspiration or ready-made styles, the workflow points to a community help database. By opening the question-mark help panel and following the linked Roam community themes area, users can browse themes created by others, including code snippets that list the author’s name and Twitter handle. There’s also an option to support creators via a PayPal link. One highlighted example focuses on right-to-left languages such as Arabic, Hebrew, and Farsi: applying that theme flips the graph’s directionality so text and layout render correctly. Switching the “Roam/CSS” content back to normal restores left-to-right behavior.

Beyond whole-graph themes, the transcript also spotlights a more granular customization approach: styling tags based on the tag’s value. Inspired by Maggie Appleton’s work on Roam gardening, the demo pulls a set of custom tag styles and applies them through the “Roam/CSS” page. After pasting the CSS, the user demonstrates editing visual properties—such as changing the color used for a specific tag (e.g., “evergreen”)—and confirms the updated styling appears immediately across all matching tags.

The practical takeaway is that CSS can be used to make certain tags visually stand out for faster scanning and workflow management. The demo sketches scenarios like making “urgent” tags larger and changing their background color to red, along with adjusting padding and line-height to control spacing. Because these changes live in the “Roam/CSS” page, they apply to any visitor of that page and to collaborators who don’t filter the styling out. The overall message: with basic CSS literacy and the right page setup, Roam becomes highly customizable—both at the theme level and at the tag level—without changing the underlying data.

Cornell Notes

Custom Roam Research themes are applied by creating a page named exactly “Roam/CSS” (all lowercase) and pasting CSS inside a code block labeled CSS. Once present, that CSS changes the look and feel of the entire graph for viewers of that page. Theme visibility can be controlled per user through Roam’s filter option: collaborators who filter out the “Roam/CSS” page won’t see the styling, while default settings apply it to everyone.

The transcript also shows how community themes can be reused from a Roam community themes database, including a right-to-left theme for Arabic, Hebrew, and Farsi. Finally, it demonstrates tag-level styling—using CSS to change colors, sizes, padding, and backgrounds for specific tags like “evergreen” or “urgent”—so important notes stand out visually.

What exact setup makes Roam apply custom styling across a graph?

Create a page named exactly “Roam/CSS” (all lowercase). Inside that page, insert CSS inside a code block labeled as CSS. Once the CSS is in place, Roam applies the styling to the graph’s appearance for anyone viewing that page.

How can collaborators prevent a theme from affecting their own view?

Roam’s filter option can be used per user. If a collaborator filters out the “Roam/CSS” page, the theme disappears for them. Because filters are per user, default settings (no filters) mean everyone initially sees the theme.

Where can users find ready-made Roam themes and CSS snippets?

The transcript points to the help panel (question mark) and a linked community themes area. That page lists themes made by community members, includes code snippets, and provides author details such as a Twitter handle. It also includes a PayPal link for supporting creators.

How does the demo handle right-to-left languages?

A right-to-left theme is applied by copying its CSS into the “Roam/CSS” page. After pasting, the graph switches to right-to-left layout suitable for languages like Arabic, Hebrew, and Farsi. Changing the “Roam/CSS” content back to normal restores left-to-right behavior.

What does tag-level styling enable, and how is it demonstrated?

Tag-level styling lets CSS target tags based on their value, so specific tags can have distinct visual treatments. The demo applies custom tag CSS (inspired by Maggie Appleton’s Roam gardening approach), then shows editing properties like the color for the “evergreen” tag and observing the updated styling across all matching tags.

What kinds of visual changes can be made to highlight workflow tags like “urgent”?

The demo suggests using CSS properties such as background color, font size/line height, and padding to make tags stand out. For example, it sketches making “urgent” tags larger and giving them a red background, then adjusting padding (e.g., 70px and 30px) to control spacing.

Review Questions

  1. What are the exact naming and formatting requirements for the page that drives Roam’s CSS theming?
  2. How does per-user filtering change who sees the “Roam/CSS” styling in a shared graph?
  3. Give two examples of how CSS can be used to customize Roam beyond whole-graph themes.

Key Points

  1. 1

    Create a page named exactly “Roam/CSS” (all lowercase) to drive custom Roam styling.

  2. 2

    Paste CSS inside a code block labeled CSS; that formatting is required for Roam to apply the theme.

  3. 3

    Roam theme visibility is controllable per user via filters—collaborators can hide styling by filtering out the theme page.

  4. 4

    Community theme libraries provide reusable CSS snippets, including themes for right-to-left language support.

  5. 5

    CSS can target specific tags so matching tags change color, size, padding, and background to improve scanning.

  6. 6

    Tag-level styling supports practical workflows by making important categories (like “urgent”) visually stand out.

Highlights

A single “Roam/CSS” page with CSS code blocks can restyle an entire Roam knowledge graph.
Per-user filters determine whether collaborators see the theme; filtering out “Roam/CSS” removes it from that user’s view.
A right-to-left theme can switch layout direction for Arabic, Hebrew, and Farsi notes.
Tag-level CSS can make specific tags (like “evergreen” or “urgent”) change color and spacing automatically.

Topics

  • Roam/CSS
  • Custom Themes
  • Right-to-Left
  • Tag Styling
  • Roam Gardening

Mentioned