hugo-theme-introduction/layouts/partials/nav.html
2019-08-07 11:37:06 +02:00

115 lines
4.6 KiB
HTML

<!-- Begin Nav bar -->
<div class="container">
<hr>
<nav class="navbar" role="navigation" aria-label="main navigation">
{{ $isHome := .Page.IsHome }}
<a role="button" class="navbar-burger" data-target="navMenu" aria-label="menu" aria-expanded="false" >
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
<div class="navbar-menu {{ if $isHome }}has-content-centered{{ end }}" id="navMenu">
<!-- look for custom menu and include it -->
{{ if .Site.Menus.main }}
{{ range .Site.Menus.main }}
{{ if .HasChildren }}
<a class="navbar-item" href="{{ .URL }}">
{{ .Pre }}
{{ .Name }}
{{ .Post }}
</a>
{{ range .Children }}
<!-- TODO: style children diffrent then parents-->
<a class="navbar-item" href="{{ .URL }}">
{{ .Pre }}
{{ .Name }}
{{ .Post }}
</a>
{{ end }}
{{ else }}
<a class="navbar-item" href="{{ .URL }}">
{{ .Pre }}
{{ .Name }}
{{ .Post }}
</a>
{{ end }}
{{ end }}
{{ else }}
<!-- use default menu -->
{{ if not $isHome }}
<a class="navbar-item" href="{{ "" | relLangURL }}">{{ i18n "nav_main" . }}</a>
{{ end }}
{{ with .Site.GetPage "/home" }}
{{ $pages := .Resources.ByType "page" }}
{{ with .Site.GetPage "/blog" }}
{{ $pages = $pages | append . }}
{{ end }}
{{ with .Site.GetPage "/projects" }}
{{ $pages = $pages | append . }}
{{ end }}
{{ range sort $pages "Params.weight" }}
{{ if ne .Name "contact.md" }}
{{ if eq (os.Stat .File.Dir).Name "projects" }}
<!-- Now for some cool projects -->
{{ if $isHome }}
<a class="navbar-item" href="{{ printf "#%s" ( .Title | urlize) | relLangURL }}">{{ .Title }}</a>
{{ else }}
{{ $pageIsInProjects := eq $.Page.Section "project"}}
{{ if not (and $pageIsInProjects (eq $.Page.Kind "section")) }}
<a class="navbar-item" href="{{ .Permalink }}">
{{ if $pageIsInProjects }}
{{ i18n "nav_backToSection" . }}
{{ else }}
{{ .Title | singularize}}
{{ end }}
</a>
{{ end }}
{{ end }}
{{ else if eq (os.Stat .File.Dir).Name "blog" }}
<!-- Let`s show some blog posts -->
{{ if $isHome }}
<a class="navbar-item" href="{{ printf "#%s" ( .Title | urlize) | relLangURL }}">{{ .Title }}</a>
{{ else }}
{{ $pageIsInBlog := eq $.Page.Section "blog"}}
{{ if not (and $pageIsInBlog (eq $.Page.Kind "section")) }}
<a class="navbar-item" href="{{ .Permalink }}">
{{ if $pageIsInBlog }}
{{ i18n "nav_backToSection" . }}
{{ else }}
{{ .Title | singularize}}
{{ end }}
</a>
{{ end }}
{{ end }}
{{ else }}
<a class="navbar-item" href="{{ if $isHome }}#{{ .File.TranslationBaseName }}{{ else }}{{ printf "#%s" (.File.TranslationBaseName | urlize) | relLangURL }}{{ end }}">{{ .Title }}</a>
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ with .Site.GetPage "/home" }}
{{ with .Resources.GetMatch "contact.md" }}
<a class="navbar-item" href="{{ if $isHome }}#{{ .File.TranslationBaseName }}{{ else }}{{ printf "#%s" (.File.TranslationBaseName | urlize) | relLangURL }}{{ end }}">{{ .Title }}</a>
{{ end }}
{{ end }}
{{ range $.Site.Home.AllTranslations.ByWeight }}
{{ if ne .Language.LanguageName $.Language.LanguageName }}
<a class="navbar-item" href="{{ .Permalink }}">{{ .Language.LanguageName }}</a>
{{ end }}
{{ end }}
{{ if and .Site.Params.showRSSButton .Site.RSSLink }}
<a class="navbar-item" href="{{ .Site.RSSLink }}"><i class="fas fa-rss"></i></a>
{{ end }}
{{ end }}
</div>
</nav>
<hr>
</div>
<!-- End Nav bar -->