RoamJS is becoming a part of SamePage! To check out the inter-tool network we're building, click here to learn more!



Table of Contents


You can edit the content of your website directly by just editing blocks in your Roam graph. Making those changes go live is as easy as the click of a button.

When your changes are ready, head to the roam/js/static-site page and click on the "Blue Deploy" on the left side of your dashboard.

This will kick off the deploy which should take far less time than the initial launch time. Once the process is complete, there will be a new "SUCCESS" entry under the Deploys section of the dashboard. You can click on the green LIVE text to be taken directly to your updated website!

All formatting in Roam will be preserved in your website. This includes:

  • Inline formats like italics, bolding, and highlighting

  • Headers and text alignment

  • Youtube videos, tweets, pdfs, and iframes

  • Block view types

  • And so much more!

Remember that because view types are preserved, pages by default will appear as a bulleted list. To have it appear as a document, be sure to view the given page as document from Roam!


Links created in Roam are preserved on your website, only if the linked page also matches the filters. This is a privacy measure to ensure you are very intentional about which pages in Roam are surfaced on your website or not. If the linked page does not pass the filters you have set up, it will appear as static text.

Block references will link to the exact point in the page where the block is located, given that both pages match the filters. If the linked page does not pass the filter, the block reference will resolve as raw text.

Block embeds are similar to block references, except the hyper link itself will be on the top right corner of the embed. The full block tree will be rendered as website content at the location the embed is specified. This is only the case if the linked page passes the filter.

Page aliases and block aliases are both supported as expected.


It's common to have blocks on a page that you want to publish to the website that you would prefer to stay hidden, such as tags for your filters. If you add the #roam/js/static-site/ignore tag to a block, all the contents nested under that block will not be included in the final webpage output.


On the top right corner of the dashboard on your roam/js/static-site page, there is a wrench icon that will take you to settings.

You will then be taken to all of the setting tabs the dashboard has to offer. The first four tabs were part of the onboarding process. You may change them at any time, but we don't expect them to be changed often. To save changing any settings, you must click the "Next" button on the bottom of the dashboard.

You should only change the token if your existing token is compromised and you generate a new one at

If you change the domain, a yellow "UPDATE SITE" button will appear on the dashboard. You will need to click through this button for the change to go live. Depending on which domain you switched to, this process could take anywhere from 5-30 minutes. There may also be a manual validation step for you. Please refer to this section of the onboarding docs for help on which manual steps will be required.

Filters and Index changes will go live after the next time you deploy.

All settings in this page are stored in a Roam block tree on this page. This data is hidden by default to avoid confusion. However, if you find the user interface of the dashboard to be too constraining and would prefer to edit the Roam blocks directly, simply click the x icon on the bottom right corner. Please be sure you know what you're doing before editing this data.