Use mutable variables instead of scratch where possible
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
This commit is contained in:
parent
4ff04221b0
commit
b06b695653
@ -1,24 +1,25 @@
|
||||
{{- $scratch := newScratch -}}
|
||||
{{- $class := "" -}}
|
||||
{{- $icon := "" -}}
|
||||
{{- $absoluteDest := absLangURL .Destination -}}
|
||||
{{- $siteRootUrl := absLangURL "" -}}
|
||||
{{- $isExternal := not (hasPrefix $absoluteDest $siteRootUrl) -}}
|
||||
{{- $isSamePage := hasPrefix .Destination "#" -}}
|
||||
|
||||
{{- if $isSamePage -}}
|
||||
{{- $scratch.Set "class" "same-page-link" -}}
|
||||
{{- $class = "same-page-link" -}}
|
||||
{{- if index (.Page.Scratch.Get "definedSections") .Destination -}}
|
||||
{{- $scratch.Set "icon" "arrow-up" -}}
|
||||
{{- $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" */ -}}
|
||||
{{- /* $icon = "arrow-down" */ -}}
|
||||
{{- end -}}
|
||||
{{- else if $isExternal -}}
|
||||
{{- $scratch.Set "class" "external-link" -}}
|
||||
{{- $scratch.Set "icon" "external-link" -}}
|
||||
{{- $class = "external-link" -}}
|
||||
{{- $icon = "external-link" -}}
|
||||
{{- end -}}
|
||||
<a href="{{ .Destination | safeURL }}"
|
||||
{{- with .Title }} title="{{ . }}"{{ end -}}
|
||||
{{- with $scratch.Get "class" -}}
|
||||
{{- with $class -}}
|
||||
class="{{ . }}"
|
||||
{{- end -}}
|
||||
{{- if (and site.Params.externalLinksInNewTab $isExternal) -}}
|
||||
@ -26,6 +27,6 @@
|
||||
{{- end -}}
|
||||
>
|
||||
{{- with .Text | safeHTML }}{{ . }}{{ end -}}
|
||||
{{- with $scratch.Get "icon" -}}{{- partial "icon.html" . -}}{{- end -}}
|
||||
{{- with $icon -}}{{- partial "icon.html" . -}}{{- end -}}
|
||||
</a>
|
||||
{{- /* chomp trailing newline */ -}}
|
||||
|
@ -1,12 +1,11 @@
|
||||
{{- $scratch := newScratch -}}
|
||||
{{- $scratch.Set "highlightGroupAttrs" (printf "data-base-path=\"%s\" data-file-path=\"%v\"" .basePath .path) -}}
|
||||
{{- $highlightGroupAttrs := (printf "data-base-path=\"%s\" data-file-path=\"%v\"" .basePath .path) -}}
|
||||
{{- if (or .firstLine .lastLine) -}}
|
||||
{{- $scratch.Add "highlightGroupAttrs" (printf " data-first-line=\"%v\" data-last-line=\"%v\"" .firstLine .lastLine) -}}
|
||||
{{- $highlightGroupAttrs = add $highlightGroupAttrs (printf " data-first-line=\"%v\" data-last-line=\"%v\"" .firstLine .lastLine) -}}
|
||||
{{- end -}}
|
||||
{{- if eq (lower .language) "agda" -}}
|
||||
{{- $scratch.Add "highlightGroupAttrs" " data-agda-block" -}}
|
||||
{{- $highlightGroupAttrs = add $highlightGroupAttrs " data-agda-block" -}}
|
||||
{{- end -}}
|
||||
{{- with .offset -}}
|
||||
{{- $scratch.Add "highlightGroupAttrs" (printf " data-source-offset=\"%v\"" .) -}}
|
||||
{{- $highlightGroupAttrs = add $highlightGroupAttrs (printf " data-source-offset=\"%v\"" .) -}}
|
||||
{{- end -}}
|
||||
{{ partial "group.html" (dict "url" .url "path" .path "comment" .comment "content" (highlight .code .language .opts) "attrs" ($scratch.Get "highlightGroupAttrs")) }}
|
||||
{{ partial "group.html" (dict "url" .url "path" .path "comment" .comment "content" (highlight .code .language .opts) "attrs" $highlightGroupAttrs) }}
|
||||
|
@ -1,39 +1,38 @@
|
||||
{{- $source := (readFile (printf "code/%s" (.Get 1))) -}}
|
||||
{{- $allLines := split $source "\n" -}}
|
||||
{{- $scratch := newScratch -}}
|
||||
{{- $remLines := $allLines -}}
|
||||
{{- if not (eq (int (.Get 2)) 1) -}}
|
||||
{{- $scratch.Set "remLines" (after (sub (int (.Get 2)) 1) $allLines) -}}
|
||||
{{- else -}}
|
||||
{{- $scratch.Set "remLines" $allLines -}}
|
||||
{{- $remLines = after (sub (int (.Get 2)) 1) $allLines -}}
|
||||
{{- end -}}
|
||||
{{- $lines := first (add (sub (int (.Get 3)) (int (.Get 2))) 1) ($scratch.Get "remLines") -}}
|
||||
{{- $lines := first (add (sub (int (.Get 3)) (int (.Get 2))) 1) $remLines -}}
|
||||
|
||||
{{- $opts := "" -}}
|
||||
{{- if (.Get 4) -}}
|
||||
{{- $scratch.Set "opts" (printf ",%s" (.Get 4)) -}}
|
||||
{{- else -}}
|
||||
{{- $scratch.Set "opts" "" -}}
|
||||
{{- $opts = printf ",%s" (.Get 4) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if (.Get 5) -}}
|
||||
{{- $scratch.Set "hidden" (.Get 5) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $prefixLength := "" -}}
|
||||
{{- $joinedLines := "" -}}
|
||||
{{- if or (.Page.Params.left_align_code) (.Get 6) -}}
|
||||
{{- $scratch.Set "prefixLength" -1 -}}
|
||||
{{- $prefixLength = -1 -}}
|
||||
{{- range $line := $lines -}}
|
||||
{{- $leading := sub (len $line) (len (strings.TrimLeft " " $line)) -}}
|
||||
{{- if and (ne $line "") (or (eq ($scratch.Get "prefixLength") -1) (le $leading ($scratch.Get "prefixLength"))) -}}
|
||||
{{- $scratch.Set "prefixLength" $leading -}}
|
||||
{{- if and (ne $line "") (or (eq $prefixLength -1) (le $leading $prefixLength)) -}}
|
||||
{{- $prefixLength = $leading -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $scratch.Set "joinedLines" "" -}}
|
||||
{{- range $line := $lines -}}
|
||||
{{- $scratch.Add "joinedLines" (substr $line ($scratch.Get "prefixLength")) -}}
|
||||
{{- $scratch.Add "joinedLines" "\n" -}}
|
||||
{{- $joinedLines = add $joinedLines (substr $line $prefixLength) -}}
|
||||
{{- $joinedLines = add $joinedLines "\n" -}}
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- $scratch.Set "joinedLines" (delimit $lines "\n") -}}
|
||||
{{- $joinedLines = delimit $lines "\n" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- partial "geturl.html" (dict "scratch" $scratch "path" (.Get 1) "lines" (slice (.Get 2) (.Get 3))) -}}
|
||||
@ -47,12 +46,12 @@
|
||||
"basePath" ($scratch.Get "bestPath")
|
||||
"path" (.Get 1)
|
||||
"comment" ($scratch.Get "comment")
|
||||
"code" ($scratch.Get "joinedLines")
|
||||
"code" $joinedLines
|
||||
"firstLine" (int (.Get 2))
|
||||
"lastLine" (int (.Get 3))
|
||||
"language" (.Get 0)
|
||||
"offset" ($scratch.Get "prefixLength")
|
||||
"opts" (printf "linenos=table,linenostart=%d%s" (.Get 2) ($scratch.Get "opts"))
|
||||
"offset" $prefixLength
|
||||
"opts" (printf "linenos=table,linenostart=%d%s" (.Get 2) $opts)
|
||||
-}}
|
||||
{{- partial "highlightgroup.html" $groupconfig -}}
|
||||
{{- with ($scratch.Get "hidden") -}}
|
||||
|
Loading…
Reference in New Issue
Block a user