From c386a1acfab0db99af57a9a18a49c72b89184f15 Mon Sep 17 00:00:00 2001 From: Clawd Date: Sat, 28 Feb 2026 13:48:34 -0800 Subject: Replace custom markdown renderer with react-markdown - Add react-markdown and remark-gfm dependencies - Remove hacky regex-based renderMarkdown function - Full GFM support: tables, task lists, strikethrough, autolinks - Update CSS for react-markdown output (task lists, blockquotes, hr) - Cleaner, more maintainable code --- renderer/src/styles/globals.css | 50 ++++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 16 deletions(-) (limited to 'renderer/src/styles') diff --git a/renderer/src/styles/globals.css b/renderer/src/styles/globals.css index 380a744..384ebc5 100644 --- a/renderer/src/styles/globals.css +++ b/renderer/src/styles/globals.css @@ -171,12 +171,14 @@ body { } .document-content.rendered p { margin: 8px 0; + line-height: 1.6; } .document-content.rendered code { background: var(--bg-tertiary); padding: 2px 6px; border-radius: 4px; font-size: 13px; + font-family: "SF Mono", Monaco, "Cascadia Code", monospace; } .document-content.rendered pre { background: var(--bg-tertiary); @@ -189,16 +191,26 @@ body { background: none; padding: 0; } +.document-content.rendered ul, +.document-content.rendered ol { + margin: 12px 0; + padding-left: 24px; +} .document-content.rendered li { - margin-left: 24px; - margin-bottom: 4px; + margin-bottom: 6px; + line-height: 1.5; } -.document-content.rendered li.task { +.document-content.rendered ul.contains-task-list { list-style: none; - margin-left: 0; + padding-left: 0; } -.document-content.rendered li.task.done { - color: var(--success); +.document-content.rendered li.task-list-item { + display: flex; + align-items: flex-start; + gap: 8px; +} +.document-content.rendered li.task-list-item input[type="checkbox"] { + margin-top: 4px; } .document-content.rendered table { width: 100%; @@ -219,17 +231,23 @@ body { .document-content.rendered tr:nth-child(even) td { background: var(--bg-secondary); } -.document-content.rendered mark.review { - background: var(--warning); - color: black; - padding: 2px 4px; - border-radius: 2px; +.document-content.rendered blockquote { + border-left: 3px solid var(--accent); + margin: 16px 0; + padding-left: 16px; + color: var(--text-secondary); } -.document-content.rendered mark.note { - background: var(--accent); - color: white; - padding: 2px 4px; - border-radius: 2px; +.document-content.rendered hr { + border: none; + border-top: 1px solid var(--border); + margin: 24px 0; +} +.document-content.rendered a { + color: var(--accent); + text-decoration: none; +} +.document-content.rendered a:hover { + text-decoration: underline; } .document-content.rendered .empty { color: var(--text-secondary); -- cgit v1.2.3