init feat Breadcrumb Navigation (#207)

* adds Breadcrumb nav above title of single page/post
* add enabler var 'ShowBreadCrumbs'
* introduce i18n var "home"

usage:
in site config:
Params:
    ShowBreadCrumbs: true

in page front-matter:
ShowBreadCrumbs: false
This commit is contained in:
Aditya Telange 2021-01-29 23:37:07 +05:30 committed by GitHub
parent a7e0b2f5a9
commit 75855b2758
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 1 deletions

View File

@ -12,7 +12,8 @@
margin-bottom: 5px;
}
.post-meta {
.post-meta,
.breadcrumbs {
color: var(--secondary);
font-size: 14px;
display: flex;
@ -26,6 +27,10 @@
box-shadow: 0 1px 0 var(--secondary)
}
.breadcrumbs a {
font-size: 16px;
}
.post-content {
color: var(--content)
}

View File

@ -14,3 +14,6 @@
- id: translations
translation: "Translations"
- id: home
translation: "Home"

View File

@ -2,6 +2,24 @@
<article class="post-single">
<header class="post-header">
{{- if (.Param "ShowBreadCrumbs")}}
<div class="breadcrumbs">
{{- $url := replace .Permalink ( printf "%s" .Site.BaseURL) "" }}
{{- $lang_url := replace $url ( printf "%s" .Lang) "" }}
<a href="{{ "" | absLangURL }}">{{ i18n "home" | default "Home"}}</a>
{{- range $index, $element := split $lang_url "/" }}
{{- $.Scratch.Add "path" (printf "%s/" $element )}}
{{- $bc_pg := $.Site.GetPage ($.Scratch.Get "path") -}}
{{- if (and ($bc_pg) (gt (len . ) 0))}}
{{- print "&nbsp;»&nbsp;" | safeHTML -}}<a href="{{ $bc_pg.Permalink }}">{{ $bc_pg.Name }}</a>
{{- end }}
{{- end }}
</div>
{{- end }}
<h1 class="post-title">
{{ .Title }}
{{- if .Draft }}<div class="entry-isdraft"><sup>&nbsp;&nbsp;[draft]</sup></div>{{- end }}