forked from drowl87/hextra_mirror

* feat: support link in code block title * refactor: simplify code block filename link implementation * docs: update syntax-highlighting.md * chore: rename `filename_uri_base` to `base_url` [skip ci] * refactor: use `base_url` int code block implementation --------- Co-authored-by: Xin <xin@imfing.com>
30 lines
991 B
HTML
30 lines
991 B
HTML
{{ $filename := .filename | default "" -}}
|
|
{{ $base_url := .base_url | default "" -}}
|
|
{{ $lang := .lang | default "" }}
|
|
{{ $content := .content }}
|
|
{{ $options := .options | default (dict) }}
|
|
|
|
{{- if $filename -}}
|
|
<div class="filename not-prose" dir="auto">
|
|
{{- if $base_url -}}
|
|
|
|
{{- $base_url = strings.TrimSuffix "/" $base_url -}}
|
|
{{- $filename = strings.TrimPrefix "/" $filename -}}
|
|
{{- $file_url := urls.JoinPath $base_url $filename -}}
|
|
|
|
<a class="hx-no-underline hx-inline-flex hx-items-center hx-gap-1" href="{{ $file_url }}" target="_blank" rel="noopener noreferrer">
|
|
<span>{{- $filename -}}</span>
|
|
{{- partial "utils/icon" (dict "name" "external-link" "attributes" "height=1em") -}}
|
|
</a>
|
|
{{- else -}}
|
|
{{- $filename -}}
|
|
{{- end -}}
|
|
</div>
|
|
{{- end -}}
|
|
|
|
{{- if transform.CanHighlight $lang -}}
|
|
<div>{{- highlight $content $lang $options -}}</div>
|
|
{{- else -}}
|
|
<pre><code>{{ $content }}</code></pre>
|
|
{{- end -}}
|