32 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{{- $scratch := newScratch -}}
 | 
						|
{{- $absoluteDest := absLangURL .Destination -}}
 | 
						|
{{- $siteRootUrl := absLangURL "" -}}
 | 
						|
{{- $isExternal := not (hasPrefix $absoluteDest $siteRootUrl) -}}
 | 
						|
{{- $isSamePage := hasPrefix .Destination "#" -}}
 | 
						|
 | 
						|
{{- if $isSamePage -}}
 | 
						|
  {{- $scratch.Set "class" "same-page-link" -}}
 | 
						|
  {{- if index (.Page.Scratch.Get "definedSections") .Destination -}}
 | 
						|
    {{- $scratch.Set "icon" "arrow-up" -}}
 | 
						|
  {{- else -}}
 | 
						|
    {{- /* Do not render "down" links because don't know how to distinguish unseen titles from paragraph links. */ -}}
 | 
						|
    {{- /* $scratch.Set "icon" "arrow-down" */ -}}
 | 
						|
  {{- end -}}
 | 
						|
{{- else if $isExternal -}}
 | 
						|
  {{- $scratch.Set "class" "external-link" -}}
 | 
						|
  {{- $scratch.Set "icon" "external-link" -}}
 | 
						|
{{- end -}}
 | 
						|
<a href="{{ .Destination | safeURL }}"
 | 
						|
  {{- with .Title }} title="{{ . }}"{{ end -}}
 | 
						|
  {{- with $scratch.Get "class" -}}
 | 
						|
    class="{{ . }}"
 | 
						|
  {{- end -}}
 | 
						|
  {{- if (and site.Params.externalLinksInNewTab $isExternal) -}}
 | 
						|
    target="_blank" rel="noopener noreferrer"
 | 
						|
  {{- end -}}
 | 
						|
>
 | 
						|
  {{- with .Text | safeHTML }}{{ . }}{{ end -}}
 | 
						|
  {{- with $scratch.Get "icon" -}}{{- partial "icon.html" . -}}{{- end -}}
 | 
						|
</a>
 | 
						|
{{- /* chomp trailing newline */ -}}
 |