Comfy-Org / Comfy-Org/registry-web

Render custom node version changelog/release notes as Markdown

Open Beginner friendly
#271 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.