From f6406ed901352ee0bd93359fb1ed6d32bcc927b5 Mon Sep 17 00:00:00 2001 From: Martin Haug Date: Wed, 2 Oct 2024 17:53:23 +0200 Subject: [PATCH] Update Hayagriva (#5088) --- Cargo.lock | 34 +++++++-------- Cargo.toml | 2 +- crates/typst/src/model/bibliography.rs | 44 ++++++++++++++++---- tests/ref/bibliography-before-content.png | Bin 17138 -> 17109 bytes tests/ref/cite-group.png | Bin 5464 -> 4745 bytes tests/ref/cite-grouping-and-ordering.png | Bin 1278 -> 841 bytes tests/ref/show-text-citation-smartquote.png | Bin 489 -> 403 bytes tests/suite/model/cite.typ | 4 +- tests/suite/styling/show-text.typ | 2 +- 9 files changed, 56 insertions(+), 30 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e75a3bb9..59b824d1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -149,9 +149,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "biblatex" -version = "0.9.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27fe7285040d0227cd8b5395e1c4783f44f0b673eca5a657f4432ae401f2b7b8" +checksum = "a35a7317fcbdbef94b60d0dd0a658711a936accfce4a631fea4bf8e527eff3c2" dependencies = [ "numerals", "paste", @@ -317,11 +317,11 @@ dependencies = [ [[package]] name = "citationberg" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d259fe9fd78ffa05a119581d20fddb50bfba428311057b12741ffb9015123d0b" +checksum = "92fea693c83bd967604be367dc1e1b4895625eabafec2eec66c51092e18e700e" dependencies = [ - "quick-xml 0.31.0", + "quick-xml 0.36.2", "serde", ] @@ -866,9 +866,9 @@ dependencies = [ [[package]] name = "hayagriva" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d0d20c98b77b86ce737876b2a1653e2e6abbeee84afbb39d72111091191c97a" +checksum = "c9e1ae4b9c0537119755702dfb6f838bf6ff5976ddc84501630783f0d7b5ce5e" dependencies = [ "biblatex", "ciborium", @@ -1861,16 +1861,6 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" -[[package]] -name = "quick-xml" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" -dependencies = [ - "memchr", - "serde", -] - [[package]] name = "quick-xml" version = "0.32.0" @@ -1880,6 +1870,16 @@ dependencies = [ "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]] name = "quote" version = "1.0.37" diff --git a/Cargo.toml b/Cargo.toml index d5393685..01030062 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -51,7 +51,7 @@ env_proxy = "0.4" flate2 = "1" fontdb = { version = "0.21", default-features = false } fs_extra = "1.3" -hayagriva = "0.5.3" +hayagriva = "0.6.0" heck = "0.5" hypher = "0.1.4" icu_properties = { version = "1.4", features = ["serde"] } diff --git a/crates/typst/src/model/bibliography.rs b/crates/typst/src/model/bibliography.rs index d6b81a20..ebc2c003 100644 --- a/crates/typst/src/model/bibliography.rs +++ b/crates/typst/src/model/bibliography.rs @@ -779,8 +779,11 @@ impl<'a> Generator<'a> { let content = if info.subinfos.iter().all(|sub| sub.hidden) { Content::empty() } else { - let mut content = - renderer.display_elem_children(&citation.citation, &mut None)?; + let mut content = renderer.display_elem_children( + &citation.citation, + &mut None, + true, + )?; if info.footnote { content = FootnoteElem::with_content(content).pack(); @@ -835,7 +838,8 @@ impl<'a> Generator<'a> { .first_field .as_ref() .map(|elem| { - let mut content = renderer.display_elem_child(elem, &mut None)?; + let mut content = + renderer.display_elem_child(elem, &mut None, false)?; if let Some(location) = first_occurrences.get(item.key.as_str()) { let dest = Destination::Location(*location); content = content.linked(dest); @@ -846,7 +850,7 @@ impl<'a> Generator<'a> { // Render the main reference content. let mut reference = - renderer.display_elem_children(&item.content, &mut prefix)?; + renderer.display_elem_children(&item.content, &mut prefix, false)?; // Attach a backlink to either the prefix or the reference so that // we can link to the bibliography entry. @@ -876,16 +880,24 @@ impl ElemRenderer<'_> { /// /// The `prefix` can be a separate content storage where `left-margin` /// elements will be accumulated into. + /// + /// `is_citation` dictates whether whitespace at the start of the citation + /// will be eliminated. Some CSL styles yield whitespace at the start of + /// their citations, which should instead be handled by Typst. fn display_elem_children( &self, elems: &hayagriva::ElemChildren, prefix: &mut Option, + is_citation: bool, ) -> StrResult { Ok(Content::sequence( elems .0 .iter() - .map(|elem| self.display_elem_child(elem, prefix)) + .enumerate() + .map(|(i, elem)| { + self.display_elem_child(elem, prefix, is_citation && i == 0) + }) .collect::>>()?, )) } @@ -895,9 +907,12 @@ impl ElemRenderer<'_> { &self, elem: &hayagriva::ElemChild, prefix: &mut Option, + trim_start: bool, ) -> StrResult { Ok(match elem { - hayagriva::ElemChild::Text(formatted) => self.display_formatted(formatted), + hayagriva::ElemChild::Text(formatted) => { + self.display_formatted(formatted, trim_start) + } hayagriva::ElemChild::Elem(elem) => self.display_elem(elem, prefix)?, hayagriva::ElemChild::Markup(markup) => self.display_math(markup), hayagriva::ElemChild::Link { text, url } => self.display_link(text, url)?, @@ -921,6 +936,7 @@ impl ElemRenderer<'_> { let mut content = self.display_elem_children( &elem.children, if block_level { &mut suf_prefix } else { prefix }, + false, )?; if let Some(prefix) = suf_prefix { @@ -976,7 +992,7 @@ impl ElemRenderer<'_> { /// Display a link. fn display_link(&self, text: &hayagriva::Formatted, url: &str) -> StrResult { let dest = Destination::Url(Url::new(url)?); - Ok(LinkElem::new(dest.into(), self.display_formatted(text)) + Ok(LinkElem::new(dest.into(), self.display_formatted(text, false)) .pack() .spanned(self.span)) } @@ -988,8 +1004,18 @@ impl ElemRenderer<'_> { } /// Display formatted hayagriva text as content. - fn display_formatted(&self, formatted: &hayagriva::Formatted) -> Content { - let content = TextElem::packed(formatted.text.as_str()).spanned(self.span); + fn display_formatted( + &self, + formatted: &hayagriva::Formatted, + trim_start: bool, + ) -> Content { + let formatted_text = if trim_start { + formatted.text.trim_start() + } else { + formatted.text.as_str() + }; + + let content = TextElem::packed(formatted_text).spanned(self.span); apply_formatting(content, &formatted.formatting) } } diff --git a/tests/ref/bibliography-before-content.png b/tests/ref/bibliography-before-content.png index 9a473e546e5782912d7eb54cfc040e6e5518e48a..ea5ece267fce5eafe8071f4f311d1492416457bc 100644 GIT binary patch delta 14006 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 J>LpBq{})WVZutNJ delta 14035 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 KYF4X1jrku59b3f! diff --git a/tests/ref/cite-grouping-and-ordering.png b/tests/ref/cite-grouping-and-ordering.png index b292ab4ab324b121053aa2823f9deb1aa9b39123..8dea1b533992c0133aafa2d89d6e75a0bd0264fc 100644 GIT binary patch delta 831 zcmV-F1Hkgwv~>Fw$1>FDU_=I8C<;o;uj<=x-s z+}`Hf+~V5Y<>&&(Paj)sPYgN2QPgNK8IgMfmHe}Rd1cz}0!e06t! zc6WPpb$M}fdvS7hZg6;NY;4 zeSW-iW`Djj=gu6E$z(DqI0rNkCe_gcysWtf_?2dG8pH`I2^KdZ0~FKm@vJb>_rPnP z1s1h-764n_H7sygv}zIc9Y~Zx5XTRs{?RLhPi;0I1AZagMLXV0TC6zCxE8_-A9^f3 zzeNIm@nIYZh4nbr6c)Bla$)m}-7AFgS%+x8k$)~6*G$DA9^?0L=2{gO#;vDuwuBBC zqz}iNOeQ0Pmd&tm-@fmy1z>1K_ga`kCz2!%FYXAd#AlBWB7wN*P z--{3}50ZqLyxqNg6;P^#Z9-J^se1J*tS0jZxoytmiSBYWaMYbAQzUWysE!dG4k#c( z)Hod&4P4j-yvj8Afg%9nERRMW5SIgZhK;`t$ncVUd}XqK=@Xu7M?j!%&!+$Y002ov JPDHLkV1l}=$aDYz delta 1271 zcmV)hJ zu#=UYnVX}RnW2AyiItb1dVGYmw!W8_mt|*f?d|R4gwu0K}o&6y>4)L zq^7QfhK_xIhp@7`hK7c%ueYbEv6`Bio12?OMMX$TQkIyYprD|fo~CwocK!YRr>Cc# zo}#3sscdd`Xlin)tFuc>OHoo-kdTl^M@N;Fm9Vg|wz$A;Z+EY;xwp8yo}Z(_!^flgNfDF+H`e!b$5Srba;-Blg`i8SXp1KuCz{2 zSklzoczS|oXl`q4a*mLgU0-L$$k2?AmWhj#jgOaUYjdNetu{D7&Cl1YuC`iSWSpFw zl9G}>KuFu&<%*1y)z{x)V{1Gf`YQLvc$y1Wo2bn zR#xxt@7~_tb8~Z@o}`pX? z^78Vxx3|sB&EVkR^YivnQ&;!*`R?!YrRixL0Dk}iRY^oaRCwC$mDf`fQ5ePdWJw}1 zCW0b_B2|T`*n982_uhN&y%+4gS5PT7ItdVgkdQ*|Kjq%N3$y#;u#U6i40~SA{mz`Z zznS~+T~3!SUAq2-Y#CA1dQ6)x1$VFZq}FoaAe;Ln#EV|*{>p-QTZmfs!45XpyT6DY zmw(_@!A0M6V8IL^IfWMk-f#tjoX-9@dYH(dJ7>p6Y$=Q&D{T_@r%fWW*@nc72VECF}_$fG6xZ+L6!ADjqpBmNyBDmrS z17A7~XAK2EXe%Humli_x5*U^$sC#PCO31g;70U@}4U0io2uLX*LO{GvIquiFvwwsv znlqb_;-bjI7^$#i)oNM@o)8MfMTE?oD}>|5M!1gaXEpPdA5!q>v2+;9eGdv&a#5NK z&sV#szkJ2!(NnqdlY(ErCKWQqa4MALU<;(uB?T@wTOdQS*j#bBQ1se67g&&A$rgxX z3Y+Wh-4{J>V7b1J|4S9Tk7_^n8gLQPjEj#=KvM&N2H{}sN;KlKPa@L-ynW{fqO}EM zxCKB;qvl|?t9y4Q@Rp4LGM8!!<|p&~;?0}Z@axttn%IL$Q5CR-pM hO7xAYOP8)c>o=vqw#4QGDjom;002ovPDHLkV1kW3u>Al4 diff --git a/tests/ref/show-text-citation-smartquote.png b/tests/ref/show-text-citation-smartquote.png index 941b4b05a72660dd497e0d4b160e35a5582a7e10..604ecc24f410599942a0ab653eda730d62dcf850 100644 GIT binary patch delta 376 zcmV-;0f+wS1Cs-gB!9Y4OjJex|Nr;*`TP6)-QVZ#@AJ30!SL|%e}RdYnW02RPKu0_ z@9**M?(o*v+tt?Ec6WPpb$NAnf6UI-wz$Cj{QN^hL!F(SmzS55m7Q^Odz6)#?CtSN zOjMzxtHZ_3l$M^@+TvPVWXjCc)79O6fQXfspQ)>}+T7$|Vt;Da+2NU)nTd&sMn*>d z{{E7am!qVpyS>GrprA-dNS2nC`uh4xN=o4vhS#&{h&i197#VU0 zL*{TnYyCzd+u;nm)nMuib-H|EES4)J1%^7GdVR$dJ{%$D@dOV0UHm}qp4_SsBGDgl WHVj{_s+r9I0000ClM) delta 463 zcmV;=0WkiP1L*^hB!A>kOjJex|Nrjq^HNh+Qc_Z3V{4e2qEJ#=j*ytMwY_?LgwxgC zk&~OQu(-y^(9zS|+T7%BaCmlid)C+6)z;c{b$NAne~OHhmzkk|fr+-bz|79pL`F`x zxxuuww6L(SOHEZpMMXbBNtc(Got>TW@$s3Nng0I%Mn*=7iGPWko160T@|>KUl9G}> zKu9YsHCI_-<>u;;k(G>%k+Zb8zQD-a-Q}&Xx6aVmm6es<-QAIqk*TSvR#sN;@9&R~ zkK5bZmX?;v%+$}%&*bFf&CSiXx3|~V*WcgY^YixR=j~5XS>4~~Q!2`n0002MNkl5Pt-dQp~uOd41gpL+3B&yf5+FXnwP6{|oln*yM|#Xuxz=c{M)#gMg_L`b4YI2I)mAA0c+iKdhBh)5)X zCC!GB9h+I~_U2I%n9`~n1G3qg#r9wfNV~