Style once, reuse everywhere, no more manual tweaks.

Stop Wasting Time on Report Styling

This workshop helps data scientists publish polished reports in two formats. By pairing Quarto with Typst in one reusable extension, HTML and PDF outputs stay on-brand automatically, and you save hours on every report without settling for Quarto's boring default look.

  • ✓ Build a reusable Quarto extension carrying logo, colors, and fonts styling.
  • ✓ Learn to build Lua filters to glue Quarto and Typst together.
  • ✓ Walk away with the full demo extension and demo repo, ready to adapt to your own brand.
Get the recording →
🎥 3-hour recording, live Q&A included 📦 Extension + demo repo included
HTML-rendered version of the demo Quarto fact sheet, styled with the workshop's brand colors and fonts Typst-PDF-rendered version of the same demo fact sheet, same brand, produced from the same .qmd file

Same .qmd source, same brand. Click a tab to compare the two renders.

What this workshop solves

One Quarto source. Two beautiful, on-brand outputs.

Quarto can already render the same document to HTML and to a Typst PDF. This workshop shows you how to make both outputs actually look designed, on-brand, and consistent with each other, using a repeatable Lua-filter pattern instead of guesswork.

🔁

One Source, Two Outputs

Render a polished HTML page and a matching Typst PDF from the same .qmd instead of hand-building each one separately.

📄

PDFs That Look Designed

Turn Quarto's default Typst output into a real branded template: proper type, color, and layout instead of a generic default.

🧱

A Reusable Setup

Package your styling into a Quarto extension, so every new report starts from a solid, shared base instead of from scratch.

🪄

Lua Filters Demystified

Learn one clear, repeatable pattern for writing Lua filters, so you can build your own instead of guessing at the syntax.

Curriculum

Three hours. One real, reusable extension.

We build a working demo extension live, using a fictional investment fund's fact sheet as the running example, and cover exactly what's needed to adapt it to your own brand afterward.

Part 1

Branding & Beautiful PDFs

Get your brand onto both HTML and Typst PDF output.
  • 1Attach a logo, brand colors, and fonts to both HTML and Typst PDF output
  • 2Build a real Typst template function with typeset tables and a styled company header
  • 3Style tables and headings
Part 2

Lua Filters & Packaging

Close the Quarto-to-Typst gap, then package it for reuse.
  • 1What a Lua filter actually does, and why some Quarto constructs need one to reach Typst correctly
  • 2Write filters that call Typst functions instead of concatenating raw strings
  • 3Add inline colored text spans, e.g. [text]{.text-primary}, that render correctly in HTML and PDF alike
  • 4Package everything into a single reusable, installable Quarto extension
Dr. Albert Rapp
About the instructor

Hi, I'm Dr. Albert Rapp 👋

I have a PhD in Mathematics and spend a lot of my time at the intersection of Quarto, Typst, and PDF automation, figuring out how to make R and Quarto output look genuinely designed instead of default. I've previously taught a live session on building automated PDF pipelines with Typst, and this workshop applies the same hands-on, build-it-live approach to branding Quarto's HTML and Typst output and packaging that work into a reusable extension.

6700+YouTube subscribers
3400+newsletter subscribers
Get the recording

Get instant access to the recording

This is the full, unedited 3-hour recording of the live workshop, live Q&A included, plus a working extension you can adapt to your own brand. Watch it whenever suits you, at your own pace.

Bring basic familiarity with Quarto and Typst. Lua is the only new territory here, and it's built from the ground up on the recording. For extending Typst skills, you also get a 50% discount code for my Typst course, sent in your welcome email right after checkout.

Full workshop recording
$250$200 / recording
  • ✓3-hour workshop recording, taught end-to-end from a plain Quarto document to a packaged extension
  • ✓The reusable Quarto extension built during the session, plus the full demo repo, as a takeaway
  • ✓50% discount code for my Typst course, sent after checkout
Get the recording →
FAQ

Frequently asked questions

Do I need prior Typst or Lua experience?

Lua is the glue that connects Quarto and Typst, you don't need to know it for this workshop. We build every filter from the ground up. Just bring basic familiarity with Quarto and Typst.

Do I need to already use Quarto?

You should be comfortable authoring a basic .qmd document (if you don't know how to do that yet, you can learn that in a couple of minutes from Quarto's getting started examples). You don't need any prior experience building extensions, that's exactly what we cover.

What do I walk away with?

The full demo Quarto extension built during the session, the demo repo it comes from, and everything needed to swap in your own logo, colors, and fonts and reuse it on your own reports.

Is this the full recording, or a separate self-paced course?

It's the complete, unedited 3-hour recording of the live workshop, including the live Q&A that came up during the session.

How do I access the recording after I buy?

You'll get an email right after checkout with a link to sign in and start watching immediately, no waiting.

Stop rebuilding the same report twice.

Watch the full 3-hour session and build a branded, reusable Quarto extension yourself, HTML and Typst PDF from a single source file, and leave with the extension and demo repo to do it again.

Get the recording →