feat: verify_article.sh +5 Checks — Dachzeile, Infobox, Read-More-Pos, Quellen-Links, Recherchestand
This commit is contained in:
@@ -141,6 +141,54 @@ else
|
|||||||
fail "Kein Quellen-Block gefunden (h2/span>Quellen fehlt)"
|
fail "Kein Quellen-Block gefunden (h2/span>Quellen fehlt)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# ── CHECK 14: Dachzeile vorhanden (div unter h1 mit border-bottom) ──
|
||||||
|
if echo "$BODY" | grep -qP '<div style="[^"]*border-bottom:2px solid #e0e0e0[^"]*"'; then
|
||||||
|
ok "Dachzeile vorhanden"
|
||||||
|
else
|
||||||
|
fail "Dachzeile fehlt (grauer Div-Balken unter h1)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ── CHECK 15: Infobox vorhanden (f0f4f8 Hintergrund) ─────────────────
|
||||||
|
if echo "$BODY" | grep -q 'background:#f0f4f8'; then
|
||||||
|
ok "Infobox vorhanden"
|
||||||
|
else
|
||||||
|
fail "Infobox fehlt (Fakten-Tabelle mit #f0f4f8 Hintergrund)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ── CHECK 16: Read-More NACH allen h2 (Position prüfen) ──────────────
|
||||||
|
READMORE_LINE=$(grep -n 'system-readmore' "$FILE" | head -1 | cut -d: -f1)
|
||||||
|
LAST_H2_LINE=$(grep -n '<h2>' "$FILE" | tail -1 | cut -d: -f1 || echo "0")
|
||||||
|
if [ "$LAST_H2_LINE" = "0" ]; then
|
||||||
|
warn "Keine <h2> im Artikel — Read-More-Position nicht prüfbar"
|
||||||
|
elif [ "$READMORE_LINE" -gt "$LAST_H2_LINE" ]; then
|
||||||
|
ok "Read-More NACH allen h2 (Zeile $READMORE_LINE > $LAST_H2_LINE)"
|
||||||
|
else
|
||||||
|
fail "Read-More VOR letztem h2 (Zeile $READMORE_LINE < $LAST_H2_LINE). Joomla schneidet Inhalte ab!"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ── CHECK 17: JEDE Quelle im Quellen-Block hat <a href> ─────────────
|
||||||
|
# Extrahiere Quellen-Block (nach "Quellen" bis </ol>)
|
||||||
|
SRC_START=$(grep -n 'Quellen' "$FILE" | tail -1 | cut -d: -f1 || echo "")
|
||||||
|
if [ -n "$SRC_START" ]; then
|
||||||
|
SRC_LI=$(sed -n "$SRC_START,\$p" "$FILE" | grep -c '<li>' || true)
|
||||||
|
SRC_LINKED=$(sed -n "$SRC_START,\$p" "$FILE" | grep -c '<li>.*<a href=' || true)
|
||||||
|
if [ "$SRC_LI" -eq 0 ]; then
|
||||||
|
fail "Keine <li> im Quellen-Block"
|
||||||
|
elif [ "$SRC_LI" != "$SRC_LINKED" ]; then
|
||||||
|
UNLINKED=$((SRC_LI - SRC_LINKED))
|
||||||
|
fail "$UNLINKED von $SRC_LI Quellen ohne <a href> Link"
|
||||||
|
else
|
||||||
|
ok "Alle $SRC_LI Quellen verlinkt"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ── CHECK 18: Recherchestand-Zeile vorhanden ─────────────────────────
|
||||||
|
if echo "$BODY" | grep -q 'Recherchestand:'; then
|
||||||
|
ok "Recherchestand-Zeile vorhanden"
|
||||||
|
else
|
||||||
|
fail "Recherchestand-Zeile fehlt"
|
||||||
|
fi
|
||||||
|
|
||||||
# ── SUMMARY ─────────────────────────────────────────────────────────
|
# ── SUMMARY ─────────────────────────────────────────────────────────
|
||||||
echo ""
|
echo ""
|
||||||
echo "═══════════════════════════════════════"
|
echo "═══════════════════════════════════════"
|
||||||
|
|||||||
Reference in New Issue
Block a user