Merge pull request #95 from runofthemillgeek/feat/breadcrumbs-customization

Add breadcrumbs config to hide current page and change home text
This commit is contained in:
Francesco Tomaselli 2025-03-14 21:06:32 +01:00 committed by GitHub
commit 338510e751
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 47 additions and 16 deletions

2
.gitignore vendored
View file

@ -108,3 +108,5 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk
.idea/

View file

@ -524,16 +524,14 @@ figcaption {
/* breadcrumbs */
.breadcrumbs {
display: flex;
flex-wrap: wrap;
gap: 2px;
font-size: small;
margin-bottom: calc(-0.5 * var(--h1-margin-top));
font-family: var(--font-mono);
}
.breadcrumbs span {
margin-right: -5px;
margin-left: -5px;
}
/* Comments */
.giscus {

View file

@ -7,3 +7,9 @@ title = 'typo'
[module.hugoVersion]
extended = false
min = "0.116.0"
# Default config
[params.breadcrumbs]
enabled = true
showCurrentPage = true
home = "Home"

View file

@ -1,9 +1,23 @@
{{ if .Site.Params.breadcrumbs }}
{{- if .Site.Params.breadcrumbs.enabled -}}
{{- $breadcrumbs := .Site.Params.breadcrumbs -}}
<div class="breadcrumbs">
{{ range .Ancestors.Reverse }}
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
<span class="breadcrumbs-separator"> / </span>
{{ end }}
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
{{- range $i, $v := .Ancestors.Reverse -}}
<a href="{{ .RelPermalink }}">
{{- if (and (eq $i 0) (ne $breadcrumbs.home "")) -}}
{{- $breadcrumbs.home -}}
{{- else -}}
{{- .Title -}}
{{- end -}}
</a>
{{- if (lt $i (sub $.Ancestors.Len 1)) -}}
<span class="breadcrumbs-separator">/</span>
{{- end -}}
{{- end -}}
{{- if $breadcrumbs.showCurrentPage -}}
<span class="breadcrumbs-separator">/</span>
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
{{- end -}}
</div>
{{ end }}
{{- end -}}

View file

@ -25,11 +25,21 @@ description = "Your description"
Show breadcrumbs on pages.
Example:
```toml
[params]
breadcrumbs = true
[params.breadcrumbs]
enabled = true
showCurrentPage = true
home = "~"
```
Set `enabled` to `false` if you want to hide breadcrumbs. By default, breadcrumbs are shown.
Set `showCurrentPage` to `false` to hide the last crumb, i.e, the current page.
`home` when set with a non-empty string, uses the latter as the first crumb instead of the string "Home".
## Comments
Enable comments on your posts using [Giscus](https://giscus.app/).

View file

@ -114,8 +114,9 @@ paginationSize = 100
listSummaries = true
listDateFormat = '2 Jan 2006'
# Breadcrumbs
breadcrumbs = true
# Breadcrumbs (Uncomment to disable)
# [params.breadcrumbs]
# enabled = false
# Social icons
[[params.social]]