Extract code groups into a partial and display them for entire files and raw files.
This commit is contained in:
parent
d1ea7b5364
commit
5d0920cb6d
|
@ -15,6 +15,10 @@ $code-color-comment: grey;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.highlight-group pre {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
code {
|
code {
|
||||||
font-family: $font-code;
|
font-family: $font-code;
|
||||||
background-color: $code-color;
|
background-color: $code-color;
|
||||||
|
|
12
themes/vanilla/layouts/partials/geturl.html
Normal file
12
themes/vanilla/layouts/partials/geturl.html
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{{ $scratch := .scratch }}
|
||||||
|
{{ $scratch.Set "bestLength" -1 }}
|
||||||
|
{{ $scratch.Set "bestUrl" (printf "https://dev.danilafe.com/Web-Projects/blog-static/src/branch/master/code/%s" .path) }}
|
||||||
|
{{ $filePath := .path }}
|
||||||
|
{{ range $module, $props := .submoduleLinks }}
|
||||||
|
{{ $path := index $props "path" }}
|
||||||
|
{{ $bestLength := $scratch.Get "bestLength" }}
|
||||||
|
{{ if and (le $bestLength (len $path)) (hasPrefix $filePath $path) }}
|
||||||
|
{{ $scratch.Set "bestLength" (len $path) }}
|
||||||
|
{{ $scratch.Set "bestUrl" (printf "%s%s" (index $props "url") (strings.TrimPrefix $path $filePath)) }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
3
themes/vanilla/layouts/partials/group.html
Normal file
3
themes/vanilla/layouts/partials/group.html
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<div class="highlight-group">
|
||||||
|
<div class="highlight-label">From <a href="{{ .url }}">{{ path.Base .path }}</a>{{ .comment }}</div>{{ .content }}
|
||||||
|
</div>
|
1
themes/vanilla/layouts/partials/highlightgroup.html
Normal file
1
themes/vanilla/layouts/partials/highlightgroup.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{{ partial "group.html" (dict "url" .url "path" .path "comment" .comment "content" (highlight .code .language .opts)) }}
|
|
@ -1 +1,2 @@
|
||||||
{{ highlight (readFile (printf "code/%s" (.Get 1))) (.Get 0) "" }}
|
{{ partial "geturl.html" (dict "scratch" .Scratch "path" (.Get 1) "submoduleLinks" .Site.Params.submoduleLinks) }}
|
||||||
|
{{ partial "highlightgroup.html" (dict "url" (.Scratch.Get "bestUrl") "path" (.Get 1) "comment" ", entire file" "code" (readFile (printf "code/%s" (.Get 1))) "language" (.Get 0) "opts" "linenos=table") }}
|
||||||
|
|
|
@ -13,20 +13,11 @@
|
||||||
{{ .Scratch.Set "opts" "" }}
|
{{ .Scratch.Set "opts" "" }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ .Scratch.Set "bestLength" -1 }}
|
{{ partial "geturl.html" (dict "scratch" .Scratch "path" (.Get 1) "submoduleLinks" .Site.Params.submoduleLinks) }}
|
||||||
{{ .Scratch.Set "bestUrl" (printf "https://dev.danilafe.com/Web-Projects/blog-static/src/branch/master/code/%s" (.Get 1)) }}
|
|
||||||
{{ $filePath := (.Get 1) }}
|
{{ if eq (.Get 2) (.Get 3) }}
|
||||||
{{ $scratch := .Scratch }}
|
{{ .Scratch.Set "comment" (printf ", line %d" (.Get 2)) }}
|
||||||
{{ range $module, $props := .Site.Params.submoduleLinks }}
|
{{ else }}
|
||||||
{{ $path := index $props "path" }}
|
{{ .Scratch.Set "comment" (printf ", lines %d through %d" (.Get 2) (.Get 3)) }}
|
||||||
{{ $bestLength := $scratch.Get "bestLength" }}
|
|
||||||
{{ if and (le $bestLength (len $path)) (hasPrefix $filePath $path) }}
|
|
||||||
{{ $scratch.Set "bestLength" (len $path) }}
|
|
||||||
{{ $scratch.Set "bestUrl" (printf "%s%s" (index $props "url") (strings.TrimPrefix $path $filePath)) }}
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ 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"))) }}
|
||||||
<div class="highlight-group">
|
|
||||||
<div class="highlight-label">From <a href="{{ .Scratch.Get "bestUrl" }}">{{ path.Base (.Get 1) }}</a>,
|
|
||||||
{{ if eq (.Get 2) (.Get 3) }}line {{ .Get 2 }}{{ else }} lines {{ .Get 2 }} through {{ .Get 3 }}{{ end }}</div>
|
|
||||||
{{ highlight (delimit $lines "\n") (.Get 0) (printf "linenos=table,linenostart=%d%s" (.Get 2) (.Scratch.Get "opts")) }}
|
|
||||||
</div>
|
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
<pre><code>{{ readFile (printf "code/%s" (.Get 0)) }}</code></pre>
|
{{ partial "geturl.html" (dict "scratch" .Scratch "path" (.Get 0) "submoduleLinks" .Site.Params.submoduleLinks) }}
|
||||||
|
{{ partial "group.html" (dict "url" (.Scratch.Get "bestUrl") "path" (.Get 0) "comment" ", entire file" "content" (safeHTML (printf "<pre><code>%s</code></pre>" (readFile (printf "code/%s" (.Get 0)))))) }}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user