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; } | |