159 lines
7.0 KiB
HTML
159 lines
7.0 KiB
HTML
{{ $hasToc := and (in .TableOfContents "<li>" ) (.Params.toc) }}
|
|
{{ $hasSidebar := or ($hasToc) (.Params.series) }}
|
|
<div class="lg:pt-12">
|
|
<div class="flex flex-col md:flex-row bg-secondary-bg rounded">
|
|
<div class="md:w-1/4 lg:w-1/5 border-e">
|
|
<div class="sticky top-16 pt-6">
|
|
{{ template "doc-sidebar" (dict "context" . "permalink" .Permalink) }}
|
|
</div>
|
|
|
|
</div>
|
|
<div class="w-full md:w-3/4 lg:w-4/5 pb-8 pt-2 md:pt-8">
|
|
<div class="flex">
|
|
<div class="w-full lg:w-3/4 px-6">
|
|
{{ partial "components/post-article" . }}
|
|
|
|
{{ with .GetTerms "tags" }}
|
|
{{ partial "components/post-tags" . }}
|
|
{{ end }}
|
|
{{ with .GetTerms "authors" }}
|
|
{{ partial "components/post-author" . }}
|
|
{{ end }}
|
|
|
|
{{ partial "components/post-edit" . }}
|
|
|
|
{{ partial "components/post-footer" . }}
|
|
{{ partial "comment" . }}
|
|
</div>
|
|
{{ if $hasSidebar}}
|
|
<div class="hidden lg:block lg:w-1/4">
|
|
{{ if ne $hasToc false }}
|
|
{{ partial "components/post-toc" . }}
|
|
{{ end }}
|
|
</div>
|
|
{{ end }}
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
{{/* highlight.js */}}
|
|
{{- if eq .Site.Params.highlight.handler "highlightjs" }}
|
|
hljs.highlightAll();
|
|
{{- end }}
|
|
changeSidebarHeight();
|
|
switchDocToc();
|
|
})
|
|
</script>
|
|
|
|
{{ define "doc-sidebar" }}
|
|
{{/* Deprecation warning(v1.0.0) starts */}}
|
|
{{ $parentLayout := partial "utils/hyphenate" (.context.Parent.Layout | default .context.Parent.Type) }}
|
|
{{/* Deprecation warning(v1.0.0) ends */}}
|
|
{{ if eq $parentLayout "doc-list" }}
|
|
{{ template "list-pages" (dict "context" .context "permalink" .permalink) }}
|
|
{{ else if (findRE "v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?/$" .context.Permalink) }}
|
|
{{ template "list-pages" (dict "context" .context "permalink" .permalink) }}
|
|
{{ else }}
|
|
{{ template "doc-sidebar" (dict "context" .context.Parent "permalink" .permalink) }}
|
|
{{ end }}
|
|
{{ end }}
|
|
|
|
{{ define "list-pages" }}
|
|
<div id="sidebar-title" class="md:hidden mx-4 px-2 pt-4 pb-2 md:border-b text-tertiary-text md:text-primary-text">
|
|
<span class="font-semibold">{{ i18n "toc" }}</span>
|
|
<i class='fas {{ cond (eq .Site.Language.LanguageDirection "rtl") "fa-caret-left" "fa-caret-right" }} ms-1'></i>
|
|
</div>
|
|
|
|
<div id="sidebar-toc"
|
|
class="hidden md:block overflow-y-auto mx-6 md:mx-0 pe-6 pt-2 md:max-h-doc-sidebar bg-primary-bg md:bg-transparent">
|
|
<div class="flex flex-wrap ms-4 -me-2 p-2 bg-secondary-bg md:bg-primary-bg rounded">
|
|
<a class="{{ if eq .context.Permalink .permalink }}text-eureka{{ end }} hover:text-eureka"
|
|
href="{{ .context.Permalink }}">{{ .context.LinkTitle }}</a>
|
|
|
|
{{ $versions := partial "get-versions" (dict "context" .context) }}
|
|
{{ if $versions }}
|
|
<div class="relative ms-2 cursor-pointer">
|
|
<div id="doc-version" class="flex items-center bg-primary-bg md:bg-secondary-bg">
|
|
{{ $version := findRE "v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?" .context.Permalink }}
|
|
<span class="ms-2 me-1">{{ cond (gt (len $version) 0) (index $version 0) "latest" }}</span>
|
|
<i class='fas {{ cond (eq .Site.Language.LanguageDirection "rtl") "fa-caret-left" "fa-caret-right" }} w-4 h-4 me-1'></i>
|
|
</div>
|
|
<div id="version-options" class="hidden absolute start-0 bg-secondary-bg rounded z-40">
|
|
{{ range $index, $value := $versions }}
|
|
{{ if eq $index 0 }}
|
|
<div class="ms-2 me-8 my-1">
|
|
<a class="" href="{{ $.context.Parent.Permalink }}">latest</a>
|
|
</div>
|
|
{{ end }}
|
|
{{ $version := findRE "v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?" . }}
|
|
<div class="ms-2 me-8 my-1">
|
|
<a class="" href="{{ . }}">{{ index $version 0 }}</a>
|
|
</div>
|
|
{{ end }}
|
|
</div>
|
|
</div>
|
|
<div class="fixed hidden inset-0 opacity-0 h-full w-full cursor-default z-0" id="switch-canvas">
|
|
</div>
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
switchDocVersion();
|
|
})
|
|
</script>
|
|
{{ end }}
|
|
|
|
|
|
</div>
|
|
{{ template "list-items" (dict "context" .context "permalink" .permalink) }}
|
|
</div>
|
|
{{ end }}
|
|
|
|
{{ define "list-items"}}
|
|
<ul class="ps-6">
|
|
{{ range .context.Pages }}
|
|
{{ $version := findRE "v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?/$" .Permalink }}
|
|
{{ if eq (len $version) 0 }}
|
|
<li class="py-2">
|
|
<div class="{{ if .IsSection }} pb-2 {{ end }}">
|
|
<a class="{{ if eq .Permalink $.permalink }} text-eureka {{ end }} hover:text-eureka"
|
|
href="{{ .Permalink }}">{{ .LinkTitle }}</a>
|
|
</div>
|
|
{{ if .IsSection }}
|
|
{{ template "list-items" (dict "context" . "permalink" $.permalink) }}
|
|
{{ end }}
|
|
</li>
|
|
{{ end }}
|
|
{{ end }}
|
|
</ul>
|
|
{{ end }}
|
|
|
|
{{ define "partials/get-versions" }}
|
|
{{/* Deprecation warning(v1.0.0) starts */}}
|
|
{{ $parentLayout := partial "utils/hyphenate" (.context.Parent.Layout | default .context.Parent.Type) }}
|
|
{{/* Deprecation warning(v1.0.0) ends */}}
|
|
{{ if eq $parentLayout "doc-list" }}
|
|
{{ range .context.Pages.Reverse }}
|
|
{{ $hasVersion := findRE "v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?/$" .Permalink }}
|
|
{{ if $hasVersion}}
|
|
{{ $version := slice .Permalink }}
|
|
{{ $.context.Scratch.Add "versions" $version }}
|
|
{{ end }}
|
|
{{ end }}
|
|
{{ else }}
|
|
{{ range .context.Parent.Pages.Reverse }}
|
|
{{ $hasVersion := findRE "v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?/$" .Permalink }}
|
|
{{ if $hasVersion }}
|
|
{{ $version := slice .Permalink }}
|
|
{{ $.context.Scratch.Add "versions" $version }}
|
|
{{ end }}
|
|
{{ end }}
|
|
{{ end }}
|
|
{{ $versions := .context.Scratch.Get "versions" }}
|
|
{{ .context.Scratch.Delete "versions" }}
|
|
{{ return $versions }}
|
|
{{ end }} |