From c64753252f074baf37a0a7d9a582171634e88fc1 Mon Sep 17 00:00:00 2001 From: "Owen L." Date: Fri, 6 Mar 2026 10:50:44 -0800 Subject: [PATCH 1/3] Add `show-bullets` parameter to `item-by-item` If set to false, it will hide the bullets for items that haven't appeared yet. --- src/logic.typ | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/logic.typ b/src/logic.typ index 3f503b6..cf2525a 100644 --- a/src/logic.typ +++ b/src/logic.typ @@ -131,7 +131,7 @@ } } -#let item-by-item(start: 1, mode: hide, body) = { +#let item-by-item(start: 1, mode: hide, show-bullets: false, body) = { let is-item(it) = type(it) == content and it.func() in ( list.item, enum.item, terms.item ) @@ -140,7 +140,14 @@ } else { body } - one-by-one(start: start, mode: mode, ..children.filter(is-item)) + let items = chilren.filter(is-item) + if not show-bullets { + items = items.map(it => { + set list(marker: "") + set enum(numbering: _ => "") + }) + } + one-by-one(start: start, mode: mode, ..items) } #let alternatives-match(subslides-contents, position: bottom + left) = { From ec3bc2fa21b01a1ab1157d1dcc5bed2768dea64d Mon Sep 17 00:00:00 2001 From: mageowl Date: Fri, 6 Mar 2026 10:57:10 -0800 Subject: [PATCH 2/3] rename to hide-bullets --- .gitignore | 1 + src/logic.typ | 23 ++++++++++++++--------- 2 files changed, 15 insertions(+), 9 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2f7896d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +target/ diff --git a/src/logic.typ b/src/logic.typ index cf2525a..bf569c2 100644 --- a/src/logic.typ +++ b/src/logic.typ @@ -101,7 +101,7 @@ _check-visible(subslide.at(here()).first(), visible-subslides) } -#let _conditional-display(visible-subslides, reserve-space, mode, body) = { +#let _conditional-display(visible-subslides, reserve-space, mode, body, hide-bullets: true) = { context{ let vs = if reserve-space and handout-mode.at(here()) { (:) @@ -112,6 +112,10 @@ if in-subslide(vs) { body } else if reserve-space { + if hide-bullets { + set list(marker: "") + set enum(numbering: _ => "") + } _slides-cover(mode, body) } } @@ -131,7 +135,7 @@ } } -#let item-by-item(start: 1, mode: hide, show-bullets: false, body) = { +#let item-by-item(start: 1, mode: hide, hide-bullets: true, body) = { let is-item(it) = type(it) == content and it.func() in ( list.item, enum.item, terms.item ) @@ -140,14 +144,15 @@ } else { body } - let items = chilren.filter(is-item) - if not show-bullets { - items = items.map(it => { - set list(marker: "") - set enum(numbering: _ => "") - }) + for (idx, child) in children.filter(is-item).enumerate() { + _conditional-display( + (beginning: start + idx), + true, + mode, + body, + hide-bullets: hide-bullets + ) } - one-by-one(start: start, mode: mode, ..items) } #let alternatives-match(subslides-contents, position: bottom + left) = { From e9e9bab8815ffb71817d9b7ad41694332c9b9d48 Mon Sep 17 00:00:00 2001 From: mageowl Date: Fri, 6 Mar 2026 11:02:20 -0800 Subject: [PATCH 3/3] fix duplicating all bullets --- src/logic.typ | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/logic.typ b/src/logic.typ index bf569c2..3c09378 100644 --- a/src/logic.typ +++ b/src/logic.typ @@ -149,7 +149,7 @@ (beginning: start + idx), true, mode, - body, + child, hide-bullets: hide-bullets ) }