mirror of
https://github.com/typst/typst
synced 2025-05-15 09:35:28 +08:00
parent
a3227f4ef3
commit
183997d5fe
12
src/doc.rs
12
src/doc.rs
@ -263,12 +263,18 @@ impl Frame {
|
|||||||
|
|
||||||
/// Attach metadata from an iterator.
|
/// Attach metadata from an iterator.
|
||||||
pub fn meta_iter(&mut self, iter: impl IntoIterator<Item = Meta>) {
|
pub fn meta_iter(&mut self, iter: impl IntoIterator<Item = Meta>) {
|
||||||
|
let mut hide = false;
|
||||||
for meta in iter {
|
for meta in iter {
|
||||||
if matches!(meta, Meta::Hide) {
|
if matches!(meta, Meta::Hide) {
|
||||||
self.clear();
|
hide = true;
|
||||||
break;
|
} else {
|
||||||
|
self.prepend(Point::zero(), FrameItem::Meta(meta, self.size));
|
||||||
}
|
}
|
||||||
self.prepend(Point::zero(), FrameItem::Meta(meta, self.size));
|
}
|
||||||
|
if hide {
|
||||||
|
Arc::make_mut(&mut self.items).retain(|(_, item)| {
|
||||||
|
matches!(item, FrameItem::Group(_) | FrameItem::Meta(Meta::Elem(_), _))
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BIN
tests/ref/bugs/hide-meta.png
Normal file
BIN
tests/ref/bugs/hide-meta.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
24
tests/typ/bugs/hide-meta.typ
Normal file
24
tests/typ/bugs/hide-meta.typ
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
// Test that metadata of hidden stuff stays available.
|
||||||
|
|
||||||
|
---
|
||||||
|
#set cite(style: "chicago-notes")
|
||||||
|
|
||||||
|
A pirate. @arrgh \
|
||||||
|
#set text(2pt)
|
||||||
|
#hide[
|
||||||
|
A @arrgh pirate.
|
||||||
|
#bibliography("/works.bib")
|
||||||
|
]
|
||||||
|
|
||||||
|
---
|
||||||
|
#set text(8pt)
|
||||||
|
#outline()
|
||||||
|
#set text(2pt)
|
||||||
|
#hide(block(grid(
|
||||||
|
[= A],
|
||||||
|
[= B],
|
||||||
|
block(grid(
|
||||||
|
[= C],
|
||||||
|
[= D],
|
||||||
|
))
|
||||||
|
)))
|
Loading…
x
Reference in New Issue
Block a user