Compare commits

...

3 commits

6 changed files with 31 additions and 101 deletions

View file

@ -1415,9 +1415,9 @@ dependencies = [
[[package]]
name = "nanorand"
version = "0.7.0"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
checksum = "6e3d189da485332e96ba8a5ef646a311871abd7915bf06ac848a9117f19cf6e4"
[[package]]
name = "next_tuple"

View file

@ -8,7 +8,7 @@ rocket = "0.5"
leptos = { version = "0.8", features = ["ssr"] }
jiff = "0.2"
rocket_async_compression = "0.6"
nanorand = { version = "0.7", features = ["chacha"] }
nanorand = { version = "0.8", features = ["chacha"] }
tailwind_fuse = { version = "0.3", features = ["variant"] }
[build-dependencies]

View file

@ -7,9 +7,9 @@ pub enum Icon {
Link,
Calendar,
Location,
Twitter,
Telegram,
Mastodon,
Matrix,
YouTube,
Github,
Linkedin,
Map,
@ -76,24 +76,6 @@ impl IntoAny for Icon {
></path>
</svg>
}.into_any(),
Icon::Twitter => view! {
<svg
class=tw_join!("w-6", "h-6", "fill-current", "mr-0", "sm:mr-2")
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"></path>
</svg>
}.into_any(),
Icon::Telegram => view! {
<svg
class=tw_join!("w-6", "h-6", "fill-current", "mr-0", "sm:mr-2")
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"></path>
</svg>
}.into_any(),
Icon::Mastodon => view! {
<svg
class=tw_join!("w-6", "h-6", "fill-current", "mr-0", "sm:mr-2")
@ -103,6 +85,24 @@ impl IntoAny for Icon {
<path d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"></path>
</svg>
}.into_any(),
Icon::Matrix => view! {
<svg
class=tw_join!("w-6", "h-6", "fill-current", "mr-0", "sm:mr-2")
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.481.314.448.208.785.582 1.02 1.108.254-.374.6-.706 1.034-.992.434-.287.95-.43 1.546-.43.453 0 .872.056 1.26.167.388.11.716.286.993.53.276.245.489.559.646.951.152.392.23.863.23 1.417v5.728h-2.349V11.52c0-.286-.01-.559-.032-.812a1.755 1.755 0 0 0-.18-.66 1.106 1.106 0 0 0-.438-.448c-.194-.11-.457-.166-.785-.166-.332 0-.6.064-.803.189a1.38 1.38 0 0 0-.48.499 1.946 1.946 0 0 0-.231.696 5.56 5.56 0 0 0-.06.785v4.768h-2.35v-4.8c0-.254-.004-.503-.018-.752a2.074 2.074 0 0 0-.143-.688 1.052 1.052 0 0 0-.415-.503c-.194-.125-.476-.19-.854-.19-.111 0-.259.024-.439.074-.18.051-.36.143-.53.282-.171.138-.319.337-.439.595-.12.259-.18.6-.18 1.02v4.966H5.46V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z"></path>
</svg>
}.into_any(),
Icon::YouTube => view! {
<svg
class=tw_join!("w-6", "h-6", "fill-current", "mr-0", "sm:mr-2")
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"></path>
</svg>
}.into_any(),
Icon::Github => view! {
<svg
class=tw_join!("w-6", "h-6", "fill-current", "mr-0", "sm:mr-2")

View file

@ -11,19 +11,5 @@ pub fn email_page() -> impl IntoAny {
"www at philippeloctaux dot com",
), Some(Icon::Email), None).into_any()}
</div>
<p class=tw_join!(
"mb-2"
)>
"If you want to encrypt your message, I have a "
{underline_link(Link::new(uri!("/pub/pgp-0x69771CD04BA82EC0.txt").into(), "pgp key"), None).into_any()}
" at your disposal."
</p>
<p class=tw_join!(
"mb-2"
)>
"I also have a "{underline_link(Link::new(uri!("/keybase.txt").into(), "Keybase"), None).into_any()}
" account, but I do not check it often."
</p>
}.into_any()
}

View file

@ -22,23 +22,20 @@ impl IntoAny for Www {
pub fn list() -> impl IntoAny {
let www = [
Www {
link: Link::new(
uri!("https://twitter.com/philippeloctaux").into(),
"Twitter",
),
icon: Icon::Twitter,
},
Www {
link: Link::new(uri!("https://t.me/philippeloctaux").into(), "Telegram"),
icon: Icon::Telegram,
link: Link::new(uri!("https://github.com/deadbaed").into(), "GitHub"),
icon: Icon::Github,
},
Www {
link: Link::new(uri!("https://mastodon.social/@philt3r").into(), "Mastodon"),
icon: Icon::Mastodon,
},
Www {
link: Link::new(uri!("https://github.com/deadbaed").into(), "GitHub"),
icon: Icon::Github,
link: Link::new(uri!("https://matrix.to/#/@philt3r:mozilla.org").into(), "Matrix"),
icon: Icon::Matrix,
},
Www {
link: Link::new(uri!("https://youtube.com/philippeloctaux").into(), "YouTube"),
icon: Icon::YouTube,
},
Www {
link: Link::new(

View file

@ -1,53 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: email: p@philippeloctaux.com
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
sPthNw==
=+BUe
-----END PGP PUBLIC KEY BLOCK-----