Go to file
Kasper Juul Hermansen 8533b9d128
Some checks failed
continuous-integration/drone/push Build is failing
fix(deps): update all dependencies
2024-07-06 15:28:33 +02:00
assets feat: initial template 2023-06-04 12:37:22 +02:00
end2end chore(deps): update dependency @playwright/test to v1.45.1 2024-07-06 13:26:52 +00:00
scripts feat: update to newest leptos 2023-10-20 23:06:21 +02:00
something feat: add please 2024-04-08 22:05:00 +02:00
src feat: update to newest leptos 2023-10-20 23:06:21 +02:00
style feat: update to newest leptos 2023-10-20 23:06:21 +02:00
.drone.yml feat: add drone 2024-04-08 22:02:45 +02:00
.env feat: add base app 2023-06-04 20:11:02 +02:00
.gitignore feat: initial template 2023-06-04 12:37:22 +02:00
Cargo.lock fix(deps): update all dependencies 2024-07-06 15:28:33 +02:00
Cargo.toml fix(deps): update rust crate anyhow to 1.0.86 2024-05-18 12:31:14 +00:00
cuddle.yaml feat: add please 2024-04-08 22:05:00 +02:00
input.css feat: with updated things 2023-07-07 21:23:52 +02:00
leptosfmt.toml feat: add feature slicing 2023-06-05 12:54:07 +02:00
LICENSE feat: initial template 2023-06-04 12:37:22 +02:00
README.md feat: add base app 2023-06-04 20:11:02 +02:00
renovate.json Add renovate.json 2023-10-20 21:16:49 +00:00
rust-toolchain.toml feat: initial template 2023-06-04 12:37:22 +02:00
tailwind.config.js feat: add feature slicing 2023-06-05 12:54:07 +02:00

Leptos Logo

Leptos Starter Template

This is a template for use with the Leptos web framework and the cargo-leptos tool.

Creating your template repo

If you don't have cargo-leptos installed you can install it with

cargo install cargo-leptos

Then run

cargo leptos new --git leptos-rs/start

to generate a new project template.

cd {projectname}

to go to your newly created project.

Of course you should explore around the project structure, but the best place to start with your application code is in src/app.rs.

Running your project

cargo leptos watch

Installing Additional Tools

By default, cargo-leptos uses nightly Rust, cargo-generate, and sass. If you run into any trouble, you may need to install one or more of these tools.

  1. rustup toolchain install nightly --allow-downgrade - make sure you have Rust nightly
  2. rustup target add wasm32-unknown-unknown - add the ability to compile Rust to WebAssembly
  3. cargo install cargo-generate - install cargo-generate binary (should be installed automatically in future)
  4. npm install -g sass - install dart-sass (should be optional in future)

Executing a Server on a Remote Machine Without the Toolchain

After running a cargo leptos build --release the minimum files needed are:

  1. The server binary located in target/server/release
  2. The site directory and all files within located in target/site

Copy these files to your remote server. The directory structure should be:

como_web
site/

Set the following enviornment variables (updating for your project as needed):

LEPTOS_OUTPUT_NAME="como_web"
LEPTOS_SITE_ROOT="site"
LEPTOS_SITE_PKG_DIR="pkg"
LEPTOS_SITE_ADDR="127.0.0.1:3000"
LEPTOS_RELOAD_PORT="3001"

Finally, run the server binary.

Notes about SSG and Trunk:

Although it is not recommended, you can also run your project without server integration using the feature csr and trunk serve:

trunk serve --open --features csr

This may be useful for integrating external tools which require a static site, e.g. tauri.