feat: petnames
This commit is contained in:
parent
7ee817de46
commit
aec876233d
4 changed files with 27 additions and 11 deletions
18
Cargo.lock
generated
18
Cargo.lock
generated
|
@ -1846,6 +1846,16 @@ dependencies = [
|
||||||
"sha1 0.10.5",
|
"sha1 0.10.5",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "petname"
|
||||||
|
version = "1.1.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fce4164d60963550beb856b011fdf32b03b0e8bc0c3fce023c7b0ccecddf7950"
|
||||||
|
dependencies = [
|
||||||
|
"itertools",
|
||||||
|
"rand 0.8.5",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "phf"
|
name = "phf"
|
||||||
version = "0.11.1"
|
version = "0.11.1"
|
||||||
|
@ -2611,12 +2621,6 @@ dependencies = [
|
||||||
"version_check",
|
"version_check",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "static-rc"
|
|
||||||
version = "0.6.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b91d0104a7b28aeda24b30919f83222570111ac0bf1aab23aaffb8f59330e654"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "stdweb"
|
name = "stdweb"
|
||||||
version = "0.4.20"
|
version = "0.4.20"
|
||||||
|
@ -3355,13 +3359,13 @@ dependencies = [
|
||||||
"intl-memoizer",
|
"intl-memoizer",
|
||||||
"log",
|
"log",
|
||||||
"matrix-sdk",
|
"matrix-sdk",
|
||||||
|
"petname",
|
||||||
"rand 0.8.5",
|
"rand 0.8.5",
|
||||||
"rand_core 0.6.4",
|
"rand_core 0.6.4",
|
||||||
"rpassword",
|
"rpassword",
|
||||||
"serde",
|
"serde",
|
||||||
"sha2 0.10.6",
|
"sha2 0.10.6",
|
||||||
"sled",
|
"sled",
|
||||||
"static-rc",
|
|
||||||
"tera",
|
"tera",
|
||||||
"tide",
|
"tide",
|
||||||
"tokio",
|
"tokio",
|
||||||
|
|
|
@ -18,16 +18,19 @@ fluent-langneg = "0.13.0"
|
||||||
intl-memoizer = "0.5.1"
|
intl-memoizer = "0.5.1"
|
||||||
log = "0.4.17"
|
log = "0.4.17"
|
||||||
matrix-sdk = { version = "0.6.2", default-features = false, features = ["rustls-tls"] }
|
matrix-sdk = { version = "0.6.2", default-features = false, features = ["rustls-tls"] }
|
||||||
|
petname = { version = "1.1.3", optional = true, default-features = false, features = ["std_rng", "default_dictionary"] }
|
||||||
rand = "0.8.5"
|
rand = "0.8.5"
|
||||||
rand_core = { version = "0.6.4", features = ["std"] }
|
rand_core = { version = "0.6.4", features = ["std"] }
|
||||||
rpassword = "7.2.0"
|
rpassword = "7.2.0"
|
||||||
serde = { version = "1.0.148", features = ["derive", "rc"] }
|
serde = { version = "1.0.148", features = ["derive", "rc"] }
|
||||||
sha2 = "0.10.6"
|
sha2 = "0.10.6"
|
||||||
sled = "0.34.7"
|
sled = "0.34.7"
|
||||||
static-rc = "0.6.1"
|
|
||||||
tera = { version = "1.17.1", features = ["builtins", "date-locale"] }
|
tera = { version = "1.17.1", features = ["builtins", "date-locale"] }
|
||||||
tide = { version = "0.16.0", default-features = false, features = ["h1-server", "cookies", "logger"] }
|
tide = { version = "0.16.0", default-features = false, features = ["h1-server", "cookies", "logger"] }
|
||||||
tokio = { version = "1.22.0", features = ["macros", "rt-multi-thread"] }
|
tokio = { version = "1.22.0", features = ["macros", "rt-multi-thread"] }
|
||||||
toml_edit = { version = "0.15.0", features = ["easy"] }
|
toml_edit = { version = "0.15.0", features = ["easy"] }
|
||||||
typed-sled = "0.2.0"
|
typed-sled = "0.2.0"
|
||||||
unic-langid = { version = "0.9.1", features = ["macros"] }
|
unic-langid = { version = "0.9.1", features = ["macros"] }
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = ["petname"]
|
||||||
|
|
|
@ -13,6 +13,7 @@ Rust webserver for comments, that you can easily embed in a website.
|
||||||
* Customizable [Tera](https://github.com/Keats/tera) templates
|
* Customizable [Tera](https://github.com/Keats/tera) templates
|
||||||
* Comment frequency limit per IP
|
* Comment frequency limit per IP
|
||||||
* i18n
|
* i18n
|
||||||
|
* Petnames! (anonymous comment authors get a funny random name)
|
||||||
|
|
||||||
## Use
|
## Use
|
||||||
|
|
||||||
|
@ -37,7 +38,7 @@ The account must have joined the room for Webcomment to be able to send messages
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
CopyLeft 2022 Pascal Engélibert [(why copyleft?)](//txmn.tk/blog/why-copyleft/)
|
CopyLeft 2022 Pascal Engélibert [(why copyleft?)](https://txmn.tk/blog/why-copyleft/)
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.
|
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.
|
||||||
|
|
||||||
|
|
|
@ -322,7 +322,11 @@ async fn handle_post_comments(
|
||||||
|
|
||||||
let comment = Comment {
|
let comment = Comment {
|
||||||
topic_hash,
|
topic_hash,
|
||||||
author: query.comment.author,
|
author: if query.comment.author.is_empty() {
|
||||||
|
petname::Petnames::large().generate_one(2, " ")
|
||||||
|
} else {
|
||||||
|
query.comment.author
|
||||||
|
},
|
||||||
email: if query.comment.email.is_empty() {
|
email: if query.comment.email.is_empty() {
|
||||||
None
|
None
|
||||||
} else {
|
} else {
|
||||||
|
@ -395,7 +399,11 @@ async fn handle_post_comments(
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.as_secs();
|
.as_secs();
|
||||||
|
|
||||||
comment.author = query.comment.author;
|
comment.author = if query.comment.author.is_empty() {
|
||||||
|
petname::Petnames::large().generate_one(2, " ")
|
||||||
|
} else {
|
||||||
|
query.comment.author
|
||||||
|
};
|
||||||
comment.email = if query.comment.email.is_empty() {
|
comment.email = if query.comment.email.is_empty() {
|
||||||
None
|
None
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue