diff --git a/Cargo.lock b/Cargo.lock index 8279a4847..11a04e663 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,17 +8,6 @@ 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.6" @@ -145,9 +134,9 @@ checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "biblatex" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e41df82f0d1c4919d946bb0c7c3d179b6071246243d308a1bdee6cfecee3bc7" +checksum = "88be3c837773ba281f5fd6674c1c82565c62726abe3d76707da6fb9d434cc392" dependencies = [ "numerals", "paste", @@ -213,28 +202,6 @@ 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", -] - -[[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 = "bytemuck" version = "1.14.0" @@ -321,9 +288,9 @@ dependencies = [ [[package]] name = "citationberg" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c857faf24e89710f105b623c174508070a9e11e056a749f251ca4c56f59ad88" +checksum = "c15a0bf8014b266d11f20451dc9202d8d26180ffd8b094d73ecbe74d821f01fb" dependencies = [ "quick-xml 0.28.2", "serde", @@ -822,9 +789,6 @@ 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" @@ -832,7 +796,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.6", + "ahash", ] [[package]] @@ -843,9 +807,9 @@ checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" [[package]] name = "hayagriva" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5af3d464a6b5ae882f15fe1da4e696fd96b77fee78ded933e0ad81d1d87cbc5" +checksum = "ce91abe74c9f37ac2997dd4a09680d1e5ce1fe3bf5bd1b10ea47f8c893e46656" dependencies = [ "biblatex", "ciborium", @@ -853,7 +817,6 @@ dependencies = [ "indexmap 2.0.2", "numerals", "paste", - "rkyv", "serde", "serde_yaml 0.9.27", "thiserror", @@ -1150,7 +1113,7 @@ version = "0.11.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c50453ec3a6555fad17b1cd1a80d16af5bc7cb35094f64e429fd46549018c6a3" dependencies = [ - "ahash 0.8.6", + "ahash", "clap", "crossbeam-channel", "crossbeam-utils", @@ -1282,7 +1245,7 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4644821e1c3d7a560fe13d842d13f587c07348a1a05d3a797152d41c90c56df2" dependencies = [ - "ahash 0.8.6", + "ahash", "dashmap", "hashbrown 0.13.2", ] @@ -1727,26 +1690,6 @@ dependencies = [ "cc", ] -[[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" @@ -1926,15 +1869,6 @@ 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 = "resvg" version = "0.36.0" @@ -1975,34 +1909,6 @@ dependencies = [ "windows-sys", ] -[[package]] -name = "rkyv" -version = "0.7.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58" -dependencies = [ - "bitvec", - "bytecheck", - "hashbrown 0.12.3", - "ptr_meta", - "rend", - "rkyv_derive", - "seahash", - "tinyvec", - "uuid", -] - -[[package]] -name = "rkyv_derive" -version = "0.7.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "roff" version = "0.2.1" @@ -2136,12 +2042,6 @@ dependencies = [ "untrusted", ] -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - [[package]] name = "self-replace" version = "1.3.7" @@ -2239,12 +2139,6 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" -[[package]] -name = "simdutf8" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" - [[package]] name = "simplecss" version = "0.2.1" @@ -3161,12 +3055,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" -[[package]] -name = "uuid" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" - [[package]] name = "valuable" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index 3edde258b..f2d280f3b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,7 +43,7 @@ ecow = { version = "0.2", features = ["serde"] } env_proxy = "0.4" flate2 = "1" fontdb = { version = "0.15", default-features = false } -hayagriva = "0.4" +hayagriva = "0.5" heck = "0.4" hypher = "0.1.4" iai = { git = "https://github.com/typst/iai", rev = "3f0f927" } diff --git a/crates/typst/src/model/bibliography.rs b/crates/typst/src/model/bibliography.rs index 5c260300a..f6e189e10 100644 --- a/crates/typst/src/model/bibliography.rs +++ b/crates/typst/src/model/bibliography.rs @@ -8,6 +8,7 @@ use std::sync::Arc; use comemo::{Prehashed, Tracked}; use ecow::{eco_format, EcoString, EcoVec}; +use hayagriva::archive::ArchivedStyle; use hayagriva::io::BibLaTeXError; use hayagriva::{ citationberg, BibliographyDriver, BibliographyRequest, CitationItem, CitationRequest, @@ -486,7 +487,7 @@ impl CslStyle { /// Load a built-in CSL style. #[comemo::memoize] pub fn from_name(name: &str) -> StrResult { - match hayagriva::archive::style_by_name(name) { + match hayagriva::archive::ArchivedStyle::by_name(name).map(ArchivedStyle::get) { Some(citationberg::Style::Independent(style)) => Ok(Self { name: Some(name.into()), style: Arc::new(Prehashed::new(style)), @@ -517,8 +518,9 @@ impl Reflect for CslStyle { #[comemo::memoize] fn input() -> CastInfo { let ty = std::iter::once(CastInfo::Type(Type::of::())); - let options = hayagriva::archive::styles() - .map(|style| CastInfo::Value(style.name.into_value(), style.full_name)); + let options = hayagriva::archive::ArchivedStyle::all().iter().map(|name| { + CastInfo::Value(name.names()[0].into_value(), name.display_name()) + }); CastInfo::Union(ty.chain(options).collect()) } diff --git a/tests/ref/meta/bibliography-full.png b/tests/ref/meta/bibliography-full.png index 391738961..2ccccf545 100644 Binary files a/tests/ref/meta/bibliography-full.png and b/tests/ref/meta/bibliography-full.png differ diff --git a/tests/ref/meta/bibliography-ordering.png b/tests/ref/meta/bibliography-ordering.png index d1be5ddf7..e221e5df6 100644 Binary files a/tests/ref/meta/bibliography-ordering.png and b/tests/ref/meta/bibliography-ordering.png differ diff --git a/tests/ref/meta/bibliography.png b/tests/ref/meta/bibliography.png index ed3dd6677..3b855fdd9 100644 Binary files a/tests/ref/meta/bibliography.png and b/tests/ref/meta/bibliography.png differ diff --git a/tests/ref/meta/cite-footnote.png b/tests/ref/meta/cite-footnote.png index bd027cc24..4fabdaad0 100644 Binary files a/tests/ref/meta/cite-footnote.png and b/tests/ref/meta/cite-footnote.png differ diff --git a/tests/ref/meta/cite-form.png b/tests/ref/meta/cite-form.png index 7394b89ef..8adeac92f 100644 Binary files a/tests/ref/meta/cite-form.png and b/tests/ref/meta/cite-form.png differ diff --git a/tests/ref/meta/cite-group.png b/tests/ref/meta/cite-group.png index ade980935..8d02a9036 100644 Binary files a/tests/ref/meta/cite-group.png and b/tests/ref/meta/cite-group.png differ diff --git a/tests/ref/text/linebreak-obj.png b/tests/ref/text/linebreak-obj.png index 665bfa001..b5c75d91f 100644 Binary files a/tests/ref/text/linebreak-obj.png and b/tests/ref/text/linebreak-obj.png differ diff --git a/tests/typ/meta/bibliography-full.typ b/tests/typ/meta/bibliography-full.typ index 0adc0b85a..f67909b4c 100644 --- a/tests/typ/meta/bibliography-full.typ +++ b/tests/typ/meta/bibliography-full.typ @@ -1,5 +1,5 @@ // Test the full bibliography. --- -#set page(paper: "a6") +#set page(paper: "a6", height: 160mm) #bibliography("/files/works.bib", full: true)