diff --git a/doordesk/.gitignore b/doordesk/.gitignore deleted file mode 100644 index 8cdaa33..0000000 --- a/doordesk/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -# Generated by Cargo -# will have compiled files and executables -/target/ -pkg - -# These are backup files generated by rustfmt -**/*.rs.bk - -# node e2e test tools and outputs -node_modules/ -test-results/ -end2end/playwright-report/ -playwright/.cache/ diff --git a/doordesk/Cargo.lock b/doordesk/Cargo.lock deleted file mode 100644 index 21b6381..0000000 --- a/doordesk/Cargo.lock +++ /dev/null @@ -1,3039 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "addr2line" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - -[[package]] -name = "ahash" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" -dependencies = [ - "memchr", -] - -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" -dependencies = [ - "alloc-no-stdlib", -] - -[[package]] -name = "allocator-api2" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" - -[[package]] -name = "anyhow" -version = "1.0.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" - -[[package]] -name = "app" -version = "0.1.0" -dependencies = [ - "cfg-if", - "femark", - "http", - "leptos", - "leptos_axum", - "leptos_meta", - "leptos_router", - "serde", - "thiserror", - "toml 0.8.8", -] - -[[package]] -name = "async-compression" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c" -dependencies = [ - "brotli", - "flate2", - "futures-core", - "memchr", - "pin-project-lite", - "tokio", - "zstd", - "zstd-safe", -] - -[[package]] -name = "async-recursion" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "async-trait" -version = "0.1.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "attribute-derive" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c94f43ede6f25dab1dea046bff84d85dea61bd49aba7a9011ad66c0d449077b" -dependencies = [ - "attribute-derive-macro", - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "attribute-derive-macro" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b409e2b2d2dc206d2c0ad3575a93f001ae21a1593e2d0c69b69c308e63f3b422" -dependencies = [ - "collection_literals", - "interpolator", - "manyhow", - "proc-macro-utils", - "proc-macro2", - "quote", - "quote-use", - "syn 2.0.48", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "axum" -version = "0.6.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" -dependencies = [ - "async-trait", - "axum-core", - "axum-macros", - "bitflags 1.3.2", - "bytes", - "futures-util", - "http", - "http-body", - "hyper", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "serde_json", - "serde_path_to_error", - "serde_urlencoded", - "sync_wrapper", - "tokio", - "tower", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-core" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http", - "http-body", - "mime", - "rustversion", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-macros" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdca6a10ecad987bda04e95606ef85a5417dcaac1a78455242d72e031e2b6b62" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "backtrace" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" - -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - -[[package]] -name = "brotli" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "2.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "bumpalo" -version = "3.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" - -[[package]] -name = "bytecheck" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627" -dependencies = [ - "bytecheck_derive", - "ptr_meta", - "simdutf8", - "uuid", -] - -[[package]] -name = "bytecheck_derive" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" - -[[package]] -name = "cached" -version = "0.45.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90eb5776f28a149524d1d8623035760b4454ec881e8cf3838fa8d7e1b11254b3" -dependencies = [ - "cached_proc_macro", - "cached_proc_macro_types", - "hashbrown 0.13.2", - "instant", - "once_cell", - "thiserror", -] - -[[package]] -name = "cached_proc_macro" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c878c71c2821aa2058722038a59a67583a4240524687c6028571c9b395ded61f" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "cached_proc_macro_types" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0" - -[[package]] -name = "camino" -version = "1.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" - -[[package]] -name = "cc" -version = "1.0.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "jobserver", - "libc", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "ciborium" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" -dependencies = [ - "ciborium-io", - "ciborium-ll", - "serde", -] - -[[package]] -name = "ciborium-io" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" - -[[package]] -name = "ciborium-ll" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" -dependencies = [ - "ciborium-io", - "half", -] - -[[package]] -name = "collection_literals" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186dce98367766de751c42c4f03970fc60fc012296e706ccbb9d5df9b6c1e271" - -[[package]] -name = "colored" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8" -dependencies = [ - "lazy_static", - "windows-sys", -] - -[[package]] -name = "config" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23738e11972c7643e4ec947840fc463b6a571afcd3e735bdfce7d03c7a784aca" -dependencies = [ - "async-trait", - "lazy_static", - "nom", - "pathdiff", - "serde", - "toml 0.5.11", -] - -[[package]] -name = "console_error_panic_hook" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" -dependencies = [ - "cfg-if", - "wasm-bindgen", -] - -[[package]] -name = "console_log" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f" -dependencies = [ - "log", - "web-sys", -] - -[[package]] -name = "const_format" -version = "0.2.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a214c7af3d04997541b18d432afaff4c455e79e2029079647e72fc2bd27673" -dependencies = [ - "const_format_proc_macros", -] - -[[package]] -name = "const_format_proc_macros" -version = "0.2.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "convert_case" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" - -[[package]] -name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "darling" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 1.0.109", -] - -[[package]] -name = "darling_macro" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" -dependencies = [ - "darling_core", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", -] - -[[package]] -name = "derive-where" -version = "1.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "deunicode" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae2a35373c5c74340b79ae6780b498b2b183915ec5dacf263aac5a099bf485a" - -[[package]] -name = "drain_filter_polyfill" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "669a445ee724c5c69b1b06fe0b63e70a1c84bc9bb7d9696cd4f4e3ec45050408" - -[[package]] -name = "either" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" - -[[package]] -name = "encoding_rs" -version = "0.8.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "eyre" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6267a1fa6f59179ea4afc8e50fd8612a3cc60bc858f786ff877a4a8cb042799" -dependencies = [ - "indenter", - "once_cell", -] - -[[package]] -name = "femark" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81771b11671145822e0f98b154260e21ac055e2aba13a597194f0ba3156e0a15" -dependencies = [ - "cc", - "eyre", - "once_cell", - "pulldown-cmark", - "pulldown-cmark-frontmatter", - "serde", - "slug", - "thiserror", - "toml 0.8.8", - "tracing", - "tree-sitter", - "tree-sitter-c", - "tree-sitter-dockerfile", - "tree-sitter-go", - "tree-sitter-highlight", - "tree-sitter-html", - "tree-sitter-javascript", - "tree-sitter-json", - "tree-sitter-nix", - "tree-sitter-python", - "tree-sitter-rust", - "tree-sitter-toml", - "tree-sitter-typescript", -] - -[[package]] -name = "flate2" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "frontend" -version = "0.1.0" -dependencies = [ - "app", - "console_error_panic_hook", - "console_log", - "leptos", - "log", - "wasm-bindgen", -] - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "futures" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" - -[[package]] -name = "futures-executor" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-macro" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "futures-sink" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" - -[[package]] -name = "futures-task" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" - -[[package]] -name = "futures-util" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "getopts" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" -dependencies = [ - "unicode-width", -] - -[[package]] -name = "getrandom" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi", - "wasm-bindgen", -] - -[[package]] -name = "gimli" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - -[[package]] -name = "gloo-net" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9902a044653b26b99f7e3693a42f171312d9be8b26b5697bd1e43ad1f8a35e10" -dependencies = [ - "futures-channel", - "futures-core", - "futures-sink", - "gloo-utils", - "js-sys", - "pin-project", - "serde", - "serde_json", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "gloo-utils" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037fcb07216cb3a30f7292bd0176b050b7b9a052ba830ef7d5d65f6dc64ba58e" -dependencies = [ - "js-sys", - "serde", - "serde_json", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "h2" -version = "0.3.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap 2.1.0", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "half" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" -dependencies = [ - "cfg-if", - "crunchy", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.7", -] - -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" - -[[package]] -name = "hashbrown" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" -dependencies = [ - "ahash 0.8.7", - "allocator-api2", -] - -[[package]] -name = "hdrhistogram" -version = "7.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" -dependencies = [ - "byteorder", - "num-traits", -] - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" - -[[package]] -name = "html-escape" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476" -dependencies = [ - "utf8-width", -] - -[[package]] -name = "http" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - -[[package]] -name = "http-range-header" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "hyper" -version = "0.14.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "indenter" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - -[[package]] -name = "indexmap" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" -dependencies = [ - "equivalent", - "hashbrown 0.14.3", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "interpolator" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71dd52191aae121e8611f1e8dc3e324dd0dd1dee1e6dd91d10ee07a3cfb4d9d8" - -[[package]] -name = "inventory" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8573b2b1fb643a372c73b23f4da5f888677feef3305146d68a539250a9bccc7" - -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - -[[package]] -name = "iri-string" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21859b667d66a4c1dacd9df0863b3efb65785474255face87f5bca39dd8407c0" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "itertools" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" - -[[package]] -name = "jobserver" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.67" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "leptos" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "269ba4ba91ffa73d9559c975e0be17bd4eb34c6b6abd7fdd5704106132d89d2a" -dependencies = [ - "cfg-if", - "leptos_config", - "leptos_dom", - "leptos_macro", - "leptos_reactive", - "leptos_server", - "server_fn", - "tracing", - "typed-builder", - "typed-builder-macro", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "leptos_axum" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbfb557aa186ab4c3a693d3e23402805d879ead5d25096a4ab3fca06ee7688b4" -dependencies = [ - "axum", - "cfg-if", - "futures", - "http", - "hyper", - "leptos", - "leptos_integration_utils", - "leptos_meta", - "leptos_router", - "once_cell", - "parking_lot", - "serde_json", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "leptos_config" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e72d8689d54737991831e9b279bb4fba36d27a93aa975c75cd4241d9a4a425ec" -dependencies = [ - "config", - "regex", - "serde", - "thiserror", - "typed-builder", -] - -[[package]] -name = "leptos_dom" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad314950d41acb1bfdb8b5924811b2983484a8d6f69a20b834a173a682657ed4" -dependencies = [ - "async-recursion", - "cfg-if", - "drain_filter_polyfill", - "futures", - "getrandom", - "html-escape", - "indexmap 2.1.0", - "itertools", - "js-sys", - "leptos_reactive", - "once_cell", - "pad-adapter", - "paste", - "rustc-hash", - "serde", - "serde_json", - "server_fn", - "smallvec", - "tracing", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "leptos_hot_reload" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f62dcab17728877f2d2f16d2c8a6701c4c5fbdfb4964792924acb0b50529659" -dependencies = [ - "anyhow", - "camino", - "indexmap 2.1.0", - "parking_lot", - "proc-macro2", - "quote", - "rstml", - "serde", - "syn 2.0.48", - "walkdir", -] - -[[package]] -name = "leptos_integration_utils" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fddda3a3b768dad90f80fb56ac6e250bc5c60755f8e3df225913aba4364ed7ee" -dependencies = [ - "futures", - "leptos", - "leptos_config", - "leptos_hot_reload", - "leptos_meta", - "tracing", -] - -[[package]] -name = "leptos_macro" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57955d66f624265222444a5c565fea38efa5b0152a1dfc7c060a78e5fb62a852" -dependencies = [ - "attribute-derive", - "cfg-if", - "convert_case", - "html-escape", - "itertools", - "leptos_hot_reload", - "prettyplease", - "proc-macro-error", - "proc-macro2", - "quote", - "rstml", - "server_fn_macro", - "syn 2.0.48", - "tracing", - "uuid", -] - -[[package]] -name = "leptos_meta" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc25c0f7f14ed5daf42b8d0d273ed790b0449e8ba8cff1c2fa800dc90a75acb" -dependencies = [ - "cfg-if", - "indexmap 2.1.0", - "leptos", - "tracing", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "leptos_reactive" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f54a525a0edfc8c2bf3ee92aae411800b8b10892c9cd819f8e8a6d4f0d62f3" -dependencies = [ - "base64", - "cfg-if", - "futures", - "indexmap 2.1.0", - "js-sys", - "paste", - "pin-project", - "rkyv", - "rustc-hash", - "self_cell", - "serde", - "serde-wasm-bindgen", - "serde_json", - "slotmap", - "thiserror", - "tokio", - "tracing", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "leptos_router" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b31087173c60e25c329a1c6786756dd9ee97750b378622df4d780db160a09040" -dependencies = [ - "cached", - "cfg-if", - "gloo-net", - "itertools", - "js-sys", - "lazy_static", - "leptos", - "leptos_integration_utils", - "leptos_meta", - "linear-map", - "lru", - "once_cell", - "percent-encoding", - "regex", - "serde", - "serde_json", - "serde_qs", - "thiserror", - "tracing", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "leptos_server" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd1517c2024bc47d764e96053e55b927f8a2159e735a0cc47232542b493df9d" -dependencies = [ - "inventory", - "lazy_static", - "leptos_macro", - "leptos_reactive", - "serde", - "server_fn", - "thiserror", - "tracing", -] - -[[package]] -name = "libc" -version = "0.2.152" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" - -[[package]] -name = "linear-map" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee" -dependencies = [ - "serde", - "serde_test", -] - -[[package]] -name = "lock_api" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" - -[[package]] -name = "lru" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21" -dependencies = [ - "hashbrown 0.14.3", -] - -[[package]] -name = "manyhow" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "516b76546495d933baa165075b95c0a15e8f7ef75e53f56b19b7144d80fd52bd" -dependencies = [ - "manyhow-macros", - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "manyhow-macros" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ba072c0eadade3160232e70893311f1f8903974488096e2eb8e48caba2f0cf1" -dependencies = [ - "proc-macro-utils", - "proc-macro2", - "quote", -] - -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - -[[package]] -name = "memchr" -version = "2.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "mime_guess" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" -dependencies = [ - "mime", - "unicase", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" -dependencies = [ - "adler", -] - -[[package]] -name = "mio" -version = "0.8.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" -dependencies = [ - "libc", - "wasi", - "windows-sys", -] - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "num-traits" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "num_threads" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" -dependencies = [ - "libc", -] - -[[package]] -name = "object" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "pad-adapter" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56d80efc4b6721e8be2a10a5df21a30fa0b470f1539e53d8b4e6e75faf938b63" - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets", -] - -[[package]] -name = "paste" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" - -[[package]] -name = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "pin-project" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "prettyplease" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" -dependencies = [ - "proc-macro2", - "syn 2.0.48", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-utils" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f59e109e2f795a5070e69578c4dc101068139f74616778025ae1011d4cd41a8" -dependencies = [ - "proc-macro2", - "quote", - "smallvec", -] - -[[package]] -name = "proc-macro2" -version = "1.0.78" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "proc-macro2-diagnostics" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", - "version_check", - "yansi", -] - -[[package]] -name = "ptr_meta" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" -dependencies = [ - "ptr_meta_derive", -] - -[[package]] -name = "ptr_meta_derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "pulldown-cmark" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" -dependencies = [ - "bitflags 1.3.2", - "getopts", - "memchr", - "unicase", -] - -[[package]] -name = "pulldown-cmark-frontmatter" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d796ebc3f9fe89e2267a102d358a7f107488b5fefae07d25a990efbe1feab60" -dependencies = [ - "pulldown-cmark", -] - -[[package]] -name = "quote" -version = "1.0.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "quote-use" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7b5abe3fe82fdeeb93f44d66a7b444dedf2e4827defb0a8e69c437b2de2ef94" -dependencies = [ - "quote", - "quote-use-macros", - "syn 2.0.48", -] - -[[package]] -name = "quote-use-macros" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97ea44c7e20f16017a76a245bb42188517e13d16dcb1aa18044bc406cdc3f4af" -dependencies = [ - "derive-where", - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "regex" -version = "1.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" - -[[package]] -name = "rend" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd" -dependencies = [ - "bytecheck", -] - -[[package]] -name = "reqwest" -version = "0.11.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" -dependencies = [ - "base64", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "ipnet", - "js-sys", - "log", - "mime", - "once_cell", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "system-configuration", - "tokio", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - -[[package]] -name = "rkyv" -version = "0.7.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527a97cdfef66f65998b5f3b637c26f5a5ec09cc52a3f9932313ac645f4190f5" -dependencies = [ - "bitvec", - "bytecheck", - "bytes", - "hashbrown 0.12.3", - "ptr_meta", - "rend", - "rkyv_derive", - "seahash", - "tinyvec", - "uuid", -] - -[[package]] -name = "rkyv_derive" -version = "0.7.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5c462a1328c8e67e4d6dbad1eb0355dd43e8ab432c6e227a43657f16ade5033" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "rstml" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe542870b8f59dd45ad11d382e5339c9a1047cde059be136a7016095bbdefa77" -dependencies = [ - "proc-macro2", - "proc-macro2-diagnostics", - "quote", - "syn 2.0.48", - "syn_derive", - "thiserror", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustversion" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" - -[[package]] -name = "ryu" -version = "1.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" - -[[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 = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - -[[package]] -name = "self_cell" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba" - -[[package]] -name = "serde" -version = "1.0.195" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-wasm-bindgen" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]] -name = "serde_derive" -version = "1.0.195" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "serde_json" -version = "1.0.111" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_path_to_error" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd154a240de39fdebcf5775d2675c204d7c13cf39a4c697be6493c8e734337c" -dependencies = [ - "itoa", - "serde", -] - -[[package]] -name = "serde_qs" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0431a35568651e363364210c91983c1da5eb29404d9f0928b67d4ebcfa7d330c" -dependencies = [ - "percent-encoding", - "serde", - "thiserror", -] - -[[package]] -name = "serde_spanned" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_test" -version = "1.0.176" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a2f49ace1498612d14f7e0b8245519584db8299541dfe31a06374a828d620ab" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "server" -version = "0.1.0" -dependencies = [ - "app", - "axum", - "leptos", - "leptos_axum", - "log", - "simple_logger", - "tokio", - "tower", - "tower-http", -] - -[[package]] -name = "server_fn" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c265de965fe48e09ad8899d0ab1ffebdfa1a9914e4de5ff107b07bd94cf7541" -dependencies = [ - "ciborium", - "const_format", - "gloo-net", - "inventory", - "js-sys", - "lazy_static", - "once_cell", - "proc-macro2", - "quote", - "reqwest", - "serde", - "serde_json", - "serde_qs", - "server_fn_macro_default", - "syn 2.0.48", - "thiserror", - "xxhash-rust", -] - -[[package]] -name = "server_fn_macro" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f77000541a62ceeec01eef3ee0f86c155c33dac5fae750ad04a40852c6d5469a" -dependencies = [ - "const_format", - "proc-macro-error", - "proc-macro2", - "quote", - "serde", - "syn 2.0.48", - "xxhash-rust", -] - -[[package]] -name = "server_fn_macro_default" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a3353f22e2bcc451074d4feaa37317d9d17dff11d4311928384734ea17ab9ca" -dependencies = [ - "server_fn_macro", - "syn 2.0.48", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" -dependencies = [ - "libc", -] - -[[package]] -name = "simdutf8" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" - -[[package]] -name = "simple_logger" -version = "4.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e7e46c8c90251d47d08b28b8a419ffb4aede0f87c2eea95e17d1d5bacbf3ef1" -dependencies = [ - "colored", - "log", - "time", - "windows-sys", -] - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "slotmap" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" -dependencies = [ - "serde", - "version_check", -] - -[[package]] -name = "slug" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bd94acec9c8da640005f8e135a39fc0372e74535e6b368b7a04b875f784c8c4" -dependencies = [ - "deunicode", - "wasm-bindgen", -] - -[[package]] -name = "smallvec" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" - -[[package]] -name = "socket2" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" -dependencies = [ - "libc", - "windows-sys", -] - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.48" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "thiserror" -version = "1.0.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "time" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" -dependencies = [ - "deranged", - "itoa", - "libc", - "num_threads", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" -dependencies = [ - "time-core", -] - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.35.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "num_cpus", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys", -] - -[[package]] -name = "tokio-macros" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "tokio-util" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "futures-util", - "hashbrown 0.14.3", - "pin-project-lite", - "tokio", - "tracing", -] - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - -[[package]] -name = "toml" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit", -] - -[[package]] -name = "toml_datetime" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" -dependencies = [ - "indexmap 2.1.0", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "hdrhistogram", - "indexmap 1.9.3", - "pin-project", - "pin-project-lite", - "rand", - "slab", - "tokio", - "tokio-util", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-http" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" -dependencies = [ - "async-compression", - "base64", - "bitflags 2.4.2", - "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-range-header", - "httpdate", - "iri-string", - "mime", - "mime_guess", - "percent-encoding", - "pin-project-lite", - "tokio", - "tokio-util", - "tower", - "tower-layer", - "tower-service", - "tracing", - "uuid", -] - -[[package]] -name = "tower-layer" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", -] - -[[package]] -name = "tree-sitter" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e747b1f9b7b931ed39a548c1fae149101497de3c1fc8d9e18c62c1a66c683d3d" -dependencies = [ - "cc", - "regex", -] - -[[package]] -name = "tree-sitter-c" -version = "0.20.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a578ec34a18175c5a3922db2bceb132c82391f5b232375d6bb6531d1bfcf497" -dependencies = [ - "cc", - "tree-sitter", -] - -[[package]] -name = "tree-sitter-dockerfile" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01e314ed278a8392df8579f3a2321959118cdaced00cf90cc9a1230c6f7637a5" -dependencies = [ - "cc", - "tree-sitter", -] - -[[package]] -name = "tree-sitter-go" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad6d11f19441b961af2fda7f12f5d0dac325f6d6de83836a1d3750018cc5114" -dependencies = [ - "cc", - "tree-sitter", -] - -[[package]] -name = "tree-sitter-highlight" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "042342584c5a7a0b833d9fc4e2bdab3f9868ddc6c4b339a1e01451c6720868bc" -dependencies = [ - "regex", - "thiserror", - "tree-sitter", -] - -[[package]] -name = "tree-sitter-html" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "184e6b77953a354303dc87bf5fe36558c83569ce92606e7b382a0dc1b7443443" -dependencies = [ - "cc", - "tree-sitter", -] - -[[package]] -name = "tree-sitter-javascript" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edbc663376bdd294bd1f0a6daf859aedb9aa5bdb72217d7ad8ba2d5314102cf7" -dependencies = [ - "cc", - "tree-sitter", -] - -[[package]] -name = "tree-sitter-json" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90b04c4e1a92139535eb9fca4ec8fa9666cc96b618005d3ae35f3c957fa92f92" -dependencies = [ - "cc", - "tree-sitter", -] - -[[package]] -name = "tree-sitter-nix" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8c93b7dd2afcd9667daae048135be9ee268e9e3900f4d7d0556a63ec5336b1" -dependencies = [ - "cc", - "tree-sitter", -] - -[[package]] -name = "tree-sitter-python" -version = "0.20.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c93b1b1fbd0d399db3445f51fd3058e43d0b4dcff62ddbdb46e66550978aa5" -dependencies = [ - "cc", - "tree-sitter", -] - -[[package]] -name = "tree-sitter-rust" -version = "0.20.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0832309b0b2b6d33760ce5c0e818cb47e1d72b468516bfe4134408926fa7594" -dependencies = [ - "cc", - "tree-sitter", -] - -[[package]] -name = "tree-sitter-toml" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca517f578a98b23d20780247cc2688407fa81effad5b627a5a364ec3339b53e8" -dependencies = [ - "cc", - "tree-sitter", -] - -[[package]] -name = "tree-sitter-typescript" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75049f0aafabb2aac205d7bb24da162b53dcd0cfb326785f25a2f32efa8071a" -dependencies = [ - "cc", - "tree-sitter", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "typed-builder" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444d8748011b93cb168770e8092458cb0f8854f931ff82fdf6ddfbd72a9c933e" -dependencies = [ - "typed-builder-macro", -] - -[[package]] -name = "typed-builder-macro" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "563b3b88238ec95680aef36bdece66896eaa7ce3c0f1b4f39d38fb2435261352" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" - -[[package]] -name = "unicode-width" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" - -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - -[[package]] -name = "url" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf8-width" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" - -[[package]] -name = "uuid" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" -dependencies = [ - "getrandom", -] - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "walkdir" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.48", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" - -[[package]] -name = "web-sys" -version = "0.3.67" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[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-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.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" -dependencies = [ - "winapi", -] - -[[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 = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "winnow" -version = "0.5.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys", -] - -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - -[[package]] -name = "xxhash-rust" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53be06678ed9e83edb1745eb72efc0bbcd7b5c3c35711a860906aed827a13d61" - -[[package]] -name = "yansi" -version = "1.0.0-rc.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1367295b8f788d371ce2dbc842c7b709c73ee1364d30351dd300ec2203b12377" - -[[package]] -name = "zerocopy" -version = "0.7.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "zstd" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e" -dependencies = [ - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.9+zstd.1.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" -dependencies = [ - "cc", - "pkg-config", -] diff --git a/doordesk/Cargo.toml b/doordesk/Cargo.toml deleted file mode 100644 index efa32c8..0000000 --- a/doordesk/Cargo.toml +++ /dev/null @@ -1,110 +0,0 @@ -[workspace] -resolver = "2" -members = ["app", "frontend", "server"] - -# need to be applied only to wasm build -[profile.release] -codegen-units = 1 -lto = true -opt-level = 'z' - -[workspace.dependencies] -leptos = { version = "0.5", features = ["nightly"] } -leptos_meta = { version = "0.5", features = ["nightly"] } -leptos_router = { version = "0.5", features = ["nightly"] } -leptos_axum = { version = "0.5" } - -axum = "0.6.20" -cfg-if = "1" -console_error_panic_hook = "0.1.7" -console_log = "1" -http = "0.2.9" -log = "0.4.20" -simple_logger = "4.2.0" -thiserror = "1" -tokio = { version = "1.33.0", features = ["full"] } -tower = { version = "0.4.13", features = ["full"] } -tower-http = { version = "0.4", features = ["full"] } -wasm-bindgen = "0.2.89" - -# See https://github.com/akesson/cargo-leptos for documentation of all the parameters. - -# A leptos project defines which workspace members -# that are used together frontend (lib) & server (bin) -[[workspace.metadata.leptos]] -# this name is used for the wasm, js and css file names -name = "doordesk" - -# the package in the workspace that contains the server binary (binary crate) -bin-package = "server" - -# the package in the workspace that contains the frontend wasm binary (library crate) -lib-package = "frontend" - -# The site root folder is where cargo-leptos generate all output. WARNING: all content of this folder will be erased on a rebuild. Use it in your server setup. -site-root = "target/site" - -# The site-root relative folder where all compiled output (JS, WASM and CSS) is written -# Defaults to pkg -site-pkg-dir = "pkg" - -# [Optional] The source CSS file. If it ends with .sass or .scss then it will be compiled by dart-sass into CSS. The CSS is optimized by Lightning CSS before being written to //app.css -style-file = "style/tailwind.css" - -# The tailwind input file. -# -# Optional, Activates the tailwind build -tailwind-input-file = "style/tailwind.css" - -# The tailwind config file. -# -# Optional, defaults to "./tailwind.config.js" which if is not present -# is generated for you -tailwind-config-file = "./tailwind.config.js" - -# Assets source dir. All files found here will be copied and synchronized to site-root. -# The assets-dir cannot have a sub directory with the same name/path as site-pkg-dir. -# -# Optional. Env: LEPTOS_ASSETS_DIR. -assets-dir = "public" - -# The IP and port (ex: 127.0.0.1:3000) where the server serves the content. Use it in your server setup. -site-addr = "0.0.0.0:3000" - -# The port to use for automatic reload monitoring -reload-port = 3001 - -# [Optional] Command to use when running end2end tests. It will run in the end2end dir. -# [Windows] for non-WSL use "npx.cmd playwright test" -# This binary name can be checked in Powershell with Get-Command npx -end2end-cmd = "npx playwright test" -end2end-dir = "end2end" - -# The browserlist query used for optimizing the CSS. -browserquery = "defaults" - -# Set by cargo-leptos watch when building with that tool. Controls whether autoreload JS will be included in the head -watch = false - -# The environment Leptos will run in, usually either "DEV" or "PROD" -env = "DEV" - -# The features to use when compiling the bin target -# -# Optional. Can be over-ridden with the command line parameter --bin-features -bin-features = [] - -# If the --no-default-features flag should be used when compiling the bin target -# -# Optional. Defaults to false. -bin-default-features = false - -# The features to use when compiling the lib target -# -# Optional. Can be over-ridden with the command line parameter --lib-features -lib-features = [] - -# If the --no-default-features flag should be used when compiling the lib target -# -# Optional. Defaults to false. -lib-default-features = false diff --git a/doordesk/LICENSE b/doordesk/LICENSE deleted file mode 100644 index e869ce3..0000000 --- a/doordesk/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 henrik - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/doordesk/README.md b/doordesk/README.md deleted file mode 100644 index 6befba7..0000000 --- a/doordesk/README.md +++ /dev/null @@ -1,87 +0,0 @@ - - - Leptos Logo - - -# Leptos Axum Starter Template - -This is a template for use with the [Leptos](https://github.com/leptos-rs/leptos) web framework and the [cargo-leptos](https://github.com/akesson/cargo-leptos) tool using [Axum](https://github.com/tokio-rs/axum). - -## Creating your template repo - -If you don't have `cargo-leptos` installed you can install it with - -```bash -cargo install cargo-leptos -``` - -Then run -```bash -cargo leptos new --git https://github.com/leptos-rs/start-axum-workspace/ -``` - -to generate a new project template. - -```bash -cd {projectname} -``` - -to go to your newly created project. -Feel free to explore the project structure, but the best place to start with your application code is in `src/app.rs`. -Addtionally, Cargo.toml may need updating as new versions of the dependencies are released, especially if things are not working after a `cargo update`. - -## Running your project - -```bash -cargo leptos watch -``` - -## Installing Additional Tools - -By default, `cargo-leptos` uses `nightly` Rust, `cargo-generate`, and `sass`. If you run into any trouble, you may need to install one or more of these tools. - -1. `rustup toolchain install nightly --allow-downgrade` - make sure you have Rust nightly -2. `rustup default nightly` - setup nightly as default, or you can use rust-toolchain file later on -3. `rustup target add wasm32-unknown-unknown` - add the ability to compile Rust to WebAssembly -4. `cargo install cargo-generate` - install `cargo-generate` binary (should be installed automatically in future) -5. `npm install -g sass` - install `dart-sass` (should be optional in future - -## Compiling for Release -```bash -cargo leptos build --release -``` - -Will generate your server binary in target/server/release and your site package in target/site - -## Testing Your Project -```bash -cargo leptos end-to-end -``` - -```bash -cargo leptos end-to-end --release -``` - -Cargo-leptos uses Playwright as the end-to-end test tool. -Tests are located in end2end/tests directory. - -## Executing a Server on a Remote Machine Without the Toolchain -After running a `cargo leptos build --release` the minimum files needed are: - -1. The server binary located in `target/server/release` -2. The `site` directory and all files within located in `target/site` - -Copy these files to your remote server. The directory structure should be: -```text -start-axum -site/ -``` -Set the following enviornment variables (updating for your project as needed): -```text -LEPTOS_OUTPUT_NAME="start-axum" -LEPTOS_SITE_ROOT="site" -LEPTOS_SITE_PKG_DIR="pkg" -LEPTOS_SITE_ADDR="127.0.0.1:3000" -LEPTOS_RELOAD_PORT="3001" -``` -Finally, run the server binary. diff --git a/doordesk/app/Cargo.toml b/doordesk/app/Cargo.toml deleted file mode 100644 index 29d838e..0000000 --- a/doordesk/app/Cargo.toml +++ /dev/null @@ -1,34 +0,0 @@ -[package] -name = "app" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -leptos.workspace = true -leptos_meta.workspace = true -leptos_router.workspace = true -leptos_axum = { workspace = true, optional = true } - -http.workspace = true -cfg-if.workspace = true -thiserror.workspace = true -serde = "1.0.195" -femark = { version = "0.1.5", optional = true } -toml = { version = "0.8.8", optional = true } - -[features] -default = [] -hydrate = ["leptos/hydrate", "leptos_meta/hydrate", "leptos_router/hydrate"] -ssr = [ - "leptos/ssr", - "leptos_meta/ssr", - "leptos_router/ssr", - "dep:leptos_axum", - "dep:femark", - "dep:toml", -] - -[package.metadata.cargo-all-features] -denylist = ["femark"] diff --git a/doordesk/app/src/components.rs b/doordesk/app/src/components.rs deleted file mode 100644 index 39d2056..0000000 --- a/doordesk/app/src/components.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod article; -pub mod slingshot; diff --git a/doordesk/app/src/components/article.rs b/doordesk/app/src/components/article.rs deleted file mode 100644 index b045cb5..0000000 --- a/doordesk/app/src/components/article.rs +++ /dev/null @@ -1,23 +0,0 @@ -use leptos::*; -use serde::{Deserialize, Serialize}; - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct ArticleData { - pub content_type: String, - pub title: String, - pub date: String, // make datetime? - pub content: String, -} - -#[component] -pub fn Article(data: ArticleData) -> impl IntoView { - view! { - // Shadow styling is in main .css file -
-

{&data.title}

-
- {&data.date} -
-
- } -} diff --git a/doordesk/app/src/components/slingshot.rs b/doordesk/app/src/components/slingshot.rs deleted file mode 100644 index 4c4cedf..0000000 --- a/doordesk/app/src/components/slingshot.rs +++ /dev/null @@ -1,54 +0,0 @@ -use crate::components::article::ArticleData; -use leptos::*; -use serde::Deserialize; - -#[derive(Deserialize)] -struct ArticleFrontmatter { - content_type: String, - title: String, - date: String, -} - -#[server] -pub async fn slingshot(path: String) -> Result, ServerFnError> { - let mut articles = vec![]; - - for dir in std::fs::read_dir(path)? { - for file in std::fs::read_dir(dir?.path())? { - let fileinfo = file?; - let filepath = fileinfo.path(); - - if let Some(filetype) = filepath.extension() { - if filetype == "md" { - let file = std::fs::read_to_string(filepath)?; - let html_from_md = - femark::process_markdown_to_html_with_frontmatter(&file.to_string(), true) - .expect("Problem processing markdown"); - let content = html_from_md.content; - let _toc = html_from_md.toc; - - if let Some(front_raw) = html_from_md.frontmatter { - if let Some(front_code) = front_raw.code_block { - let toml: ArticleFrontmatter = - toml::from_str(&front_code.source)?; - - articles.push(ArticleData { - content_type: toml.content_type, - title: toml.title, - date: toml.date, - content, - }) - } - } - } - } - } - } - - // Simulate lag - use std::thread::sleep; - use std::time::Duration; - sleep(Duration::from_millis(300)); - - Ok(articles) -} diff --git a/doordesk/app/src/error_template.rs b/doordesk/app/src/error_template.rs deleted file mode 100644 index cb7bbdc..0000000 --- a/doordesk/app/src/error_template.rs +++ /dev/null @@ -1,56 +0,0 @@ -use http::status::StatusCode; -use leptos::*; -use thiserror::Error; - -#[derive(Clone, Debug, Error)] -pub enum AppError { - #[error("Not Found")] - NotFound, -} - -impl AppError { - pub fn status_code(&self) -> StatusCode { - match self { - AppError::NotFound => StatusCode::NOT_FOUND, - } - } -} - -#[component] -pub fn ErrorTemplate( - #[prop(optional)] outside_errors: Option, - #[prop(optional)] errors: Option>, -) -> impl IntoView { - let errors = match outside_errors { - Some(e) => create_rw_signal(e), - None => match errors { - Some(e) => e, - None => panic!("No Errors found and we expected errors!"), - }, - }; - // Get Errors from Signal - let errors = errors.get_untracked(); - - let errors: Box<_> = errors.into_iter().filter_map(|(_k, v)| v.into()).collect(); - println!("Errors: {errors:#?}"); - - view! { -
-

- {if errors.len() > 1 { "Errors!" } else { "Error!" }} -

-
- -
    - {move || { - errors - .into_iter() - .map(|e: &_| view! {
  • {e.to_string()}
  • }) - .collect_view() - }} - -
- -
- } -} diff --git a/doordesk/app/src/lib.rs b/doordesk/app/src/lib.rs deleted file mode 100644 index 9b764e9..0000000 --- a/doordesk/app/src/lib.rs +++ /dev/null @@ -1,62 +0,0 @@ -use crate::error_template::{AppError, ErrorTemplate}; - -use leptos::*; -use leptos_meta::*; -use leptos_router::*; - -pub mod components; -pub mod error_template; -pub mod routes; - -// use crate::routes::{blog::*, home::*, projects::*}; -use crate::routes::home::Home; - -#[component] -pub fn App() -> impl IntoView { - provide_meta_context(); - - view! { - - - <Router fallback=|| { - let mut outside_errors = Errors::default(); - outside_errors.insert_with_default_key(AppError::NotFound); - view! { <ErrorTemplate outside_errors/> }.into_view() - }> - // Some repetitive nav styling is defined in the main .css file - <nav class="sticky top-0 z-50 bg-gradient-to-b shadow-lg from-zinc-800 to-zinc-900"> - <ul class="container flex items-center p-3"> - // Logo - <p class="mx-1.5 sm:mx-6">"DoorDesk"</p> - <li> - <A href="" exact=true> - "Home" - </A> - </li> - <li> - <A href="/blog">"Blog"</A> - </li> - <li> - <A href="/projects">"Projects"</A> - </li> - <li> - <a href="https://git.doordesk.net">"Git"</a> - </li> - </ul> - </nav> - <main> - <Routes> - <Route path="" view=Home/> - // <Route path="blog" view=Blog/> - // <Route path="projects" view=Projects/> - </Routes> - </main> - <p class="m-auto w-8 text-center duration-200 hover:rotate-180"> - <a href="https://open.spotify.com/playlist/3JRNw9gpt1w5ptsw8uDeYc?si=8f7e4191113f41f9"> - ":)" - </a> - </p> - <br/> - </Router> - } -} diff --git a/doordesk/app/src/routes.rs b/doordesk/app/src/routes.rs deleted file mode 100644 index 509f52f..0000000 --- a/doordesk/app/src/routes.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod home; -// pub mod blog; -// pub mod projects; diff --git a/doordesk/app/src/routes/blog.rs b/doordesk/app/src/routes/blog.rs deleted file mode 100644 index 9a4b7d5..0000000 --- a/doordesk/app/src/routes/blog.rs +++ /dev/null @@ -1,7 +0,0 @@ -use crate::components::article::*; -use leptos::*; - -#[component] -pub fn Blog() -> impl IntoView { - view! { <Article/> } -} diff --git a/doordesk/app/src/routes/home.rs b/doordesk/app/src/routes/home.rs deleted file mode 100644 index a0f0534..0000000 --- a/doordesk/app/src/routes/home.rs +++ /dev/null @@ -1,30 +0,0 @@ -use crate::components::article::*; -use crate::components::slingshot::*; -use crate::error_template::*; -use leptos::*; - -#[component] -pub fn Home() -> impl IntoView { - let data_resource = create_local_resource( - || (), - |_| async move { slingshot("./public/static".to_string()).await }, - ); - - let articles_view = move || { - data_resource.and_then(|data| { - data.iter() - .map(|article| view! { <Article data=article.clone()/> }) - .collect_view() - }) - }; - - view! { - <Suspense fallback=move || { - view! { <p>"Loading..."</p> } - }> - <ErrorBoundary fallback=|errors| { - view! { <ErrorTemplate errors=errors/> } - }>{articles_view}</ErrorBoundary> - </Suspense> - } -} diff --git a/doordesk/app/src/routes/projects.rs b/doordesk/app/src/routes/projects.rs deleted file mode 100644 index 7169efa..0000000 --- a/doordesk/app/src/routes/projects.rs +++ /dev/null @@ -1,7 +0,0 @@ -use crate::components::article::*; -use leptos::*; - -#[component] -pub fn Projects() -> impl IntoView { - view! { <Article/> } -} diff --git a/doordesk/end2end/package-lock.json b/doordesk/end2end/package-lock.json deleted file mode 100644 index f12af44..0000000 --- a/doordesk/end2end/package-lock.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "name": "end2end", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "end2end", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@playwright/test": "^1.28.0" - } - }, - "node_modules/@playwright/test": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.28.0.tgz", - "integrity": "sha512-vrHs5DFTPwYox5SGKq/7TDn/S4q6RA1zArd7uhO6EyP9hj3XgZBBM12ktMbnDQNxh/fL1IUKsTNLxihmsU38lQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "playwright-core": "1.28.0" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==", - "dev": true - }, - "node_modules/playwright-core": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.28.0.tgz", - "integrity": "sha512-nJLknd28kPBiCNTbqpu6Wmkrh63OEqJSFw9xOfL9qxfNwody7h6/L3O2dZoWQ6Oxcm0VOHjWmGiCUGkc0X3VZA==", - "dev": true, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=14" - } - } - }, - "dependencies": { - "@playwright/test": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.28.0.tgz", - "integrity": "sha512-vrHs5DFTPwYox5SGKq/7TDn/S4q6RA1zArd7uhO6EyP9hj3XgZBBM12ktMbnDQNxh/fL1IUKsTNLxihmsU38lQ==", - "dev": true, - "requires": { - "@types/node": "*", - "playwright-core": "1.28.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==", - "dev": true - }, - "playwright-core": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.28.0.tgz", - "integrity": "sha512-nJLknd28kPBiCNTbqpu6Wmkrh63OEqJSFw9xOfL9qxfNwody7h6/L3O2dZoWQ6Oxcm0VOHjWmGiCUGkc0X3VZA==", - "dev": true - } - } -} diff --git a/doordesk/end2end/package.json b/doordesk/end2end/package.json deleted file mode 100644 index ed78585..0000000 --- a/doordesk/end2end/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "end2end", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": {}, - "keywords": [], - "author": "", - "license": "ISC", - "devDependencies": { - "@playwright/test": "^1.28.0" - } -} diff --git a/doordesk/end2end/playwright.config.ts b/doordesk/end2end/playwright.config.ts deleted file mode 100644 index e9891c0..0000000 --- a/doordesk/end2end/playwright.config.ts +++ /dev/null @@ -1,107 +0,0 @@ -import type { PlaywrightTestConfig } from "@playwright/test"; -import { devices } from "@playwright/test"; - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: "./tests", - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000, - }, - /* Run tests in files in parallel */ - fullyParallel: true, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: "html", - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - // baseURL: 'http://localhost:3000', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: "on-first-retry", - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: "chromium", - use: { - ...devices["Desktop Chrome"], - }, - }, - - { - name: "firefox", - use: { - ...devices["Desktop Firefox"], - }, - }, - - { - name: "webkit", - use: { - ...devices["Desktop Safari"], - }, - }, - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - // webServer: { - // command: 'npm run start', - // port: 3000, - // }, -}; - -export default config; diff --git a/doordesk/end2end/tests/example.spec.ts b/doordesk/end2end/tests/example.spec.ts deleted file mode 100644 index a461f35..0000000 --- a/doordesk/end2end/tests/example.spec.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { test, expect } from "@playwright/test"; - -test("homepage has title and links to intro page", async ({ page }) => { - await page.goto("http://localhost:3000/"); - - await expect(page).toHaveTitle("Welcome to Leptos"); - - await expect(page.locator("h1")).toHaveText("Welcome to Leptos!"); -}); diff --git a/doordesk/frontend/Cargo.toml b/doordesk/frontend/Cargo.toml deleted file mode 100644 index 19f62b0..0000000 --- a/doordesk/frontend/Cargo.toml +++ /dev/null @@ -1,18 +0,0 @@ -[package] -name = "frontend" -version = "0.1.0" -edition = "2021" - -[lib] -crate-type = ["cdylib", "rlib"] - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -app = { path = "../app", default-features = false, features = ["hydrate"] } -leptos = { workspace = true, features = [ "hydrate" ] } - -console_error_panic_hook.workspace = true -console_log.workspace = true -log.workspace = true -wasm-bindgen.workspace = true diff --git a/doordesk/frontend/src/lib.rs b/doordesk/frontend/src/lib.rs deleted file mode 100644 index b20eed2..0000000 --- a/doordesk/frontend/src/lib.rs +++ /dev/null @@ -1,12 +0,0 @@ -use app::*; -use leptos::*; -use wasm_bindgen::prelude::wasm_bindgen; - -#[wasm_bindgen] -pub fn hydrate() { - // initializes logging using the `log` crate - _ = console_log::init_with_level(log::Level::Debug); - console_error_panic_hook::set_once(); - - leptos::mount_to_body(App); -} diff --git a/doordesk/public/about.txt b/doordesk/public/about.txt deleted file mode 100644 index 5cd61e0..0000000 --- a/doordesk/public/about.txt +++ /dev/null @@ -1,6 +0,0 @@ -This favicon was generated using the following graphics from Twitter Twemoji: - -- Graphics Title: 1f37b.svg -- Graphics Author: Copyright 2020 Twitter, Inc and other contributors (https://github.com/twitter/twemoji) -- Graphics Source: https://github.com/twitter/twemoji/blob/master/assets/svg/1f37b.svg -- Graphics License: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/) diff --git a/doordesk/public/android-chrome-192x192.png b/doordesk/public/android-chrome-192x192.png deleted file mode 100644 index 27552b1..0000000 Binary files a/doordesk/public/android-chrome-192x192.png and /dev/null differ diff --git a/doordesk/public/android-chrome-512x512.png b/doordesk/public/android-chrome-512x512.png deleted file mode 100644 index 224ed38..0000000 Binary files a/doordesk/public/android-chrome-512x512.png and /dev/null differ diff --git a/doordesk/public/apple-touch-icon.png b/doordesk/public/apple-touch-icon.png deleted file mode 100644 index a91602a..0000000 Binary files a/doordesk/public/apple-touch-icon.png and /dev/null differ diff --git a/doordesk/public/favicon-16x16.png b/doordesk/public/favicon-16x16.png deleted file mode 100644 index 00f369c..0000000 Binary files a/doordesk/public/favicon-16x16.png and /dev/null differ diff --git a/doordesk/public/favicon-32x32.png b/doordesk/public/favicon-32x32.png deleted file mode 100644 index d8c4ccb..0000000 Binary files a/doordesk/public/favicon-32x32.png and /dev/null differ diff --git a/doordesk/public/favicon.ico b/doordesk/public/favicon.ico deleted file mode 100644 index 49f6a82..0000000 Binary files a/doordesk/public/favicon.ico and /dev/null differ diff --git a/doordesk/public/site.webmanifest b/doordesk/public/site.webmanifest deleted file mode 100644 index 45dc8a2..0000000 --- a/doordesk/public/site.webmanifest +++ /dev/null @@ -1 +0,0 @@ -{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/doordesk/public/static/blog/20220207-swim.md b/doordesk/public/static/blog/20220207-swim.md deleted file mode 100644 index 5836b46..0000000 --- a/doordesk/public/static/blog/20220207-swim.md +++ /dev/null @@ -1,142 +0,0 @@ -```toml -content_type = "blog" -title = "Hume" -date = "2022 2 7" -``` - -<p style="text-align: right;"> - April 22, 1958<br /> - 57 Perry Street<br /> - New York City<br /> -</p> -Dear Hume, - -You ask advice: ah, what a very human and very dangerous thing to do! For to give advice -to a man who asks what to do with his life implies something very close to egomania. To -presume to point a man to the right and ultimate goal—to point with a trembling -finger in the RIGHT direction is something only a fool would take upon himself. - -I am not a fool, but I respect your sincerity in asking my -advice. I ask you though, in listening to what I say, to remember that all advice can -only be a product of the man who gives it. What is truth to one may be a disaster to -another. I do not see life through your eyes, nor you through mine. If I were to attempt -to give you -*specific* advice, it would be too much like the blind leading the blind. -<p style="text-align: center;"> - <i> "To be, or not to be: that is the question: Whether 'tis nobler in the mind to - suffer the slings and arrows of outrageous fortune, or to take arms against a sea of - troubles..." </i> - <br /> - (Shakespeare) -</p> -And indeed, that IS the question: whether to float with the tide, or to swim for a goal. -It is a choice we must all make consciously or unconsciously at one time in our lives. -So few people understand this! Think of any decision you've ever made which had a -bearing on your future: I may be wrong, but I don't see how it could have been anything -but a choice however indirect—between the two things I've mentioned: the floating -or the swimming. - -But why not float if you have no goal? That is another question. -It is unquestionably better to enjoy the floating than to swim in uncertainty. So how -does a man find a goal? Not a castle in the stars, but a real and tangible thing. How -can a man be sure he's not after the "big rock candy mountain," the enticing sugar-candy -goal that has little taste and no substance? - -The answer—and, in a sense, the tragedy of life—is -that we seek to understand the goal and not the man. We set up a goal which demands of -us certain things: and we do these things. We adjust to the demands of a concept which -CANNOT be valid. When you were young, let us say that you wanted to be a fireman. I feel -reasonably safe in saying that you no longer want to be a fireman. Why? Because your -perspective has changed. It's not the fireman who has changed, but you. Every man is the -sum total of his reactions to experience. As your experiences differ and multiply, you -become a different man, and hence your perspective changes. This goes on and on. Every -reaction is a learning process; every significant experience alters your perspective. - -So it would seem foolish, would it not, to adjust our lives to -the demands of a goal we see from a different angle every day? How could we ever hope to -accomplish anything other than galloping neurosis? - -The answer, then, must not deal with goals at all, or not with -tangible goals, anyway. It would take reams of paper to develop this subject to -fulfillment. God only knows how many books have been written on "the meaning of man" and -that sort of thing, and god only knows how many people have pondered the subject. (I use -the term "god only knows" purely as an expression.) There's very little sense in my -trying to give it up to you in the proverbial nutshell, because I'm the first to admit -my absolute lack of qualifications for reducing the meaning of life to one or two -paragraphs. - -I'm going to steer clear of the word "existentialism," but you -might keep it in mind as a key of sorts. You might also try something called -<i>Being and Nothingness</i> by Jean-Paul Sartre, and another little thing called -<i>Existentialism: From Dostoyevsky to Sartre.</i> These are merely suggestions. If -you're genuinely statisfied with what you are and what you're doing, then give those -books a wide berth. (Let sleeping dogs lie.) But back to the answer. As I said, to put -our faith in tangible goals would seem to be, at best, unwise. So we do not strive to be -firemen, we do not strive to be bankers, nor policemen, nor doctors. WE STRIVE TO BE -OURSELVES. - -But don't misunderstand me. I don't mean that we can't BE -firemen, bankers, or doctors—but that we must make the goal conform to the -individual, rather than make the individual conform to the goal. In every man, heredity -and environment have combined to produce a creature of certain abilities and -desires—including a deeply ingrained need to function in such a way that his life -will be MEANINGFUL. A man has to BE something; he has to matter. - -As I see it then, the formula runs something like this: a man -must choose a path which will let his ABILITIES function at maximum efficiency toward -the gratification of his DESIRES. In doing this, he is fulfilling a need (giving himself -identity by functioning in a set pattern toward a set goal) he avoids frustrating his -potential (choosing a path which puts no limit on his self-development), and he avoids -the terror of seeing his goal wilt or lose its charm as he draws closer to it (rather -than bending himself to meet the demands of that which he seeks, he has bent his goal to -conform to his own abilities and desires). - -In short, he has not dedicated his life to reaching a -pre-defined goal, but he has rather chosen a way of like he KNOWS he will enjoy. The -goal is absolutely secondary: it is the -<i>functioning toward the goal</i> which is important. And it seems almost ridiculous to -say that a man MUST function in a pattern of his own choosing; for to let another man -define your own goals is to give up one of the most meaningful aspects of life—the -definitive act of will which makes a man an individual. - -Let's assume that you think you have a choice of eight paths to -follow (all pre-defined paths, of course). And let's assume that you can't see any real -purpose in any of the eight. Then—and here is the essence of all I've -said—you MUST FIND A NINTH PATH. - -Naturally, it isn't as easy as it sounds. you've lived a -relatively narrow life, a vertical rather than a horizontal existence. So it isn't any -too difficult to understand why you seem to feel the way you do. But a man who -procrastinates in his CHOOSING will inevitably have his choice made for him by -circumstance. - -So if you now number yourself among the disenchanted, then you -have no choice but to accept things as they are, or to seriously seek something else. -But beware of looking for -<i>goals</i>: look for a way of life. Decide how you want to live and then see what you -can do to make a living WITHIN that way of life. But you say, "I don't know where to -look; I don't know what to look for." - -And there's the crux. Is it worth giving up what I have to look -for something better? I don't know—is it? Who can make that decision but you? But -even by DECIDING TO LOOK, you go a long way toward making the choice. - -If I don't call this to a halt, I'm going to find myself writing -a book. I hope it's not as confusing as it looks at first glance. Keep in mind, of -course, that this is MY WAY of looking at things. I happen to think that it's pretty -generally applicable, but you may not. Each of us has to create our own credo—this -merely happens to be mine. - -If any part of it doesn't seem to make sense, by all means call -it to my attention. I'm not trying to send you out "on the road" in search of Valhalla, -but merely pointing out that it is not necessary to accept the choices handed down to -you by life as you know it. There is more to it than that—no one HAS to do -something he doesn't want to do for the rest of his life. But then again, if that's what -you wind up doing, by all means convince yourself that you HAD to do it. You'll have -lots of company. - -And that's it for now. Until I hear from you again, I remain, -<p style="text-align: right;"> - your friend...<br /> - Hunter -</p> diff --git a/doordesk/public/static/blog/20220506-change.md b/doordesk/public/static/blog/20220506-change.md deleted file mode 100644 index 63f8934..0000000 --- a/doordesk/public/static/blog/20220506-change.md +++ /dev/null @@ -1,53 +0,0 @@ -```toml -content_type = "blog" -title = "Change" -date = "2022 5 6" -``` - -<p style="text-align: center;"> - <i>"Life should not be a journey to the grave with the intention of arriving safely in - a pretty and well preserved body, but rather to skid in broadside in a cloud of - smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a - Ride!"</i> - <br /> - (Hunter S.Thompson) -</p> - -There comes a time in one's life, perhaps multiple, when there -is an unquestionable need for change. Maybe you're not sure how, why, or where it came -from, or where even it is you're headed, or how to get there, but here you are taking -your first steps toward a new life. A journey into the unknown. I've just set out on one -of these journeys, and even as I sit here typing this now I can't help but feel a little -bit nervous, but even more excited. I have absolutely no idea where I'm headed to be -quite honest. But I know where I've been. - -Growing up I would always be taking things apart, I HAD to see -what was inside. What makes this thing, a thing. What makes it tick? Can it tick faster? -For no particular reason I just had to know every little detail about what made the -thing the thing that it was and why it did what it did. It's a gift and a curse of -sorts. Quickly this led to taking apart things of increasing complexity, our home -computer for instance. Luckily I was able to get it put back together before my parents -got home because it was made clear that this was not allowed, and the CPU didn't seem to -mind the sudden absence of thermal compound either. I must have been around 7 or 8 years -old at that time, and it still puzzles me just what is going on inside there. - -I have a better idea now, naturally I had to figure out just -what all those pieces were, what they did, and how they did it. What if I replaced some -of these parts with other parts? As I honed my web searching skills to try to answer the -seemingly endless hows and whys I ended up building myself a little hotrod computer and -then raced it against other peoples' computers because why not, right? And I actually -won! It was an overclocking contest called the winter suicides, a kind of computer drag -race. Highest CPU clock speed wins, you have to boot into Windows XP, open CPU-Z, and -take a screenshot. If it crashes immediately after that (and it did) it still counts. I -got some pretty weird looks from my father as I stuck my computer outside in the snow -but that was a small price to pay for the grand prize which was a RAM kit (2GB of DDR400 -I believe) and RAM cooler. - -After getting comfortable with hardware I started to study the -software side of things, I tried teaching myself C++ (and didn't get very far), I did -teach myself HTML and CSS, some JavaScript, and started playing around with Linux. It -took until only a year or two ago to finally be completely on Linux full time (gaming -holding me back), I even have a Linux phone now (Pinephone Pro). At this point I reached -high school and my attention moved from computers to cars. - -To be continued... diff --git a/doordesk/public/static/blog/20220520-nvidia.md b/doordesk/public/static/blog/20220520-nvidia.md deleted file mode 100644 index e6b8006..0000000 --- a/doordesk/public/static/blog/20220520-nvidia.md +++ /dev/null @@ -1,14 +0,0 @@ -```toml -content_type = "blog" -title = "It's about time, NVIDIA" -date = "2022 5 20" -``` - -It's about time... NVIDIA has finally released and is starting to -support Open-source software with their new modules released recently for the Linux -kernel. NVIDIA historically has been seemingly against Linux/OSS for whatever reason. -This is a huge step forward both for end users and NVIDIA. -<p style="text-align: center;"> - <a href="https://github.com/NVIDIA/open-gpu-kernel-modules"> - NVIDIA open-gpu-kernel-modules</a > on github. -</p> diff --git a/doordesk/public/static/blog/20220602-back.md b/doordesk/public/static/blog/20220602-back.md deleted file mode 100644 index 38ae3ca..0000000 --- a/doordesk/public/static/blog/20220602-back.md +++ /dev/null @@ -1,41 +0,0 @@ -```toml -content_type = "blog" -title = "Back to School" -date = "2022 6 2" -``` - -### Where the hell have I been!? - -Looking back at the past 5 weeks, it's impressive the amount of new things that have -been shoved in my face. A list I'll try to make contains: - -- [Python](https://www.python.org) -- [Pandas](https://pandas.pydata.org) -- [Matplotlib](https://matplotlib.org) -- [Seaborn](https://seaborn.pydata.org) -- [Statsmodels](https://www.statsmodels.org) -- [Scikit-Learn](https://scikit-learn.org) -- [Beautiful Soup](https://www.crummy.com/software/BeautifulSoup) -- [Selenium](https://www.selenium.dev) -- [PRAW](https://github.com/praw-dev/praw) -- Plus the math and background to go with it all! - -It doesn't seem like much at the time except chaos, but then about a week later it -finally sets in. After tomorrow we'll be halfway through the course and while I guess -you could say that it's half over, or that it signifies progress, I feel it's more like -being halfway up Mount Everest and looking—trying to squint through the clouds and -make out what looks like the peak. I don't see a peak and maybe it's because I'm -nearsighted but I can also tell you that if were to look down then I can't see where -I've started either! - -It's been quite a ride and I hope to see it to the end. I don't have time to even think -about it further. It's where I perform my best though, on my heels. Probably by -design... - -### After? - -I would like to use these skills to expand on some of the class projects I've worked on -and I have some other ideas using language processing I think would be fun to play with. -I think it would be fun to create an internet chat bot, we'll start with text but if -speech recognition is practical then I may add and play with that too. I would also like -to make some sort of "Propaganda Detector" diff --git a/doordesk/public/static/blog/20220701-progress.md b/doordesk/public/static/blog/20220701-progress.md deleted file mode 100644 index 692cc0b..0000000 --- a/doordesk/public/static/blog/20220701-progress.md +++ /dev/null @@ -1,87 +0,0 @@ -```toml -content_type = "blog" -title = "It's a post about nothing!" -date = "2022 7 1" -``` - -The progress update - -<p style='text-align: center;'> - <img src="https://old.doordesk.net/pics/plates.gif" /> -</p> - -### Bots - -After finding a number of ways not to begin the project formerly known as my capstone, -I've finally settled on a -[dataset](https://www.kaggle.com/datasets/bwandowando/ukraine-russian-crisis-twitter-dataset-1-2-m-rows). The project is about detecting bots, starting with twitter. I've -[studied](https://old.doordesk.net/projects/bots/docs/debot.pdf) a -[few](https://old.doordesk.net/projects/bots/docs/botwalk.pdf) -[different](https://old.doordesk.net/projects/bots/docs/smu.pdf) -[methods](https://old.doordesk.net/projects/bots/docs/div.pdf) of bot detection and particularly like the -[DeBot](https://old.doordesk.net/projects/bots/docs/debot.pdf) and -[BotWalk](https://old.doordesk.net/projects/bots/docs/botwalk.pdf) methods and think I will try to mimic them, -in that order. - -Long story short, DeBot uses a fancy method of time correlation to group accounts -together based on their posting habits. By identifying accounts that all have identical -posting habits that are beyond what a human could do by coincidence, this is a great -first step to identifying an inital group of seed bots. This can then be expanded by -using BotWalk's method of checking all the followers of the bot accounts and comparing -anomalous behavior to separate humans from non-humans. Rinse and repeat. I'll begin this -on twitter but hope to make it platform independent. - -### The Real Capstone - -The bot project is too much to complete in this short amount of time, so instead I'm -working with a -[small dataset](https://archive-beta.ics.uci.edu/ml/datasets/auto+mpg) -containing info about cars with some specs and I'll predict MPG. The problem itself for -me is trivial from past study/experience as an auto mechanic so I should have a nice -playground to focus completely on modeling. It's a very small data set too at < 400 -lines, I should be able to test multiple models in depth very quickly. It may or may not -be interesting, expect a write-up anyway. - -### Cartman - -Well I guess I've adopted an 8 year old. Based on -[this project](https://github.com/RuolinZheng08/twewy-discord-chatbot) -I've trained a chat bot with the personality of Eric Cartman. He's a feature of my -Discord bot living on a Raspberry Pi 4B, which I would say is probably the slowest -computer you would ever want to run something like this on. It takes a somewhat -reasonable amount of time to respond, almost feeling human if you make it think a bit. -The project uses [PyTorch](https://pytorch.org/) to train the model. I'd like -to re-create it using [TensorFlow](https://www.tensorflow.org/) as an -exercise to understand each one better, but that's a project for another night. It also -only responds to one line at a time so it can't carry a conversation with context, -yet... - -### Website - -I never thought I'd end up having a blog. I had no plans at all actually when I set up -this server, just to host a silly page that I would change from time to time whenever I -was bored. I've been looking at -[Hugo](https://gohugo.io/) as a way to organize what is now just a list of -divs in a single html file slowly growing out of control. Basically you just dump each -post into its own file, create a template of how to render them, and let it do its -thing. I should be able to create a template that recreates exactly what you see right -now, which is beginning to grow on me. - -If you haven't noticed yet, (and I don't blame you if you haven't because only a handful -of people even visit this page) each time there is an update there is a completely new -background image, color scheme, a whole new theme. This is because this page is a near -identical representation of terminal windows open my computer and each time I update the -page I also update it with my current wallpaper, which generates the color scheme -dynamically using -[Pywal](https://github.com/dylanaraps/pywal). - -TODO: -* Code blocks with syntax highlighting -* Develop an easy workflow to dump a jupyter notebook into the website and have it display nicely with minimal effort -* Find a way to hack plots generated with matplotlib to change colors with the page color scheme (or find another way to do the same thing) -* Automate generating the site - probably [Hugo](https://gohugo.io/) -* Separate from blog, projects, etc. -* Add socials, contact, about -* A bunch of stuff I haven't even thought of yet - -That's all for now diff --git a/doordesk/public/static/bots/cartman.html b/doordesk/public/static/bots/cartman.html deleted file mode 100644 index 2755d2d..0000000 --- a/doordesk/public/static/bots/cartman.html +++ /dev/null @@ -1 +0,0 @@ -cartman diff --git a/doordesk/public/static/games/adam.md b/doordesk/public/static/games/adam.md deleted file mode 100644 index 2963722..0000000 --- a/doordesk/public/static/games/adam.md +++ /dev/null @@ -1,8 +0,0 @@ -```toml -content_type = "game" -title = "adam" -date = "2022 9 11" -``` - -[adam](https://old.doordesk.net/games/adam/) is a quick fps demo to test how well WebGL -performs using [Unity](https://unity.com). diff --git a/doordesk/public/static/games/balls.md b/doordesk/public/static/games/balls.md deleted file mode 100644 index e19f109..0000000 --- a/doordesk/public/static/games/balls.md +++ /dev/null @@ -1,8 +0,0 @@ -```toml -content_type = "game" -title = "balls" -date = "2022 9 13" -``` - -[balls](https://old.doordesk.net/games/balls/) is another demo to test WebGL performance. -This time using [Godot Engine](https://godotengine.org/). diff --git a/doordesk/public/static/games/fps.md b/doordesk/public/static/games/fps.md deleted file mode 100644 index 4642d91..0000000 --- a/doordesk/public/static/games/fps.md +++ /dev/null @@ -1,8 +0,0 @@ -```toml -content_type = "game" -title = "fps" -date = "2022 10 9" -``` - -[fps](https://old.doordesk.net/games/fps/) is a Godot/WebGL experiment from scratch with -multiplayer using websockets and a master/slave architecture. Invite a friend or open multiple instances! diff --git a/doordesk/public/static/games/index.html b/doordesk/public/static/games/index.html deleted file mode 100644 index 68a671e..0000000 --- a/doordesk/public/static/games/index.html +++ /dev/null @@ -1,23 +0,0 @@ -<h3>Some games using wasm/webgl</h3> -<p>Browser performance as of January 2023</p> -<p>Tested better:</p> -<ol> - <li>Opera</li> - <li>Firefox Developer Edition</li> - <li>Brave</li> -</ol> -<p>Tested poor or broken:</p> -<ol> - <li>Safari</li> - <li>Chrome stable release or older</li> - <li>Edge, see above^</li> -</ol> -<p>Consider anything else average or let me know otherwise</p> -<ul> - ---MY GAMES--- - <li><a href="https://old.doordesk.net/games/adam">adam</a> - The first. Unity Demo/Tutorial with some mods</li> - <li><a href="https://old.doordesk.net/games/fps">multiplayer fps</a> - Dive into netcode with Godot (Open two, invite - your friends!)</li> - <li><a href="https://old.doordesk.net/games/../snek">snek</a> - Canvas + JS (the actual first)</li> - <li><a href="https://old.doordesk.net/games/balls">balls</a> - Godot demo engine test</li> -</ul> diff --git a/doordesk/public/static/games/snek.md b/doordesk/public/static/games/snek.md deleted file mode 100644 index 9b6186a..0000000 --- a/doordesk/public/static/games/snek.md +++ /dev/null @@ -1,7 +0,0 @@ -```toml -content_type = "game" -title = "snek" -date = "2022 5 20" -``` - -[snek](https://old.doordesk.net/snek) is a simple snake game made with JS/Canvas. diff --git a/doordesk/public/static/projects/20220529-housing.md b/doordesk/public/static/projects/20220529-housing.md deleted file mode 100644 index 385879a..0000000 --- a/doordesk/public/static/projects/20220529-housing.md +++ /dev/null @@ -1,114 +0,0 @@ -```toml -content_type = "project" -title = "Predicting Housing Prices" -date = "2022 5 29" -``` - -A recent project I had for class was to use [scikit-learn](https://scikit-learn.org/stable/index.html) to create a regression model that will predict the price of a house based on some features of that house. - -### How? - -1 Pick out and analyze certain features from the dataset. Used here is the [Ames Iowa Housing Data](https://www.kaggle.com/datasets/marcopale/housing) set. -1 Do some signal processing to provide a clearer input down the line, improving accuracy -1 Make predictions on sale price -1 Compare the predicted prices to recorded actual sale prices and score the results - -### What's important? - -Well, I don't know much about appraising houses. But I have heard the term "price per -square foot" so we'll start with that: - -<p style="text-align: center;"><img src="https://old.doordesk.net/pics/livarea_no_outliers.png" /></p> - -There is a feature for 'Above Grade Living Area' meaning floor area that's not basement. -It looks linear, there were a couple outliers to take care of but this should be a good -signal. - -Next I calculated the age of every house at time of sale and plotted it: - -<p style="text-align: center;"><img src="https://old.doordesk.net/pics/age.png" /></p> - -Exactly what I'd expect to see. Price drops as age goes up, a few outliers. We'll -include that in the model. - -Next I chose the area of the lot: - -<p style="text-align: center;"><img src="https://old.doordesk.net/pics/lot_area.png" /></p> - -Lot area positively affects sale price because land has value. Most of the houses here -have similarly sized lots. - -### Pre-Processing -<div> - <p> - Here is an example where using - <a - href="https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html" - target="new" - >StandardScaler()</a - > - just doesn't cut it. The values are all scaled in a way where they can be compared - to one-another, but outliers have a huge effect on the clarity of the signal as a - whole. - </p> - <span> - <center> - <img src="https://old.doordesk.net/pics/age_liv_area_ss.png" /> - <img src="https://old.doordesk.net/pics/age_liv_qt.png" - </center> - </span> -</div> - -You should clearly see in the second figure that an old shed represented in the top left -corner will sell for far less than a brand new mansion represented in the bottom right -corner. This is the result of using the [QuantileTransformer()](https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.QuantileTransformer.html) -for scaling. - -### The Model - -A simple [LinearRegression()](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html) -should do just fine, with [QuantileTransformer()](https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.QuantileTransformer.html) -scaling of course. - -<center> - <img src="https://old.doordesk.net/pics/mod_out.png" /> -</center> - -Predictions were within about $35-$40k on average. - -It's a little fuzzy in the higher end of prices, I believe due to the small sample size. -There are a few outliers that can probably be reduced with some deeper cleaning however -I was worried about going too far and creating a different story. An "ideal" model in -this case would look like a straight line. - -### Conclusion - -This model was designed with a focus on quality and consistency. With some refinement, -the margin of error should be able to be reduced to a reasonable number and then -reliable, accurate predictions can be made for any application where there is a need to -assess the value of a property. - -I think a large limiting factor here is the size of the dataset compared to the quality -of the features provided. There are -<a href="http://jse.amstat.org/v19n3/decock/DataDocumentation.txt">more features</a> -from this dataset that can be included but I think the largest gains will be had from -simply feeding in more data. As you stray from the "low hanging fruit" features, the -quality of your model overall starts to go down. - -Here's an interesting case, Overall Condition of Property: - -<center> - <img src="https://old.doordesk.net/pics/overall_cond.png" /> -</center> - -You would expect sale price to increase with quality, no? Yet it goes down.. Why? - -I believe it's because a lot of sellers want to say that their house is of highest -quality, no matter the condition. It seems that most normal people (who aren't liars) -dont't care to rate their property and just say it's average. Both of these combined -actually create a negative trend for quality which definitely won't help predictions! - -I would like to expand this in the future, maybe scraping websites like Zillow to gather -more data. - -We'll see. diff --git a/doordesk/public/static/projects/20220614-reddit.md b/doordesk/public/static/projects/20220614-reddit.md deleted file mode 100644 index 92bcc7d..0000000 --- a/doordesk/public/static/projects/20220614-reddit.md +++ /dev/null @@ -1,109 +0,0 @@ -```toml -content_type = "project" -title = "What goes into a successful Reddit post?" -date = "2022 6 16" -``` - -In an attempt to find out what about a Reddit post makes it successful I will use some -classification models to try to determine which features have the highest influence on -making a correct prediction. In particular I use -[Random Forest](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html) -and -[KNNeighbors](https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html) -classifiers. Then I'll score the results and see what the highest predictors are. - -To find what goes into making a successful Reddit post we'll have to do a few things, -first of which is collecting data: - -### Introducing Scrapey! - -[Scrapey](https://old.doordesk.net/projects/reddit/scrapey.html) is my scraper script that takes a snapshot -of Reddit/r/all hot and saves the data to a .csv file including a calculated age for -each post about every 12 minutes. Run time is about 2 minutes per iteration and each -time adds about 100 unique posts to the list while updating any post it's already seen. - -I run this in the background in a terminal and it updates my data set every ~12 minutes. -I have records of all posts within about 12 minutes of them disappearing from /r/all. - -### EDA - -[Next I take a quick look to see what looks useful](https://old.doordesk.net/projects/reddit/EDA.html), what -doesn't, and check for outliers that will throw off the model. There were a few outliers -to drop from the num_comments column. - -Chosen Features: - -* Title -* Subreddit -* Over_18 -* Is_Original_Content -* Is_Self -* Spoiler -* Locked -* Stickied -* Num_Comments (Target) - -Then I split the data I'm going to use into two dataframes (numeric and non) to prepare -for further processing. - -### Clean - -[Cleaning the data further](https://old.doordesk.net/projects/reddit/clean.html) consists of: - -* Scaling numeric features between 0-1 -* Converting '_' and '-' to whitespace -* Removing any non a-z or A-Z or whitespace -* Stripping any leftover whitespace -* Deleting any titles that were reduced to empty strings - -### Model - -If the number of comments of a post is greater than the median total number of comments -then it's assigned a 1, otherwise a 0. This is the target column. I then try some -lemmatizing, it doesn't seem to add much. After that I create and join some dummies, -then split and feed the new dataframe into -[Random Forest](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html) -and [NNeighbors](https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html) -classifiers. Both actually scored the same with -[cross validation](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.cross_validate.html) -so I mainly used the forest. - -[Notebook Here](https://old.doordesk.net/projects/reddit/model.html) - -### Conclusion - -Some Predictors from Top 25: - -* Is_Self -* Subreddit_Memes -* OC -* Over_18 -* Subreddit_Shitposting -* Is_Original_Content -* Subreddit_Superstonk - - Popular words: 'like', 'just', 'time', 'new', 'oc', 'good', 'got', 'day', 'today', 'im', - 'dont', and 'love'. - - People on Reddit (at least in the past few days) like their memes, porn, and talking - about their day. And it's preferred if the content is original and self posted. So yes, - post your memes to memes and shitposting, tag them NSFW, use some words from the list, - and rake in all that sweet karma! - - But it's not that simple, this is a fairly simple model, with simple data. To go beyond - this I think the comments would have to be analyzed. - [Lemmatisation](https://en.wikipedia.org/wiki/Lemmatisation) I thought would - be the most influential piece, and I still think that thinking is correct. But in this - case it doesn't apply because there is no real meaning to be had from reddit post - titles, at least to a computer. (or I did something wrong) - - There's a lot more seen by a human than just the text in the title, there's often an - image attached, most posts reference a recent/current event, they could be an inside - joke of sorts. For some posts there could be emojis in the title, and depending on their - combination they can take on a meaning completely different from their individual - meanings. The next step from here I believe is to analyze the comments section of these - posts because in this moment I think that's the easiest way to truly describe the - meaning of a post to a computer. With what was gathered here I'm only to get 10% above - baseline and I think that's all there is to be had here, I mean we can tweak for a few - percent probably but I don't think there's much left on the table. - diff --git a/doordesk/public/static/projects/20221020-cartman.md b/doordesk/public/static/projects/20221020-cartman.md deleted file mode 100644 index 4ed09af..0000000 --- a/doordesk/public/static/projects/20221020-cartman.md +++ /dev/null @@ -1,32 +0,0 @@ -```toml -content_type = "project" -title = "Cartman is public!" -date = "2022 10 20" -``` - -[Cartman](https://old.doordesk.net/cartman) is trained by combining Microsoft's -[DialoGPT-medium](https://huggingface.co/microsoft/DialoGPT-medium) -NLP model (GPT2 model trained on 147M samples of multi-turn dialogue from Reddit) with 17 seasons of -[South Park](https://southparkstudios.com) -transcripts. - -Requests are routed from -[Nginx](https://nginx.com) -through -[WireGuard](https://www.wireguard.com) -to a -[Raspberry Pi 4B 8GB](https://www.tomshardware.com/news/raspberry-pi-4-8gb-tested) running -[FastAPI](https://fastapi.tiangolo.com), -and the Cartman model using [PyTorch](https://pytorch.org). -It has enough RAM for more, but the CPU is pretty much at its limit. Expect it to take a few -seconds, I'm cheap. Sorry(kinda). - -You can download a Docker image if you'd like to run it on your own hardware for either -[x86_64](https://old.doordesk.net/files/chatbots_api_x86_64.tar.gz) -or -[aarch64](https://old.doordesk.net/files/chatbots_api_aarch64.tar.gz). - -More info [here](https://github.com/adoyle0/cartman) as well as -[example scripts](https://github.com/adoyle0/cartman/tree/master/api/test) -to talk to the docker container. - diff --git a/doordesk/public/static/projects/20230427-lightning.md b/doordesk/public/static/projects/20230427-lightning.md deleted file mode 100644 index 8b2f2e1..0000000 --- a/doordesk/public/static/projects/20230427-lightning.md +++ /dev/null @@ -1,12 +0,0 @@ -```toml -content_type = "project" -title = "Lightning" -date = "2023 4 27" -``` - -[Lightning](https://lightning.doordesk.net) is a mapping/data vis project for finding -EV charging stations. It uses [Martin](https://github.com/maplibre/martin) to serve -tiles generated from [OpenStreetMap](https://www.openstreetmap.org) data to a - [MapLibre](https://maplibre.org/) frontend. Additional layers are added on top -via [Deck.gl](https://deck.gl) using data from [EVChargerFinder](https://github.com/kevin-fwu/EVChargerFinder) made by my friend -Kevin. diff --git a/doordesk/rust-toolchain.toml b/doordesk/rust-toolchain.toml deleted file mode 100644 index 271800c..0000000 --- a/doordesk/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -channel = "nightly" \ No newline at end of file diff --git a/doordesk/rustfmt.toml b/doordesk/rustfmt.toml deleted file mode 100644 index 3a26366..0000000 --- a/doordesk/rustfmt.toml +++ /dev/null @@ -1 +0,0 @@ -edition = "2021" diff --git a/doordesk/server/Cargo.toml b/doordesk/server/Cargo.toml deleted file mode 100644 index 1ba9c36..0000000 --- a/doordesk/server/Cargo.toml +++ /dev/null @@ -1,18 +0,0 @@ -[package] -name = "server" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -app = { path = "../app", default-features = false, features = ["ssr"] } -leptos = { workspace = true, features = [ "ssr" ]} -leptos_axum.workspace = true - -axum.workspace = true -simple_logger.workspace = true -tokio.workspace = true -tower.workspace = true -tower-http.workspace = true -log.workspace = true diff --git a/doordesk/server/src/fileserv.rs b/doordesk/server/src/fileserv.rs deleted file mode 100644 index 836c7c7..0000000 --- a/doordesk/server/src/fileserv.rs +++ /dev/null @@ -1,46 +0,0 @@ -// use app::error_template::AppError; -// use app::error_template::ErrorTemplate; -use app::App; -use axum::response::Response as AxumResponse; -use axum::{ - body::{boxed, Body, BoxBody}, - extract::State, - http::{Request, Response, StatusCode, Uri}, - response::IntoResponse, -}; -use leptos::*; -use tower::ServiceExt; -use tower_http::services::ServeDir; - -pub async fn file_and_error_handler( - uri: Uri, - State(options): State<LeptosOptions>, - req: Request<Body>, -) -> AxumResponse { - let root = options.site_root.clone(); - let res = get_static_file(uri.clone(), &root).await.unwrap(); - - if res.status() == StatusCode::OK { - res.into_response() - } else { - let handler = - leptos_axum::render_app_to_stream(options.to_owned(), move || view! { <App/> }); - handler(req).await.into_response() - } -} - -async fn get_static_file(uri: Uri, root: &str) -> Result<Response<BoxBody>, (StatusCode, String)> { - let req = Request::builder() - .uri(uri.clone()) - .body(Body::empty()) - .unwrap(); - // `ServeDir` implements `tower::Service` so we can call it with `tower::ServiceExt::oneshot` - // This path is relative to the cargo root - match ServeDir::new(root).oneshot(req).await { - Ok(res) => Ok(res.map(boxed)), - Err(err) => Err(( - StatusCode::INTERNAL_SERVER_ERROR, - format!("Something went wrong: {err}"), - )), - } -} diff --git a/doordesk/server/src/main.rs b/doordesk/server/src/main.rs deleted file mode 100644 index b0ba26c..0000000 --- a/doordesk/server/src/main.rs +++ /dev/null @@ -1,37 +0,0 @@ -use app::*; -use axum::{routing::post, Router}; -use fileserv::file_and_error_handler; -use leptos::*; -use leptos_axum::{generate_route_list, LeptosRoutes}; - -pub mod fileserv; - -#[tokio::main] -async fn main() { - simple_logger::init_with_level(log::Level::Debug).expect("couldn't initialize logging"); - - // Setting get_configuration(None) means we'll be using cargo-leptos's env values - // For deployment these variables are: - // <https://github.com/leptos-rs/start-axum#executing-a-server-on-a-remote-machine-without-the-toolchain> - // Alternately a file can be specified such as Some("Cargo.toml") - // The file would need to be included with the executable when moved to deployment - let conf = get_configuration(None).await.unwrap(); - let leptos_options = conf.leptos_options; - let addr = leptos_options.site_addr; - let routes = generate_route_list(App); - - // build our application with a route - let app = Router::new() - .route("/api/*fn_name", post(leptos_axum::handle_server_fns)) - .leptos_routes(&leptos_options, routes, App) - .fallback(file_and_error_handler) - .with_state(leptos_options); - - // run our app with hyper - // `axum::Server` is a re-export of `hyper::Server` - log::info!("listening on http://{}", &addr); - axum::Server::bind(&addr) - .serve(app.into_make_service()) - .await - .unwrap(); -} diff --git a/doordesk/style/tailwind.css b/doordesk/style/tailwind.css deleted file mode 100644 index 996e19c..0000000 --- a/doordesk/style/tailwind.css +++ /dev/null @@ -1,89 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -html { - @apply text-orange-50 antialiased font-mono tracking-tighter; -} - -body { - @apply bg-gradient-to-br from-zinc-900 to-zinc-950 bg-fixed; -} - -nav li { - @apply border-b-2 mx-1.5 sm:mx-6; - @apply border-transparent hover:border-orange-700 duration-300; -} - -nav li:has(> a[aria-current="page"]) { - @apply border-b-orange-700 border-b-2; -} - -/* Shadows don't work inline for some reason */ -article { - @apply shadow-lg shadow-black; -} - -/* for innerHTML articles */ -article p { - @apply mt-5 indent-4; -} - -article h3 { - @apply mt-8 text-2xl text-orange-600; -} - -article a { - @apply text-orange-300 hover:underline; -} - -article h3 > a { - @apply text-orange-600; -} - -article ul, -article ol { - @apply mt-5 list-inside; -} - -article ul { - @apply list-disc; -} - -article ol { - @apply list-decimal; -} - -/* Code blocks */ -.hh4 { - @apply text-orange-600; -} - -.hh3 { - @apply text-blue-500; -} - -.hh13 { - @apply text-orange-800; -} - -.hh10 { - @apply text-slate-500; -} - -.hh5 { - @apply text-orange-300; -} - -/* dunno what this is yet */ -.hh18 { - color: red; -} - -.code-block { - @apply bg-black bg-opacity-50 p-3 rounded-lg shadow-lg shadow-black max-w-fit m-auto; -} - -.code-block-inner { - @apply p-2 mt-2 text-sm border-t-gray-500 overflow-x-scroll border-t-2; -} diff --git a/doordesk/tailwind.config.js b/doordesk/tailwind.config.js deleted file mode 100644 index 90cd5cf..0000000 --- a/doordesk/tailwind.config.js +++ /dev/null @@ -1,12 +0,0 @@ -/** @type {import('tailwindcss').Config} */ - module.exports = { - content: { - relative: true, - files: ["*.html", "./app/**/*.rs"], - }, - theme: { - extend: {}, - }, - plugins: [], - } -