72 lines
1.9 KiB
Markdown
72 lines
1.9 KiB
Markdown
# doordesk-rs
|
|
|
|
site-generator-eventually-cms in Rust using Leptos
|
|
|
|
right now it reads markdown and generates some old blog articles
|
|
|
|
## Leptos stuff
|
|
|
|
```bash
|
|
cargo install cargo-leptos
|
|
```
|
|
|
|
```bash
|
|
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 default nightly` - setup nightly as default, or you can use rust-toolchain file later on
|
|
3. `rustup target add wasm32-unknown-unknown` - add the ability to compile Rust to WebAssembly
|
|
4. `cargo install cargo-generate` - install `cargo-generate` binary (should be installed automatically in future)
|
|
5. `npm install -g sass` - install `dart-sass` (should be optional in future
|
|
|
|
## Compiling for Release
|
|
|
|
```bash
|
|
cargo leptos build --release
|
|
```
|
|
|
|
Will generate your server binary in target/server/release and your site package in target/site
|
|
|
|
## Testing Your Project
|
|
|
|
```bash
|
|
cargo leptos end-to-end
|
|
```
|
|
|
|
```bash
|
|
cargo leptos end-to-end --release
|
|
```
|
|
|
|
Cargo-leptos uses Playwright as the end-to-end test tool.
|
|
Tests are located in end2end/tests directory.
|
|
|
|
## 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:
|
|
|
|
```text
|
|
doordesk
|
|
site/
|
|
```
|
|
|
|
Set the following enviornment variables (updating for your project as needed):
|
|
|
|
```text
|
|
LEPTOS_OUTPUT_NAME="doordesk"
|
|
LEPTOS_SITE_ROOT="site"
|
|
LEPTOS_SITE_PKG_DIR="pkg"
|
|
LEPTOS_SITE_ADDR="0.0.0.0:3000"
|
|
LEPTOS_RELOAD_PORT="3001"
|
|
```
|
|
|
|
Finally, run the server binary.
|