release 1.15.1: SUMMARY severity backgrounds on mon HTML; fix section paint
Phase section() ╔═║╚ boxes are class section (no sum-header). Real SUMMARY rows keep solid OK/WARN/ERROR/INFO backgrounds on the web.
This commit is contained in:
parent
25cb8216b3
commit
66fa471d00
4 changed files with 85 additions and 48 deletions
|
|
@ -277,19 +277,13 @@ def is_numbered_check_line(line: str) -> bool:
|
|||
def classify(line: str) -> str:
|
||||
u = line.upper()
|
||||
low = line.lower()
|
||||
# section / summary headers before badge matching (they contain the word ERROR)
|
||||
if re.search(r"[╔═║╚]|SUMMARY", u) and (
|
||||
"SUMMARY" in u or "═══" in line or "╔" in line or "╚" in line
|
||||
):
|
||||
if "SUMMARY" in u or ("╔" in line and "═" in line) or ("╚" in line and "═" in line):
|
||||
if "SUMMARY" in u or (not is_numbered_check_line(line) and ("╔" in line or "╚" in line or "║" in line)):
|
||||
if "SUMMARY" in u or re.match(r"^\s*[╔╚║]", line):
|
||||
if "SUMMARY" in u:
|
||||
return "sum-header"
|
||||
if re.match(r"^\s*[╔╚]", line) and "═" in line:
|
||||
return "sum-header"
|
||||
if re.match(r"^\s*║", line) and not is_numbered_check_line(line):
|
||||
return "sum-header"
|
||||
# SUMMARY box header only when the word SUMMARY is present (not phase section() boxes).
|
||||
# Phase section() also uses ╔═║╚ with blue BG_SEC — those must stay class "section".
|
||||
if "SUMMARY" in u:
|
||||
return "sum-header"
|
||||
# Double-line box frames from section() → section (no sum-* paint)
|
||||
if re.match(r"^\s*[╔╚].*═", line) or re.match(r"^\s*║\s", line):
|
||||
return "section"
|
||||
if "--- ERRORS" in u or "ERRORS ·" in u or "ERRORS (" in u:
|
||||
return "meta"
|
||||
if "numbered checks" in low:
|
||||
|
|
@ -1883,59 +1877,99 @@ main {{ padding: 12px 14px 48px; max-width: 1200px; }}
|
|||
.line.warn {{ color: var(--warn); }}
|
||||
.line.info {{ color: var(--info); }}
|
||||
.line.blocker {{ color: var(--blocker); }}
|
||||
.line.section {{ color: var(--sec); margin-top: 8px; font-weight: 600; }}
|
||||
/* Phase section titles (╔═║╚ from section()) — light chrome, NOT sum-* paint */
|
||||
.line.section {{
|
||||
color: #9cf;
|
||||
margin-top: 10px;
|
||||
font-weight: 700;
|
||||
background: transparent;
|
||||
border-left: 3px solid #345;
|
||||
padding: 2px 0 2px 8px;
|
||||
}}
|
||||
.line.meta {{ color: var(--dim); }}
|
||||
.line.plain {{ color: var(--fg); }}
|
||||
/* v1.14.0: SUMMARY box rows — distinct bg + bold per severity */
|
||||
/* SUMMARY box — full-width solid backgrounds matching terminal ROW_* tints */
|
||||
.line.sum-header,
|
||||
.line.sum-ok,
|
||||
.line.sum-err,
|
||||
.line.sum-warn,
|
||||
.line.sum-info,
|
||||
.line.sum-block,
|
||||
.line.sum-totals,
|
||||
.line.sum-verdict-ok,
|
||||
.line.sum-verdict-warn,
|
||||
.line.sum-verdict-err {{
|
||||
display: block;
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
margin: 2px 0;
|
||||
padding: 6px 10px;
|
||||
border-radius: 3px;
|
||||
font-weight: 800;
|
||||
letter-spacing: 0.02em;
|
||||
}}
|
||||
.line.sum-header {{
|
||||
color: #fff; font-weight: 800; letter-spacing: 0.04em;
|
||||
background: linear-gradient(90deg, #1a3a1a 0%, #0a1a0a 100%);
|
||||
border-left: 4px solid var(--ok); padding: 4px 8px; margin-top: 10px;
|
||||
color: #e8ffe8;
|
||||
background: #145214; /* solid green header (not blue) */
|
||||
border: 1px solid #2a8a2a;
|
||||
border-left: 6px solid #3d3;
|
||||
margin-top: 14px;
|
||||
text-shadow: 0 1px 0 #0008;
|
||||
}}
|
||||
.line.sum-ok {{
|
||||
color: #b8f0b8; font-weight: 700;
|
||||
background: #0d1f0d; border-left: 4px solid var(--ok);
|
||||
padding: 3px 8px; margin: 2px 0;
|
||||
color: #d4ffd4;
|
||||
background: #0f3d0f;
|
||||
border: 1px solid #1a6b1a;
|
||||
border-left: 6px solid var(--ok);
|
||||
}}
|
||||
.line.sum-err {{
|
||||
color: #ffc9c9; font-weight: 700;
|
||||
background: #2a0a0a; border-left: 4px solid var(--err);
|
||||
padding: 3px 8px; margin: 2px 0;
|
||||
color: #ffe0e0;
|
||||
background: #4a1010;
|
||||
border: 1px solid #822;
|
||||
border-left: 6px solid var(--err);
|
||||
}}
|
||||
.line.sum-warn {{
|
||||
color: #1a1400; font-weight: 800;
|
||||
background: #c9a227; border-left: 4px solid #8a7010;
|
||||
padding: 3px 8px; margin: 2px 0;
|
||||
color: #1a1400;
|
||||
background: #e6c200; /* bright gold — clearly not blue */
|
||||
border: 1px solid #a68b00;
|
||||
border-left: 6px solid #8a7010;
|
||||
}}
|
||||
.line.sum-info {{
|
||||
color: #c8e7ff; font-weight: 700;
|
||||
background: #0a1520; border-left: 4px solid var(--info);
|
||||
padding: 3px 8px; margin: 2px 0;
|
||||
color: #e0f2ff;
|
||||
background: #0c2a4a; /* navy INFO row only */
|
||||
border: 1px solid #1a4a7a;
|
||||
border-left: 6px solid var(--info);
|
||||
}}
|
||||
.line.sum-block {{
|
||||
color: #f5d0ff; font-weight: 700;
|
||||
background: #1a0a1a; border-left: 4px solid var(--blocker);
|
||||
padding: 3px 8px; margin: 2px 0;
|
||||
color: #ffe0ff;
|
||||
background: #3a1040;
|
||||
border: 1px solid #6a2a70;
|
||||
border-left: 6px solid var(--blocker);
|
||||
}}
|
||||
.line.sum-totals {{
|
||||
color: #eee; font-weight: 700;
|
||||
background: #1a1a1a; border-left: 4px solid #666;
|
||||
padding: 4px 8px; margin: 4px 0 2px;
|
||||
color: #f0f0f0;
|
||||
background: #2a2a2a;
|
||||
border: 1px solid #555;
|
||||
border-left: 6px solid #888;
|
||||
margin-top: 6px;
|
||||
}}
|
||||
.line.sum-verdict-ok {{
|
||||
color: #b8f0b8; font-weight: 800;
|
||||
background: #0d1f0d; border: 1px solid #2a5a2a;
|
||||
padding: 4px 8px; margin: 4px 0 8px;
|
||||
color: #d4ffd4;
|
||||
background: #0f3d0f;
|
||||
border: 2px solid #2a8a2a;
|
||||
margin-bottom: 10px;
|
||||
}}
|
||||
.line.sum-verdict-warn {{
|
||||
color: #1a1400; font-weight: 800;
|
||||
background: #c9a227; border: 1px solid #8a7010;
|
||||
padding: 4px 8px; margin: 4px 0 8px;
|
||||
color: #1a1400;
|
||||
background: #e6c200;
|
||||
border: 2px solid #8a7010;
|
||||
margin-bottom: 10px;
|
||||
}}
|
||||
.line.sum-verdict-err {{
|
||||
color: #ffc9c9; font-weight: 800;
|
||||
background: #2a0a0a; border: 1px solid #622;
|
||||
padding: 4px 8px; margin: 4px 0 8px;
|
||||
color: #ffe0e0;
|
||||
background: #4a1010;
|
||||
border: 2px solid #a33;
|
||||
margin-bottom: 10px;
|
||||
}}
|
||||
a.jump {{ color: inherit; text-decoration: underline dotted; }}
|
||||
footer {{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue