mirror of
https://github.com/typst/typst
synced 2025-05-14 04:56:26 +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.
|
||||
pub fn meta_iter(&mut self, iter: impl IntoIterator<Item = Meta>) {
|
||||
let mut hide = false;
|
||||
for meta in iter {
|
||||
if matches!(meta, Meta::Hide) {
|
||||
self.clear();
|
||||
break;
|
||||
hide = true;
|
||||
} 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