From 62c50d368b021149f5adb67c3a81f907d1e82e9f Mon Sep 17 00:00:00 2001 From: videogame hacker Date: Mon, 12 Jul 2021 21:47:49 +0100 Subject: [PATCH] Initial commit --- .editorconfig | 12 + .gitignore | 2 + Cargo.lock | 1280 ++++++++++++++++++++++++++++++ Cargo.toml | 16 + LICENSE.md | 38 + build.rs | 3 + build_src/assets.rs | 24 + build_src/main.rs | 65 ++ build_src/main_page.rs | 42 + src/assets/logo.png | Bin 0 -> 110685 bytes src/assets/main_page/confetti.js | 3 + src/assets/styles.css | 46 ++ templates/main_page.html.j2 | 46 ++ 13 files changed, 1577 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 LICENSE.md create mode 100644 build.rs create mode 100644 build_src/assets.rs create mode 100644 build_src/main.rs create mode 100644 build_src/main_page.rs create mode 100644 src/assets/logo.png create mode 100644 src/assets/main_page/confetti.js create mode 100644 src/assets/styles.css create mode 100644 templates/main_page.html.j2 diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..dc35434 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = crlf +charset = utf-8 +trim_trailing_whitespace = false +insert_final_newline = true + +[*.rs] +indent_size = 4 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bc01a9e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/target +/dist diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..bc81536 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,1280 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +dependencies = [ + "memchr", +] + +[[package]] +name = "ansi_term" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "askama" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d298738b6e47e1034e560e5afe63aa488fea34e25ec11b855a76f0d7b8e73134" +dependencies = [ + "askama_derive", + "askama_escape", + "askama_shared", +] + +[[package]] +name = "askama_derive" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2925c4c290382f9d2fa3d1c1b6a63fa1427099721ecca4749b154cc9c25522" +dependencies = [ + "askama_shared", + "proc-macro2", + "syn", +] + +[[package]] +name = "askama_escape" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90c108c1a94380c89d2215d0ac54ce09796823cca0fd91b299cfff3b33e346fb" + +[[package]] +name = "askama_shared" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2582b77e0f3c506ec4838a25fa8a5f97b9bed72bb6d3d272ea1c031d8bd373bc" +dependencies = [ + "askama_escape", + "humansize", + "nom", + "num-traits", + "percent-encoding", + "proc-macro2", + "quote", + "serde", + "syn", + "toml", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + +[[package]] +name = "bitflags" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" + +[[package]] +name = "bitvec" +version = "0.19.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "block-buffer" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" +dependencies = [ + "block-padding", + "byte-tools", + "byteorder", + "generic-array", +] + +[[package]] +name = "block-padding" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" +dependencies = [ + "byte-tools", +] + +[[package]] +name = "byte-tools" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clap" +version = "2.33.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" +dependencies = [ + "ansi_term", + "atty", + "bitflags", + "strsim", + "textwrap", + "unicode-width", + "vec_map", +] + +[[package]] +name = "colored" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd" +dependencies = [ + "atty", + "lazy_static", + "winapi 0.3.9", +] + +[[package]] +name = "comrak" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b423acba50d5016684beaf643f9991e622633a4c858be6885653071c2da2b0c6" +dependencies = [ + "clap", + "entities", + "lazy_static", + "pest", + "pest_derive", + "regex", + "shell-words", + "twoway", + "typed-arena", + "unicode_categories", + "xdg", +] + +[[package]] +name = "digest" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +dependencies = [ + "generic-array", +] + +[[package]] +name = "dtoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" + +[[package]] +name = "entities" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5320ae4c3782150d900b79807611a59a99fc9a1d61d686faafc24b93fc8d7ca" + +[[package]] +name = "extract-frontmatter" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30b4c6ac125f7d6663c9bee567645050c9a164c4dbf5689bd5bdf344a1b39356" + +[[package]] +name = "fake-simd" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" + +[[package]] +name = "filetime" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "redox_syscall", + "winapi 0.3.9", +] + +[[package]] +name = "fsevent" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6" +dependencies = [ + "bitflags", + "fsevent-sys", +] + +[[package]] +name = "fsevent-sys" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0" +dependencies = [ + "libc", +] + +[[package]] +name = "fuchsia-zircon" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" +dependencies = [ + "bitflags", + "fuchsia-zircon-sys", +] + +[[package]] +name = "fuchsia-zircon-sys" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" + +[[package]] +name = "funty" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + +[[package]] +name = "futf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c9c1ce3fa9336301af935ab852c437817d14cd33690446569392e65170aac3b" +dependencies = [ + "mac", + "new_debug_unreachable", +] + +[[package]] +name = "futures" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1" + +[[package]] +name = "futures-executor" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1" + +[[package]] +name = "futures-macro" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121" +dependencies = [ + "autocfg", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282" + +[[package]] +name = "futures-task" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae" + +[[package]] +name = "futures-util" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967" +dependencies = [ + "autocfg", + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "proc-macro-hack", + "proc-macro-nested", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +dependencies = [ + "typenum", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "html5ever" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aafcf38a1a36118242d29b92e1b08ef84e67e4a5ed06e0a80be20e6a32bfed6b" +dependencies = [ + "log", + "mac", + "markup5ever", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "html5minify" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f6f7b4bc46618a0e7a48abb4124a3998e34d993a0ef954ad262fd99ea5061df" +dependencies = [ + "html5ever", + "markup5ever_rcdom", +] + +[[package]] +name = "humansize" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026" + +[[package]] +name = "inotify" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f" +dependencies = [ + "bitflags", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +dependencies = [ + "libc", +] + +[[package]] +name = "iovec" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" +dependencies = [ + "libc", +] + +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "lavender_software" +version = "0.1.0" +dependencies = [ + "askama", + "notify", + "siru", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "lexical-core" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" +dependencies = [ + "arrayvec", + "bitflags", + "cfg-if 1.0.0", + "ryu", + "static_assertions", +] + +[[package]] +name = "libc" +version = "0.2.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790" + +[[package]] +name = "linked-hash-map" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" + +[[package]] +name = "log" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + +[[package]] +name = "markup5ever" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" +dependencies = [ + "log", + "phf", + "phf_codegen", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[package]] +name = "markup5ever_rcdom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f015da43bcd8d4f144559a3423f4591d69b8ce0652c905374da7205df336ae2b" +dependencies = [ + "html5ever", + "markup5ever", + "tendril", + "xml5ever", +] + +[[package]] +name = "memchr" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" + +[[package]] +name = "mio" +version = "0.6.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +dependencies = [ + "cfg-if 0.1.10", + "fuchsia-zircon", + "fuchsia-zircon-sys", + "iovec", + "kernel32-sys", + "libc", + "log", + "miow", + "net2", + "slab", + "winapi 0.2.8", +] + +[[package]] +name = "mio-extras" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" +dependencies = [ + "lazycell", + "log", + "mio", + "slab", +] + +[[package]] +name = "miow" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" +dependencies = [ + "kernel32-sys", + "net2", + "winapi 0.2.8", + "ws2_32-sys", +] + +[[package]] +name = "net2" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" + +[[package]] +name = "nom" +version = "6.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2" +dependencies = [ + "bitvec", + "funty", + "lexical-core", + "memchr", + "version_check", +] + +[[package]] +name = "notify" +version = "4.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257" +dependencies = [ + "bitflags", + "filetime", + "fsevent", + "fsevent-sys", + "inotify", + "libc", + "mio", + "mio-extras", + "walkdir", + "winapi 0.3.9", +] + +[[package]] +name = "num-traits" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +dependencies = [ + "autocfg", +] + +[[package]] +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "pest" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" +dependencies = [ + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pest_meta" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d" +dependencies = [ + "maplit", + "pest", + "sha-1", +] + +[[package]] +name = "phf" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_codegen" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" +dependencies = [ + "phf_shared", + "rand", +] + +[[package]] +name = "phf_shared" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "ppv-lite86" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "proc-macro-hack" +version = "0.5.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" + +[[package]] +name = "proc-macro-nested" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" + +[[package]] +name = "proc-macro2" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom", + "libc", + "rand_chacha", + "rand_core", + "rand_hc", + "rand_pcg", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core", +] + +[[package]] +name = "redox_syscall" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" + +[[package]] +name = "ryu" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_yaml" +version = "0.8.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15654ed4ab61726bf918a39cb8d98a2e2995b002387807fa6ba58fdf7f59bb23" +dependencies = [ + "dtoa", + "linked-hash-map", + "serde", + "yaml-rust", +] + +[[package]] +name = "sha-1" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" +dependencies = [ + "block-buffer", + "digest", + "fake-simd", + "opaque-debug", +] + +[[package]] +name = "shell-words" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6fa3938c99da4914afedd13bf3d79bcb6c277d1b2c398d23257a304d9e1b074" + +[[package]] +name = "siphasher" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbce6d4507c7e4a3962091436e56e95290cb71fa302d0d270e32130b75fbff27" + +[[package]] +name = "siru" +version = "0.1.0" +source = "git+https://github.com/videogame-hacker/siru.git#505410b6a9dc0cea6c1706360dda266b56701dcc" +dependencies = [ + "askama", + "colored", + "comrak", + "extract-frontmatter", + "futures", + "html5minify", + "serde", + "serde_yaml", +] + +[[package]] +name = "slab" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "string_cache" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ddb1139b5353f96e429e1a5e19fbaf663bddedaa06d1dbd49f82e352601209a" +dependencies = [ + "lazy_static", + "new_debug_unreachable", + "phf_shared", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", +] + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "syn" +version = "1.0.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tendril" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9ef557cb397a4f0a5a3a628f06515f78563f2209e64d47055d9dc6052bf5e33" +dependencies = [ + "futf", + "mac", + "utf-8", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "time" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi 0.3.9", +] + +[[package]] +name = "toml" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +dependencies = [ + "serde", +] + +[[package]] +name = "twoway" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c57ffb460d7c24cd6eda43694110189030a3d1dfe418416d9468fd1c1d290b47" +dependencies = [ + "memchr", + "unchecked-index", +] + +[[package]] +name = "typed-arena" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9b2228007eba4120145f785df0f6c92ea538f5a3635a612ecf4e334c8c1446d" + +[[package]] +name = "typenum" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" + +[[package]] +name = "ucd-trie" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" + +[[package]] +name = "unchecked-index" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeba86d422ce181a719445e51872fa30f1f7413b62becb52e95ec91aa262d85c" + +[[package]] +name = "unicode-width" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" + +[[package]] +name = "unicode-xid" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" + +[[package]] +name = "unicode_categories" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "version_check" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" + +[[package]] +name = "walkdir" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +dependencies = [ + "same-file", + "winapi 0.3.9", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "ws2_32-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + +[[package]] +name = "xdg" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d089681aa106a86fade1b0128fb5daf07d5867a509ab036d99988dec80429a57" + +[[package]] +name = "xml5ever" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b1b52e6e8614d4a58b8e70cf51ec0cc21b256ad8206708bcff8139b5bbd6a59" +dependencies = [ + "log", + "mac", + "markup5ever", + "time", +] + +[[package]] +name = "yaml-rust" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +dependencies = [ + "linked-hash-map", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..9162e7c --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "lavender_software" +version = "0.1.0" +authors = ["videogame hacker "] +edition = "2018" +build = "build.rs" + + +[[bin]] +name = "lavender_software" +path = "build_src/main.rs" + +[dependencies] +askama = "0.10.5" +notify = "4.0.17" +siru = { git = "https://github.com/videogame-hacker/siru.git" } diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..015dca4 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,38 @@ +The Charlotte Public License version 0.1 + +Copyright 2021, Lavender Software (collectively, the "Author" henceforth). + +This license gives everyone permission to examine, modify, and use this software +and the associated documentation (the "Inator"), without patent obstacles, while protecting +the Author and any contributors (the "Composers") from liability. + +Each Composer permits you to examine, modify, utilize, and distribute the Inator +where it would otherwise infringe upon that Composer's copyright or any patent claims that +they hold. + +No contributor may revoke this license, but the Author may choose to release the Inator +(including the contributed works of any other Composer) under a different license. + +You may not use the Inator to accrue revenue without explicit permission from the Author. + +You may not use the Inator to do Malevolence. If you are +notified that you have committed a Malevolence instrumented by the Inator, your license is +terminated unless you take all practical steps to comply within a reasonable timeframe. + +The definition of Malevolence is at the discretion of the Author. It may include, but is not +limited to: + +- The promotion of bigotry, including: sexism, transphobia, homophobia, ableism, or the +perpetuation of racial oppression. +- Causing a detriment to public health. +- Instigating political, economic, or corporeal violence. +- Entrenching an empire. +- Where applicable, use of the Inator without the informed consent of a second party who may +object to its use. + +The Inator is provided without any warranty, "as-is". No Composer is liable for any damages +related to the Inator. + +In order to receive this license, you must agree to the terms set out in this document. +This license, authorial attribution, and copyright notice must be distributed with +any copies or large portions of the Inator. diff --git a/build.rs b/build.rs new file mode 100644 index 0000000..4573f07 --- /dev/null +++ b/build.rs @@ -0,0 +1,3 @@ +fn main() { + println!("cargo:rerun-if-changed=build_src"); +} diff --git a/build_src/assets.rs b/build_src/assets.rs new file mode 100644 index 0000000..da4cc3c --- /dev/null +++ b/build_src/assets.rs @@ -0,0 +1,24 @@ +use std::{fs, path::Path}; + +use crate::*; + +fn copy_dir_recursive(src: impl AsRef, dst: impl AsRef) -> std::io::Result<()> { + fs::create_dir_all(&dst)?; + for entry in fs::read_dir(src)? { + let entry = entry?; + let ty = entry.file_type()?; + if ty.is_dir() { + copy_dir_recursive(entry.path(), dst.as_ref().join(entry.file_name()))?; + } else { + fs::copy(entry.path(), dst.as_ref().join(entry.file_name()))?; + } + } + Ok(()) +} + +pub fn copy_assets(ctx: &BuildContext) -> Result<()> { + log_info("Copying assets…"); + copy_dir_recursive(ctx.source_dir.join("assets"), ctx.output_dir.join("assets"))?; + + Ok(()) +} diff --git a/build_src/main.rs b/build_src/main.rs new file mode 100644 index 0000000..a1b260c --- /dev/null +++ b/build_src/main.rs @@ -0,0 +1,65 @@ +use siru::prelude::*; +use std::{convert::TryInto, path::PathBuf, sync::Arc, time::Duration}; + +type Result = std::result::Result>; + +mod assets; +mod main_page; + +pub struct BuildContext { + source_dir: PathBuf, + output_dir: PathBuf, + write_pipeline: WritePipeline, +} + +impl SiruFS for BuildContext { + fn get_source_dir(&self) -> &PathBuf { + &self.source_dir + } + + fn get_output_dir(&self) -> &PathBuf { + &self.output_dir + } + + fn get_write_pipeline(&self) -> &WritePipeline { + &self.write_pipeline + } +} + +fn build() { + let ctx = BuildContext { + source_dir: "src".try_into().unwrap(), + output_dir: "dist".try_into().unwrap(), + write_pipeline: WritePipeline::new(), + }; + + let ctx = Arc::new(ctx); + + [main_page::main_page, assets::copy_assets] + .iter() + .map(|f| { + let ctx = Arc::clone(&ctx); + std::thread::spawn(move || f(&ctx).unwrap()) + }) + .for_each(|t| t.join().unwrap()); +} + +fn main() { + println!("Watching...\n"); + + use notify::*; + + let (tx, rx) = std::sync::mpsc::channel(); + + let mut watcher = watcher(tx, Duration::from_millis(100)).unwrap(); + build(); + + watcher.watch("./src", RecursiveMode::Recursive).unwrap(); + + loop { + match rx.recv() { + Ok(_) => build(), + Err(_) => break, + } + } +} diff --git a/build_src/main_page.rs b/build_src/main_page.rs new file mode 100644 index 0000000..18774a7 --- /dev/null +++ b/build_src/main_page.rs @@ -0,0 +1,42 @@ +use crate::*; + +struct Member { + name: String, + website: String, + title: String, +} + +impl From<&(&str, &str, &str)> for Member { + fn from(tuple: &(&str, &str, &str)) -> Self { + Member { + name: tuple.0.to_string(), + website: tuple.1.to_string(), + title: tuple.2.to_string(), + } + } +} + +#[derive(Template)] +#[template(path = "main_page.html.j2")] +struct MainPageTemplate { + members: Vec, +} + +pub fn main_page(ctx: &BuildContext) -> Result<()> { + log_info("Rendering main page…"); + + let members = [ + ("charlotte som", "https://som.codes/", "founder"), + ("agatha rose", "https://agatharose.dev/", "meow"), + ]; + + ctx.write( + "index.html", + MainPageTemplate { + members: members.iter().map(|x| x.into()).collect(), + } + .render()?, + )?; + + Ok(()) +} diff --git a/src/assets/logo.png b/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..46c589c1ddccfee7fd5818ff5b7735fe8a918823 GIT binary patch literal 110685 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 Kb6Mw<&;$Tv(VD{m literal 0 HcmV?d00001 diff --git a/src/assets/main_page/confetti.js b/src/assets/main_page/confetti.js new file mode 100644 index 0000000..f6f47cc --- /dev/null +++ b/src/assets/main_page/confetti.js @@ -0,0 +1,3 @@ +/* confettijs.org MIT */ const Confetti = (() => { "use strict"; const e = 10; let t, o, n = 75, i = 25, r = 1, s = !1, l = !0, a = [], d = (new Date).getTime(); function p(e) { if (t = document.createElement("canvas"), o = t.getContext("2d"), t.width = 2 * window.innerWidth, t.height = 2 * window.innerHeight, t.style.position = "fixed", t.style.top = 0, t.style.left = 0, t.style.width = "calc(100%)", t.style.height = "calc(100%)", t.style.margin = 0, t.style.padding = 0, t.style.zIndex = 999999999, t.style.pointerEvents = "none", document.body.appendChild(t), null != e) { let t = document.getElementById(e); null != t && t.addEventListener("click", e => { !function (e, t) { let o = []; for (let i = 0; i < n; i++)o.push(c(e, t)); a.push({ particles: o }) }(2 * e.clientX, 2 * e.clientY), l && (e.target.style.visibility = "hidden") }) } window.addEventListener("resize", () => { t.width = 2 * window.innerWidth, t.height = 2 * window.innerHeight }) } function y(e) { return e.pos.y - 2 * e.size.x > 2 * window.innerHeight } function c(e, t) { let o = (16 * Math.random() + 4) * r, n = (4 * Math.random() + 4) * r; return { pos: { x: e - o / 2, y: t - n / 2 }, vel: h(), size: { x: o, y: n }, rotation: 360 * Math.random(), rotation_speed: 10 * (Math.random() - .5), hue: 360 * Math.random(), opacity: 100, lifetime: Math.random() + .25 } } function h() { let e = Math.random() - .5, t = Math.random() - .7, o = Math.sqrt(e * e + t * t); return t /= o, { x: (e /= o) * (Math.random() * i), y: t * (Math.random() * i) } } return p.prototype.setCount = (e => { "number" == typeof e ? n = e : console.error("[ERROR] Confetti.setCount() - Input needs to be of type 'number'") }), p.prototype.setPower = (e => { "number" == typeof e ? i = e : console.error("[ERROR] Confetti.setPower() - Input needs to be of type 'number'") }), p.prototype.setSize = (e => { "number" == typeof e ? r = e : console.error("[ERROR] Confetti.setSize() - Input needs to be of type 'number'") }), p.prototype.setFade = (e => { "boolean" == typeof e ? s = e : console.error("[ERROR] Confetti.setFade() - Input needs to be of type 'boolean'") }), p.prototype.destroyTarget = (e => { "boolean" == typeof e ? l = e : console.error("[ERROR] Confetti.destroyTarget() - Input needs to be of type 'boolean'") }), window.requestAnimationFrame(function t(n) { let i = (n - d) / 1e3; d = n; for (let t = a.length - 1; t >= 0; t--) { let o = a[t]; for (let t = o.particles.length - 1; t >= 0; t--) { let n = o.particles[t]; n.vel.y += e * (n.size.y / (10 * r)) * i, n.vel.x += 25 * (Math.random() - .5) * i, n.vel.x *= .98, n.vel.y *= .98, n.pos.x += n.vel.x, n.pos.y += n.vel.y, n.rotation += n.rotation_speed, s && (n.opacity -= n.lifetime), y(n) && o.particles.splice(t, 1) } 0 == o.particles.length && a.splice(t, 1) } !function () { o.clearRect(0, 0, 2 * window.innerWidth, 2 * window.innerHeight); for (const d of a) for (const a of d.particles) e = a.pos.x, t = a.pos.y, n = a.size.x, i = a.size.y, r = a.rotation, s = a.hue, l = a.opacity, o.save(), o.beginPath(), o.translate(e + n / 2, t + i / 2), o.rotate(r * Math.PI / 180), o.rect(-n / 2, -i / 2, n, i), o.fillStyle = `hsla(275deg, ${s}%, ${s / 3.6}%, ${l}%)`, o.fill(), o.restore(); var e, t, n, i, r, s, l }(), window.requestAnimationFrame(t) }), p })(); +const c = new Confetti("purple"); +c.destroyTarget(false); diff --git a/src/assets/styles.css b/src/assets/styles.css new file mode 100644 index 0000000..7fdcad9 --- /dev/null +++ b/src/assets/styles.css @@ -0,0 +1,46 @@ +:root { + --bg: rgb(28, 23, 36); + --fg: rgb(234, 234, 248); + --accent: hsl(275, 57%, 68%); +} + +html { + background-color: var(--bg); + color: var(--fg); + font-size: 1.125em; + font-family: sans-serif; +} + +a { + color: var(--accent); + text-decoration: none; + border-bottom: 1px solid var(--accent); +} + +header, main, footer { + max-width: 90ch; + margin: 0 auto; +} + +header { + display: flex; + flex-direction: row; +} + +header img { + display: inline-block; + margin-right: 2em; + width: 8em; +} + +#purple { + font-style: normal; + color: var(--bg); + background-color: var(--accent); + border-radius: 2px; + padding: 0.25em; +} + +li { + line-height: 1.6em; +} diff --git a/templates/main_page.html.j2 b/templates/main_page.html.j2 new file mode 100644 index 0000000..1178bf1 --- /dev/null +++ b/templates/main_page.html.j2 @@ -0,0 +1,46 @@ + + + + + + + lavender software | digital product studio + + + + + +
+ Lavender Logo + +
+

lavender software

+

the kind of software that we make is … purple

+
+
+ +
+ + + +
+
+

projects

+ +
+
+ +
+

who are we?

+ +
    + {% for member in members %} +
  • + {{ member.name }} - {{ member.title }} +
  • + {% endfor %} +
+
+