Render Obsidian Canvas (.canvas) files as visual diagrams on your Flowershow site.
Flowershow supports rendering Obsidian Canvas files (.canvas). Canvas files follow the open JSON Canvas specification and are displayed as SVG diagrams showing your nodes, connections, and colors.
Demo
Here's a simple canvas embedded inline in this page:
Create in Obsidian
Draw on Canvas
Bloom on Flowershow
Share with the world
Customize
Custom styles
Creating the file
Create a new file named custom.css in the root of your repository (or the root directory of your site if you're publishing from a subfolder)
Add your CSS rules to customize colors, fonts, layouts, and more
Publish it along with your content.
Flowershow uses CSS cascade layers, so any rule you write in custom.css wins over the default theme without needing !important.
Theme variables
Flowershow exposes CSS custom properties (variables) in :root.
You can override them in custom.css without touching app code.
The variables below are drawn from two source files in the Flowershow repository — browse them directly for the full picture:
:root{--color-code-bg:#fafafa;/* light mode */--color-code-bg-dark:#2f2f2f;/* dark mode */}
CTA button colors
The navbar call-to-action button is unstyled by default (inherits foreground tones). Override these to brand it:
:root{--color-cta-bg:/* defaults to --color-foreground-700 */--color-cta-bg-hover:/* defaults to --color-foreground-500 */--color-cta-text:/* defaults to #ffffff */;}
Used for sticky positioning of the navbar, sidebar, and TOC. Override if you change the navbar height or add a banner above it.
:root{--navbar-height:4rem;--subnav-height:3rem;/* mobile breadcrumb/sidebar toggle bar */}
Callout colors
Each callout type maps to one of these tokens. Override them to retheme all callouts of that category at once.
:root{--callout-note-color:oklch(0.6230.214259);/* blue */--callout-tip-color:oklch(0.7140.143215);/* cyan */--callout-success-color:oklch(0.7230.219142);/* green */--callout-warning-color:oklch(0.7050.19155);/* orange */--callout-danger-color:oklch(0.6270.25829);/* red */--callout-example-color:oklch(0.6270.265303);/* purple */--callout-quote-color:oklch(0.5540.014286);/* zinc */}
Canvas files (.canvas) are JSON files created by Obsidian's Canvas feature. When you sync your Obsidian vault to Flowershow, canvas files are automatically detected and rendered as visual diagrams – no configuration needed.
Standalone Canvas Pages
Any .canvas file in your content is automatically rendered as its own page. The URL preserves the .canvas extension to avoid conflicts with markdown files of the same name:
Roadmap.canvas renders at /@user/project/Roadmap.canvas
notes/architecture.canvas renders at /@user/project/notes/architecture.canvas
Canvas files also appear in the sidebar navigation alongside your markdown pages.
Inline Canvas Embeds
You can embed a canvas inside any markdown page using either Obsidian wiki-link or standard markdown image syntax:
![[my-diagram.canvas]]

The canvas renders as an inline SVG diagram within the page content.
Supported Features
Rich text nodes – text nodes render full markdown including GFM tables, wiki-links, callouts, math (KaTeX), and syntax-highlighted code
Image embeds – file nodes referencing images (.png, .jpg, .gif, .svg, .webp, .bmp, .ico) display the actual image inside the node
Note embeds – file nodes referencing .md files render the note's content with full markdown formatting and a title heading
Colored nodes – all 6 Obsidian color presets plus custom hex colors (e.g. #ff6600)
Edges – connections between nodes render as bezier curves with support for edge colors, labels, and arrow markers on both ends