{{- $scratch := .scratch -}} {{- $scratch.Set "bestLength" -1 -}} {{- $scratch.Set "bestUrl" (printf "%s/code/%s" .siteSourceUrl .path) -}} {{- $scratch.Set "bestPath" "" -}} {{- $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 -}}