#leptos #web #email #set-timeout

leptos-obfuscate

Simple email obfuscation component for Leptos

3 unstable releases

0.2.0 Feb 2, 2024
0.1.1 Dec 30, 2023
0.1.0 Dec 30, 2023

#592 in WebAssembly

Download history 33/week @ 2024-03-11 31/week @ 2024-03-18 30/week @ 2024-03-25 83/week @ 2024-04-01 29/week @ 2024-04-08 21/week @ 2024-04-15 29/week @ 2024-04-22 21/week @ 2024-04-29 39/week @ 2024-05-06 21/week @ 2024-05-13 35/week @ 2024-05-20 31/week @ 2024-05-27 38/week @ 2024-06-03 35/week @ 2024-06-10 36/week @ 2024-06-17 29/week @ 2024-06-24

141 downloads per month

MIT license

5KB

leptos-obfuscate

This is for easy email address obfuscation to prevent bots and spammers.

Add the following to your CSS stylesheet:

span.obfuscate {
  unicode-bidi: bidi-override;
  direction: rtl;
  cursor: pointer;
}
span.obfuscate > i {
  display: none;
}
span.obfuscate > span::after {
  content: '@';
}

The component accepts an optional honeypot email address / link you can use, if you want to have a sophisticated setup and blacklist any sender that sends an E-Mail to it.

The delay_seconds can be set as well. After this timeout, when mounted inside the browser, the honeypot address will be exchanged with the real one. This means the link will not work with HTML only, but there is no good way to prevent bots without Javascript / WASM.

Then just use it like this:

let (email, _) = create_signal("mail@example.com".to_string());
view! { <ObfuscateEmail email /> }

Panics

If the given String does not contain '@'

Leptos Compatibility

Leptos v0.6

leptos-obfuscate v0.2+

Leptos v0.5

leptos-obfuscate v0.1

Dependencies

~19–32MB
~512K SLoC