feat(frontend): per-message markdown rendering
Self-contained, HTML-escaped (XSS-safe) markdown for history messages; each message rendered independently so a syntax error (e.g. unclosed code fence) cannot leak into the next message. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -556,6 +556,76 @@ button {
|
||||
color: var(--text-faint);
|
||||
font-style: italic;
|
||||
}
|
||||
.md > *:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.md > *:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.md p {
|
||||
margin: 4px 0;
|
||||
}
|
||||
.md h1,
|
||||
.md h2,
|
||||
.md h3,
|
||||
.md h4,
|
||||
.md h5,
|
||||
.md h6 {
|
||||
margin: 8px 0 4px;
|
||||
line-height: 1.25;
|
||||
}
|
||||
.md h1 {
|
||||
font-size: 20px;
|
||||
}
|
||||
.md h2 {
|
||||
font-size: 18px;
|
||||
}
|
||||
.md h3 {
|
||||
font-size: 16px;
|
||||
}
|
||||
.md ul,
|
||||
.md ol {
|
||||
margin: 4px 0;
|
||||
padding-left: 22px;
|
||||
}
|
||||
.md li {
|
||||
margin: 2px 0;
|
||||
}
|
||||
.md a {
|
||||
color: var(--accent);
|
||||
}
|
||||
.md code {
|
||||
font-family: var(--mono);
|
||||
font-size: 12.5px;
|
||||
background: var(--elevated);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 4px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
.md pre {
|
||||
margin: 6px 0;
|
||||
padding: 10px 12px;
|
||||
background: var(--elevated);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 8px;
|
||||
overflow: auto;
|
||||
}
|
||||
.md pre code {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
background: none;
|
||||
font-size: 12.5px;
|
||||
white-space: pre;
|
||||
}
|
||||
.md blockquote {
|
||||
margin: 6px 0;
|
||||
padding: 2px 12px;
|
||||
border-left: 3px solid var(--border);
|
||||
color: var(--text-muted);
|
||||
}
|
||||
.md del {
|
||||
color: var(--text-faint);
|
||||
}
|
||||
.meta-badge {
|
||||
font-family: var(--mono);
|
||||
font-size: 10px;
|
||||
|
||||
Reference in New Issue
Block a user