1
0
Fork 0
mirror of https://git.sr.ht/~seirdy/seirdy.one synced 2024-11-23 12:52:10 +00:00

Remove extra target URL components for webmentions

Remove query params, port numbers, bad schemes, anchors, etc. from
webmention target URLs.
This commit is contained in:
Rohan Kumar 2023-11-17 17:20:38 -08:00
parent 66b6ac0dbc
commit 25367c55e7
No known key found for this signature in database
GPG key ID: 1E892DB2A5F84479

View file

@ -17,18 +17,16 @@
{{- $oldTarget := $target | replaceRE "/posts" "" | replaceRE "/$" ".html" -}} {{- $oldTarget := $target | replaceRE "/posts" "" | replaceRE "/$" ".html" -}}
{{ $targets = (slice $target $oldTarget) }} {{ $targets = (slice $target $oldTarget) }}
{{- end -}} {{- end -}}
{{- /* We can't just use a simple "where" function because we need to ignore URL anchors when making a comparison: https://discourse.gohugo.io/t/add-like-comparison-operator-to-the-where-function/42013/4 */ -}} {{- /* We can't just use a simple "where" function because we need to ignore URL anchors/query-params when making a comparison: https://discourse.gohugo.io/t/add-like-comparison-operator-to-the-where-function/42013/4 */ -}}
{{- $webmentions := slice -}} {{- $webmentions := slice -}}
{{- range $allMentions -}} {{- range $allMentions -}}
{{- if in $targets .target -}} {{- if in $targets .target -}}
{{ $webmentions = $webmentions | append . }} {{ $webmentions = $webmentions | append . }}
{{- else -}} {{- else -}}
{{- $fragment := printf `#%s` (urls.Parse .target).Fragment -}} {{- $u := urls.Parse .target -}}
{{- if gt (len $fragment) 1 -}} {{- $trimmedTarget := printf `https://%s%s` $u.Hostname $u.Path -}}
{{- $trimmedTarget := strings.TrimSuffix $fragment .target -}} {{- if in $targets $trimmedTarget -}}
{{- if in $targets $trimmedTarget -}} {{ $webmentions = $webmentions | append . }}
{{ $webmentions = $webmentions | append . }}
{{- end -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}