Rheo

Using beacons

Marrow runs inside the same Typst compile as every ordinary vertebra, but it runs before any of their HTML exists. This is a problem if you want to interpolate a page’s compiled content into some asset that you program using marrow, such as an Atom entry’s <content> or a search index’s stored body. Rheo therefore allows you to specify a placeholder element called a beacon, which is resolved only once every ordinary page has actually compiled in a post-compilation pass:

<rheo-content page="notes/etal.html" select="main" as="escaped"/>

You can specify a beacon in marrow like so:

#asset(
  "excerpt.xml",
  "<entry><body><rheo-content page=\"notes/etal.html\"/></body></entry>",
)