Comfy-Org / Comfy-Org/registry-web
Render custom node version changelog/release notes as Markdown
- Dominant language
- TypeScript
- Stars
- 17
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
## What
Render the version `changelog` (release notes) field as **Markdown** instead of plain text on the node detail page and version drawer.
## Why
The backend already treats this field as Markdown — the generated API types describe it as *"The release notes/body"* and the related `ReleaseNote.content` field is explicitly documented as *"The content of the release note in markdown format"* (`src/api/generated.ts`). Publishers write changelogs with Markdown (lists, links, headings, bold) — e.g. release-please / conventional-commit generated notes — but the website renders them as a flat, unformatted string, so links aren't clickable and lists/headings collapse into a wall of text.
## Where
`changelog` is currently rendered as raw text in two places:
- `components/nodes/NodeDetails.tsx:512` — version history preview (`line-clamp-2`)
- `components/nodes/NodeVDrawer.tsx:180` — version drawer "Updates" section (full view)
## How
`react-markdown` is **already a dependency** (`package.json`) and is already used with a custom `components` map for styling in `components/Search/SearchHit.tsx`. We can follow that same pattern:
- Full view (drawer): render `version.changelog` through `react-markdown` with prose-style component overrides.
- Preview (version history): render through `react-markdown` while preserving the existing `line-clamp-2` truncation.
`react-markdown` does not render raw HTML by default, so this is XSS-safe without extra sanitization. Optionally add `remark-gfm` for tables/strikethrough/autolinks if desired (changelogs benefit from autolinked issue/PR URLs).
## Acceptance criteria
- [ ] Markdown links in a changelog are clickable
- [ ] Lists, headings, and emphasis render with appropriate styling
- [ ] Version-history preview still truncates to ~2 lines
- [ ] No raw-HTML injection (default `react-markdown` behavior preserved)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the existing styled Markdown usage in components/Search/SearchHit.tsx, then inspect the changelog rendering at components/nodes/NodeDetails.tsx:512 and components/nodes/NodeVDrawer.tsx:180. Render the changelog in both locations while preserving the preview truncation and default raw-HTML behavior. Done means links, lists, headings, and emphasis are styled correctly and the version-history preview remains about two lines.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 86/100