"password-hash",
]
+[[package]]
+name = "askama"
+version = "0.13.0-pre.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e2034a9f5ce003854892404493ee3c6c7126b606fdc3b7f095b3de96bb91692"
+dependencies = [
+ "askama_derive",
+ "itoa",
+ "percent-encoding",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "askama_derive"
+version = "0.13.0-pre.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4093a6764e6fcf280e6fadbcde60614fa0b49cdbf60d823696a68b05f8356a80"
+dependencies = [
+ "askama_parser",
+ "basic-toml",
+ "memchr",
+ "proc-macro2",
+ "quote",
+ "rustc-hash",
+ "serde",
+ "serde_derive",
+ "syn",
+]
+
+[[package]]
+name = "askama_parser"
+version = "0.13.0-pre.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "035b5b741f7d44d37a6fef913426b15f3ad5a4afe63b35ce9fce44e6ce55d0d3"
+dependencies = [
+ "memchr",
+ "serde",
+ "serde_derive",
+ "winnow 0.7.4",
+]
+
[[package]]
name = "async-trait"
version = "0.1.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
-[[package]]
-name = "humansize"
-version = "2.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7"
-dependencies = [
- "libm",
-]
-
[[package]]
name = "hyper"
version = "1.6.0"
"httpdate",
"idna",
"mime",
- "nom 8.0.0",
+ "nom",
"percent-encoding",
"quoted_printable",
"rustls",
"unicase",
]
-[[package]]
-name = "minimal-lexical"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-
[[package]]
name = "miniz_oxide"
version = "0.8.5"
"windows-sys 0.52.0",
]
-[[package]]
-name = "nom"
-version = "7.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
-dependencies = [
- "memchr",
- "minimal-lexical",
-]
-
[[package]]
name = "nom"
version = "8.0.0"
version = "1.0.0"
dependencies = [
"argon2",
+ "askama",
"axum",
"axum-extra",
"chrono",
"lettre",
"rand 0.9.0",
"rand_core 0.9.3",
- "rinja",
"ron",
"serde",
"sqlx",
"windows-sys 0.52.0",
]
-[[package]]
-name = "rinja"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dc4940d00595430b3d7d5a01f6222b5e5b51395d1120bdb28d854bb8abb17a5"
-dependencies = [
- "humansize",
- "itoa",
- "percent-encoding",
- "rinja_derive",
-]
-
-[[package]]
-name = "rinja_derive"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08d9ed0146aef6e2825f1b1515f074510549efba38d71f4554eec32eb36ba18b"
-dependencies = [
- "basic-toml",
- "memchr",
- "mime",
- "mime_guess",
- "proc-macro2",
- "quote",
- "rinja_parser",
- "rustc-hash",
- "serde",
- "syn",
-]
-
-[[package]]
-name = "rinja_parser"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f9a866e2e00a7a1fb27e46e9e324a6f7c0e7edc4543cae1d38f4e4a100c610"
-dependencies = [
- "memchr",
- "nom 7.1.3",
- "serde",
-]
-
[[package]]
name = "ron"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0c9dc7fe5fe9f920a393e3c6f39e5c1830f078f33b03e110ac6b561c7dd04f8"
dependencies = [
- "nom 8.0.0",
+ "nom",
]
[[package]]
dependencies = [
"indexmap",
"toml_datetime",
- "winnow",
+ "winnow 0.5.40",
]
[[package]]
"memchr",
]
+[[package]]
+name = "winnow"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36"
+dependencies = [
+ "memchr",
+]
+
[[package]]
name = "wit-bindgen-rt"
version = "0.39.0"
Use FTS5:
https://sqlite.org/fts5.html
https://www.sqlitetutorial.net/sqlite-full-text-search/
-* Use of markdown for some field (how to add markdown as rinja filter?)
+* Use of markdown for some field (how to add markdown as askama filter?)
* Quick search left panel by tags ?
* Make the home page: Define what to display to the user
* Show existing tags when editing a recipe
\r
sqlx = { version = "0.8", features = ["sqlite", "runtime-tokio", "chrono"] }\r
\r
-rinja = { version = "0.3" }\r
+askama = "=0.13.0-pre.0"\r
\r
argon2 = { version = "0.5", features = ["default", "std"] }\r
rand_core = { version = "0.9", features = ["std"] }\r
--- /dev/null
+[general]
+whitespace = "suppress"
+++ /dev/null
-[general]
-whitespace = "suppress"
-use rinja::Template;
+use askama::Template;
use crate::{
data::model,
Database(#[from] db::DBError),
#[error("Template error: {0}")]
- Render(#[from] rinja::Error),
+ Render(#[from] askama::Error),
}
type Result<T> = std::result::Result<T, AppError>;
+use askama::Template;
use axum::{
debug_handler,
extract::{Extension, Query, State},
response::{Html, IntoResponse},
};
-use rinja::Template;
use serde::Deserialize;
// use tracing::{event, Level};
use crate::{
+ Result,
data::{db, model},
html_templates::*,
- translation, Result,
+ translation,
};
#[derive(Deserialize)]
+use askama::Template;
use axum::{
body, debug_handler,
extract::{Extension, Request, State},
middleware::Next,
response::{Html, IntoResponse, Response},
};
-use rinja::Template;
use crate::{
Result,
+use askama::Template;
use axum::{
debug_handler,
extract::{Extension, Path, State},
response::{Html, IntoResponse, Redirect, Response},
};
-use rinja::Template;
// use tracing::{event, Level};
use crate::{
use std::{collections::HashMap, net::SocketAddr};
+use askama::Template;
use axum::{
Form,
body::Body,
};
use chrono::Duration;
use lettre::Address;
-use rinja::Template;
use serde::Deserialize;
use tracing::{Level, event};
--- /dev/null
+oha https://recipes.gburri.org/en/ -n 10000 -c 30
+# oha https://recipes.gburri.org/signin -n 10000 -c 30 -m POST -T application/x-www-form-urlencoded -d email=paul%40atreides.com&password=12345678dasd
\ No newline at end of file