1

Sécuriser et documenter les liens morts

Rend les liens supprimés non cliquables, améliore le rapport des liens morts et accélère la génération du site.

Closes #2
Closes #3
Closes #4
This commit is contained in:
2026-04-02 22:23:16 +02:00
parent 0e4e8cd076
commit fe8037bb73
40 changed files with 423 additions and 112 deletions

View File

@@ -1,16 +1,16 @@
{{- $url := "" -}}
{{- $report := partial "external-links-report.html" (dict) -}}
{{- $report := partialCached "external-links-report.html" (dict) "default" -}}
{{- if reflect.IsMap . -}}
{{- with index . "URL" -}}
{{- $url = . -}}
{{- end -}}
{{- with index . "Report" -}}
{{- $report = partial "external-links-report.html" (dict "Report" .) -}}
{{- $report = . -}}
{{- end -}}
{{- end -}}
{{- $entries := default (dict) (index $report "entries") -}}
{{- $deadLinks := default (slice) (index $report "links") -}}
{{- $deadLinksMap := default (dict) (index $report "linksMap") -}}
{{- $host := "" -}}
{{- with $url -}}
@@ -39,11 +39,8 @@
{{- $deadInfo := dict -}}
{{- range $lookupURLs -}}
{{- if eq (len $deadInfo) 0 -}}
{{- $matches := where $deadLinks "url" . -}}
{{- if gt (len $matches) 0 -}}
{{- $deadInfo = index $matches 0 -}}
{{- end -}}
{{- if and (eq (len $deadInfo) 0) (isset $deadLinksMap .) -}}
{{- $deadInfo = index $deadLinksMap . -}}
{{- end -}}
{{- end -}}
@@ -54,6 +51,16 @@
{{- $statusTone := "unknown" -}}
{{- $statusLabel := "État inconnu" -}}
{{- $statusTitle := "" -}}
{{- $statusManual := false -}}
{{- with index $entry "manualMarked" -}}
{{- $statusManual = . -}}
{{- end -}}
{{- if and (not $statusManual) (gt (len $deadInfo) 0) -}}
{{- with index $deadInfo "manualMarked" -}}
{{- $statusManual = . -}}
{{- end -}}
{{- end -}}
{{- if gt (len $entry) 0 -}}
{{- with index $entry "status" -}}
@@ -95,7 +102,11 @@
{{- end -}}
{{- end -}}
{{- if gt $statusCode 0 -}}
{{- if $statusManual -}}
{{- $statusTone = "dead" -}}
{{- $statusLabel = "Supprimé" -}}
{{- $statusTitle = "Lien marqué comme supprimé dans data/deletions.yaml" -}}
{{- else if gt $statusCode 0 -}}
{{- if lt $statusCode 400 -}}
{{- $statusTone = "ok" -}}
{{- $statusLabel = printf "OK %d" $statusCode -}}