Compare commits

...

19 Commits

Author SHA1 Message Date
Mark Dumay
9e668775db Merge pull request #252 from gethinode/develop
Develop
2023-05-14 05:33:48 +02:00
mark
cefd152430 Bump release version 2023-05-14 05:30:00 +02:00
mark
48d2002d1c Remove docs template from main repository 2023-05-14 05:29:23 +02:00
Mark Dumay
259f0f321c Merge pull request #251 from gethinode/main
Sync
2023-05-13 17:36:29 +02:00
Mark Dumay
d24cb8ccb3 Merge pull request #250 from gethinode/sections
Sections
2023-05-13 17:32:46 +02:00
Mark Dumay
96226e2d8a Merge branch 'main' into sections 2023-05-13 16:48:02 +02:00
mark
27857b7fd5 Bump release version 2023-05-13 16:47:31 +02:00
mark
9a67f7bd4f Support configurable nesting 2023-05-13 16:46:43 +02:00
Mark Dumay
e15cd08bea Merge pull request #249 from gethinode/links
Links
2023-05-11 09:26:04 +02:00
Mark Dumay
dd817bc5ce Merge branch 'main' into links 2023-05-11 09:08:09 +02:00
mark
4b4c9d1711 Bump release version 2023-05-11 09:07:52 +02:00
mark
38e68ac757 Fix potentially unsafe external links 2023-05-11 09:06:55 +02:00
Mark Dumay
c14d3868bb Merge pull request #248 from gethinode/develop
Multilingual
2023-05-11 06:47:51 +02:00
Mark Dumay
067c244770 Merge branch 'main' into develop 2023-05-11 06:40:52 +02:00
mark
d76d275ddb Bump release version 2023-05-11 06:38:57 +02:00
mark
1803759b6b Ensure parsed URLs are language aware 2023-05-11 06:32:31 +02:00
mark
2833cfc15a Remove language URL prefix 2023-05-11 06:28:45 +02:00
mark
0a174def75 Remove language URL prefix 2023-05-11 06:28:24 +02:00
mark
7a7d3a93f9 Translate slug of Dutch blog posts 2023-05-11 06:04:27 +02:00
24 changed files with 55 additions and 42 deletions

View File

@@ -116,7 +116,7 @@ Hinode is inspired by the following themes:
## Donate
<a href="https://www.buymeacoffee.com/markdumay" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/lato-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;"></a>
<a href="https://www.buymeacoffee.com/markdumay" target="_blank" rel="noopener noreferrer"><img src="https://cdn.buymeacoffee.com/buttons/lato-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;"></a>
## License

View File

@@ -8,10 +8,10 @@
[en.params.head]
tagline = "A Hugo Theme"
[en.params.feature]
link = "/en/about"
link = "about"
caption = "About"
[en.params.footer]
license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank'>CC BY-NC-SA 4.0</a>)."
license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
socialTitle = "Follow me"
socialCaption = "I work on everything coding and tweet developer memes"
# toml-docs-end lang-param
@@ -23,9 +23,9 @@
[nl.params.head]
tagline = "Een Hugo Thema"
[nl.params.feature]
link = "/nl/over-mij"
link = "over-mij"
caption = "Over mij"
[nl.params.footer]
license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank'>CC BY-NC-SA 4.0</a>)."
license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
socialTitle = "Volg mij"
socialCaption = "Ik doe aan programmeren en tweet memes"

View File

@@ -15,13 +15,13 @@
[[main]]
name = "Sample project"
url = "/en/projects/sample-project/"
url = "/projects/sample-project/"
parent = "Projects"
weight = 1
[[main]]
name = "Another project"
url = "/en/projects/another-project/"
url = "/projects/another-project/"
parent = "Projects"
weight = 2
@@ -61,13 +61,13 @@
[[sample]]
name = "Sample project"
url = "/en/projects/sample-project/"
url = "/projects/sample-project/"
parent = "Projects"
weight = 1
[[sample]]
name = "Another project"
url = "/en/projects/another-project/"
url = "/projects/another-project/"
parent = "Projects"
weight = 2
# toml-docs-end sample-navigation

View File

@@ -15,13 +15,13 @@
[[main]]
name = "Voorbeeldproject"
url = "/nl/projecten/voorbeeldproject/"
url = "/projecten/voorbeeldproject/"
parent = "Projecten"
weight = 1
[[main]]
name = "Ander project"
url = "/nl/projecten/ander-project/"
url = "/projecten/ander-project/"
parent = "Projecten"
weight = 2
@@ -61,13 +61,13 @@
[[sample]]
name = "Voorbeeldproject"
url = "/nl/projecten/voorbeeldproject/"
url = "/projecten/voorbeeldproject/"
parent = "Projecten"
weight = 1
[[sample]]
name = "Ander project"
url = "/nl/projecten/ander-project/"
url = "/projecten/ander-project/"
parent = "Projecten"
weight = 2
# toml-docs-end sample-navigation

View File

@@ -40,6 +40,7 @@
title = "Blog"
sort = "date"
reverse = true
nested = true
cols = 3
color = ""
padding = "0"
@@ -53,6 +54,7 @@
title = "Projects"
sort = "title"
reverse = false
nested = true
cols = 1
color = "body-tertiary"
padding = "3"

View File

@@ -1,4 +1,5 @@
---
author: Mark Dumay
title: Blog
nested: true
---

View File

@@ -1,6 +1,7 @@
---
author: Mark Dumay
title: Bootstrap elementen
slug: bootstrap-elementen
date: 2023-02-17
description: Gebruik shortcodes om eenvoudig Bootstrap elementen toe te voegen.
tags: ["bootstrap", "shortcode"]

View File

@@ -1,6 +1,7 @@
---
author: Mark Dumay
title: Eerste artikel
slug: eerste-artikel
date: 2022-10-01
description: Dit is mijn eerste artikel.
tags: ["blog"]

View File

@@ -1,6 +1,7 @@
---
author: Mark Dumay
title: Vierde artikel
slug: vierde-artikel
date: 2023-01-01
description: Dit is mijn vierde artikel.
tags: ["blog"]

View File

@@ -1,6 +1,7 @@
---
author: Mark Dumay
title: Tweede artikel
slug: tweede-artikel
date: 2022-11-01
description: Dit is mijn tweede artikel.
tags: ["blog"]

View File

@@ -1,6 +1,7 @@
---
author: Mark Dumay
title: Derde artikel
slug: derde-artikel
date: 2022-12-01
description: Dit is mijn derde artikel.
tags: ["blog"]

View File

@@ -6,7 +6,7 @@
<p class="display-1 mt-3 fw-bold">404</p>
<p class="fs-3">{{ T "pageNotFoundTitle" }}</p>
</span>
<p>{{ T "pageNotFound" }} <a href="{{ "/" | relURL }}">{{ T "pageNotFoundHome" }}</a>.</p>
<p>{{ T "pageNotFound" }} <a href="{{ "/" | relLangURL }}">{{ T "pageNotFoundHome" }}</a>.</p>
</div>
</div>
{{ end }}

View File

@@ -1,8 +1,9 @@
{{- define "main" -}}
{{- partial "assets/section-list.html" (dict
"page" .
"section" .Section
"section" .Type
"home" false
"nested" .Params.Nested
"title" .Title
"paginate" true)
-}}

View File

@@ -17,14 +17,14 @@
<div class="mt-3">
<div class="d-none-dark">
{{ range (.GetTerms "tags") -}}
<a class="btn btn-light btn-sm" href="{{ (path.Join .Page.RelPermalink) | relURL }}" role="button">{{ .LinkTitle }}</a>
<a class="btn btn-light btn-sm" href="{{ (path.Join .Page.RelPermalink) | relLangURL }}" role="button">{{ .LinkTitle }}</a>
&nbsp;
{{ end -}}
</div>
<div class="d-none-light">
{{ range (.GetTerms "tags") -}}
<a class="btn btn-outline-secondary btn-sm" href="{{ (path.Join .Page.RelPermalink) | relURL }}" role="button">{{ .LinkTitle }}</a>
<a class="btn btn-outline-secondary btn-sm" href="{{ (path.Join .Page.RelPermalink) | relLangURL }}" role="button">{{ .LinkTitle }}</a>
&nbsp;
{{ end -}}
</div>

View File

@@ -1,10 +0,0 @@
<!-- Hugo considers all first-level directories to be a root section. As such, as "/en/docs/" is considered to be a
branch bundle, despite it not having an "_index.md" page. Being a branch bundle, Hugo uses a list template to
render the "/en/docs/" page. This overwrites the alias defined in "/en/docs/<ver>/getting-started/introduction/".
This empty list template is deliberately added to the "/layouts/docs/" directory to prevent Hugo from generating
a list page for "/en/docs/" (all other nested sections). This enables the alias defined in
"/en/docs/<version>/getting-started/introduction/".
See https://gohugo.io/content-management/sections/ for more details.
-->

View File

@@ -18,6 +18,7 @@
"page" $page
"section" $section
"home" true
"nested" true
"moreTitle" $moreTitle
"sectionURL" $sectionURL)
-}}

View File

@@ -60,7 +60,7 @@
{{- range $index, $tag := first $maxTags ($page.GetTerms "tags") -}}
{{- if gt $index 0 }}&nbsp;&bull;&nbsp;{{ end -}}
<a href="{{ (path.Join $tag.Page.RelPermalink) | relURL }}" class="{{ $link }} tag-link" aria-label="tag: {{ $tag.LinkTitle }}">{{ $tag.LinkTitle }}</a>
<a href="{{ (path.Join $tag.Page.RelPermalink) | relLangURL }}" class="{{ $link }} tag-link" aria-label="tag: {{ $tag.LinkTitle }}">{{ $tag.LinkTitle }}</a>
{{- end -}}
</small></p>
{{- end -}}

View File

@@ -169,18 +169,18 @@
{{- $menu_item_url := $menu.URL | relLangURL -}}
{{- $page_url:= $page.RelPermalink | relLangURL -}}
{{- $active := hasPrefix $page_url $menu_item_url -}}
{{- $url := urls.Parse .URL -}}
{{- $baseurl := urls.Parse $.Site.Params.Baseurl -}}
{{- if .HasChildren -}}
<li class="nav-item dropdown">
<a class="nav-link {{ if $active }}active{{ end }} dropdown-toggle" href="{{ .URL }}" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<a class="nav-link {{ if $active }}active{{ end }} dropdown-toggle" href="{{ .URL | relLangURL }}" role="button" data-bs-toggle="dropdown" aria-expanded="false">
{{ if $active }}<span class="active">{{ .Name }}</span>{{ else }}{{ .Name }}{{ end }}
</a>
<ul class="dropdown-menu dropdown-menu-end">
{{- range .Children -}}
{{- $child_active := eq $page_url .URL -}}
<li><a class="dropdown-item {{ if $child_active }}active{{ end }}" href="{{ .URL }}">{{ .Name }}</a></li>
{{- $child_active := eq $page_url (.URL | relLangURL) -}}
<li><a class="dropdown-item {{ if $child_active }}active{{ end }}" href="{{ .URL | relLangURL }}">{{ .Name }}</a></li>
{{- end -}}
</ul>
</li>
@@ -188,7 +188,7 @@
<li class="nav-item">
{{- $external := ne $url.Host $baseurl.Host -}}
<a class="nav-link {{ if $active }}active{{ end }}"
href="{{ with .Page }}{{ .RelPermalink }}{{ else }}{{ .URL | relLangURL }}{{ end }}" {{ if $external }}target="_blank" {{ end }}>
href="{{ with .Page }}{{ .RelPermalink }}{{ else }}{{ .URL | relLangURL }}{{ end }}" {{ if $external }}target="_blank" rel="noopener noreferrer" {{ end }}>
{{- with $pre}}{{ . }}{{ end -}}
<span {{if $active }} class="active"{{end}}>{{ .Name }}</span>
{{- with $post}}{{ . }}{{ end -}}

View File

@@ -8,7 +8,7 @@
{{- $title := .title -}}
{{- $moreTitle := .moreTitle -}}
{{- $sectionURL := .sectionURL -}}
{{- $nested := .nested | default true -}}
{{- $paginate := true -}}
{{- $sort := "date" -}}
{{- $order := "desc" -}}
@@ -32,6 +32,7 @@
{{- with index . "title" }}{{ $title = or $.title . }}{{ end -}}
{{- with index . "sort" }}{{ $sort = . }}{{ end -}}
{{- if (index . "reverse") }}{{ $order = "desc" }}{{ else }}{{ $order = "asc" }}{{ end -}}
{{- if $home }}{{- if (isset . "nested") }}{{ $nested = (index . "nested") }}{{ end -}}{{ end -}}
{{- if (index . "separator") }}{{ $separator = true }}{{ else }}{{ $separator = false }}{{ end -}}
{{- with index . "orientation" }}{{ $orientation = . }}{{ end -}}
{{- with index . "cols" }}{{ $cols = . }}{{ end -}}
@@ -48,8 +49,20 @@
{{- with index . "vertical" }}{{ $vertical = . }}{{ end -}}
{{- with index . "width" }}{{ $width = . }}{{ end -}}
{{- end -}}
{{ if ne (printf "%T" $nested) "bool" }}
{{ errorf "partial [assets/section-list.html] - Invalid value for param 'nested'"}}
{{ end }}
{{ $list := "" }}
{{ if $nested }}
{{ $list = where site.RegularPages "Type" "in" $section }}
{{ else if $home }}
{{ $sectionPage := site.GetPage "section" $section }}
{{ $list = $sectionPage.RegularPages }}
{{ else }}
{{ $list = $page.RegularPages }}
{{ end }}
{{ $list := where site.RegularPages "Type" "in" $section }}
{{ $max := (len $list) -}}
{{ if eq $max 0 }}
{{- $bundle := site.GetPage $section -}}

View File

@@ -7,7 +7,7 @@
</div>
<div class="col text-sm-start text-center col-sm-6 col-md-4">
{{ range .Site.Menus.social -}}
<a href="{{ .URL | relURL }}" target="_blank" rel="noopener" aria-label="{{ .Name | safeHTML }}" class="text-decoration-none link-secondary d-inline p-2">
<a href="{{ .URL | relLangURL }}" target="_blank" rel="noopener noreferrer" aria-label="{{ .Name | safeHTML }}" class="text-decoration-none link-secondary d-inline p-2">
{{ .Pre | safeHTML }}
</a>
{{ end -}}

View File

@@ -30,7 +30,7 @@
{{- end -}}
{{- if not hugo.IsProduction -}}
<link rel="stylesheet" href="{{ $css.Permalink | relURL }}">
<link rel="stylesheet" href="{{ $css.Permalink | relLangURL }}">
{{- else -}}
{{- $css = $css | fingerprint | resources.PostProcess -}}
<link rel="stylesheet" href="{{ $css.Permalink }}" integrity="{{ $css.Data.Integrity }}" crossorigin="anonymous">

View File

@@ -13,7 +13,7 @@
{{ .Count }} {{ if gt .Count 1 }} {{ T "articles" }} {{ else }} {{ T "article" }} {{ end }}
</div>
<div class="col">
<a href="{{ (path.Join .Page.RelPermalink) | relURL }}">{{ .Name | markdownify }}</a>
<a href="{{ (path.Join .Page.RelPermalink) | relLangURL }}">{{ .Name | markdownify }}</a>
</div>
</div>
{{ end }}
@@ -32,7 +32,7 @@
<p class="text-body-secondary mt-5">{{ $year }}</p>
{{ $.Scratch.Set "lastYear" $year }}
{{ end }}
<a href="{{ .Permalink | relURL }}">{{ if .Draft }}{{ T "draft" | upper }}: {{end}}{{ .Title | markdownify }}</a>
<a href="{{ (path.Join .Page.RelPermalink) | relLangURL }}">{{ if .Draft }}{{ T "draft" | upper }}: {{end}}{{ .Title | markdownify }}</a>
</div>
</div>
{{ end }}

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@gethinode/hinode",
"version": "0.12.9",
"version": "0.12.12",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@gethinode/hinode",
"version": "0.12.9",
"version": "0.12.12",
"license": "MIT",
"devDependencies": {
"@fortawesome/fontawesome-free": "^6.4.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@gethinode/hinode",
"version": "0.12.9",
"version": "0.12.12",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",