Skip to content

feat(revealjs): add tabset-fragments option - #15332

Draft
mcanouil wants to merge 1 commit into
quarto-dev:mainfrom
mcanouil:feat/revealjs-tabset-fragments-13712
Draft

mcanouil wants to merge 1 commit into
quarto-dev:mainfrom
mcanouil:feat/revealjs-tabset-fragments-13712

Conversation

@mcanouil

@mcanouil mcanouil commented Nov 10, 2026 •

Copy link
Copy Markdown
Collaborator

Description

This adds a tabset-fragments option for Reveal.js decks.
When it's on, each tabset steps through its tabs as fragments, and the fragments inside a tab show before the next tab.
The .tabset-fragments and .no-tabset-fragments classes turn it on or off for one tabset.
The option is off by default, and a deck that doesn't use it renders exactly as before, as the plugin isn't loaded.

The plugin gives the whole slide one fragment order, so incremental: true, stepped code highlights and explicit fragment-index values don't collide with the tabs.
The tab shown always follows the fragment state, including after going back, a deep link, or a click on a tab.
Tab switching goes through tabby, so the keyboard order from #15155 and #15007 still works.

In PDF, pdf-separate-fragments: true gives a page per step.
With false, each tab gets its own page, numbered N.1, N.2 and so on.

This replaces #13752, and comes from my extension mcanouil/quarto-revealjs-tabset, which will defer to this option.
It answers discussion #13712.
The docs pull request is quarto-dev/quarto-web#2353.

The screencast steps through one slide: a fragment in the first tab, a stepped code highlight in the second, and a fragment in the third.

tabset-fragments.mp4

Checklist

I have (if applicable):

  • referenced the GitHub issue this PR closes
  • updated the appropriate changelog in the PR
  • ensured the present test suite passes
  • added new tests
  • created a separate documentation PR in Quarto's website repo and linked it to this PR
AI-assisted PR
  • AI tool used: Claude Code
  • Codebase grounding: local clone
  • Human review: I have reviewed, tested, and verified the AI-generated content before submitting.

Note: autonomous AI agents submitting PRs without human oversight are not permitted — see the Code of Conduct.

@mcanouil mcanouil added enhancement New feature or request revealjs Issues with the revealjs format labels Nov 10, 2026
@mcanouil mcanouil self-assigned this Nov 10, 2026
@posit-snyk-bot

posit-snyk-bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Collaborator

✅ Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues
✅ Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

Step through the tabs of a tabset as fragments when `tabset-fragments`
is on, or when a tabset has the `.tabset-fragments` class. The
`.no-tabset-fragments` class opts one tabset out.

The plugin gives the slide one fragment order, so incremental lists,
stepped code highlights and explicit fragment indices do not collide
with the tabs. The shown tab follows the fragment state after going
back, a deep link, a click or in scroll view, and tab switches go
through tabby. In PDF, each step gets a page, or each tab state gets
one with `pdf-separate-fragments: false`.
@mcanouil
mcanouil force-pushed the feat/revealjs-tabset-fragments-13712 branch from 853f463 to 0093db5 Compare November 10, 2026 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request revealjs Issues with the revealjs format

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants