Embedded in Astro
Every section above is a <template flowview>region compiled by @flowview/astro at build time.
Product capabilities
Every live result on this page is produced by the real FlowView compiler and runtime. This site doubles as the browser-level acceptance app: Playwright exercises it in development and against the production build.
{{ value }} always becomes text, never markup.
{{{ value }}} inserts trusted, author-controlled HTML. FlowView does not sanitize it.
Conditional blocks, in both build-time and client views.
Keyed loops with an empty fallback, including transitions.
@case and @default branches.
[disabled], [attr.aria-busy] and [class.active].
<template flowview={context} is:raw> inside a .astro file. This page is built with it.
A compiled .flow module imported by application code.
Native, delegated listeners declared in the template.
Handlers receive the event, the element or serialized values.
Same-named handlers in different templates do not collide.
createView() replaces the HTML of one target element.
An independent signal library. Application code calls view.update() from an effect.
Delegated handlers keep working with no rebinding code.
Hostile values in {{ }} render as inert text.
Multi-byte text survives; marker-looking text stays literal.
Event handling survives client-side navigation.
The Rust compile_static backend renders the same language without Node. It is verified by Rust and spec tests, not by this site.
{{ value }} escapes. {{{ value }}} inserts markup you wrote yourself. FlowView never sanitizes raw output, so only use it with trusted, author-controlled HTML.
<strong>Hello</strong>
Hello
<img src=x onerror="globalThis.__flowviewCapabilitiesXss = true">
Draft
Published
Unknown status
Unknown status
é € 🙂 � contact@if.example
@if {{ value }} {{{ value }}} 🙂 }
Every section above is a <template flowview>region compiled by @flowview/astro at build time.
client-items.flow is compiled to a module and rendered in the browser. Seethe client DOM demo.
@flowview/dom and @flowview/reactive are independent optional libraries; the application composes them explicitly. Native static rendering in Rust is verified by the compiler test suite and is not demonstrated in the browser.