diff --git a/builder/src/build/statics.rs b/builder/src/build/statics.rs index f7246ce..cfb3bab 100644 --- a/builder/src/build/statics.rs +++ b/builder/src/build/statics.rs @@ -3,21 +3,34 @@ use std::path::Path; use color_eyre::{eyre::WrapErr, Result}; +use rand::seq::SliceRandom; use crate::{utils, SlidesConfig}; pub fn build( - _rng: &mut rand::rngs::StdRng, + rng: &mut rand::rngs::StdRng, config: &SlidesConfig, statics: &Path, dist: &Path, ) -> Result<()> { + let back_alley_name = b"abcdefghijklmnopqrstuvwxyz" + .choose_multiple(rng, 6) + .map(|&c| char::from_u32(c.into()).unwrap()) + .collect::(); + + let back_alley_name = format!("back-alley-{back_alley_name}.html"); + let mut context = tera::Context::new(); + context.insert("back_alley_name", back_alley_name.as_str()); context.insert("talks", &config.talks); - utils::copy_fn(&statics.join("root"), dist, |content, ext, _opts| { + utils::copy_fn(&statics.join("root"), dist, |content, ext, opts| { if ext.is_some_and(|ext| matches!(ext, "html" | "css")) { + if opts.dest_path.ends_with("back-alley.html") { + opts.dest_path.set_file_name(&back_alley_name); + } + let content = String::from_utf8(content).wrap_err("HTML or CSS is invalid UTF-8")?; let mut tera = tera::Tera::default(); tera.add_raw_template("template", &content) diff --git a/static/root/back-alley.html b/static/root/back-alley.html new file mode 100644 index 0000000..8a61fee --- /dev/null +++ b/static/root/back-alley.html @@ -0,0 +1,84 @@ + + + + + + noratrieb.dev + + + +
+
+

secret back alley

+ getting out +
+

+ hey! psst! you might have found the secret back alley. granted, it was not very secret. + but that's the thing with back alleys, they're not really secret, yet people usually + don't go there. +

+

+ so while you're here, i have some things for you. secret websites i host. you may use + them, but don't abuse them. i really mean it! or else i will be forced to move them out + of the secret back alley into my secret bunker, where you won't have access to them at + all. and you don't want that, do you? +

+
+
+

uptime

+

+ uptime is my + personal hand-written status page website. it checks whether everything is online and nicely displays a pretty bar. everything is always green! +

+ + uptime.noratrieb.dev + +
+
+

OLAT

+

+ you've ever wanted to use a + professional learning platform that's used by + real schools for things that may not be very appropriate on the school instance? i + kinda, uh... do, so that's why this exists. +

+ + olat.nilstrieb.dev + +
+
+

HugoChat

+

+ the brilliant chat platform for all + your needs. +

+ + hugo-chat.noratrieb.dev + +
+
+

CORS

+

+ running CORS, for your + creative organized relaxed school life. +

+ + cors-school.nilstrieb.dev + +
+
+

cargo-bisect-rustc-service

+

+ webscale bisection + at your fingertips +

+ + bisect-rustc.noratrieb.dev + +
+
+
+ + diff --git a/static/root/index.html b/static/root/index.html index b261873..42da45f 100644 --- a/static/root/index.html +++ b/static/root/index.html @@ -1,262 +1,202 @@ - + - Noratrieb + noratrieb.dev - +
-
-
- Noratrieb - Website: noratrieb.dev - Category: Personal Website - Published: In the past, likely - ISSN: None +

Noratrieb's website

+
+
+
+

+ hi, i'm nora 🏳️‍⚧️. this is my website. you'll find lots of interesting and not very + interesting stuff here, depending on where you look. +

+

+ there may be many + secrets + depending on where you look.... +

+
+
+

socials

+

+ these two are not everything, but you may find more there, like a choose your own + adventure story: choose your own nora +

+ + + + + + +
-
- Noratrieb - silly internet person - it's just me no one else -
-
-
-

Noratrieb: it's me

-
-

Abstract

-
-

- hi, i'm nora 🏳️‍⚧️. this is my website. you'll find lots of interesting and not very - interesting stuff here, depending on where you look. -

- - - - +
Two grey cartoon-cats on a pink background. The left cat is small and sits on a floating rocket, the right cat is big and has a red bow tie on the right ear. - +
-

Status of This Memo

-
-

This is a World Wide Web Hypertext document.

+
+

my blog

+

i have a blog, it might be interesting, maybe.

+ + blog + +
+
+

slides

+

slides to talks that i have given

+ + slides from talks + +
+
+

random projects

- This document is a product of Noratrieb. It represents the consensus of Noratrieb. It - has not received public review and has not been approved for publication by the Internet - Engineering Steering Group (IESG). Further information on Internet Standards is - available in Section 2 of RFC 7841. + in addition to all the other stuff mentioned above, i also have some random projects + hosted on my server. they are pretty bad and i won't promote them this openly, but you + will be able to find them if you really want to. some people have been saying that there + might be a secret + back alley + somewhere...

-

Table of Contents

-
-
    -
  1. Blog
  2. -
  3. Socials
  4. -
  5. Slides
  6. +
    +

    contact me

    +

    if you want to contact me for something, use any of the following platforms

    +
    • - Projects -
        -
      1. Rust
      2. -
      + discord (preferred): +
      noratrieb
      + . if you're on a server where i'm too (like the Rust Discord) you can just DM me (make + sure to include the reason in the first message or i will ignore it)
    • -
    • Contact
    • -
+
  • + mastodon: +
    @noratrieb@hachyderm.io
    +
  • + +

    + if for some reason you really like being super secret then + age-encrypt something with my current SSH key + found on GitHub. +

    +

    i do not have a PGP key and do not intend on getting one.

    -
    -

    Blog

    -
    -

    i have a blog, it might be interesting, maybe.

    - - blog - -
    -
    -
    -

    Socials

    -
    -

    - these two are not everything, but you may find more there, like a choose your own - adventure story: choose your own nora -

    - - - -
    -
    -
    -

    Slides

    -
    -

    - i've given some (one) talks. you can find the slides on my website, right over there. - i made them with reveal.js which means you can interact with them right on the web, - it's like magic. -

    - - slides from talks - -
    -
    -
    -

    Projects

    -
    -

    Rust

    -
    -

    - I've spent a lot of time working on the - Rust Programming Language as part of the - compiler and standard library contributors team. My most famous work are the - improved cfg diagnostics released in - 1.72.0. Other than - that, I've contributed countless refactors and improvements to all kinds of areas - from the parser to the backend. I've also reviewed hundreds of PRs for both the - compiler and standard library, of which only one caused a serious regression that - warranted a point release (1.74.1). -

    -
    -
    -
    -

    Other

    -
    -

    - Most of my projects are only short-lived and not exciting enough to put here. I have - written a lot of code that does fun things. You can find it all on my - GitHub. -

    -
    -
    -
    -
    -

    Contact

    -
    -

    if you want to contact me for something, use any of the following platforms

    -
      -
    • - discord (preferred): - noratrieb - . if you're on a server where i'm too (like the Rust Discord) you can just DM me - (make sure to include the reason in the first message or i will ignore it) -
    • -
    • - Mastodon: - @noratrieb@hachyderm.io -
    • -
    • - Bluesky: - noratrieb.dev -
    • -
    -

    - if for some reason you really like being super secret then - age-encrypt something with my current SSH key - found on GitHub. -

    -

    i do not have a PGP key and do not intend on getting one.

    -
    -
    + +
    + +
    + + diff --git a/static/root/static/Noratrieb.avif b/static/root/static/Noratrieb.avif deleted file mode 100644 index ba8638a..0000000 Binary files a/static/root/static/Noratrieb.avif and /dev/null differ diff --git a/static/root/static/Noratrieb.webp b/static/root/static/Noratrieb.webp deleted file mode 100644 index 5ca61c3..0000000 Binary files a/static/root/static/Noratrieb.webp and /dev/null differ diff --git a/static/root/static/bluesky.svg b/static/root/static/bluesky.svg deleted file mode 100644 index c71e201..0000000 --- a/static/root/static/bluesky.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/static/root/static/ferrisuwu.webp b/static/root/static/ferrisuwu.webp new file mode 100644 index 0000000..06ce71e Binary files /dev/null and b/static/root/static/ferrisuwu.webp differ diff --git a/static/root/static/github.svg b/static/root/static/github.svg index d26df9f..0b77f92 100644 --- a/static/root/static/github.svg +++ b/static/root/static/github.svg @@ -1,3 +1,3 @@ - + diff --git a/static/root/static/mastodon.png b/static/root/static/mastodon.png new file mode 100644 index 0000000..10466dc Binary files /dev/null and b/static/root/static/mastodon.png differ diff --git a/static/root/static/mastodon.svg b/static/root/static/mastodon.svg deleted file mode 100644 index a20e798..0000000 --- a/static/root/static/mastodon.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/static/root/static/theme.css b/static/root/static/theme.css index 7da2731..e77b5b4 100644 --- a/static/root/static/theme.css +++ b/static/root/static/theme.css @@ -1,9 +1,11 @@ html { - --accent-color: #e5a5c2; + --accept-color: #e5a5c2; } body { font-family: Verdana, sans-serif; + background-color: #e6dae9; + color: #1b191c; } .main-content { @@ -27,7 +29,7 @@ body { .call-to-action { width: 250px; height: 50px; - background-color: var(--accent-color); + background-color: var(--accept-color); display: flex; justify-content: center; align-items: center; @@ -54,6 +56,7 @@ body { flex-direction: row; } + @media (max-width: 1000px) { .columns-2 { display: block; @@ -61,35 +64,29 @@ body { } } + @media (prefers-color-scheme: light) { body { - --background-color: #e6dae9; - --foreground-color: #1b191c; - --black-or-white: black; + background-color: #e6dae9; + color: #1b191c; + } + + .secret { + color: #5b4561; } } @media (prefers-color-scheme: dark) { body { - --background-color: #1b191c; - --foreground-color: #e6dae9; - --black-or-white: white; + background-color: #1b191c; + color: #e6dae9; } a { - color: var(--accent-color); + color: var(--accept-color); + } + + .secret { + color: #a081a9; } } - -body { - background-color: var(--background-color); - color: var(--foreground-color); -} - -.center { - display: flex; - justify-content: center; -} -a { - text-decoration: underline; -}