65 releases

0.7.0-preview2 Apr 29, 2024
0.6.9 Mar 4, 2024
0.5.4 Nov 28, 2023
0.5.0-alpha2 Jul 29, 2023
0.0.3 Nov 27, 2022

#6 in #meta

Download history 4036/week @ 2024-01-23 4421/week @ 2024-01-30 4148/week @ 2024-02-06 4077/week @ 2024-02-13 5182/week @ 2024-02-20 5667/week @ 2024-02-27 6319/week @ 2024-03-05 5069/week @ 2024-03-12 5441/week @ 2024-03-19 5957/week @ 2024-03-26 6602/week @ 2024-04-02 5763/week @ 2024-04-09 6583/week @ 2024-04-16 6463/week @ 2024-04-23 4732/week @ 2024-04-30 5030/week @ 2024-05-07

23,840 downloads per month
Used in 28 crates (23 directly)

MIT license

180KB
3.5K SLoC

Leptos Meta

Leptos Meta allows you to modify content in a document’s <head> from within components using the Leptos web framework.

Document metadata is updated automatically when running in the browser. For server-side rendering, after the component tree is rendered to HTML, MetaContext::dehydrate can generate HTML that should be injected into the <head> of the HTML document being rendered.

use leptos::*;
use leptos_meta::*;

#[component]
fn MyApp() -> impl IntoView {
    // Provides a [`MetaContext`], if there is not already one provided.
    provide_meta_context();

    let (name, set_name) = create_signal("Alice".to_string());

    view! {
      <Title
        // reactively sets document.title when `name` changes
        text=move || name.get()
        // applies the `formatter` function to the `text` value
        formatter=|text| format!("{text}” is your name")
      />
      <main>
        <input
          prop:value=move || name.get()
          on:input=move |ev| set_name.set(event_target_value(&ev))
        />
      </main>
    }
}

Feature Flags

  • csr Client-side rendering: Generate DOM nodes in the browser
  • ssr Server-side rendering: Generate an HTML string (typically on the server)
  • hydrate Hydration: use this to add interactivity to an SSRed Leptos app
  • stable By default, Leptos requires nightly Rust, which is what allows the ergonomics of calling signals as functions. Enable this feature to support stable Rust.

Important Note: You must enable one of csr, hydrate, or ssr to tell Leptos which mode your app is operating in.

Dependencies

~20–33MB
~539K SLoC