From 2da77e8af53183b3fcc94a80962fc02c1424a499 Mon Sep 17 00:00:00 2001 From: Nilstrieb <48135649+Nilstrieb@users.noreply.github.com> Date: Sun, 21 Jan 2024 18:12:51 +0100 Subject: [PATCH] STUFF --- .github/workflows/pages.yml | 2 +- .prettierrc.json | 3 + config.toml | 2 +- src/build/slides.rs | 4 +- src/build/statics.rs | 4 +- src/main.rs | 20 ++++- static/root/back-alley.html | 84 +++++++++++++++++++ static/root/index.html | 130 ++++++++++++++++++++++++++---- static/root/static/ferrisuwu.webp | Bin 0 -> 6330 bytes static/root/static/github.svg | 3 + static/root/static/mastodon.png | Bin 0 -> 26286 bytes static/root/static/theme.css | 65 +++++++++++++++ templates/slides.html | 30 ++++--- 13 files changed, 314 insertions(+), 33 deletions(-) create mode 100644 .prettierrc.json create mode 100644 static/root/back-alley.html create mode 100644 static/root/static/ferrisuwu.webp create mode 100644 static/root/static/github.svg create mode 100644 static/root/static/mastodon.png create mode 100644 static/root/static/theme.css diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index fd05e94..9bc6f3d 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -25,7 +25,7 @@ jobs: uses: dtolnay/rust-toolchain@stable - name: Build website - run: cargo run + run: cargo run build - name: Deploy uses: peaceiris/actions-gh-pages@v3 diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..7d479c6 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,3 @@ +{ + "printWidth": 100 +} diff --git a/config.toml b/config.toml index 7969ee3..6413675 100644 --- a/config.toml +++ b/config.toml @@ -1,4 +1,4 @@ [slides] talks = [ - "2024-01-17-how-to-contribute-to-the-rust-project" + { name = "How to contribute to the Rust project", location = "Rust Zürisee", date = "2024-01-17" }, ] diff --git a/src/build/slides.rs b/src/build/slides.rs index 94ddd8c..7c0ac10 100644 --- a/src/build/slides.rs +++ b/src/build/slides.rs @@ -16,8 +16,8 @@ pub fn build(config: &SlidesConfig, slides: &Path, dist: &Path) -> Result<()> { utils::cp_r(&slides.join("plugin"), &dist.join("plugin")).wrap_err("copying reveal.js dist")?; for talk in &config.talks { - let path = slides.join(talk); - let dist = dist.join(talk); + let path = slides.join(talk.dirname()); + let dist = dist.join(talk.dirname()); utils::cp_r(&path, &dist).wrap_err("copying slide data")?; } diff --git a/src/build/statics.rs b/src/build/statics.rs index f3f285f..b85badd 100644 --- a/src/build/statics.rs +++ b/src/build/statics.rs @@ -5,12 +5,12 @@ use std::{fs, path::Path}; use askama::Template; use color_eyre::{eyre::WrapErr, Result}; -use crate::{utils, SlidesConfig}; +use crate::{utils, SlidesConfig, Talk}; #[derive(askama::Template)] #[template(path = "slides.html")] struct Slides { - talks: Vec, + talks: Vec, } pub fn build(config: &SlidesConfig, statics: &Path, dist: &Path) -> Result<()> { diff --git a/src/main.rs b/src/main.rs index 57d3287..6e5f187 100644 --- a/src/main.rs +++ b/src/main.rs @@ -29,7 +29,24 @@ struct Config { #[derive(Deserialize)] struct SlidesConfig { - talks: Vec, + talks: Vec, +} + +#[derive(Deserialize, Clone)] +struct Talk { + name: String, + date: String, + location: String, +} + +impl Talk { + fn dirname(&self) -> String { + format!( + "{}-{}", + self.date, + self.name.replace(" ", "-").to_lowercase() + ) + } } fn main() -> Result<()> { @@ -64,6 +81,7 @@ fn main() -> Result<()> { } fn watch(root: &'static Path) -> Result<()> { + build(root).wrap_err("initial build")?; let (send, recv) = std::sync::mpsc::sync_channel(1); let mut watcher = notify::recommended_watcher(move |res| match res { Ok(_) => { diff --git a/static/root/back-alley.html b/static/root/back-alley.html new file mode 100644 index 0000000..5708d3f --- /dev/null +++ b/static/root/back-alley.html @@ -0,0 +1,84 @@ + + + + + + nilstrieb.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. how do you know that it's handwritten? its performance is absolutely horrible, that's + why! +

+ + uptime.nilstrieb.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.nilstrieb.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.nilstrieb.dev + +
+
+
+ + diff --git a/static/root/index.html b/static/root/index.html index ad44eb3..beff84f 100644 --- a/static/root/index.html +++ b/static/root/index.html @@ -1,18 +1,118 @@ - - - + + + nilstrieb.dev - - -

hi!

-

This is my website. It is work in progress.

-

my blog

-

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

- blog -

slides

-

i have given one talk, here are its slides, isnt this amazing

- slides from talks - - \ No newline at end of file + + + + +
+
+

Nilstrieb's website

+
+

+ 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 nils +

+ + +
+
+

my blog

+

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

+ + blog + +
+
+

slides

+

i have given one talk, here are its slides, isnt this amazing

+ + slides from talks + +
+
+

random projects

+

+ 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. +

+
+
+
+ +
+ +
+ + + + diff --git a/static/root/static/ferrisuwu.webp b/static/root/static/ferrisuwu.webp new file mode 100644 index 0000000000000000000000000000000000000000..06ce71e3e3b123d449c66be71c51ede81eee2622 GIT binary patch literal 6330 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 NLK`@aUuI!u006kn2vh(7 literal 0 HcmV?d00001 diff --git a/static/root/static/github.svg b/static/root/static/github.svg new file mode 100644 index 0000000..0b77f92 --- /dev/null +++ b/static/root/static/github.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/root/static/mastodon.png b/static/root/static/mastodon.png new file mode 100644 index 0000000000000000000000000000000000000000..10466dce3831a27e5cd1f65dc8a4c16cd6bdda49 GIT binary patch literal 26286 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 literal 0 HcmV?d00001 diff --git a/static/root/static/theme.css b/static/root/static/theme.css new file mode 100644 index 0000000..a39efcf --- /dev/null +++ b/static/root/static/theme.css @@ -0,0 +1,65 @@ +body { + font-family: Verdana, sans-serif; + background-color: #e6dae9; + color: #1b191c; + overflow-x: hidden; +} + +.main-content { + display: flex; + flex-direction: column; + align-items: center; +} + +@media (min-width: 700px) { + .main-content-inner { + width: 70vw; + } +} + +@media (min-width: 1200px) { + .main-content-inner { + width: 50vw; + } +} + +.call-to-action { + width: 400px; + height: 50px; + background-color: #8c499d; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + text-decoration: none; +} + +.call-to-action:hover { + background-color: #ac78b8; +} + +.call-to-action * { + color: white; +} + +@media (prefers-color-scheme: light) { + body { + background-color: #e6dae9; + color: #1b191c; + } + + .secret { + color: #5b4561; + } +} + +@media (prefers-color-scheme: dark) { + body { + background-color: #1b191c; + color: #e6dae9; + } + + .secret { + color: #a081a9; + } +} diff --git a/templates/slides.html b/templates/slides.html index c8d7624..99f9131 100644 --- a/templates/slides.html +++ b/templates/slides.html @@ -1,17 +1,25 @@ - - - + + + + Slides - - -

Slides

-

Talks I have given with slides available:

-
+ + +
+
+

slides

+

slides from talks that i have given

+ {% for talk in talks %} -
{{ talk }} +
+

{{ talk.date }} - {{ talk.name }}

+

{{ talk.location }}

+ {{ talk.dirname() }} +
{% endfor %} +
- - \ No newline at end of file + +