{{ $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 }} {{ partial "geturl.html" (dict "scratch" .Scratch "path" (.Get 1) "submoduleLinks" .Site.Params.submoduleLinks) }} {{ if eq (.Get 2) (.Get 3) }} {{ .Scratch.Set "comment" (printf ", line %d" (.Get 2)) }} {{ else }} {{ .Scratch.Set "comment" (printf ", lines %d through %d" (.Get 2) (.Get 3)) }} {{ end }} {{ partial "highlightgroup.html" (dict "url" (.Scratch.Get "bestUrl") "path" (.Get 1) "comment" (.Scratch.Get "comment") "code" (delimit $lines "\n") "language" (.Get 0) "opts" (printf "linenos=table,linenostart=%d%s" (.Get 2) (.Scratch.Get "opts"))) }}