From cd7cf527613ce220dc39bd705da72199b35fa0a1 Mon Sep 17 00:00:00 2001 From: Beat Hagenlocher Date: Thu, 27 Jun 2024 00:32:51 +0200 Subject: Initial commit --- .envrc | 3 + .gitignore | 4 + .vscode/extensions.json | 3 + assets/fira-code-v21-latin_greek-300.eot | Bin 0 -> 30469 bytes assets/fira-code-v21-latin_greek-300.svg | 334 ++++++++++++++++++++++ assets/fira-code-v21-latin_greek-300.ttf | Bin 0 -> 59896 bytes assets/fira-code-v21-latin_greek-300.woff | Bin 0 -> 33900 bytes assets/fira-code-v21-latin_greek-300.woff2 | Bin 0 -> 26608 bytes assets/fira-code-v21-latin_greek-500.eot | Bin 0 -> 30665 bytes assets/fira-code-v21-latin_greek-500.svg | 335 ++++++++++++++++++++++ assets/fira-code-v21-latin_greek-500.ttf | Bin 0 -> 59792 bytes assets/fira-code-v21-latin_greek-500.woff | Bin 0 -> 34060 bytes assets/fira-code-v21-latin_greek-500.woff2 | Bin 0 -> 26704 bytes assets/fira-code-v21-latin_greek-regular.eot | Bin 0 -> 30620 bytes assets/fira-code-v21-latin_greek-regular.svg | 335 ++++++++++++++++++++++ assets/fira-code-v21-latin_greek-regular.ttf | Bin 0 -> 59832 bytes assets/fira-code-v21-latin_greek-regular.woff | Bin 0 -> 34004 bytes assets/fira-code-v21-latin_greek-regular.woff2 | Bin 0 -> 26744 bytes assets/fira-sans-v16-latin_greek-300.eot | Bin 0 -> 38496 bytes assets/fira-sans-v16-latin_greek-300.svg | 328 ++++++++++++++++++++++ assets/fira-sans-v16-latin_greek-300.ttf | Bin 0 -> 84756 bytes assets/fira-sans-v16-latin_greek-300.woff | Bin 0 -> 39788 bytes assets/fira-sans-v16-latin_greek-300.woff2 | Bin 0 -> 32016 bytes assets/fira-sans-v16-latin_greek-300italic.eot | Bin 0 -> 40085 bytes assets/fira-sans-v16-latin_greek-300italic.svg | 340 +++++++++++++++++++++++ assets/fira-sans-v16-latin_greek-300italic.ttf | Bin 0 -> 86916 bytes assets/fira-sans-v16-latin_greek-300italic.woff | Bin 0 -> 41476 bytes assets/fira-sans-v16-latin_greek-300italic.woff2 | Bin 0 -> 33424 bytes assets/fira-sans-v16-latin_greek-500.eot | Bin 0 -> 39398 bytes assets/fira-sans-v16-latin_greek-500.svg | 329 ++++++++++++++++++++++ assets/fira-sans-v16-latin_greek-500.ttf | Bin 0 -> 86124 bytes assets/fira-sans-v16-latin_greek-500.woff | Bin 0 -> 40504 bytes assets/fira-sans-v16-latin_greek-500.woff2 | Bin 0 -> 32652 bytes assets/fira-sans-v16-latin_greek-500italic.eot | Bin 0 -> 40824 bytes assets/fira-sans-v16-latin_greek-500italic.svg | 339 ++++++++++++++++++++++ assets/fira-sans-v16-latin_greek-500italic.ttf | Bin 0 -> 87980 bytes assets/fira-sans-v16-latin_greek-500italic.woff | Bin 0 -> 42020 bytes assets/fira-sans-v16-latin_greek-500italic.woff2 | Bin 0 -> 33904 bytes assets/fira-sans-v16-latin_greek-italic.eot | Bin 0 -> 40527 bytes assets/fira-sans-v16-latin_greek-italic.svg | 340 +++++++++++++++++++++++ assets/fira-sans-v16-latin_greek-italic.ttf | Bin 0 -> 87904 bytes assets/fira-sans-v16-latin_greek-italic.woff | Bin 0 -> 41728 bytes assets/fira-sans-v16-latin_greek-italic.woff2 | Bin 0 -> 33720 bytes assets/fira-sans-v16-latin_greek-regular.eot | Bin 0 -> 39058 bytes assets/fira-sans-v16-latin_greek-regular.svg | 330 ++++++++++++++++++++++ assets/fira-sans-v16-latin_greek-regular.ttf | Bin 0 -> 85888 bytes assets/fira-sans-v16-latin_greek-regular.woff | Bin 0 -> 40160 bytes assets/fira-sans-v16-latin_greek-regular.woff2 | Bin 0 -> 32336 bytes flake.lock | 110 ++++++++ flake.nix | 51 ++++ fonts.css | 133 +++++++++ index.html.pm | 36 +++ meetup.html.pm | 7 + pollen.rkt | 24 ++ template.html.p | 68 +++++ 55 files changed, 3449 insertions(+) create mode 100644 .envrc create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 assets/fira-code-v21-latin_greek-300.eot create mode 100644 assets/fira-code-v21-latin_greek-300.svg create mode 100644 assets/fira-code-v21-latin_greek-300.ttf create mode 100644 assets/fira-code-v21-latin_greek-300.woff create mode 100644 assets/fira-code-v21-latin_greek-300.woff2 create mode 100644 assets/fira-code-v21-latin_greek-500.eot create mode 100644 assets/fira-code-v21-latin_greek-500.svg create mode 100644 assets/fira-code-v21-latin_greek-500.ttf create mode 100644 assets/fira-code-v21-latin_greek-500.woff create mode 100644 assets/fira-code-v21-latin_greek-500.woff2 create mode 100644 assets/fira-code-v21-latin_greek-regular.eot create mode 100644 assets/fira-code-v21-latin_greek-regular.svg create mode 100644 assets/fira-code-v21-latin_greek-regular.ttf create mode 100644 assets/fira-code-v21-latin_greek-regular.woff create mode 100644 assets/fira-code-v21-latin_greek-regular.woff2 create mode 100644 assets/fira-sans-v16-latin_greek-300.eot create mode 100644 assets/fira-sans-v16-latin_greek-300.svg create mode 100644 assets/fira-sans-v16-latin_greek-300.ttf create mode 100644 assets/fira-sans-v16-latin_greek-300.woff create mode 100644 assets/fira-sans-v16-latin_greek-300.woff2 create mode 100644 assets/fira-sans-v16-latin_greek-300italic.eot create mode 100644 assets/fira-sans-v16-latin_greek-300italic.svg create mode 100644 assets/fira-sans-v16-latin_greek-300italic.ttf create mode 100644 assets/fira-sans-v16-latin_greek-300italic.woff create mode 100644 assets/fira-sans-v16-latin_greek-300italic.woff2 create mode 100644 assets/fira-sans-v16-latin_greek-500.eot create mode 100644 assets/fira-sans-v16-latin_greek-500.svg create mode 100644 assets/fira-sans-v16-latin_greek-500.ttf create mode 100644 assets/fira-sans-v16-latin_greek-500.woff create mode 100644 assets/fira-sans-v16-latin_greek-500.woff2 create mode 100644 assets/fira-sans-v16-latin_greek-500italic.eot create mode 100644 assets/fira-sans-v16-latin_greek-500italic.svg create mode 100644 assets/fira-sans-v16-latin_greek-500italic.ttf create mode 100644 assets/fira-sans-v16-latin_greek-500italic.woff create mode 100644 assets/fira-sans-v16-latin_greek-500italic.woff2 create mode 100644 assets/fira-sans-v16-latin_greek-italic.eot create mode 100644 assets/fira-sans-v16-latin_greek-italic.svg create mode 100644 assets/fira-sans-v16-latin_greek-italic.ttf create mode 100644 assets/fira-sans-v16-latin_greek-italic.woff create mode 100644 assets/fira-sans-v16-latin_greek-italic.woff2 create mode 100644 assets/fira-sans-v16-latin_greek-regular.eot create mode 100644 assets/fira-sans-v16-latin_greek-regular.svg create mode 100644 assets/fira-sans-v16-latin_greek-regular.ttf create mode 100644 assets/fira-sans-v16-latin_greek-regular.woff create mode 100644 assets/fira-sans-v16-latin_greek-regular.woff2 create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 fonts.css create mode 100644 index.html.pm create mode 100644 meetup.html.pm create mode 100644 pollen.rkt create mode 100644 template.html.p diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..a33217f --- /dev/null +++ b/.envrc @@ -0,0 +1,3 @@ +use flake + +watch_file flake.nix \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..258bce4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.direnv + +compiled +*.html \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..e628b90 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["bbenoist.nix", "evzen-wybitul.magic-racket", "evzen-wybitul.pollen"] +} \ No newline at end of file diff --git a/assets/fira-code-v21-latin_greek-300.eot b/assets/fira-code-v21-latin_greek-300.eot new file mode 100644 index 0000000..2b73ddd Binary files /dev/null and b/assets/fira-code-v21-latin_greek-300.eot differ diff --git a/assets/fira-code-v21-latin_greek-300.svg b/assets/fira-code-v21-latin_greek-300.svg new file mode 100644 index 0000000..616ada1 --- /dev/null +++ b/assets/fira-code-v21-latin_greek-300.svg @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fira-code-v21-latin_greek-300.ttf b/assets/fira-code-v21-latin_greek-300.ttf new file mode 100644 index 0000000..cf6a6c1 Binary files /dev/null and b/assets/fira-code-v21-latin_greek-300.ttf differ diff --git a/assets/fira-code-v21-latin_greek-300.woff b/assets/fira-code-v21-latin_greek-300.woff new file mode 100644 index 0000000..3990103 Binary files /dev/null and b/assets/fira-code-v21-latin_greek-300.woff differ diff --git a/assets/fira-code-v21-latin_greek-300.woff2 b/assets/fira-code-v21-latin_greek-300.woff2 new file mode 100644 index 0000000..89f6bbf Binary files /dev/null and b/assets/fira-code-v21-latin_greek-300.woff2 differ diff --git a/assets/fira-code-v21-latin_greek-500.eot b/assets/fira-code-v21-latin_greek-500.eot new file mode 100644 index 0000000..884c860 Binary files /dev/null and b/assets/fira-code-v21-latin_greek-500.eot differ diff --git a/assets/fira-code-v21-latin_greek-500.svg b/assets/fira-code-v21-latin_greek-500.svg new file mode 100644 index 0000000..e1d7be4 --- /dev/null +++ b/assets/fira-code-v21-latin_greek-500.svg @@ -0,0 +1,335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fira-code-v21-latin_greek-500.ttf b/assets/fira-code-v21-latin_greek-500.ttf new file mode 100644 index 0000000..35357d1 Binary files /dev/null and b/assets/fira-code-v21-latin_greek-500.ttf differ diff --git a/assets/fira-code-v21-latin_greek-500.woff b/assets/fira-code-v21-latin_greek-500.woff new file mode 100644 index 0000000..0144b1c Binary files /dev/null and b/assets/fira-code-v21-latin_greek-500.woff differ diff --git a/assets/fira-code-v21-latin_greek-500.woff2 b/assets/fira-code-v21-latin_greek-500.woff2 new file mode 100644 index 0000000..d2582b2 Binary files /dev/null and b/assets/fira-code-v21-latin_greek-500.woff2 differ diff --git a/assets/fira-code-v21-latin_greek-regular.eot b/assets/fira-code-v21-latin_greek-regular.eot new file mode 100644 index 0000000..fa19604 Binary files /dev/null and b/assets/fira-code-v21-latin_greek-regular.eot differ diff --git a/assets/fira-code-v21-latin_greek-regular.svg b/assets/fira-code-v21-latin_greek-regular.svg new file mode 100644 index 0000000..bc899a7 --- /dev/null +++ b/assets/fira-code-v21-latin_greek-regular.svg @@ -0,0 +1,335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fira-code-v21-latin_greek-regular.ttf b/assets/fira-code-v21-latin_greek-regular.ttf new file mode 100644 index 0000000..b7d035b Binary files /dev/null and b/assets/fira-code-v21-latin_greek-regular.ttf differ diff --git a/assets/fira-code-v21-latin_greek-regular.woff b/assets/fira-code-v21-latin_greek-regular.woff new file mode 100644 index 0000000..46bb2b1 Binary files /dev/null and b/assets/fira-code-v21-latin_greek-regular.woff differ diff --git a/assets/fira-code-v21-latin_greek-regular.woff2 b/assets/fira-code-v21-latin_greek-regular.woff2 new file mode 100644 index 0000000..05002f4 Binary files /dev/null and b/assets/fira-code-v21-latin_greek-regular.woff2 differ diff --git a/assets/fira-sans-v16-latin_greek-300.eot b/assets/fira-sans-v16-latin_greek-300.eot new file mode 100644 index 0000000..e6dd507 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-300.eot differ diff --git a/assets/fira-sans-v16-latin_greek-300.svg b/assets/fira-sans-v16-latin_greek-300.svg new file mode 100644 index 0000000..1734988 --- /dev/null +++ b/assets/fira-sans-v16-latin_greek-300.svg @@ -0,0 +1,328 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fira-sans-v16-latin_greek-300.ttf b/assets/fira-sans-v16-latin_greek-300.ttf new file mode 100644 index 0000000..48d35c7 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-300.ttf differ diff --git a/assets/fira-sans-v16-latin_greek-300.woff b/assets/fira-sans-v16-latin_greek-300.woff new file mode 100644 index 0000000..a2d6062 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-300.woff differ diff --git a/assets/fira-sans-v16-latin_greek-300.woff2 b/assets/fira-sans-v16-latin_greek-300.woff2 new file mode 100644 index 0000000..c7828f8 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-300.woff2 differ diff --git a/assets/fira-sans-v16-latin_greek-300italic.eot b/assets/fira-sans-v16-latin_greek-300italic.eot new file mode 100644 index 0000000..6520f76 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-300italic.eot differ diff --git a/assets/fira-sans-v16-latin_greek-300italic.svg b/assets/fira-sans-v16-latin_greek-300italic.svg new file mode 100644 index 0000000..8a2a1ff --- /dev/null +++ b/assets/fira-sans-v16-latin_greek-300italic.svg @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fira-sans-v16-latin_greek-300italic.ttf b/assets/fira-sans-v16-latin_greek-300italic.ttf new file mode 100644 index 0000000..918f524 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-300italic.ttf differ diff --git a/assets/fira-sans-v16-latin_greek-300italic.woff b/assets/fira-sans-v16-latin_greek-300italic.woff new file mode 100644 index 0000000..9b96f9a Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-300italic.woff differ diff --git a/assets/fira-sans-v16-latin_greek-300italic.woff2 b/assets/fira-sans-v16-latin_greek-300italic.woff2 new file mode 100644 index 0000000..96b6e05 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-300italic.woff2 differ diff --git a/assets/fira-sans-v16-latin_greek-500.eot b/assets/fira-sans-v16-latin_greek-500.eot new file mode 100644 index 0000000..b8cb9e7 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-500.eot differ diff --git a/assets/fira-sans-v16-latin_greek-500.svg b/assets/fira-sans-v16-latin_greek-500.svg new file mode 100644 index 0000000..fd63c00 --- /dev/null +++ b/assets/fira-sans-v16-latin_greek-500.svg @@ -0,0 +1,329 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fira-sans-v16-latin_greek-500.ttf b/assets/fira-sans-v16-latin_greek-500.ttf new file mode 100644 index 0000000..000cf7b Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-500.ttf differ diff --git a/assets/fira-sans-v16-latin_greek-500.woff b/assets/fira-sans-v16-latin_greek-500.woff new file mode 100644 index 0000000..cbcc0fd Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-500.woff differ diff --git a/assets/fira-sans-v16-latin_greek-500.woff2 b/assets/fira-sans-v16-latin_greek-500.woff2 new file mode 100644 index 0000000..d7e81f4 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-500.woff2 differ diff --git a/assets/fira-sans-v16-latin_greek-500italic.eot b/assets/fira-sans-v16-latin_greek-500italic.eot new file mode 100644 index 0000000..b352557 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-500italic.eot differ diff --git a/assets/fira-sans-v16-latin_greek-500italic.svg b/assets/fira-sans-v16-latin_greek-500italic.svg new file mode 100644 index 0000000..f74ec7e --- /dev/null +++ b/assets/fira-sans-v16-latin_greek-500italic.svg @@ -0,0 +1,339 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fira-sans-v16-latin_greek-500italic.ttf b/assets/fira-sans-v16-latin_greek-500italic.ttf new file mode 100644 index 0000000..15fcca2 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-500italic.ttf differ diff --git a/assets/fira-sans-v16-latin_greek-500italic.woff b/assets/fira-sans-v16-latin_greek-500italic.woff new file mode 100644 index 0000000..6b65b30 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-500italic.woff differ diff --git a/assets/fira-sans-v16-latin_greek-500italic.woff2 b/assets/fira-sans-v16-latin_greek-500italic.woff2 new file mode 100644 index 0000000..1b25be6 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-500italic.woff2 differ diff --git a/assets/fira-sans-v16-latin_greek-italic.eot b/assets/fira-sans-v16-latin_greek-italic.eot new file mode 100644 index 0000000..2889c0c Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-italic.eot differ diff --git a/assets/fira-sans-v16-latin_greek-italic.svg b/assets/fira-sans-v16-latin_greek-italic.svg new file mode 100644 index 0000000..55ceba8 --- /dev/null +++ b/assets/fira-sans-v16-latin_greek-italic.svg @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fira-sans-v16-latin_greek-italic.ttf b/assets/fira-sans-v16-latin_greek-italic.ttf new file mode 100644 index 0000000..e87711b Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-italic.ttf differ diff --git a/assets/fira-sans-v16-latin_greek-italic.woff b/assets/fira-sans-v16-latin_greek-italic.woff new file mode 100644 index 0000000..b02bf29 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-italic.woff differ diff --git a/assets/fira-sans-v16-latin_greek-italic.woff2 b/assets/fira-sans-v16-latin_greek-italic.woff2 new file mode 100644 index 0000000..77b0cd4 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-italic.woff2 differ diff --git a/assets/fira-sans-v16-latin_greek-regular.eot b/assets/fira-sans-v16-latin_greek-regular.eot new file mode 100644 index 0000000..0ea1301 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-regular.eot differ diff --git a/assets/fira-sans-v16-latin_greek-regular.svg b/assets/fira-sans-v16-latin_greek-regular.svg new file mode 100644 index 0000000..1e52097 --- /dev/null +++ b/assets/fira-sans-v16-latin_greek-regular.svg @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fira-sans-v16-latin_greek-regular.ttf b/assets/fira-sans-v16-latin_greek-regular.ttf new file mode 100644 index 0000000..a7ac26e Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-regular.ttf differ diff --git a/assets/fira-sans-v16-latin_greek-regular.woff b/assets/fira-sans-v16-latin_greek-regular.woff new file mode 100644 index 0000000..7b50512 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-regular.woff differ diff --git a/assets/fira-sans-v16-latin_greek-regular.woff2 b/assets/fira-sans-v16-latin_greek-regular.woff2 new file mode 100644 index 0000000..cf91064 Binary files /dev/null and b/assets/fira-sans-v16-latin_greek-regular.woff2 differ diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..f805434 --- /dev/null +++ b/flake.lock @@ -0,0 +1,110 @@ +{ + "nodes": { + "devshell": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1717408969, + "narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=", + "owner": "numtide", + "repo": "devshell", + "rev": "1ebbe68d57457c8cae98145410b164b5477761f4", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1719082008, + "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", + "rev": "9693852a2070b398ee123a329e68f0dab5526681", + "revCount": 642670, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.642670%2Brev-9693852a2070b398ee123a329e68f0dab5526681/01904de3-6f98-7f1f-aa2d-2b47a31c0803/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/nixpkgs-weekly/%2A.tar.gz" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1717284937, + "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + } + }, + "root": { + "inputs": { + "devshell": "devshell", + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..8cde703 --- /dev/null +++ b/flake.nix @@ -0,0 +1,51 @@ +{ + description = "A project with a devshell."; + + inputs = { + nixpkgs.url = "https://flakehub.com/f/DeterminateSystems/nixpkgs-weekly/*.tar.gz"; + devshell.url = "github:numtide/devshell"; + devshell.inputs.nixpkgs.follows = "nixpkgs"; + }; + + outputs = inputs@{ flake-parts, ... }: + flake-parts.lib.mkFlake { inherit inputs; } { + imports = [ + inputs.devshell.flakeModule + # To import a flake module + # 1. Add foo to inputs + # 2. Add foo as a parameter to the outputs function + # 3. Add here: foo.flakeModule + + ]; + systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ]; + perSystem = { config, self', inputs', pkgs, system, ... }: { + # Per-system attributes can be defined here. The self' and inputs' + # module parameters provide easy access to attributes of the same + # system. + + # Equivalent to inputs'.nixpkgs.legacyPackages.hello; + packages.default = pkgs.hello; + devshells.default = { + env = [ + # { name = "MY_ENV_VAR"; value = "SOTRUE"; } + ]; + packages = [ + pkgs.racket + ]; + devshell.startup = { + install-langserver.text = ''raco pkg install --auto --skip-installed racket-langserver''; + install-web.text = ''raco pkg install --auto --skip-installed pollen string-interpolation''; + }; + commands = [ + { name = "rps"; command = "raco pollen start"; help = "Run the pollen web server"; } + ]; + }; + }; + flake = { + # The usual flake attributes can be defined here, including system- + # agnostic ones like nixosModule and system-enumerating ones, although + # those are more easily expressed in perSystem. + + }; + }; +} diff --git a/fonts.css b/fonts.css new file mode 100644 index 0000000..9a0b02c --- /dev/null +++ b/fonts.css @@ -0,0 +1,133 @@ +.font-fira-sans { + font-family: 'Fira Sans'; +} + +.font-fira-code { + font-family: 'Fira Code' +} + +/* fira-sans-300 - latin_greek */ +@font-face { + font-family: 'Fira Sans'; + font-style: normal; + font-weight: 300; + src: url('./assets/fira-sans-v16-latin_greek-300.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./assets/fira-sans-v16-latin_greek-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./assets/fira-sans-v16-latin_greek-300.woff2') format('woff2'), /* Super Modern Browsers */ + url('./assets/fira-sans-v16-latin_greek-300.woff') format('woff'), /* Modern Browsers */ + url('./assets/fira-sans-v16-latin_greek-300.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./assets/fira-sans-v16-latin_greek-300.svg#FiraSans') format('svg'); /* Legacy iOS */ + } + + /* fira-sans-300italic - latin_greek */ + @font-face { + font-family: 'Fira Sans'; + font-style: italic; + font-weight: 300; + src: url('./assets/fira-sans-v16-latin_greek-300italic.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./assets/fira-sans-v16-latin_greek-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./assets/fira-sans-v16-latin_greek-300italic.woff2') format('woff2'), /* Super Modern Browsers */ + url('./assets/fira-sans-v16-latin_greek-300italic.woff') format('woff'), /* Modern Browsers */ + url('./assets/fira-sans-v16-latin_greek-300italic.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./assets/fira-sans-v16-latin_greek-300italic.svg#FiraSans') format('svg'); /* Legacy iOS */ + } + + /* fira-sans-regular - latin_greek */ + @font-face { + font-family: 'Fira Sans'; + font-style: normal; + font-weight: 400; + src: url('./assets/fira-sans-v16-latin_greek-regular.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./assets/fira-sans-v16-latin_greek-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./assets/fira-sans-v16-latin_greek-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('./assets/fira-sans-v16-latin_greek-regular.woff') format('woff'), /* Modern Browsers */ + url('./assets/fira-sans-v16-latin_greek-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./assets/fira-sans-v16-latin_greek-regular.svg#FiraSans') format('svg'); /* Legacy iOS */ + } + + /* fira-sans-italic - latin_greek */ + @font-face { + font-family: 'Fira Sans'; + font-style: italic; + font-weight: 400; + src: url('./assets/fira-sans-v16-latin_greek-italic.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./assets/fira-sans-v16-latin_greek-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./assets/fira-sans-v16-latin_greek-italic.woff2') format('woff2'), /* Super Modern Browsers */ + url('./assets/fira-sans-v16-latin_greek-italic.woff') format('woff'), /* Modern Browsers */ + url('./assets/fira-sans-v16-latin_greek-italic.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./assets/fira-sans-v16-latin_greek-italic.svg#FiraSans') format('svg'); /* Legacy iOS */ + } + + /* fira-sans-500 - latin_greek */ + @font-face { + font-family: 'Fira Sans'; + font-style: normal; + font-weight: 500; + src: url('./assets/fira-sans-v16-latin_greek-500.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./assets/fira-sans-v16-latin_greek-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./assets/fira-sans-v16-latin_greek-500.woff2') format('woff2'), /* Super Modern Browsers */ + url('./assets/fira-sans-v16-latin_greek-500.woff') format('woff'), /* Modern Browsers */ + url('./assets/fira-sans-v16-latin_greek-500.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./assets/fira-sans-v16-latin_greek-500.svg#FiraSans') format('svg'); /* Legacy iOS */ + } + + /* fira-sans-500italic - latin_greek */ + @font-face { + font-family: 'Fira Sans'; + font-style: italic; + font-weight: 500; + src: url('./assets/fira-sans-v16-latin_greek-500italic.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./assets/fira-sans-v16-latin_greek-500italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./assets/fira-sans-v16-latin_greek-500italic.woff2') format('woff2'), /* Super Modern Browsers */ + url('./assets/fira-sans-v16-latin_greek-500italic.woff') format('woff'), /* Modern Browsers */ + url('./assets/fira-sans-v16-latin_greek-500italic.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./assets/fira-sans-v16-latin_greek-500italic.svg#FiraSans') format('svg'); /* Legacy iOS */ + } + +/* fira-code-300 - latin_greek */ +@font-face { + font-family: 'Fira Code'; + font-style: normal; + font-weight: 300; + src: url('./assets/fira-code-v21-latin_greek-300.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./assets/fira-code-v21-latin_greek-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./assets/fira-code-v21-latin_greek-300.woff2') format('woff2'), /* Super Modern Browsers */ + url('./assets/fira-code-v21-latin_greek-300.woff') format('woff'), /* Modern Browsers */ + url('./assets/fira-code-v21-latin_greek-300.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./assets/fira-code-v21-latin_greek-300.svg#FiraCode') format('svg'); /* Legacy iOS */ + } + + /* fira-code-regular - latin_greek */ + @font-face { + font-family: 'Fira Code'; + font-style: normal; + font-weight: 400; + src: url('./assets/fira-code-v21-latin_greek-regular.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./assets/fira-code-v21-latin_greek-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./assets/fira-code-v21-latin_greek-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('./assets/fira-code-v21-latin_greek-regular.woff') format('woff'), /* Modern Browsers */ + url('./assets/fira-code-v21-latin_greek-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./assets/fira-code-v21-latin_greek-regular.svg#FiraCode') format('svg'); /* Legacy iOS */ + } + + /* fira-code-500 - latin_greek */ + @font-face { + font-family: 'Fira Code'; + font-style: normal; + font-weight: 500; + src: url('./assets/fira-code-v21-latin_greek-500.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./assets/fira-code-v21-latin_greek-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./assets/fira-code-v21-latin_greek-500.woff2') format('woff2'), /* Super Modern Browsers */ + url('./assets/fira-code-v21-latin_greek-500.woff') format('woff'), /* Modern Browsers */ + url('./assets/fira-code-v21-latin_greek-500.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./assets/fira-code-v21-latin_greek-500.svg#FiraCode') format('svg'); /* Legacy iOS */ + } \ No newline at end of file diff --git a/index.html.pm b/index.html.pm new file mode 100644 index 0000000..2bbb0ad --- /dev/null +++ b/index.html.pm @@ -0,0 +1,36 @@ +#lang pollen + +◊(require string-interpolation) + +◊`(main ([class "flex flex-col justify-around"]) + (div ([class "mt-4 mb-10"]) + (h1 ([class "my-2 text-3xl leading-relaxed text-center"]) + "Writing programs is hard —") + (p ([class "my-2 sm:text-lg leading-relaxed text-center"]) + "Most of the tools and languages (make it easy to) add unnecessary complexity.") + (p ([class "my-2 sm:text-lg leading-relaxed text-center"]) + "This creates unnecessary cognitive load.") + (p ([class "my-2 sm:text-lg leading-relaxed text-center"]) + "If we constantly battle cognitive load, we get exhausted, unhappy and frustrated.") + ) + (div ([class "mt-10 mb-4"]) + (h1 ([class "my-2 text-3xl leading-relaxed text-center"]) + "but it doesn't have to be.") + (p ([class "my-2 sm:text-lg leading-relaxed text-center"]) + "There are tools and techniques that manage complexity comparatively well:") + (div ([class "my-4 mx-auto"]) + ,(->badges "Haskell, Nix, Elixir, Erlang, Rust, Clojure, Racket, Category Theory, Lenses") + ) + (p ([class "my-2 sm:text-lg leading-relaxed text-center"]) + "Using those " (span ([class "italic"]) "reduces") " cognitive load.") + (p ([class "my-2 sm:text-lg leading-relaxed text-center"]) + "So that you can be energetic, happy and joyful while coding.") + ) + (div ([class "fixed right-5 bottom-20"]) + (a ([href "/meetup.html"] + [class ,"inline-flex items-center gap-2 text-zinc-200 hover:text-[@{jordy}] focus-visible:text-[@{jordy}] duration-300"] [target "_blank"] [rel "noreferrer"]) + "Interested? Have a look" + (svg ([xmlns "http://www.w3.org/2000/svg"] [fill "none"] [viewBox "0 0 24 24"] [stroke-width "1.5"] [stroke "currentColor"] [class "size-6"]) + (path ([stroke-linecap "round"] [stroke-linejoin "round"] [d "M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"])))) + ) +) \ No newline at end of file diff --git a/meetup.html.pm b/meetup.html.pm new file mode 100644 index 0000000..9acef3e --- /dev/null +++ b/meetup.html.pm @@ -0,0 +1,7 @@ +#lang pollen + +◊(require string-interpolation) + +◊`(main ([class ""]) + (h1 ([class "text-3xl"]) + "Schedule")) \ No newline at end of file diff --git a/pollen.rkt b/pollen.rkt new file mode 100644 index 0000000..a18e169 --- /dev/null +++ b/pollen.rkt @@ -0,0 +1,24 @@ +#lang racket + +(require pollen/core + string-interpolation) + +(define raisin-black "#1F2030") +(define celadon "#A7D995") +; (define celadon-light "#97b6f0") +(define jordy "#8AADF4") +(define jordy-light "#8AADF4") + +(provide (all-defined-out)) + +(define (badge topic) + `(li ([class "mr-1.5 mb-2"]) + (div ([class ,"flex items-center rounded-full bg-[@{celadon}]/10 px-3 py-1 text-xs font-medium leading-5 text-[@{celadon}]"]) ,topic))) + +; (->badges "Haskell, Nix, Racket") +(define (->badges topics) + (let ([top-list (map (curry string-trim #:left? #t) + (string-split topics ","))]) + `(ul ([class "flex flex-wrap justify-center"] [aria-label "Tools/Techniques used"]) + ,(for/splice ([topic top-list]) (badge topic))))) + diff --git a/template.html.p b/template.html.p new file mode 100644 index 0000000..e5f7545 --- /dev/null +++ b/template.html.p @@ -0,0 +1,68 @@ +◊(require string-interpolation) + +◊(define title "Functional Coders Tübingen") +◊(define description "What if... we just take the best parts of prgogramming and see where this leads us?") +◊(define image-path "") +◊(define url "https://functional-coders.github.io/") +◊(define icon-path "") + + + + + + + + + + + + + + + + + + + + + + + + + + ◊|title| + + + + + + + + ◊(->html `(div ([class "mx-auto h-full max-w-screen-xl px-6 py-12 + md:px-12 md:py-20 lg:px-24 lg:py-0"]) + ,doc)) + + + -- cgit v1.2.3