{{ $scratch := .scratch }} {{ $scratch.Set "bestLength" -1 }} {{ $scratch.Set "bestUrl" (printf "%s/code/%s" .siteSourceUrl .path) }} {{ $filePath := .path }} {{ range $path, $url := .submoduleLinks }} {{ $bestLength := $scratch.Get "bestLength" }} {{ if and (le $bestLength (len $path)) (hasPrefix $filePath $path) }} {{ $scratch.Set "bestLength" (len $path) }} {{ $scratch.Set "bestPath" $path }} {{ $scratch.Set "bestUrl" (printf "%s%s" $url (strings.TrimPrefix $path $filePath)) }} {{ end }} {{ end }}