From 64012f31af39eaa01dc0713ae54d1f5527010aa5 Mon Sep 17 00:00:00 2001 From: Xipas <asousa@roundstone.pt> Date: Sun, 2 Oct 2016 17:12:30 +0100 Subject: [PATCH] Added menu generation from defenition on content.md files, selectable using params .createFromSiteMenusMain on toml file. (#5) Fixes #2 --- layouts/partials/header.html | 34 ++++++++++++++++++++++-------- layouts/partials/menu.html | 41 ++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 9 deletions(-) diff --git a/layouts/partials/header.html b/layouts/partials/header.html index 533ad0f55d..82873bc4c7 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -48,16 +48,32 @@ {{ if and (not .Params.chapter) (.Params.toc) }} <span id="toc-menu"><a href=""><i class="fa fa-list-alt"></i></a></span> {{ end }} - {{ $type := .Type }} - {{ $relLink := .RelPermalink }} - {{ range $name , $value := .Site.Sections }} - {{ if eq $name $type }} - {{ $first := (index $value 0).Page }} - {{ if ne $first.RelPermalink $relLink }} - <a href="{{ $first.RelPermalink }}" itemprop="url"><span itemprop="title">{{ $first.Title }}</span></a> <i class="fa fa-angle-right"></i> + {{ if $page.Site.Params.createFromSiteMenusMain}} + {{ $type := .Params.menu.main.parent }} + {{ $relLink := .RelPermalink }} + {{ range $name , $value := .Site.Menus.main }} + + {{ if eq $value.Identifier $type }} + {{ if ne $relLink $value.URL }} + <a href="{{ $value.URL }}" itemprop="url"><span itemprop="title"> <b>{{ $value.Name }}</b></span></a> <i class="fa fa-angle-right"></i> + {{ end }} + {{ end }} {{ end }} - {{ end }} - {{ end }} + + {{else}} <!-- use current method as default--> + + {{ $type := .Type }} + {{ $relLink := .RelPermalink }} + {{ range $name , $value := .Site.Sections }} + {{ if eq $name $type }} + {{ $first := (index $value 0).Page }} + {{ if ne $first.RelPermalink $relLink }} + <a href="{{ $first.RelPermalink }}" itemprop="url"><span itemprop="title">{{ $first.Title }}</span></a> <i class="fa fa-angle-right"></i> + {{ end }} + {{ end }} + {{ end }} + {{end}} + {{ with .Title }}<span itemprop="title"> {{ . }}</span>{{ end }} </div> {{ if .Params.toc }} diff --git a/layouts/partials/menu.html b/layouts/partials/menu.html index c5d4fd78e2..b07494281c 100644 --- a/layouts/partials/menu.html +++ b/layouts/partials/menu.html @@ -16,6 +16,42 @@ <div class="highlightable"> <ul class="topics"> {{ $page := . }} + + {{ if $page.Site.Params.createFromSiteMenusMain}} + {{ range .Site.Menus.main }} + <li class="dd-item {{ if eq $page.RelPermalink .URL }}active{{ end }} {{if in $page.RelPermalink .URL }}parent{{ end }}" data-nav-id="{{.URL}}"> + <a href="{{.URL}}"> + <span>{{ .Pre }} {{ .Name }} {{ if $page.Site.Params.showVisitedLinks}} <i class="fa fa-check read-icon"> {{ end }} </i> </span> + </a> + {{ if .HasChildren }} + <ul> + {{ range $lvl2 := .Children}} + <li class="dd-item {{ if eq $page.RelPermalink $lvl2.URL }}active{{ end }}" data-nav-id="{{$lvl2.URL}}"> + <a href="{{$lvl2.URL}}"> + <span> {{ $lvl2.Pre }} {{ $lvl2.Name }} {{ if $page.Site.Params.showVisitedLinks}} <i class="fa fa-check read-icon"></i> {{ end }} </span> + </a> + + {{ if $lvl2.HasChildren }} + <!-- if children has children 3rd level --> + <ul> + {{ range $lvl3 := $lvl2.Children}} + <li class="dd-item {{ if eq $page.RelPermalink $lvl3.URL }}active{{ end }}" data-nav-id="{{$lvl3.URL}}"> + <a href="{{$lvl3.URL}}"> + <span>{{ $lvl3.Pre }} {{ $lvl3.Name }} {{ if $page.Site.Params.showVisitedLinks}} <i class="fa fa-check read-icon"></i> {{ end }} </span> + </a> + </li> + {{ end }} + </ul> + {{ end }} + </li> + {{ end }} + </ul> + {{ end }} + </li> + {{ end }} + {{else}} +<!-- Use default method, create menu from folder structure --> + {{ range $key , $value := .Site.Sections }} {{ if ne $key "" }} {{ $first := (index $value 0).Page }} @@ -48,6 +84,11 @@ </li> {{ end }} {{ end }} + + {{ end }} + + + </ul> <hr> {{ if .Site.Params.showVisitedLinks}}