view

Server-rendered HTML as plain Text: escaping, element builders, a component layer, and a Tailwind-style utility stylesheet inlined into every page.

Install

Add it to your wo.toml. The KEY is the module name — that is what use imports.

[deps]
view = { git = "https://github.com/shoneyj/writeonce-view", rev = "v0.1.0" }

What you get

Usage

use view

class Card {
  name: Text
  fn render() -> Text {
    return `
      <div class="card">
        <h3>{{ self.name }}</h3>
      </div>`;
  }
}

-- in a handler:
let c = Card { name: user_supplied };
return ok_html(page("Hello", c.render()));

← all packages