HTML writer drops table column widths: <col /> without style="width"
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 55/100
Direzione di ricerca
Start in pampa/src/writers/html.rs and inspect the colgroup_kept_when_any_width_set test and the HTML table writer; the issue says the colspec already contains percentages for sections A and D. Render the supplied widths.qmd example to HTML and check whether each percentage column gets a width style. The separate pipe table dash-width reader gap is out of scope for this writer change.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Table column widths never reach the HTML output. The reader produces the right ColWidth values (both for tbl-colwidths and for ::: {.list-table widths="…"}), the writer decides a <colgroup> is needed because of them, and then writes every column as a bare <col />. Quarto 1 writes <col style="width: 20%"> for the same input.
The writer already knows: pampa/src/writers/html.rs has a test colgroup_kept_when_any_width_set whose comment says "The width itself isn't rendered yet — only the presence check" (bd-hixmy, from the table-default-rendering-parity plan, which scoped widths out). This issue is the user-visible symptom, filed so it is tracked somewhere findable: a docs site porting a fixed-layout config table (table-layout: fixed needs the <col> widths) had to reproduce them in CSS with col:nth-child(n) rules.
Repro
widths.qmd:
---
title: column widths
---
## A tbl-colwidths on a pipe table
| Key | Description | Type | Default |
|---|---|---|---|
| a | b | c | d |
: {tbl-colwidths="[20,40,15,25]"}
## B pipe table with relative dash widths (line over 72 chars)
| Key | Description | Type | Default |
|------|--------------------------|-------|----------------|
| a | a long description that pushes this line well past the seventy-two column limit | c | d |
## D list-table with widths
::: {.list-table widths="20,40,15,25"}
* - Key
- Description
- Type
- Default
* - a
- b
- c
- d
:::
quarto render widths.qmd --to html --output-dir q1
q2 render widths.qmd --to html --output-dir q2out
<col> elements per section:
| Section | Quarto 1 (99.9.9 dev) | q2 0.35.0-nightly.20261021 |
|---|---|---|
A tbl-colwidths |
<col style="width: 20%"> 40% 15% 25% |
no <colgroup> at all, plus an empty <caption> </caption> |
| B dash-width pipe table | <col style="width: 10%"> 47% 12% 29% |
no <colgroup> |
D list-table widths |
<col style="width: 20%"> 40% 15% 25% |
<colgroup> with four bare <col /> |
AST colspecs (q2 render --to json vs quarto pandoc -t json):
- A: q2
ColWidth 0.2 / 0.4 / 0.15 / 0.25(the reader foldstbl-colwidthsinto the colspec, which Quarto 1 only does later in a filter: its pandoc AST showsColWidthDefault). So for A the reader is ahead of the writer, and only the writer is missing. - D: q2
ColWidth 0.2 / 0.4 / 0.15 / 0.25. Same: writer only. - B: q2
ColWidthDefault×4, Quarto 1 / pandoc0.109 / 0.473 / 0.127 / 0.291. Pandoc's rule (relative widths from the separator-row dash counts when any line exceeds the column width) is not implemented intreesitter_utils/pipe_table.rs(colspec.push((alignment, ColWidth::Default))). That is a reader gap, mentioned here only so the three cases are in one place; split it out if you prefer.
Expected
<col style="width: NN%"> per column whenever the colspec has a ColWidth::Percentage, matching Quarto 1 / pandoc's HTML writer (percentages rounded to integers, as pandoc does). Section A should also not emit an empty <caption> when the caption block only carries attributes.
Environment
q2 0.35.0-nightly.20261021 (macOS arm64); repo at ad283a2cb. Quarto 1 at 99.9.9 (dev build from quarto-cli).
- Lingua principale
- Rust
- Stelle
- 278
- Fork
- 19
- Merge medio
- 20h 23m
- PR unite (30g)
- 164
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di quarto-dev/q2
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 54/100
quarto-dev/q2#905 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 63/100
quarto-dev/q2#904 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 48/100
quarto-dev/q2#900 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
quarto-dev/q2#896 ·
I maintainer di solito rispondono entro 1 giorno
-
"I want :emoji: to work"Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
quarto-dev/q2#893 · 3 reazioni ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di quarto-dev/q2
Issue simili
-
Docker host resolution missing default rootless Docker pathForse già presa @500B l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
testcontainers/testcontainers-rs#1000 ·
I maintainer di solito rispondono entro 3 giorni
-
bug needs triage P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
pbakaus/impeccable#1143 ·
I maintainer di solito rispondono entro 1 giorno
-
Bundled uv is never updated and trusts the compromised eMudhra certificatesForse già presa @FabienDanieau l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
foxglove/mcap#1907 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno