Support Markdown tables in notes and guides

Offen
#38 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
78/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Bereich
content

Rechercherichtung

Start with SAFE_MDX_OPTIONS in src/lib/mdx-safe.ts and NoteBody in src/components/note-body.tsx to trace how notes and guides are rendered and sanitized. Then review src/components/mdx-components.tsx, src/lib/mdx-safe.test.ts, and the content guide. Done when tables compile, raw HTML in cells remains rejected, wide tables scroll within their container on phones, and the guide documents the syntax.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement help wanted

Problem

Notes and guides cannot use Markdown tables. The content guide says: "Tables need a plugin that is not installed yet, so avoid them for now." Tables are useful in study notes, for example to compare data structures or complexity.

Where it happens

Notes (/dashboard/...) and guides (/guides/...) render through NoteBody in src/components/note-body.tsx, using SAFE_MDX_OPTIONS from src/lib/mdx-safe.ts. That file also rejects raw HTML, JSX, and {expressions} for safety.

Suggested approach

  1. Add remark-gfm to remarkPlugins in SAFE_MDX_OPTIONS, keeping remarkRejectJsx.
  2. Style tables in src/components/mdx-components.tsx. Wide tables must scroll inside their own container on a phone instead of widening the page.
  3. Add tests to src/lib/mdx-safe.test.ts: a table compiles, and raw HTML inside a table cell is still rejected.
  4. Update the content guide to explain table syntax and remove the "avoid tables" line.

remark-gfm also enables strikethrough, task lists, footnotes, and autolinks. Mention in the pull request which of these you checked.

Check your change

npm run lint
npm run typecheck
npm test
npm run build
npm run e2e

Please comment with your plan before starting, since this touches the content security pipeline.

Vorherrschende Sprache
TypeScript
Sterne
1
Forks
1
Ø Merge
8 Std. 58 Min.
Gemergte PRs (30 T.)
37

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus procoderji-com/procoderji

Alle Issues in procoderji-com/procoderji

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.