Update dependencies

This commit is contained in:
Joscha 2024-10-24 21:07:59 +02:00
parent d375b3c278
commit 55b21c28e6
3 changed files with 311 additions and 242 deletions

501
Cargo.lock generated
View file

@ -11,18 +11,24 @@ dependencies = [
"gimli", "gimli",
] ]
[[package]]
name = "adler"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]] [[package]]
name = "adler2" name = "adler2"
version = "2.0.0" version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
[[package]]
name = "ahash"
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
dependencies = [
"cfg-if",
"once_cell",
"version_check",
"zerocopy",
]
[[package]] [[package]]
name = "aho-corasick" name = "aho-corasick"
version = "1.1.3" version = "1.1.3"
@ -83,9 +89,9 @@ dependencies = [
[[package]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.89" version = "1.0.91"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8"
[[package]] [[package]]
name = "approx" name = "approx"
@ -104,8 +110,7 @@ dependencies = [
"axum", "axum",
"axum-extra", "axum-extra",
"clap", "clap",
"comemo", "fontdb 0.23.0",
"fontdb 0.22.0",
"jiff", "jiff",
"maud", "maud",
"serde", "serde",
@ -236,18 +241,12 @@ dependencies = [
"addr2line", "addr2line",
"cfg-if", "cfg-if",
"libc", "libc",
"miniz_oxide 0.8.0", "miniz_oxide",
"object", "object",
"rustc-demangle", "rustc-demangle",
"windows-targets", "windows-targets",
] ]
[[package]]
name = "base64"
version = "0.21.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
[[package]] [[package]]
name = "base64" name = "base64"
version = "0.22.1" version = "0.22.1"
@ -256,9 +255,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]] [[package]]
name = "biblatex" name = "biblatex"
version = "0.9.3" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27fe7285040d0227cd8b5395e1c4783f44f0b673eca5a657f4432ae401f2b7b8" checksum = "a35a7317fcbdbef94b60d0dd0a658711a936accfce4a631fea4bf8e527eff3c2"
dependencies = [ dependencies = [
"numerals", "numerals",
"paste", "paste",
@ -306,6 +305,12 @@ dependencies = [
"serde", "serde",
] ]
[[package]]
name = "bumpalo"
version = "3.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
[[package]] [[package]]
name = "by_address" name = "by_address"
version = "1.2.1" version = "1.2.1"
@ -324,6 +329,12 @@ version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "byteorder-lite"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
[[package]] [[package]]
name = "bytes" name = "bytes"
version = "1.7.2" version = "1.7.2"
@ -392,11 +403,11 @@ dependencies = [
[[package]] [[package]]
name = "citationberg" name = "citationberg"
version = "0.3.1" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d259fe9fd78ffa05a119581d20fddb50bfba428311057b12741ffb9015123d0b" checksum = "92fea693c83bd967604be367dc1e1b4895625eabafec2eec66c51092e18e700e"
dependencies = [ dependencies = [
"quick-xml 0.31.0", "quick-xml 0.36.2",
"serde", "serde",
] ]
@ -428,7 +439,7 @@ version = "4.5.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
dependencies = [ dependencies = [
"heck 0.5.0", "heck",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn",
@ -668,7 +679,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0"
dependencies = [ dependencies = [
"crc32fast", "crc32fast",
"miniz_oxide 0.8.0", "miniz_oxide",
] ]
[[package]] [[package]]
@ -689,28 +700,14 @@ version = "0.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1fcfcd44ca6e90c921fee9fa665d530b21ef1327a4c1a6c5250ea44b776ada7" checksum = "c1fcfcd44ca6e90c921fee9fa665d530b21ef1327a4c1a6c5250ea44b776ada7"
dependencies = [ dependencies = [
"roxmltree 0.20.0", "roxmltree",
] ]
[[package]] [[package]]
name = "fontdb" name = "fontdb"
version = "0.16.2" version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3" checksum = "37be9fc20d966be438cd57a45767f73349477fb0f85ce86e000557f787298afb"
dependencies = [
"fontconfig-parser",
"log",
"memmap2",
"slotmap",
"tinyvec",
"ttf-parser 0.20.0",
]
[[package]]
name = "fontdb"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3a6f9af55fb97ad673fb7a69533eb2f967648a06fa21f8c9bb2cd6d33975716"
dependencies = [ dependencies = [
"fontconfig-parser", "fontconfig-parser",
"log", "log",
@ -720,6 +717,20 @@ dependencies = [
"ttf-parser 0.24.1", "ttf-parser 0.24.1",
] ]
[[package]]
name = "fontdb"
version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "457e789b3d1202543297a350643cf459f836cade38934e7a4cf6a39e7cde2905"
dependencies = [
"fontconfig-parser",
"log",
"memmap2",
"slotmap",
"tinyvec",
"ttf-parser 0.25.0",
]
[[package]] [[package]]
name = "form_urlencoded" name = "form_urlencoded"
version = "1.2.1" version = "1.2.1"
@ -762,16 +773,6 @@ dependencies = [
"pin-utils", "pin-utils",
] ]
[[package]]
name = "gif"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
dependencies = [
"color_quant",
"weezl",
]
[[package]] [[package]]
name = "gif" name = "gif"
version = "0.13.1" version = "0.13.1"
@ -798,6 +799,15 @@ dependencies = [
"crunchy", "crunchy",
] ]
[[package]]
name = "hashbrown"
version = "0.14.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
dependencies = [
"ahash",
]
[[package]] [[package]]
name = "hashbrown" name = "hashbrown"
version = "0.15.0" version = "0.15.0"
@ -806,9 +816,9 @@ checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
[[package]] [[package]]
name = "hayagriva" name = "hayagriva"
version = "0.5.3" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d0d20c98b77b86ce737876b2a1653e2e6abbeee84afbb39d72111091191c97a" checksum = "7a3635c2577f77499c9dc3dceeef2e64e6c146e711b1861507a0f15b20641348"
dependencies = [ dependencies = [
"biblatex", "biblatex",
"ciborium", "ciborium",
@ -825,12 +835,6 @@ dependencies = [
"url", "url",
] ]
[[package]]
name = "heck"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]] [[package]]
name = "heck" name = "heck"
version = "0.5.0" version = "0.5.0"
@ -1096,24 +1100,35 @@ checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed"
[[package]] [[package]]
name = "image" name = "image"
version = "0.24.9" version = "0.25.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" checksum = "bc144d44a31d753b02ce64093d532f55ff8dc4ebf2ffb8a63c0dda691385acae"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"byteorder", "byteorder-lite",
"color_quant", "color_quant",
"gif 0.13.1", "gif",
"jpeg-decoder",
"num-traits", "num-traits",
"png", "png",
"zune-core",
"zune-jpeg",
]
[[package]]
name = "image-webp"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f79afb8cbee2ef20f59ccd477a218c12a93943d075b492015ecb1bb81f8ee904"
dependencies = [
"byteorder-lite",
"quick-error",
] ]
[[package]] [[package]]
name = "imagesize" name = "imagesize"
version = "0.12.0" version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284" checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285"
[[package]] [[package]]
name = "indexmap" name = "indexmap"
@ -1122,7 +1137,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
dependencies = [ dependencies = [
"equivalent", "equivalent",
"hashbrown", "hashbrown 0.15.0",
"serde", "serde",
] ]
@ -1169,12 +1184,6 @@ dependencies = [
"jiff-tzdb", "jiff-tzdb",
] ]
[[package]]
name = "jpeg-decoder"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
[[package]] [[package]]
name = "kamadak-exif" name = "kamadak-exif"
version = "0.5.5" version = "0.5.5"
@ -1186,11 +1195,12 @@ dependencies = [
[[package]] [[package]]
name = "kurbo" name = "kurbo"
version = "0.9.5" version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd85a5776cd9500c2e2059c8c76c3b01528566b7fcbaf8098b55a33fc298849b" checksum = "89234b2cc610a7dd927ebde6b41dd1a5d4214cffaef4cf1fb2195d592f92518f"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
"smallvec",
] ]
[[package]] [[package]]
@ -1297,15 +1307,6 @@ version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "miniz_oxide"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
dependencies = [
"adler",
]
[[package]] [[package]]
name = "miniz_oxide" name = "miniz_oxide"
version = "0.8.0" version = "0.8.0"
@ -1328,6 +1329,12 @@ dependencies = [
"windows-sys 0.52.0", "windows-sys 0.52.0",
] ]
[[package]]
name = "multi-stash"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "685a9ac4b61f4e728e1d2c6a7844609c16527aeb5e6c865915c08e619c16410f"
[[package]] [[package]]
name = "mutate_once" name = "mutate_once"
version = "0.1.1" version = "0.1.1"
@ -1350,6 +1357,17 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
[[package]]
name = "num-derive"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]] [[package]]
name = "num-integer" name = "num-integer"
version = "0.1.46" version = "0.1.46"
@ -1444,11 +1462,11 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
[[package]] [[package]]
name = "pdf-writer" name = "pdf-writer"
version = "0.9.3" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24e9127455063c816e661caac9ecd9043ad2871f55be93014e6838a8ced2332b" checksum = "be17f48d7fbbd22c6efedb58af5d409aa578e407f40b29a0bcb4e66ed84c5c98"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 2.6.0",
"itoa", "itoa",
"memchr", "memchr",
"ryu", "ryu",
@ -1526,7 +1544,7 @@ version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016"
dependencies = [ dependencies = [
"base64 0.22.1", "base64",
"indexmap", "indexmap",
"quick-xml 0.32.0", "quick-xml 0.32.0",
"serde", "serde",
@ -1543,7 +1561,7 @@ dependencies = [
"crc32fast", "crc32fast",
"fdeflate", "fdeflate",
"flate2", "flate2",
"miniz_oxide 0.8.0", "miniz_oxide",
] ]
[[package]] [[package]]
@ -1627,14 +1645,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edecfcd5d755a5e5d98e24cf43113e7cdaec5a070edd0f6b250c03a573da30fa" checksum = "edecfcd5d755a5e5d98e24cf43113e7cdaec5a070edd0f6b250c03a573da30fa"
[[package]] [[package]]
name = "quick-xml" name = "quick-error"
version = "0.31.0" version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
dependencies = [
"memchr",
"serde",
]
[[package]] [[package]]
name = "quick-xml" name = "quick-xml"
@ -1645,6 +1659,16 @@ dependencies = [
"memchr", "memchr",
] ]
[[package]]
name = "quick-xml"
version = "0.36.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe"
dependencies = [
"memchr",
"serde",
]
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.37" version = "1.0.37"
@ -1739,19 +1763,19 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
[[package]] [[package]]
name = "resvg" name = "resvg"
version = "0.38.0" version = "0.43.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c34501046959e06470ba62a2dc7f31c15f94ac250d842a45f9e012f4ee40c1e" checksum = "c7314563c59c7ce31c18e23ad3dd092c37b928a0fa4e1c0a1a6504351ab411d1"
dependencies = [ dependencies = [
"gif 0.12.0", "gif",
"jpeg-decoder", "image-webp",
"log", "log",
"pico-args", "pico-args",
"png",
"rgb", "rgb",
"svgtypes", "svgtypes",
"tiny-skia", "tiny-skia",
"usvg", "usvg",
"zune-jpeg",
] ]
[[package]] [[package]]
@ -1763,18 +1787,22 @@ dependencies = [
"bytemuck", "bytemuck",
] ]
[[package]]
name = "roxmltree"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
[[package]] [[package]]
name = "roxmltree" name = "roxmltree"
version = "0.20.0" version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97"
[[package]]
name = "rust_decimal"
version = "1.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555"
dependencies = [
"arrayvec",
"num-traits",
]
[[package]] [[package]]
name = "rustc-demangle" name = "rustc-demangle"
version = "0.1.24" version = "0.1.24"
@ -1789,14 +1817,16 @@ checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6"
[[package]] [[package]]
name = "rustybuzz" name = "rustybuzz"
version = "0.12.1" version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c" checksum = "c85d1ccd519e61834798eb52c4e886e8c2d7d698dd3d6ce0b1b47eb8557f1181"
dependencies = [ dependencies = [
"bitflags 2.6.0", "bitflags 2.6.0",
"bytemuck", "bytemuck",
"core_maths",
"log",
"smallvec", "smallvec",
"ttf-parser 0.20.0", "ttf-parser 0.24.1",
"unicode-bidi-mirroring", "unicode-bidi-mirroring",
"unicode-ccc", "unicode-ccc",
"unicode-properties", "unicode-properties",
@ -1826,18 +1856,18 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.210" version = "1.0.213"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" checksum = "3ea7893ff5e2466df8d720bb615088341b295f849602c6956047f8f80f0e9bc1"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.210" version = "1.0.213"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -2014,6 +2044,17 @@ dependencies = [
"float-cmp", "float-cmp",
] ]
[[package]]
name = "string-interner"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c6a0d765f5807e98a091107bae0a56ea3799f66a5de47b2c84c94a39c09974e"
dependencies = [
"cfg-if",
"hashbrown 0.14.5",
"serde",
]
[[package]] [[package]]
name = "strsim" name = "strsim"
version = "0.11.1" version = "0.11.1"
@ -2035,7 +2076,7 @@ version = "0.26.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
dependencies = [ dependencies = [
"heck 0.5.0", "heck",
"proc-macro2", "proc-macro2",
"quote", "quote",
"rustversion", "rustversion",
@ -2044,40 +2085,45 @@ dependencies = [
[[package]] [[package]]
name = "subsetter" name = "subsetter"
version = "0.1.1" version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09eab8a83bff89ba2200bd4c59be45c7c787f988431b936099a5a266c957f2f9" checksum = "74f98178f34057d4d4de93d68104007c6dea4dfac930204a69ab4622daefa648"
[[package]] [[package]]
name = "svg2pdf" name = "svg2pdf"
version = "0.10.0" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba36b330062be8497fd96597227a757b621b86c4d24d164b06e4522b52b3693e" checksum = "5014c9dadcf318fb7ef8c16438e95abcc9de1ae24d60d5bccc64c55100c50364"
dependencies = [ dependencies = [
"fontdb 0.21.0",
"image", "image",
"miniz_oxide 0.7.4", "log",
"miniz_oxide",
"once_cell", "once_cell",
"pdf-writer", "pdf-writer",
"resvg", "resvg",
"siphasher 1.0.1",
"subsetter",
"tiny-skia", "tiny-skia",
"ttf-parser 0.24.1",
"usvg", "usvg",
] ]
[[package]] [[package]]
name = "svgtypes" name = "svgtypes"
version = "0.13.0" version = "0.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e44e288cd960318917cbd540340968b90becc8bc81f171345d706e7a89d9d70" checksum = "794de53cc48eaabeed0ab6a3404a65f40b3e38c067e4435883a65d2aa4ca000e"
dependencies = [ dependencies = [
"kurbo", "kurbo",
"siphasher 0.3.11", "siphasher 1.0.1",
] ]
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.79" version = "2.0.85"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -2129,6 +2175,12 @@ dependencies = [
"yaml-rust", "yaml-rust",
] ]
[[package]]
name = "thin-vec"
version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a38c90d48152c236a3ab59271da4f4ae63d678c5d7ad6b7714d7cb9760be5e4b"
[[package]] [[package]]
name = "thiserror" name = "thiserror"
version = "1.0.64" version = "1.0.64"
@ -2234,9 +2286,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]] [[package]]
name = "tokio" name = "tokio"
version = "1.40.0" version = "1.41.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb"
dependencies = [ dependencies = [
"backtrace", "backtrace",
"bytes", "bytes",
@ -2343,12 +2395,6 @@ dependencies = [
"once_cell", "once_cell",
] ]
[[package]]
name = "ttf-parser"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4"
[[package]] [[package]]
name = "ttf-parser" name = "ttf-parser"
version = "0.24.1" version = "0.24.1"
@ -2359,10 +2405,19 @@ dependencies = [
] ]
[[package]] [[package]]
name = "two-face" name = "ttf-parser"
version = "0.3.0" version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37bed2135b2459c7eefba72c906d374697eb15949c205f2f124e3636a46b5eeb" checksum = "5902c5d130972a0000f60860bfbf46f7ca3db5391eddfedd1b8728bd9dc96c0e"
dependencies = [
"core_maths",
]
[[package]]
name = "two-face"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ccd4843ea031c609fe9c16cae00e9657bad8a9f735a3cc2e420955d802b4268"
dependencies = [ dependencies = [
"once_cell", "once_cell",
"serde", "serde",
@ -2377,18 +2432,21 @@ checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
[[package]] [[package]]
name = "typst" name = "typst"
version = "0.11.1" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12492297d20937494f0143ae50ef339e5fd3d927b4096af1c52fe73fb9c5fa9a" checksum = "87286a6b7e417426c425f35c42fb3d86e54ee99485b7eeb3662f4aeb569151c6"
dependencies = [ dependencies = [
"arrayvec",
"az", "az",
"bitflags 2.6.0", "bitflags 2.6.0",
"bumpalo",
"chinese-number", "chinese-number",
"ciborium", "ciborium",
"comemo", "comemo",
"csv", "csv",
"ecow", "ecow",
"fontdb 0.16.2", "flate2",
"fontdb 0.21.0",
"hayagriva", "hayagriva",
"hypher", "hypher",
"icu_properties", "icu_properties",
@ -2411,7 +2469,8 @@ dependencies = [
"qcms", "qcms",
"rayon", "rayon",
"regex", "regex",
"roxmltree 0.19.0", "roxmltree",
"rust_decimal",
"rustybuzz", "rustybuzz",
"serde", "serde",
"serde_json", "serde_json",
@ -2422,34 +2481,37 @@ dependencies = [
"syntect", "syntect",
"time", "time",
"toml", "toml",
"ttf-parser 0.20.0", "ttf-parser 0.24.1",
"two-face", "two-face",
"typed-arena", "typed-arena",
"typst-assets", "typst-assets",
"typst-macros", "typst-macros",
"typst-syntax", "typst-syntax",
"typst-timing", "typst-timing",
"typst-utils",
"unicode-bidi", "unicode-bidi",
"unicode-math-class", "unicode-math-class",
"unicode-script", "unicode-script",
"unicode-segmentation", "unicode-segmentation",
"unscanny",
"usvg", "usvg",
"wasmi", "wasmi",
"xmlwriter",
] ]
[[package]] [[package]]
name = "typst-assets" name = "typst-assets"
version = "0.11.1" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b3061f8d268e8eec7481c9ab24540455cb4912983c49aae38fa6e8bf8ef4d9c" checksum = "4fe00da1b24da2c4a7da532fc33d0c3bd43a902ca4c408ee2c36eabe70f2f4ba"
[[package]] [[package]]
name = "typst-macros" name = "typst-macros"
version = "0.11.1" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5a0fdfd46b4920b0f8e4215e5b8438c737e8bc3498a681ea59b0130228363fc" checksum = "17b8b94b63e868e969e372929d6d3efb0d5f8cedad95a4f3aa460959f4544e0d"
dependencies = [ dependencies = [
"heck 0.4.1", "heck",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn",
@ -2457,40 +2519,43 @@ dependencies = [
[[package]] [[package]]
name = "typst-pdf" name = "typst-pdf"
version = "0.11.1" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54f743b64330e576d31b2108626490ae1fbd7fb4bb28307536ceff3227a4e0d5" checksum = "f8734aa2909d388486f58aba306711c6b916712bf09e11db05ca21ff5d712766"
dependencies = [ dependencies = [
"base64 0.22.1", "arrayvec",
"base64",
"bytemuck", "bytemuck",
"comemo", "comemo",
"ecow", "ecow",
"image", "image",
"miniz_oxide 0.7.4", "indexmap",
"miniz_oxide",
"once_cell", "once_cell",
"pdf-writer", "pdf-writer",
"serde",
"subsetter", "subsetter",
"svg2pdf", "svg2pdf",
"ttf-parser 0.20.0", "ttf-parser 0.24.1",
"typst", "typst",
"typst-assets", "typst-assets",
"typst-macros", "typst-macros",
"typst-timing", "typst-timing",
"unicode-properties",
"unscanny", "unscanny",
"xmp-writer", "xmp-writer",
] ]
[[package]] [[package]]
name = "typst-syntax" name = "typst-syntax"
version = "0.11.1" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3db69f2f41613b1ff6edbec44fd7dc524137f099ee36c46f560cedeaadb40c4" checksum = "05b7be8b6ed6b2cb39ca495947d548a28d7db0ba244008e44c5a759120327693"
dependencies = [ dependencies = [
"comemo",
"ecow", "ecow",
"once_cell", "once_cell",
"serde", "serde",
"toml",
"typst-utils",
"unicode-ident", "unicode-ident",
"unicode-math-class", "unicode-math-class",
"unicode-script", "unicode-script",
@ -2500,9 +2565,9 @@ dependencies = [
[[package]] [[package]]
name = "typst-timing" name = "typst-timing"
version = "0.11.1" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b58e17192bcacb2a39aace6d3eece70f008b2949ce384ac501a58357fafee67" checksum = "175e7755eca10fe7d5a37a54cff50fbdf1a1becd55f35330ab783f5317c9eb96"
dependencies = [ dependencies = [
"parking_lot", "parking_lot",
"serde", "serde",
@ -2510,6 +2575,19 @@ dependencies = [
"typst-syntax", "typst-syntax",
] ]
[[package]]
name = "typst-utils"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f0305443ed97f0b658471487228f86bf835705e7525fbdcc671cebd864f7a40"
dependencies = [
"once_cell",
"portable-atomic",
"rayon",
"siphasher 1.0.1",
"thin-vec",
]
[[package]] [[package]]
name = "unic-langid" name = "unic-langid"
version = "0.9.5" version = "0.9.5"
@ -2537,15 +2615,15 @@ checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893"
[[package]] [[package]]
name = "unicode-bidi-mirroring" name = "unicode-bidi-mirroring"
version = "0.1.0" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694" checksum = "64af057ad7466495ca113126be61838d8af947f41d93a949980b2389a118082f"
[[package]] [[package]]
name = "unicode-ccc" name = "unicode-ccc"
version = "0.1.2" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1" checksum = "260bc6647b3893a9a90668360803a15f96b85a5257b1c3a0c3daf6ae2496de42"
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
@ -2618,62 +2696,29 @@ dependencies = [
[[package]] [[package]]
name = "usvg" name = "usvg"
version = "0.38.0" version = "0.43.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "377f62b4a3c173de8654c1aa80ab1dac1154e6f13a779a9943e53780120d1625" checksum = "6803057b5cbb426e9fb8ce2216f3a9b4ca1dd2c705ba3cbebc13006e437735fd"
dependencies = [
"base64 0.21.7",
"log",
"pico-args",
"usvg-parser",
"usvg-text-layout",
"usvg-tree",
"xmlwriter",
]
[[package]]
name = "usvg-parser"
version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "351a05e6f2023d6b4e946f734240a3927aefdcf930d7d42587a2c8a8869814b0"
dependencies = [ dependencies = [
"base64",
"data-url", "data-url",
"flate2", "flate2",
"fontdb 0.21.0",
"imagesize", "imagesize",
"kurbo", "kurbo",
"log", "log",
"roxmltree 0.19.0", "pico-args",
"simplecss", "roxmltree",
"siphasher 0.3.11",
"svgtypes",
"usvg-tree",
]
[[package]]
name = "usvg-text-layout"
version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c41888b9d5cf431fe852eaf9d047bbde83251b98f1749c2f08b1071e6db46e2"
dependencies = [
"fontdb 0.16.2",
"kurbo",
"log",
"rustybuzz", "rustybuzz",
"unicode-bidi", "simplecss",
"unicode-script", "siphasher 1.0.1",
"unicode-vo",
"usvg-tree",
]
[[package]]
name = "usvg-tree"
version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18863e0404ed153d6e56362c5b1146db9f4f262a3244e3cf2dbe7d8a85909f05"
dependencies = [
"strict-num", "strict-num",
"svgtypes", "svgtypes",
"tiny-skia-path", "tiny-skia-path",
"unicode-bidi",
"unicode-script",
"unicode-vo",
"xmlwriter",
] ]
[[package]] [[package]]
@ -2712,28 +2757,37 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]] [[package]]
name = "wasmi" name = "wasmi"
version = "0.31.2" version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a8281d1d660cdf54c76a3efa9ddd0c270cada1383a995db3ccb43d166456c7" checksum = "dbaac6e702fa7b52258e5ac90d6e20a40afb37a1fbe7c645d0903ee42c5f85f4"
dependencies = [ dependencies = [
"arrayvec",
"multi-stash",
"num-derive",
"num-traits",
"smallvec", "smallvec",
"spin", "spin",
"wasmi_arena", "wasmi_collections",
"wasmi_core", "wasmi_core",
"wasmparser-nostd", "wasmparser-nostd",
] ]
[[package]] [[package]]
name = "wasmi_arena" name = "wasmi_collections"
version = "0.4.1" version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "104a7f73be44570cac297b3035d76b169d6599637631cf37a1703326a0727073" checksum = "8ff59e30e550a509cc689ec638e5042be4d78ec9f6dd8a71fd02ee28776a74fd"
dependencies = [
"ahash",
"hashbrown 0.14.5",
"string-interner",
]
[[package]] [[package]]
name = "wasmi_core" name = "wasmi_core"
version = "0.13.0" version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcf1a7db34bff95b85c261002720c00c3a6168256dcb93041d3fa2054d19856a" checksum = "13e10c674add0f92f47bf8ad57c55ee3ac1762a0d9baf07535e27e22b758a916"
dependencies = [ dependencies = [
"downcast-rs", "downcast-rs",
"libm", "libm",
@ -2870,9 +2924,9 @@ checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9"
[[package]] [[package]]
name = "xmp-writer" name = "xmp-writer"
version = "0.2.0" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4543ba138f64a94b19e1e9c66c165bca7e03d470e1c066cb76ea279d9d0e1989" checksum = "8254499146a4fd0c86e3e99cf4a9f468f595808fb49ff8f3e495f2b117bf4ebc"
[[package]] [[package]]
name = "yaml-rust" name = "yaml-rust"
@ -2983,3 +3037,18 @@ dependencies = [
"quote", "quote",
"syn", "syn",
] ]
[[package]]
name = "zune-core"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a"
[[package]]
name = "zune-jpeg"
version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16099418600b4d8f028622f73ff6e3deaabdff330fb9a2a131dea781ee8b0768"
dependencies = [
"zune-core",
]

View file

@ -4,15 +4,14 @@ version = "0.0.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
anyhow = "1.0.89" anyhow = "1.0.91"
axum = "0.7.7" axum = "0.7.7"
axum-extra = { version = "0.9.4", features = ["form"] } axum-extra = { version = "0.9.4", features = ["form"] }
clap = { version = "4.5.20", features = ["derive", "deprecated"] } clap = { version = "4.5.20", features = ["derive", "deprecated"] }
comemo = "0.4.0" fontdb = "0.23.0"
fontdb = "0.22.0"
jiff = "0.1.13" jiff = "0.1.13"
maud = { version = "0.26.0", features = ["axum"] } maud = { version = "0.26.0", features = ["axum"] }
serde = { version = "1.0.210", features = ["derive"] } serde = { version = "1.0.213", features = ["derive"] }
tokio = { version = "1.40.0", features = ["full"] } tokio = { version = "1.41.0", features = ["full"] }
typst = "0.11.1" typst = "0.12.0"
typst-pdf = "0.11.1" typst-pdf = "0.12.0"

View file

@ -1,15 +1,14 @@
use std::{fs, path::PathBuf, sync::OnceLock}; use std::{fs, path::PathBuf, sync::OnceLock};
use comemo::Prehashed;
use typst::{ use typst::{
diag::{FileError, FileResult, SourceResult}, diag::{FileError, FileResult, SourceResult},
eval::Tracer, foundations::{Bytes, Datetime},
foundations::{Bytes, Datetime, Smart},
model::Document,
syntax::{FileId, Source}, syntax::{FileId, Source},
text::{Font, FontBook, FontInfo}, text::{Font, FontBook, FontInfo},
utils::LazyHash,
Library, World, Library, World,
}; };
use typst_pdf::PdfOptions;
const LOGO: &str = include_str!("../kit_logo.svg"); const LOGO: &str = include_str!("../kit_logo.svg");
const LOGO_NAME: &str = "kit_logo.svg"; const LOGO_NAME: &str = "kit_logo.svg";
@ -202,8 +201,8 @@ fn load_system_fonts() -> (FontBook, Vec<FontSlot>) {
} }
struct DummyWorld { struct DummyWorld {
library: Prehashed<Library>, library: LazyHash<Library>,
book: Prehashed<FontBook>, book: LazyHash<FontBook>,
main: Source, main: Source,
fonts: Vec<FontSlot>, fonts: Vec<FontSlot>,
} }
@ -212,8 +211,8 @@ impl DummyWorld {
fn new(main: String) -> Self { fn new(main: String) -> Self {
let (book, fonts) = load_system_fonts(); let (book, fonts) = load_system_fonts();
Self { Self {
library: Prehashed::new(Library::builder().build()), library: LazyHash::new(Library::builder().build()),
book: Prehashed::new(book), book: LazyHash::new(book),
main: Source::detached(main), main: Source::detached(main),
fonts, fonts,
} }
@ -221,19 +220,23 @@ impl DummyWorld {
} }
impl World for DummyWorld { impl World for DummyWorld {
fn library(&self) -> &Prehashed<Library> { fn library(&self) -> &LazyHash<Library> {
&self.library &self.library
} }
fn book(&self) -> &Prehashed<FontBook> { fn book(&self) -> &LazyHash<FontBook> {
&self.book &self.book
} }
fn main(&self) -> Source { fn main(&self) -> FileId {
self.main.clone() self.main.id()
} }
fn source(&self, id: FileId) -> FileResult<Source> { fn source(&self, id: FileId) -> FileResult<Source> {
if id == self.main.id() {
return Ok(self.main.clone());
}
let path = id.vpath().as_rootless_path(); let path = id.vpath().as_rootless_path();
match path.to_string_lossy().as_ref() { match path.to_string_lossy().as_ref() {
TEMPLATE_NAME => Ok(Source::new(id, TEMPLATE.to_string())), TEMPLATE_NAME => Ok(Source::new(id, TEMPLATE.to_string())),
@ -258,15 +261,13 @@ impl World for DummyWorld {
} }
} }
fn compile_timesheet(ts: Timesheet) -> SourceResult<Document> { fn render_pdf(ts: Timesheet) -> SourceResult<Vec<u8>> {
let world = DummyWorld::new(fmt_timesheet(ts)); let world = DummyWorld::new(fmt_timesheet(ts));
let mut tracer = Tracer::new(); let document = typst::compile(&world).output?;
typst::compile(&world, &mut tracer) let options = PdfOptions::default();
typst_pdf::pdf(&document, &options)
} }
pub fn render(ts: Timesheet) -> Result<Vec<u8>, Vec<String>> { pub fn render(ts: Timesheet) -> Result<Vec<u8>, Vec<String>> {
let document = compile_timesheet(ts) render_pdf(ts).map_err(|es| es.iter().map(|e| e.message.to_string()).collect::<Vec<_>>())
.map_err(|es| es.iter().map(|e| e.message.to_string()).collect::<Vec<_>>())?;
Ok(typst_pdf::pdf(&document, Smart::Auto, None))
} }