vanilla-hugo/layouts/shortcodes/codelines.html
Danila Fedorin 8a5bbf460b Trim whitespace in more places
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-05-21 21:42:35 -07:00

41 lines
1.4 KiB
HTML

{{- $source := (readFile (printf "code/%s" (.Get 1))) -}}
{{- $allLines := split $source "\n" -}}
{{- if not (eq (int (.Get 2)) 1) -}}
{{- .Scratch.Set "remLines" (after (sub (int (.Get 2)) 1) $allLines) -}}
{{- else -}}
{{- .Scratch.Set "remLines" $allLines -}}
{{- end -}}
{{- $lines := first (add (sub (int (.Get 3)) (int (.Get 2))) 1) (.Scratch.Get "remLines") -}}
{{- if (.Get 4) -}}
{{- .Scratch.Set "opts" (printf ",%s" (.Get 4)) -}}
{{- else -}}
{{- .Scratch.Set "opts" "" -}}
{{- end -}}
{{- if (.Get 5) -}}
{{- .Scratch.Set "hidden" (.Get 5) -}}
{{- end -}}
{{- partial "geturl.html" (dict "scratch" .Scratch "path" (.Get 1) "siteSourceUrl" .Site.Params.siteSourceUrl "submoduleLinks" .Site.Data.submodules) -}}
{{- partial "linerangestr.html" (dict "scratch" .Scratch "from" (.Get 2) "to" (.Get 3)) -}}
{{- with (.Scratch.Get "hidden") -}}
<details><summary>{{ . | markdownify }}</summary>
{{- end -}}
{{- $groupconfig := dict
"url" (.Scratch.Get "bestUrl")
"basePath" (.Scratch.Get "bestPath")
"path" (.Get 1)
"comment" (.Scratch.Get "comment")
"code" (delimit $lines "\n")
"firstLine" (int (.Get 2))
"lastLine" (int (.Get 3))
"language" (.Get 0)
"opts" (printf "linenos=table,linenostart=%d%s" (.Get 2) (.Scratch.Get "opts"))
-}}
{{- partial "highlightgroup.html" $groupconfig -}}
{{- with (.Scratch.Get "hidden") -}}
</details>
{{- end -}}