Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Stop comment-card styles from painting syntax tokens

cfd43dcd840ed39144d96fbd7a0d4ecd7fe50879 · Keenan Nemetz · 12d ago · parent dd440279

Stop comment-card styles from painting syntax tokens

Prism calls a token "comment", so the discussion card's unscoped .comment rule put its background and border behind every comment-coloured line in a blob or diff. Scope the card, its target/deleted/editing states, and nested replies to article.comment.

server/web/static/vole.css +10−7

@@ -1432,7 +1432,10 @@ details[open] > summary .tree-chevron { transform: rotate(90deg); }
1432 1432 .thread-side form { margin: 8px 0 0; }
1433 1433 .thread-side .meta-list { margin-bottom: 0; }
1434 1434
1435 .comment {
1435 /* Scope the card to the article that renders it. Prism calls a syntax token
1436 "comment" too, and an unscoped .comment rule put a rounded panel behind every
1437 comment-coloured line in a blob or diff. */
1438 article.comment {
1436 1439 background: var(--bg-panel);
1437 1440 border: 1px solid var(--border);
1438 1441 border-radius: var(--radius-lg);
@@ -1440,11 +1443,11 @@ details[open] > summary .tree-chevron { transform: rotate(90deg); }
1440 1443 overflow: visible;
1441 1444 scroll-margin-top: 72px;
1442 1445 }
1443 .comment:target {
1446 article.comment:target {
1444 1447 border-color: var(--accent);
1445 1448 box-shadow: 0 0 0 2px var(--accent-soft);
1446 1449 }
1447 .comment:target .comment-head { background: var(--accent-soft); }
1450 article.comment:target .comment-head { background: var(--accent-soft); }
1448 1451 .comment-head {
1449 1452 display: flex;
1450 1453 flex-wrap: wrap;
@@ -1466,7 +1469,7 @@ details[open] > summary .tree-chevron { transform: rotate(90deg); }
1466 1469 .comment-body > :first-child { margin-top: 0; }
1467 1470 .comment-body > :last-child { margin-bottom: 0; }
1468 1471
1469 .comment.deleted {
1472 article.comment.deleted {
1470 1473 border-style: dashed;
1471 1474 background: transparent;
1472 1475 }
@@ -1491,7 +1494,7 @@ details[open] > summary .tree-chevron { transform: rotate(90deg); }
1491 1494 padding-left: 12px;
1492 1495 border-left: 2px solid var(--border);
1493 1496 }
1494 .comment-replies .comment {
1497 .comment-replies article.comment {
1495 1498 margin: 0;
1496 1499 background: var(--bg-raised);
1497 1500 }
@@ -1545,8 +1548,8 @@ details[open] > summary .tree-chevron { transform: rotate(90deg); }
1545 1548 .comment-edit-form[hidden] { display: none; }
1546 1549 .comment-edit-form textarea { min-height: 6rem; max-width: none; }
1547 1550 .comment-edit-form .form-actions { margin-top: 8px; }
1548 .comment.editing > .comment-body,
1549 .comment.editing > .comment-snippet { display: none; }
1551 article.comment.editing > .comment-body,
1552 article.comment.editing > .comment-snippet { display: none; }
1550 1553
1551 1554 /* A thread keeps its root visible and lets the replies fold away. */
1552 1555 .thread-replies { margin: 0 0 10px 26px; }