Stripping duplicate code/dependencies & bump workers-rs

This commit is contained in:
Gabriel Simmer 2024-04-04 11:23:18 +01:00
parent 38736c70a0
commit 9a23e41c01
Signed by: arch
SSH Key Fingerprint: SHA256:m3OEcdtrnBpMX+2BDGh/byv3hrCekCLzDYMdvGEKPPQ
9 changed files with 93 additions and 298 deletions

112
Cargo.lock generated
View File

@ -542,15 +542,25 @@ dependencies = [
[[package]]
name = "http"
version = "0.2.12"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
dependencies = [
"bytes",
"fnv",
"itoa",
]
[[package]]
name = "http-body"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
dependencies = [
"bytes",
"http",
]
[[package]]
name = "ident_case"
version = "1.0.1"
@ -625,9 +635,9 @@ checksum = "47f142fe24a9c9944451e8349de0a56af5f3e7226dc46f3ed4d4ecc0b85af75e"
[[package]]
name = "js-sys"
version = "0.3.63"
version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790"
checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
dependencies = [
"wasm-bindgen",
]
@ -658,9 +668,9 @@ checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
[[package]]
name = "matchit"
version = "0.4.6"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9376a4f0340565ad675d11fc1419227faf5f60cd7ac9cb2e7185a471f30af833"
checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
[[package]]
name = "maud"
@ -991,15 +1001,8 @@ dependencies = [
name = "queues"
version = "0.1.0"
dependencies = [
"comrak",
"frontmatter",
"include_dir",
"maud",
"orgize",
"rss",
"serde",
"serde_dhall",
"time",
"shared",
"worker",
]
@ -1110,6 +1113,17 @@ dependencies = [
"wasm-bindgen",
]
[[package]]
name = "serde-wasm-bindgen"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b"
dependencies = [
"js-sys",
"serde",
"wasm-bindgen",
]
[[package]]
name = "serde_derive"
version = "1.0.197"
@ -1145,6 +1159,18 @@ 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 = "sha2"
version = "0.10.8"
@ -1162,14 +1188,10 @@ version = "0.1.0"
dependencies = [
"comrak",
"frontmatter",
"include_dir",
"maud",
"orgize",
"rss",
"serde",
"serde_dhall",
"time",
"worker",
]
[[package]]
@ -1384,9 +1406,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "wasm-bindgen"
version = "0.2.86"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73"
checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@ -1394,9 +1416,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.86"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb"
checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
dependencies = [
"bumpalo",
"log",
@ -1409,9 +1431,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-futures"
version = "0.4.36"
version = "0.4.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e"
checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
dependencies = [
"cfg-if",
"js-sys",
@ -1421,9 +1443,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.86"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258"
checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@ -1431,9 +1453,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.86"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8"
checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [
"proc-macro2",
"quote",
@ -1444,15 +1466,15 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.86"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93"
checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
[[package]]
name = "wasm-streams"
version = "0.3.0"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7"
checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129"
dependencies = [
"futures-util",
"js-sys",
@ -1465,11 +1487,8 @@ dependencies = [
name = "web"
version = "0.1.0"
dependencies = [
"comrak",
"frontmatter",
"include_dir",
"maud",
"orgize",
"rss",
"serde",
"serde_dhall",
@ -1480,9 +1499,9 @@ dependencies = [
[[package]]
name = "web-sys"
version = "0.3.63"
version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2"
checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
dependencies = [
"js-sys",
"wasm-bindgen",
@ -1556,22 +1575,25 @@ checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
[[package]]
name = "worker"
version = "0.0.18"
version = "0.0.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9cd7ad167392bdd707a963356f3478844019c74fc89f6af0dfc656914b30af24"
checksum = "4731859e9e5e800fffce8fef15e5d0f7fb2f572505da2fc506560776eb4e3359"
dependencies = [
"async-trait",
"bytes",
"chrono",
"chrono-tz",
"futures-channel",
"futures-util",
"http",
"http-body",
"js-sys",
"matchit",
"pin-project",
"serde",
"serde-wasm-bindgen",
"serde-wasm-bindgen 0.6.5",
"serde_json",
"serde_urlencoded",
"tokio",
"url",
"wasm-bindgen",
@ -1591,7 +1613,7 @@ checksum = "3d4b9fe1a87b7aef252fceb4f30bf6303036a5de329c81ccad9be9c35d1fdbc7"
dependencies = [
"js-sys",
"serde",
"serde-wasm-bindgen",
"serde-wasm-bindgen 0.5.0",
"serde_json",
"thiserror",
"wasm-bindgen",
@ -1600,9 +1622,9 @@ dependencies = [
[[package]]
name = "worker-macros"
version = "0.0.10"
version = "0.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "306c6b6fc316ce129de9cc393dc614b244afb37d43d8ae7a4dccf45d6f8a5ff5"
checksum = "373e66625067ff52b7f8ddbd0da6b3e87cb7a48ecb5a6a8004e1c743e744b319"
dependencies = [
"async-trait",
"proc-macro2",
@ -1616,9 +1638,9 @@ dependencies = [
[[package]]
name = "worker-sys"
version = "0.0.10"
version = "0.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f5db3bd0e45980dbcefe567c978b4930e4526e864cd9e70482252a60229ddd7"
checksum = "018a9de530946a997143c4c662792b06c7754b17cbff1c0ecd0b9afd002cf366"
dependencies = [
"cfg-if",
"js-sys",

View File

@ -8,11 +8,11 @@
]
},
"locked": {
"lastModified": 1698166613,
"narHash": "sha256-y4rdN4flxRiROqNi1waMYIZj/Fs7L2OrszFk/1ry9vU=",
"lastModified": 1712180168,
"narHash": "sha256-sYe00cK+kKnQlVo1wUIZ5rZl9x8/r3djShUqNgfjnM4=",
"owner": "ipetkov",
"repo": "crane",
"rev": "b7db46f0f1751f7b1d1911f6be7daf568ad5bc65",
"rev": "06a9ff255c1681299a87191c2725d9d579f28b82",
"type": "github"
},
"original": {
@ -27,11 +27,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1698387704,
"narHash": "sha256-Ei9J3yyiaEXKIJPmTqb2f3DPsg/XNfQLYvMxRwYzsH8=",
"lastModified": 1712211755,
"narHash": "sha256-KIJA4OvXFDXEeu7wstFDCxqZEfjaPQIowpzNww48TUw=",
"owner": "nix-community",
"repo": "fenix",
"rev": "30701a50e292780bb1a8283f310bd456dd2d0ce5",
"rev": "39763c6e23a8423af316b85a74bad0cc5bc88d86",
"type": "github"
},
"original": {
@ -70,11 +70,11 @@
"workers-rs": "workers-rs"
},
"locked": {
"lastModified": 1712188891,
"narHash": "sha256-0uu6DNFqw+gPouVbelzvRs7/dmKywpQ0h2z3eU5in6E=",
"lastModified": 1712226020,
"narHash": "sha256-SXaBtGDwCWG74QeONSipOJYAU0iz75fJIlDMptb0bKM=",
"owner": "gmemstr",
"repo": "freight",
"rev": "22202c6e74fc92bb1392e014502a23838ae4a991",
"rev": "a3a2fd9e863622c7bc1472bcd8ef100e5fc763a0",
"type": "github"
},
"original": {
@ -86,11 +86,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1698134075,
"narHash": "sha256-foCD+nuKzfh49bIoiCBur4+Fx1nozo+4C/6k8BYk4sg=",
"lastModified": 1712122226,
"narHash": "sha256-pmgwKs8Thu1WETMqCrWUm0CkN1nmCKX3b51+EXsAZyY=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "8efd5d1e283604f75a808a20e6cde0ef313d07d4",
"rev": "08b9151ed40350725eb40b1fe96b0b86304a654b",
"type": "github"
},
"original": {
@ -126,11 +126,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1698337999,
"narHash": "sha256-UHk2hKVUN+t2v5x3u6un7FGA9Xlzs6gArs7Hi/FJXJs=",
"lastModified": 1712156296,
"narHash": "sha256-St7ZQrkrr5lmQX9wC1ZJAFxL8W7alswnyZk9d1se3Us=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "46c395d57090f2ec5784d7fcad57a130911e44f7",
"rev": "8e581ac348e223488622f4d3003cb2bd412bf27e",
"type": "github"
},
"original": {
@ -158,11 +158,11 @@
"workers-rs": {
"flake": false,
"locked": {
"lastModified": 1696192204,
"narHash": "sha256-+J+H7lQMvVzVFRGlw2I4PWCGUk4NYAvKuPumMyrwI1A=",
"lastModified": 1712083113,
"narHash": "sha256-k8F8iX7kS+Jfz22ge84P7DoL1PAM+uuB/5uhjvzvY5w=",
"owner": "cloudflare",
"repo": "workers-rs",
"rev": "1d307145d9114d3241932ed2965fb1c65e6a67a9",
"rev": "c1805b65285e4d0fa16c1496ea7d7052b44b4655",
"type": "github"
},
"original": {

View File

@ -7,16 +7,9 @@ edition = "2021"
crate-type = ["cdylib", "rlib"]
[dependencies]
worker = { version = "0.0.18", features = ["queue", "d1"] }
maud = { version = "*" }
serde_dhall = { version = "0.12.1", default-features = false }
shared = { path = "../shared" }
worker = { version = "0.0.24", features = ["queue", "d1"] }
serde = { version = "1.0.167", features = ["derive"] }
include_dir = "0.7.3"
frontmatter = "0.4.0"
comrak = { version = "0.21.0", default-features = false }
orgize = { git = "https://git.gmem.ca/arch/orgize.git", branch = "org-images", default-features = false }
rss = { version = "2.0.6" }
time = { version = "0.3.31", features = ["parsing", "formatting", "macros", "wasm-bindgen"] }
[profile.release]
lto = true

View File

@ -1,128 +0,0 @@
let Url : Type =
{ display_text : Text
, link : Text
}
let Project : Type =
{ name : Text
, description : Text
, link : Url
, languages : List Text
}
let projects : List Project =
[ { name = "GabrielSimmer.com"
, description = "Overengineered personal site with on the fly page generation and tiered caching"
, link = { display_text = "git.gmem.ca/arch/gabrielsimmer.com", link = "https://git.gmem.ca/arch/gabrielsimmer.com" }
, languages = [ "Rust" ]
}
, { name = "My infrastructure"
, description = "A mix of Terraform and Nix configurations keeping my lights on"
, link = { display_text = "git.gmem.ca/arch/inra", link = "https://git.gmem.ca/arch/infra" }
, languages = [ "Terraform", "Nix" ]
}
, { name = "Minecraft Server Invites"
, description = "Small service that generates links to Minecraft servers, whitelisting players"
, link = { display_text = "gmem/minecraft-server-invites", link = "https://sr.ht/~gmem/minecraft-server-invites/" }
, languages = [ "Go", "Svelte" ]
}
, { name = "artbybecki.com"
, description = "A website for my significant other to showcase her art work and more."
, link = { display_text = "artbybecki.com", link = "https://artbybecki.com" }
, languages = [ "Svelte", "CouchDB" ]
}
, { name = "nvidia-driver-update-tool"
, description = "Minimal application for checking for NVIDIA GPU driver updates."
, link = { display_text = "gmemstr/nvidia-driver-update-tool", link = "https://github.com/gmemstr/nvidia-driver-update-tool" }
, languages = [ "C#", ".NET" ]
}
, { name = "Platypus"
, description = "Large-scale server usage monitoring leveraging websockets."
, link = { display_text = "gmemstr/platypus", link = "https://github.com/gmemstr/platypus" }
, languages = [ "Go" ]
}
, { name = "pogo"
, description = "Self-hosted podcast content manager and RSS feed generator."
, link = { display_text = "gmemstr/pogo", link = "https://github.com/gmemstr/pogo" }
, languages = [ "Go" ]
}
, { name = "sliproad"
, description = "Tie together file storage providers in a single unified interface and API."
, link = { display_text = "gmemstr/sliproad", link = "https://github.com/gmemstr/sliproad" }
, languages = [ "Go" ]
}
, { name = "Deploy"
, description = "CircleCI mobile client."
, link = { display_text = "gmemstr/deploy-app", link = "https://github.com/gmemstr/deploy-app" }
, languages = [ "Flutter", "Dart" ]
}
, { name = "Database Janitor"
, description = "Create sanitized database dumps."
, link = { display_text = "gmemstr/database-janitor", link = "https://github.com/gmemstr/database-janitor" }
, languages = [ "PHP" ]
}
, { name = "Drupal modules"
, description = "Various Drupal modules created both for client sites and personal use."
, link = { display_text = "/u/gmem", link = "https://www.drupal.org/u/gmem" }
, languages = [ "PHP" ]
}
]
let experiments : List Project =
[ { name = "hue-webapp"
, description = "Small web frontend and proxy for interacting with Hue lighting."
, link = { display_text = "gmemstr/hue-webapp", link = "https://github.com/gmemstr/hue-webapp" }
, languages = [ "Python" ]
}
, { name = "eink-dashboard"
, description = "Lightweight eink dashboard/display using a Raspberry Pi."
, link = { display_text = "gmemstr/eink-dashboard", link = "https://github.com/gmemstr/eink-dashboard" }
, languages = [ "Python" ]
}
, { name = "dotfiles"
, description = "Configuration files for Linux installations."
, link = { display_text = "gmemstr/dotfiles", link = "https://github.com/gmemstr/dotfiles" }
, languages = [ "Shell" ]
}
, { name = "REPLNote"
, description = "Notepad with embeded Clojure REPL."
, link = { display_text = "gmemstr/replnote", link = "https://github.com/gmemstr/replnote" }
, languages = [ "Clojure" ]
}
, { name = "banana-clj"
, description = "Encode your data as the word \"banana\"."
, link = { display_text = "gmemstr/banana-clj", link = "https://github.com/gmemstr/banana-clj" }
, languages = [ "Clojure" ]
}
, { name = "whalepod"
, description = "Quicky generate Dockerfiles based on a template."
, link = { display_text = "gmemstr/whalepod", link = "https://github.com/gmemstr/whalepod" }
, languages = [ "Rust" ]
}
, { name = "gmem.ca"
, description = "Random HTML/JS/CSS experiements using Vercel functions."
, link = { display_text = "gmemstr/gmem.ca", link = "https://github.com/gmemstr/gmem.ca" }
, languages = [ "HTML", "JavaScript", "CSS" ]
}
, { name = "circleci-api-scripts"
, description = "Collection of scripts for interacting with the CircleCI APIs and collecting data."
, link = { display_text = "gmemstr/circleci-api-scripts", link = "https://github.com/gmemstr/circleci-api-scripts" }
, languages = [ "Python" ]
}
, { name = "no-swears"
, description = "Small module for removing swear words from strings."
, link = { display_text = "gmemstr/no-swears", link = "https://github.com/gmemstr/no-swears" }
, languages = [ "JavaScript" ]
}
, { name = "GTFO Terminal OCR"
, description = "Analyze terminals from the \"GTFO\" game and extract information."
, link = { display_text = "gmemstr/gtfo-terminal-ocr", link = "https://github.com/gmemstr/gtfo-terminal-ocr" }
, languages = [ "Python" ]
}
]
in
{ projects
, experiments
}

View File

@ -1,12 +1,8 @@
use posts::PostContent;
use shared::blog_post;
use worker::*;
use maud::{html, Markup, Render, DOCTYPE};
use serde::Deserialize;
use include_dir::{include_dir, Dir};
use time::{self, macros::format_description, format_description::well_known::Rfc2822};
mod posts;
#[allow(dead_code)]
#[derive(Deserialize, Debug)]
struct R2Object {
key: String,
@ -15,6 +11,7 @@ struct R2Object {
e_tag: String,
}
#[allow(dead_code)]
#[derive(Debug, Deserialize)]
struct R2Message {
account: String,
@ -29,7 +26,7 @@ async fn queue(message_batch: MessageBatch<R2Message>, env: Env, _ctx: Context)
let bucket = env.bucket("GABRIELSIMMERCOM_BUCKET")?;
let messages = message_batch.messages()?;
for message in messages {
let fname = message.body.object.key;
let fname = message.into_body().object.key;
let dir: Vec<&str> = fname.split("/").collect();
if dir[0] != "posts" {
continue
@ -39,7 +36,7 @@ async fn queue(message_batch: MessageBatch<R2Message>, env: Env, _ctx: Context)
if file.is_none() {
console_warn!("did not find a file in bucket for {}", fname)
}
let rendered = posts::blog_post(fname.clone(), file.unwrap().body().unwrap().text().await?).unwrap();
let rendered = blog_post(fname.clone(), file.unwrap().body().unwrap().text().await?).unwrap();
let statement = index.prepare("INSERT INTO posts (slug, title, html, date) VALUES (?1, ?2, ?3, ?4) ON CONFLICT(slug) DO UPDATE SET html=?3;");
let query = statement.bind(&[

View File

@ -1,69 +0,0 @@
use maud::{html, Markup, Render};
use orgize::Org;
use serde::{Serialize, Deserialize};
use std::{path::Path, ffi::OsStr};
#[derive(Debug, Serialize, Deserialize)]
pub struct PostMetadata {
pub slug: String,
pub title: String,
pub date: String,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct PostContent {
pub slug: String,
pub title: String,
pub date: String,
pub html: String,
}
impl Render for PostMetadata {
fn render(&self) -> Markup {
html! {
li { (self.date) " - " a href=(format!("/blog/{}", self.slug)) { (self.title) } }
}
}
}
// Render the actual blog post as HTML.
pub fn blog_post(fname: String, post: String) -> Result<PostContent, bool> {
// Search through /posts directory and find the post with either .md or .org extension
// If the post is not found, return 404
let ext = Path::new(&fname).extension().and_then(OsStr::to_str).unwrap();
let ext_name = format!(".{}", ext);
let slug = fname.replace("posts/", "").replace( &ext_name, "");
let mut html = "".to_owned();
let mut date = "".to_owned();
let mut title = "".to_owned();
if ext == "md" {
let (parsed, content) = frontmatter::parse_and_find_content(&post).unwrap();
let metadata = parsed.unwrap();
date = metadata["date"].as_str().unwrap().to_owned();
title = metadata["title"].as_str().unwrap().to_owned();
html = comrak::markdown_to_html(&content, &comrak::ComrakOptions::default());
} else if ext == "org" {
let mut writer = Vec::new();
let parsed = Org::parse(&post);
let keywords = parsed.keywords();
// Get date and title from keywords iterator
for keyword in keywords {
if keyword.key == "date" {
date = keyword.value.to_string();
} else if keyword.key == "title" {
title = keyword.value.to_string();
}
}
parsed.write_html(&mut writer).unwrap();
html = String::from_utf8(writer).unwrap();
}
Ok(PostContent {
slug,
title,
date,
html,
})
}

View File

@ -7,16 +7,12 @@ edition = "2021"
crate-type = ["cdylib", "rlib"]
[dependencies]
worker = { version = "0.0.18", features = ["d1"] }
maud = { version = "*" }
serde_dhall = { version = "0.12.1", default-features = false }
serde = { version = "1.0.167", features = ["derive"] }
include_dir = "0.7.3"
frontmatter = "0.4.0"
comrak = { version = "0.21.0", default-features = false }
orgize = { git = "https://git.gmem.ca/arch/orgize.git", branch = "org-images", default-features = false }
rss = { version = "2.0.6" }
time = { version = "0.3.31", features = ["parsing", "formatting", "macros", "wasm-bindgen"] }
[profile.release]
lto = true

View File

@ -8,7 +8,7 @@ crate-type = ["cdylib", "rlib"]
[dependencies]
shared = { path = "../shared" }
worker = { version = "0.0.18", features = ["d1"] }
worker = { version = "0.0.24", features = ["d1"] }
maud = { version = "*" }
serde_dhall = { version = "0.12.1", default-features = false }
serde = { version = "1.0.167", features = ["derive"] }

View File

@ -25,22 +25,6 @@ struct ProjectConfig {
experiments: Vec<Project>,
}
#[derive(Deserialize, Debug)]
struct R2Object {
key: String,
size: u64,
#[serde(rename = "eTag")]
e_tag: String,
}
#[derive(Debug, Deserialize)]
struct R2Message {
account: String,
action: String,
bucket: String,
object: R2Object,
}
static DHALL_DIR: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/src/dhall");
impl Render for Project {