Supported file types
Which files Flowershow renders as themed pages, which it serves as-is, the URL each one gets, and the limits on a publish.
Flowershow publishes a folder of files as a website. Markdown is rendered with your site's theme. HTML and other files are served exactly as you uploaded them. You can mix all of them in one folder.
At a glance
| File | What you get | Site theme, navbar, custom.css | URL for docs/example.<ext> |
|---|---|---|---|
.md, .mdx | A page rendered from Markdown | Yes | /docs/example |
.canvas (Obsidian Canvas) | A page showing the canvas as a diagram | Yes | /docs/example |
.html | The file, byte-for-byte. Scripts run. | No | /docs/example.html |
.css, .js | The file, for your HTML pages to load | No | /docs/example.css |
.json, .csv, .yaml, .yml | The file, for pages to fetch or readers to download | No | /docs/example.json |
.png, .jpg, .jpeg, .gif, .svg, .webp | The image | No | /docs/example.png |
.pdf | The PDF, which opens in the browser | No | /docs/example.pdf |
Markdown and MDX
.md and .mdx files become pages with your site's theme, navigation, config.json settings and custom.css. The extension is dropped from the URL, and index.md or README.md is served at its folder's URL (docs/README.md is at /docs).
Supported syntax includes CommonMark, GitHub Flavored Markdown, Obsidian wikilinks and embeds, callouts, Mermaid diagrams and LaTeX math. See Supported syntax and Syntax mode for Markdown versus MDX.
Adding .md to a page URL returns the raw Markdown source. See Markdown access.
Obsidian Canvas and Bases
A .canvas file becomes its own page at the URL without the extension (roadmap.canvas is at /roadmap). You can also embed a canvas in a Markdown page with ![[roadmap.canvas]]. Requesting the .canvas URL itself returns the raw JSON. See Obsidian Canvas.
Obsidian Bases work as base code blocks inside a Markdown page, which render as tables, cards or lists. A standalone .base file isn't published as a page. See Obsidian Bases.
HTML
A .html file is served byte-for-byte as you wrote it. Flowershow adds no theme, navbar or scripts, and your page's own <script> tags run.
- URLs keep the
.htmlextension.about.htmlis at/about.html, and/aboutreturns a 404. Link between pages withabout.html. - Only the site root falls back to
index.html. If there's noindex.mdorREADME.mdat the root, the site root redirects toindex.html. A folder'sindex.htmlisn't served at the folder URL:report/index.htmlis at/report/index.html, and/reportreturns a 404. - Relative paths work. A page can load
css/style.css,js/app.js,data/items.jsonand images from the same folder tree. Publish the whole folder so the paths stay intact. config.jsonandcustom.cssdon't apply. Style the page in its own HTML or CSS.
For a step-by-step guide, including how to put HTML inside a Markdown page instead, see Publishing HTML.
CSS, JavaScript, data, images and PDFs
These files are served as-is, with a content type that matches the extension, so browsers and scripts handle them normally:
- CSS and JavaScript load in your HTML pages.
- JSON, CSV and YAML can be fetched with
fetch(). They're served withAccess-Control-Allow-Origin: *, so pages on other sites can fetch them too. - Images can be used in Markdown and HTML pages, and each one has its own URL.
- PDFs open in the browser's PDF viewer.
Changes to these files can take several minutes to show after you republish, because they're cached. If an update must show immediately, rename the file (for example style.v2.css) and update the reference.
Limits
When you publish with the CLI, the Obsidian plugin or a dashboard upload, one publish can include up to 1,000 files, up to 100 MB per file and 500 MB in total. Storage per site depends on your plan.
Files that aren't listed on this page are uploaded, but may not be reachable at their own URL. Use one of the types above for anything readers or scripts need to load.