Revealjs: code block at the end of a callout lost its bottom spacing since 1.8.15
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- html, scss
- Domain
- frontend
Research direction
The two rules are in src/resources/formats/revealjs/quarto.scss, around lines 919-926 and 975-977, and they match a last div.sourceCode but not the div.code-copy-outer-scaffold wrapper added by the HTML postprocessor (see src/format/reveal/format-reveal.ts around line 260). Render a revealjs deck with a callout ending in a code block, then check the gap below the code in the browser. Done when both selectors also match the scaffold as last child and the spacing matches 1.7.34 for both callout types.
Written by the indexing model from the issue text.
Description
In Revealjs, when a code block is the last element of a callout, it now sits against the bottom of the callout. With appearance="simple" and no title, the code block border touches the callout border.
Gap between the bottom of the code block and the bottom of the callout, measured with Chromium on the example below:
| Callout | 1.7.34 | main |
|---|---|---|
| Default, titled, ending with code | 12.03px | 8.33px |
| Simple, untitled, ending with code | 15.74px | 0.93px |
The 0.93px is only the 1px callout border. Callouts ending with a paragraph render the same in both versions.
#13024 is first released in 1.8.15, so I expect the change to start there. I only rendered with 1.7.34 and main, not with 1.8.14 or 1.8.15.
Reproducible example
---
title: Callout last child code
format: revealjs
---
## Titled ending with code
::: {.callout-note}
## Titled
Some text.
```python
x = 1
```
:::
## Simple untitled ending with code
::: {.callout-note appearance="simple"}
Some text.
```python
x = 1
```
:::
What happens
Since #13024, the HTML postprocessor wraps code blocks in a div.code-copy-outer-scaffold for the copy button. Revealjs uses the same postprocessor with copyCode: true:
So the last child of .callout-content is now the scaffold div and not div.sourceCode. Two rules added in #11251 to handle a code block in last position no longer match.
For simple untitled callouts, #11251 added a margin below a last div.sourceCode so that the code border does not merge with the callout border. This rule never matches now, which is the visible part:
For titled callouts, the last child gets padding-bottom: 0.5rem and no margin, except when it is a div.sourceCode, which keeps the var(--r-block-margin) margin. This exclusion was there to avoid the duplicated background color on a code block in last position. The scaffold is not excluded, so it gets the 8px padding instead of the 12px margin. This one is more cosmetic.
We could make both selectors also target div.code-copy-outer-scaffold when it is the last child.
Related: #13446 and #13238 are about the same scaffold change on HTML callouts, which use different rules in the Bootstrap stylesheets.
- Dominant language
- JavaScript
- Stars
- 6.1k
- Forks
- 463
- Avg merge
- 21h 53m
- Merged PRs (30d)
- 58
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from quarto-dev/quarto-cli
-
Website navbar hides the notebook preview headerPossibly taken A pull request linked to this issue is open or already merged. Openaccessibility bug embed websites
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
quarto-dev/quarto-cli#14972 · 1 comment ·
Maintainers usually reply within 1 day
-
accessibility documentation revealjs
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
quarto-dev/quarto-cli#14971 ·
Maintainers usually reply within 1 day
-
accessibility revealjs
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
quarto-dev/quarto-cli#14970 · 1 comment ·
Maintainers usually reply within 1 day
-
a11y: notebook preview header is outside any landmarkPossibly taken A pull request linked to this issue is open or already merged. Openaccessibility embed
Difficulty 1/5 Under an hour Newbie friendliness 90/100
quarto-dev/quarto-cli#14968 ·
Maintainers usually reply within 1 day
-
accessibility revealjs themes
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
quarto-dev/quarto-cli#14963 ·
Maintainers usually reply within 1 day
All issues in quarto-dev/quarto-cli
Similar issues
-
[BUG] Multi-day events show "Ended" while still in progressPossibly taken @tarunagnihotri534 claimed this today. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
data-umbrella/du-event-board#231 · 2 comments ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
NaturalIntelligence/fast-xml-parser#888 · 1 comment ·
Maintainers usually reply within 2 days
-
Difficulty 1/5 Under an hour Newbie friendliness 80/100
USACE/chart-docs#766 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100