Quarto 1.9 Brings LLM-Friendly Output, Typst Books, and Easier Publishing
A Quarto 2.0 is coming, with significant updates. But these Quarto 1.9 features will certainly keep analysts happy with more engaged…
Quarto 1.9 Brings LLM-Friendly Output, Typst Books, and Easier Publishing
A Quarto 2.0 is coming, with significant updates. But these Quarto 1.9 features will certainly keep analysts happy with more engaged reporting.

If you’ve been building data reports and documentation sites in Quarto, version 1.9 adds several features worth knowing about — from publishing directly to Posit Connect Cloud to generating AI-readable output for your entire website. The release touches nearly every corner of the tool, so this article walks through the changes most relevant to analysts and data practitioners.
Publishing to Posit Connect Cloud Is Now One Command Away
Sharing a finished Quarto project used to mean navigating publishing settings or configuring a server. Now you can push directly to Posit Connect Cloud from the terminal:
quarto publish posit-connect-cloud
Posit Connect Cloud is a hosted platform for sharing documents and data applications without managing your own server. A free tier covers unlimited static document publishing, making it a practical option for smaller teams or solo practitioners who don’t want infrastructure overhead. The command walks you through authentication, so no manual token setup is required.
This matters for anyone distributing R Markdown-style reports to stakeholders who don’t have access to a local environment. One command replaces what was previously several configuration steps.
Typst Gets Book Support and Article Layouts
Typst output in Quarto has taken a significant step forward. The headline addition is book project support via the bundled orange-book extension, which handles chapter numbering, cross-references, and textbook-style formatting out of the box. For practitioners building technical handbooks or multi-chapter documentation, this removes the need to configure numbering and referencing manually.
Article layout support is also new. You can now place content in margins, create full-width figures, or add side notes using the same article-layout syntax available for other output formats. New document options include mathfont, codefont, linestretch, linkcolor, and abstract-title, giving authors more control over visual structure without writing custom Typst templates.
Theorem styling now supports four appearance options: simple, fancy, clouds, and rainbow. That last option is more useful than it sounds for educational content where visual distinction between theorem types aids comprehension.
LLM-Friendly Website Output
This is the feature that feels most forward-looking. The llms-txt standard is an emerging convention for websites, similar in spirit to robots.txt but aimed at AI tools rather than search crawlers. A site that includes an llms-txt file provides a structured, plain-text entry point that describes its content and links to clean, readable versions of each page — stripping away HTML clutter that language models don't need. The goal is to give AI tools a reliable, low-noise path into a site's content rather than forcing them to parse full HTML. Quarto 1.9 can now generate this format automatically alongside your website, making your documentation or reports easier for large language models and AI-powered tools to read accurately.
Enable it in _quarto.yml:
website:
title: "My Documentation"
llms-txt: true
When you render, Quarto creates two things: an llms-txt index file at your site's root listing all pages, and a .llms.md file alongside each HTML page. The markdown files strip navigation, sidebars, and scripts, then convert tables, code blocks, and callouts into clean standard markdown.
The call llms-txt: true is the key configuration flag here. Setting it triggers the generation pipeline that produces both the index and the per-page markdown files. The practical benefit is that AI tools querying your documentation site get structured, noise-free content rather than HTML full of navigation boilerplate. For teams maintaining technical documentation or package references, this reduces the friction of keeping AI-accessible content in sync with the published site.
Brand Assets Stay in Sync with quarto use brand
Keeping brand files consistent across projects has always required manual copying or ad-hoc scripts. The new quarto use brand command changes that:
quarto use brand myorg/shared-brand
The command pulls brand assets from a GitHub repository, a local directory, or a zip archive into your project’s _brand/ directory. It walks you through confirming trust for remote sources, handles directory creation, and asks before overwriting existing files. A --dry-run flag lets you preview changes before applying them, and --force skips the confirmation prompts if you're scripting the workflow.
For the command to recognize a local directory as a brand source, that folder must contain a _brand.yml file. Quarto uses it as the anchor to locate assets. A folder of loose images or fonts without _brand.yml will return a "Brand not found" error. Here is what a minimal _brand.yml looks like:
color:
palette:
navy: "#1B3A5C"
teal: "#2A7F8E"
background: navy
logo:
medium: logo.png
typography:
fonts:
- family: Georgia
source: system
base: Georgia
The color block defines named palette values and maps them to semantic roles like background. The logo block points to an image file, and the typography block sets the base font. All file paths in _brand.yml are relative to where the file sits, so logo.png just needs to live in the same folder. Once that file is in place, the local directory call works as expected:
quarto use brand "my brand folder"
Quarto then copies everything into your project’s _brand/ directory and asks at each step whether to overwrite any existing files.
Now a small editor’s note: I had some difficulty getting my Quarto to recognize the file despite checking and ensuring that the file path was relative. It may be a specific problem on my laptop (still checking as a type). But you can type quarto inspect at the terminal and use the directory functions to make sure your file is recognized.
List Tables Make Complex Tables Easier to Author
Grid tables have always been Quarto’s way to handle cells with multiple paragraphs or nested content, but maintaining them is tedious. List tables offer a cleaner syntax using familiar bullet structure:
markdown::: {.list-table}
- - Function
- Description
- - `filter()`
- Subset rows by condition.
Works on grouped and ungrouped data frames.
- - `mutate()`
- Add or transform columns:
- Supports `across()` for column-wise operations
- Preserves grouping structure
:::
Each top-level bullet represents a row. Nested bullets represent cells. Block content like code examples or sub-lists sits naturally inside a cell without the alignment gymnastics grid tables require.
The .**list-table **div class is what triggers the parser to interpret the nested list as tabular content. Quarto converts it to a proper table that supports captions, cross-references, column widths, and alignment. The benefit is maintainability: when a cell's content grows or changes, you're editing a bulleted list, not realigning ASCII characters across a grid.

The image above contains what the table looks like in the standard visual view.
PDF Accessibility Standards (Experimental)
A new pdf-standard option brings PDF/A archival formats and PDF/UA accessibility compliance to both LaTeX and Typst outputs. Alt text from fig-alt attributes now passes through to PDF for screen reader support. Typst gains alt text on cross-referenced equations.
This is experimental, so treat it as a preview rather than production-ready. For organizations where PDF accessibility is a compliance requirement, it’s worth testing now so you’re positioned when it stabilizes.
Other Changes Worth Knowing
Search result highlighting on websites is improved. Quarto now marks matched terms on destination pages, activates the correct tab when a match falls inside a tabset, and handles multi-word searches that span elements.
Privacy defaults have tightened. Cookie consent now defaults to type: express, meaning cookies are blocked until a user explicitly opts in. Algolia Search Insights no longer uses persistent cookies unless consent is active. A new plausible-analytics configuration option integrates Plausible Analytics, a privacy-focused alternative to Google Analytics, directly into website configuration.
Embedded videos now support aria-label for custom screen reader descriptions, replacing the default "Video Player" label.
The syntax-highlighting option replaces the deprecated highlight-style from Pandoc 3.8. It supports style names, custom .theme files, none, or idiomatic for format-native highlighting.
Dependency updates round out the release: Pandoc moves to 3.8.3, Typst to 0.14.2, and Mermaid to 11.12.0.
What This Means for Your Work
Quarto 1.9 doesn’t change the authoring experience for most documents, but it extends the tool’s reach in three directions that matter for practitioners.
The Posit Connect Cloud publishing integration reduces the steps between finished analysis and shared report — a genuine friction point for smaller teams without dedicated infrastructure. The llms-txt output positions Quarto-built documentation sites to work better with AI tools querying them, which is becoming relevant as more teams surface internal docs through AI assistants. And the Typst improvements, especially book project support, bring Quarto closer to parity with LaTeX workflows without the LaTeX complexity.
List tables and brand sync are smaller additions, but they address real maintenance costs that accumulate over time on larger projects. Get the current release at the Quarto download page.
메타데이터
- post_id
- e9246d094b08
- slug
- quarto-1-9-brings-llm-friendly-output-typst-books-and-easier-publishing-e9246d094b08
- url
- https://medium.datadriveninvestor.com/quarto-1-9-brings-llm-friendly-output-typst-books-and-easier-publishing-e9246d094b08
- canonical_url
- https://medium.datadriveninvestor.com/quarto-1-9-brings-llm-friendly-output-typst-books-and-easier-publishing-e9246d094b08
- author_url
- https://medium.com/@zimanaanalytics
- status
- ok
- fetched_at
- 2026-07-13 06:51:10