Is it possible to call set multiple times in a single show rule?

Yes: they can be overridden later. Consider this:

#[
  #show heading: set text(red)
  #show heading: set text(blue)

  = Blue heading
]

#[
  #show heading: it => { set text(red); it }
  #show heading: it => { set text(blue); it }

  = Red heading
]

You can understand the second example as translating to { set text(blue); { set text(red); [= Red heading] } }: earlier rules are applied first, but for this kind of rule that means it is innermost and therefore wins. show-set rules are smarter, allowing later rules overriding earlier ones.

Yeah, there are plans to migrate to Typst, but it’s blocked until all the features are there. As Andrew said, there are a few users of Typst for HTML already (including me), but it’s sensible to hold back a bit.

So don’t abandon it permanently :stuck_out_tongue:

3 Likes