quartz/layouts/_default/_markup/render-link.html
Brandon Boswell 2c6f847d4a
Have external links open in a new tab
Usually when linking to outside sources, I find myself wanting to do so in a new tab. Internal links will continue to route in the current tab.
2022-05-11 22:42:58 -04:00

17 lines
761 B
HTML

{{$trimmed := strings.TrimSuffix ".md" (.Destination | safeURL)}}
{{$dashedurl := replace $trimmed "%20" "-" }}
{{$external := strings.HasPrefix $dashedurl "http" }}
{{- if $external -}}
<a target="_blank" href="{{ $dashedurl }}" rel="noopener">{{ .Text | safeHTML }}</a>
{{- else -}}
{{$spacedurl := replace $trimmed "%20" " " }}
{{$fixedUrl := (cond (hasPrefix $spacedurl "/") $spacedurl (print "/" $spacedurl)) | urlize}}
{{$nonexistent := eq (.Page.GetPage $spacedurl).RelPermalink ""}}
{{$rooted := default $spacedurl ((.Page.GetPage $spacedurl).RelPermalink) }}
<a
{{if not $nonexistent}}href="{{$rooted}}"{{end}}
rel="noopener" class="internal-link{{if $nonexistent}} broken{{end}}"
data-src="{{$rooted}}">{{- .Text | safeHTML -}}
</a>
{{- end -}}