{{- $link := .Destination }}
{{- $isRemote := strings.HasPrefix $link "http" }}
{{- if not $isRemote }}
  {{- $url := urls.Parse .Destination }}
  {{- if $url.Path }}
    {{- $fragment := "" }}
    {{- with $url.Fragment }}
      {{ $fragment = printf "#%s" . }}
    {{- end }}
    {{- with .Page.GetPage $url.Path }}
      {{- $link = printf "%s%s" .RelPermalink $fragment }}
    {{- end }}
  {{- end }}
{{- end -}}
<a href="{{ $link | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if $isRemote }} target="_blank"{{ end }}>{{ .Text | safeHTML }}</a>
{{- /* This comment removes trailing newlines. */ -}}