Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

markdownRenderFieldDoc incorrectly escapes braces inside code spans

Aperta Adatta ai principianti
#205 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
75/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
go
Ambito
documentation

Direzione di ricerca

Individua l’helper markdownRenderFieldDoc e i punti in cui viene chiamato nei template Markdown predefiniti, incluso type_members.tpl. Per prima cosa, segui il percorso per capire dove vengono sottoposte a escape le parentesi graffe e come vengono gestiti gli span di codice. Aggiorna il comportamento di rendering affinché le parentesi graffe negli span di codice appaiano letteralmente, poi verifica che il pattern di validazione e gli esempi di codice inline vengano visualizzati come previsto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Problem

markdownRenderFieldDoc escapes { and } as \{ and \} throughout field and validation text, including inside code spans (backtick-quoted strings). In CommonMark, backslash escaping is not processed inside code spans, so the backslashes are rendered literally instead of being consumed.

Reproduction

A field with a kubebuilder validation pattern:

```go
// +kubebuilder:validation:Pattern=^[A-Z][a-zA-Z0-9]{0,62}$
```

The default Markdown templates render the Validation column using markdownRenderFieldDoc:

```
{{ range .Validation }} {{ markdownRenderFieldDoc . }}
{{ end }}
```

Actual output in the table cell:
```
Pattern: ^[A-Z][a-zA-Z0-9]\{0,62\}$
```

Expected output:
```
Pattern: ^[A-Z][a-zA-Z0-9]{0,62}$
```

The \{ and \} sequences appear literally inside the code span because CommonMark does not process backslash escapes inside code spans (spec §6.3).

The same issue affects markdownRenderFieldDoc calls in type_members.tpl when field descriptions contain inline code with {/}.

Context

Encountered while generating API reference docs for kubernetes-sigs/kro. Worked around it with a custom template helper that replaces markdownRenderFieldDoc and skips brace escaping entirely (kro PR: https://github.com/kubernetes-sigs/kro/pull/1476).

Suggested fix

In markdownRenderFieldDoc, avoid escaping { and } that appear inside code spans (text surrounded by backticks). A simpler alternative is to not escape braces at all in the Markdown renderer — CommonMark does not require brace escaping in table cells, unlike MDX/JSX where {...} is a JSX expression. The escaping appears to have been added for MDX compatibility but breaks standard CommonMark.

Related
  • PR #202 adds RenderFieldHTML / RenderValidation which could also address this by rendering field docs as HTML rather than raw Markdown text.
Lingua principale
Go
Stelle
176
Fork
81
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di elastic/crd-ref-docs

Tutte le issue di elastic/crd-ref-docs

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.