diff options
| author | Clawd <ai@clawd.bot> | 2026-02-28 13:48:34 -0800 |
|---|---|---|
| committer | Clawd <ai@clawd.bot> | 2026-02-28 13:48:34 -0800 |
| commit | c386a1acfab0db99af57a9a18a49c72b89184f15 (patch) | |
| tree | 1b4c81ea2b992be3e19789ca21e7bb9f4f99bbc5 /renderer/src/styles | |
| parent | afe1cd0918e182b8107ffa81b9f9d6cdec4615ae (diff) | |
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
Diffstat (limited to 'renderer/src/styles')
| -rw-r--r-- | renderer/src/styles/globals.css | 50 |
1 files changed, 34 insertions, 16 deletions
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 { | |||
| 171 | } | 171 | } |
| 172 | .document-content.rendered p { | 172 | .document-content.rendered p { |
| 173 | margin: 8px 0; | 173 | margin: 8px 0; |
| 174 | line-height: 1.6; | ||
| 174 | } | 175 | } |
| 175 | .document-content.rendered code { | 176 | .document-content.rendered code { |
| 176 | background: var(--bg-tertiary); | 177 | background: var(--bg-tertiary); |
| 177 | padding: 2px 6px; | 178 | padding: 2px 6px; |
| 178 | border-radius: 4px; | 179 | border-radius: 4px; |
| 179 | font-size: 13px; | 180 | font-size: 13px; |
| 181 | font-family: "SF Mono", Monaco, "Cascadia Code", monospace; | ||
| 180 | } | 182 | } |
| 181 | .document-content.rendered pre { | 183 | .document-content.rendered pre { |
| 182 | background: var(--bg-tertiary); | 184 | background: var(--bg-tertiary); |
| @@ -189,16 +191,26 @@ body { | |||
| 189 | background: none; | 191 | background: none; |
| 190 | padding: 0; | 192 | padding: 0; |
| 191 | } | 193 | } |
| 194 | .document-content.rendered ul, | ||
| 195 | .document-content.rendered ol { | ||
| 196 | margin: 12px 0; | ||
| 197 | padding-left: 24px; | ||
| 198 | } | ||
| 192 | .document-content.rendered li { | 199 | .document-content.rendered li { |
| 193 | margin-left: 24px; | 200 | margin-bottom: 6px; |
| 194 | margin-bottom: 4px; | 201 | line-height: 1.5; |
| 195 | } | 202 | } |
| 196 | .document-content.rendered li.task { | 203 | .document-content.rendered ul.contains-task-list { |
| 197 | list-style: none; | 204 | list-style: none; |
| 198 | margin-left: 0; | 205 | padding-left: 0; |
| 199 | } | 206 | } |
| 200 | .document-content.rendered li.task.done { | 207 | .document-content.rendered li.task-list-item { |
| 201 | color: var(--success); | 208 | display: flex; |
| 209 | align-items: flex-start; | ||
| 210 | gap: 8px; | ||
| 211 | } | ||
| 212 | .document-content.rendered li.task-list-item input[type="checkbox"] { | ||
| 213 | margin-top: 4px; | ||
| 202 | } | 214 | } |
| 203 | .document-content.rendered table { | 215 | .document-content.rendered table { |
| 204 | width: 100%; | 216 | width: 100%; |
| @@ -219,17 +231,23 @@ body { | |||
| 219 | .document-content.rendered tr:nth-child(even) td { | 231 | .document-content.rendered tr:nth-child(even) td { |
| 220 | background: var(--bg-secondary); | 232 | background: var(--bg-secondary); |
| 221 | } | 233 | } |
| 222 | .document-content.rendered mark.review { | 234 | .document-content.rendered blockquote { |
| 223 | background: var(--warning); | 235 | border-left: 3px solid var(--accent); |
| 224 | color: black; | 236 | margin: 16px 0; |
| 225 | padding: 2px 4px; | 237 | padding-left: 16px; |
| 226 | border-radius: 2px; | 238 | color: var(--text-secondary); |
| 227 | } | 239 | } |
| 228 | .document-content.rendered mark.note { | 240 | .document-content.rendered hr { |
| 229 | background: var(--accent); | 241 | border: none; |
| 230 | color: white; | 242 | border-top: 1px solid var(--border); |
| 231 | padding: 2px 4px; | 243 | margin: 24px 0; |
| 232 | border-radius: 2px; | 244 | } |
| 245 | .document-content.rendered a { | ||
| 246 | color: var(--accent); | ||
| 247 | text-decoration: none; | ||
| 248 | } | ||
| 249 | .document-content.rendered a:hover { | ||
| 250 | text-decoration: underline; | ||
| 233 | } | 251 | } |
| 234 | .document-content.rendered .empty { | 252 | .document-content.rendered .empty { |
| 235 | color: var(--text-secondary); | 253 | color: var(--text-secondary); |
