36 lines
No EOL
1.1 KiB
JSON
36 lines
No EOL
1.1 KiB
JSON
{{- $links := slice -}}
|
|
{{- $excludeDomains := slice "ritual.sh" "last.fm" "www.last.fm" "amazon.co.uk" "www.amazon.co.uk" "amazon.com" "www.amazon.com" -}}
|
|
|
|
{{- range .Site.RegularPages -}}
|
|
{{- $postUrl := .Permalink -}}
|
|
{{- $content := .Content -}}
|
|
|
|
{{- /* Extract all hrefs from content */ -}}
|
|
{{- $hrefs := findRE `href="([^"]+)"` $content -}}
|
|
|
|
{{- range $hrefs -}}
|
|
{{- $href := . | replaceRE `href="([^"]+)"` "$1" -}}
|
|
|
|
{{- /* Only external links */ -}}
|
|
{{- if hasPrefix $href "http" -}}
|
|
{{- $shouldExclude := false -}}
|
|
|
|
{{- /* Check if href contains any excluded domain */ -}}
|
|
{{- range $excludeDomains -}}
|
|
{{- if in $href . -}}
|
|
{{- $shouldExclude = true -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- if not $shouldExclude -}}
|
|
{{- $links = $links | append (dict "source" $postUrl "target" $href) -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
[
|
|
{{ range $i, $link := $links -}}
|
|
{{ if $i }},
|
|
{{ end }} {"source":"{{ $link.source }}","target":"{{ $link.target }}"}
|
|
{{ end -}}
|
|
] |