#!/usr/bin/env python3
"""DMark: detail elemen yang gagal kontras & tautan kosong, plus format fontSize di isi beranda."""
import json, re

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
d = json.load(open(f"{WS}/drafts/lh_dmark.json"))
a = d["audits"]
raw = open(f"{WS}/drafts/dmark_beranda_asli.txt").read()

print("=== 4 elemen gagal kontras (Lighthouse) ===")
for it in (a.get("color-contrast", {}).get("details", {}).get("items") or [])[:6]:
    node = it.get("node", {})
    print(f"\n   selector : {str(node.get('selector'))[:130]}")
    print(f"   kode     : {str(node.get('snippet'))[:220]}")
    if it.get("explanation"):
        print(f"   sebab    : {str(it['explanation'])[:200]}")

print("\n=== tautan tanpa keterangan ===")
for it in (a.get("link-name", {}).get("details", {}).get("items") or [])[:6]:
    node = it.get("node", {})
    print(f"   {str(node.get('snippet'))[:220]}")

print("\n=== format fontSize yang sudah dipakai di isi ===")
for mm in re.finditer(r'"fontSize"\s*:\s*("[^"]+"|\{[^}]{0,80}\})', raw):
    print("   ", mm.group(0)[:100])
print("   jumlah blok dengan fontSize:", len(re.findall(r'"fontSize"', raw)))

print("\n=== contoh blok spectra/content yang punya fontSize (untuk ditiru formatnya) ===")
i = raw.find('"fontSize"')
if i > 0:
    print("   " + raw[max(0, i - 400):i + 200].replace("\n", " ")[:600])
