Skip to contents

Walks an ordered speclayout and, for every placeholder entry, computes the page it must be inserted at so its position among the TLG slides matches its position in the file: `content slides so far + placeholder slides already inserted + 1`.

Usage

derive_placeholder_page_list(
  speclayout,
  content_counts = NULL,
  types = placeholder_types()
)

Arguments

speclayout

A named, ordered `list` read from a speclayout yaml file.

content_counts

Optional named list of the number of slides each TLG entry produced. When given, entries missing from it count as 0 slides (not generated); when `NULL`, every TLG entry counts as one slide.

types

The placeholder types, see [placeholder_types()].

Value

A `list` of placeholder entries in insertion order, each with its `name` and resolved `to_page`.

Examples

speclayout <- list(
  sec_a = list(type = "section", title = "Section A"),
  out1 = list(program = "t_dm_slide", suffix = "FAS"),
  out2 = list(program = "t_ae_slide", suffix = "SE"),
  sec_b = list(type = "section", title = "Section B")
)
vapply(derive_placeholder_page_list(speclayout), function(p) p$to_page, integer(1))
#> [1] 1 4