leptos/examples
2024-08-01 19:41:56 -04:00
..
action-form-error-handling pick up on server action error in both server and client 2024-08-01 19:41:27 -04:00
cargo-make feat: Add Compression to Hacker News w/ Islands Example (#2613) 2024-06-28 15:01:05 -04:00
counter testing: provide tick() that can be called anywhere in tests 2024-08-01 19:41:36 -04:00
counter_isomorphic update counters_isomorphic 2024-08-01 19:41:36 -04:00
counter_url_query chore(ci): run all examples under stable and fix remaining linting issue (#2503) 2024-04-05 16:09:23 -04:00
counter_without_macros use csr feature so that reactivity runs 2024-08-01 19:41:55 -04:00
counters testing: provide tick() that can be called anywhere in tests 2024-08-01 19:41:36 -04:00
directives chore(ci): run all examples under stable and fix remaining linting issue (#2503) 2024-04-05 16:09:23 -04:00
error_boundary examples: fix input type so tests work, and update text to make the purpose clearer 2024-08-01 19:41:55 -04:00
errors_axum chore(ci): run all examples under stable and fix remaining linting issue (#2503) 2024-04-05 16:09:23 -04:00
fetch feat: add .by_ref() to create a Future from an AsyncDerived (etc.) that takes a reference, rather than cloning 2024-08-01 19:41:12 -04:00
gtk rename TupleBuilder to NextTuple and prep for release 2024-08-01 19:40:56 -04:00
hackernews examples: update hackernews for SSR support 2024-08-01 19:41:55 -04:00
hackernews_axum chore: update gloo-net and reqwest to http 1.0 (closes #2688) (leptos 0.6) (#2751) 2024-08-01 19:39:54 -04:00
hackernews_islands_axum work related to 0.7 blog port 2024-08-01 19:40:24 -04:00
hackernews_js_fetch chore: update gloo-net and reqwest to http 1.0 (closes #2688) (leptos 0.6) (#2751) 2024-08-01 19:39:54 -04:00
islands fmt and chores in examples 2024-08-01 19:41:27 -04:00
js-framework-benchmark reorganizing exports and updating examples 2024-08-01 19:40:56 -04:00
login_with_token_csr_only chore: update gloo-net and reqwest to http 1.0 (closes #2688) (leptos 0.6) (#2751) 2024-08-01 19:39:54 -04:00
parent_child chore: cargo fmt 2024-08-01 19:41:56 -04:00
portal testing: provide tick() that can be called anywhere in tests 2024-08-01 19:41:36 -04:00
router chore: clippy 2024-08-01 19:41:55 -04:00
server_fns_axum Minor: examples/server_fns_axum FileWatcher logs errors to the console. (#2547) 2024-05-06 08:45:27 -04:00
session_auth_axum chore(ci): run all examples under stable and fix remaining linting issue (#2503) 2024-04-05 16:09:23 -04:00
slots chore: clear warning 2024-08-01 19:41:27 -04:00
spread feat: enhanced spreading syntax 2024-08-01 19:41:11 -04:00
sso_auth_axum chore: update gloo-net and reqwest to http 1.0 (closes #2688) (leptos 0.6) (#2751) 2024-08-01 19:39:54 -04:00
ssr_modes chore: cargo fmt 2024-08-01 19:41:56 -04:00
ssr_modes_axum fmt and chores in examples 2024-08-01 19:41:27 -04:00
suspense_tests fix(ci): leptos examples fail with bindgen schema error (#2428) 2024-03-13 22:33:54 -04:00
tailwind_actix chore: update gloo-net and reqwest to http 1.0 (closes #2688) (leptos 0.6) (#2751) 2024-08-01 19:39:54 -04:00
tailwind_axum examples: simplify stable syntax for using signals in view 2024-04-09 14:45:19 -04:00
tailwind_csr chore: update gloo-net and reqwest to http 1.0 (closes #2688) (leptos 0.6) (#2751) 2024-08-01 19:39:54 -04:00
timer examples: timer in 0.7 2024-08-01 19:40:57 -04:00
todo_app_sqlite fmt and chores in examples 2024-08-01 19:41:27 -04:00
todo_app_sqlite_axum fmt and chores in examples 2024-08-01 19:41:27 -04:00
todo_app_sqlite_csr chore(ci): run all examples under stable and fix remaining linting issue (#2503) 2024-04-05 16:09:23 -04:00
todomvc reorganizing exports and updating examples 2024-08-01 19:40:56 -04:00
Makefile.toml projects: add sitemap demo project (#2553) 2024-05-06 08:46:49 -04:00
README.md feat: allow spreading of both attributes and event handlers (#2432) 2024-04-05 14:30:34 -04:00
SSR_NOTES.md doc(examples): reference run instructions (#1705) 2023-09-13 19:57:50 -04:00

Examples README

Main Branch

The examples in this directory are all built and tested against the current main branch.

To the extent that new features have been released or breaking changes have been made since the previous release, the examples are compatible with the main branch and not the current release.

Getting Started

The simplest way to get started with any example is to use the “quick start” command found in the README for each example. Most of the examples use either trunk (a simple build system and dev server for client-side-rendered apps) or cargo-leptos (a build system for server-rendered and client-hydrated apps).

Using Cargo Make

You can also run any of the examples using cargo-make. Note that this is completely optional. We use it for CI, and it can be convenient for running the examples, but is not required.

Follow these steps to get any example up and running.

  1. cd to the example you want to run
  2. Make sure cargo-make is installed (for example by running cargo install cargo-make)
  3. Make sure rustup target add wasm32-unknown-unknown was executed for the currently selected toolchain.
  4. Run cargo make ci to setup and test the example
  5. Run cargo make start to run the example
  6. Open the client URL in the console output (http://127.0.0.1:8080 or http://127.0.0.1:3000 by default)
  7. Run cargo make stop to end any processes started by cargo make start.

Here are a few additional notes:

  • Extendable custom task files are located in the cargo-make directory
  • Running a task will automatically install cargo dependencies
  • Each Makefile.toml file must extend the cargo-make/main.toml file
  • cargo-make files that end in *-test.toml configure web testing strategies
  • Run cargo make test-report to learn which examples have web tests

Prerequisites

Example projects depend on the following tools. Please install them as needed.

  • Rust
  • Nightly Rust
    • Run rustup toolchain install nightly
    • Run rustup target add wasm32-unknown-unknown
  • Cargo Make
    • Run cargo install --force cargo-make
    • Setup a command alias like alias cm='cargo make' to reduce typing (Optional)
  • Trunk
    • Run cargo install trunk
  • Node Version Manager (Optional)
  • Node.js
  • pnpm (Optional)